Socket
Socket
Sign inDemoInstall

@pnpm/prepare-package

Package Overview
Dependencies
193
Maintainers
2
Versions
71
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.0.4 to 4.0.0

4

lib/index.d.ts

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc