@pnpm/tarball-fetcher
Version:
Fetcher for packages hosted as tarballs
32 lines • 1.25 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createLocalTarballFetcher = createLocalTarballFetcher;
const path_1 = __importDefault(require("path"));
const graceful_fs_1 = __importDefault(require("@pnpm/graceful-fs"));
const worker_1 = require("@pnpm/worker");
const isAbsolutePath = /^\/|^[A-Z]:/i;
function createLocalTarballFetcher() {
const fetch = (cafs, resolution, opts) => {
const tarball = resolvePath(opts.lockfileDir, resolution.tarball.slice(5));
const buffer = graceful_fs_1.default.readFileSync(tarball);
return (0, worker_1.addFilesFromTarball)({
storeDir: cafs.storeDir,
buffer,
filesIndexFile: opts.filesIndexFile,
integrity: resolution.integrity,
readManifest: opts.readManifest,
url: tarball,
pkg: opts.pkg,
});
};
return fetch;
}
function resolvePath(where, spec) {
if (isAbsolutePath.test(spec))
return spec;
return path_1.default.resolve(where, spec);
}
//# sourceMappingURL=localTarballFetcher.js.map