Use Github action for CI (#18617)

This commit is contained in:
Mac Siri 2022-10-27 09:51:27 -04:00 committed by GitHub
parent 6334873d98
commit c23b269410
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 242 additions and 233 deletions

23
.github/workflows/bundle-audit.yml vendored Normal file
View file

@ -0,0 +1,23 @@
name: Bundler-audit
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
audit:
runs-on: ubuntu-latest
steps:
- name: Install cURL Headers
run: sudo apt-get install libcurl4-openssl-dev
- uses: actions/checkout@v3
- name: setup ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- run: bundle exec bundle-audit check --update

206
.github/workflows/ci.yml vendored Normal file
View file

@ -0,0 +1,206 @@
name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
RSpec:
runs-on: ubuntu-latest
timeout-minutes: 20
env:
COVERAGE: true
RAILS_ENV: test
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC: ${{ secrets.KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC }}
KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true
DATABASE_URL_TEST: postgres://postgres:postgres@localhost:5432/Forem_test
DATABASE_NAME_TEST: Forem_test
services:
postgres:
image: postgres:13-alpine
env:
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
redis:
image: redis
ports:
- 6379:6379
strategy:
fail-fast: false
matrix:
ci_node_total: [6]
ci_node_index: [0, 1, 2, 3, 4, 5]
steps:
- uses: actions/checkout@v3
- name: Cache node modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: ${{ runner.os }}-node-modules-
- uses: actions/setup-node@v3
with:
cache: yarn
- run: yarn install --frozen-lockfile
- name: setup ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- run: bundle exec rails db:test:prepare
- name: RSpec
run: bin/knapsack_pro_rspec
- uses: codecov/codecov-action@v3
Jest:
runs-on: ubuntu-latest
timeout-minutes: 20
env:
RAILS_ENV: test
NODE_ENV: test
steps:
- uses: actions/checkout@v3
- name: Cache node modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: ${{ runner.os }}-node-modules-
- uses: actions/setup-node@v3
with:
cache: yarn
- run: yarn install --frozen-lockfile
- run: yarn lint:frontend
- run: yarn test --colors
- uses: codecov/codecov-action@v3
- run: yarn build-storybook
Build-test:
runs-on: ubuntu-latest
timeout-minutes: 20
env:
RAILS_ENV: test
DATABASE_URL: postgres://postgres:postgres@localhost:5432/Forem_prod_test
DATABASE_NAME: Forem_prod_test
APP_PROTOCOL: http://
APP_DOMAIN: localhost:3000
HEROKU_APP_URL: practicaldev.herokuapp.com
SECRET_KEY_BASE: dummydummydummy
GITHUB_KEY: dummy
GITHUB_SECRET: dummy
KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true
services:
postgres:
image: postgres:13-alpine
env:
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
redis:
image: redis
ports:
- 6379:6379
steps:
- uses: actions/checkout@v3
- name: Cache node modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: ${{ runner.os }}-node-modules-
- uses: actions/setup-node@v3
with:
cache: yarn
- run: yarn install --frozen-lockfile
- name: setup ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- run: bin/test-console-check
Cypress:
runs-on: ubuntu-latest
timeout-minutes: 20
env:
RAILS_ENV: test
DATABASE_URL_TEST: postgres://postgres:postgres@localhost:5432/Forem_test
DATABASE_NAME_TEST: Forem_test
KNAPSACK_PRO_FIXED_QUEUE_SPLIT: true
services:
postgres:
image: postgres:13-alpine
env:
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
redis:
image: redis
ports:
- 6379:6379
strategy:
fail-fast: false
matrix:
ci_node_total: [6]
ci_node_index: [0, 1, 2, 3, 4, 5, non-seed]
steps:
- uses: actions/checkout@v3
- name: Cache node modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: ${{ runner.os }}-node-modules-
- uses: actions/setup-node@v3
with:
cache: yarn
- run: yarn install --frozen-lockfile
- name: setup ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- run: bundle exec rails db:test:prepare assets:precompile
- run: yarn cypress install
- name: cypress
env:
KNAPSACK_PRO_CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
KNAPSACK_PRO_CI_NODE_INDEX: ${{ matrix.ci_node_index }}
KNAPSACK_PRO_TEST_SUITE_TOKEN_CYPRESS: ${{ secrets.KNAPSACK_PRO_TEST_SUITE_TOKEN_CYPRESS }}
KNAPSACK_PRO_TEST_FILE_PATTERN: "cypress/e2e/seededFlows/**/*.spec.js"
run: bin/knapsack_pro_cypress
if: ${{ matrix.ci_node_index != 'non-seed' }}
- name: cypress non-seed
run: CREATOR_ONBOARDING_SEED_DATA=1 E2E_FOLDER=creatorOnboardingFlows E2E=true bin/rails cypress:run
if: ${{ matrix.ci_node_index == 'non-seed' }}
CI-status-report:
runs-on: ubuntu-latest
needs: [rspec, jest, cypress, build-test]
steps:
- run: echo "All done"
- run: echo ${{ github.event.pull_request.head.ref }}
- run: echo ${{ github.ref }}
- name: Report failure to Slack channel
uses: slackapi/slack-github-action@v1
with:
payload: |
{ "link": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" }
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: always() && github.ref == 'refs/heads/main' && failure()

View file

@ -1,155 +0,0 @@
dist: focal
branches:
only:
- main
language: ruby
cache:
bundler: true
directories:
- node_modules
rvm:
- 3.0.2
addons:
postgresql: '13'
apt:
packages:
- postgresql-13
chrome: 'stable'
artifacts:
paths:
- $(ls tmp/screenshots/*.png | tr "\n" ":")
- $(ls tmp/csvs/*.csv | tr "\n" ":")
- $(ls cypress/screenshots/*.* | tr "\n" ":")
- $(ls cypress/videos/*.* | tr "\n" ":")
debug: true
env:
global:
- RAILS_ENV=test
- DATABASE_URL=postgres://travis@localhost:5432/Forem_prod_test
- DATABASE_NAME=Forem_prod_test
- DATABASE_URL_TEST=postgres://travis@localhost:5432/Forem_test
- DATABASE_NAME_TEST=Forem_test
- STATEMENT_TIMEOUT=20000
# Dummy values needed to verify the app boots via "rails runner"
- APP_PROTOCOL=http://
- APP_DOMAIN=localhost:3000
- HEROKU_APP_URL=practicaldev.herokuapp.com
- SECRET_KEY_BASE=dummydummydummy
- GITHUB_KEY=dummy
- GITHUB_SECRET=dummy
- KNAPSACK_PRO_FIXED_QUEUE_SPLIT=true
- KNAPSACK_PRO_LOG_LEVEL=info
- KNAPSACK_PRO_CI_NODE_TOTAL=3
- COVERAGE_REPORTS_TOTAL=4
- FOREM_OWNER_SECRET="secret" # test secret so e2e tests can run properly.
- COVERAGE=true
before_install:
- sudo apt-get update
- sudo apt-get -y install gsfonts
- sudo sed -i -e '/local.*peer/s/postgres/all/' -e 's/peer\|md5/trust/g' /etc/postgresql/*/main/pg_hba.conf
- sudo service postgresql restart
- gem install bundler:"<2.3"
install:
- date --rfc-3339=seconds
- nvm install
- bundle config set path 'vendor/bundle'
- bin/ci-bundle
- yarn install --frozen-lockfile
script:
- bundle exec rails db:create db:schema:load webpacker:compile
- bin/knapsack_pro_rspec
after_script:
- curl -Os https://uploader.codecov.io/latest/linux/codecov
- chmod +x codecov
- ls -l ./coverage
- ./codecov
notifications:
slack:
if: branch = main
on_pull_requests: false
on_success: always
on_failure: always
rooms:
secure: 0cTxjTqAFnfCR9jw7lZFcTrTcil8QKTX4h2dzKKCeWaWpsYcvJsvhREfsdIGwrdChmHHYCveHp84dP3ouMvcXoSYEzTASZpK+nVGw2+E4kh3EbzA49N00RoeM+gnbEla3MtCjVxH7KVznLyV/jVfFoCZR6xYnO+pknZzUZwJzyffnSmAlwsQkw1Dt1FAw/uodfGqiDJjUgZhtQ51KFg74HiBd80iUc8ieg6zAEV4QnlW3YvjrHSJC2+AFblXQ7RVkAok8w3G876yQOXvEfESCV+wlmoXbSlQm7V2awMmY5v23iKMvJRRn7JMxTGzG1x2NvNIFL8NZBM+CcjMJxkDSU7Rc/hxVAbuEEYQdd3VPKmYv3o5jcPYjQY08nbz4OREZtiXMsFVCOLuZaCba2c7Xelr7c0eFOdRpQScN2SQtI039Zw8jUQgni18kiWyD/1CfYFIGUvpTCy8rHN0RCJkb0+wOlo3UjEbVDqCi6x06yQ/367XHc27hzFpfDQprVccCMDHbE47kj2fUsBX+FaocpzwODBMLLXZf/v6Vg/bhVArxAl9GLmWNt8942YVgRzkboR3yAy1mA3wx/1frLURY1C5377dx7LXwhHp/4Od6ms1xTBSEcEIRWPy7wQ0yG8fe9VPNFc0ndCEPnqkF8NLTxOX9w3uQ3wDB78NEyEDni0=
jobs:
include:
- stage: Test
name: "Node 0"
env: KNAPSACK_PRO_CI_NODE_INDEX=0
- stage: Test
name: "Node 1"
env: KNAPSACK_PRO_CI_NODE_INDEX=1
- stage: Test
name: "Node 2"
env: KNAPSACK_PRO_CI_NODE_INDEX=2
- stage: Test
name: "Front-end tests, Storybook, bundle audit, console check"
script:
- yarn lint:frontend
- yarn test --colors
- bundle exec bundle-audit check --update
- bin/test-console-check
- yarn build-storybook
- NODE_ENV=production RAILS_ENV=production bundle exec rake assets:precompile
- stage: Test
name: "E2E Seeded Node 0"
env:
- KNAPSACK_PRO_CI_NODE_TOTAL=3
- KNAPSACK_PRO_CI_NODE_INDEX=0
- KNAPSACK_PRO_TEST_FILE_PATTERN="cypress/e2e/seededFlows/**/*.spec.js"
script:
- bundle exec rails db:create db:schema:load assets:precompile
- yarn cypress install
- bin/knapsack_pro_cypress
- stage: Test
name: "E2E Seeded Node 1"
env:
- KNAPSACK_PRO_CI_NODE_TOTAL=3
- KNAPSACK_PRO_CI_NODE_INDEX=1
- KNAPSACK_PRO_TEST_FILE_PATTERN="cypress/e2e/seededFlows/**/*.spec.js"
script:
- bundle exec rails db:create db:schema:load assets:precompile
- yarn cypress install
- bin/knapsack_pro_cypress
- stage: Test
name: "E2E Seeded Node 2"
env:
- KNAPSACK_PRO_CI_NODE_TOTAL=3
- KNAPSACK_PRO_CI_NODE_INDEX=2
- KNAPSACK_PRO_TEST_FILE_PATTERN="cypress/e2e/seededFlows/**/*.spec.js"
script:
- bundle exec rails db:create db:schema:load assets:precompile
- yarn cypress install
- bin/knapsack_pro_cypress
- stage: Test
name: "E2E Non-seeded"
script:
- bundle exec rails db:create db:schema:load assets:precompile
- yarn cypress install
- CREATOR_ONBOARDING_SEED_DATA=1 E2E_FOLDER=creatorOnboardingFlows E2E=true bin/rails cypress:run
- stage: Deploy
name: Deploy DEV
if: type != pull_request
install: skip
script: skip
after_script: skip
deploy:
provider: heroku
api_key: '$HEROKU_AUTH_TOKEN'
app:
main: practicaldev
after_deploy:
- bash scripts/after_deploy.sh
- stage: Deploy
name: Deploy BenHalpern
if: type != pull_request
install: skip
script: skip
after_script: skip
deploy:
provider: heroku
api_key: '$HEROKU_AUTH_TOKEN'
app:
main: benhalpern-community

View file

@ -5,6 +5,8 @@ tests
powered-test
# asset directories
docs
doc
website
images
@ -40,3 +42,4 @@ wercker.yml
# misc
*.md
!**/yaml/dist/**/doc

View file

@ -68,7 +68,6 @@ gem "omniauth-google-oauth2", "~> 1.0" # OmniAuth strategy for Google OAuth2
gem "omniauth-rails_csrf_protection", "~> 1.0" # Provides CSRF protection on OmniAuth request endpoint on Rails application.
gem "omniauth-twitter", "~> 1.4" # OmniAuth strategy for Twitter
gem "parallel", "~> 1.22" # Run any kind of code in parallel processes
gem "patron", "~> 0.13.3" # HTTP client library based on libcurl, used with GitHub OAuth client
gem "pg", "~> 1.4" # Pg is the Ruby interface to the PostgreSQL RDBMS
gem "pg_query", ">= 0.9.0" # Allows PGHero to analyze queries
gem "pg_search", "~> 2.3.6" # PgSearch builds Active Record named scopes that take advantage of PostgreSQL's full text search
@ -141,7 +140,7 @@ group :development, :test do
gem "debug", ">= 1.0.0" # Provide a debug with step capabilities
gem "dotenv-rails", "~> 2.8.1" # For loading ENV variables locally
gem "faker", "~> 2.22" # A library for generating fake data such as names, addresses, and phone numbers
gem "knapsack_pro", "~> 3.3.1" # Help parallelize Ruby spec builds
gem "knapsack_pro", "~> 3.0" # Help parallelize Ruby spec builds
gem "pry", "~> 0.14" # An IRB alternative and runtime developer console
gem "pry-rails", "~> 0.3" # Use Pry as your rails console
gem "rspec-rails", "~> 5.1" # rspec-rails is a testing framework for Rails 3+

View file

@ -444,7 +444,7 @@ GEM
kaminari-core (1.2.2)
katex (0.9.0)
execjs (~> 2.7)
knapsack_pro (3.3.1)
knapsack_pro (3.4.1)
rake
kramdown (2.4.0)
rexml
@ -594,7 +594,6 @@ GEM
parallel (1.22.1)
parser (3.1.2.1)
ast (~> 2.4.1)
patron (0.13.3)
pg (1.4.4)
pg_query (2.1.4)
google-protobuf (>= 3.19.2)
@ -1021,7 +1020,7 @@ DEPENDENCIES
jsonapi-serializer (~> 2.2)
kaminari (~> 1.2)
katex (~> 0.9.0)
knapsack_pro (~> 3.3.1)
knapsack_pro (~> 3.0)
launchy (~> 2.5)
liquid (~> 5.4)
listen (~> 3.7)
@ -1039,7 +1038,6 @@ DEPENDENCIES
omniauth-rails_csrf_protection (~> 1.0)
omniauth-twitter (~> 1.4)
parallel (~> 1.22)
patron (~> 0.13.3)
pg (~> 1.4)
pg_query (>= 0.9.0)
pg_search (~> 2.3.6)

View file

@ -3,7 +3,6 @@ if [ "$KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC" = "" ]; then
KNAPSACK_PRO_ENDPOINT=https://api-disabled-for-fork.knapsackpro.com \
KNAPSACK_PRO_MAX_REQUEST_RETRIES=0 \
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC=disabled-for-fork \
RUBYOPT="-W:deprecated"\
bundle exec rake knapsack_pro:rspec # use Regular Mode here always
else
bundle exec rake knapsack_pro:queue:rspec

View file

@ -93,7 +93,6 @@
"storybook-addon-jsx": "^7.3.14",
"style-loader": "^2.0.0",
"svgo": "2.8.0",
"webpack-bundle-analyzer": "^4.6.1",
"webpack-dev-server": "^3.11.3"
},
"dependencies": {

View file

@ -1,7 +0,0 @@
#!/bin/bash
COMMIT="$(git rev-parse HEAD | cut -c1-7)"
curl "https://api.honeycomb.io/1/markers/${HONEYCOMB_DATASET}" -X POST \
-H "X-Honeycomb-Team: ${HONEYCOMB_API_KEY}" \
-d '{"type":"deploy", "message":"'${COMMIT}'"}'

Binary file not shown.

BIN
vendor/cache/knapsack_pro-3.4.1.gem vendored Normal file

Binary file not shown.

Binary file not shown.

View file

@ -2392,11 +2392,6 @@
mkdirp "^1.0.4"
rimraf "^3.0.2"
"@polka/url@^1.0.0-next.20":
version "1.0.0-next.21"
resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1"
integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==
"@rails/ujs@7.0.3":
version "7.0.3"
resolved "https://registry.yarnpkg.com/@rails/ujs/-/ujs-7.0.3.tgz#3bb98db34460ad61ef3cd2684401a444a0347bbb"
@ -4210,7 +4205,7 @@ acorn-walk@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
acorn-walk@^8.0.0, acorn-walk@^8.0.2:
acorn-walk@^8.0.2:
version "8.2.0"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
@ -4225,16 +4220,16 @@ acorn@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
acorn@^8.0.4, acorn@^8.4.1, acorn@^8.5.0:
version "8.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
acorn@^8.1.0, acorn@^8.8.0:
version "8.8.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
acorn@^8.4.1, acorn@^8.5.0:
version "8.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
address@^1.0.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6"
@ -7168,11 +7163,6 @@ dotenv@^8.0.0:
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b"
integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==
duplexer@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
duplexify@^3.4.2, duplexify@^3.6.0:
version "3.7.1"
resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
@ -8832,13 +8822,6 @@ grapheme-splitter@^1.0.4:
resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
gzip-size@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462"
integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==
dependencies:
duplexer "^0.1.2"
handle-thing@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
@ -11647,7 +11630,7 @@ mime@1.6.0:
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
mime@^2.3.1, mime@^2.4.4:
mime@^2.4.4:
version "2.5.2"
resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe"
integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==
@ -12257,11 +12240,6 @@ open@^8.4.0:
is-docker "^2.1.1"
is-wsl "^2.2.0"
opener@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
opn@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc"
@ -15362,15 +15340,6 @@ simple-swizzle@^0.2.2:
dependencies:
is-arrayish "^0.3.1"
sirv@^1.0.7:
version "1.0.17"
resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.17.tgz#86e2c63c612da5a1dace1c16c46f524aaa26ac45"
integrity sha512-qx9go5yraB7ekT7bCMqUHJ5jEaOC/GXBxUWv+jeWnb7WzHUFdcQPGWk7YmAwFBaQBrogpuSqd/azbC2lZRqqmw==
dependencies:
"@polka/url" "^1.0.0-next.20"
mime "^2.3.1"
totalist "^1.0.0"
sisteransi@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
@ -16325,11 +16294,6 @@ toidentifier@1.0.0:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
totalist@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df"
integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==
tough-cookie@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4"
@ -17033,21 +16997,6 @@ webpack-assets-manifest@^3.1.1:
tapable "^1.0.0"
webpack-sources "^1.0.0"
webpack-bundle-analyzer@^4.6.1:
version "4.6.1"
resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.6.1.tgz#bee2ee05f4ba4ed430e4831a319126bb4ed9f5a6"
integrity sha512-oKz9Oz9j3rUciLNfpGFjOb49/jEpXNmWdVH8Ls//zNcnLlQdTGXQQMsBbb/gR7Zl8WNLxVCq+0Hqbx3zv6twBw==
dependencies:
acorn "^8.0.4"
acorn-walk "^8.0.0"
chalk "^4.1.0"
commander "^7.2.0"
gzip-size "^6.0.0"
lodash "^4.17.20"
opener "^1.5.2"
sirv "^1.0.7"
ws "^7.3.1"
webpack-cli@^3.3.12:
version "3.3.12"
resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a"
@ -17441,11 +17390,6 @@ ws@^6.2.1:
dependencies:
async-limiter "~1.0.0"
ws@^7.3.1:
version "7.5.5"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881"
integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==
ws@^8.2.3:
version "8.8.0"
resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.0.tgz#8e71c75e2f6348dbf8d78005107297056cb77769"