Skip to content

Commit

Permalink
Prune NPM metadata fields from packages before re-publishing
Browse files Browse the repository at this point in the history
  • Loading branch information
Brian Vaughn committed Jan 17, 2019
1 parent 4feab7f commit 925989d
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/usr/bin/env node

'use strict';

const {logPromise} = require('../utils');
const {readJson, writeJson} = require('fs-extra');
const {join} = require('path');

const run = async ({cwd, packages}) => {
const nodeModulesPath = join(cwd, 'build/node_modules');

for (let i = 0; i < packages.length; i++) {
const packageName = packages[i];
const packageJSONPath = join(nodeModulesPath, packageName, 'package.json');
const packageJSON = await readJson(packageJSONPath);

// NPM adds a lot of metadata fields on checkout.
// It's nice to strip these before re-publishing the package.
for (let key in packageJSON) {
if (key.startsWith('_')) {
delete packageJSON[key];
}
}

await writeJson(packageJSONPath, packageJSON, {spaces: 2});
}
};

module.exports = async params => {
return logPromise(run(params), 'Pruning package registry metadata');
};
2 changes: 2 additions & 0 deletions scripts/release/prepare-stable.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ const confirmStableVersionNumbers = require('./prepare-stable-commands/confirm-s
const guessStableVersionNumbers = require('./prepare-stable-commands/guess-stable-version-numbers');
const parseParams = require('./prepare-stable-commands/parse-params');
const printPrereleaseSummary = require('./shared-commands/print-prerelease-summary');
const prunePackageRegistryMetadata = require('./prepare-stable-commands/prune-package-registry-metadata');
const testPackagingFixture = require('./shared-commands/test-packaging-fixture');
const testTracingFixture = require('./shared-commands/test-tracing-fixture');
const updateStableVersionNumbers = require('./prepare-stable-commands/update-stable-version-numbers');
Expand All @@ -28,6 +29,7 @@ const run = async () => {
await checkOutPackages(params);
await guessStableVersionNumbers(params, versionsMap);
await confirmStableVersionNumbers(params, versionsMap);
await prunePackageRegistryMetadata(params);
await updateStableVersionNumbers(params, versionsMap);

if (!params.skipTests) {
Expand Down

0 comments on commit 925989d

Please sign in to comment.