diff --git a/.nvmrc b/.nvmrc index 3027af39c1..aacb518104 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -16.10.0 +18.17 diff --git a/e2e-tests/.ci/server.override.yml b/e2e-tests/.ci/server.override.yml index 1e90a245b2..c2f3b9b23c 100644 --- a/e2e-tests/.ci/server.override.yml +++ b/e2e-tests/.ci/server.override.yml @@ -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/ diff --git a/e2e-tests/cypress/package-lock.json b/e2e-tests/cypress/package-lock.json index 29aecb84e0..2623f423eb 100644 --- a/e2e-tests/cypress/package-lock.json +++ b/e2e-tests/cypress/package-lock.json @@ -1,5 +1,5 @@ { - "name": "app", + "name": "cypress", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/e2e-tests/cypress/package.json b/e2e-tests/cypress/package.json index 70d6741c0b..12e4422c4a 100644 --- a/e2e-tests/cypress/package.json +++ b/e2e-tests/cypress/package.json @@ -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", diff --git a/webapp/package-lock.json b/webapp/package-lock.json index ffb3efa065..79d3b0f412 100644 --- a/webapp/package-lock.json +++ b/webapp/package-lock.json @@ -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 } } }, diff --git a/webapp/package.json b/webapp/package.json index 5ead703227..166e323272 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -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", diff --git a/webapp/scripts/skip_integrity_check.js b/webapp/scripts/skip_integrity_check.js deleted file mode 100644 index b71d7f14bc..0000000000 --- a/webapp/scripts/skip_integrity_check.js +++ /dev/null @@ -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');