Skip to content

Commit

Permalink
Add script to sync engines with core version
Browse files Browse the repository at this point in the history
  • Loading branch information
mischnic committed Nov 2, 2021
1 parent 4b35f5f commit cd5592d
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 3 deletions.
7 changes: 4 additions & 3 deletions package.json
Expand Up @@ -22,14 +22,15 @@
"unlink-all": "node scripts/unlink-all.js packages",
"check": "flow check",
"lint": "eslint . && prettier \"./packages/*/*/{src,bin,test}/**/*.{js,json,md}\" --list-different && cargo fmt --all -- --check",
"prepublishOnly": "yarn build && yarn build-ts && node scripts/update-config-dependencies.js",
"prepublishOnly": "yarn build && yarn build-ts && yarn adjust-versions",
"test:unit": "cross-env NODE_ENV=test mocha",
"test:integration": "yarn workspace @parcel/integration-tests test",
"test:integration-ci": "yarn workspace @parcel/integration-tests test-ci",
"test": "yarn test:unit && yarn test:integration",
"nightly:release": "lerna publish -y --canary --preid nightly --dist-tag=nightly --exact --force-publish=* --no-git-tag-version --no-push",
"tag:prerelease": "lerna version --exact --force-publish=* --no-git-tag-version --no-push && node scripts/update-config-dependencies.js",
"tag:release": "lerna version --force-publish=* --no-git-tag-version --no-push && node scripts/update-config-dependencies.js",
"tag:prerelease": "lerna version --exact --force-publish=* --no-git-tag-version --no-push && yarn adjust-versions",
"tag:release": "lerna version --force-publish=* --no-git-tag-version --no-push && yarn adjust-versions",
"adjust-versions": "node scripts/update-config-dependencies.js && node scripts/update-engines.j",
"release": "lerna publish -y from-package --pre-dist-tag=next --no-git-tag-version --no-push",
"prepare": "husky install"
},
Expand Down
28 changes: 28 additions & 0 deletions scripts/update-engines.js
@@ -0,0 +1,28 @@
const fs = require('fs');
const path = require('path');
const exec = require('child_process').execSync;

let packages = JSON.parse(
exec(
`${path.join(__dirname, '..', 'node_modules', '.bin', 'lerna')} ls --json`,
),
);
let packageVersions = new Map(
packages.map(pkg => [
pkg.name,
{version: pkg.version, location: pkg.location},
]),
);
let coreVersion = packageVersions.get('@parcel/core').version;
let coreRange = coreVersion.includes('nightly')
? coreVersion
: `^${coreVersion}`;

for (let [, {location}] of packageVersions) {
let pkgPath = path.join(location, 'package.json');
let pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
if (pkg.engines?.parcel != null) {
pkg.engines.parcel = coreRange;
fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n');
}
}

0 comments on commit cd5592d

Please sign in to comment.