MM-53989 Upgrade to Node 18 and NPM 9 (#24283)

* MM-53989 Update to Node 18 and NPM 9

* MM-53989 Remove skip_integrity_check.js

* Force e2e-test/cypress to use its version of TS for types package

* Update .nvmrc

* Update .nvmrc lineending

* Update server.override.yml

---------

Co-authored-by: M-ZubairAhmed <m-zubairahmed@protonmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
This commit is contained in:
Harrison Healey 2023-08-28 14:37:05 -04:00 committed by GitHub
parent 053041cd2c
commit 8235b5bb44
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 17 additions and 170 deletions

2
.nvmrc
View File

@ -1 +1 @@
16.10.0
18.17

View File

@ -54,7 +54,7 @@ services:
condition: service_healthy
webhook-interactions:
image: mattermostdevelopment/mirrored-node:16.10.0
image: mattermostdevelopment/mirrored-node:18.17.1
command: sh -c "npm install -g axios express client-oauth2@larkox/js-client-oauth2#e24e2eb5dfcbbbb3a59d095e831dbe0012b0ac49 && exec node webhook_serve.js"
environment:
NODE_PATH: /usr/local/lib/node_modules/

View File

@ -1,5 +1,5 @@
{
"name": "app",
"name": "cypress",
"lockfileVersion": 2,
"requires": true,
"packages": {

View File

@ -75,6 +75,11 @@
"uuid": "9.0.0",
"yargs": "17.7.2"
},
"overrides": {
"@mattermost/types": {
"typescript": "^5.0.4"
}
},
"scripts": {
"postinstall": "patch-package",
"check-types": "tsc -b",

156
webapp/package-lock.json generated
View File

@ -44,8 +44,8 @@
"webpack-dev-server": "4.13.3"
},
"engines": {
"node": "^16.10.0",
"npm": "^7.24.0"
"node": "^18.10.0",
"npm": "^9.0.0"
}
},
"channels": {
@ -15776,6 +15776,7 @@
"node_modules/marked": {
"version": "0.3.6",
"resolved": "git+ssh://git@github.com/mattermost/marked.git#2ef7f28cc7718e3f551c4ce9ea75fdd7580c2008",
"integrity": "sha512-Gb+xARiFJgNrEs5DVP5+YAea5SJ3MTwzQsftb2LccYDAM+MOUFHSCN1+dgmdru29bhq49sDZnes9aJsK2tgAAw==",
"license": "MIT",
"bin": {
"marked": "bin/marked"
@ -16311,6 +16312,7 @@
"node_modules/mmjstool": {
"version": "1.0.0",
"resolved": "git+ssh://git@github.com/mattermost/mattermost-utilities.git#e65ab00f22628cbdee736fd2e4f192f07225e82d",
"integrity": "sha512-1HUeyYpzVSMy9ezfBLL3i3+T2UVjtxr3XHYpJnUm74MnwKYNV/e8uUT1txAElaQ0aFf1wE6xRh7S/M+6Dmotzw==",
"dev": true,
"dependencies": {
"estree-walk": "^2.2.0",
@ -16323,86 +16325,6 @@
"mmjstool": "bin/mmjstool"
}
},
"node_modules/mmjstool/node_modules/@webpack-cli/configtest": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
"integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
"dev": true,
"peerDependencies": {
"webpack": "4.x.x || 5.x.x",
"webpack-cli": "4.x.x"
}
},
"node_modules/mmjstool/node_modules/@webpack-cli/info": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
"integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
"dev": true,
"dependencies": {
"envinfo": "^7.7.3"
},
"peerDependencies": {
"webpack-cli": "4.x.x"
}
},
"node_modules/mmjstool/node_modules/@webpack-cli/serve": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
"integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
"dev": true,
"peerDependencies": {
"webpack-cli": "4.x.x"
},
"peerDependenciesMeta": {
"webpack-dev-server": {
"optional": true
}
}
},
"node_modules/mmjstool/node_modules/cliui": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"dev": true,
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.1",
"wrap-ansi": "^7.0.0"
},
"engines": {
"node": ">=12"
}
},
"node_modules/mmjstool/node_modules/commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true,
"engines": {
"node": ">= 10"
}
},
"node_modules/mmjstool/node_modules/interpret": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
"integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
"dev": true,
"engines": {
"node": ">= 0.10"
}
},
"node_modules/mmjstool/node_modules/rechoir": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
"integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
"dev": true,
"dependencies": {
"resolve": "^1.9.0"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/mmjstool/node_modules/webpack-cli": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz",
@ -16468,15 +16390,6 @@
"node": ">=12"
}
},
"node_modules/mmjstool/node_modules/yargs-parser": {
"version": "21.1.1",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"dev": true,
"engines": {
"node": ">=12"
}
},
"node_modules/moment": {
"version": "2.29.4",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
@ -35702,6 +35615,7 @@
},
"marked": {
"version": "git+ssh://git@github.com/mattermost/marked.git#2ef7f28cc7718e3f551c4ce9ea75fdd7580c2008",
"integrity": "sha512-Gb+xARiFJgNrEs5DVP5+YAea5SJ3MTwzQsftb2LccYDAM+MOUFHSCN1+dgmdru29bhq49sDZnes9aJsK2tgAAw==",
"from": "marked@github:mattermost/marked#2ef7f28cc7718e3f551c4ce9ea75fdd7580c2008"
},
"material-colors": {
@ -36474,6 +36388,7 @@
},
"mmjstool": {
"version": "git+ssh://git@github.com/mattermost/mattermost-utilities.git#e65ab00f22628cbdee736fd2e4f192f07225e82d",
"integrity": "sha512-1HUeyYpzVSMy9ezfBLL3i3+T2UVjtxr3XHYpJnUm74MnwKYNV/e8uUT1txAElaQ0aFf1wE6xRh7S/M+6Dmotzw==",
"dev": true,
"from": "mmjstool@github:mattermost/mattermost-utilities#e65ab00f22628cbdee736fd2e4f192f07225e82d",
"requires": {
@ -36484,59 +36399,6 @@
"yargs": "^17.3.1"
},
"dependencies": {
"@webpack-cli/configtest": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
"integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
"dev": true
},
"@webpack-cli/info": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
"integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
"dev": true,
"requires": {
"envinfo": "^7.7.3"
}
},
"@webpack-cli/serve": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
"integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
"dev": true
},
"cliui": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"dev": true,
"requires": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.1",
"wrap-ansi": "^7.0.0"
}
},
"commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true
},
"interpret": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
"integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
"dev": true
},
"rechoir": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
"integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
"dev": true,
"requires": {
"resolve": "^1.9.0"
}
},
"webpack-cli": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz",
@ -36571,12 +36433,6 @@
"y18n": "^5.0.5",
"yargs-parser": "^21.1.1"
}
},
"yargs-parser": {
"version": "21.1.1",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"dev": true
}
}
},

View File

@ -2,11 +2,11 @@
"name": "@mattermost/webapp",
"private": true,
"engines": {
"node": "^16.10.0",
"npm": "^7.24.0"
"node": "^18.10.0",
"npm": "^9.0.0"
},
"scripts": {
"postinstall": "node scripts/skip_integrity_check.js && npm run build --workspace=platform/types --workspace=platform/client --workspace=platform/components",
"postinstall": "npm run build --workspace=platform/types --workspace=platform/client --workspace=platform/components",
"build": "node scripts/build.js",
"run": "node scripts/run.js",
"dev-server": "node scripts/dev-server.js",

View File

@ -1,14 +0,0 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
const fs = require('fs');
const content = JSON.parse(fs.readFileSync('package-lock.json', 'utf-8'));
// Skip integrity check for mmjstool, which differs on Apple Silicon M1.
// @see https://github.com/npm/cli/issues/2846
delete content.dependencies.mmjstool.integrity;
delete content.packages['node_modules/mmjstool'].integrity;
delete content.dependencies.marked.integrity;
delete content.packages['node_modules/marked'].integrity;
fs.writeFileSync('package-lock.json', JSON.stringify(content, null, 2) + '\n');