diff --git a/.github/workflows/e2e_tests.yaml b/.github/workflows/e2e_tests.yaml index 25feaf670d..6597ab16ed 100644 --- a/.github/workflows/e2e_tests.yaml +++ b/.github/workflows/e2e_tests.yaml @@ -4,7 +4,8 @@ on: push: branches: - staging - - feat-e2e-tests + - e2e-** + - e2e/** jobs: test: runs-on: ubuntu-latest @@ -22,6 +23,7 @@ jobs: max_timeout: 1200 check_interval: 20 - run: yarn + - run: yarn playwright install --with-deps chromium - run: yarn e2e-workers - uses: actions/upload-artifact@v3 if: failure() diff --git a/.github/workflows/e2e_tests_firefox.yaml b/.github/workflows/e2e_tests_firefox.yaml index 0621126325..956e07e024 100644 --- a/.github/workflows/e2e_tests_firefox.yaml +++ b/.github/workflows/e2e_tests_firefox.yaml @@ -4,7 +4,8 @@ on: push: branches: - staging - - feat-e2e-tests + - e2e-** + - e2e/** jobs: test: runs-on: ubuntu-latest @@ -22,6 +23,7 @@ jobs: max_timeout: 1200 check_interval: 20 - run: yarn + - run: yarn playwright install --with-deps firefox - run: yarn e2e-firefox tests/4*.ts - uses: actions/upload-artifact@v3 if: failure() diff --git a/README.md b/README.md index 15345a664d..07e33751de 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ # serlo.org – Frontend Next.js app that serves [serlo.org](https://serlo.org). +You can find it in `apps/web`. ## Overview @@ -114,6 +115,21 @@ Technical issues are opened for bugs and feature that we decided to work on. For This method should avoid stale issues and make it possible to keep an "zero inbox". +## e2e testing + +This repo includes e2e test with codeceptjs. +To run them for the first time: + +```sh +cd e2e-tests +yarn +yarn playwright install +cd .. +yarn e2e +``` + +You can find the [full readme here](https://github.com/serlo/frontend/tree/staging/e2e-tests#readme). + ## More information You can find more detailed explanations in our wiki. Currently, we have these pages available: diff --git a/e2e-tests/.yarn/cache/@codeceptjs-configure-npm-0.10.0-ba73c0a5e7-e4556a9c1f.zip b/e2e-tests/.yarn/cache/@codeceptjs-configure-npm-0.10.0-ba73c0a5e7-e4556a9c1f.zip new file mode 100644 index 0000000000..3bb0fa2379 Binary files /dev/null and b/e2e-tests/.yarn/cache/@codeceptjs-configure-npm-0.10.0-ba73c0a5e7-e4556a9c1f.zip differ diff --git a/e2e-tests/.yarn/cache/@codeceptjs-configure-npm-0.8.0-620f1ec880-ec530dcf16.zip b/e2e-tests/.yarn/cache/@codeceptjs-configure-npm-0.8.0-620f1ec880-ec530dcf16.zip deleted file mode 100644 index 399aa9ac85..0000000000 Binary files a/e2e-tests/.yarn/cache/@codeceptjs-configure-npm-0.8.0-620f1ec880-ec530dcf16.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/@codeceptjs-helper-npm-1.0.2-458696996c-e1f9bdc76c.zip b/e2e-tests/.yarn/cache/@codeceptjs-helper-npm-1.0.2-458696996c-e1f9bdc76c.zip deleted file mode 100644 index 4d8ba9430e..0000000000 Binary files a/e2e-tests/.yarn/cache/@codeceptjs-helper-npm-1.0.2-458696996c-e1f9bdc76c.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/@codeceptjs-helper-npm-2.0.1-658ed6443d-f4dfc1a916.zip b/e2e-tests/.yarn/cache/@codeceptjs-helper-npm-2.0.1-658ed6443d-f4dfc1a916.zip new file mode 100644 index 0000000000..6f4af838d0 Binary files /dev/null and b/e2e-tests/.yarn/cache/@codeceptjs-helper-npm-2.0.1-658ed6443d-f4dfc1a916.zip differ diff --git a/e2e-tests/.yarn/cache/@cucumber-messages-npm-21.0.1-5dd3dcfba8-01849f35bb.zip b/e2e-tests/.yarn/cache/@cucumber-messages-npm-21.0.1-5dd3dcfba8-01849f35bb.zip deleted file mode 100644 index 86e6310c0b..0000000000 Binary files a/e2e-tests/.yarn/cache/@cucumber-messages-npm-21.0.1-5dd3dcfba8-01849f35bb.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/@one-ini-wasm-npm-0.1.1-cee8120e33-11de17108e.zip b/e2e-tests/.yarn/cache/@one-ini-wasm-npm-0.1.1-cee8120e33-11de17108e.zip deleted file mode 100644 index 636d88198b..0000000000 Binary files a/e2e-tests/.yarn/cache/@one-ini-wasm-npm-0.1.1-cee8120e33-11de17108e.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/@types-uuid-npm-8.3.4-7547f4402c-6f11f3ff70.zip b/e2e-tests/.yarn/cache/@types-uuid-npm-8.3.4-7547f4402c-6f11f3ff70.zip deleted file mode 100644 index 2e4a25adb6..0000000000 Binary files a/e2e-tests/.yarn/cache/@types-uuid-npm-8.3.4-7547f4402c-6f11f3ff70.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/@xmldom-xmldom-npm-0.7.13-652e4dab05-b405407853.zip b/e2e-tests/.yarn/cache/@xmldom-xmldom-npm-0.7.13-652e4dab05-b405407853.zip deleted file mode 100644 index 27a7d45ede..0000000000 Binary files a/e2e-tests/.yarn/cache/@xmldom-xmldom-npm-0.7.13-652e4dab05-b405407853.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/@xmldom-xmldom-npm-0.8.10-c1bd991e61-4c136aec31.zip b/e2e-tests/.yarn/cache/@xmldom-xmldom-npm-0.8.10-c1bd991e61-4c136aec31.zip new file mode 100644 index 0000000000..0893734d9e Binary files /dev/null and b/e2e-tests/.yarn/cache/@xmldom-xmldom-npm-0.8.10-c1bd991e61-4c136aec31.zip differ diff --git a/e2e-tests/.yarn/cache/abbrev-npm-1.1.1-3659247eab-a4a97ec07d.zip b/e2e-tests/.yarn/cache/abbrev-npm-1.1.1-3659247eab-a4a97ec07d.zip new file mode 100644 index 0000000000..a8b40a5f9d Binary files /dev/null and b/e2e-tests/.yarn/cache/abbrev-npm-1.1.1-3659247eab-a4a97ec07d.zip differ diff --git a/e2e-tests/.yarn/cache/acorn-npm-8.10.0-2230c9e83e-538ba38af0.zip b/e2e-tests/.yarn/cache/acorn-npm-8.10.0-2230c9e83e-538ba38af0.zip new file mode 100644 index 0000000000..6820207002 Binary files /dev/null and b/e2e-tests/.yarn/cache/acorn-npm-8.10.0-2230c9e83e-538ba38af0.zip differ diff --git a/e2e-tests/.yarn/cache/axios-npm-1.3.3-27e5c9cf4a-b734a4bc34.zip b/e2e-tests/.yarn/cache/axios-npm-1.3.3-27e5c9cf4a-b734a4bc34.zip new file mode 100644 index 0000000000..c5632c5548 Binary files /dev/null and b/e2e-tests/.yarn/cache/axios-npm-1.3.3-27e5c9cf4a-b734a4bc34.zip differ diff --git a/e2e-tests/.yarn/cache/axios-npm-1.6.2-2334cb6eee-4a7429e2b7.zip b/e2e-tests/.yarn/cache/axios-npm-1.6.2-2334cb6eee-4a7429e2b7.zip deleted file mode 100644 index e616f86cd0..0000000000 Binary files a/e2e-tests/.yarn/cache/axios-npm-1.6.2-2334cb6eee-4a7429e2b7.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/chai-npm-4.3.10-96f52a35f0-536668c60a.zip b/e2e-tests/.yarn/cache/chai-npm-4.3.10-96f52a35f0-536668c60a.zip deleted file mode 100644 index 1e8d11f1dc..0000000000 Binary files a/e2e-tests/.yarn/cache/chai-npm-4.3.10-96f52a35f0-536668c60a.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/chai-npm-4.3.6-dba90e4b0b-acff93fd53.zip b/e2e-tests/.yarn/cache/chai-npm-4.3.6-dba90e4b0b-acff93fd53.zip new file mode 100644 index 0000000000..1a0d17d02f Binary files /dev/null and b/e2e-tests/.yarn/cache/chai-npm-4.3.6-dba90e4b0b-acff93fd53.zip differ diff --git a/e2e-tests/.yarn/cache/codeceptjs-npm-3.5.2-8c1b566c17-b1b3f19d62.zip b/e2e-tests/.yarn/cache/codeceptjs-npm-3.5.2-8c1b566c17-b1b3f19d62.zip deleted file mode 100644 index bb2c3f4112..0000000000 Binary files a/e2e-tests/.yarn/cache/codeceptjs-npm-3.5.2-8c1b566c17-b1b3f19d62.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/codeceptjs-npm-3.5.5-df8f61ff09-4f351b7385.zip b/e2e-tests/.yarn/cache/codeceptjs-npm-3.5.5-df8f61ff09-4f351b7385.zip new file mode 100644 index 0000000000..422a92610e Binary files /dev/null and b/e2e-tests/.yarn/cache/codeceptjs-npm-3.5.5-df8f61ff09-4f351b7385.zip differ diff --git a/e2e-tests/.yarn/cache/commander-npm-10.0.1-f17613b72b-436901d64a.zip b/e2e-tests/.yarn/cache/commander-npm-10.0.1-f17613b72b-436901d64a.zip deleted file mode 100644 index 6e5dd2648d..0000000000 Binary files a/e2e-tests/.yarn/cache/commander-npm-10.0.1-f17613b72b-436901d64a.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/commander-npm-11.0.0-7def992f0c-6621954e1e.zip b/e2e-tests/.yarn/cache/commander-npm-11.0.0-7def992f0c-6621954e1e.zip new file mode 100644 index 0000000000..978e8ee244 Binary files /dev/null and b/e2e-tests/.yarn/cache/commander-npm-11.0.0-7def992f0c-6621954e1e.zip differ diff --git a/e2e-tests/.yarn/cache/commander-npm-11.1.0-56e979613c-fd1a8557c6.zip b/e2e-tests/.yarn/cache/commander-npm-11.1.0-56e979613c-fd1a8557c6.zip deleted file mode 100644 index 6b16e27dfc..0000000000 Binary files a/e2e-tests/.yarn/cache/commander-npm-11.1.0-56e979613c-fd1a8557c6.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/deep-eql-npm-3.0.1-9a66c09c65-4f4c9fb79e.zip b/e2e-tests/.yarn/cache/deep-eql-npm-3.0.1-9a66c09c65-4f4c9fb79e.zip new file mode 100644 index 0000000000..0c632a27ef Binary files /dev/null and b/e2e-tests/.yarn/cache/deep-eql-npm-3.0.1-9a66c09c65-4f4c9fb79e.zip differ diff --git a/e2e-tests/.yarn/cache/deep-eql-npm-4.1.3-020a64f862-7f6d30cb41.zip b/e2e-tests/.yarn/cache/deep-eql-npm-4.1.3-020a64f862-7f6d30cb41.zip deleted file mode 100644 index 754bfdf3ad..0000000000 Binary files a/e2e-tests/.yarn/cache/deep-eql-npm-4.1.3-020a64f862-7f6d30cb41.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/editorconfig-npm-0.15.3-873be190a7-a94afeda19.zip b/e2e-tests/.yarn/cache/editorconfig-npm-0.15.3-873be190a7-a94afeda19.zip new file mode 100644 index 0000000000..93c8949fdf Binary files /dev/null and b/e2e-tests/.yarn/cache/editorconfig-npm-0.15.3-873be190a7-a94afeda19.zip differ diff --git a/e2e-tests/.yarn/cache/editorconfig-npm-1.0.4-95c5a5b144-09904f1938.zip b/e2e-tests/.yarn/cache/editorconfig-npm-1.0.4-95c5a5b144-09904f1938.zip deleted file mode 100644 index 29db2cb776..0000000000 Binary files a/e2e-tests/.yarn/cache/editorconfig-npm-1.0.4-95c5a5b144-09904f1938.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/envinfo-npm-7.11.0-5631444898-c45a7d2040.zip b/e2e-tests/.yarn/cache/envinfo-npm-7.11.0-5631444898-c45a7d2040.zip deleted file mode 100644 index e9dec103fc..0000000000 Binary files a/e2e-tests/.yarn/cache/envinfo-npm-7.11.0-5631444898-c45a7d2040.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/envinfo-npm-7.8.1-f320033691-de736c98d6.zip b/e2e-tests/.yarn/cache/envinfo-npm-7.8.1-f320033691-de736c98d6.zip new file mode 100644 index 0000000000..006bb8e749 Binary files /dev/null and b/e2e-tests/.yarn/cache/envinfo-npm-7.8.1-f320033691-de736c98d6.zip differ diff --git a/e2e-tests/.yarn/cache/fsevents-npm-2.3.2-a881d6ac9f-97ade64e75.zip b/e2e-tests/.yarn/cache/fsevents-npm-2.3.2-a881d6ac9f-97ade64e75.zip new file mode 100644 index 0000000000..204c8e4846 Binary files /dev/null and b/e2e-tests/.yarn/cache/fsevents-npm-2.3.2-a881d6ac9f-97ade64e75.zip differ diff --git a/e2e-tests/.yarn/cache/fsevents-patch-2882183fbf-8.zip b/e2e-tests/.yarn/cache/fsevents-patch-2882183fbf-8.zip new file mode 100644 index 0000000000..c4511f19bd Binary files /dev/null and b/e2e-tests/.yarn/cache/fsevents-patch-2882183fbf-8.zip differ diff --git a/e2e-tests/.yarn/cache/glob-npm-6.0.1-8e9c8956b1-45fe4fd9d9.zip b/e2e-tests/.yarn/cache/glob-npm-6.0.1-8e9c8956b1-45fe4fd9d9.zip new file mode 100644 index 0000000000..68c6777659 Binary files /dev/null and b/e2e-tests/.yarn/cache/glob-npm-6.0.1-8e9c8956b1-45fe4fd9d9.zip differ diff --git a/e2e-tests/.yarn/cache/glob-npm-6.0.4-dbb227ba4a-c4946c3d01.zip b/e2e-tests/.yarn/cache/glob-npm-6.0.4-dbb227ba4a-c4946c3d01.zip deleted file mode 100644 index 93c0ddfb6f..0000000000 Binary files a/e2e-tests/.yarn/cache/glob-npm-6.0.4-dbb227ba4a-c4946c3d01.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/glob-npm-7.2.3-2d866d17a5-29452e97b3.zip b/e2e-tests/.yarn/cache/glob-npm-7.2.3-2d866d17a5-29452e97b3.zip new file mode 100644 index 0000000000..b2fa0ac329 Binary files /dev/null and b/e2e-tests/.yarn/cache/glob-npm-7.2.3-2d866d17a5-29452e97b3.zip differ diff --git a/e2e-tests/.yarn/cache/joi-npm-17.11.0-66efd6d755-3a4e9ecba3.zip b/e2e-tests/.yarn/cache/joi-npm-17.11.0-66efd6d755-3a4e9ecba3.zip deleted file mode 100644 index 33aedc8b9b..0000000000 Binary files a/e2e-tests/.yarn/cache/joi-npm-17.11.0-66efd6d755-3a4e9ecba3.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/joi-npm-17.6.0-987ef6515f-eaf62f6c02.zip b/e2e-tests/.yarn/cache/joi-npm-17.6.0-987ef6515f-eaf62f6c02.zip new file mode 100644 index 0000000000..524ff4ad21 Binary files /dev/null and b/e2e-tests/.yarn/cache/joi-npm-17.6.0-987ef6515f-eaf62f6c02.zip differ diff --git a/e2e-tests/.yarn/cache/js-beautify-npm-1.14.0-4081e64b10-86a32c6136.zip b/e2e-tests/.yarn/cache/js-beautify-npm-1.14.0-4081e64b10-86a32c6136.zip new file mode 100644 index 0000000000..38147eb925 Binary files /dev/null and b/e2e-tests/.yarn/cache/js-beautify-npm-1.14.0-4081e64b10-86a32c6136.zip differ diff --git a/e2e-tests/.yarn/cache/js-beautify-npm-1.14.11-6578c9c9d5-92512b8dcc.zip b/e2e-tests/.yarn/cache/js-beautify-npm-1.14.11-6578c9c9d5-92512b8dcc.zip deleted file mode 100644 index cd7afa839c..0000000000 Binary files a/e2e-tests/.yarn/cache/js-beautify-npm-1.14.11-6578c9c9d5-92512b8dcc.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/lru-cache-npm-4.1.5-ede304cc43-4bb4b58a36.zip b/e2e-tests/.yarn/cache/lru-cache-npm-4.1.5-ede304cc43-4bb4b58a36.zip new file mode 100644 index 0000000000..ec03fb512b Binary files /dev/null and b/e2e-tests/.yarn/cache/lru-cache-npm-4.1.5-ede304cc43-4bb4b58a36.zip differ diff --git a/e2e-tests/.yarn/cache/minimatch-npm-9.0.1-277fdc6fbd-97f5f5284b.zip b/e2e-tests/.yarn/cache/minimatch-npm-9.0.1-277fdc6fbd-97f5f5284b.zip deleted file mode 100644 index 66cac932f1..0000000000 Binary files a/e2e-tests/.yarn/cache/minimatch-npm-9.0.1-277fdc6fbd-97f5f5284b.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/nopt-npm-5.0.0-304b40fbfe-d35fdec187.zip b/e2e-tests/.yarn/cache/nopt-npm-5.0.0-304b40fbfe-d35fdec187.zip new file mode 100644 index 0000000000..163bffbb60 Binary files /dev/null and b/e2e-tests/.yarn/cache/nopt-npm-5.0.0-304b40fbfe-d35fdec187.zip differ diff --git a/e2e-tests/.yarn/cache/openai-npm-3.2.1-8bb9cccf51-ef3942e9b5.zip b/e2e-tests/.yarn/cache/openai-npm-3.2.1-8bb9cccf51-ef3942e9b5.zip new file mode 100644 index 0000000000..7941e55aba Binary files /dev/null and b/e2e-tests/.yarn/cache/openai-npm-3.2.1-8bb9cccf51-ef3942e9b5.zip differ diff --git a/e2e-tests/.yarn/cache/openai-npm-3.3.0-62dcac56ba-28ccff8c09.zip b/e2e-tests/.yarn/cache/openai-npm-3.3.0-62dcac56ba-28ccff8c09.zip deleted file mode 100644 index c61b95c691..0000000000 Binary files a/e2e-tests/.yarn/cache/openai-npm-3.3.0-62dcac56ba-28ccff8c09.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/parse-function-npm-5.6.10-05344a4ba6-84a8c54e9b.zip b/e2e-tests/.yarn/cache/parse-function-npm-5.6.10-05344a4ba6-84a8c54e9b.zip deleted file mode 100644 index a603a8bbd8..0000000000 Binary files a/e2e-tests/.yarn/cache/parse-function-npm-5.6.10-05344a4ba6-84a8c54e9b.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/parse-function-npm-5.6.4-0246aa45a0-20ced9fbf3.zip b/e2e-tests/.yarn/cache/parse-function-npm-5.6.4-0246aa45a0-20ced9fbf3.zip new file mode 100644 index 0000000000..0f1b8ab7cf Binary files /dev/null and b/e2e-tests/.yarn/cache/parse-function-npm-5.6.4-0246aa45a0-20ced9fbf3.zip differ diff --git a/e2e-tests/.yarn/cache/playwright-core-npm-1.36.0-b8372782e2-d6b5fed5ae.zip b/e2e-tests/.yarn/cache/playwright-core-npm-1.36.0-b8372782e2-d6b5fed5ae.zip deleted file mode 100644 index d42a31c2a7..0000000000 Binary files a/e2e-tests/.yarn/cache/playwright-core-npm-1.36.0-b8372782e2-d6b5fed5ae.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/playwright-core-npm-1.40.1-d5a17fae9e-84d92fb9b8.zip b/e2e-tests/.yarn/cache/playwright-core-npm-1.40.1-d5a17fae9e-84d92fb9b8.zip new file mode 100644 index 0000000000..aef873dd96 Binary files /dev/null and b/e2e-tests/.yarn/cache/playwright-core-npm-1.40.1-d5a17fae9e-84d92fb9b8.zip differ diff --git a/e2e-tests/.yarn/cache/playwright-npm-1.36.0-40ee6045fa-c49ed1666b.zip b/e2e-tests/.yarn/cache/playwright-npm-1.36.0-40ee6045fa-c49ed1666b.zip deleted file mode 100644 index a1e65d7293..0000000000 Binary files a/e2e-tests/.yarn/cache/playwright-npm-1.36.0-40ee6045fa-c49ed1666b.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/playwright-npm-1.40.1-68ec3f34c0-9e36791c1b.zip b/e2e-tests/.yarn/cache/playwright-npm-1.40.1-68ec3f34c0-9e36791c1b.zip new file mode 100644 index 0000000000..9f0ae81b1c Binary files /dev/null and b/e2e-tests/.yarn/cache/playwright-npm-1.40.1-68ec3f34c0-9e36791c1b.zip differ diff --git a/e2e-tests/.yarn/cache/pseudomap-npm-1.0.2-0d0e40fee0-856c0aae0f.zip b/e2e-tests/.yarn/cache/pseudomap-npm-1.0.2-0d0e40fee0-856c0aae0f.zip new file mode 100644 index 0000000000..d2e77cac79 Binary files /dev/null and b/e2e-tests/.yarn/cache/pseudomap-npm-1.0.2-0d0e40fee0-856c0aae0f.zip differ diff --git a/e2e-tests/.yarn/cache/resq-npm-1.10.2-a8597362de-24e2beea86.zip b/e2e-tests/.yarn/cache/resq-npm-1.10.2-a8597362de-24e2beea86.zip new file mode 100644 index 0000000000..c60bed8936 Binary files /dev/null and b/e2e-tests/.yarn/cache/resq-npm-1.10.2-a8597362de-24e2beea86.zip differ diff --git a/e2e-tests/.yarn/cache/resq-npm-1.11.0-cdc288c879-a596c01258.zip b/e2e-tests/.yarn/cache/resq-npm-1.11.0-cdc288c879-a596c01258.zip deleted file mode 100644 index 9b7d9f8687..0000000000 Binary files a/e2e-tests/.yarn/cache/resq-npm-1.11.0-cdc288c879-a596c01258.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/semver-npm-5.7.2-938ee91eaa-fb4ab5e0dd.zip b/e2e-tests/.yarn/cache/semver-npm-5.7.2-938ee91eaa-fb4ab5e0dd.zip new file mode 100644 index 0000000000..1a2673b793 Binary files /dev/null and b/e2e-tests/.yarn/cache/semver-npm-5.7.2-938ee91eaa-fb4ab5e0dd.zip differ diff --git a/e2e-tests/.yarn/cache/sigmund-npm-1.0.1-c0417d7c57-793f81f808.zip b/e2e-tests/.yarn/cache/sigmund-npm-1.0.1-c0417d7c57-793f81f808.zip new file mode 100644 index 0000000000..bd2c8bd114 Binary files /dev/null and b/e2e-tests/.yarn/cache/sigmund-npm-1.0.1-c0417d7c57-793f81f808.zip differ diff --git a/e2e-tests/.yarn/cache/sprintf-js-npm-1.1.1-8504366619-3e283f3c06.zip b/e2e-tests/.yarn/cache/sprintf-js-npm-1.1.1-8504366619-3e283f3c06.zip new file mode 100644 index 0000000000..f81166a652 Binary files /dev/null and b/e2e-tests/.yarn/cache/sprintf-js-npm-1.1.1-8504366619-3e283f3c06.zip differ diff --git a/e2e-tests/.yarn/cache/sprintf-js-npm-1.1.3-b99efd75b2-a3fdac7b49.zip b/e2e-tests/.yarn/cache/sprintf-js-npm-1.1.3-b99efd75b2-a3fdac7b49.zip deleted file mode 100644 index 8e2aa35645..0000000000 Binary files a/e2e-tests/.yarn/cache/sprintf-js-npm-1.1.3-b99efd75b2-a3fdac7b49.zip and /dev/null differ diff --git a/e2e-tests/.yarn/cache/yallist-npm-2.1.2-2e38c366a3-9ba9940920.zip b/e2e-tests/.yarn/cache/yallist-npm-2.1.2-2e38c366a3-9ba9940920.zip new file mode 100644 index 0000000000..6cf78a6abe Binary files /dev/null and b/e2e-tests/.yarn/cache/yallist-npm-2.1.2-2e38c366a3-9ba9940920.zip differ diff --git a/e2e-tests/README.md b/e2e-tests/README.md index 1f0ce5220d..79a30211b5 100644 --- a/e2e-tests/README.md +++ b/e2e-tests/README.md @@ -1,15 +1,16 @@ -# frontend-e2e-tests +# @serlo/e2e-tests integration tests for serlo.org ```sh -git clone https://github.com/serlo/frontend-e2e-tests.git -cd frontend-e2e-tests +cd e2e-tests yarn -yarn test +yarn playwright install +cd .. +yarn e2e ``` -output should look something like that: +The output should look something like that: ![grafik](https://user-images.githubusercontent.com/13507950/210520199-ad502693-8f84-4956-9417-f750a243911d.png) @@ -18,25 +19,25 @@ Tests are written with Playwright (wrapped by CodeceptJS), extensive documentati To run a single test, use `--grep`: ```sh -yarn test --grep "Quickbar" +yarn e2e --grep "Quickbar" ``` You can also run a single file: ```sh -yarn test tests/000-general.ts +yarn e2e tests/000-general.ts ``` Run all editor tests: ```sh -yarn test tests/4*.ts +yarn e2e tests/4*.ts ``` You can run tests on firefox instead of chromium with ```sh -yarn test-firefox +yarn e2e-firefox ``` The tests are written in `/tests`, the file names are setting the order of execution. The browser session is stored between tests, TypeScript is supported. diff --git a/e2e-tests/codecept.config.ts b/e2e-tests/codecept.config.ts index 9a049ffc03..d74adbac53 100644 --- a/e2e-tests/codecept.config.ts +++ b/e2e-tests/codecept.config.ts @@ -29,7 +29,6 @@ exports.config = { : { browser }), }, }, - name: 'frontend-e2e-tests', plugins: { // https://codecept.io/locators/#custom-locators customLocator: { @@ -66,7 +65,7 @@ exports.config = { }, }, }, - pauseOnFail: {}, + ...(isCI ? {} : { pauseOnFail: {} }), retryFailedStep: { enabled: true, }, diff --git a/e2e-tests/package.json b/e2e-tests/package.json index d584a1aae1..12baf4b607 100644 --- a/e2e-tests/package.json +++ b/e2e-tests/package.json @@ -12,12 +12,12 @@ }, "devDependencies": { "@types/node": "^18.16.19", - "codeceptjs": "3.5.2", + "codeceptjs": "3.5.5", "cross-env": "^7.0.3", "dotenv": "^16.3.1", - "playwright": "1.36.0", + "playwright": "^1.40.1", "ts-node": "^10.9.1", - "typescript": "^5.1.6" + "typescript": "^5.3.3" }, "packageManager": "yarn@3.6.1", "engines": { diff --git a/e2e-tests/tests/000-general.ts b/e2e-tests/tests/000-general.ts index 933134ceac..1cf7b96251 100644 --- a/e2e-tests/tests/000-general.ts +++ b/e2e-tests/tests/000-general.ts @@ -171,7 +171,7 @@ Scenario('Donation', ({ I }) => { I.switchTo('iframe') I.waitForText('Bitte gib einen Spendenbetrag ein', 30) I.click('Jetzt spenden') - I.see('Wähle eine Zahlungsart') + I.waitForText('Wähle eine Zahlungsart', 10) I.switchTo() // back from iframe I.amOnPage('/') diff --git a/e2e-tests/tests/100-learners.ts b/e2e-tests/tests/100-learners.ts index 2a24e8b1b3..2678ffdf19 100644 --- a/e2e-tests/tests/100-learners.ts +++ b/e2e-tests/tests/100-learners.ts @@ -196,7 +196,7 @@ Scenario('Video + Injection', ({ I }) => { I.see('dass externe Inhalte von') I.click('Video abspielen von YouTube') I.switchTo('iframe') - I.see('Satz des Pythagoras für rechtwinklige Dreiecke') + I.seeElement('video') }) Scenario('Toggle Solution', ({ I }) => { @@ -229,7 +229,7 @@ Scenario('Taxonomy', ({ I }) => { I.click('2021') // Takes a long time to load - I.waitForText('Berechne', 30) + I.see('Berechne') I.amOnPage('/24370') I.see('Artikel') diff --git a/e2e-tests/yarn.lock b/e2e-tests/yarn.lock index 1340824f1f..b0d935815e 100644 --- a/e2e-tests/yarn.lock +++ b/e2e-tests/yarn.lock @@ -39,20 +39,22 @@ __metadata: languageName: node linkType: hard -"@codeceptjs/configure@npm:^0.8.0": - version: 0.8.0 - resolution: "@codeceptjs/configure@npm:0.8.0" +"@codeceptjs/configure@npm:0.10.0": + version: 0.10.0 + resolution: "@codeceptjs/configure@npm:0.10.0" dependencies: lodash.merge: ^4.6.2 lodash.mergewith: ^4.6.2 - checksum: ec530dcf16a04c9484ee65be88887ad46f4a4b700da7679abe9aa57581f2c43ce156361926f82c0d8c5b63e724e650ea9ea7e71c4af76af55e260a2ab0c8509d + peerDependencies: + codeceptjs: ">= 2.3.3" + checksum: e4556a9c1fdea92ede4a9bae296403d677bf89d5070cf53e7637d62062e00bf40c09fa34345d2fbca468c31d33bc0b3fdc3626e67f8d74a6d589f1e060e52f81 languageName: node linkType: hard -"@codeceptjs/helper@npm:^1.0.2": - version: 1.0.2 - resolution: "@codeceptjs/helper@npm:1.0.2" - checksum: e1f9bdc76c2cf30ef46654c90db83a6cca9ff1e545a0b7a0f41e29fa15c9bfcf66058fd8b0c41d172f7d3ecca0bf07922f0c55db63365c803968e369108233c5 +"@codeceptjs/helper@npm:2.0.1": + version: 2.0.1 + resolution: "@codeceptjs/helper@npm:2.0.1" + checksum: f4dfc1a916943a708b19c172fb34bcb437734f15fa44b8804b794d31b919d3dad4de859c8b8aa1d1a2f40374044987fa6b6bc307258e0cebee2272bf755931ef languageName: node linkType: hard @@ -65,7 +67,7 @@ __metadata: languageName: node linkType: hard -"@cucumber/cucumber-expressions@npm:^16": +"@cucumber/cucumber-expressions@npm:16": version: 16.1.2 resolution: "@cucumber/cucumber-expressions@npm:16.1.2" dependencies: @@ -74,7 +76,7 @@ __metadata: languageName: node linkType: hard -"@cucumber/gherkin@npm:^26": +"@cucumber/gherkin@npm:26": version: 26.2.0 resolution: "@cucumber/gherkin@npm:26.2.0" dependencies: @@ -83,7 +85,7 @@ __metadata: languageName: node linkType: hard -"@cucumber/messages@npm:>=19.1.4 <=22": +"@cucumber/messages@npm:22.0.0, @cucumber/messages@npm:>=19.1.4 <=22": version: 22.0.0 resolution: "@cucumber/messages@npm:22.0.0" dependencies: @@ -95,18 +97,6 @@ __metadata: languageName: node linkType: hard -"@cucumber/messages@npm:^21.0.1": - version: 21.0.1 - resolution: "@cucumber/messages@npm:21.0.1" - dependencies: - "@types/uuid": 8.3.4 - class-transformer: 0.5.1 - reflect-metadata: 0.1.13 - uuid: 9.0.0 - checksum: 01849f35bb38593a3833174e141b78b576e70128be015ebd2e61a86cf0c0e4e43a15ff38ce2a3c6404b5e99dc9cd6b269b8bcb4d014f2e023bf968fe70fdc867 - languageName: node - linkType: hard - "@hapi/hoek@npm:^9.0.0": version: 9.3.0 resolution: "@hapi/hoek@npm:9.3.0" @@ -183,13 +173,6 @@ __metadata: languageName: node linkType: hard -"@one-ini/wasm@npm:0.1.1": - version: 0.1.1 - resolution: "@one-ini/wasm@npm:0.1.1" - checksum: 11de17108eae57c797e552e36b259398aede999b4a689d78be6459652edc37f3428472410590a9d328011a8751b771063a5648dd5c4205631c55d1d58e313156 - languageName: node - linkType: hard - "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -202,12 +185,12 @@ __metadata: resolution: "@serlo/e2e-tests@workspace:." dependencies: "@types/node": ^18.16.19 - codeceptjs: 3.5.2 + codeceptjs: 3.5.5 cross-env: ^7.0.3 dotenv: ^16.3.1 - playwright: 1.36.0 + playwright: ^1.40.1 ts-node: ^10.9.1 - typescript: ^5.1.6 + typescript: ^5.3.3 languageName: unknown linkType: soft @@ -220,7 +203,7 @@ __metadata: languageName: node linkType: hard -"@sideway/formula@npm:^3.0.1": +"@sideway/formula@npm:^3.0.0": version: 3.0.1 resolution: "@sideway/formula@npm:3.0.1" checksum: e4beeebc9dbe2ff4ef0def15cec0165e00d1612e3d7cea0bc9ce5175c3263fc2c818b679bd558957f49400ee7be9d4e5ac90487e1625b4932e15c4aa7919c57a @@ -271,13 +254,6 @@ __metadata: languageName: node linkType: hard -"@types/uuid@npm:8.3.4": - version: 8.3.4 - resolution: "@types/uuid@npm:8.3.4" - checksum: 6f11f3ff70f30210edaa8071422d405e9c1d4e53abbe50fdce365150d3c698fe7bbff65c1e71ae080cbfb8fded860dbb5e174da96fdbbdfcaa3fb3daa474d20f - languageName: node - linkType: hard - "@types/uuid@npm:9.0.1": version: 9.0.1 resolution: "@types/uuid@npm:9.0.1" @@ -285,10 +261,17 @@ __metadata: languageName: node linkType: hard -"@xmldom/xmldom@npm:^0.7.9": - version: 0.7.13 - resolution: "@xmldom/xmldom@npm:0.7.13" - checksum: b4054078530e5fa8ede9677425deff0fce6d965f4c477ca73f8490d8a089e60b8498a15560425a1335f5ff99ecb851ed2c734b0a9a879299a5694302f212f37a +"@xmldom/xmldom@npm:0.8.10": + version: 0.8.10 + resolution: "@xmldom/xmldom@npm:0.8.10" + checksum: 4c136aec31fb3b49aaa53b6fcbfe524d02a1dc0d8e17ee35bd3bf35e9ce1344560481cd1efd086ad1a4821541482528672306d5e37cdbd187f33d7fadd3e2cf0 + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 languageName: node linkType: hard @@ -306,7 +289,16 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.10.0, acorn@npm:^8.4.1": +"acorn@npm:8.10.0": + version: 8.10.0 + resolution: "acorn@npm:8.10.0" + bin: + acorn: bin/acorn + checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d + languageName: node + linkType: hard + +"acorn@npm:^8.4.1": version: 8.11.2 resolution: "acorn@npm:8.11.2" bin: @@ -425,7 +417,7 @@ __metadata: languageName: node linkType: hard -"arrify@npm:^2.0.1": +"arrify@npm:2.0.1, arrify@npm:^2.0.1": version: 2.0.1 resolution: "arrify@npm:2.0.1" checksum: 067c4c1afd182806a82e4c1cb8acee16ab8b5284fbca1ce29408e6e91281c36bb5b612f6ddfbd40a0f7a7e0c75bf2696eb94c027f6e328d6e9c52465c98e4209 @@ -446,6 +438,17 @@ __metadata: languageName: node linkType: hard +"axios@npm:1.3.3": + version: 1.3.3 + resolution: "axios@npm:1.3.3" + dependencies: + follow-redirects: ^1.15.0 + form-data: ^4.0.0 + proxy-from-env: ^1.1.0 + checksum: b734a4bc348e2fa27150a7d4289d783fa405feb3f79f8daf28fd05813a12c8525ae9d3854aafe7ba041b005a4a751a0ba3b923331ceed41296ae14c7e54e2f26 + languageName: node + linkType: hard + "axios@npm:^0.26.0": version: 0.26.1 resolution: "axios@npm:0.26.1" @@ -455,17 +458,6 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.3.3": - version: 1.6.2 - resolution: "axios@npm:1.6.2" - dependencies: - follow-redirects: ^1.15.0 - form-data: ^4.0.0 - proxy-from-env: ^1.1.0 - checksum: 4a7429e2b784be0f2902ca2680964391eae7236faa3967715f30ea45464b98ae3f1c6f631303b13dfe721b17126b01f486c7644b9ef276bfc63112db9fd379f8 - languageName: node - linkType: hard - "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -587,7 +579,7 @@ __metadata: languageName: node linkType: hard -"chai-deep-match@npm:^1.2.1": +"chai-deep-match@npm:1.2.1": version: 1.2.1 resolution: "chai-deep-match@npm:1.2.1" dependencies: @@ -600,18 +592,28 @@ __metadata: languageName: node linkType: hard -"chai@npm:^4.3.6": - version: 4.3.10 - resolution: "chai@npm:4.3.10" +"chai@npm:4.3.6": + version: 4.3.6 + resolution: "chai@npm:4.3.6" dependencies: assertion-error: ^1.1.0 - check-error: ^1.0.3 - deep-eql: ^4.1.3 - get-func-name: ^2.0.2 - loupe: ^2.3.6 + check-error: ^1.0.2 + deep-eql: ^3.0.1 + get-func-name: ^2.0.0 + loupe: ^2.3.1 pathval: ^1.1.1 - type-detect: ^4.0.8 - checksum: 536668c60a0d985a0fbd94418028e388d243a925d7c5e858c7443e334753511614a3b6a124bac9ca077dfc4c37acc367d62f8c294960f440749536dc181dfc6d + type-detect: ^4.0.5 + checksum: acff93fd537f96d4a4d62dd83810285dffcfccb5089e1bf2a1205b28ec82d93dff551368722893cf85004282df10ee68802737c33c90c5493957ed449ed7ce71 + languageName: node + linkType: hard + +"chalk@npm:4.1.2, chalk@npm:^4.1.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc languageName: node linkType: hard @@ -626,16 +628,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.1.0, chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: ^4.1.0 - supports-color: ^7.1.0 - checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc - languageName: node - linkType: hard - "chardet@npm:^0.7.0": version: 0.7.0 resolution: "chardet@npm:0.7.0" @@ -643,7 +635,7 @@ __metadata: languageName: node linkType: hard -"check-error@npm:^1.0.3": +"check-error@npm:^1.0.2": version: 1.0.3 resolution: "check-error@npm:1.0.3" dependencies: @@ -751,51 +743,51 @@ __metadata: languageName: node linkType: hard -"codeceptjs@npm:3.5.2": - version: 3.5.2 - resolution: "codeceptjs@npm:3.5.2" - dependencies: - "@codeceptjs/configure": ^0.8.0 - "@codeceptjs/helper": ^1.0.2 - "@cucumber/cucumber-expressions": ^16 - "@cucumber/gherkin": ^26 - "@cucumber/messages": ^21.0.1 - "@xmldom/xmldom": ^0.7.9 - acorn: ^8.10.0 - arrify: ^2.0.1 - axios: ^1.3.3 - chai: ^4.3.6 - chai-deep-match: ^1.2.1 - chalk: ^4.1.2 - commander: ^11.0.0 - cross-spawn: ^7.0.3 - css-to-xpath: ^0.1.0 - envinfo: ^7.8.1 - escape-string-regexp: ^4.0.0 - figures: ^3.2.0 - fn-args: ^4.0.0 - fs-extra: ^8.1.0 - glob: ^6.0.1 - html-minifier: ^4.0.0 - inquirer: ^6.5.2 - joi: ^17.6.0 - js-beautify: ^1.14.0 - lodash.clonedeep: ^4.5.0 - lodash.merge: ^4.6.2 - mkdirp: ^1.0.4 - mocha: ^10.2.0 - ms: ^2.1.3 - openai: ^3.2.1 - ora-classic: ^5.4.2 - parse-function: ^5.6.4 - parse5: ^7.1.2 - promise-retry: ^1.1.1 - resq: ^1.10.2 - sprintf-js: ^1.1.1 - uuid: ^9.0 +"codeceptjs@npm:3.5.5": + version: 3.5.5 + resolution: "codeceptjs@npm:3.5.5" + dependencies: + "@codeceptjs/configure": 0.10.0 + "@codeceptjs/helper": 2.0.1 + "@cucumber/cucumber-expressions": 16 + "@cucumber/gherkin": 26 + "@cucumber/messages": 22.0.0 + "@xmldom/xmldom": 0.8.10 + acorn: 8.10.0 + arrify: 2.0.1 + axios: 1.3.3 + chai: 4.3.6 + chai-deep-match: 1.2.1 + chalk: 4.1.2 + commander: 11.0.0 + cross-spawn: 7.0.3 + css-to-xpath: 0.1.0 + envinfo: 7.8.1 + escape-string-regexp: 4.0.0 + figures: 3.2.0 + fn-args: 4.0.0 + fs-extra: 8.1.0 + glob: 6.0.1 + html-minifier: 4.0.0 + inquirer: 6.5.2 + joi: 17.6.0 + js-beautify: 1.14.0 + lodash.clonedeep: 4.5.0 + lodash.merge: 4.6.2 + mkdirp: 1.0.4 + mocha: 10.2.0 + ms: 2.1.3 + openai: 3.2.1 + ora-classic: 5.4.2 + parse-function: 5.6.4 + parse5: 7.1.2 + promise-retry: 1.1.1 + resq: 1.10.2 + sprintf-js: 1.1.1 + uuid: 9.0 bin: codeceptjs: bin/codecept.js - checksum: b1b3f19d62419e42685598789639051f81a74b7ce8e618d05c986011b99ad06e9ea016bbfa51216897e8a662f87123cb206d17d9ac923ab00524b7c16b431000 + checksum: 4f351b7385d719523d7421b05b85e50cc450c4f41f63e9a69b87be8b8bb8100a55ddcd51c45f39aa04a738fc8f7a7f2e8c20777f30300e2f23e6d17f3f520b6c languageName: node linkType: hard @@ -840,17 +832,10 @@ __metadata: languageName: node linkType: hard -"commander@npm:^10.0.0": - version: 10.0.1 - resolution: "commander@npm:10.0.1" - checksum: 436901d64a818295803c1996cd856621a74f30b9f9e28a588e726b2b1670665bccd7c1a77007ebf328729f0139838a88a19265858a0fa7a8728c4656796db948 - languageName: node - linkType: hard - -"commander@npm:^11.0.0": - version: 11.1.0 - resolution: "commander@npm:11.1.0" - checksum: fd1a8557c6b5b622c89ecdfde703242ab7db3b628ea5d1755784c79b8e7cb0d74d65b4a262289b533359cd58e1bfc0bf50245dfbcd2954682a6f367c828b79ef +"commander@npm:11.0.0": + version: 11.0.0 + resolution: "commander@npm:11.0.0" + checksum: 6621954e1e1d078b4991c1f5bbd9439ad37aa7768d6ab4842de1dbd4d222c8a27e1b8e62108b3a92988614af45031d5bb2a2aaa92951f4d0c934d1a1ac564bb4 languageName: node linkType: hard @@ -868,7 +853,7 @@ __metadata: languageName: node linkType: hard -"config-chain@npm:^1.1.13": +"config-chain@npm:^1.1.12": version: 1.1.13 resolution: "config-chain@npm:1.1.13" dependencies: @@ -897,7 +882,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -908,7 +893,7 @@ __metadata: languageName: node linkType: hard -"css-to-xpath@npm:^0.1.0": +"css-to-xpath@npm:0.1.0": version: 0.1.0 resolution: "css-to-xpath@npm:0.1.0" dependencies: @@ -937,12 +922,12 @@ __metadata: languageName: node linkType: hard -"deep-eql@npm:^4.1.3": - version: 4.1.3 - resolution: "deep-eql@npm:4.1.3" +"deep-eql@npm:^3.0.1": + version: 3.0.1 + resolution: "deep-eql@npm:3.0.1" dependencies: type-detect: ^4.0.0 - checksum: 7f6d30cb41c713973dc07eaadded848b2ab0b835e518a88b91bea72f34e08c4c71d167a722a6f302d3a6108f05afd8e6d7650689a84d5d29ec7fe6220420397f + checksum: 4f4c9fb79eb994fb6e81d4aa8b063adc40c00f831588aa65e20857d5d52f15fb23034a6576ecf886f7ff6222d5ae42e71e9b7d57113e0715b1df7ea1e812b125 languageName: node linkType: hard @@ -997,17 +982,17 @@ __metadata: languageName: node linkType: hard -"editorconfig@npm:^1.0.3": - version: 1.0.4 - resolution: "editorconfig@npm:1.0.4" +"editorconfig@npm:^0.15.3": + version: 0.15.3 + resolution: "editorconfig@npm:0.15.3" dependencies: - "@one-ini/wasm": 0.1.1 - commander: ^10.0.0 - minimatch: 9.0.1 - semver: ^7.5.3 + commander: ^2.19.0 + lru-cache: ^4.1.5 + semver: ^5.6.0 + sigmund: ^1.0.1 bin: editorconfig: bin/editorconfig - checksum: 09904f19381b3ddf132cea0762971aba887236f387be3540909e96b8eb9337e1793834e10f06890cd8e8e7bb1ba80cb13e7d50a863f227806c9ca74def4165fb + checksum: a94afeda19f12a4bcc4a573f0858df13dd3a2d1a3268cc0f17a6326ebe7ddd6cb0c026f8e4e73c17d34f3892bf6f8b561512d9841e70063f61da71b4c57dc5f0 languageName: node linkType: hard @@ -1048,12 +1033,12 @@ __metadata: languageName: node linkType: hard -"envinfo@npm:^7.8.1": - version: 7.11.0 - resolution: "envinfo@npm:7.11.0" +"envinfo@npm:7.8.1": + version: 7.8.1 + resolution: "envinfo@npm:7.8.1" bin: envinfo: dist/cli.js - checksum: c45a7d20409d5f4cda72483b150d3816b15b434f2944d72c1495d8838bd7c4e7b2f32c12128ffb9b92b5f66f436237b8a525eb3a9a5da2d20013bc4effa28aef + checksum: de736c98d6311c78523628ff127af138451b162e57af5293c1b984ca821d0aeb9c849537d2fde0434011bed33f6bca5310ca2aab8a51a3f28fc719e89045d648 languageName: node linkType: hard @@ -1078,7 +1063,7 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:4.0.0, escape-string-regexp@npm:^4.0.0": +"escape-string-regexp@npm:4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 @@ -1117,21 +1102,21 @@ __metadata: languageName: node linkType: hard -"figures@npm:^2.0.0": - version: 2.0.0 - resolution: "figures@npm:2.0.0" +"figures@npm:3.2.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" dependencies: escape-string-regexp: ^1.0.5 - checksum: 081beb16ea57d1716f8447c694f637668322398b57017b20929376aaf5def9823b35245b734cdd87e4832dc96e9c6f46274833cada77bfe15e5f980fea1fd21f + checksum: 85a6ad29e9aca80b49b817e7c89ecc4716ff14e3779d9835af554db91bac41c0f289c418923519392a1e582b4d10482ad282021330cd045bb7b80c84152f2a2b languageName: node linkType: hard -"figures@npm:^3.2.0": - version: 3.2.0 - resolution: "figures@npm:3.2.0" +"figures@npm:^2.0.0": + version: 2.0.0 + resolution: "figures@npm:2.0.0" dependencies: escape-string-regexp: ^1.0.5 - checksum: 85a6ad29e9aca80b49b817e7c89ecc4716ff14e3779d9835af554db91bac41c0f289c418923519392a1e582b4d10482ad282021330cd045bb7b80c84152f2a2b + checksum: 081beb16ea57d1716f8447c694f637668322398b57017b20929376aaf5def9823b35245b734cdd87e4832dc96e9c6f46274833cada77bfe15e5f980fea1fd21f languageName: node linkType: hard @@ -1163,7 +1148,7 @@ __metadata: languageName: node linkType: hard -"fn-args@npm:^4.0.0": +"fn-args@npm:4.0.0": version: 4.0.0 resolution: "fn-args@npm:4.0.0" checksum: 22cc41e5de4e1feb27ab6848197c01cf59daac40cdd6976dd5de6c57d7d5a3a861c6eec58f037709e0fe8e63e8b783e744b15b4076059c8effeca3c472e90a2e @@ -1201,7 +1186,7 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^8.1.0": +"fs-extra@npm:8.1.0": version: 8.1.0 resolution: "fs-extra@npm:8.1.0" dependencies: @@ -1237,6 +1222,16 @@ __metadata: languageName: node linkType: hard +"fsevents@npm:2.3.2": + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: latest + checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f + conditions: os=darwin + languageName: node + linkType: hard + "fsevents@npm:~2.3.2": version: 2.3.3 resolution: "fsevents@npm:2.3.3" @@ -1247,6 +1242,15 @@ __metadata: languageName: node linkType: hard +"fsevents@patch:fsevents@2.3.2#~builtin": + version: 2.3.2 + resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=df0bf1" + dependencies: + node-gyp: latest + conditions: os=darwin + languageName: node + linkType: hard + "fsevents@patch:fsevents@~2.3.2#~builtin": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#~builtin::version=2.3.3&hash=df0bf1" @@ -1263,7 +1267,7 @@ __metadata: languageName: node linkType: hard -"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": +"get-func-name@npm:^2.0.0, get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": version: 2.0.2 resolution: "get-func-name@npm:2.0.2" checksum: 3f62f4c23647de9d46e6f76d2b3eafe58933a9b3830c60669e4180d6c601ce1b4aa310ba8366143f55e52b139f992087a9f0647274e8745621fa2af7e0acf13b @@ -1279,6 +1283,19 @@ __metadata: languageName: node linkType: hard +"glob@npm:6.0.1": + version: 6.0.1 + resolution: "glob@npm:6.0.1" + dependencies: + inflight: ^1.0.4 + inherits: 2 + minimatch: 2 || 3 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 45fe4fd9d945e9477c3a01149e502cd0cfe31e4c9ec694e07c7c0f6517668f971993193961f8b37907caec8a2453da8b576fcd4d904ede988c2b204129bb2106 + languageName: node + linkType: hard + "glob@npm:7.2.0": version: 7.2.0 resolution: "glob@npm:7.2.0" @@ -1293,7 +1310,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.3": +"glob@npm:^10.2.2, glob@npm:^10.3.10": version: 10.3.10 resolution: "glob@npm:10.3.10" dependencies: @@ -1308,16 +1325,17 @@ __metadata: languageName: node linkType: hard -"glob@npm:^6.0.1": - version: 6.0.4 - resolution: "glob@npm:6.0.4" +"glob@npm:^7.1.3": + version: 7.2.3 + resolution: "glob@npm:7.2.3" dependencies: + fs.realpath: ^1.0.0 inflight: ^1.0.4 inherits: 2 - minimatch: 2 || 3 + minimatch: ^3.1.1 once: ^1.3.0 path-is-absolute: ^1.0.0 - checksum: c4946c3d015ac81f704d185f2b3a55eb670100693c2cf7bc833d0efd970ec727d860d4839a5178e46a7e594b34a34661bae2f4c3405727c9fd189f84954ca3c0 + checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 languageName: node linkType: hard @@ -1351,7 +1369,7 @@ __metadata: languageName: node linkType: hard -"html-minifier@npm:^4.0.0": +"html-minifier@npm:4.0.0": version: 4.0.0 resolution: "html-minifier@npm:4.0.0" dependencies: @@ -1458,7 +1476,7 @@ __metadata: languageName: node linkType: hard -"inquirer@npm:^6.5.2": +"inquirer@npm:6.5.2": version: 6.5.2 resolution: "inquirer@npm:6.5.2" dependencies: @@ -1587,32 +1605,32 @@ __metadata: languageName: node linkType: hard -"joi@npm:^17.6.0": - version: 17.11.0 - resolution: "joi@npm:17.11.0" +"joi@npm:17.6.0": + version: 17.6.0 + resolution: "joi@npm:17.6.0" dependencies: "@hapi/hoek": ^9.0.0 "@hapi/topo": ^5.0.0 "@sideway/address": ^4.1.3 - "@sideway/formula": ^3.0.1 + "@sideway/formula": ^3.0.0 "@sideway/pinpoint": ^2.0.0 - checksum: 3a4e9ecba345cdafe585e7ed8270a44b39718e11dff3749aa27e0001a63d578b75100c062be28e6f48f960b594864034e7a13833f33fbd7ad56d5ce6b617f9bf + checksum: eaf62f6c02f2edb1042f1ab04fc23a5918a2cb8f54bec84c6e1033624d8a462c10ae9518af55a3ba84f1793960450d58094eda308e7ef93c17edd4e3c8ef31d5 languageName: node linkType: hard -"js-beautify@npm:^1.14.0": - version: 1.14.11 - resolution: "js-beautify@npm:1.14.11" +"js-beautify@npm:1.14.0": + version: 1.14.0 + resolution: "js-beautify@npm:1.14.0" dependencies: - config-chain: ^1.1.13 - editorconfig: ^1.0.3 - glob: ^10.3.3 - nopt: ^7.2.0 + config-chain: ^1.1.12 + editorconfig: ^0.15.3 + glob: ^7.1.3 + nopt: ^5.0.0 bin: css-beautify: js/bin/css-beautify.js html-beautify: js/bin/html-beautify.js js-beautify: js/bin/js-beautify.js - checksum: 92512b8dcc54330fe075569fd0226a1960da3fbb68f91e35dbfb110cc2b85e53e3ef17878c8be88b0888277bc5d51b1a692d72a00142d653ce7a8cbd48c66ee0 + checksum: 86a32c61364f9266d070b0a3b56c451b09d418d26030216ffdcb770b5bd06184c00ac9eb53ccf7765503bb74022a9e177b72bc043b9e6b8a8f22ca8569c3aef6 languageName: node linkType: hard @@ -1657,14 +1675,14 @@ __metadata: languageName: node linkType: hard -"lodash.clonedeep@npm:^4.5.0": +"lodash.clonedeep@npm:4.5.0": version: 4.5.0 resolution: "lodash.clonedeep@npm:4.5.0" checksum: 92c46f094b064e876a23c97f57f81fbffd5d760bf2d8a1c61d85db6d1e488c66b0384c943abee4f6af7debf5ad4e4282e74ff83177c9e63d8ff081a4837c3489 languageName: node linkType: hard -"lodash.merge@npm:^4.6.2": +"lodash.merge@npm:4.6.2, lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" checksum: ad580b4bdbb7ca1f7abf7e1bce63a9a0b98e370cf40194b03380a46b4ed799c9573029599caebc1b14e3f24b111aef72b96674a56cfa105e0f5ac70546cdc005 @@ -1695,7 +1713,7 @@ __metadata: languageName: node linkType: hard -"loupe@npm:^2.3.6": +"loupe@npm:^2.3.1": version: 2.3.7 resolution: "loupe@npm:2.3.7" dependencies: @@ -1718,6 +1736,16 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^4.1.5": + version: 4.1.5 + resolution: "lru-cache@npm:4.1.5" + dependencies: + pseudomap: ^1.0.2 + yallist: ^2.1.2 + checksum: 4bb4b58a36cd7dc4dcec74cbe6a8f766a38b7426f1ff59d4cf7d82a2aa9b9565cd1cb98f6ff60ce5cd174524868d7bc9b7b1c294371851356066ca9ac4cf135a + languageName: node + linkType: hard + "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -1783,7 +1811,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:2 || 3, minimatch@npm:^3.0.4": +"minimatch@npm:2 || 3, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -1801,15 +1829,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:9.0.1": - version: 9.0.1 - resolution: "minimatch@npm:9.0.1" - dependencies: - brace-expansion: ^2.0.1 - checksum: 97f5f5284bb57dc65b9415dec7f17a0f6531a33572193991c60ff18450dcfad5c2dad24ffeaf60b5261dccd63aae58cc3306e2209d57e7f88c51295a532d8ec3 - languageName: node - linkType: hard - "minimatch@npm:^9.0.1": version: 9.0.3 resolution: "minimatch@npm:9.0.3" @@ -1903,7 +1922,7 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": +"mkdirp@npm:1.0.4, mkdirp@npm:^1.0.3": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" bin: @@ -1912,7 +1931,7 @@ __metadata: languageName: node linkType: hard -"mocha@npm:^10.2.0": +"mocha@npm:10.2.0": version: 10.2.0 resolution: "mocha@npm:10.2.0" dependencies: @@ -1951,7 +1970,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.1.3": +"ms@npm:2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -2010,7 +2029,18 @@ __metadata: languageName: node linkType: hard -"nopt@npm:^7.0.0, nopt@npm:^7.2.0": +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: 1 + bin: + nopt: bin/nopt.js + checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f + languageName: node + linkType: hard + +"nopt@npm:^7.0.0": version: 7.2.0 resolution: "nopt@npm:7.2.0" dependencies: @@ -2055,17 +2085,17 @@ __metadata: languageName: node linkType: hard -"openai@npm:^3.2.1": - version: 3.3.0 - resolution: "openai@npm:3.3.0" +"openai@npm:3.2.1": + version: 3.2.1 + resolution: "openai@npm:3.2.1" dependencies: axios: ^0.26.0 form-data: ^4.0.0 - checksum: 28ccff8c09b6f47828c9583bb3bafc38a8459c76ea10eb9e08ca880f65523c5a9cc6c5f3c7669dded6f4c93e7cf49dd5c4dbfd12732a0f958c923117740d677b + checksum: ef3942e9b527cf27273c4355bb8fb9ebd94ae3a88c12eec0ac51c4ef0ad8c18864683759471597390816bcd822bdc9f2f1cea7a3eb1e432c9101f568f7c6d19a languageName: node linkType: hard -"ora-classic@npm:^5.4.2": +"ora-classic@npm:5.4.2": version: 5.4.2 resolution: "ora-classic@npm:5.4.2" dependencies: @@ -2125,17 +2155,17 @@ __metadata: languageName: node linkType: hard -"parse-function@npm:^5.6.4": - version: 5.6.10 - resolution: "parse-function@npm:5.6.10" +"parse-function@npm:5.6.4": + version: 5.6.4 + resolution: "parse-function@npm:5.6.4" dependencies: "@babel/parser": ^7.8.3 arrify: ^2.0.1 - checksum: 84a8c54e9bf7da1f8856d2008957643dfe821e422bee70d71cefa513788f5489d2fa67ca208a38fac54b911d8e424f42c0b1e761c6cefba6003321303a9d6cfd + checksum: 20ced9fbf3ab3a5a974d14404650b264a58a40a9f18e49a88f8126b15cd8b995c62ac39de32d9e283083a6e7f55e9b9805192dd57c368fd532c11497eacd5188 languageName: node linkType: hard -"parse5@npm:^7.1.2": +"parse5@npm:7.1.2": version: 7.1.2 resolution: "parse5@npm:7.1.2" dependencies: @@ -2189,23 +2219,27 @@ __metadata: languageName: node linkType: hard -"playwright-core@npm:1.36.0": - version: 1.36.0 - resolution: "playwright-core@npm:1.36.0" +"playwright-core@npm:1.40.1": + version: 1.40.1 + resolution: "playwright-core@npm:1.40.1" bin: playwright-core: cli.js - checksum: d6b5fed5ae95238dc36a1be3e2cfd250221810e6a2d20592c29d7044a2d1f96e8e6cfff83d937605b6e26d7c3058231d16784e17979fbb11208880829e406e85 + checksum: 84d92fb9b86e3c225b16b6886bf858eb5059b4e60fa1205ff23336e56a06dcb2eac62650992dede72f406c8e70a7b6a5303e511f9b4bc0b85022ede356a01ee0 languageName: node linkType: hard -"playwright@npm:1.36.0": - version: 1.36.0 - resolution: "playwright@npm:1.36.0" +"playwright@npm:^1.40.1": + version: 1.40.1 + resolution: "playwright@npm:1.40.1" dependencies: - playwright-core: 1.36.0 + fsevents: 2.3.2 + playwright-core: 1.40.1 + dependenciesMeta: + fsevents: + optional: true bin: playwright: cli.js - checksum: c49ed1666b28f8b9177f4682b51e0bc77a83d32265725bc29a8210c0fe83a92e1f1b7051e315a7299fa39c6e952eebe0fe80a22c174569636a27a5a737b3aef4 + checksum: 9e36791c1b4a649c104aa365fdd9d049924eeb518c5967c0e921aa38b9b00994aa6ee54784d6c2af194b3b494b6f69772673081ef53c6c4a4b2065af9955c4ba languageName: node linkType: hard @@ -2216,7 +2250,7 @@ __metadata: languageName: node linkType: hard -"promise-retry@npm:^1.1.1": +"promise-retry@npm:1.1.1": version: 1.1.1 resolution: "promise-retry@npm:1.1.1" dependencies: @@ -2250,6 +2284,13 @@ __metadata: languageName: node linkType: hard +"pseudomap@npm:^1.0.2": + version: 1.0.2 + resolution: "pseudomap@npm:1.0.2" + checksum: 856c0aae0ff2ad60881168334448e898ad7a0e45fe7386d114b150084254c01e200c957cf378378025df4e052c7890c5bd933939b0e0d2ecfcc1dc2f0b2991f5 + languageName: node + linkType: hard + "randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" @@ -2318,12 +2359,12 @@ __metadata: languageName: node linkType: hard -"resq@npm:^1.10.2": - version: 1.11.0 - resolution: "resq@npm:1.11.0" +"resq@npm:1.10.2": + version: 1.10.2 + resolution: "resq@npm:1.10.2" dependencies: fast-deep-equal: ^2.0.1 - checksum: a596c0125883246946cf6b9172557265d00334019327c09b84c9016b1e7e876e15c35c81d2f8ed315adf6b93ac035f3d993f9a8b323dcd80ffd6cf8f3eb5cc7e + checksum: 24e2beea8645415d301af011728c4661699ff79b2bb87ba87a75994e7676c962f40c54bdb15fbcfa6dcb74eb390777a841e225f356ac7d6e0be68a3175afcee9 languageName: node linkType: hard @@ -2391,7 +2432,16 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.5.3": +"semver@npm:^5.6.0": + version: 5.7.2 + resolution: "semver@npm:5.7.2" + bin: + semver: bin/semver + checksum: fb4ab5e0dd1c22ce0c937ea390b4a822147a9c53dbd2a9a0132f12fe382902beef4fbf12cf51bb955248d8d15874ce8cd89532569756384f994309825f10b686 + languageName: node + linkType: hard + +"semver@npm:^7.3.5": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -2427,6 +2477,13 @@ __metadata: languageName: node linkType: hard +"sigmund@npm:^1.0.1": + version: 1.0.1 + resolution: "sigmund@npm:1.0.1" + checksum: 793f81f8083ad75ff3903ffd93cf35be8d797e872822cf880aea27ce6db522b508d93ea52ae292bccf357ce34dd5c7faa544cc51c2216e70bbf5fcf09b62707c + languageName: node + linkType: hard + "signal-exit@npm:^3.0.2": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" @@ -2476,10 +2533,10 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:^1.1.1": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: a3fdac7b49643875b70864a9d9b469d87a40dfeaf5d34d9d0c5b1cda5fd7d065531fcb43c76357d62254c57184a7b151954156563a4d6a747015cfb41021cad0 +"sprintf-js@npm:1.1.1": + version: 1.1.1 + resolution: "sprintf-js@npm:1.1.1" + checksum: 3e283f3c06b93bdab2b1fcdffd320dedb0db1a3582da6a3ca1edb6a157311503b7eafe2e6f1de4467060dce028220ac350b111d1796cd28bab725afb72fc7e0c languageName: node linkType: hard @@ -2694,14 +2751,14 @@ __metadata: languageName: node linkType: hard -"type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": +"type-detect@npm:^4.0.0, type-detect@npm:^4.0.5": version: 4.0.8 resolution: "type-detect@npm:4.0.8" checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 languageName: node linkType: hard -"typescript@npm:^5.1.6": +"typescript@npm:^5.3.3": version: 5.3.3 resolution: "typescript@npm:5.3.3" bin: @@ -2711,7 +2768,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@^5.1.6#~builtin": +"typescript@patch:typescript@^5.3.3#~builtin": version: 5.3.3 resolution: "typescript@patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=14eedb" bin: @@ -2776,21 +2833,21 @@ __metadata: languageName: node linkType: hard -"uuid@npm:9.0.0": - version: 9.0.0 - resolution: "uuid@npm:9.0.0" +"uuid@npm:9.0": + version: 9.0.1 + resolution: "uuid@npm:9.0.1" bin: uuid: dist/bin/uuid - checksum: 8dd2c83c43ddc7e1c71e36b60aea40030a6505139af6bee0f382ebcd1a56f6cd3028f7f06ffb07f8cf6ced320b76aea275284b224b002b289f89fe89c389b028 + checksum: 39931f6da74e307f51c0fb463dc2462807531dc80760a9bff1e35af4316131b4fc3203d16da60ae33f07fdca5b56f3f1dd662da0c99fea9aaeab2004780cc5f4 languageName: node linkType: hard -"uuid@npm:^9.0": - version: 9.0.1 - resolution: "uuid@npm:9.0.1" +"uuid@npm:9.0.0": + version: 9.0.0 + resolution: "uuid@npm:9.0.0" bin: uuid: dist/bin/uuid - checksum: 39931f6da74e307f51c0fb463dc2462807531dc80760a9bff1e35af4316131b4fc3203d16da60ae33f07fdca5b56f3f1dd662da0c99fea9aaeab2004780cc5f4 + checksum: 8dd2c83c43ddc7e1c71e36b60aea40030a6505139af6bee0f382ebcd1a56f6cd3028f7f06ffb07f8cf6ced320b76aea275284b224b002b289f89fe89c389b028 languageName: node linkType: hard @@ -2882,6 +2939,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^2.1.2": + version: 2.1.2 + resolution: "yallist@npm:2.1.2" + checksum: 9ba99409209f485b6fcb970330908a6d41fa1c933f75e08250316cce19383179a6b70a7e0721b89672ebb6199cc377bf3e432f55100da6a7d6e11902b0a642cb + languageName: node + linkType: hard + "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0"