@pnpm/prepare-package
Advanced tools
Comparing version 3.0.4 to 4.0.0
@@ -1,1 +0,3 @@ | ||
export declare function preparePackage(pkgDir: string): Promise<void>; | ||
export declare function preparePackage(opts: { | ||
rawConfig: object; | ||
}, pkgDir: string): Promise<void>; |
@@ -9,2 +9,3 @@ "use strict"; | ||
const error_1 = require("@pnpm/error"); | ||
const npm_lifecycle_1 = __importDefault(require("@pnpm/npm-lifecycle")); | ||
const read_package_json_1 = require("@pnpm/read-package-json"); | ||
@@ -14,16 +15,40 @@ const rimraf_1 = __importDefault(require("@zkochan/rimraf")); | ||
const preferred_pm_1 = __importDefault(require("preferred-pm")); | ||
async function preparePackage(pkgDir) { | ||
const omit_1 = __importDefault(require("ramda/src/omit")); | ||
const PREPUBLISH_SCRIPTS = [ | ||
'prepublish', | ||
'prepublishOnly', | ||
'prepack', | ||
'publish', | ||
'postpublish', | ||
]; | ||
async function preparePackage(opts, pkgDir) { | ||
const manifest = await (0, read_package_json_1.safeReadPackageJsonFromDir)(pkgDir); | ||
if (manifest?.scripts?.prepare != null && manifest.scripts.prepare !== '') { | ||
const pm = (await (0, preferred_pm_1.default)(pkgDir))?.name ?? 'npm'; | ||
try { | ||
await (0, execa_1.default)(pm, ['install'], { cwd: pkgDir }); | ||
if (manifest?.scripts == null || !packageShouldBeBuilt(manifest.scripts)) | ||
return; | ||
const pm = (await (0, preferred_pm_1.default)(pkgDir))?.name ?? 'npm'; | ||
// We can't prepare a package without running its lifecycle scripts. | ||
// An alternative solution could be to throw an exception. | ||
const config = (0, omit_1.default)(['ignore-scripts'], opts.rawConfig); | ||
const env = npm_lifecycle_1.default.makeEnv(manifest, { config }); | ||
const execOpts = { cwd: pkgDir, env, extendEnv: true }; | ||
try { | ||
await (0, execa_1.default)(pm, ['install'], execOpts); | ||
for (const scriptName of PREPUBLISH_SCRIPTS) { | ||
if (manifest.scripts[scriptName] == null || manifest.scripts[scriptName] === '') | ||
continue; | ||
await (0, execa_1.default)(pm, ['run', scriptName], execOpts); | ||
} | ||
catch (err) { // eslint-disable-line | ||
throw new error_1.PnpmError('PREPARE_PKG_FAILURE', err.shortMessage ?? err.message); | ||
} | ||
await (0, rimraf_1.default)(path_1.default.join(pkgDir, 'node_modules')); | ||
} | ||
catch (err) { // eslint-disable-line | ||
throw new error_1.PnpmError('PREPARE_PKG_FAILURE', err.shortMessage ?? err.message); | ||
} | ||
await (0, rimraf_1.default)(path_1.default.join(pkgDir, 'node_modules')); | ||
} | ||
exports.preparePackage = preparePackage; | ||
function packageShouldBeBuilt(packageScripts) { | ||
return [ | ||
...PREPUBLISH_SCRIPTS, | ||
'prepare', | ||
].some((scriptName) => packageScripts[scriptName] != null && packageScripts[scriptName] !== ''); | ||
} | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@pnpm/prepare-package", | ||
"version": "3.0.4", | ||
"version": "4.0.0", | ||
"description": "Prepares a Git-hosted package", | ||
@@ -25,5 +25,7 @@ "main": "lib/index.js", | ||
"dependencies": { | ||
"@pnpm/npm-lifecycle": "^2.0.0", | ||
"@zkochan/rimraf": "^2.1.2", | ||
"execa": "npm:safe-execa@^0.1.2", | ||
"preferred-pm": "^3.0.3", | ||
"ramda": "npm:@pnpm/ramda@0.28.1", | ||
"@pnpm/error": "4.0.0", | ||
@@ -34,3 +36,8 @@ "@pnpm/read-package-json": "7.0.4" | ||
"devDependencies": { | ||
"@pnpm/prepare-package": "3.0.4" | ||
"@types/ramda": "0.28.20", | ||
"load-json-file": "^6.2.0", | ||
"@pnpm/prepare": "0.0.59", | ||
"@pnpm/prepare-package": "4.0.0", | ||
"@pnpm/test-fixtures": "0.0.28", | ||
"@pnpm/types": "8.10.0" | ||
}, | ||
@@ -41,6 +48,7 @@ "exports": { | ||
"scripts": { | ||
"lint": "eslint src/**/*.ts", | ||
"test": "pnpm run compile", | ||
"compile": "tsc --build && pnpm run lint --fix" | ||
"lint": "eslint src/**/*.ts test/**/*.ts", | ||
"test": "pnpm run compile && pnpm run _test", | ||
"compile": "tsc --build && pnpm run lint --fix", | ||
"_test": "jest" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
6755
54
7
6
+ Added@pnpm/npm-lifecycle@^2.0.0
+ Addedramda@npm:@pnpm/ramda@0.28.1
+ Added@gar/promisify@1.1.3(transitive)
+ Added@nodelib/fs.scandir@2.1.5(transitive)
+ Added@nodelib/fs.stat@2.0.5(transitive)
+ Added@nodelib/fs.walk@1.2.8(transitive)
+ Added@npmcli/fs@2.1.2(transitive)
+ Added@npmcli/move-file@2.0.1(transitive)
+ Added@pnpm/byline@1.0.0(transitive)
+ Added@pnpm/constants@7.1.1(transitive)
+ Added@pnpm/error@5.0.3(transitive)
+ Added@pnpm/npm-lifecycle@2.0.2(transitive)
+ Added@pnpm/ramda@0.28.1(transitive)
+ Added@tootallnate/once@2.0.0(transitive)
+ Added@types/emscripten@1.39.13(transitive)
+ Added@yarnpkg/fslib@2.10.4(transitive)
+ Added@yarnpkg/libzip@2.3.0(transitive)
+ Added@yarnpkg/parsers@2.6.0(transitive)
+ Added@yarnpkg/shell@3.2.5(transitive)
+ Addedabbrev@1.1.1(transitive)
+ Addedagent-base@6.0.2(transitive)
+ Addedagentkeepalive@4.5.0(transitive)
+ Addedaggregate-error@3.1.0(transitive)
+ Addedansi-regex@5.0.1(transitive)
+ Addedansi-styles@4.3.0(transitive)
+ Addedaproba@2.0.0(transitive)
+ Addedare-we-there-yet@3.0.1(transitive)
+ Addedbrace-expansion@2.0.1(transitive)
+ Addedcacache@16.1.3(transitive)
+ Addedchalk@3.0.0(transitive)
+ Addedchownr@2.0.0(transitive)
+ Addedclean-stack@2.2.0(transitive)
+ Addedclipanion@3.2.0-rc.4(transitive)
+ Addedcolor-convert@2.0.1(transitive)
+ Addedcolor-name@1.1.4(transitive)
+ Addedcolor-support@1.1.3(transitive)
+ Addedconsole-control-strings@1.1.0(transitive)
+ Addeddebug@4.3.5(transitive)
+ Addeddelegates@1.0.0(transitive)
+ Addedemoji-regex@8.0.0(transitive)
+ Addedencoding@0.1.13(transitive)
+ Addedenv-paths@2.2.1(transitive)
+ Addederr-code@2.0.3(transitive)
+ Addedexponential-backoff@3.1.1(transitive)
+ Addedfast-glob@3.3.2(transitive)
+ Addedfastq@1.17.1(transitive)
+ Addedfs-minipass@2.1.0(transitive)
+ Addedgauge@4.0.4(transitive)
+ Addedglob@8.1.0(transitive)
+ Addedglob-parent@5.1.2(transitive)
+ Addedhas-flag@4.0.0(transitive)
+ Addedhas-unicode@2.0.1(transitive)
+ Addedhttp-cache-semantics@4.1.1(transitive)
+ Addedhttp-proxy-agent@5.0.0(transitive)
+ Addedhttps-proxy-agent@5.0.1(transitive)
+ Addedhumanize-ms@1.2.1(transitive)
+ Addediconv-lite@0.6.3(transitive)
+ Addedimurmurhash@0.1.4(transitive)
+ Addedindent-string@4.0.0(transitive)
+ Addedinfer-owner@1.0.4(transitive)
+ Addedip-address@9.0.5(transitive)
+ Addedis-extglob@2.1.1(transitive)
+ Addedis-fullwidth-code-point@3.0.0(transitive)
+ Addedis-glob@4.0.3(transitive)
+ Addedis-lambda@1.0.1(transitive)
+ Addedisexe@3.1.1(transitive)
+ Addedjsbn@1.1.0(transitive)
+ Addedmake-fetch-happen@10.2.1(transitive)
+ Addedmerge2@1.4.1(transitive)
+ Addedminimatch@5.1.6(transitive)
+ Addedminipass@3.3.65.0.0(transitive)
+ Addedminipass-collect@1.0.2(transitive)
+ Addedminipass-fetch@2.1.2(transitive)
+ Addedminipass-flush@1.0.5(transitive)
+ Addedminipass-pipeline@1.2.4(transitive)
+ Addedminipass-sized@1.0.3(transitive)
+ Addedminizlib@2.1.2(transitive)
+ Addedmkdirp@1.0.4(transitive)
+ Addedms@2.1.2(transitive)
+ Addednegotiator@0.6.3(transitive)
+ Addednode-gyp@9.4.1(transitive)
+ Addednopt@6.0.0(transitive)
+ Addednpmlog@6.0.2(transitive)
+ Addedp-map@4.0.0(transitive)
+ Addedpromise-inflight@1.0.1(transitive)
+ Addedpromise-retry@2.0.1(transitive)
+ Addedqueue-microtask@1.2.3(transitive)
+ Addedreadable-stream@3.6.2(transitive)
+ Addedresolve-from@5.0.0(transitive)
+ Addedretry@0.12.0(transitive)
+ Addedreusify@1.0.4(transitive)
+ Addedrun-parallel@1.2.0(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedset-blocking@2.0.0(transitive)
+ Addedslide@1.1.6(transitive)
+ Addedsmart-buffer@4.2.0(transitive)
+ Addedsocks@2.8.3(transitive)
+ Addedsocks-proxy-agent@7.0.0(transitive)
+ Addedsprintf-js@1.1.3(transitive)
+ Addedssri@9.0.1(transitive)
+ Addedstream-buffers@3.0.3(transitive)
+ Addedstring-width@4.2.3(transitive)
+ Addedstring_decoder@1.3.0(transitive)
+ Addedstrip-ansi@6.0.1(transitive)
+ Addedsupports-color@7.2.0(transitive)
+ Addedtar@6.2.1(transitive)
+ Addedtslib@1.14.1(transitive)
+ Addedtypanion@3.14.0(transitive)
+ Addeduid-number@0.0.6(transitive)
+ Addedumask@1.1.0(transitive)
+ Addedunique-filename@2.0.1(transitive)
+ Addedunique-slug@3.0.0(transitive)
+ Addedutil-deprecate@1.0.2(transitive)
+ Addedwhich@4.0.0(transitive)
+ Addedwide-align@1.1.5(transitive)
+ Addedyallist@4.0.0(transitive)