UNPKG

pnpm

Version:

Fast, disk space efficient package manager

47 lines 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const default_fetcher_1 = require("@pnpm/default-fetcher"); const default_resolver_1 = require("@pnpm/default-resolver"); const logger_1 = require("@pnpm/logger"); const package_store_1 = require("@pnpm/package-store"); const dir_is_case_sensitive_1 = require("dir-is-case-sensitive"); const LRU = require("lru-cache"); const mkdirp = require("mkdirp-promise"); const path = require("path"); exports.default = async (opts) => { // TODO: either print a warning or just log if --no-lock is used const sopts = Object.assign(opts, { locks: opts.lock ? path.join(opts.store, '_locks') : undefined, registry: opts.registry || 'https://registry.npmjs.org/', }); const resolve = default_resolver_1.default(Object.assign(sopts, { fullMetadata: false, metaCache: new LRU({ max: 10000, maxAge: 120 * 1000, }), })); await mkdirp(sopts.store); const fsIsCaseSensitive = await dir_is_case_sensitive_1.default(sopts.store); logger_1.default.debug({ // An undefined field would cause a crash of the logger // so converting it to null isCaseSensitive: typeof fsIsCaseSensitive === 'boolean' ? fsIsCaseSensitive : null, store: sopts.store, }); const fetchers = default_fetcher_1.default(Object.assign({}, sopts, { fsIsCaseSensitive })); return { ctrl: await package_store_1.default(resolve, fetchers, { locks: sopts.locks, lockStaleDuration: sopts.lockStaleDuration, networkConcurrency: sopts.networkConcurrency, packageImportMethod: sopts.packageImportMethod, store: sopts.store, verifyStoreIntegrity: typeof sopts.verifyStoreIntegrity === 'boolean' ? sopts.verifyStoreIntegrity : true, }), path: sopts.store, }; }; //# sourceMappingURL=createStore.js.map