Skip to content

Commit 2f5d6a3

Browse files
authored
chore: compute Node.js build target from engines.node (#5554)
**What's the problem this PR addresses?** Whenever we change the supported Node.js version we have to manually update the build target in multiple files. Ref yarnpkg/berry#5445 (review) **How did you fix it?** Automate it by computing the Node.js version to target for the builds with `semver.minVersion` and `engines.node`. **Checklist** - [x] I have read the [Contributing Guide](https://yarnpkg.com/advanced/contributing). - [x] I have set the packages that need to be released for my changes to be effective. - [x] I will check that all automated PR checks pass before the PR gets reviewed.
1 parent 09c0ca1 commit 2f5d6a3

File tree

12 files changed

+38
-13
lines changed

12 files changed

+38
-13
lines changed

.pnp.cjs

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.yarn/versions/8a86268c.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
declined:
2+
- vscode-zipfs
3+
- "@yarnpkg/builder"
4+
- "@yarnpkg/core"
5+
- "@yarnpkg/pnp"

babel.config.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
module.exports = {
22
targets: {
3-
node: `18.12.0`,
3+
node: `current`,
44
},
55
presets: [
66
[`@babel/preset-env`, {modules: `commonjs`}],
77
`@babel/preset-typescript`,
88
`@babel/preset-react`,
99
],
10-
ignore: [
11-
`**/*.d.ts`,
12-
`packages/yarnpkg-libzip/sources/libzip.js`,
13-
],
1410
};

packages/vscode-zipfs/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,15 @@
9191
"devDependencies": {
9292
"@rollup/plugin-commonjs": "^21.0.1",
9393
"@rollup/plugin-node-resolve": "^11.0.1",
94+
"@types/semver": "^7.1.0",
9495
"@types/vscode": "^1.54.0",
9596
"@yarnpkg/fslib": "workspace:^",
9697
"@yarnpkg/libzip": "workspace:^",
9798
"esbuild": "npm:esbuild-wasm@^0.15.15",
9899
"rollup": "^2.59.0",
99100
"rollup-plugin-esbuild": "^3.0.2",
100101
"rollup-plugin-terser": "^7.0.2",
102+
"semver": "^7.1.2",
101103
"vsce": "^2.9.2"
102104
},
103105
"scripts": {

packages/vscode-zipfs/rollup.config.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import resolve from '@rollup/plugin-node-resolve';
33
import path from 'path';
44
import esbuild from 'rollup-plugin-esbuild';
55
import {defineConfig} from 'rollup';
6+
import semver from 'semver';
7+
8+
import pkg from './package.json';
69

710
const mode = process.env.NODE_ENV || `production`;
811

@@ -24,7 +27,7 @@ export default async () =>
2427
}),
2528
esbuild({
2629
tsconfig: false,
27-
target: `node18`,
30+
target: `node${semver.minVersion(pkg.engines.node).version}`,
2831
define: {
2932
document: `undefined`,
3033
XMLHttpRequest: `undefined`,

packages/yarnpkg-builder/sources/commands/build/bundle.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import path from
1111
import semver from 'semver';
1212
import {promisify} from 'util';
1313

14+
import pkg from '../../../package.json';
1415
import {findPlugins} from '../../tools/findPlugins';
1516

1617
const execFile = promisify(cp.execFile);
@@ -140,7 +141,7 @@ export default class BuildBundleCommand extends Command {
140141
plugins: [valLoader],
141142
minify: !this.noMinify,
142143
sourcemap: this.sourceMap ? `inline` : false,
143-
target: `node18`,
144+
target: `node${semver.minVersion(pkg.engines.node)!.version}`,
144145
});
145146

146147
for (const warning of res.warnings) {

packages/yarnpkg-builder/sources/commands/build/plugin.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ import {Command, Option, Usage, UsageError} from
44
import {build, Plugin} from 'esbuild';
55
import fs from 'fs';
66
import path from 'path';
7+
import semver from 'semver';
78

9+
import pkg from '../../../package.json';
810
import {isDynamicLib} from '../../tools/isDynamicLib';
911

1012
const matchAll = /()/;
@@ -120,7 +122,7 @@ export default class BuildPluginCommand extends Command {
120122
plugins: [dynamicLibResolver],
121123
minify: !this.noMinify,
122124
sourcemap: this.sourceMap ? `inline` : false,
123-
target: `node18`,
125+
target: `node${semver.minVersion(pkg.engines.node)!.version}`,
124126
});
125127

126128
for (const warning of res.warnings) {

packages/yarnpkg-core/rollup.config.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@ import path from 'path';
55
import esbuild from 'rollup-plugin-esbuild';
66
import {terser} from 'rollup-plugin-terser';
77
import {defineConfig} from 'rollup';
8+
import semver from 'semver';
89
import {brotliCompressSync} from 'zlib';
910

11+
import pkg from './package.json';
12+
1013
function wrapOutput() {
1114
return {
1215
name: `wrap-output`,
@@ -43,7 +46,7 @@ export default defineConfig({
4346
}),
4447
esbuild({
4548
tsconfig: false,
46-
target: `node18`,
49+
target: `node${semver.minVersion(pkg.engines.node).version}`,
4750
define: {
4851
document: `undefined`,
4952
XMLHttpRequest: `undefined`,

packages/yarnpkg-core/sources/worker-zip/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/yarnpkg-pnp/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@
1616
"devDependencies": {
1717
"@rollup/plugin-commonjs": "^21.0.1",
1818
"@rollup/plugin-node-resolve": "^11.0.1",
19+
"@types/semver": "^7.1.0",
1920
"@yarnpkg/libzip": "workspace:^",
2021
"arg": "^5.0.2",
2122
"esbuild": "npm:esbuild-wasm@^0.15.15",
2223
"rollup": "^2.59.0",
2324
"rollup-plugin-esbuild": "^3.0.2",
25+
"semver": "^7.1.2",
2426
"tslib": "^2.4.0"
2527
},
2628
"scripts": {

0 commit comments

Comments
 (0)