chore(deps): upgrade to node.js 18

Because:
 - we want to use the latest node LTS major version

This commit:
 - upgrades FxA to use node 18, with two workarounds
   - Webpack uses a hash algorithm that's no longer supported by default
     in node 17+, causing build failures; --openssl-legacy-provider is
     used as the workaround
   - dns.lookup in node 17+ by default returns the results in the same
     order as they are from the resolver, which could lead to
     'localhost' resolving to ::1; --dns-result-order=ipv4first is used
     as the workaround
This commit is contained in:
Barry Chen 2023-03-09 10:36:02 -06:00
Родитель 72dac1f4bd
Коммит da11e63832
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 228DB2785954A0D0
34 изменённых файлов: 140 добавлений и 114 удалений

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

@ -37,7 +37,7 @@ executors:
tiny-executor:
resource_class: small
docker:
- image: cimg/node:16.13
- image: cimg/node:18.14
# For creating docker builds
docker-build-executor:
@ -47,7 +47,7 @@ executors:
default: medium
image:
type: string
default: cimg/node:16.13
default: cimg/node:18.14
resource_class: << parameters.resource_class >>
docker:
- image: << parameters.image >>
@ -448,10 +448,10 @@ commands:
name: Push CI Images and Extract Yarn Cache
command: |
docker login -u $DOCKER_USER_fxa_circleci -p $DOCKER_PASS_fxa_circleci
.circleci/copy-docker-cache.sh mozilla/fxa-circleci:ci-builder &
docker push mozilla/fxa-circleci:ci-test-runner &
docker push mozilla/fxa-circleci:ci-functional-test-runner &
docker push mozilla/fxa-circleci:ci-builder &
.circleci/copy-docker-cache.sh mozilla/fxa-circleci:ci-builder
docker push mozilla/fxa-circleci:ci-test-runner
docker push mozilla/fxa-circleci:ci-functional-test-runner
docker push mozilla/fxa-circleci:ci-builder
wait
@ -803,6 +803,7 @@ workflows:
- Build (PR)
- playwright-functional-tests:
name: Functional Tests - Playwright (PR)
resource_class: xlarge
requires:
- Build (PR)
- build-and-deploy-storybooks:
@ -893,10 +894,11 @@ workflows:
name: Deploy CI Images
executor:
name: docker-build-executor
image: cimg/node:16.13-browsers
image: cimg/node:18.14-browsers
filters:
branches:
only: main
only:
- main
tags:
ignore: /.*/

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

@ -11,6 +11,7 @@
},
"ignorePatterns": [
"dist",
"node_modules"
"node_modules",
"pm2.config.js"
]
}

2
.github/workflows/l10n-gettext-extract.yml поставляемый
Просмотреть файл

@ -14,7 +14,7 @@ jobs:
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: 14
node-version: 18
- name: Install global npm packages
run: |
npm install -g grunt-cli

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

@ -1 +1 @@
16.12.0
18.14.2

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

@ -1,4 +1,4 @@
FROM node:16-slim
FROM node:18.14-slim
RUN set -x \
&& addgroup --gid 10001 app \

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

@ -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:16.13
FROM cimg/node:18.14
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:16.13 as test-runner
FROM cimg/node:18.14 as test-runner
WORKDIR /home/circleci
COPY --chown=circleci:circleci project project
WORKDIR /home/circleci/project
@ -34,7 +34,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:16.13-browsers, which is why this stage
# must based on cimg/node:18.14-browsers, which is why this stage
# is necessary.
FROM builder as playwright-install
RUN npx playwright install firefox;
@ -42,7 +42,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:16.13-browsers as functional-test-runner
FROM cimg/node:18.14-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,4 +1,4 @@
FROM node:16-slim
FROM node:18.14-slim
RUN set -x \
&& addgroup --gid 10001 app \

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

@ -47,7 +47,7 @@
"semver": "^7.3.5"
},
"engines": {
"node": "^16.12.0"
"node": "^18.14.2"
},
"husky": {
"hooks": {
@ -96,7 +96,7 @@
"resolutions": {
"@grpc/grpc-js": "~1.6.0",
"@nestjs/cli/typescript": "^4.5.2",
"@types/node": "^16.11.3",
"@types/node": "^18.14.2",
"browserid-crypto": "https://github.com/mozilla-fxa/browserid-crypto.git#5979544d13eeb15a02d0b9a6a7a08a698d54d37d",
"elliptic": ">=6.5.4",
"eslint-plugin-import": "^2.25.2",

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

@ -16,6 +16,7 @@ module.exports = {
env: {
CONFIG_123DONE: './config-local.json',
NODE_ENV: 'dev',
NODE_OPTIONS: '--dns-result-order=ipv4first',
PORT: '8080',
PATH,
},
@ -31,6 +32,7 @@ module.exports = {
env: {
CONFIG_123DONE: './config-local-untrusted.json',
NODE_ENV: 'dev',
NODE_OPTIONS: '--dns-result-order=ipv4first',
PORT: '10139',
PATH,
},

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

@ -28,20 +28,21 @@ export function getFirefoxUserPrefs(
) {
const fxaEnv = CONFIGS[target];
const debugOptions = {
'devtools.debugger.remote-enabled': true,
'devtools.chrome.enabled': true,
'devtools.debugger.prompt-connection': false,
'devtools.debugger.remote-enabled': true,
'identity.fxaccounts.log.appender.dump': 'Debug',
'identity.fxaccounts.loglevel': 'Debug',
'services.sync.log.appender.file.logOnSuccess': true,
'services.sync.log.appender.console': 'Debug',
'services.sync.log.appender.dump': 'Debug',
'services.sync.log.appender.file.logOnSuccess': true,
};
return {
'browser.tabs.remote.separatePrivilegedMozillaWebContentProcess':
target !== 'production',
'browser.tabs.remote.separatePrivilegedContentProcess':
target !== 'production',
'extensions.formautofill.creditCards.enabled': false,
'identity.fxaccounts.auth.uri': fxaEnv.auth,
'identity.fxaccounts.allowHttp': target === 'local',
'identity.fxaccounts.remote.root': fxaEnv.content,

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

@ -3,21 +3,21 @@
"version": "1.218.5",
"private": true,
"scripts": {
"record": "playwright test --project=stub --debug",
"test": "playwright test --project=local",
"test-local": "playwright test --project=local",
"test-stage": "playwright test --project=stage",
"test-production": "playwright test --project=production"
"record": "NODE_OPTIONS='--dns-result-order=ipv4first' playwright test --project=stub --debug",
"test": "NODE_OPTIONS='--dns-result-order=ipv4first' playwright test --project=local",
"test-local": "NODE_OPTIONS='--dns-result-order=ipv4first' playwright test --project=local",
"test-stage": "NODE_OPTIONS='--dns-result-order=ipv4first' playwright test --project=stage",
"test-production": "NODE_OPTIONS='--dns-result-order=ipv4first' playwright test --project=production"
},
"devDependencies": {
"@playwright/test": "^1.29.0",
"@playwright/test": "^1.31.2",
"@types/upng-js": "^2",
"fxa-auth-client": "workspace:*",
"fxa-content-server": "workspace:*",
"fxa-payments-server": "workspace:*",
"fxa-settings": "workspace:*",
"jsqr": "^1.4.0",
"playwright": "^1.29.0",
"playwright": "^1.31.2",
"upng-js": "^2.1.0"
}
}

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

@ -203,7 +203,7 @@ export class LoginPage extends BaseLayout {
async isSignUpCodeHeader() {
const header = this.page.locator(selectors.SIGN_UP_CODE_HEADER);
header.waitFor({ state: 'visible' });
await header.waitFor({ state: 'visible' });
return header.isVisible();
}

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

@ -120,6 +120,7 @@ test.describe('password strength tests', () => {
//Submit a common password
await login.setPassword('password123123');
await login.submitButton.click();
//Verify the success message
expect(await login.minLengthSuccess()).toBe(true);

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

@ -4,7 +4,7 @@
"description": "FxA Admin Panel",
"scripts": {
"build-css": "tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/tailwind.out.css --postcss",
"build:client": "tsc --build ../fxa-react && tsc --build && NODE_ENV=production npm run build-css && SKIP_PREFLIGHT_CHECK=true PUBLIC_URL=/ INLINE_RUNTIME_CHUNK=false CI=false rescripts build",
"build:client": "tsc --build ../fxa-react && tsc --build && NODE_ENV=production npm run build-css && SKIP_PREFLIGHT_CHECK=true PUBLIC_URL=/ INLINE_RUNTIME_CHUNK=false CI=false NODE_OPTIONS=--openssl-legacy-provider rescripts build",
"build:server": "tsc -p server/tsconfig.json",
"build": "npm-run-all build:client build:server",
"compile": "tsc --noEmit",

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

@ -40,6 +40,7 @@ module.exports = {
env: {
SKIP_PREFLIGHT_CHECK: 'true',
NODE_ENV: 'development',
NODE_OPTIONS: '--openssl-legacy-provider',
PUBLIC_URL: 'http://localhost:8091',
BROWSER: 'NONE',
PORT: '8092',
@ -65,7 +66,7 @@ module.exports = {
'src/styles',
'src/components/**/*.css',
'src/**/*.tsx',
require.resolve('fxa-react/configs/tailwind.js'),
require.resolve('fxa-react/configs/tailwind'),
],
ignore_watch: ['src/styles/tailwind.out.css'],
time: true,

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

@ -70,7 +70,7 @@
"@nestjs/cli": "^9.2.0",
"@types/chance": "^1.1.2",
"@types/convict": "^6.1.1",
"@types/node": "^16.11.3",
"@types/node": "^18.14.2",
"@types/pem-jwk": "^2",
"@types/supertest": "^2.0.11",
"@types/yargs": "^17.0.0",

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

@ -6,6 +6,10 @@
"exports": {
".": "./dist/server/server.js",
"./browser": "./dist/browser/browser.js",
"./lib/crypto": "./dist/server/lib/crypto.js",
"./lib/hawk": "./dist/server/lib/hawk.js",
"./lib/recoveryKey": "./dist/server/lib/recoveryKey.js",
"./lib/utils": "./dist/server/lib/utils.js",
"./lib/": "./lib/"
},
"scripts": {
@ -29,7 +33,7 @@
"@types/assert": "^1.5.4",
"@types/fast-text-encoding": "^1",
"@types/mocha": "^8",
"@types/node": "^16.11.3",
"@types/node": "^18.14.2",
"@types/node-fetch": "^2.5.7",
"asmcrypto.js": "^0.22.0",
"esbuild": "^0.14.2",

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

@ -39,8 +39,8 @@
"audit-orphaned-stripe-accounts": "CONFIG_FILES='config/secrets.json' node -r esbuild-register ./scripts/audit-orphaned-customers.ts",
"remove-unverified-accounts": "CONFIG_FILES='config/secrets.json' node -r esbuild-register ./scripts/remove-unverified-accounts.ts",
"emails-scss": "node -r esbuild-register ./lib/senders/emails/sass-compile-files.ts",
"storybook": "npm run install-ejs && yarn emails-scss && start-storybook -p 6010 --no-version-updates -s ./",
"build-storybook": "npm run install-ejs && yarn emails-scss && build-storybook && yarn build-storybook:copy-locales && yarn build-storybook:copy-templates",
"storybook": "npm run install-ejs && yarn emails-scss && NODE_OPTIONS=--openssl-legacy-provider start-storybook -p 6010 --no-version-updates -s ./",
"build-storybook": "npm run install-ejs && yarn emails-scss && NODE_OPTIONS=--openssl-legacy-provider build-storybook && yarn build-storybook:copy-locales && yarn build-storybook:copy-templates",
"build-storybook:copy-locales": "mkdir -p ./storybook-static/public/locales && cp -R ./public/locales ./storybook-static/public",
"build-storybook:copy-templates": "mkdir -p ./storybook-static/lib/senders/emails/templates && cp -R ./lib/senders/emails ./storybook-static/lib/senders",
"install-ejs": "./scripts/install-ejs.sh",
@ -160,7 +160,7 @@
"@types/memcached": "^2.2.6",
"@types/mocha": "^8.2.2",
"@types/nock": "^11.1.0",
"@types/node": "^16.11.3",
"@types/node": "^18.14.2",
"@types/node-zendesk": "^2.0.2",
"@types/nodemailer": "^6.4.2",
"@types/request": "2.48.5",

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

@ -15,7 +15,7 @@ module.exports = {
env: {
DB: 'mysql',
NODE_ENV: 'dev',
NODE_OPTIONS: '--inspect=9160',
NODE_OPTIONS: '--inspect=9160 --dns-result-order=ipv4first',
TS_NODE_TRANSPILE_ONLY: 'true',
IP_ADDRESS: '0.0.0.0',
SIGNIN_UNBLOCK_FORCED_EMAILS: '^block.*@restmail\\.net$',
@ -52,6 +52,7 @@ module.exports = {
cwd: __dirname,
env: {
NODE_ENV: 'dev',
NODE_OPTIONS: '--dns-result-order=ipv4first',
MAILER_PORT: '9001',
PATH,
},

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

@ -20,7 +20,7 @@ var messagesOutputPath = path.join(
'LC_MESSAGES'
);
var babelCmd =
'yarn babel --plugins=@babel/plugin-syntax-dynamic-import,dynamic-import-webpack,@babel/plugin-proposal-class-properties --presets @babel/preset-react,@babel/env,@babel/preset-typescript app/scripts --out-dir .es5';
'NODE_OPTIONS=--openssl-legacy-provider yarn babel --plugins=@babel/plugin-syntax-dynamic-import,dynamic-import-webpack,@babel/plugin-proposal-class-properties --presets @babel/preset-react,@babel/env,@babel/preset-typescript app/scripts --out-dir .es5';
var templateCmd = 'cp -r app/scripts/templates .es5/templates/';
module.exports = function (grunt) {

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

@ -3,18 +3,18 @@
"version": "1.253.4",
"description": "Firefox Accounts Content Server",
"scripts": {
"build": "tsc --build ../fxa-react && npm run build-css && NODE_ENV=production grunt build",
"build": "tsc --build ../fxa-react && npm run build-css && NODE_ENV=production NODE_OPTIONS=--openssl-legacy-provider grunt build",
"build-css": "tailwindcss --postcss -i ./app/styles/tailwind.css -o ./app/styles/tailwind.out.css",
"compile": "tsc --noEmit",
"clean": "git clean -fXd",
"postinstall": "cp server/config/local.json-dist server/config/local.json",
"audit": "npm audit --json | audit-filter --nsp-config=.nsprc --audit=-",
"lint": "eslint app server tests --cache",
"start": "node scripts/check-local-config && grunt l10n-create-json l10n-generate-tos-pp:app && pm2 start pm2.config.js && ../../_scripts/check-url.sh localhost:3030/bundle/app.bundle.js && npm run build-css",
"start": "node scripts/check-local-config && NODE_OPTIONS=--openssl-legacy-provider grunt l10n-create-json l10n-generate-tos-pp:app && pm2 start pm2.config.js && ../../_scripts/check-url.sh localhost:3030/bundle/app.bundle.js && npm run build-css",
"stop": "pm2 stop pm2.config.js",
"restart": "pm2 restart pm2.config.js && npm run build-css",
"delete": "pm2 delete pm2.config.js",
"start-production": "NODE_ENV=production grunt build && npm run build-css && CONFIG_FILES=server/config/local.json,server/config/production.json grunt serverproc:dist",
"start-production": "NODE_ENV=production NODE_OPTIONS=--openssl-legacy-provider grunt build && npm run build-css && CONFIG_FILES=server/config/local.json,server/config/production.json grunt serverproc:dist",
"start-remote": "scripts/run_remote_dev.sh",
"test": "node tests/intern.js --unit=true",
"test-circle": "node tests/intern.js --suites=circle --fxaAuthRoot=https://fxaci.dev.lcip.org/auth --fxaEmailRoot=http://restmail.net --fxaOAuthApp=https://oauth-fxaci.dev.lcip.org --fxaUntrustedOauthApp=https://321done-fxaci.dev.lcip.org --fxaProduction=true --bailAfterFirstFailure=true",

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

@ -15,6 +15,7 @@ module.exports = {
cwd: __dirname,
env: {
NODE_ENV: 'development',
NODE_OPTIONS: '--openssl-legacy-provider --dns-result-order=ipv4first',
CONFIG_FILES: 'server/config/local.json',
PORT: 3030,
PATH,
@ -44,10 +45,10 @@ module.exports = {
'app/scripts/templates/**/*.mustache',
'app/styles/tailwind.css',
'app/styles/tailwind/**/*.css',
require.resolve('fxa-react/configs/tailwind.js'),
require.resolve('fxa-react/configs/tailwind'),
path.normalize(
`${path.dirname(
require.resolve('fxa-react/configs/tailwind.js')
require.resolve('fxa-react/configs/tailwind')
)}/../styles`
),
],

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

@ -81,7 +81,7 @@
"@types/convict": "^5.2.2",
"@types/express": "^4.17.12",
"@types/jest": "^26.0.23",
"@types/node": "^16.11.3",
"@types/node": "^18.14.2",
"@types/passport": "^1.0.6",
"@types/passport-jwt": "^3.0.5",
"@types/rimraf": "3.0.0",

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

@ -87,7 +87,7 @@
"@types/graphql-upload": "^8.0.5",
"@types/ioredis": "^4.26.4",
"@types/jest": "^29.2.5",
"@types/node": "^16.11.3",
"@types/node": "^18.14.2",
"@types/passport": "^1.0.6",
"@types/passport-http-bearer": "^1.0.36",
"@types/superagent": "4.1.11",

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

@ -25,6 +25,7 @@ module.exports = {
env: {
PATH,
NODE_ENV: 'development',
NODE_OPTIONS: '--dns-result-order=ipv4first',
TS_NODE_TRANSPILE_ONLY: 'true',
TS_NODE_COMPILER: 'typescript-cached-transpile',
TS_NODE_FILES: 'true',

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

@ -16,7 +16,7 @@
"stop": "pm2 stop pm2.config.js",
"restart": "tsc --build ../fxa-react && yarn build-css && pm2 restart pm2.config.js",
"delete": "pm2 delete pm2.config.js",
"build": "yarn merge-ftl && tsc --build ../fxa-react && NODE_ENV=production npm run build-css && SKIP_PREFLIGHT_CHECK=true PUBLIC_URL=/ INLINE_RUNTIME_CHUNK=false CI=false rescripts build",
"build": "yarn merge-ftl && tsc --build ../fxa-react && NODE_ENV=production npm run build-css && SKIP_PREFLIGHT_CHECK=true PUBLIC_URL=/ INLINE_RUNTIME_CHUNK=false CI=false NODE_OPTIONS=--openssl-legacy-provider rescripts build",
"eject": "react-scripts eject",
"test": "npm-run-all test:frontend test:server",
"test:frontend": "yarn merge-ftl:test && SKIP_PREFLIGHT_CHECK=true PUBLIC_URL=/ INLINE_RUNTIME_CHUNK=false rescripts test --watchAll=false",
@ -25,8 +25,8 @@
"test:unit": "yarn build && yarn merge-ftl:test && JEST_JUNIT_OUTPUT_FILE=../../artifacts/tests/$npm_package_name/jest-unit.xml jest --coverage --runInBand --logHeapUsage --verbose --config server/jest.config.js --forceExit --ci --reporters=default --reporters=jest-junit",
"test:integration": "yarn build && yarn merge-ftl:test && JEST_JUNIT_OUTPUT_FILE=../../artifacts/tests/$npm_package_name/jest-integration.xml SKIP_PREFLIGHT_CHECK=true PUBLIC_URL=/ INLINE_RUNTIME_CHUNK=false rescripts test --watchAll=false --ci --reporters=default --reporters=jest-junit",
"format": "prettier --write --config ../../_dev/.prettierrc '**'",
"storybook": "start-storybook -p 6006",
"build-storybook": "NODE_ENV=production npm run build-css && build-storybook && cp -r public/images storybook-static/",
"storybook": "NODE_OPTIONS=--openssl-legacy-provider start-storybook -p 6006",
"build-storybook": "NODE_ENV=production npm run build-css && NODE_OPTIONS=--openssl-legacy-provider build-storybook && cp -r public/images storybook-static/",
"merge-ftl": "yarn l10n-prime && grunt merge-ftl && yarn l10n-bundle",
"merge-ftl:test": "yarn l10n-prime && grunt merge-ftl:test",
"watch-ftl": "grunt watch-ftl"
@ -70,7 +70,7 @@
"@types/jest": "^26.0.23",
"@types/jsdom": "^16.2.11",
"@types/nock": "^11.1.0",
"@types/node": "^16.11.3",
"@types/node": "^18.14.2",
"@types/postcss-import": "^12",
"@types/react": "^17.0.14",
"@types/react-dom": "^17.0.9",

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

@ -18,7 +18,7 @@ module.exports = {
env: {
LOGGING_FORMAT: 'pretty',
NODE_ENV: 'development',
NODE_OPTIONS: '--inspect=9170',
NODE_OPTIONS: '--inspect=9170 --dns-result-order=ipv4first',
PROXY_STATIC_RESOURCES_FROM: 'http://localhost:3032',
CONFIG_FILES: 'server/config/secrets.json',
PORT: '3031',
@ -39,6 +39,7 @@ module.exports = {
env: {
SKIP_PREFLIGHT_CHECK: 'true',
NODE_ENV: 'development',
NODE_OPTIONS: '--openssl-legacy-provider',
PUBLIC_URL: 'http://localhost:3031',
BROWSER: 'NONE',
PORT: '3032',
@ -62,10 +63,10 @@ module.exports = {
'src/styles',
'src/components/**/*.css',
'src/**/*.tsx',
require.resolve('fxa-react/configs/tailwind.js'),
require.resolve('fxa-react/configs/tailwind'),
path.normalize(
`${path.dirname(
require.resolve('fxa-react/configs/tailwind.js')
require.resolve('fxa-react/configs/tailwind')
)}/../styles`
),
],

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

@ -15,13 +15,14 @@ module.exports = {
max_restarts: '1',
env: {
NODE_ENV: 'development',
NODE_OPTIONS: '--dns-result-order=ipv4first',
HOST: '0.0.0.0',
DB: 'mysql',
PORT: '1111',
PATH,
SENTRY_ENV: 'local',
SENTRY_DSN: process.env.SENTRY_DSN_PROFILE,
TRACING_SERVICE_NAME: 'fxa-profile-server'
TRACING_SERVICE_NAME: 'fxa-profile-server',
},
filter_env: ['npm_'],
min_uptime: '2m',
@ -34,6 +35,7 @@ module.exports = {
max_restarts: '1',
env: {
NODE_ENV: 'development',
NODE_OPTIONS: '--dns-result-order=ipv4first',
HOST: '0.0.0.0',
DB: 'mysql',
PATH,
@ -49,6 +51,7 @@ module.exports = {
max_restarts: '1',
env: {
NODE_ENV: 'development',
NODE_OPTIONS: '--dns-result-order=ipv4first',
HOST: '0.0.0.0',
DB: 'mysql',
PATH,

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

@ -4,14 +4,16 @@
"description": "Shared components for FxA React Apps",
"exports": {
"./components/": "./dist/components/",
"./configs/": "./configs/",
"./configs/tailwind": "./configs/tailwind.js",
"./configs/rescripts": "./configs/rescripts.js",
"./configs/storybooks": "./configs/storybooks.js",
"./images/": "./images/",
"./extract-imported-components": "./extract-imported-components.js",
"./lib/": "./dist/lib/"
},
"scripts": {
"build-css": "tailwindcss -i ./styles/tailwind.css -o ./styles/tailwind.out.css",
"build-storybook": "NODE_ENV=production npm run build-css && build-storybook",
"build-storybook": "NODE_ENV=production npm run build-css && NODE_OPTIONS=--openssl-legacy-provider build-storybook",
"build": "tsc --build && npm run merge-ftl",
"compile": "tsc --noEmit",
"clean": "git clean -fXd",
@ -22,7 +24,7 @@
"start": "yarn merge-ftl && pm2 start pm2.config.js",
"stop": "pm2 stop pm2.config.js",
"delete": "pm2 delete pm2.config.js",
"storybook": "yarn merge-ftl && npm run build-css && start-storybook -p 6007 --no-version-updates",
"storybook": "yarn merge-ftl && npm run build-css && NODE_OPTIONS=--openssl-legacy-provider start-storybook -p 6007 --no-version-updates",
"test": "yarn merge-ftl:test && JEST_JUNIT_OUTPUT_FILE=../../artifacts/tests/$npm_package_name/jest-unit.xml jest --coverage --runInBand --logHeapUsage --env=jest-environment-jsdom --ci --reporters=default --reporters=jest-junit ",
"test:unit": "yarn test",
"test:integration": "echo No integration tests present for $npm_package_name",
@ -61,7 +63,7 @@
"@types/classnames": "^2.3.1",
"@types/file-loader": "^5.0.0",
"@types/jest": "^26.0.23",
"@types/node": "^16.11.3",
"@types/node": "^18.14.2",
"@types/postcss-import": "^14",
"@types/prettier": "2.3.0",
"@types/react": "^17.0.14",

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

@ -6,8 +6,8 @@
"scripts": {
"postinstall": "../../_scripts/clone-legal-docs.sh fxa-settings",
"build-css": "tailwindcss -i ./src/styles/tailwind.css -o ./src/styles/tailwind.out.css --postcss",
"build-storybook": "NODE_ENV=production STORYBOOK_BUILD=1 yarn build-css && build-storybook",
"build": " tsc --build ../fxa-react && NODE_ENV=production yarn build-css && yarn merge-ftl && SKIP_PREFLIGHT_CHECK=true INLINE_RUNTIME_CHUNK=false rescripts build",
"build-storybook": "NODE_ENV=production STORYBOOK_BUILD=1 yarn build-css && NODE_OPTIONS=--openssl-legacy-provider build-storybook",
"build": " tsc --build ../fxa-react && NODE_ENV=production yarn build-css && yarn merge-ftl && SKIP_PREFLIGHT_CHECK=true INLINE_RUNTIME_CHUNK=false NODE_OPTIONS=--openssl-legacy-provider rescripts build",
"compile": "tsc --noEmit",
"clean": "git clean -fXd",
"eject": "react-scripts eject",
@ -19,7 +19,7 @@
"start": "yarn merge-ftl && npm run build-css && pm2 start pm2.config.js && ../../_scripts/check-url.sh localhost:3000/settings/static/js/bundle.js",
"stop": "pm2 stop pm2.config.js",
"delete": "pm2 delete pm2.config.js",
"storybook": "STORYBOOK_BUILD=1 npm run build-css && start-storybook -p 6008 --no-version-updates",
"storybook": "STORYBOOK_BUILD=1 npm run build-css && NODE_OPTIONS=--openssl-legacy-provider start-storybook -p 6008 --no-version-updates",
"test": "yarn merge-ftl:test && SKIP_PREFLIGHT_CHECK=true rescripts test --watchAll=false",
"test:watch": "yarn merge-ftl:test && SKIP_PREFLIGHT_CHECK=true rescripts test",
"test:coverage": "yarn test --coverage --watchAll=false",
@ -118,7 +118,7 @@
"@types/classnames": "^2.3.1",
"@types/jest": "^26.0.23",
"@types/lodash.groupby": "^4",
"@types/node": "^16.11.3",
"@types/node": "^18.14.2",
"@types/reach__router": "^1.3.11",
"@types/react": "^17.0.14",
"@types/react-dom": "^17.0.9",

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

@ -18,6 +18,7 @@ module.exports = {
env: {
SKIP_PREFLIGHT_CHECK: 'true',
NODE_ENV: 'development',
NODE_OPTIONS: '--openssl-legacy-provider --dns-result-order=ipv4first',
BROWSER: 'NONE',
PORT: '3000',
PATH,
@ -45,10 +46,10 @@ module.exports = {
'src/**/*.tsx',
path.normalize(
`${path.dirname(
require.resolve('fxa-react/configs/tailwind.js')
require.resolve('fxa-react/configs/tailwind')
)}/../styles`
),
require.resolve('fxa-react/configs/tailwind.js'),
require.resolve('fxa-react/configs/tailwind'),
],
ignore_watch: ['src/styles/tailwind.out.*'],
time: true,

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

@ -106,7 +106,7 @@
"@types/lodash.pick": "^4",
"@types/mocha": "^8.2.2",
"@types/mysql": "^2",
"@types/node": "^16.11.3",
"@types/node": "^18.14.2",
"@types/proxyquire": "^1.3.28",
"@types/sinon": "10.0.1",
"@types/superagent": "^4.1.11",

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

@ -6726,9 +6726,9 @@ __metadata:
linkType: hard
"@opentelemetry/api@npm:~1.4.0":
version: 1.4.0
resolution: "@opentelemetry/api@npm:1.4.0"
checksum: 8dc522194e20d2e8aa6cac155dbce19d3fc9cfac59e953ece1064158c6348ccd9560ee99d2f2381e82c2f8c9a129b57fa7b640027383315504de1fa712b6d7f1
version: 1.4.1
resolution: "@opentelemetry/api@npm:1.4.1"
checksum: e783c40d1a518abf9c4c5d65223237c1392cd9a6c53ac6e2c3ef0c05ff7266e3dfc4fd9874316dae0dcb7a97950878deb513bcbadfaad653d48f0215f2a0911b
languageName: node
linkType: hard
@ -7773,15 +7773,19 @@ __metadata:
languageName: node
linkType: hard
"@playwright/test@npm:^1.29.0":
version: 1.29.0
resolution: "@playwright/test@npm:1.29.0"
"@playwright/test@npm:^1.31.2":
version: 1.31.2
resolution: "@playwright/test@npm:1.31.2"
dependencies:
"@types/node": "*"
playwright-core: 1.29.0
fsevents: 2.3.2
playwright-core: 1.31.2
dependenciesMeta:
fsevents:
optional: true
bin:
playwright: cli.js
checksum: ff7bd88c805348b80d28cd4d39ed31a3f2d645c5b87e791e49bf8ca60ec6d3e1db646ed351536d0f8c05902cca940c86f23dc5d37c1acaab994369a2ce2707f6
checksum: 5459ee0ce15b9a54337f4c26e2ee2d29c11e67e6207c167158eb180a4bea6659c988a2897f51dbebf591fc879f0d81f417e70936b9d8a001448c957939882588
languageName: node
linkType: hard
@ -12563,10 +12567,10 @@ __metadata:
languageName: node
linkType: hard
"@types/node@npm:^16.11.3":
version: 16.11.3
resolution: "@types/node@npm:16.11.3"
checksum: 65682d01d2c10b9658d9b3c160ae72f0b2d626d7d02459434b21a9476518dbab38c852586c160a7a10f7e4271266e11001dd9fa605b4c7a53d3c0c045eaf4a65
"@types/node@npm:^18.14.2":
version: 18.14.6
resolution: "@types/node@npm:18.14.6"
checksum: 2f88f482cabadc6dbddd627a1674239e68c3c9beab56eb4ae2309fb96fd17fc3a509d99b0309bafe13b58529574f49ecf3a583f2ebe2896dd32fe4be436dc96e
languageName: node
linkType: hard
@ -15922,8 +15926,8 @@ __metadata:
linkType: hard
"aws-sdk@npm:^2.1334.0":
version: 2.1334.0
resolution: "aws-sdk@npm:2.1334.0"
version: 2.1335.0
resolution: "aws-sdk@npm:2.1335.0"
dependencies:
buffer: 4.9.2
events: 1.1.1
@ -15935,7 +15939,7 @@ __metadata:
util: ^0.12.4
uuid: 8.0.0
xml2js: 0.4.19
checksum: 776d85b2e6cf4172b7c6f0a18415ebe6649b3def36daacf577f923498737c0fe4e99990b6001852d2557937c18e5c68fda299225afe65bf5415faeb6066cc724
checksum: 4cb8c3d224d6970ef377d814ba4da06e4d7791f3d2103aa0a6ee8b9f33fc3abb3642ecae82e29857dfd0b1bbd9eb08855c1861d71568299a3a39b8ec11e78e58
languageName: node
linkType: hard
@ -25549,7 +25553,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"fsevents@^2.1.2, fsevents@^2.1.3, fsevents@^2.3.2, fsevents@~2.3.2":
"fsevents@^2.1.2, fsevents@^2.1.3, fsevents@^2.3.2, fsevents@npm:2.3.2, fsevents@~2.3.2":
version: 2.3.2
resolution: "fsevents@npm:2.3.2"
dependencies:
@ -25559,6 +25563,15 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"fsevents@patch:fsevents@2.3.2#~builtin<compat/fsevents>, fsevents@patch:fsevents@^2.1.2#~builtin<compat/fsevents>, fsevents@patch:fsevents@^2.1.3#~builtin<compat/fsevents>, fsevents@patch:fsevents@^2.3.2#~builtin<compat/fsevents>, fsevents@patch:fsevents@~2.3.2#~builtin<compat/fsevents>":
version: 2.3.2
resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=df0bf1"
dependencies:
node-gyp: latest
conditions: os=darwin
languageName: node
linkType: hard
"fsevents@patch:fsevents@^1.2.7#~builtin<compat/fsevents>":
version: 1.2.13
resolution: "fsevents@patch:fsevents@npm%3A1.2.13#~builtin<compat/fsevents>::version=1.2.13&hash=d11327"
@ -25569,15 +25582,6 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
"fsevents@patch:fsevents@^2.1.2#~builtin<compat/fsevents>, fsevents@patch:fsevents@^2.1.3#~builtin<compat/fsevents>, fsevents@patch:fsevents@^2.3.2#~builtin<compat/fsevents>, fsevents@patch:fsevents@~2.3.2#~builtin<compat/fsevents>":
version: 2.3.2
resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=df0bf1"
dependencies:
node-gyp: latest
conditions: os=darwin
languageName: node
linkType: hard
"fsevents@patch:fsevents@~2.1.1#~builtin<compat/fsevents>":
version: 2.1.2
resolution: "fsevents@patch:fsevents@npm%3A2.1.2#~builtin<compat/fsevents>::version=2.1.2&hash=31d12a"
@ -25655,14 +25659,14 @@ fsevents@~2.1.1:
version: 0.0.0-use.local
resolution: "functional-tests@workspace:packages/functional-tests"
dependencies:
"@playwright/test": ^1.29.0
"@playwright/test": ^1.31.2
"@types/upng-js": ^2
fxa-auth-client: "workspace:*"
fxa-content-server: "workspace:*"
fxa-payments-server: "workspace:*"
fxa-settings: "workspace:*"
jsqr: ^1.4.0
playwright: ^1.29.0
playwright: ^1.31.2
upng-js: ^2.1.0
languageName: unknown
linkType: soft
@ -25764,7 +25768,7 @@ fsevents@~2.1.1:
"@nestjs/platform-express": ^9.2.0
"@types/chance": ^1.1.2
"@types/convict": ^6.1.1
"@types/node": ^16.11.3
"@types/node": ^18.14.2
"@types/pem-jwk": ^2
"@types/supertest": ^2.0.11
"@types/yargs": ^17.0.0
@ -25810,7 +25814,7 @@ fsevents@~2.1.1:
"@types/assert": ^1.5.4
"@types/fast-text-encoding": ^1
"@types/mocha": ^8
"@types/node": ^16.11.3
"@types/node": ^18.14.2
"@types/node-fetch": ^2.5.7
abab: ^2.0.6
abort-controller: ^3.0.0
@ -25866,7 +25870,7 @@ fsevents@~2.1.1:
"@types/mjml": ^4.7.0
"@types/mocha": ^8.2.2
"@types/nock": ^11.1.0
"@types/node": ^16.11.3
"@types/node": ^18.14.2
"@types/node-zendesk": ^2.0.2
"@types/nodemailer": ^6.4.2
"@types/request": 2.48.5
@ -26251,7 +26255,7 @@ fsevents@~2.1.1:
"@types/convict": ^5.2.2
"@types/express": ^4.17.12
"@types/jest": ^26.0.23
"@types/node": ^16.11.3
"@types/node": ^18.14.2
"@types/passport": ^1.0.6
"@types/passport-jwt": ^3.0.5
"@types/rimraf": 3.0.0
@ -26348,7 +26352,7 @@ fsevents@~2.1.1:
"@types/graphql-upload": ^8.0.5
"@types/ioredis": ^4.26.4
"@types/jest": ^29.2.5
"@types/node": ^16.11.3
"@types/node": ^18.14.2
"@types/passport": ^1.0.6
"@types/passport-http-bearer": ^1.0.36
"@types/superagent": 4.1.11
@ -26459,7 +26463,7 @@ fsevents@~2.1.1:
"@types/jest": ^26.0.23
"@types/jsdom": ^16.2.11
"@types/nock": ^11.1.0
"@types/node": ^16.11.3
"@types/node": ^18.14.2
"@types/postcss-import": ^12
"@types/react": ^17.0.14
"@types/react-dom": ^17.0.9
@ -26615,7 +26619,7 @@ fsevents@~2.1.1:
"@types/classnames": ^2.3.1
"@types/file-loader": ^5.0.0
"@types/jest": ^26.0.23
"@types/node": ^16.11.3
"@types/node": ^18.14.2
"@types/postcss-import": ^14
"@types/prettier": 2.3.0
"@types/react": ^17.0.14
@ -26688,7 +26692,7 @@ fsevents@~2.1.1:
"@types/jest": ^26.0.23
"@types/lodash.groupby": ^4
"@types/material-ui": ^0.21.8
"@types/node": ^16.11.3
"@types/node": ^18.14.2
"@types/reach__router": ^1.3.11
"@types/react": ^17.0.14
"@types/react-dom": ^17.0.9
@ -26793,7 +26797,7 @@ fsevents@~2.1.1:
"@types/lodash.pick": ^4
"@types/mocha": ^8.2.2
"@types/mysql": ^2
"@types/node": ^16.11.3
"@types/node": ^18.14.2
"@types/proxyquire": ^1.3.28
"@types/sinon": 10.0.1
"@types/superagent": ^4.1.11
@ -39514,23 +39518,23 @@ fsevents@~2.1.1:
languageName: node
linkType: hard
"playwright-core@npm:1.29.0":
version: 1.29.0
resolution: "playwright-core@npm:1.29.0"
"playwright-core@npm:1.31.2":
version: 1.31.2
resolution: "playwright-core@npm:1.31.2"
bin:
playwright: cli.js
checksum: 5e4b690b0b449ed27ab7f7d7c9bf778db53e6c6b37a8e7258fb070fe6e96f147ad5d66221a3953c9e4d0b2044b701c493d7a0708d7bdb6486e38a3518f62fdce
checksum: bf1257b7d80b9d027c99cbfa7ab9d47a2110ec804422b3e3d623bbb3c43e06df7bec4764ca1d852a6d62c76e35c8776efb19941f42ce738db9bc92e7f1b6281c
languageName: node
linkType: hard
"playwright@npm:^1.29.0":
version: 1.29.0
resolution: "playwright@npm:1.29.0"
"playwright@npm:^1.31.2":
version: 1.31.2
resolution: "playwright@npm:1.31.2"
dependencies:
playwright-core: 1.29.0
playwright-core: 1.31.2
bin:
playwright: cli.js
checksum: e3b7dcefde55e53d62fab26d8c069bf76c93e7a2572272ea4d19e4fb6aa7451d386541faedf1140ba45e3f69f3e37b510492f5433cfbe084d4020d61722e103e
checksum: da7a190275ca6ce14aee0ecf40307b46f014ecca4a5c1b103a308c4be6a03b0825b17721728a69c140654d124487ca35d2fc2d5558bade4969c9363e5b4bd290
languageName: node
linkType: hard
@ -44258,15 +44262,15 @@ resolve@^2.0.0-next.3:
linkType: hard
"sass@npm:^1.59.2":
version: 1.59.2
resolution: "sass@npm:1.59.2"
version: 1.59.3
resolution: "sass@npm:1.59.3"
dependencies:
chokidar: ">=3.0.0 <4.0.0"
immutable: ^4.0.0
source-map-js: ">=0.6.2 <2.0.0"
bin:
sass: sass.js
checksum: ab015ac49beb1252373023cc79b687aabd7850a7f450250b2fbe4eb3f64b0aef6759f8c7b33234221788a0e42cdd3999edfb5995218e474123b99cb126773e30
checksum: 839b5282cdf7d0ba3fdbfb605277dd584a8c40fa3e3e58ad905d64cd812acfb82ff0a4072d4981673db884ee61505472ff07c5c5a8a497f16ba013b183ba6473
languageName: node
linkType: hard
@ -45445,14 +45449,14 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
"source-map@npm:0.7.3, source-map@npm:^0.7.3":
"source-map@npm:0.7.3":
version: 0.7.3
resolution: "source-map@npm:0.7.3"
checksum: cd24efb3b8fa69b64bf28e3c1b1a500de77e84260c5b7f2b873f88284df17974157cc88d386ee9b6d081f08fdd8242f3fc05c953685a6ad81aad94c7393dedea
languageName: node
linkType: hard
"source-map@npm:0.7.4":
"source-map@npm:0.7.4, source-map@npm:^0.7.3":
version: 0.7.4
resolution: "source-map@npm:0.7.4"
checksum: 01cc5a74b1f0e1d626a58d36ad6898ea820567e87f18dfc9d24a9843a351aaa2ec09b87422589906d6ff1deed29693e176194dc88bcae7c9a852dc74b311dbf5