From f2486b8ac43d6f3e34fe1e4648de2fdb83de6e12 Mon Sep 17 00:00:00 2001 From: CD Cabrera Date: Wed, 29 Apr 2026 23:05:57 -0400 Subject: [PATCH] build(deps)!: add tsconfig node 22, 24 options, drop 18 --- DOCS.md | 7 ++++--- README.md | 3 ++- bin/cli.js | 2 +- package-lock.json | 27 +++++++++++++++++---------- package.json | 5 +++-- 5 files changed, 27 insertions(+), 17 deletions(-) diff --git a/DOCS.md b/DOCS.md index 8cf0398..d4d96b8 100644 --- a/DOCS.md +++ b/DOCS.md @@ -4,7 +4,7 @@

Tooling requirements

The basic use requirements: -* [NodeJS version 18+](https://nodejs.org/) +* [NodeJS version 20+](https://nodejs.org/) * NPM > There appear to be dependency mapping issues with `Yarn` v1.x.x lock files, `Typescript` and `webpack`, and specific dependencies > using ES modules. If you do decide to use [Yarn](https://yarnpkg.com) use the latest version. @@ -282,7 +282,7 @@ $ weldable -h | -s, --stats | Stats output level for NodeJS API | string | errors-only, errors-warnings, minimal, none, normal, verbose, detailed, summary | normal | | --standalone | Standalone webpack configuration. Output weldable webpack config functions and update package.json so you can do whatever you want. | boolean | | | | --statsFile | Output JSON webpack bundle stats for use with "webpack-bundle-analyzer". Use the default or enter a relative path and filename | string | | ./stats.json | -| --tsconfig | Generate a base tsconfig from one of the available NPM @tsconfig/[base]. An existing tsconfig.json will override this option, see "tsconfig-opt". This option can be run without running webpack. | string | create-react-app, node18, node20, react-native, recommended, strictest | | +| --tsconfig | Generate a base tsconfig from one of the available NPM @tsconfig/[base]. An existing tsconfig.json will override this option, see "tsconfig-opt". This option can be run without running webpack. | string | create-react-app, node20, node22, node24, react-native, recommended, strictest | | | --tsconfig-opt | Regenerate or merge a tsconfig. Useful if a tsconfig already exists. Requires the use of "tsconfig" option | string | merge, regen | regen | | -x, --extend | Extend, or override, the default configs with your own relative path webpack configs using webpack merge. Configuration can be a callback that returns a webpack config object, available dotenv parameters are returned as the callback parameter. | string \| Array\ | | | | -h, --help | | boolean | | | @@ -381,8 +381,9 @@ const aPackage = packages.[PACKAGE_NAME]; | @babel/preset-env | babelPresetEnv, babelPresetEnvResolve | | @babel/preset-react | babelPresetReact, babelPresetReactResolve | | @tsconfig/create-react-app | N/A | -| @tsconfig/node18 | N/A | | @tsconfig/node20 | N/A | +| @tsconfig/node22 | N/A | +| @tsconfig/node24 | N/A | | @tsconfig/react-native | N/A | | @tsconfig/recommended | N/A | | @tsconfig/strictest | N/A | diff --git a/README.md b/README.md index ac02d83..b197762 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,8 @@ For in-depth use of `weldable` see our [DOCS](./DOCS.md). [boolean] [default: false] --statsFile Output JSON webpack bundle stats. Use the default, or a relative project path and filename [./stats.json] [string] --tsconfig Generate a base tsconfig from NPM @tsconfig/[base]. An existing tsconfig.json will override this option, see tsconfig-opt. This option can - be run without running webpack. [string] [choices: "", "create-react-app", "node18", "node20", "react-native", "recommended", "strictest"] + be run without running webpack. + [string] [choices: "", "create-react-app", "node20", "node22", "node24", "react-native", "recommended", "strictest"] --tsconfig-opt Regenerate or merge a tsconfig [string] [choices: "merge", "regen"] -x, --extend Extend, or override, the default configs with your own relative path webpack configs using webpack merge. [array] -h, --help Show help [boolean] diff --git a/bin/cli.js b/bin/cli.js index e2c647f..b0b61f6 100755 --- a/bin/cli.js +++ b/bin/cli.js @@ -74,7 +74,7 @@ const { describe: 'Generate a base tsconfig from NPM @tsconfig/[base]. An existing tsconfig.json will override this option, see tsconfig-opt. This option can be run without running webpack.', type: 'string', - choices: ['', 'create-react-app', 'node18', 'node20', 'react-native', 'recommended', 'strictest'] + choices: ['', 'create-react-app', 'node20', 'node22', 'node24', 'react-native', 'recommended', 'strictest'] }) .option('tsconfig-opt', { describe: 'Regenerate or merge a tsconfig', diff --git a/package-lock.json b/package-lock.json index a53a432..5a969c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,8 +14,9 @@ "@babel/preset-env": "7.29.2", "@babel/preset-react": "7.28.5", "@tsconfig/create-react-app": "2.0.8", - "@tsconfig/node18": "18.2.4", - "@tsconfig/node20": "20.1.6", + "@tsconfig/node20": "20.1.9", + "@tsconfig/node22": "22.0.5", + "@tsconfig/node24": "24.0.4", "@tsconfig/react-native": "3.0.7", "@tsconfig/recommended": "1.0.11", "@tsconfig/strictest": "2.0.6", @@ -4756,16 +4757,22 @@ "integrity": "sha512-ErLvUPDisg5cdi9IjoC2lGN86iySg6+BPHiwds7pNMPvyI4abn5pobTBpq1gEzDTrt8axW5iWTE1doD+cMwBwA==", "license": "MIT" }, - "node_modules/@tsconfig/node18": { - "version": "18.2.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node18/-/node18-18.2.4.tgz", - "integrity": "sha512-5xxU8vVs9/FNcvm3gE07fPbn9tl6tqGGWA9tSlwsUEkBxtRnTsNmwrV8gasZ9F/EobaSv9+nu8AxUKccw77JpQ==", + "node_modules/@tsconfig/node20": { + "version": "20.1.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.9.tgz", + "integrity": "sha512-IjlTv1RsvnPtUcjTqtVsZExKVq+KQx4g5pCP5tI7rAs6Xesl2qFwSz/tPDBC4JajkL/MlezBu3gPUwqRHl+RIg==", "license": "MIT" }, - "node_modules/@tsconfig/node20": { - "version": "20.1.6", - "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.6.tgz", - "integrity": "sha512-sz+Hqx9zwZDpZIV871WSbUzSqNIsXzghZydypnfgzPKLltVJfkINfUeTct31n/tTSa9ZE1ZOfKdRre1uHHquYQ==", + "node_modules/@tsconfig/node22": { + "version": "22.0.5", + "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.5.tgz", + "integrity": "sha512-hLf2ld+sYN/BtOJjHUWOk568dvjFQkHnLNa6zce25GIH+vxKfvTgm3qpaH6ToF5tu/NN0IH66s+Bb5wElHrLcw==", + "license": "MIT" + }, + "node_modules/@tsconfig/node24": { + "version": "24.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node24/-/node24-24.0.4.tgz", + "integrity": "sha512-2A933l5P5oCbv6qSxHs7ckKwobs8BDAe9SJ/Xr2Hy+nDlwmLE1GhFh/g/vXGRZWgxBg9nX/5piDtHR9Dkw/XuA==", "license": "MIT" }, "node_modules/@tsconfig/react-native": { diff --git a/package.json b/package.json index 0ca009a..dd4052f 100644 --- a/package.json +++ b/package.json @@ -77,8 +77,9 @@ "@babel/preset-env": "7.29.2", "@babel/preset-react": "7.28.5", "@tsconfig/create-react-app": "2.0.8", - "@tsconfig/node18": "18.2.4", - "@tsconfig/node20": "20.1.6", + "@tsconfig/node20": "20.1.9", + "@tsconfig/node22": "22.0.5", + "@tsconfig/node24": "24.0.4", "@tsconfig/react-native": "3.0.7", "@tsconfig/recommended": "1.0.11", "@tsconfig/strictest": "2.0.6",