chore: update Node to LTS 20, TypeScript, tsconfig

Because:

* We want to update to Node 20 LTS.
* We want to target the JS output of Node 20.
* We want to use the latest TypeScript 5.4

This commit:

* Updates the Node version to 20 LTS.
* Updates the TypeScript version and related TS libs
  to 5.4.
* Updates tsconfig for the new Node 20 target.
This commit is contained in:
Ben Bangert 2024-03-13 08:26:58 -07:00
Родитель a957e492e4
Коммит c28b061257
Не найден ключ, соответствующий данной подписи
26 изменённых файлов: 211 добавлений и 118 удалений

Просмотреть файл

@ -53,7 +53,7 @@ executors:
tiny-executor:
resource_class: small
docker:
- image: cimg/node:18.17
- image: cimg/node:20.11.1
environment:
HUSKY_SKIP_INSTALL: 1
@ -65,7 +65,7 @@ executors:
default: medium
image:
type: string
default: cimg/node:18.17
default: cimg/node:20.11.1
resource_class: << parameters.resource_class >>
docker:
- image: << parameters.image >>
@ -83,7 +83,7 @@ executors:
# step, and the saving the initial a workspace state.
build-executor:
docker:
- image: mozilla/fxa-circleci:ci-builder-nx
- image: mozilla/fxa-circleci:ci-builder-v2
environment:
NODE_ENV: development
FIRESTORE_EMULATOR_HOST: localhost:9090
@ -99,7 +99,7 @@ executors:
default: medium
resource_class: << parameters.resource_class >>
docker:
- image: mozilla/fxa-circleci:ci-test-runner-nx
- image: mozilla/fxa-circleci:ci-test-runner-v2
environment:
NODE_ENV: development
FIRESTORE_EMULATOR_HOST: localhost:9090
@ -115,7 +115,7 @@ executors:
default: large
resource_class: << parameters.resource_class >>
docker:
- image: mozilla/fxa-circleci:ci-test-runner-nx
- image: mozilla/fxa-circleci:ci-test-runner-v2
- image: cimg/mysql:8.0
command: --default-authentication-plugin=mysql_native_password
- image: jdlk7/firestore-emulator
@ -136,7 +136,7 @@ executors:
default: large
resource_class: << parameters.resource_class >>
docker:
- image: mozilla/fxa-circleci:ci-functional-test-runner-nx
- image: mozilla/fxa-circleci:ci-functional-test-runner-v2
- image: redis
- image: memcached
- image: pafortin/goaws
@ -174,7 +174,7 @@ executors:
default: medium+
resource_class: << parameters.resource_class >>
docker:
- image: mozilla/fxa-circleci:ci-functional-test-runner-nx
- image: mozilla/fxa-circleci:ci-functional-test-runner-v2
environment:
NODE_ENV: development
CUSTOMS_SERVER_URL: none
@ -429,7 +429,7 @@ commands:
docker build . \
-f ./project/_dev/docker/ci/Dockerfile \
--target << parameters.target >> \
-t mozilla/fxa-circleci:ci-<< parameters.target >>-nx
-t mozilla/fxa-circleci:ci-<< parameters.target >>-v2
create-fxa-ci-images:
# Build CI images. Images are built on top of each other. Each is optimized for a specific task.
@ -458,10 +458,10 @@ commands:
name: Push CI Images and Extract Yarn Cache
command: |
docker login -u $DOCKER_USER_fxa_circleci -p $DOCKER_PASS_fxa_circleci
.circleci/docker-copy-cache.sh mozilla/fxa-circleci:ci-builder-nx
docker push mozilla/fxa-circleci:ci-test-runner-nx
docker push mozilla/fxa-circleci:ci-functional-test-runner-nx
docker push mozilla/fxa-circleci:ci-builder-nx
.circleci/docker-copy-cache.sh mozilla/fxa-circleci:ci-builder-v2
docker push mozilla/fxa-circleci:ci-test-runner-v2
docker push mozilla/fxa-circleci:ci-functional-test-runner-v2
docker push mozilla/fxa-circleci:ci-builder-v2
wait
jobs:
@ -849,11 +849,12 @@ workflows:
name: Deploy CI Images
executor:
name: docker-build-executor
image: cimg/node:18.17-browsers
image: cimg/node:20.11.1-browsers
filters:
branches:
only:
- main
- chore/update-tsconfig-for-node-20
tags:
ignore: /.*/
force-deploy: << pipeline.parameters.force-deploy-fxa-ci-images >>
@ -1114,7 +1115,7 @@ workflows:
name: Deploy CI Images (nightly)
executor:
name: docker-build-executor
image: cimg/node:16.13-browsers
image: cimg/node:20.11.1-browsers
# Note, setting force-deploy as true will result in rebuilding the images regardless
# of whether or not there are package modifications.
force-deploy: true

2
.nvmrc
Просмотреть файл

@ -1 +1 @@
18.18.2
20.11.1

Просмотреть файл

@ -5,7 +5,7 @@
# By running a yarn install inside the same base container that we use in our CI, we can
# ensure the same checksums are created correctly.
#
FROM cimg/node:18.18
FROM cimg/node:20.11
COPY . .
RUN sudo yarn cache clear --all

Просмотреть файл

@ -4,7 +4,7 @@
# Runs tests and common CI operations. Needs minimal install. Assumes
# workspace will be restored into the project folder.
FROM cimg/node:18.18 as test-runner
FROM cimg/node:20.11 as test-runner
RUN sudo apt-get update && sudo apt-get install -y \
python3-venv
WORKDIR /home/circleci
@ -30,7 +30,7 @@ RUN yarn install --immutable;
# Acts as an intermediate stage for adding the firefox install. Note,
# that a yarn install must happen first to ensure the correct version
# of firefox is installed. Also note that the functional-test-runner
# must based on cimg/node:18.17-browsers, which is why this stage
# must based on cimg/node:20.11-browsers, which is why this stage
# is necessary.
FROM builder as playwright-install
RUN npx playwright install firefox;
@ -38,7 +38,7 @@ RUN npx playwright install firefox;
# Runs functional tests in our CI. Needs minimal install. Assumes
# workspace will be restored into the project folder.
FROM cimg/node:18.18-browsers as functional-test-runner
FROM cimg/node:20.11-browsers as functional-test-runner
WORKDIR /home/circleci
COPY --chown=circleci:circleci --from=playwright-install /home/circleci/.cache/ms-playwright .cache/ms-playwright/
COPY --chown=circleci:circleci project project

Просмотреть файл

@ -1,7 +1,7 @@
# Multi stage docker build for fxa-mono repo. Note that stages should be cached due to docker layer caching being
# turned on in CI.
FROM node:18.18.2-bullseye-slim AS fxa-base
FROM node:20.11.1-bullseye-slim AS fxa-base
RUN set -x \
&& addgroup --gid 10001 app \
&& adduser --disabled-password \

Просмотреть файл

@ -41,9 +41,7 @@ interface EventResponse {
@Injectable()
export class ContentfulClient {
client = new GraphQLClient(
`${this.contentfulClientConfig.graphqlApiUri}/spaces/${this.contentfulClientConfig.graphqlSpaceId}/environments/${this.contentfulClientConfig.graphqlEnvironment}?access_token=${this.contentfulClientConfig.graphqlApiKey}`
);
client: GraphQLClient;
private locales: string[] = [];
private emitter: EventEmitter;
public on: (
@ -56,6 +54,9 @@ export class ContentfulClient {
private contentfulClientConfig: ContentfulClientConfig,
@Inject(FirestoreService) private firestore: Firestore
) {
this.client = new GraphQLClient(
`${this.contentfulClientConfig.graphqlApiUri}/spaces/${this.contentfulClientConfig.graphqlSpaceId}/environments/${this.contentfulClientConfig.graphqlEnvironment}?access_token=${this.contentfulClientConfig.graphqlApiKey}`
);
this.setupCacheBust();
this.emitter = new EventEmitter();
this.on = this.emitter.on.bind(this.emitter);

Просмотреть файл

@ -108,12 +108,12 @@
"react-ga4": "^2.1.0",
"rxjs": "^7.8.1",
"semver": "^7.6.0",
"tslib": "^2.5.0",
"tslib": "^2.6.2",
"uuid": "^9.0.0",
"winston": "^3.11.0"
},
"engines": {
"node": "^18.18.2"
"node": "^20.11.1"
},
"husky": {
"hooks": {
@ -175,7 +175,7 @@
"@types/babel__core": "^7",
"@types/jest": "^29.5.1",
"@types/mysql": "^2",
"@types/node": "^18.18.2",
"@types/node": "^20.11.1",
"@types/passport": "^1.0.6",
"@types/passport-http-bearer": "^1.0.36",
"@types/passport-jwt": "^4",
@ -217,9 +217,9 @@
"stylelint-config-recommended-scss": "^14.0.0",
"tailwindcss": "^3.4.1",
"ts-jest": "^29.1.2",
"ts-node": "^10.9.1",
"tsc-alias": "^1.8.7",
"typescript": "^5.3.3"
"ts-node": "^10.9.2",
"tsc-alias": "^1.8.8",
"typescript": "^5.4.2"
},
"workspaces": [
"packages/*"
@ -231,7 +231,7 @@
"@graphql-typed-document-node/core": "3.2.0",
"@nestjs/cli/typescript": "^4.5.2",
"@svgr/webpack": "^8.0.1",
"@types/node": "^18.18.2",
"@types/node": "^20.11.1",
"@types/react": "^18",
"browserid-crypto": "https://github.com/mozilla-fxa/browserid-crypto.git#5979544d13eeb15a02d0b9a6a7a08a698d54d37d",
"css-minimizer-webpack-plugin": ">=4 <5",

Просмотреть файл

@ -84,7 +84,7 @@
"prettier": "^2.3.1",
"supertest": "^6.3.0",
"tailwindcss-textshadow": "^2.1.3",
"typescript": "^5.3.3",
"typescript": "^5.4.2",
"webpack": "^5.84.1"
},
"nx": {

Просмотреть файл

@ -55,13 +55,13 @@
"rimraf": "^5.0.0",
"stripe": "^11.12.0",
"ts-morph": "^21.0.1",
"tslib": "^2.5.0"
"tslib": "^2.6.2"
},
"devDependencies": {
"@nestjs/cli": "^9.4.0",
"@types/chance": "^1.1.2",
"@types/convict": "^6.1.1",
"@types/node": "^18.18.2",
"@types/node": "^20.11.1",
"@types/pem-jwk": "^2",
"@types/supertest": "^2.0.11",
"@types/yargs": "^17.0.0",
@ -76,7 +76,7 @@
"pm2": "^5.3.0",
"supertest": "^6.3.0",
"ts-jest": "^29.1.2",
"typescript": "^5.3.3",
"typescript": "^5.4.2",
"yargs": "^17.0.1"
},
"nx": {

Просмотреть файл

@ -46,16 +46,13 @@
"author": "",
"license": "MPL-2.0",
"dependencies": {
"@peculiar/webcrypto": "^1.4.0",
"abab": "^2.0.6",
"abort-controller": "^3.0.0",
"node-fetch": "^2.6.7"
},
"devDependencies": {
"@types/assert": "^1.5.4",
"@types/fast-text-encoding": "^1",
"@types/mocha": "^8",
"@types/node": "^18.18.2",
"@types/node": "^20.11.1",
"@types/node-fetch": "^2.5.7",
"@types/prettier": "^2",
"asmcrypto.js": "^0.22.0",
@ -66,7 +63,7 @@
"fast-text-encoding": "^1.0.4",
"mocha": "^10.0.0",
"prettier": "^2.8.7",
"typescript": "^5.3.3",
"typescript": "^5.4.2",
"webcrypto-liner": "^1.4.0"
},
"mocha": {

Просмотреть файл

@ -1,9 +1,6 @@
import http from 'http';
import https from 'https';
import { Crypto } from '@peculiar/webcrypto';
import fetch, { Headers } from 'node-fetch';
import { btoa } from 'abab';
import AbortController from 'abort-controller';
import AuthClient from './lib/client';
http.globalAgent = new http.Agent({
@ -13,16 +10,10 @@ https.globalAgent = new https.Agent({
keepAlive: true,
});
// @ts-ignore
global.crypto = new Crypto();
// @ts-ignore
global.fetch = fetch;
// @ts-ignore
global.AbortController = AbortController;
// @ts-ignore
global.Headers = Headers;
// @ts-ignore
global.btoa = btoa;
export default AuthClient;
export * from './lib/client';

Просмотреть файл

@ -165,7 +165,7 @@
"@types/memcached": "^2.2.6",
"@types/mocha": "^8.2.2",
"@types/nock": "^11.1.0",
"@types/node": "^18.18.2",
"@types/node": "^20.11.1",
"@types/node-zendesk": "^2.0.2",
"@types/nodemailer": "^6.4.2",
"@types/request": "2.48.5",
@ -217,10 +217,10 @@
"sinon": "^9.0.3",
"storybook": "^7.4.6",
"through": "2.3.8",
"tsc-alias": "^1.8.7",
"tsc-alias": "^1.8.8",
"type-fest": "^4.12.0",
"typesafe-node-firestore": "^1.4.1",
"typescript": "^5.3.3",
"typescript": "^5.4.2",
"webpack": "^5.84.1",
"webpack-watch-files-plugin": "^1.2.1",
"ws": "^8.13.0"

Просмотреть файл

@ -177,7 +177,7 @@
"sinon-express-mock": "^2.2.1",
"tailwindcss": "^3.4.1",
"ts-loader": "^8.4.0",
"typescript": "^5.3.3",
"typescript": "^5.4.2",
"upng-js": "2.1.0",
"url-loader": "4.1.1",
"webpack-dev-middleware": "^6.1.1",

Просмотреть файл

@ -59,7 +59,7 @@
"@types/convict": "^5.2.2",
"@types/express": "^4.17.12",
"@types/jest": "^26.0.23",
"@types/node": "^18.18.2",
"@types/node": "^20.11.1",
"@types/passport": "^1.0.6",
"@types/passport-jwt": "^3.0.5",
"@types/rimraf": "3.0.0",
@ -86,7 +86,7 @@
"ts-loader": "^8.4.0",
"tsconfig-paths": "^4.2.0",
"typesafe-node-firestore": "^1.4.1",
"typescript": "^5.3.3"
"typescript": "^5.4.2"
},
"jest": {
"moduleFileExtensions": [

Просмотреть файл

@ -61,7 +61,7 @@
"objection": "^3.1.3",
"rimraf": "^5.0.0",
"superagent": "^8.1.2",
"tslib": "^2.5.0"
"tslib": "^2.6.2"
},
"devDependencies": {
"@nestjs/cli": "^9.4.0",
@ -72,7 +72,7 @@
"@types/graphql": "^14.5.0",
"@types/ioredis": "^4.26.4",
"@types/jest": "^29.2.5",
"@types/node": "^18.18.2",
"@types/node": "^20.11.1",
"@types/passport": "^1.0.6",
"@types/passport-http-bearer": "^1.0.36",
"@types/superagent": "4.1.11",
@ -88,6 +88,6 @@
"pm2": "^5.3.0",
"prettier": "^2.3.1",
"supertest": "^6.3.0",
"typescript": "^5.3.3"
"typescript": "^5.4.2"
}
}

Просмотреть файл

@ -14,5 +14,5 @@ export class SessionReauthInput extends SignInInput {
public sessionToken!: hexstring;
@Field()
public options!: SessionReauthOptionsInput;
public declare options: SessionReauthOptionsInput;
}

Просмотреть файл

@ -76,7 +76,7 @@
"@types/jest": "^26.0.23",
"@types/jsdom": "^16.2.11",
"@types/nock": "^11.1.0",
"@types/node": "^18.18.2",
"@types/node": "^20.11.1",
"@types/postcss-import": "^12",
"@types/react-redux": "^7.1.18",
"@types/react-stripe-elements": "^6.0.6",
@ -116,7 +116,7 @@
"storybook": "^7.0.23",
"storybook-addon-mock": "4.2.1",
"supertest": "^6.3.0",
"typescript": "^5.3.3",
"typescript": "^5.4.2",
"wait-for-expect": "^3.0.2",
"webpack": "^5.84.1"
},

Просмотреть файл

@ -96,6 +96,12 @@ const customizeWebpackConfig = ({ config }) => ({
loader: require.resolve('babel-loader'),
options: {
presets: [['react-app', { flow: false, typescript: true }]],
plugins: [
[
'@babel/plugin-transform-typescript',
{ allowDeclareFields: true },
],
],
},
};
}

Просмотреть файл

@ -49,6 +49,7 @@
},
"devDependencies": {
"@babel/core": "^7.15.0",
"@babel/plugin-transform-typescript": "^7.23.6",
"@babel/preset-env": "^7.22.9",
"@babel/preset-react": "^7.23.3",
"@babel/preset-typescript": "^7.23.2",
@ -66,7 +67,7 @@
"@types/classnames": "^2.3.1",
"@types/file-loader": "^5.0.0",
"@types/jest": "^26.0.23",
"@types/node": "^18.18.2",
"@types/node": "^20.11.1",
"@types/postcss-import": "^14",
"@types/prettier": "2.3.0",
"@types/react-helmet": "^6.1.6",
@ -93,8 +94,8 @@
"rimraf": "^5.0.0",
"sass-loader": "^14.1.0",
"storybook": "^7.0.23",
"tsc-alias": "^1.8.7",
"typescript": "^5.3.3",
"tsc-alias": "^1.8.8",
"typescript": "^5.4.2",
"webpack": "^5.84.1"
},
"repository": {

Просмотреть файл

@ -19,6 +19,7 @@ const hasJsxRuntime = (() => {
module.exports = babelJest.createTransformer({
plugins: [
['@babel/plugin-transform-typescript', { allowDeclareFields: true }],
'babel-plugin-transform-typescript-metadata',
['@babel/plugin-proposal-decorators', { version: 'legacy' }],
['@babel/plugin-proposal-class-properties', { loose: true }],

Просмотреть файл

@ -431,6 +431,10 @@ module.exports = function (webpackEnv) {
],
],
plugins: [
[
'@babel/plugin-transform-typescript',
{ allowDeclareFields: true },
],
'babel-plugin-transform-typescript-metadata',
isEnvDevelopment &&
shouldUseReactRefresh &&

Просмотреть файл

@ -192,6 +192,7 @@
},
"devDependencies": {
"@babel/core": "^7.22.5",
"@babel/plugin-transform-typescript": "^7.23.6",
"@babel/preset-typescript": "^7.23.0",
"@babel/types": "^7.22.5",
"@storybook/addon-actions": "^7.6.4",
@ -214,7 +215,7 @@
"@types/file-saver": "^2.0.5",
"@types/jest": "^26.0.23",
"@types/lodash.groupby": "^4",
"@types/node": "^18.18.2",
"@types/node": "^20.11.1",
"@types/prop-types": "^15",
"@types/reach__router": "^1.3.11",
"@types/react-router": "^5.1.19",
@ -247,7 +248,7 @@
"storybook-addon-rtl": "^0.5.0",
"style-loader": "^3.3.3",
"ts-jest": "^29.1.2",
"typescript": "^5.3.3",
"typescript": "^5.4.2",
"webpack": "^5.84.1"
},
"nx": {

Просмотреть файл

@ -134,7 +134,7 @@ export class OAuthIntegrationData extends BaseIntegrationData {
@IsOptional()
@IsString()
@bind()
redirectTo: string | undefined;
declare redirectTo: string | undefined;
// TODO - Validation - This should be a URL, but it is encoded and must be decoded in order to validate.
@IsOptional()

Просмотреть файл

@ -266,7 +266,7 @@
"@types/lodash.pick": "^4",
"@types/mocha": "^8.2.2",
"@types/mysql": "^2",
"@types/node": "^18.18.2",
"@types/node": "^20.11.1",
"@types/proxyquire": "^1.3.28",
"@types/sinon": "10.0.1",
"@types/superagent": "^4.1.11",
@ -289,9 +289,9 @@
"sinon": "^9.0.3",
"ts-jest": "^29.1.2",
"ts-loader": "^8.4.0",
"tsc-alias": "^1.8.7",
"tsc-alias": "^1.8.8",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.3.3",
"typescript": "^5.4.2",
"underscore": "^1.13.1",
"uuid": "^9.0.0"
},

Просмотреть файл

@ -10,7 +10,7 @@
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2019",
"target": "ES2021",
"module": "esnext",
"strict": true,
"resolveJsonModule": true,

186
yarn.lock
Просмотреть файл

@ -2224,6 +2224,25 @@ __metadata:
languageName: node
linkType: hard
"@babel/helper-create-class-features-plugin@npm:^7.23.6":
version: 7.24.0
resolution: "@babel/helper-create-class-features-plugin@npm:7.24.0"
dependencies:
"@babel/helper-annotate-as-pure": ^7.22.5
"@babel/helper-environment-visitor": ^7.22.20
"@babel/helper-function-name": ^7.23.0
"@babel/helper-member-expression-to-functions": ^7.23.0
"@babel/helper-optimise-call-expression": ^7.22.5
"@babel/helper-replace-supers": ^7.22.20
"@babel/helper-skip-transparent-expression-wrappers": ^7.22.5
"@babel/helper-split-export-declaration": ^7.22.6
semver: ^6.3.1
peerDependencies:
"@babel/core": ^7.0.0
checksum: 407ad4a9bf982a40a2c34c65bfc5d1349bb100076b2310f11889d803b354609f27f5397705aca0c047dfecb145321ec18ec1e27be7bc642cb69a32204781400d
languageName: node
linkType: hard
"@babel/helper-create-regexp-features-plugin@npm:^7.16.0":
version: 7.16.0
resolution: "@babel/helper-create-regexp-features-plugin@npm:7.16.0"
@ -2546,7 +2565,7 @@ __metadata:
languageName: node
linkType: hard
"@babel/helper-member-expression-to-functions@npm:^7.22.15":
"@babel/helper-member-expression-to-functions@npm:^7.22.15, @babel/helper-member-expression-to-functions@npm:^7.23.0":
version: 7.23.0
resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0"
dependencies:
@ -6322,6 +6341,20 @@ __metadata:
languageName: node
linkType: hard
"@babel/plugin-transform-typescript@npm:^7.23.6":
version: 7.23.6
resolution: "@babel/plugin-transform-typescript@npm:7.23.6"
dependencies:
"@babel/helper-annotate-as-pure": ^7.22.5
"@babel/helper-create-class-features-plugin": ^7.23.6
"@babel/helper-plugin-utils": ^7.22.5
"@babel/plugin-syntax-typescript": ^7.23.3
peerDependencies:
"@babel/core": ^7.0.0-0
checksum: 0462241843d14dff9f1a4c49ab182a6f01a5f7679957c786b08165dac3e8d49184011f05ca204183d164c54b9d3496d1b3005f904fa8708e394e6f15bf5548e6
languageName: node
linkType: hard
"@babel/plugin-transform-unicode-escapes@npm:^7.16.5":
version: 7.16.5
resolution: "@babel/plugin-transform-unicode-escapes@npm:7.16.5"
@ -22689,12 +22722,12 @@ __metadata:
languageName: node
linkType: hard
"@types/node@npm:^18.18.2":
version: 18.18.9
resolution: "@types/node@npm:18.18.9"
"@types/node@npm:^20.11.1":
version: 20.11.27
resolution: "@types/node@npm:20.11.27"
dependencies:
undici-types: ~5.26.4
checksum: 629ce20357586144031cb43d601617eef45e59460dea6b1e123f708e6885664f44d54f65e5b72b2614af5b8613f3652ced832649c0b991accbc6a85139befa51
checksum: 24a134a3c18e7261b6d6385c2b7714b6cf93663f30d5df8ca95c649f9cef917a422d77bfd4a18b2c7d190d3a39f445b345ecd9ef6f994e61c7e92f400ecbe80f
languageName: node
linkType: hard
@ -37745,7 +37778,7 @@ fsevents@~2.1.1:
serve-static: ^1.14.2
supertest: ^6.3.0
tailwindcss-textshadow: ^2.1.3
typescript: ^5.3.3
typescript: ^5.4.2
webpack: ^5.84.1
languageName: unknown
linkType: soft
@ -37759,7 +37792,7 @@ fsevents@~2.1.1:
"@nestjs/cli": ^9.4.0
"@types/chance": ^1.1.2
"@types/convict": ^6.1.1
"@types/node": ^18.18.2
"@types/node": ^20.11.1
"@types/pem-jwk": ^2
"@types/supertest": ^2.0.11
"@types/yargs": ^17.0.0
@ -37788,8 +37821,8 @@ fsevents@~2.1.1:
supertest: ^6.3.0
ts-jest: ^29.1.2
ts-morph: ^21.0.1
tslib: ^2.5.0
typescript: ^5.3.3
tslib: ^2.6.2
typescript: ^5.4.2
yargs: ^17.0.1
languageName: unknown
linkType: soft
@ -37798,15 +37831,12 @@ fsevents@~2.1.1:
version: 0.0.0-use.local
resolution: "fxa-auth-client@workspace:packages/fxa-auth-client"
dependencies:
"@peculiar/webcrypto": ^1.4.0
"@types/assert": ^1.5.4
"@types/fast-text-encoding": ^1
"@types/mocha": ^8
"@types/node": ^18.18.2
"@types/node": ^20.11.1
"@types/node-fetch": ^2.5.7
"@types/prettier": ^2
abab: ^2.0.6
abort-controller: ^3.0.0
asmcrypto.js: ^0.22.0
esbuild: ^0.17.15
esbuild-register: ^3.5.0
@ -37816,7 +37846,7 @@ fsevents@~2.1.1:
mocha: ^10.0.0
node-fetch: ^2.6.7
prettier: ^2.8.7
typescript: ^5.3.3
typescript: ^5.4.2
webcrypto-liner: ^1.4.0
languageName: unknown
linkType: soft
@ -37862,7 +37892,7 @@ fsevents@~2.1.1:
"@types/mjml": ^4.7.0
"@types/mocha": ^8.2.2
"@types/nock": ^11.1.0
"@types/node": ^18.18.2
"@types/node": ^20.11.1
"@types/node-zendesk": ^2.0.2
"@types/nodemailer": ^6.4.2
"@types/request": 2.48.5
@ -37972,11 +38002,11 @@ fsevents@~2.1.1:
stripe: ^11.12.0
superagent: ^8.1.2
through: 2.3.8
tsc-alias: ^1.8.7
tsc-alias: ^1.8.8
type-fest: ^4.12.0
typedi: ^0.8.0
typesafe-node-firestore: ^1.4.1
typescript: ^5.3.3
typescript: ^5.4.2
uuid: ^9.0.0
verror: ^1.10.1
web-push: 3.4.4
@ -38133,7 +38163,7 @@ fsevents@~2.1.1:
thread-loader: ^4.0.2
time-grunt: 2.0.0
ts-loader: ^8.4.0
typescript: ^5.3.3
typescript: ^5.4.2
ua-parser-js: 1.0.35
underscore: ^1.13.1
upng-js: 2.1.0
@ -38228,7 +38258,7 @@ fsevents@~2.1.1:
"@types/convict": ^5.2.2
"@types/express": ^4.17.12
"@types/jest": ^26.0.23
"@types/node": ^18.18.2
"@types/node": ^20.11.1
"@types/passport": ^1.0.6
"@types/passport-jwt": ^3.0.5
"@types/rimraf": 3.0.0
@ -38270,7 +38300,7 @@ fsevents@~2.1.1:
ts-loader: ^8.4.0
tsconfig-paths: ^4.2.0
typesafe-node-firestore: ^1.4.1
typescript: ^5.3.3
typescript: ^5.4.2
uuid: ^9.0.0
languageName: unknown
linkType: soft
@ -38308,7 +38338,7 @@ fsevents@~2.1.1:
"@types/graphql": ^14.5.0
"@types/ioredis": ^4.26.4
"@types/jest": ^29.2.5
"@types/node": ^18.18.2
"@types/node": ^20.11.1
"@types/passport": ^1.0.6
"@types/passport-http-bearer": ^1.0.36
"@types/superagent": 4.1.11
@ -38348,8 +38378,8 @@ fsevents@~2.1.1:
rimraf: ^5.0.0
superagent: ^8.1.2
supertest: ^6.3.0
tslib: ^2.5.0
typescript: ^5.3.3
tslib: ^2.6.2
typescript: ^5.4.2
languageName: unknown
linkType: soft
@ -38411,7 +38441,7 @@ fsevents@~2.1.1:
"@types/jest": ^26.0.23
"@types/jsdom": ^16.2.11
"@types/nock": ^11.1.0
"@types/node": ^18.18.2
"@types/node": ^20.11.1
"@types/postcss-import": ^12
"@types/react-redux": ^7.1.18
"@types/react-stripe-elements": ^6.0.6
@ -38484,7 +38514,7 @@ fsevents@~2.1.1:
storybook-addon-mock: 4.2.1
supertest: ^6.3.0
typedi: ^0.8.0
typescript: ^5.3.3
typescript: ^5.4.2
uuid: ^9.0.0
wait-for-expect: ^3.0.2
webpack: ^5.84.1
@ -38540,6 +38570,7 @@ fsevents@~2.1.1:
resolution: "fxa-react@workspace:packages/fxa-react"
dependencies:
"@babel/core": ^7.15.0
"@babel/plugin-transform-typescript": ^7.23.6
"@babel/preset-env": ^7.22.9
"@babel/preset-react": ^7.23.3
"@babel/preset-typescript": ^7.23.2
@ -38559,7 +38590,7 @@ fsevents@~2.1.1:
"@types/classnames": ^2.3.1
"@types/file-loader": ^5.0.0
"@types/jest": ^26.0.23
"@types/node": ^18.18.2
"@types/node": ^20.11.1
"@types/postcss-import": ^14
"@types/prettier": 2.3.0
"@types/react-helmet": ^6.1.6
@ -38594,8 +38625,8 @@ fsevents@~2.1.1:
sinon: ^9.2.3
storybook: ^7.0.23
tailwindcss-dir: ^4.0.0
tsc-alias: ^1.8.7
typescript: ^5.3.3
tsc-alias: ^1.8.8
typescript: ^5.4.2
webpack: ^5.84.1
languageName: unknown
linkType: soft
@ -38605,6 +38636,7 @@ fsevents@~2.1.1:
resolution: "fxa-settings@workspace:packages/fxa-settings"
dependencies:
"@babel/core": ^7.22.5
"@babel/plugin-transform-typescript": ^7.23.6
"@babel/preset-typescript": ^7.23.0
"@babel/types": ^7.22.5
"@emotion/react": ^11.11.1
@ -38636,7 +38668,7 @@ fsevents@~2.1.1:
"@types/jest": ^26.0.23
"@types/lodash.groupby": ^4
"@types/material-ui": ^0.21.8
"@types/node": ^18.18.2
"@types/node": ^20.11.1
"@types/prop-types": ^15
"@types/reach__router": ^1.3.11
"@types/react-router": ^5.1.19
@ -38722,7 +38754,7 @@ fsevents@~2.1.1:
tailwindcss: ^3.4.1
terser-webpack-plugin: ^5.2.5
ts-jest: ^29.1.2
typescript: ^5.3.3
typescript: ^5.4.2
ua-parser-js: 1.0.35
uuid: ^9.0.0
webpack: ^5.84.1
@ -38754,7 +38786,7 @@ fsevents@~2.1.1:
"@types/lodash.pick": ^4
"@types/mocha": ^8.2.2
"@types/mysql": ^2
"@types/node": ^18.18.2
"@types/node": ^20.11.1
"@types/proxyquire": ^1.3.28
"@types/sinon": 10.0.1
"@types/superagent": ^4.1.11
@ -38805,10 +38837,10 @@ fsevents@~2.1.1:
superagent: ^8.1.2
ts-jest: ^29.1.2
ts-loader: ^8.4.0
tsc-alias: ^1.8.7
tsc-alias: ^1.8.8
tsconfig-paths: ^4.2.0
typesafe-node-firestore: ^1.4.1
typescript: ^5.3.3
typescript: ^5.4.2
underscore: ^1.13.1
uuid: ^9.0.0
languageName: unknown
@ -38888,7 +38920,7 @@ fsevents@~2.1.1:
"@types/babel__core": ^7
"@types/jest": ^29.5.1
"@types/mysql": ^2
"@types/node": ^18.18.2
"@types/node": ^20.11.1
"@types/passport": ^1.0.6
"@types/passport-http-bearer": ^1.0.36
"@types/passport-jwt": ^4
@ -38960,10 +38992,10 @@ fsevents@~2.1.1:
stylelint-config-recommended-scss: ^14.0.0
tailwindcss: ^3.4.1
ts-jest: ^29.1.2
ts-node: ^10.9.1
tsc-alias: ^1.8.7
tslib: ^2.5.0
typescript: ^5.3.3
ts-node: ^10.9.2
tsc-alias: ^1.8.8
tslib: ^2.6.2
typescript: ^5.4.2
uuid: ^9.0.0
winston: ^3.11.0
languageName: unknown
@ -63319,7 +63351,7 @@ resolve@1.1.7:
languageName: node
linkType: hard
"ts-node@npm:10.9.1, ts-node@npm:^10.9.1":
"ts-node@npm:10.9.1":
version: 10.9.1
resolution: "ts-node@npm:10.9.1"
dependencies:
@ -63357,6 +63389,44 @@ resolve@1.1.7:
languageName: node
linkType: hard
"ts-node@npm:^10.9.2":
version: 10.9.2
resolution: "ts-node@npm:10.9.2"
dependencies:
"@cspotcode/source-map-support": ^0.8.0
"@tsconfig/node10": ^1.0.7
"@tsconfig/node12": ^1.0.7
"@tsconfig/node14": ^1.0.0
"@tsconfig/node16": ^1.0.2
acorn: ^8.4.1
acorn-walk: ^8.1.1
arg: ^4.1.0
create-require: ^1.1.0
diff: ^4.0.1
make-error: ^1.1.1
v8-compile-cache-lib: ^3.0.1
yn: 3.1.1
peerDependencies:
"@swc/core": ">=1.2.50"
"@swc/wasm": ">=1.2.50"
"@types/node": "*"
typescript: ">=2.7"
peerDependenciesMeta:
"@swc/core":
optional: true
"@swc/wasm":
optional: true
bin:
ts-node: dist/bin.js
ts-node-cwd: dist/bin-cwd.js
ts-node-esm: dist/bin-esm.js
ts-node-script: dist/bin-script.js
ts-node-transpile-only: dist/bin-transpile.js
ts-script: dist/bin-script-deprecated.js
checksum: fde256c9073969e234526e2cfead42591b9a2aec5222bac154b0de2fa9e4ceb30efcd717ee8bc785a56f3a119bdd5aa27b333d9dbec94ed254bd26f8944c67ac
languageName: node
linkType: hard
"ts-node@npm:~10.0.0":
version: 10.0.0
resolution: "ts-node@npm:10.0.0"
@ -63401,9 +63471,9 @@ resolve@1.1.7:
languageName: node
linkType: hard
"tsc-alias@npm:^1.8.7":
version: 1.8.7
resolution: "tsc-alias@npm:1.8.7"
"tsc-alias@npm:^1.8.8":
version: 1.8.8
resolution: "tsc-alias@npm:1.8.8"
dependencies:
chokidar: ^3.5.3
commander: ^9.0.0
@ -63413,7 +63483,7 @@ resolve@1.1.7:
plimit-lit: ^1.2.6
bin:
tsc-alias: dist/bin/index.js
checksum: 77f721ea797a62a7cc74acda0baf928bb654bccb210471b63fef1e70a27a823c60f5832f51aa5976d573412bc90731e90774abf9127f3b6b13f284839f988d47
checksum: 204852f75ce516c991813c371e4b3cda8767c50b6ad12b5c1b5f0227eb7e69fef559775fc829ba744b37dfd9930a1632dbabd62366a474fa0e174b2625ccb54f
languageName: node
linkType: hard
@ -63808,7 +63878,17 @@ resolve@1.1.7:
languageName: node
linkType: hard
"typescript@npm:^5.3.3, typescript@npm:~5.3.2":
"typescript@npm:^5.4.2":
version: 5.4.2
resolution: "typescript@npm:5.4.2"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: 96d80fde25a09bcb04d399082fb27a808a9e17c2111e43849d2aafbd642d835e4f4ef0de09b0ba795ec2a700be6c4c2c3f62bf4660c05404c948727b5bbfb32a
languageName: node
linkType: hard
"typescript@npm:~5.3.2":
version: 5.3.3
resolution: "typescript@npm:5.3.3"
bin:
@ -63818,13 +63898,13 @@ resolve@1.1.7:
languageName: node
linkType: hard
"typescript@patch:typescript@^5.3.3#~builtin<compat/typescript>, typescript@patch:typescript@~5.3.2#~builtin<compat/typescript>":
version: 5.3.3
resolution: "typescript@patch:typescript@npm%3A5.3.3#~builtin<compat/typescript>::version=5.3.3&hash=d73830"
"typescript@patch:typescript@^5.4.2#~builtin<compat/typescript>":
version: 5.4.2
resolution: "typescript@patch:typescript@npm%3A5.4.2#~builtin<compat/typescript>::version=5.4.2&hash=d73830"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: f61375590b3162599f0f0d5b8737877ac0a7bc52761dbb585d67e7b8753a3a4c42d9a554c4cc929f591ffcf3a2b0602f65ae3ce74714fd5652623a816862b610
checksum: c1b669146bca5529873aae60870e243fa8140c85f57ca32c42f898f586d73ce4a6b4f6bb02ae312729e214d7f5859a0c70da3e527a116fdf5ad00c9fc733ecc6
languageName: node
linkType: hard
@ -63838,6 +63918,16 @@ resolve@1.1.7:
languageName: node
linkType: hard
"typescript@patch:typescript@~5.3.2#~builtin<compat/typescript>":
version: 5.3.3
resolution: "typescript@patch:typescript@npm%3A5.3.3#~builtin<compat/typescript>::version=5.3.3&hash=d73830"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: f61375590b3162599f0f0d5b8737877ac0a7bc52761dbb585d67e7b8753a3a4c42d9a554c4cc929f591ffcf3a2b0602f65ae3ce74714fd5652623a816862b610
languageName: node
linkType: hard
"ua-parser-js@npm:1.0.35":
version: 1.0.35
resolution: "ua-parser-js@npm:1.0.35"