зеркало из https://github.com/mozilla/fxa.git
Merge pull request #14597 from mozilla/FXA-6344
task(ci): Use docker base images to run pipelines
This commit is contained in:
Коммит
4c14d3e2c2
|
@ -1,8 +1,43 @@
|
|||
#!/bin/bash -ex
|
||||
#!/bin/bash -e
|
||||
|
||||
DIR=$(dirname "$0")
|
||||
cd "$DIR/.."
|
||||
echo "Running base install!"
|
||||
echo " . Base commit reference: $(cat base_ref)"
|
||||
echo " . Current commit reference: $(git rev-parse HEAD)"
|
||||
echo " . Force yarn install: $FORCE_YARN_INSTALL \n"
|
||||
|
||||
yarn install --immutable
|
||||
node .circleci/modules-to-test.js | tee packages/test.list
|
||||
./_scripts/create-version-json.sh
|
||||
# Only run yarn install if there are changes in the lock file or the env, FORCE_YARN_INSTALL,
|
||||
# indicates a yarn install must be run. The file yarn.lock.base as well as node_modules and
|
||||
# the yarn cache are now part of the base docker image and represents the last known good state
|
||||
# of the main branch. If there is no change to the lock file, there is no point in rebuilding,
|
||||
# and we can use the last known good state.
|
||||
|
||||
if $FORCE_YARN_INSTALL == 'true'; then
|
||||
|
||||
# This is just here as safety net, in case we encounter an issue with base image state and
|
||||
# need to force an install.
|
||||
echo 'Forcing yarn install because FORCE_YARN_INSTALL == true.'
|
||||
set -x
|
||||
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 yarn install --immutable --inline-builds;
|
||||
|
||||
elif ! cmp --silent yarn.lock yarn.lock.base; then
|
||||
echo 'Changes detected on yarn.lock!'
|
||||
echo 'Note that pipelines execute faster if we can skip the yarn install step'
|
||||
echo 'which is possible when lock files are in sync with latest build from main.\n'
|
||||
echo 'Please consider rebasing on main, it may improve CI run times times!\n'
|
||||
|
||||
# There are a couple tricks here:
|
||||
# 1. Skip playwright browser install. We can do this because it's already been done in the base image. Installing
|
||||
# the browser introduces quite a bit of overhead.
|
||||
# 2. Add inline-builds. This prints out extra info about what is happening during the build step, this might provide
|
||||
# some insight into whether or not a build is repeatedly failing, or if an package is introducing a lot of overhead
|
||||
# during install.
|
||||
set -x
|
||||
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 yarn install --immutable --inline-builds;
|
||||
else
|
||||
echo 'No changes detected on yarn.lock! Skipping yarn install and running postinstall directly.\n'
|
||||
|
||||
# If we skip the yarn install, postinstall may still be needed on any workspace that have changed
|
||||
# since the base docker image was built.
|
||||
set -x
|
||||
yarn workspaces foreach --since=$(cat base_ref) -R run postinstall
|
||||
fi
|
||||
|
|
|
@ -1,48 +1,138 @@
|
|||
version: 2.1
|
||||
|
||||
parameters:
|
||||
docker-repo:
|
||||
type: string
|
||||
default: mozilla/fxa-circleci
|
||||
|
||||
orbs:
|
||||
browser-tools: circleci/browser-tools@1.2.3
|
||||
jira: circleci/jira@1.3.1
|
||||
|
||||
executors:
|
||||
content-server-executor:
|
||||
resource_class: large
|
||||
|
||||
# For creating docker builds
|
||||
docker-build-executor:
|
||||
parameters:
|
||||
resource_class:
|
||||
type: string
|
||||
default: medium
|
||||
image:
|
||||
type: string
|
||||
default: cimg/node:16.13
|
||||
resource_class: << parameters.resource_class >>
|
||||
docker:
|
||||
- image: cimg/node:16.13-browsers
|
||||
- image: << parameters.image >>
|
||||
environment:
|
||||
DOCKER_BUILDKIT: 1
|
||||
BUILDKIT_PROGRESS: plain
|
||||
# Note, the global cache is enabled, because otherwise two caches are created, one in .yarn/berry and one in .yarn/cache.
|
||||
# Turning this on results in a single cache - .yarn/berry
|
||||
YARN_ENABLE_GLOBAL_CACHE: true
|
||||
# Enabling hard links saves about 1.2 GB of space in the image.
|
||||
YARN_NM_MODE: hardlinks-global
|
||||
|
||||
# For any thing that does need context, ie linting, building, unit testing, etc...
|
||||
default-executor:
|
||||
parameters:
|
||||
resource_class:
|
||||
type: string
|
||||
default: medium
|
||||
resource_class: << parameters.resource_class >>
|
||||
docker:
|
||||
- image: << pipeline.parameters.docker-repo >>:ci-base-latest
|
||||
environment:
|
||||
NODE_ENV: development
|
||||
FIRESTORE_EMULATOR_HOST: localhost:9090
|
||||
|
||||
# For anything that needs a full stack to run
|
||||
fullstack-executor:
|
||||
parameters:
|
||||
resource_class:
|
||||
type: string
|
||||
default: medium+
|
||||
resource_class: << parameters.resource_class >>
|
||||
docker:
|
||||
- image: << pipeline.parameters.docker-repo >>:ci-base-latest
|
||||
- image: cimg/mysql:8.0.28
|
||||
command: --default-authentication-plugin=mysql_native_password
|
||||
- image: jdlk7/firestore-emulator
|
||||
- image: memcached
|
||||
- image: redis
|
||||
environment:
|
||||
NODE_ENV: development
|
||||
FIRESTORE_EMULATOR_HOST: localhost:9090
|
||||
|
||||
# For anything that needs a full stack to run and needs browsers available for
|
||||
# ui test automation
|
||||
functional-test-executor:
|
||||
parameters:
|
||||
resource_class:
|
||||
type: string
|
||||
default: xlarge
|
||||
resource_class: << parameters.resource_class >>
|
||||
docker:
|
||||
- image: << pipeline.parameters.docker-repo >>:ci-base-browsers-latest
|
||||
- image: redis
|
||||
- image: memcached
|
||||
- image: pafortin/goaws
|
||||
- image: cimg/mysql:8.0.28
|
||||
command: --default-authentication-plugin=mysql_native_password
|
||||
- image: jdlk7/firestore-emulator
|
||||
environment:
|
||||
NODE_ENV: dev
|
||||
FXA_EMAIL_ENV: dev
|
||||
FXA_EMAIL_LOG_LEVEL: debug
|
||||
RUST_BACKTRACE: 1
|
||||
AUTH_FIRESTORE_EMULATOR_HOST: localhost:9090
|
||||
TRACING_SERVICE_NAME: ci-content-server-executor
|
||||
TRACING_CONSOLE_EXPORTER_ENABLED: true
|
||||
environment:
|
||||
NODE_ENV: development
|
||||
FXA_EMAIL_ENV: development
|
||||
FXA_EMAIL_LOG_LEVEL: debug
|
||||
RUST_BACKTRACE: 1
|
||||
AUTH_FIRESTORE_EMULATOR_HOST: localhost:9090
|
||||
# Needed for sub plat playwright tests
|
||||
SUBSCRIPTIONS_PAYPAL_ENABLED: true
|
||||
PAYPAL_SANDBOX: true
|
||||
FXA_MX_RECORD_EXCLUSIONS: restmail.dev.lcip.org
|
||||
|
||||
commands:
|
||||
base-install:
|
||||
|
||||
# Note: Cloning this way allows us to run a git fetch later on download the road. This type of
|
||||
# clone operation will result in a .git/config with no user attached that is using a
|
||||
# https://github.com/mozilla/fxa for the remote origin.
|
||||
git-clone:
|
||||
steps:
|
||||
- run: git clone https://github.com/mozilla/fxa .
|
||||
- run: git checkout << pipeline.git.revision >>
|
||||
|
||||
# Note: Since we use a pre-populated base image that has a .git folder already present (see
|
||||
# comment above), running a fetch and checkout saves a considerable amount of time when compared
|
||||
# to a circleci `- checkout` command.
|
||||
git-checkout:
|
||||
steps:
|
||||
- run: git fetch
|
||||
- run: git checkout << pipeline.git.revision >>
|
||||
|
||||
# Note: We no longer cache in step. As long as packages used in the branch aren't that different
|
||||
# from the packages used in main, which is generally the case, we shouldn't see large install
|
||||
# times, since the base image will have everything cached.
|
||||
provision:
|
||||
steps:
|
||||
- run: ./.circleci/base-install.sh
|
||||
- run: node .circleci/modules-to-test.js | tee packages/test.list
|
||||
- run: ./_scripts/create-version-json.sh
|
||||
|
||||
cache-save-yarn:
|
||||
steps:
|
||||
- save_cache:
|
||||
key: fxa-yarn-07-{{ checksum "yarn.lock" }}
|
||||
paths:
|
||||
- /home/circleci/.yarn/berry
|
||||
- /home/circleci/project/.yarn/build-state.yml
|
||||
- /home/circleci/project/.yarn/install-state.gzs
|
||||
|
||||
cache-restore-yarn:
|
||||
steps:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
keys:
|
||||
# prefer the exact hash
|
||||
- fxa-yarn-cache-4-{{ checksum "yarn.lock" }}
|
||||
# any cache to start with is better than nothing
|
||||
- fxa-yarn-cache-4-
|
||||
- run: ./.circleci/base-install.sh
|
||||
- save_cache:
|
||||
key: fxa-yarn-cache-4-{{ checksum "yarn.lock" }}
|
||||
paths:
|
||||
- .yarn/cache
|
||||
- .yarn/build-state.yml
|
||||
- .yarn/install-state.gz
|
||||
- fxa-yarn-07-{{ checksum "yarn.lock" }}
|
||||
- fxa-yarn-07-
|
||||
|
||||
test-content-server-part:
|
||||
parameters:
|
||||
index:
|
||||
|
@ -52,11 +142,9 @@ commands:
|
|||
type: integer
|
||||
default: 6
|
||||
steps:
|
||||
- browser-tools/install-firefox:
|
||||
version: 102.4.0esr
|
||||
- browser-tools/install-geckodriver:
|
||||
version: v0.32.0
|
||||
- base-install
|
||||
- git-checkout
|
||||
- provision
|
||||
- wait-for-infrastructure
|
||||
- run:
|
||||
name: Running test section << parameters.index >> of << parameters.total >>
|
||||
environment:
|
||||
|
@ -74,11 +162,7 @@ commands:
|
|||
|
||||
test-settings-server:
|
||||
steps:
|
||||
- browser-tools/install-firefox:
|
||||
version: 102.4.0esr
|
||||
- browser-tools/install-geckodriver:
|
||||
version: v0.32.0
|
||||
- base-install
|
||||
- provision
|
||||
- run:
|
||||
name: Running test...
|
||||
command: ./.circleci/test-package.sh fxa-settings
|
||||
|
@ -91,27 +175,98 @@ commands:
|
|||
- store_test_results:
|
||||
path: artifacts/tests
|
||||
|
||||
wait-for-infrastructure:
|
||||
steps:
|
||||
- run:
|
||||
name: Wait for MySQL DB
|
||||
command: ./_scripts/check-mysql.sh
|
||||
|
||||
jobs:
|
||||
|
||||
deploy-packages:
|
||||
parameters:
|
||||
executor:
|
||||
type: executor
|
||||
executor: << parameters.executor >>
|
||||
steps:
|
||||
- checkout
|
||||
- cache-restore-yarn
|
||||
- provision
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: true
|
||||
- run:
|
||||
name: Build docker images
|
||||
command: ./.circleci/build-all.sh
|
||||
no_output_timeout: 1h
|
||||
- run:
|
||||
name: Push to docker hub
|
||||
command: ./.circleci/deploy-all.sh
|
||||
- store_artifacts:
|
||||
path: artifacts
|
||||
|
||||
# This deploys a base image of fxa that is useful for CI testing. Think of this image as
|
||||
# the last known good state of fxa. The image is designed to come with everything required
|
||||
# to spin up tests pipelines quickly.
|
||||
deploy-fxa-ci-image:
|
||||
parameters:
|
||||
executor:
|
||||
type: executor
|
||||
executor: << parameters.executor >>
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: true
|
||||
- git-clone
|
||||
- cache-restore-yarn
|
||||
- run:
|
||||
name: Build docker fxa ci image
|
||||
command: docker build . -f ./_dev/docker/ci-base/Dockerfile -t ci-base-latest
|
||||
- deploy:
|
||||
name: Push fxa ci image
|
||||
command: |
|
||||
docker login -u $DOCKER_USER_fxa_circleci -p $DOCKER_PASS_fxa_circleci
|
||||
docker tag ci-base-latest << pipeline.parameters.docker-repo >>:ci-base-latest
|
||||
docker push << pipeline.parameters.docker-repo >>:ci-base-latest
|
||||
|
||||
# This deploys another base image. It's built on top of the image produced above. This
|
||||
# image has all the libraries needed for running UI tests automation in headless browsers.
|
||||
deploy-fxa-ci-browser-image:
|
||||
parameters:
|
||||
executor:
|
||||
type: executor
|
||||
executor: << parameters.executor >>
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: true
|
||||
- browser-tools/install-firefox:
|
||||
version: 102.4.0esr
|
||||
- browser-tools/install-geckodriver:
|
||||
version: v0.32.0
|
||||
- git-clone
|
||||
- cache-restore-yarn
|
||||
# Copies the browsers the browsers that were installed above into a location accessible to the
|
||||
# docker build.
|
||||
- run: mkdir -p /home/circleci/project/install
|
||||
- run: cp -r /usr/local/bin/firefox* /home/circleci/project/install/.
|
||||
- run: cp -r /usr/local/bin/gecko* /home/circleci/project/install/.
|
||||
- run:
|
||||
name: Build docker fxa ci image
|
||||
command: docker build . -f ./_dev/docker/ci-browsers/Dockerfile -t ci-base-browsers-latest
|
||||
- deploy:
|
||||
name: Push fxa ci image
|
||||
command: |
|
||||
docker login -u $DOCKER_USER_fxa_circleci -p $DOCKER_PASS_fxa_circleci
|
||||
docker tag ci-base-browsers-latest << pipeline.parameters.docker-repo >>:ci-base-browsers-latest
|
||||
docker push << pipeline.parameters.docker-repo >>:ci-base-browsers-latest
|
||||
|
||||
test-package:
|
||||
resource_class: medium+
|
||||
docker:
|
||||
- image: cimg/node:16.13
|
||||
- image: redis
|
||||
- image: memcached
|
||||
- image: pafortin/goaws
|
||||
- image: cimg/mysql:8.0.28
|
||||
command: --default-authentication-plugin=mysql_native_password
|
||||
- image: jdlk7/firestore-emulator
|
||||
environment:
|
||||
NODE_ENV: dev
|
||||
FIRESTORE_EMULATOR_HOST: localhost:9090
|
||||
TRACING_SERVICE_NAME: ci-test-package
|
||||
TRACING_CONSOLE_EXPORTER_ENABLED: true
|
||||
executor: fullstack-executor
|
||||
parameters:
|
||||
package:
|
||||
type: string
|
||||
steps:
|
||||
- base-install
|
||||
- git-checkout
|
||||
- provision
|
||||
- wait-for-infrastructure
|
||||
- run:
|
||||
name: Testing << parameters.package >>
|
||||
command: ./.circleci/test-package.sh << parameters.package >>
|
||||
|
@ -122,14 +277,9 @@ jobs:
|
|||
command: bash <(curl -s https://codecov.io/bash) -F << parameters.package >> -X gcov
|
||||
|
||||
lint:
|
||||
resource_class: medium+
|
||||
docker:
|
||||
- image: cimg/node:16.13
|
||||
environment:
|
||||
TRACING_SERVICE_NAME: ci-lint
|
||||
TRACING_CONSOLE_EXPORTER_ENABLED: true
|
||||
executor: default-executor
|
||||
steps:
|
||||
- base-install
|
||||
- git-checkout
|
||||
- run:
|
||||
name: Linting
|
||||
command: |
|
||||
|
@ -143,22 +293,11 @@ jobs:
|
|||
- jira/notify
|
||||
|
||||
test-many:
|
||||
resource_class: medium+
|
||||
docker:
|
||||
- image: cimg/node:16.13
|
||||
- image: cimg/mysql:8.0.28
|
||||
command: --default-authentication-plugin=mysql_native_password
|
||||
- image: jdlk7/firestore-emulator
|
||||
- image: memcached
|
||||
- image: redis
|
||||
environment:
|
||||
TRACING_SERVICE_NAME: ci-test-many
|
||||
TRACING_CONSOLE_EXPORTER_ENABLED: true
|
||||
executor: fullstack-executor
|
||||
steps:
|
||||
- base-install
|
||||
- run:
|
||||
name: Compiling back-end Typescript services...
|
||||
command: ./_scripts/compile-backend-ts-services.sh
|
||||
- git-checkout
|
||||
- provision
|
||||
- wait-for-infrastructure
|
||||
- run:
|
||||
name: Testing...
|
||||
command: |
|
||||
|
@ -190,96 +329,59 @@ jobs:
|
|||
- jira/notify
|
||||
|
||||
test-settings-server:
|
||||
executor: content-server-executor
|
||||
executor: functional-test-executor
|
||||
steps:
|
||||
- git-checkout
|
||||
- provision
|
||||
- wait-for-infrastructure
|
||||
- test-settings-server
|
||||
|
||||
test-content-server-0:
|
||||
executor: content-server-executor
|
||||
executor: functional-test-executor
|
||||
steps:
|
||||
- test-content-server-part:
|
||||
index: 0
|
||||
|
||||
test-content-server-1:
|
||||
executor: content-server-executor
|
||||
executor: functional-test-executor
|
||||
steps:
|
||||
- test-content-server-part:
|
||||
index: 1
|
||||
|
||||
test-content-server-2:
|
||||
executor: content-server-executor
|
||||
executor: functional-test-executor
|
||||
steps:
|
||||
- test-content-server-part:
|
||||
index: 2
|
||||
|
||||
test-content-server-3:
|
||||
executor: content-server-executor
|
||||
executor: functional-test-executor
|
||||
steps:
|
||||
- test-content-server-part:
|
||||
index: 3
|
||||
|
||||
test-content-server-4:
|
||||
executor: content-server-executor
|
||||
executor: functional-test-executor
|
||||
steps:
|
||||
- test-content-server-part:
|
||||
index: 4
|
||||
|
||||
test-content-server-5:
|
||||
executor: content-server-executor
|
||||
executor: functional-test-executor
|
||||
steps:
|
||||
- test-content-server-part:
|
||||
index: 5
|
||||
|
||||
deploy-fxa-ci-image:
|
||||
resource_class: small
|
||||
docker:
|
||||
- image: cimg/node:16.13
|
||||
environment:
|
||||
DOCKER_BUILDKIT: 1
|
||||
steps:
|
||||
- checkout
|
||||
- setup_remote_docker:
|
||||
version: 18.09.3
|
||||
docker_layer_caching: true
|
||||
- run:
|
||||
name: Build docker fxa ci image
|
||||
command: docker build . -f ./_dev/docker/ci/Dockerfile -t fxa-circleci
|
||||
- deploy:
|
||||
name: Push fxa ci image
|
||||
command: |
|
||||
docker login -u $DOCKER_USER_fxa_circleci -p $DOCKER_PASS_fxa_circleci
|
||||
docker tag fxa-circleci mozilla/fxa-circleci:ci-latest
|
||||
docker push mozilla/fxa-circleci:ci-latest
|
||||
|
||||
deploy-packages:
|
||||
resource_class: small
|
||||
docker:
|
||||
- image: cimg/node:16.13
|
||||
environment:
|
||||
DOCKER_BUILDKIT: 1
|
||||
steps:
|
||||
- base-install
|
||||
- setup_remote_docker:
|
||||
version: 18.09.3
|
||||
docker_layer_caching: true
|
||||
- run:
|
||||
name: Build docker images
|
||||
command: ./.circleci/build-all.sh
|
||||
no_output_timeout: 1h
|
||||
- run:
|
||||
name: Push to docker hub
|
||||
command: ./.circleci/deploy-all.sh
|
||||
- store_artifacts:
|
||||
path: artifacts
|
||||
|
||||
# This job is manually triggered for now. see .circleci/README.md
|
||||
test-content-server-remote:
|
||||
resource_class: large
|
||||
docker:
|
||||
# using the old image until we know why the orb is broken with manual jobs
|
||||
- image: mozilla/fxa-circleci
|
||||
parameters:
|
||||
executor:
|
||||
type: executor
|
||||
executor: << parameters.executor >>
|
||||
steps:
|
||||
- base-install
|
||||
- git-checkout
|
||||
- provision
|
||||
- wait-for-infrastructure
|
||||
- run:
|
||||
name: Running test section against a remote target
|
||||
command: ./packages/fxa-content-server/scripts/test-ci-remote.sh
|
||||
|
@ -291,14 +393,10 @@ jobs:
|
|||
|
||||
# This job is manually triggered for now. see .circleci/README.md
|
||||
production-smoke-tests:
|
||||
resource_class: medium+
|
||||
docker:
|
||||
- image: mcr.microsoft.com/playwright:v1.28.0-focal
|
||||
executor: default-executor
|
||||
steps:
|
||||
- base-install
|
||||
- run:
|
||||
name: Install playwright
|
||||
command: npx playwright install --with-deps
|
||||
- git-checkout
|
||||
- provision
|
||||
- run:
|
||||
name: Running smoke tests
|
||||
command: yarn workspace functional-tests test-production
|
||||
|
@ -308,33 +406,17 @@ jobs:
|
|||
path: artifacts/tests
|
||||
|
||||
playwright-functional-tests:
|
||||
resource_class: xlarge
|
||||
executor: functional-test-executor
|
||||
parallelism: 5
|
||||
docker:
|
||||
- image: mcr.microsoft.com/playwright:v1.28.0-focal
|
||||
- image: redis
|
||||
- image: memcached
|
||||
- image: cimg/mysql:8.0.28
|
||||
command: --default-authentication-plugin=mysql_native_password
|
||||
- image: jdlk7/firestore-emulator
|
||||
environment:
|
||||
NODE_ENV: dev
|
||||
TRACING_SERVICE_NAME: ci-playwright-functional-tests
|
||||
TRACING_CONSOLE_EXPORTER_ENABLED: true
|
||||
SUBSCRIPTIONS_PAYPAL_ENABLED: true
|
||||
PAYPAL_SANDBOX: true
|
||||
steps:
|
||||
# needed by check-mysql.sh
|
||||
- run: apt-get update && apt-get install -y netcat
|
||||
- base-install
|
||||
- run:
|
||||
name: Install playwright
|
||||
command: npx playwright install --with-deps
|
||||
- git-checkout
|
||||
- provision
|
||||
- run:
|
||||
name: Add localhost
|
||||
command: |
|
||||
tee -a /etc/hosts \<<<'127.0.0.1 localhost'
|
||||
cat /etc/hosts
|
||||
sudo tee -a /etc/hosts \<<<'127.0.0.1 localhost'
|
||||
sudo cat /etc/hosts
|
||||
- wait-for-infrastructure
|
||||
- run:
|
||||
name: Running playwright tests
|
||||
command: ./packages/functional-tests/scripts/test-ci.sh
|
||||
|
@ -347,16 +429,22 @@ jobs:
|
|||
path: artifacts/tests
|
||||
|
||||
build-and-deploy-storybooks:
|
||||
resource_class: medium
|
||||
docker:
|
||||
- image: cimg/node:16.13
|
||||
executor: default-executor
|
||||
steps:
|
||||
- base-install
|
||||
- git-checkout
|
||||
- provision
|
||||
- run:
|
||||
name: Build and deploy Storybooks
|
||||
command: npx github:mozilla-fxa/storybook-gcp-publisher
|
||||
|
||||
update-yarn-cache:
|
||||
executor: default-executor
|
||||
steps:
|
||||
- cache-save-yarn
|
||||
|
||||
|
||||
workflows:
|
||||
|
||||
test_pull_request:
|
||||
jobs:
|
||||
- lint:
|
||||
|
@ -365,18 +453,21 @@ workflows:
|
|||
ignore: main
|
||||
tags:
|
||||
ignore: /.*/
|
||||
|
||||
- test-many:
|
||||
filters:
|
||||
branches:
|
||||
ignore: main
|
||||
tags:
|
||||
ignore: /.*/
|
||||
|
||||
- test-settings-server:
|
||||
filters:
|
||||
branches:
|
||||
ignore: main
|
||||
tags:
|
||||
ignore: /.*/
|
||||
|
||||
- test-package:
|
||||
name: test-auth-server
|
||||
package: fxa-auth-server
|
||||
|
@ -385,6 +476,7 @@ workflows:
|
|||
ignore: main
|
||||
tags:
|
||||
ignore: /.*/
|
||||
|
||||
- test-content-server-0:
|
||||
filters:
|
||||
branches:
|
||||
|
@ -421,21 +513,25 @@ workflows:
|
|||
ignore: main
|
||||
tags:
|
||||
ignore: /.*/
|
||||
|
||||
- playwright-functional-tests:
|
||||
filters:
|
||||
branches:
|
||||
ignore: main
|
||||
tags:
|
||||
ignore: /.*/
|
||||
|
||||
- build-and-deploy-storybooks:
|
||||
filters:
|
||||
branches:
|
||||
ignore: main
|
||||
tags:
|
||||
ignore: /.*/
|
||||
|
||||
deploy_branch:
|
||||
jobs:
|
||||
- deploy-packages:
|
||||
executor: docker-build-executor
|
||||
filters:
|
||||
branches:
|
||||
only:
|
||||
|
@ -446,6 +542,20 @@ workflows:
|
|||
ignore: /.*/
|
||||
|
||||
- deploy-fxa-ci-image:
|
||||
executor: docker-build-executor
|
||||
filters:
|
||||
branches:
|
||||
only:
|
||||
- main
|
||||
tags:
|
||||
ignore: /.*/
|
||||
|
||||
- deploy-fxa-ci-browser-image:
|
||||
requires:
|
||||
- deploy-fxa-ci-image
|
||||
executor:
|
||||
name: docker-build-executor
|
||||
image: cimg/node:16.13-browsers
|
||||
filters:
|
||||
branches:
|
||||
only:
|
||||
|
@ -454,11 +564,15 @@ workflows:
|
|||
ignore: /.*/
|
||||
|
||||
- build-and-deploy-storybooks:
|
||||
filters:
|
||||
branches:
|
||||
only: main
|
||||
tags:
|
||||
ignore: /.*/
|
||||
requires:
|
||||
- deploy-fxa-ci-image
|
||||
|
||||
# Once the base image is deployed, go ahead and cache the yarn's state. This will save
|
||||
# us some time on the next build
|
||||
- update-yarn-cache:
|
||||
requires:
|
||||
- deploy-fxa-ci-image
|
||||
|
||||
test_and_deploy_tag:
|
||||
jobs:
|
||||
- lint:
|
||||
|
@ -518,6 +632,7 @@ workflows:
|
|||
tags:
|
||||
only: /.*/
|
||||
- deploy-packages:
|
||||
executor: docker-build-executor
|
||||
filters:
|
||||
branches:
|
||||
ignore: /.*/
|
||||
|
|
|
@ -16,7 +16,7 @@ if grep -e "$MODULE" -e 'all' "$DIR/../packages/test.list" > /dev/null; then
|
|||
time ./scripts/test-ci.sh
|
||||
else
|
||||
# default action
|
||||
time (yarn workspaces focus "$MODULE" && yarn test)
|
||||
time (yarn workspaces focus "$MODULE" && NODE_ENV=test yarn test)
|
||||
fi
|
||||
else
|
||||
echo -e "\n###################################"
|
||||
|
|
|
@ -69,6 +69,7 @@ Thumbs.db
|
|||
|
||||
# Yarn
|
||||
.yarn/cache
|
||||
.yarn/berry
|
||||
.yarn/build-state.yml
|
||||
.yarn/install-state.gz
|
||||
|
||||
|
@ -143,3 +144,7 @@ packages/fxa-react/test/
|
|||
packages/fxa-settings/fxa-content-server-l10n/
|
||||
packages/fxa-settings/public/locales
|
||||
packages/fxa-settings/test/
|
||||
|
||||
Library
|
||||
.node
|
||||
process.yml
|
||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -1,3 +1,7 @@
|
|||
enableGlobalCache: true
|
||||
|
||||
nmMode: hardlinks-global
|
||||
|
||||
nodeLinker: node-modules
|
||||
|
||||
packageExtensions:
|
||||
|
@ -18,4 +22,4 @@ plugins:
|
|||
- path: .yarn/plugins/@yarnpkg/plugin-outdated.cjs
|
||||
spec: "https://mskelton.dev/yarn-outdated/v2"
|
||||
|
||||
yarnPath: .yarn/releases/yarn-3.1.1.cjs
|
||||
yarnPath: .yarn/releases/yarn-3.3.0.cjs
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
FROM cimg/node:16.13
|
||||
|
||||
ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
||||
ENV YARN_CHECKSUM_BEHAVIOR=throw
|
||||
ENV FXA_AUTO_INSTALL=0
|
||||
|
||||
COPY --chown=circleci:circleci . .
|
||||
|
||||
RUN git rev-parse HEAD > base_ref; \
|
||||
cp yarn.lock yarn.lock.base; \
|
||||
yarn install --immutable; \
|
||||
yarn workspace fxa-shared build; \
|
||||
yarn workspace fxa-auth-client build;
|
|
@ -0,0 +1,8 @@
|
|||
.vscode
|
||||
.DS_Store
|
||||
node_modules
|
||||
_dev/docker
|
||||
packages/fxa-auth-server/.mail_output
|
||||
**/docs
|
||||
!packages/fxa-auth-server/docs/swagger
|
||||
!packages/fxa-customs-server/docs/swagger
|
|
@ -0,0 +1,18 @@
|
|||
FROM mozilla/fxa-circleci:ci-base-latest
|
||||
# Empty pull. This has the latest and greatest from fxa.
|
||||
|
||||
FROM cimg/node:16.13-browsers
|
||||
|
||||
ENV FXA_AUTO_INSTALL=0
|
||||
|
||||
# Install playwright browsers
|
||||
# One of the biggest culprits of slow install times is playwright since it downloads browser binaries
|
||||
RUN yarn global add playwright; \
|
||||
rm -rf /home/circleci/.cache/ms-playwright/webkit*; \
|
||||
rm -rf /home/circleci/.cache/ms-playwright/chromium*;
|
||||
|
||||
# Copy over the installed browsers
|
||||
COPY --chown=circleci:circleci ./install /usr/local/bin/.
|
||||
|
||||
# Copy over the source from the ci-base-latest tag.
|
||||
COPY --chown=circleci:circleci --from=0 /home/circleci/project .
|
|
@ -0,0 +1,13 @@
|
|||
# This is probably not useful for the majority of users; however, it maybe helpful in the
|
||||
# event you are on a system plagued by checksum mismatches as described here:
|
||||
# - https://github.com/yarnpkg/berry/issues/2399
|
||||
#
|
||||
# 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
|
||||
|
||||
COPY . .
|
||||
RUN sudo yarn cache clear --all
|
||||
RUN sudo YARN_CHECKSUM_BEHAVIOR=update yarn install --mode=skip-build
|
||||
CMD set +x && sudo cat yarn.lock
|
|
@ -0,0 +1,9 @@
|
|||
*
|
||||
!.yarn/releases
|
||||
!.yarn/plugins
|
||||
!yarn.lock
|
||||
!.yarnrc.yml
|
||||
!package.json
|
||||
!packages
|
||||
packages/*/*
|
||||
!packages/*/package.json
|
|
@ -1,12 +0,0 @@
|
|||
FROM cimg/node:16.3
|
||||
|
||||
# Copy over app code
|
||||
COPY --chown=circleci:circleci . /fxa
|
||||
WORKDIR /fxa
|
||||
|
||||
# Do a yarn install and make backup of yarn lock file.
|
||||
# RUN yarn install && cp yarn.lock yarn.lock.base
|
||||
|
||||
# Remove unneeded files
|
||||
RUN find . -regextype egrep ! -regex '.*(\.|\.\.|packages|node_modules).*' -type d -exec rm -rf {} +;
|
||||
RUN for d in ./packages/*/ ; do find $d -regextype egrep ! -regex '.*(dist|node_modules|fxa-content-server-l10n).*' -type d -exec rm -rf {} +; done;
|
|
@ -18,7 +18,8 @@
|
|||
"ports": "pm2 jlist | json -a -c 'this.pm2_env.env.PORT' pm2_env.env.PORT name",
|
||||
"heroku-postbuild": "yarn workspaces foreach --verbose --include 123done install",
|
||||
"mysql": "docker exec -it $(docker container ls | grep mysql | cut -d' ' -f1) mysql",
|
||||
"firefox": "./packages/fxa-dev-launcher/bin/fxa-dev-launcher.mjs"
|
||||
"firefox": "./packages/fxa-dev-launcher/bin/fxa-dev-launcher.mjs",
|
||||
"generate-lockfile": "docker build . -f _dev/docker/ci-lockfile-generator/Dockerfile -t generate-lockfile && docker run generate-lockfile > yarn.lock"
|
||||
},
|
||||
"homepage": "https://github.com/mozilla/fxa",
|
||||
"bugs": {
|
||||
|
@ -108,5 +109,5 @@
|
|||
"underscore": ">=1.13.2",
|
||||
"url-parse": "^1.5.8"
|
||||
},
|
||||
"packageManager": "yarn@3.1.1"
|
||||
"packageManager": "yarn@3.3.0"
|
||||
}
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
|
||||
yarn workspaces focus fxa-admin-panel
|
||||
yarn build
|
||||
yarn test
|
||||
NODE_ENV=test yarn test
|
||||
|
|
|
@ -35,6 +35,6 @@
|
|||
"fast-text-encoding": "^1.0.4",
|
||||
"mocha": "^10.0.0",
|
||||
"typescript": "^4.9.3",
|
||||
"webcrypto-liner": "https://github.com/mozilla-fxa/webcrypto-liner.git#6b3ad971b3b1f0d4da3855c6ceee9b3afa9f0eeb"
|
||||
"webcrypto-liner": "https://github.com/mozilla-fxa/webcrypto-liner.git#30d4ecdfbbe33535ad43f31bf3f0407edce543a3"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
"moment-timezone": "^0.5.35",
|
||||
"mozlog": "^3.0.2",
|
||||
"mysql": "^2.18.1",
|
||||
"node-uap": "https://github.com/mozilla-fxa/node-uap.git#96dc1f9f224422ec184395b6408cd1fc40ee452a",
|
||||
"node-uap": "https://github.com/mozilla-fxa/node-uap.git#494714db3e65a4dbfae772f536c8697269174574",
|
||||
"node-zendesk": "^2.2.0",
|
||||
"nodemailer": "^6.7.3",
|
||||
"otplib": "^11.0.1",
|
||||
|
|
|
@ -17,7 +17,15 @@ node -r esbuild-register ./scripts/oauth_gen_keys.js
|
|||
../../_scripts/check-url.sh localhost:9090
|
||||
node ../db-migrations/bin/patcher.mjs
|
||||
|
||||
# Make sure we have a fresh version of l10n files... This is just a sanity check. It shouldn't be needed...
|
||||
# rm -rf public
|
||||
# yarn run postinstall
|
||||
|
||||
# Migrate current strings
|
||||
yarn run merge-ftl
|
||||
yarn run merge-ftl:test
|
||||
|
||||
# Process sass for rendering of email templates
|
||||
yarn run emails-scss
|
||||
|
||||
TESTS=(local oauth remote scripts)
|
||||
|
|
|
@ -136,7 +136,7 @@
|
|||
"ua-parser-js": "1.0.2",
|
||||
"underscore": "^1.13.1",
|
||||
"verror": "1.10.1",
|
||||
"webcrypto-liner": "https://github.com/mozilla-fxa/webcrypto-liner.git#6b3ad971b3b1f0d4da3855c6ceee9b3afa9f0eeb",
|
||||
"webcrypto-liner": "https://github.com/mozilla-fxa/webcrypto-liner.git#30d4ecdfbbe33535ad43f31bf3f0407edce543a3",
|
||||
"webpack": "^4.41.2",
|
||||
"webpack-cli": "^4.10.0"
|
||||
},
|
||||
|
|
|
@ -19,6 +19,7 @@ mkdir -p config
|
|||
cp ../version.json ./
|
||||
cp ../version.json config
|
||||
|
||||
# TODO: Move this to build-lint phase
|
||||
yarn lint
|
||||
|
||||
cd ../../
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
yarn workspaces focus fxa-event-broker
|
||||
yarn test --runInBand
|
||||
yarn test --runInBand
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash -ex
|
||||
|
||||
yarn workspaces focus fxa-react
|
||||
CI=yes yarn test
|
||||
CI=yes NODE_ENV=test yarn test
|
||||
|
|
|
@ -105,8 +105,10 @@
|
|||
"@types/jest": "^26.0.23",
|
||||
"@types/lodash.groupby": "^4",
|
||||
"@types/node": "^16.11.3",
|
||||
"@types/reach__router": "^1.3.11",
|
||||
"@types/react": "^17.0.14",
|
||||
"@types/react-dom": "^17.0.9",
|
||||
"@types/react-router": "^5.1.19",
|
||||
"@types/react-test-renderer": "^17.0.1",
|
||||
"@types/testing-library__react-hooks": "^4",
|
||||
"@types/uuid": "^8",
|
||||
|
|
|
@ -4,8 +4,9 @@ DIR=$(dirname "$0")
|
|||
|
||||
cd "$DIR/.."
|
||||
|
||||
# yarn workspaces focus fxa-settings
|
||||
yarn build
|
||||
SKIP_PREFLIGHT_CHECK=true yarn test --coverage --watchAll=false
|
||||
NODE_ENV=test SKIP_PREFLIGHT_CHECK=true yarn test --coverage --watchAll=false
|
||||
|
||||
mkdir -p config
|
||||
|
||||
|
|
|
@ -185,7 +185,7 @@
|
|||
"moment": "^2.29.4",
|
||||
"mozlog": "^3.0.2",
|
||||
"mysql": "^2.18.1",
|
||||
"node-uap": "https://github.com/mozilla-fxa/node-uap.git#96dc1f9f224422ec184395b6408cd1fc40ee452a",
|
||||
"node-uap": "https://github.com/mozilla-fxa/node-uap.git#494714db3e65a4dbfae772f536c8697269174574",
|
||||
"objection": "^2.2.17",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
"rxjs": "^7.5.7",
|
||||
|
|
173
yarn.lock
173
yarn.lock
|
@ -2,7 +2,7 @@
|
|||
# Manual changes might be lost - proceed with caution!
|
||||
|
||||
__metadata:
|
||||
version: 5
|
||||
version: 6
|
||||
cacheKey: 8
|
||||
|
||||
"123done@workspace:packages/123done":
|
||||
|
@ -705,6 +705,23 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/helper-create-class-features-plugin@npm:^7.20.5":
|
||||
version: 7.20.5
|
||||
resolution: "@babel/helper-create-class-features-plugin@npm:7.20.5"
|
||||
dependencies:
|
||||
"@babel/helper-annotate-as-pure": ^7.18.6
|
||||
"@babel/helper-environment-visitor": ^7.18.9
|
||||
"@babel/helper-function-name": ^7.19.0
|
||||
"@babel/helper-member-expression-to-functions": ^7.18.9
|
||||
"@babel/helper-optimise-call-expression": ^7.18.6
|
||||
"@babel/helper-replace-supers": ^7.19.1
|
||||
"@babel/helper-split-export-declaration": ^7.18.6
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0
|
||||
checksum: 51b0662cc44ae5fe3691ed552f97312006709ec3f5321a5e5b5a139a5743eaaf65987f30ee7c171af80ab77460fb57c1970b0b1583dd70d90b58e4433b117a1b
|
||||
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"
|
||||
|
@ -1839,6 +1856,20 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-proposal-private-property-in-object@npm:^7.16.0":
|
||||
version: 7.20.5
|
||||
resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.20.5"
|
||||
dependencies:
|
||||
"@babel/helper-annotate-as-pure": ^7.18.6
|
||||
"@babel/helper-create-class-features-plugin": ^7.20.5
|
||||
"@babel/helper-plugin-utils": ^7.20.2
|
||||
"@babel/plugin-syntax-private-property-in-object": ^7.14.5
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: 513b5e0e2c1b2846be5336cf680e932ae17924ef885aa1429e1a4f7924724bdd99b15f28d67187d0a006d5f18a0c4b61d96c3ecb4902fed3c8fe2f0abfc9753a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-proposal-private-property-in-object@npm:^7.16.5":
|
||||
version: 7.16.5
|
||||
resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.16.5"
|
||||
|
@ -11382,6 +11413,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/history@npm:^4.7.11":
|
||||
version: 4.7.11
|
||||
resolution: "@types/history@npm:4.7.11"
|
||||
checksum: c92e2ba407dcab0581a9afdf98f533aa41b61a71133420a6d92b1ca9839f741ab1f9395b17454ba5b88cb86020b70b22d74a1950ccfbdfd9beeaa5459fdc3464
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/hoist-non-react-statics@npm:^3.3.0, @types/hoist-non-react-statics@npm:^3.3.1":
|
||||
version: 3.3.1
|
||||
resolution: "@types/hoist-non-react-statics@npm:3.3.1"
|
||||
|
@ -12086,6 +12124,15 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/reach__router@npm:^1.3.11":
|
||||
version: 1.3.11
|
||||
resolution: "@types/reach__router@npm:1.3.11"
|
||||
dependencies:
|
||||
"@types/react": "*"
|
||||
checksum: 6bcf40714e0dafff66cbf10a534320eae35dae8344f616d2ddf077937287a0df188dfbfb32fb8045cbc641139d1ab69ee5bb258a51642823cadefbcda020a044
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/reach__router@npm:^1.3.7":
|
||||
version: 1.3.7
|
||||
resolution: "@types/reach__router@npm:1.3.7"
|
||||
|
@ -12152,6 +12199,16 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/react-router@npm:^5.1.19":
|
||||
version: 5.1.19
|
||||
resolution: "@types/react-router@npm:5.1.19"
|
||||
dependencies:
|
||||
"@types/history": ^4.7.11
|
||||
"@types/react": "*"
|
||||
checksum: 3536c3dec7af1f12fed2bea246eb143bd893ee66d4e58c1d3fe734cbd67d8a0aedac0bba9255c58fc69dbd32ae17ad280d6866916aee32653a705178e4a544dc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/react-stripe-elements@npm:^6.0.5":
|
||||
version: 6.0.5
|
||||
resolution: "@types/react-stripe-elements@npm:6.0.5"
|
||||
|
@ -21839,7 +21896,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"es-abstract@npm:^1.17.0-next.0, es-abstract@npm:^1.17.0-next.1, es-abstract@npm:^1.17.4, es-abstract@npm:^1.17.5, es-abstract@npm:^1.18.0-next.1, es-abstract@npm:^1.18.0-next.2, es-abstract@npm:^1.18.2, es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.5.0":
|
||||
"es-abstract@npm:^1.17.0-next.0, es-abstract@npm:^1.17.0-next.1, es-abstract@npm:^1.17.4, es-abstract@npm:^1.17.5, es-abstract@npm:^1.18.0-next.1, es-abstract@npm:^1.18.0-next.2, es-abstract@npm:^1.18.2, es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1":
|
||||
version: 1.19.1
|
||||
resolution: "es-abstract@npm:1.19.1"
|
||||
dependencies:
|
||||
|
@ -21899,6 +21956,39 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"es-abstract@npm:^1.20.4, es-abstract@npm:^1.5.0":
|
||||
version: 1.20.5
|
||||
resolution: "es-abstract@npm:1.20.5"
|
||||
dependencies:
|
||||
call-bind: ^1.0.2
|
||||
es-to-primitive: ^1.2.1
|
||||
function-bind: ^1.1.1
|
||||
function.prototype.name: ^1.1.5
|
||||
get-intrinsic: ^1.1.3
|
||||
get-symbol-description: ^1.0.0
|
||||
gopd: ^1.0.1
|
||||
has: ^1.0.3
|
||||
has-property-descriptors: ^1.0.0
|
||||
has-symbols: ^1.0.3
|
||||
internal-slot: ^1.0.3
|
||||
is-callable: ^1.2.7
|
||||
is-negative-zero: ^2.0.2
|
||||
is-regex: ^1.1.4
|
||||
is-shared-array-buffer: ^1.0.2
|
||||
is-string: ^1.0.7
|
||||
is-weakref: ^1.0.2
|
||||
object-inspect: ^1.12.2
|
||||
object-keys: ^1.1.1
|
||||
object.assign: ^4.1.4
|
||||
regexp.prototype.flags: ^1.4.3
|
||||
safe-regex-test: ^1.0.0
|
||||
string.prototype.trimend: ^1.0.6
|
||||
string.prototype.trimstart: ^1.0.6
|
||||
unbox-primitive: ^1.0.2
|
||||
checksum: 00564779ddaf7fb977ab5aa2b8ea2cbd4fa2335ad5368f788bd0bb094c86bc1790335dd9c3e30374bb0af2fa54c724fb4e0c73659dcfe8e427355a56f2b65946
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"es-array-method-boxes-properly@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "es-array-method-boxes-properly@npm:1.0.0"
|
||||
|
@ -24713,7 +24803,7 @@ fsevents@^1.2.7:
|
|||
|
||||
"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=18f3a7"
|
||||
resolution: "fsevents@patch:fsevents@npm%3A1.2.13#~builtin<compat/fsevents>::version=1.2.13&hash=d11327"
|
||||
dependencies:
|
||||
bindings: ^1.5.0
|
||||
nan: ^2.12.1
|
||||
|
@ -24723,7 +24813,7 @@ fsevents@^1.2.7:
|
|||
|
||||
"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=18f3a7"
|
||||
resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin<compat/fsevents>::version=2.3.2&hash=df0bf1"
|
||||
dependencies:
|
||||
node-gyp: latest
|
||||
conditions: os=darwin
|
||||
|
@ -24732,7 +24822,7 @@ fsevents@^1.2.7:
|
|||
|
||||
"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=18f3a7"
|
||||
resolution: "fsevents@patch:fsevents@npm%3A2.1.2#~builtin<compat/fsevents>::version=2.1.2&hash=31d12a"
|
||||
dependencies:
|
||||
node-gyp: latest
|
||||
conditions: os=darwin
|
||||
|
@ -24973,7 +25063,7 @@ fsevents@~2.1.1:
|
|||
mocha: ^10.0.0
|
||||
node-fetch: ^2.6.7
|
||||
typescript: ^4.9.3
|
||||
webcrypto-liner: "https://github.com/mozilla-fxa/webcrypto-liner.git#6b3ad971b3b1f0d4da3855c6ceee9b3afa9f0eeb"
|
||||
webcrypto-liner: "https://github.com/mozilla-fxa/webcrypto-liner.git#30d4ecdfbbe33535ad43f31bf3f0407edce543a3"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
|
@ -25100,7 +25190,7 @@ fsevents@~2.1.1:
|
|||
mozlog: ^3.0.2
|
||||
mysql: ^2.18.1
|
||||
nock: ^13.2.2
|
||||
node-uap: "https://github.com/mozilla-fxa/node-uap.git#96dc1f9f224422ec184395b6408cd1fc40ee452a"
|
||||
node-uap: "https://github.com/mozilla-fxa/node-uap.git#494714db3e65a4dbfae772f536c8697269174574"
|
||||
node-zendesk: ^2.2.0
|
||||
nodemailer: ^6.7.3
|
||||
nodemon: ^2.0.19
|
||||
|
@ -25301,7 +25391,7 @@ fsevents@~2.1.1:
|
|||
upng-js: 2.1.0
|
||||
url-loader: 4.1.1
|
||||
verror: 1.10.1
|
||||
webcrypto-liner: "https://github.com/mozilla-fxa/webcrypto-liner.git#6b3ad971b3b1f0d4da3855c6ceee9b3afa9f0eeb"
|
||||
webcrypto-liner: "https://github.com/mozilla-fxa/webcrypto-liner.git#30d4ecdfbbe33535ad43f31bf3f0407edce543a3"
|
||||
webpack: ^4.41.2
|
||||
webpack-cli: ^4.10.0
|
||||
webpack-dev-middleware: ^5.3.3
|
||||
|
@ -25838,8 +25928,10 @@ fsevents@~2.1.1:
|
|||
"@types/lodash.groupby": ^4
|
||||
"@types/material-ui": ^0.21.8
|
||||
"@types/node": ^16.11.3
|
||||
"@types/reach__router": ^1.3.11
|
||||
"@types/react": ^17.0.14
|
||||
"@types/react-dom": ^17.0.9
|
||||
"@types/react-router": ^5.1.19
|
||||
"@types/react-test-renderer": ^17.0.1
|
||||
"@types/react-webcam": ^3.0.0
|
||||
"@types/testing-library__react-hooks": ^4
|
||||
|
@ -25980,7 +26072,7 @@ fsevents@~2.1.1:
|
|||
moment: ^2.29.4
|
||||
mozlog: ^3.0.2
|
||||
mysql: ^2.18.1
|
||||
node-uap: "https://github.com/mozilla-fxa/node-uap.git#96dc1f9f224422ec184395b6408cd1fc40ee452a"
|
||||
node-uap: "https://github.com/mozilla-fxa/node-uap.git#494714db3e65a4dbfae772f536c8697269174574"
|
||||
nyc: ^15.1.0
|
||||
objection: ^2.2.17
|
||||
pm2: ^5.2.2
|
||||
|
@ -26999,6 +27091,15 @@ fsevents@~2.1.1:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"gopd@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "gopd@npm:1.0.1"
|
||||
dependencies:
|
||||
get-intrinsic: ^1.1.3
|
||||
checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"got@npm:11.8.5":
|
||||
version: 11.8.5
|
||||
resolution: "got@npm:11.8.5"
|
||||
|
@ -35754,15 +35855,15 @@ fsevents@~2.1.1:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"node-uap@https://github.com/mozilla-fxa/node-uap.git#96dc1f9f224422ec184395b6408cd1fc40ee452a":
|
||||
"node-uap@https://github.com/mozilla-fxa/node-uap.git#494714db3e65a4dbfae772f536c8697269174574":
|
||||
version: 0.0.3
|
||||
resolution: "node-uap@https://github.com/mozilla-fxa/node-uap.git#commit=96dc1f9f224422ec184395b6408cd1fc40ee452a"
|
||||
resolution: "node-uap@https://github.com/mozilla-fxa/node-uap.git#commit=494714db3e65a4dbfae772f536c8697269174574"
|
||||
dependencies:
|
||||
array.prototype.find: 2.0.0
|
||||
uap-core: "https://github.com/ua-parser/uap-core#2e6c983e42e7aae7d957a263cb4d3de7ccbd92af"
|
||||
uap-ref-impl: 0.2.0
|
||||
yamlparser: 0.0.2
|
||||
checksum: 276cf06bfabf27aeee6f6a5aed742d2842cee5b520892d57a2bb8df99acacc5c11e152072c109ed7cb4e9ef4f6018a6c1531c40800b192c07b4b174f77e8b999
|
||||
checksum: 532a6bfff2d0243051fe79e2ca04944c95bff6662b098b50fcda61413c4992970f27af43f7c6874b50187fb95dcfe148e28b06af2ccb00376bf8430f696a9778
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -41784,14 +41885,14 @@ resolve@^2.0.0-next.3:
|
|||
|
||||
"resolve@patch:resolve@1.1.7#~builtin<compat/resolve>":
|
||||
version: 1.1.7
|
||||
resolution: "resolve@patch:resolve@npm%3A1.1.7#~builtin<compat/resolve>::version=1.1.7&hash=07638b"
|
||||
resolution: "resolve@patch:resolve@npm%3A1.1.7#~builtin<compat/resolve>::version=1.1.7&hash=3bafbf"
|
||||
checksum: e9dbca78600ae56835c43a09f1276876c883e4b4bbd43e2683fa140671519d2bdebeb1c1576ca87c8c508ae2987b3ec481645ac5d3054b0f23254cfc1ce49942
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"resolve@patch:resolve@1.18.1#~builtin<compat/resolve>":
|
||||
version: 1.18.1
|
||||
resolution: "resolve@patch:resolve@npm%3A1.18.1#~builtin<compat/resolve>::version=1.18.1&hash=07638b"
|
||||
resolution: "resolve@patch:resolve@npm%3A1.18.1#~builtin<compat/resolve>::version=1.18.1&hash=c3c19d"
|
||||
dependencies:
|
||||
is-core-module: ^2.0.0
|
||||
path-parse: ^1.0.6
|
||||
|
@ -41801,7 +41902,7 @@ resolve@^2.0.0-next.3:
|
|||
|
||||
"resolve@patch:resolve@^1.1.3#~builtin<compat/resolve>, resolve@patch:resolve@^1.1.4#~builtin<compat/resolve>, resolve@patch:resolve@^1.1.6#~builtin<compat/resolve>, resolve@patch:resolve@^1.1.7#~builtin<compat/resolve>, resolve@patch:resolve@^1.10.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.11.1#~builtin<compat/resolve>, resolve@patch:resolve@^1.12.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.14.2#~builtin<compat/resolve>, resolve@patch:resolve@^1.17.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.18.1#~builtin<compat/resolve>, resolve@patch:resolve@^1.19.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.20.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.3.2#~builtin<compat/resolve>, resolve@patch:resolve@^1.8.1#~builtin<compat/resolve>, resolve@patch:resolve@^1.9.0#~builtin<compat/resolve>, resolve@patch:resolve@~1.20.0#~builtin<compat/resolve>":
|
||||
version: 1.20.0
|
||||
resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin<compat/resolve>::version=1.20.0&hash=07638b"
|
||||
resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin<compat/resolve>::version=1.20.0&hash=c3c19d"
|
||||
dependencies:
|
||||
is-core-module: ^2.2.0
|
||||
path-parse: ^1.0.6
|
||||
|
@ -41811,7 +41912,7 @@ resolve@^2.0.0-next.3:
|
|||
|
||||
"resolve@patch:resolve@^1.22.1#~builtin<compat/resolve>":
|
||||
version: 1.22.1
|
||||
resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=07638b"
|
||||
resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=c3c19d"
|
||||
dependencies:
|
||||
is-core-module: ^2.9.0
|
||||
path-parse: ^1.0.7
|
||||
|
@ -41824,7 +41925,7 @@ resolve@^2.0.0-next.3:
|
|||
|
||||
"resolve@patch:resolve@^2.0.0-next.3#~builtin<compat/resolve>":
|
||||
version: 2.0.0-next.3
|
||||
resolution: "resolve@patch:resolve@npm%3A2.0.0-next.3#~builtin<compat/resolve>::version=2.0.0-next.3&hash=07638b"
|
||||
resolution: "resolve@patch:resolve@npm%3A2.0.0-next.3#~builtin<compat/resolve>::version=2.0.0-next.3&hash=c3c19d"
|
||||
dependencies:
|
||||
is-core-module: ^2.2.0
|
||||
path-parse: ^1.0.6
|
||||
|
@ -44238,6 +44339,17 @@ resolve@^2.0.0-next.3:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"string.prototype.trimend@npm:^1.0.6":
|
||||
version: 1.0.6
|
||||
resolution: "string.prototype.trimend@npm:1.0.6"
|
||||
dependencies:
|
||||
call-bind: ^1.0.2
|
||||
define-properties: ^1.1.4
|
||||
es-abstract: ^1.20.4
|
||||
checksum: 0fdc34645a639bd35179b5a08227a353b88dc089adf438f46be8a7c197fc3f22f8514c1c9be4629b3cd29c281582730a8cbbad6466c60f76b5f99cf2addb132e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"string.prototype.trimstart@npm:^1.0.4":
|
||||
version: 1.0.4
|
||||
resolution: "string.prototype.trimstart@npm:1.0.4"
|
||||
|
@ -44259,6 +44371,17 @@ resolve@^2.0.0-next.3:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"string.prototype.trimstart@npm:^1.0.6":
|
||||
version: 1.0.6
|
||||
resolution: "string.prototype.trimstart@npm:1.0.6"
|
||||
dependencies:
|
||||
call-bind: ^1.0.2
|
||||
define-properties: ^1.1.4
|
||||
es-abstract: ^1.20.4
|
||||
checksum: 89080feef416621e6ef1279588994305477a7a91648d9436490d56010a1f7adc39167cddac7ce0b9884b8cdbef086987c4dcb2960209f2af8bac0d23ceff4f41
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"string_decoder@npm:0.10, string_decoder@npm:~0.10.0, string_decoder@npm:~0.10.x":
|
||||
version: 0.10.31
|
||||
resolution: "string_decoder@npm:0.10.31"
|
||||
|
@ -46476,21 +46599,21 @@ resolve@^2.0.0-next.3:
|
|||
|
||||
"typescript@patch:typescript@^4.9.3#~builtin<compat/typescript>":
|
||||
version: 4.9.3
|
||||
resolution: "typescript@patch:typescript@npm%3A4.9.3#~builtin<compat/typescript>::version=4.9.3&hash=493e53"
|
||||
resolution: "typescript@patch:typescript@npm%3A4.9.3#~builtin<compat/typescript>::version=4.9.3&hash=d73830"
|
||||
bin:
|
||||
tsc: bin/tsc
|
||||
tsserver: bin/tsserver
|
||||
checksum: ef65c22622d864497d0a0c5db693523329b3284c15fe632e93ad9aa059e8dc38ef3bd767d6f26b1e5ecf9446f49bd0f6c4e5714a2eeaf352805dc002479843d1
|
||||
checksum: 67ca21a387c0572f1c04936e638dde7782c5aa520c3754aadc7cc9b7c915da9ebc3e27c601bfff4ccb7d7264e82dce6d277ada82ec09dc75024349e0ef64926d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"typescript@patch:typescript@npm%3A^4.5.2#~builtin<compat/typescript>":
|
||||
version: 4.5.2
|
||||
resolution: "typescript@patch:typescript@npm%3A4.5.2#~builtin<compat/typescript>::version=4.5.2&hash=493e53"
|
||||
resolution: "typescript@patch:typescript@npm%3A4.5.2#~builtin<compat/typescript>::version=4.5.2&hash=bcec9a"
|
||||
bin:
|
||||
tsc: bin/tsc
|
||||
tsserver: bin/tsserver
|
||||
checksum: 53838d56aba6fcc947d63aa0771e5d966b1b648fddafed6e221d7f38c71219c4e036ece8cfe9e35ed80cf5a35ff4eb958934c993f99c3233773ec4f9ccd53f69
|
||||
checksum: e25e689eba64f7da7cfc43f8ea76cac7176b56caba42655f0a4cb29c0b7c36e67ca54f33df95902859f56108464245d8b45bcdfe21e3d66d9560feb8db780246
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -46503,7 +46626,7 @@ resolve@^2.0.0-next.3:
|
|||
|
||||
"uap-core@https://github.com/ua-parser/uap-core#2e6c983e42e7aae7d957a263cb4d3de7ccbd92af":
|
||||
version: 0.6.7
|
||||
resolution: "uap-core@https://github.com/ua-parser/uap-core#commit=2e6c983e42e7aae7d957a263cb4d3de7ccbd92af"
|
||||
resolution: "uap-core@https://github.com/ua-parser/uap-core.git#commit=2e6c983e42e7aae7d957a263cb4d3de7ccbd92af"
|
||||
checksum: 66623ae9913352f46d18f3e0ce6b9dfb9415323f02dba860ef7d855c04412f248318024b9ba77dc375dc366bda98ee10d0309feaccef7f7572869ffdc3f6fce2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
@ -47667,14 +47790,14 @@ resolve@^2.0.0-next.3:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"webcrypto-liner@https://github.com/mozilla-fxa/webcrypto-liner.git#6b3ad971b3b1f0d4da3855c6ceee9b3afa9f0eeb":
|
||||
"webcrypto-liner@https://github.com/mozilla-fxa/webcrypto-liner.git#30d4ecdfbbe33535ad43f31bf3f0407edce543a3":
|
||||
version: 0.1.36
|
||||
resolution: "webcrypto-liner@https://github.com/mozilla-fxa/webcrypto-liner.git#commit=6b3ad971b3b1f0d4da3855c6ceee9b3afa9f0eeb"
|
||||
resolution: "webcrypto-liner@https://github.com/mozilla-fxa/webcrypto-liner.git#commit=30d4ecdfbbe33535ad43f31bf3f0407edce543a3"
|
||||
dependencies:
|
||||
"@dannycoates/elliptic": ^6.4.2
|
||||
asmcrypto.js: ^0.22.0
|
||||
webcrypto-core: "https://github.com/mozilla-fxa/webcrypto-core.git#e0bb9e60e7df2abc6d13caf4a15cf22188e2981a"
|
||||
checksum: ca2b7ea2b8af2d8def878ecfa69b5fdf49ea3d848fb30f3db87fc1a763bdaeaa9de54715bebea4f05acac2a2967164b76420a42bf84e98984643ec2369151181
|
||||
checksum: 52544d9ad86b4cfd78c79634a0a996604aeffdb125655601b9f043e8240db4440b67c62fc611f5077e1552a6a24f62bb4b3aa9d6c39ab022e20dc415b51a4a0b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче