From d3c4c48613528f24d3dd401136cc7afeadb0cff0 Mon Sep 17 00:00:00 2001 From: jcesarmobile Date: Wed, 22 Mar 2023 19:20:58 +0100 Subject: [PATCH] chore!: bump required node version to 16 (#4972) Co-authored-by: Liam DeBeasi --- .github/workflows/cd.yml | 2 +- .github/workflows/ci.yml | 11 +++++----- .github/workflows/docker-image.yml | 6 +++--- .../@ionic/cli-framework-output/package.json | 4 ++-- .../@ionic/cli-framework-prompts/package.json | 4 ++-- packages/@ionic/cli-framework/package.json | 4 ++-- packages/@ionic/cli/bin/ionic | 12 ++++++----- packages/@ionic/cli/package.json | 4 ++-- packages/@ionic/cli/src/lib/oauth/oauth.ts | 2 +- packages/@ionic/cli/src/lib/serve.ts | 4 ++-- packages/@ionic/cli/src/lib/shell.ts | 4 ++-- packages/@ionic/discover/package.json | 2 +- packages/@ionic/discover/src/publisher.ts | 19 +++++++++--------- packages/@ionic/utils-array/package.json | 4 ++-- packages/@ionic/utils-fs/package.json | 4 ++-- packages/@ionic/utils-network/package.json | 4 ++-- packages/@ionic/utils-network/src/index.ts | 14 +++++++------ packages/@ionic/utils-object/package.json | 4 ++-- packages/@ionic/utils-process/package.json | 4 ++-- packages/@ionic/utils-stream/package.json | 4 ++-- packages/@ionic/utils-stream/src/index.ts | 2 +- packages/@ionic/utils-subprocess/package.json | 4 ++-- .../utils-subprocess/src/__tests__/index.ts | 12 +++++------ packages/@ionic/utils-subprocess/src/index.ts | 20 +++++++++---------- packages/@ionic/utils-terminal/package.json | 4 ++-- packages/@ionic/v1-toolkit/bin/ionic-v1 | 12 ++++++----- packages/@ionic/v1-toolkit/package.json | 4 ++-- packages/cli-scripts/package.json | 2 +- tsconfig.base.json | 4 ++-- 29 files changed, 93 insertions(+), 87 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 3af5a40920..5d9c71a1bb 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -14,7 +14,7 @@ jobs: - run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ~/.npmrc - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - uses: actions/checkout@v3 with: fetch-depth: 0 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1489fb1c51..dc65031b87 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,16 +16,15 @@ jobs: strategy: matrix: node: - - 14.x - - 12.x - - 10.x + - 18.x + - 16.x steps: - - uses: actions/setup-node@v1 + - uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Restore Dependency Cache - uses: actions/cache@v1 + uses: actions/cache@v3 with: path: ~/.npm key: ${{ runner.OS }}-dependency-cache-${{ hashFiles('**/package.json') }} diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index e2b5c2ad6d..0901147bdd 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -7,10 +7,10 @@ jobs: name: Build and Deploy Docker Container with latest CLI runs-on: ubuntu-latest steps: - - uses: actions/setup-node@v1 + - uses: actions/setup-node@v3 with: - node-version: 14.x - - uses: actions/checkout@v2 + node-version: 16.x + - uses: actions/checkout@v3 with: fetch-depth: 0 - name: GitHub Container Registry Login diff --git a/packages/@ionic/cli-framework-output/package.json b/packages/@ionic/cli-framework-output/package.json index 12164e9c1e..b2e4da2286 100644 --- a/packages/@ionic/cli-framework-output/package.json +++ b/packages/@ionic/cli-framework-output/package.json @@ -7,7 +7,7 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "files": [ "dist/", @@ -33,7 +33,7 @@ "@types/debug": "^4.1.1", "@types/inquirer": "0.0.43", "@types/jest": "^26.0.10", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "jest": "^26.4.2", "jest-cli": "^26.0.1", "lint-staged": "^10.0.2", diff --git a/packages/@ionic/cli-framework-prompts/package.json b/packages/@ionic/cli-framework-prompts/package.json index 7d1d57ff12..4e4defe431 100644 --- a/packages/@ionic/cli-framework-prompts/package.json +++ b/packages/@ionic/cli-framework-prompts/package.json @@ -7,7 +7,7 @@ "main": "./dist/index.js", "types": "./dist/index.d.ts", "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "files": [ "dist/", @@ -33,7 +33,7 @@ "@types/debug": "^4.1.1", "@types/inquirer": "0.0.43", "@types/jest": "^26.0.10", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "jest": "^26.4.2", "jest-cli": "^26.0.1", "lint-staged": "^10.0.2", diff --git a/packages/@ionic/cli-framework/package.json b/packages/@ionic/cli-framework/package.json index 34a12671ed..332110271d 100644 --- a/packages/@ionic/cli-framework/package.json +++ b/packages/@ionic/cli-framework/package.json @@ -7,7 +7,7 @@ "main": "./index.js", "types": "./index.d.ts", "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "scripts": { "clean": "rimraf index.* definitions.* errors.* guards.* lib utils", @@ -40,7 +40,7 @@ "@types/jest": "^26.0.10", "@types/lodash": "^4.14.104", "@types/minimist": "^1.2.0", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "@types/write-file-atomic": "^3.0.0", "jest": "^26.4.2", "jest-cli": "^26.0.1", diff --git a/packages/@ionic/cli/bin/ionic b/packages/@ionic/cli/bin/ionic index 28305f5a08..281732e50c 100755 --- a/packages/@ionic/cli/bin/ionic +++ b/packages/@ionic/cli/bin/ionic @@ -22,13 +22,15 @@ process.on('message', function(msg) { var semver = require('semver'); var version = semver.parse(process.version); -var minversion = 'v10.3.0'; +var minversion = 'v16.0.0'; if (semver.lt(version, minversion)) { - var details = version.major === 6 - ? ' Node.js 6 reached end-of-life on 2019-04-30 and is no longer supported.' - : version.major === 8 - ? ' Node.js 8 reached end-of-life on 2019-12-31 and is no longer supported.' + var details = version.major === 10 + ? ' Node.js 10 reached end-of-life on 2021-04-30 and is no longer supported.' + : version.major === 12 + ? ' Node.js 12 reached end-of-life on 2022-04-30 and is no longer supported.' + : version.major === 14 + ? ' Node.js 14 reached end-of-life on 2023-04-30 and is no longer supported.' : ''; process.stderr.write('ERR: Your Node.js version is ' + version.raw + '.' + details + ' Please update to the latest Node LTS version.\n'); diff --git a/packages/@ionic/cli/package.json b/packages/@ionic/cli/package.json index 043b5015bb..5b77ff7486 100644 --- a/packages/@ionic/cli/package.json +++ b/packages/@ionic/cli/package.json @@ -8,7 +8,7 @@ "ionic": "./bin/ionic" }, "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "main": "./index.js", "types": "./index.d.ts", @@ -73,7 +73,7 @@ "@types/elementtree": "^0.1.0", "@types/jest": "^26.0.10", "@types/lodash": "^4.14.104", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "@types/semver": "^7.1.0", "@types/split2": "^2.1.6", "@types/superagent": "4.1.3", diff --git a/packages/@ionic/cli/src/lib/oauth/oauth.ts b/packages/@ionic/cli/src/lib/oauth/oauth.ts index 3927e6fed8..d8dd3673fd 100644 --- a/packages/@ionic/cli/src/lib/oauth/oauth.ts +++ b/packages/@ionic/cli/src/lib/oauth/oauth.ts @@ -117,7 +117,7 @@ export abstract class OAuth2Flow { if (req.url) { const params = qs.parse(req.url.substring(req.url.indexOf('?') + 1)); - if (params.code) { + if (params.code && params.state) { res.writeHead(200, { 'Content-Type': ContentType.HTML }); res.end(successHtml); req.socket.destroy(); diff --git a/packages/@ionic/cli/src/lib/serve.ts b/packages/@ionic/cli/src/lib/serve.ts index 8f63bcfb4a..091b5edb22 100644 --- a/packages/@ionic/cli/src/lib/serve.ts +++ b/packages/@ionic/cli/src/lib/serve.ts @@ -513,8 +513,8 @@ export abstract class ServeCLI extends EventEmitter { const ws = this.createLoggerStream(); - p.stdout.pipe(split2()).pipe(this.createStreamFilter(line => this.stdoutFilter(line))).pipe(ws); - p.stderr.pipe(split2()).pipe(this.createStreamFilter(line => this.stderrFilter(line))).pipe(ws); + p.stdout?.pipe(split2()).pipe(this.createStreamFilter(line => this.stdoutFilter(line))).pipe(ws); + p.stderr?.pipe(split2()).pipe(this.createStreamFilter(line => this.stderrFilter(line))).pipe(ws); this.once('ready', () => { resolve(); diff --git a/packages/@ionic/cli/src/lib/shell.ts b/packages/@ionic/cli/src/lib/shell.ts index a634948665..33dc158afc 100644 --- a/packages/@ionic/cli/src/lib/shell.ts +++ b/packages/@ionic/cli/src/lib/shell.ts @@ -55,7 +55,7 @@ export class Shell implements IShell { debug('Error in subprocess stdout pipe: %o', err); }); - promise.p.stdout.pipe(s); + promise.p.stdout?.pipe(s); } if (promise.p.stderr) { @@ -66,7 +66,7 @@ export class Shell implements IShell { debug('Error in subprocess stderr pipe: %o', err); }); - promise.p.stderr.pipe(s); + promise.p.stderr?.pipe(s); } if (killOnExit) { diff --git a/packages/@ionic/discover/package.json b/packages/@ionic/discover/package.json index 7f0aa1c673..d5e669bec5 100644 --- a/packages/@ionic/discover/package.json +++ b/packages/@ionic/discover/package.json @@ -37,7 +37,7 @@ "@types/debug": "^4.1.1", "@types/jest": "^26.0.10", "@types/netmask": "^1.0.30", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "@types/ws": "^7.2.0", "jest": "^26.4.2", "jest-cli": "^26.0.1", diff --git a/packages/@ionic/discover/src/publisher.ts b/packages/@ionic/discover/src/publisher.ts index ebdef1d5e5..57983e6e40 100644 --- a/packages/@ionic/discover/src/publisher.ts +++ b/packages/@ionic/discover/src/publisher.ts @@ -118,7 +118,7 @@ export class Publisher extends events.EventEmitter implements IPublisherEventEmi }; } - protected getInterfaces(): Interface[] { + protected getInterfaces(): Interface[] | undefined { return prepareInterfaces(os.networkInterfaces()); } @@ -151,20 +151,20 @@ export class Publisher extends events.EventEmitter implements IPublisherEventEmi } } -export function prepareInterfaces(interfaces: { [index: string]: os.NetworkInterfaceInfo[] }): Interface[] { +export function prepareInterfaces(interfaces: NodeJS.Dict): Interface[] | undefined { const set = new Set(); - - return Object.keys(interfaces) - .map(key => interfaces[key]) - .reduce((prev, current) => prev.concat(current)) - .filter(iface => iface.family === 'IPv4') - .map(iface => { + const values = Object.values(interfaces); + const flatValues = values.reduce((prev, current) => prev?.concat(current ? current : [])); + if (flatValues) { + return flatValues + .filter((iface: os.NetworkInterfaceInfo) => iface.family === 'IPv4') + .map((iface: os.NetworkInterfaceInfo) => { return { address: iface.address, broadcast: computeBroadcastAddress(iface.address, iface.netmask), }; }) - .filter(iface => { + .filter((iface: any) => { if (!set.has(iface.broadcast)) { set.add(iface.broadcast); @@ -173,6 +173,7 @@ export function prepareInterfaces(interfaces: { [index: string]: os.NetworkInter return false; }); + } } export function newSilentPublisher(namespace: string, name: string, port: number): Publisher { diff --git a/packages/@ionic/utils-array/package.json b/packages/@ionic/utils-array/package.json index 2ab2513c5f..fd370e932d 100644 --- a/packages/@ionic/utils-array/package.json +++ b/packages/@ionic/utils-array/package.json @@ -8,7 +8,7 @@ "author": "Ionic Team (https://ionic.io)", "license": "MIT", "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "files": [ "dist/", @@ -37,7 +37,7 @@ "devDependencies": { "@types/debug": "^4.1.1", "@types/jest": "^26.0.10", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "jest": "^26.4.2", "jest-cli": "^26.0.1", "lint-staged": "^10.0.2", diff --git a/packages/@ionic/utils-fs/package.json b/packages/@ionic/utils-fs/package.json index 683b5e54e1..56fe283693 100644 --- a/packages/@ionic/utils-fs/package.json +++ b/packages/@ionic/utils-fs/package.json @@ -8,7 +8,7 @@ "author": "Ionic Team (https://ionic.io)", "license": "MIT", "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "files": [ "dist/", @@ -39,7 +39,7 @@ "devDependencies": { "@types/debug": "^4.1.1", "@types/jest": "^26.0.10", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "jest": "^26.4.2", "jest-cli": "^26.0.1", "lint-staged": "^10.0.2", diff --git a/packages/@ionic/utils-network/package.json b/packages/@ionic/utils-network/package.json index bb86fbfdd7..14a28f7943 100644 --- a/packages/@ionic/utils-network/package.json +++ b/packages/@ionic/utils-network/package.json @@ -8,7 +8,7 @@ "author": "Ionic Team (https://ionic.io)", "license": "MIT", "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "files": [ "dist/", @@ -37,7 +37,7 @@ "devDependencies": { "@types/debug": "^4.1.1", "@types/jest": "^26.0.10", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "jest": "^26.4.2", "jest-cli": "^26.0.1", "lint-staged": "^10.0.2", diff --git a/packages/@ionic/utils-network/src/index.ts b/packages/@ionic/utils-network/src/index.ts index a8e1212ae3..d14e6e6855 100644 --- a/packages/@ionic/utils-network/src/index.ts +++ b/packages/@ionic/utils-network/src/index.ts @@ -16,8 +16,9 @@ function getDefaultAddresses(): string[] { for (const device of Object.keys(networkInterfaces)) { const networkInterface = networkInterfaces[device]; - - addresses.push(...networkInterface.map(i => i.address)); + if (networkInterface) { + addresses.push(...networkInterface.map(i => i.address)); + } } } catch (e) { // swallow @@ -32,10 +33,11 @@ export function getExternalIPv4Interfaces(): NetworkInterface[] { for (const device of Object.keys(networkInterfaces)) { const networkInterface = networkInterfaces[device]; - - for (const networkAddress of networkInterface) { - if (!networkAddress.internal && networkAddress.family === 'IPv4') { - devices.push({ device, ...networkAddress }); + if (networkInterface) { + for (const networkAddress of networkInterface) { + if (!networkAddress.internal && networkAddress.family === 'IPv4') { + devices.push({ device, ...networkAddress }); + } } } } diff --git a/packages/@ionic/utils-object/package.json b/packages/@ionic/utils-object/package.json index 7c6ba92d91..eb32bffb09 100644 --- a/packages/@ionic/utils-object/package.json +++ b/packages/@ionic/utils-object/package.json @@ -8,7 +8,7 @@ "author": "Ionic Team (https://ionic.io)", "license": "MIT", "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "files": [ "dist/", @@ -37,7 +37,7 @@ "devDependencies": { "@types/debug": "^4.1.1", "@types/jest": "^26.0.10", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "jest": "^26.4.2", "jest-cli": "^26.0.1", "lint-staged": "^10.0.2", diff --git a/packages/@ionic/utils-process/package.json b/packages/@ionic/utils-process/package.json index 15c4b33a3f..f1e600d3c8 100644 --- a/packages/@ionic/utils-process/package.json +++ b/packages/@ionic/utils-process/package.json @@ -8,7 +8,7 @@ "author": "Ionic Team (https://ionic.io)", "license": "MIT", "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "files": [ "dist/", @@ -41,7 +41,7 @@ "devDependencies": { "@types/debug": "^4.1.1", "@types/jest": "^26.0.10", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "@types/signal-exit": "^3.0.0", "jest": "^26.4.2", "jest-cli": "^26.0.1", diff --git a/packages/@ionic/utils-stream/package.json b/packages/@ionic/utils-stream/package.json index 1775136c2a..f486768657 100644 --- a/packages/@ionic/utils-stream/package.json +++ b/packages/@ionic/utils-stream/package.json @@ -8,7 +8,7 @@ "author": "Ionic Team (https://ionic.io)", "license": "MIT", "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "files": [ "dist/", @@ -37,7 +37,7 @@ "devDependencies": { "@types/debug": "^4.1.1", "@types/jest": "^26.0.10", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "jest": "^26.4.2", "jest-cli": "^26.0.1", "lint-staged": "^10.0.2", diff --git a/packages/@ionic/utils-stream/src/index.ts b/packages/@ionic/utils-stream/src/index.ts index 71aba972b5..035eeb6146 100644 --- a/packages/@ionic/utils-stream/src/index.ts +++ b/packages/@ionic/utils-stream/src/index.ts @@ -42,7 +42,7 @@ export class ReadableStreamBuffer extends Readable { this._send(); } - feed(data: Buffer | string, encoding = 'utf8'): void { + feed(data: Buffer | string, encoding: BufferEncoding = 'utf8'): void { if (this._stopped) { throw new Error('ReadableStreamBuffer is stopped. Can no longer feed.'); } diff --git a/packages/@ionic/utils-subprocess/package.json b/packages/@ionic/utils-subprocess/package.json index 36fae11a17..755d555959 100644 --- a/packages/@ionic/utils-subprocess/package.json +++ b/packages/@ionic/utils-subprocess/package.json @@ -8,7 +8,7 @@ "author": "Ionic Team (https://ionic.io)", "license": "MIT", "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "files": [ "dist/", @@ -44,7 +44,7 @@ "@types/cross-spawn": "^6.0.0", "@types/debug": "^4.1.1", "@types/jest": "^26.0.10", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "jest": "^26.4.2", "jest-cli": "^26.0.1", "lint-staged": "^10.0.2", diff --git a/packages/@ionic/utils-subprocess/src/__tests__/index.ts b/packages/@ionic/utils-subprocess/src/__tests__/index.ts index a9ea32721d..eea8b7e7a3 100644 --- a/packages/@ionic/utils-subprocess/src/__tests__/index.ts +++ b/packages/@ionic/utils-subprocess/src/__tests__/index.ts @@ -231,8 +231,8 @@ describe('@ionic/utils-subprocess', () => { const stdoutMock = new WritableStreamBuffer(); const stderrMock = new WritableStreamBuffer(); const promise = cmd.run(); - promise.p.stdout.pipe(stdoutMock); - promise.p.stderr.pipe(stderrMock); + promise.p.stdout?.pipe(stdoutMock); + promise.p.stderr?.pipe(stderrMock); mockSpawnStdout.feed('hello world!'); mockSpawnStdout.stop(); mockSpawnStderr.feed('oh no!'); @@ -253,8 +253,8 @@ describe('@ionic/utils-subprocess', () => { mockCrossSpawn.mockImplementation(() => cp); const buf = new WritableStreamBuffer(); const promise = cmd.run(); - promise.p.stdout.pipe(buf); - promise.p.stderr.pipe(buf); + promise.p.stdout?.pipe(buf); + promise.p.stderr?.pipe(buf); mockSpawnStdout.stop(); mockSpawnStderr.stop(); await promisifyEvent(buf, 'finish'); @@ -270,8 +270,8 @@ describe('@ionic/utils-subprocess', () => { mockCrossSpawn.mockImplementation(() => cp); const buf = new WritableStreamBuffer(); const promise = cmd.run(); - promise.p.stdout.pipe(buf); - promise.p.stderr.pipe(buf); + promise.p.stdout?.pipe(buf); + promise.p.stderr?.pipe(buf); mockSpawnStdout.stop(); mockSpawnStderr.stop(); await promisifyEvent(buf, 'finish'); diff --git a/packages/@ionic/utils-subprocess/src/index.ts b/packages/@ionic/utils-subprocess/src/index.ts index 8450f457cd..f39582799e 100644 --- a/packages/@ionic/utils-subprocess/src/index.ts +++ b/packages/@ionic/utils-subprocess/src/index.ts @@ -125,10 +125,10 @@ export class Subprocess { const stderrBuf = new WritableStreamBuffer(); const combinedBuf = new WritableStreamBuffer(); - promise.p.stdout.pipe(stdoutBuf); - promise.p.stdout.pipe(combinedBuf); - promise.p.stderr.pipe(stderrBuf); - promise.p.stderr.pipe(combinedBuf); + promise.p.stdout?.pipe(stdoutBuf); + promise.p.stdout?.pipe(combinedBuf); + promise.p.stderr?.pipe(stderrBuf); + promise.p.stderr?.pipe(combinedBuf); try { await promise; @@ -151,8 +151,8 @@ export class Subprocess { const promise = this.run(); const buf = new WritableStreamBuffer(); - promise.p.stdout.pipe(buf); - promise.p.stderr.pipe(buf); + promise.p.stdout?.pipe(buf); + promise.p.stderr?.pipe(buf); try { await promise; @@ -187,16 +187,16 @@ export class Subprocess { if (code === 0) { return resolve(); - } - - if (signal) { + } else if (signal) { err = new SubprocessError('Signal exit from subprocess.'); err.code = ERROR_SIGNAL_EXIT; err.signal = signal; - } else { + } else if (code) { err = new SubprocessError('Non-zero exit from subprocess.'); err.code = ERROR_NON_ZERO_EXIT; err.exitCode = code; + } else { + return resolve(); } reject(err); diff --git a/packages/@ionic/utils-terminal/package.json b/packages/@ionic/utils-terminal/package.json index 89ebf349fb..e5c74933f9 100644 --- a/packages/@ionic/utils-terminal/package.json +++ b/packages/@ionic/utils-terminal/package.json @@ -8,7 +8,7 @@ "author": "Ionic Team (https://ionic.io)", "license": "MIT", "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "files": [ "dist/", @@ -44,7 +44,7 @@ "devDependencies": { "@types/debug": "^4.1.1", "@types/jest": "^26.0.10", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "@types/signal-exit": "^3.0.0", "@types/wrap-ansi": "^3.0.0", "jest": "^26.4.2", diff --git a/packages/@ionic/v1-toolkit/bin/ionic-v1 b/packages/@ionic/v1-toolkit/bin/ionic-v1 index 5f0d2c0856..f0861608d2 100755 --- a/packages/@ionic/v1-toolkit/bin/ionic-v1 +++ b/packages/@ionic/v1-toolkit/bin/ionic-v1 @@ -7,13 +7,15 @@ process.on('unhandledRejection', function(r) { console.error(r); }); var semver = require('semver'); var version = semver.parse(process.version); -var minversion = 'v10.3.0'; +var minversion = 'v16.0.0'; if (semver.lt(version, minversion)) { - var details = version.major === 6 - ? ' Node.js 6 reached end-of-life on 2019-04-30 and is no longer supported.' - : version.major === 8 - ? ' Node.js 8 reached end-of-life on 2019-12-31 and is no longer supported.' + var details = version.major === 10 + ? ' Node.js 10 reached end-of-life on 2021-04-30 and is no longer supported.' + : version.major === 12 + ? ' Node.js 12 reached end-of-life on 2022-04-30 and is no longer supported.' + : version.major === 14 + ? ' Node.js 14 reached end-of-life on 2023-04-30 and is no longer supported.' : ''; process.stderr.write('ERR: Your Node.js version is ' + version.raw + '.' + details + ' Please update to the latest Node LTS version.\n'); diff --git a/packages/@ionic/v1-toolkit/package.json b/packages/@ionic/v1-toolkit/package.json index c1950ca5ee..8833ba4cae 100644 --- a/packages/@ionic/v1-toolkit/package.json +++ b/packages/@ionic/v1-toolkit/package.json @@ -11,7 +11,7 @@ "author": "Ionic Team (https://ionic.io)", "license": "MIT", "engines": { - "node": ">=10.3.0" + "node": ">=16.0.0" }, "files": [ "assets/", @@ -56,7 +56,7 @@ "@types/gulp": "^4.0.6", "@types/http-proxy-middleware": "^0.19.0", "@types/jest": "^26.0.10", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "@types/undertaker": "^1.2.3", "@types/ws": "^7.2.0", "jest": "^26.4.2", diff --git a/packages/cli-scripts/package.json b/packages/cli-scripts/package.json index 5edf659039..b06fa030af 100644 --- a/packages/cli-scripts/package.json +++ b/packages/cli-scripts/package.json @@ -28,7 +28,7 @@ "devDependencies": { "@types/ansi-styles": "^3.2.0", "@types/jest": "^26.0.10", - "@types/node": "~10.17.13", + "@types/node": "~16.0.0", "jest": "^26.4.2", "jest-cli": "^26.0.1", "lint-staged": "^10.0.2", diff --git a/tsconfig.base.json b/tsconfig.base.json index e2093b8f05..91f6a0680d 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -9,10 +9,10 @@ "noUnusedLocals": true, "pretty": true, "strict": true, - "target": "es2019", + "target": "es2020", "types": [], "lib": [ - "es2019" + "es2020" ] } }