diff --git a/client/package.json b/client/package.json index 72593b5e2fa..4cf65259fe8 100644 --- a/client/package.json +++ b/client/package.json @@ -147,7 +147,7 @@ "@types/chai": "^4.3.4", "@types/enzyme": "^3.10.12", "@types/enzyme-adapter-react-16": "1.0.6", - "@types/jest": "27.5.2", + "@types/jest": "29.5.0", "@types/jquery": "^3.5.16", "@types/loadable__component": "5.13.4", "@types/lodash-es": "^4.17.6", @@ -178,6 +178,7 @@ "core-js": "2.6.12", "dotenv": "16.0.3", "gatsby-plugin-webpack-bundle-analyser-v2": "1.1.30", + "jest-environment-jsdom": "29.5.0", "jest-json-schema-extended": "1.0.1", "monaco-editor-webpack-plugin": "4.2.0", "react-test-renderer": "16.14.0", diff --git a/client/src/components/profile/components/__snapshots__/timeline-buttons.test.js.snap b/client/src/components/profile/components/__snapshots__/timeline-buttons.test.js.snap index 5aa81e4dab2..703945ba8ea 100644 --- a/client/src/components/profile/components/__snapshots__/timeline-buttons.test.js.snap +++ b/client/src/components/profile/components/__snapshots__/timeline-buttons.test.js.snap @@ -374,7 +374,7 @@ exports[`should check certification page consistency 1`] = `
  • snapshot when isHonest is false: Honesty 1`] = - Object { + { "email": "support@freecodecamp.org", } @@ -94,7 +94,7 @@ exports[` snapshot when isHonest is true: HonestyAccepted - Object { + { "email": "support@freecodecamp.org", } diff --git a/client/src/components/settings/__snapshots__/settings-button.test.js.snap b/client/src/components/settings/__snapshots__/settings-button.test.js.snap index 219bb0227aa..adb005ef22f 100644 --- a/client/src/components/settings/__snapshots__/settings-button.test.js.snap +++ b/client/src/components/settings/__snapshots__/settings-button.test.js.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should check certification button consistency 1`] = ` -Array [ +[
    @@ -11,7 +11,7 @@ Array [
    @@ -1556,7 +1556,7 @@ Array [
    Non-Authenticated user "not accepted terms and conditio
    Non-Authenticated user "not accepted terms and conditio
    Non-Authenticated user "not accepted terms and conditio
    Non-Authenticated user "not accepted terms and conditio
    Non-Authenticated user "not accepted terms and conditio
    Non-Authenticated user "not accepted terms and conditio
    Non-Authenticated user "not accepted terms and conditio
    /jest.transform.js' }, roots: ['.', './client', './api-server'], - transformIgnorePatterns: ['node_modules/(?!(gatsby)/)'], + transformIgnorePatterns: ['node_modules/.pnpm/(?!(nanoid|uuid)@)'], setupFilesAfterEnv: ['./jest.setup.js'], testEnvironment: 'jsdom' }; diff --git a/jest.transform.js b/jest.transform.js index 7a88db36f48..1edfa46fb15 100644 --- a/jest.transform.js +++ b/jest.transform.js @@ -4,7 +4,7 @@ const babelOptions = { '@babel/preset-env', { targets: { - node: 14 + node: 18 } } ], diff --git a/package.json b/package.json index ffdc89f6fd9..8d364b1d3c9 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,7 @@ "@testing-library/dom": "8.20.0", "@testing-library/jest-dom": "5.16.5", "@testing-library/user-event": "13.5.0", - "@types/jest": "27.5.2", + "@types/jest": "29.5.0", "@types/lodash": "4.14.191", "@types/node": "18.15.3", "@types/store": "2.0.2", @@ -133,7 +133,7 @@ "eslint-plugin-testing-library": "4.12.4", "execa": "5.1.1", "husky": "8.0.3", - "jest": "27.5.1", + "jest": "29.5.0", "js-yaml": "3.14.1", "lint-staged": "^13.1.0", "lodash": "4.17.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0724d01fb83..4729fcc2b3f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: '@testing-library/dom': 8.20.0 '@testing-library/jest-dom': 5.16.5 '@testing-library/user-event': 13.5.0 - '@types/jest': 27.5.2 + '@types/jest': 29.5.0 '@types/lodash': 4.14.191 '@types/node': 18.15.3 '@types/store': 2.0.2 @@ -39,7 +39,7 @@ importers: execa: 5.1.1 husky: 8.0.3 invariant: 2.2.4 - jest: 27.5.1 + jest: 29.5.0 js-yaml: 3.14.1 lint-staged: ^13.1.0 lodash: 4.17.21 @@ -70,7 +70,7 @@ importers: '@testing-library/dom': 8.20.0 '@testing-library/jest-dom': 5.16.5 '@testing-library/user-event': 13.5.0_yxlyej73nftwmh2fiao7paxmlm - '@types/jest': 27.5.2 + '@types/jest': 29.5.0 '@types/lodash': 4.14.191 '@types/node': 18.15.3 '@types/store': 2.0.2 @@ -94,7 +94,7 @@ importers: eslint-plugin-testing-library: 4.12.4_jofidmxrjzhj7l6vknpw5ecvfe execa: 5.1.1 husky: 8.0.3 - jest: 27.5.1_ts-node@10.9.1 + jest: 29.5.0_d2dllaz5dte7avnjm55wl7fmsu js-yaml: 3.14.1 lint-staged: 13.1.2 lodash: 4.17.21 @@ -313,7 +313,7 @@ importers: '@types/chai': ^4.3.4 '@types/enzyme': ^3.10.12 '@types/enzyme-adapter-react-16': 1.0.6 - '@types/jest': 27.5.2 + '@types/jest': 29.5.0 '@types/jquery': ^3.5.16 '@types/loadable__component': 5.13.4 '@types/lodash-es': ^4.17.6 @@ -373,6 +373,7 @@ importers: gatsby-source-filesystem: 3.15.0 gatsby-transformer-remark: 4.12.0 i18next: 20.6.1 + jest-environment-jsdom: 29.5.0 jest-json-schema-extended: 1.0.1 jquery: 3.6.4 lodash: 4.17.21 @@ -543,7 +544,7 @@ importers: '@types/chai': 4.3.4 '@types/enzyme': 3.10.12 '@types/enzyme-adapter-react-16': 1.0.6 - '@types/jest': 27.5.2 + '@types/jest': 29.5.0 '@types/jquery': 3.5.16 '@types/loadable__component': 5.13.4 '@types/lodash-es': 4.17.6 @@ -574,6 +575,7 @@ importers: core-js: 2.6.12 dotenv: 16.0.3 gatsby-plugin-webpack-bundle-analyser-v2: 1.1.30_gatsby@3.15.0 + jest-environment-jsdom: 29.5.0 jest-json-schema-extended: 1.0.1 monaco-editor-webpack-plugin: 4.2.0_acdgplvgjqgyl437zc3cj5xopq react-test-renderer: 16.14.0_react@16.14.0 @@ -862,7 +864,7 @@ importers: '@storybook/react': 6.5.16 '@testing-library/jest-dom': 5.16.5 '@testing-library/react': 12.1.5 - '@types/jest': 27.5.2 + '@types/jest': 29.5.0 '@types/react': 16.14.35 '@types/react-dom': ^16.9.17 '@types/testing-library__jest-dom': ^5 @@ -902,7 +904,7 @@ importers: '@storybook/react': 6.5.16_odpllgf5a6mnepgzgajux5mh4y '@testing-library/jest-dom': 5.16.5 '@testing-library/react': 12.1.5_wcqkhtmu7mswc6yz4uyexck3ty - '@types/jest': 27.5.2 + '@types/jest': 29.5.0 '@types/react': 16.14.35 '@types/react-dom': 16.9.17 '@types/testing-library__jest-dom': 5.14.5 @@ -6110,6 +6112,7 @@ packages: jest-message-util: 27.5.1 jest-util: 27.5.1 slash: 3.0.0 + dev: false /@jest/console/28.1.3: resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==} @@ -6180,51 +6183,6 @@ packages: - utf-8-validate dev: false - /@jest/core/27.5.1_ts-node@10.9.1: - resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/console': 27.5.1 - '@jest/reporters': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.15.3 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.8.1 - exit: 0.1.2 - graceful-fs: 4.2.10 - jest-changed-files: 27.5.1 - jest-config: 27.5.1_ts-node@10.9.1 - jest-haste-map: 27.5.1 - jest-message-util: 27.5.1 - jest-regex-util: 27.5.1 - jest-resolve: 27.5.1 - jest-resolve-dependencies: 27.5.1 - jest-runner: 27.5.1 - jest-runtime: 27.5.1 - jest-snapshot: 27.5.1 - jest-util: 27.5.1 - jest-validate: 27.5.1 - jest-watcher: 27.5.1 - micromatch: 4.0.5 - rimraf: 3.0.2 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - /@jest/core/29.5.0: resolution: {integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -6267,6 +6225,48 @@ packages: - ts-node dev: true + /@jest/core/29.5.0_ts-node@10.9.1: + resolution: {integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 29.5.0 + '@jest/reporters': 29.5.0 + '@jest/test-result': 29.5.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 18.15.3 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.8.0 + exit: 0.1.2 + graceful-fs: 4.2.10 + jest-changed-files: 29.5.0 + jest-config: 29.5.0_d2dllaz5dte7avnjm55wl7fmsu + jest-haste-map: 29.5.0 + jest-message-util: 29.5.0 + jest-regex-util: 29.4.3 + jest-resolve: 29.5.0 + jest-resolve-dependencies: 29.5.0 + jest-runner: 29.5.0 + jest-runtime: 29.5.0 + jest-snapshot: 29.5.0 + jest-util: 29.5.0 + jest-validate: 29.5.0 + jest-watcher: 29.5.0 + micromatch: 4.0.5 + pretty-format: 29.5.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + /@jest/environment/27.5.1: resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -6275,6 +6275,7 @@ packages: '@jest/types': 27.5.1 '@types/node': 18.15.3 jest-mock: 27.5.1 + dev: false /@jest/environment/29.5.0: resolution: {integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==} @@ -6291,7 +6292,6 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.4.3 - dev: true /@jest/expect/29.5.0: resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==} @@ -6313,6 +6313,7 @@ packages: jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 + dev: false /@jest/fake-timers/29.5.0: resolution: {integrity: sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==} @@ -6333,6 +6334,7 @@ packages: '@jest/environment': 27.5.1 '@jest/types': 27.5.1 expect: 27.5.1 + dev: false /@jest/globals/29.5.0: resolution: {integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==} @@ -6382,6 +6384,7 @@ packages: v8-to-istanbul: 8.1.1 transitivePeerDependencies: - supports-color + dev: false /@jest/reporters/29.5.0: resolution: {integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==} @@ -6432,7 +6435,6 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.25.24 - dev: true /@jest/source-map/27.5.1: resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} @@ -6441,6 +6443,7 @@ packages: callsites: 3.1.0 graceful-fs: 4.2.10 source-map: 0.6.1 + dev: false /@jest/source-map/29.4.3: resolution: {integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==} @@ -6459,6 +6462,7 @@ packages: '@jest/types': 27.5.1 '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.1 + dev: false /@jest/test-result/28.1.3: resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==} @@ -6490,6 +6494,7 @@ packages: jest-runtime: 27.5.1 transitivePeerDependencies: - supports-color + dev: false /@jest/test-sequencer/29.5.0: resolution: {integrity: sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==} @@ -6545,6 +6550,7 @@ packages: write-file-atomic: 3.0.3 transitivePeerDependencies: - supports-color + dev: false /@jest/transform/29.5.0: resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==} @@ -6621,7 +6627,6 @@ packages: '@types/node': 18.15.3 '@types/yargs': 17.0.22 chalk: 4.1.2 - dev: true /@jridgewell/gen-mapping/0.1.1: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} @@ -7404,6 +7409,7 @@ packages: resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} dependencies: type-detect: 4.0.8 + dev: false /@sinonjs/commons/2.0.0: resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} @@ -7421,6 +7427,7 @@ packages: resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} dependencies: '@sinonjs/commons': 1.8.6 + dev: false /@storybook/addon-a11y/6.5.16_wcqkhtmu7mswc6yz4uyexck3ty: resolution: {integrity: sha512-/e9s34o+TmEhy+Q3/YzbRJ5AJ/Sy0gjZXlvsCrcRpiQLdt5JRbN8s+Lbn/FWxy8U1Tb1wlLYlqjJ+fYi5RrS3A==} @@ -9056,6 +9063,11 @@ packages: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} + /@tootallnate/once/2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + dev: true + /@total-typescript/ts-reset/0.4.2: resolution: {integrity: sha512-vqd7ZUDSrXFVT1n8b2kc3LnklncDQFPvR58yUS1kEP23/nHPAO9l1lMjUfnPrXYYk4Hj54rrLKMW5ipwk7k09A==} dev: true @@ -9191,7 +9203,7 @@ packages: /@types/cors/2.8.13: resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} dependencies: - '@types/node': 18.14.2 + '@types/node': 18.15.3 /@types/debug/0.0.30: resolution: {integrity: sha512-orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ==} @@ -9280,7 +9292,7 @@ packages: resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.14.2 + '@types/node': 18.15.3 /@types/graceful-fs/4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} @@ -9344,11 +9356,11 @@ packages: dependencies: '@types/istanbul-lib-report': 3.0.0 - /@types/jest/27.5.2: - resolution: {integrity: sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==} + /@types/jest/29.5.0: + resolution: {integrity: sha512-3Emr5VOl/aoBwnWcH/EFQvlSAmjV+XtV9GGu5mwdYew5vhQh0IUZx/60x0TzHDu09Bi7HMx10t/namdJw5QIcg==} dependencies: - jest-matcher-utils: 27.5.1 - pretty-format: 27.5.1 + expect: 29.5.0 + pretty-format: 29.5.0 /@types/jquery/3.5.16: resolution: {integrity: sha512-bsI7y4ZgeMkmpG9OM710RRzDFp+w4P1RGiIt30C1mSBT+ExCleeh4HObwgArnDFELmRrOpXgSYN9VF1hj+f1lw==} @@ -9360,6 +9372,14 @@ packages: resolution: {integrity: sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==} dev: true + /@types/jsdom/20.0.1: + resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} + dependencies: + '@types/node': 18.15.3 + '@types/tough-cookie': 4.0.2 + parse5: 7.1.2 + dev: true + /@types/json-patch/0.0.30: resolution: {integrity: sha512-MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw==} @@ -9417,7 +9437,7 @@ packages: /@types/node-fetch/2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 18.14.2 + '@types/node': 18.15.3 form-data: 3.0.1 /@types/node/10.17.60: @@ -9671,7 +9691,7 @@ packages: /@types/testing-library__jest-dom/5.14.5: resolution: {integrity: sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==} dependencies: - '@types/jest': 27.5.2 + '@types/jest': 29.5.0 /@types/through/0.0.30: resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} @@ -9682,6 +9702,10 @@ packages: /@types/tmp/0.0.33: resolution: {integrity: sha512-gVC1InwyVrO326wbBZw+AO3u2vRXz/iRWq9jYhpG4W8LXyIgDv3ZmcLQ5Q4Gs+gFMyqx+viFoFT+l3p61QFCmQ==} + /@types/tough-cookie/4.0.2: + resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} + dev: true + /@types/trusted-types/2.0.3: resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} dev: false @@ -10333,6 +10357,13 @@ packages: acorn: 7.4.1 acorn-walk: 7.2.0 + /acorn-globals/7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + dependencies: + acorn: 8.8.2 + acorn-walk: 8.2.0 + dev: true + /acorn-import-assertions/1.8.0_acorn@8.8.2: resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} peerDependencies: @@ -11057,7 +11088,7 @@ packages: /axios/0.21.4_debug@3.2.7: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: - follow-redirects: 1.15.2_debug@4.3.4 + follow-redirects: 1.15.2_debug@3.2.7 transitivePeerDependencies: - debug @@ -11071,7 +11102,7 @@ packages: /axios/0.22.0_debug@2.2.0: resolution: {integrity: sha512-Z0U3uhqQeg1oNcihswf4ZD57O3NrR1+ZXhxaROaWpDmsDTx7T2HNBV2ulBtie2hwJptu8UvgnJoK+BIqdzh/1w==} dependencies: - follow-redirects: 1.15.2_debug@4.3.4 + follow-redirects: 1.15.2_debug@2.2.0 transitivePeerDependencies: - debug dev: false @@ -11079,7 +11110,7 @@ packages: /axios/0.23.0_debug@2.2.0: resolution: {integrity: sha512-NmvAE4i0YAv5cKq8zlDoPd1VLKAqX5oLuZKs8xkJa4qi6RGn0uhCYFjWtHHC9EM/MwOwYWOs53W+V0aqEXq1sg==} dependencies: - follow-redirects: 1.15.2_debug@4.3.4 + follow-redirects: 1.15.2_debug@2.2.0 transitivePeerDependencies: - debug dev: false @@ -11285,6 +11316,7 @@ packages: slash: 3.0.0 transitivePeerDependencies: - supports-color + dev: false /babel-jest/29.5.0_@babel+core@7.21.3: resolution: {integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==} @@ -11407,6 +11439,7 @@ packages: '@babel/types': 7.21.3 '@types/babel__core': 7.20.0 '@types/babel__traverse': 7.18.3 + dev: false /babel-plugin-jest-hoist/29.5.0: resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==} @@ -12130,6 +12163,7 @@ packages: '@babel/core': 7.21.3 babel-plugin-jest-hoist: 27.5.1 babel-preset-current-node-syntax: 1.0.1_@babel+core@7.21.3 + dev: false /babel-preset-jest/29.5.0_@babel+core@7.21.3: resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==} @@ -12874,7 +12908,7 @@ packages: mississippi: 3.0.0 mkdirp: 0.5.6 move-concurrently: 1.0.1 - promise-inflight: 1.0.1 + promise-inflight: 1.0.1_bluebird@3.7.2 rimraf: 2.7.1 ssri: 6.0.2 unique-filename: 1.1.1 @@ -14336,6 +14370,10 @@ packages: /cssom/0.4.4: resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + /cssom/0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + dev: true + /cssstyle/2.3.0: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} @@ -14468,6 +14506,15 @@ packages: whatwg-mimetype: 2.3.0 whatwg-url: 8.7.0 + /data-urls/3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + dev: true + /dataloader/2.0.0: resolution: {integrity: sha512-YzhyDAwA4TaQIhM5go+vCLmU0UikghC/t9DTQYZR2M/UvZ1MdOhPezSDZcjj9uqQJOMqjLcpWtyW2iNINdlatQ==} @@ -14927,11 +14974,11 @@ packages: /diff-sequences/27.5.1: resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: false /diff-sequences/29.4.3: resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true /diff/4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} @@ -15113,6 +15160,13 @@ packages: dependencies: webidl-conversions: 5.0.0 + /domexception/4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + dependencies: + webidl-conversions: 7.0.0 + dev: true + /domhandler/3.3.0: resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==} engines: {node: '>= 4'} @@ -15291,6 +15345,7 @@ packages: /emittery/0.8.1: resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} engines: {node: '>=10'} + dev: false /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -16614,6 +16669,7 @@ packages: jest-get-type: 27.5.1 jest-matcher-utils: 27.5.1 jest-message-util: 27.5.1 + dev: false /expect/29.5.0: resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==} @@ -16624,7 +16680,6 @@ packages: jest-matcher-utils: 29.5.0 jest-message-util: 29.5.0 jest-util: 29.5.0 - dev: true /express-flash/0.0.2: resolution: {integrity: sha512-QVUR0ZZRCaa8+iPHoUQaQJrQWcQuK/Q+19M7IUIdIEtvwhrA/ifHT7y1CVJI41YfGiOQnbGtn3uvd2vOdgu58A==} @@ -17234,6 +17289,29 @@ packages: optional: true dev: false + /follow-redirects/1.15.2_debug@2.2.0: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 2.2.0 + dev: false + + /follow-redirects/1.15.2_debug@3.2.7: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 3.2.7 + /follow-redirects/1.15.2_debug@4.3.4: resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} engines: {node: '>=4.0'} @@ -19087,6 +19165,13 @@ packages: dependencies: whatwg-encoding: 1.0.5 + /html-encoding-sniffer/3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} + dependencies: + whatwg-encoding: 2.0.0 + dev: true + /html-entities/1.4.0: resolution: {integrity: sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==} @@ -19273,6 +19358,17 @@ packages: transitivePeerDependencies: - supports-color + /http-proxy-agent/5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /http-proxy-middleware/2.0.6_@types+express@4.17.17: resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} engines: {node: '>=12.0.0'} @@ -19308,7 +19404,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2_debug@4.3.4 + follow-redirects: 1.15.2_debug@3.2.7 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -19418,7 +19514,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: false /icss-replace-symbols/1.1.0: resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==} @@ -20349,6 +20444,7 @@ packages: '@jest/types': 27.5.1 execa: 5.1.1 throat: 6.0.2 + dev: false /jest-changed-files/29.5.0: resolution: {integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==} @@ -20383,6 +20479,7 @@ packages: throat: 6.0.2 transitivePeerDependencies: - supports-color + dev: false /jest-circus/29.5.0: resolution: {integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==} @@ -20442,36 +20539,6 @@ packages: - utf-8-validate dev: false - /jest-cli/27.5.1_ts-node@10.9.1: - resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 27.5.1_ts-node@10.9.1 - '@jest/test-result': 27.5.1 - '@jest/types': 27.5.1 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.10 - import-local: 3.1.0 - jest-config: 27.5.1_ts-node@10.9.1 - jest-util: 27.5.1 - jest-validate: 27.5.1 - prompts: 2.4.2 - yargs: 16.2.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - /jest-cli/29.5.0: resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -20500,6 +20567,34 @@ packages: - ts-node dev: true + /jest-cli/29.5.0_d2dllaz5dte7avnjm55wl7fmsu: + resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.5.0_ts-node@10.9.1 + '@jest/test-result': 29.5.0 + '@jest/types': 29.5.0 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.10 + import-local: 3.1.0 + jest-config: 29.5.0_d2dllaz5dte7avnjm55wl7fmsu + jest-util: 29.5.0 + jest-validate: 29.5.0 + prompts: 2.4.2 + yargs: 17.7.1 + transitivePeerDependencies: + - '@types/node' + - supports-color + - ts-node + dev: true + /jest-config/27.5.1: resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -20540,47 +20635,6 @@ packages: - utf-8-validate dev: false - /jest-config/27.5.1_ts-node@10.9.1: - resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - ts-node: '>=9.0.0' - peerDependenciesMeta: - ts-node: - optional: true - dependencies: - '@babel/core': 7.21.3 - '@jest/test-sequencer': 27.5.1 - '@jest/types': 27.5.1 - babel-jest: 27.5.1_@babel+core@7.21.3 - chalk: 4.1.2 - ci-info: 3.8.0 - deepmerge: 4.3.0 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-circus: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-node: 27.5.1 - jest-get-type: 27.5.1 - jest-jasmine2: 27.5.1 - jest-regex-util: 27.5.1 - jest-resolve: 27.5.1 - jest-runner: 27.5.1 - jest-util: 27.5.1 - jest-validate: 27.5.1 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 27.5.1 - slash: 3.0.0 - strip-json-comments: 3.1.1 - ts-node: 10.9.1_cbfmry4sbbh4vatmdrsmatfg5a - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - /jest-config/29.5.0: resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -20658,6 +20712,46 @@ packages: - supports-color dev: true + /jest-config/29.5.0_d2dllaz5dte7avnjm55wl7fmsu: + resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.21.3 + '@jest/test-sequencer': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 18.15.3 + babel-jest: 29.5.0_@babel+core@7.21.3 + chalk: 4.1.2 + ci-info: 3.8.0 + deepmerge: 4.3.0 + glob: 7.2.3 + graceful-fs: 4.2.10 + jest-circus: 29.5.0 + jest-environment-node: 29.5.0 + jest-get-type: 29.4.3 + jest-regex-util: 29.4.3 + jest-resolve: 29.5.0 + jest-runner: 29.5.0 + jest-util: 29.5.0 + jest-validate: 29.5.0 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.5.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + ts-node: 10.9.1_cbfmry4sbbh4vatmdrsmatfg5a + transitivePeerDependencies: + - supports-color + dev: true + /jest-diff/25.5.0: resolution: {integrity: sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==} engines: {node: '>= 8.3'} @@ -20685,6 +20779,7 @@ packages: diff-sequences: 27.5.1 jest-get-type: 27.5.1 pretty-format: 27.5.1 + dev: false /jest-diff/29.5.0: resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} @@ -20694,13 +20789,13 @@ packages: diff-sequences: 29.4.3 jest-get-type: 29.4.3 pretty-format: 29.5.0 - dev: true /jest-docblock/27.5.1: resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: detect-newline: 3.1.0 + dev: false /jest-docblock/29.4.3: resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} @@ -20718,6 +20813,7 @@ packages: jest-get-type: 27.5.1 jest-util: 27.5.1 pretty-format: 27.5.1 + dev: false /jest-each/29.5.0: resolution: {integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==} @@ -20746,6 +20842,30 @@ packages: - canvas - supports-color - utf-8-validate + dev: false + + /jest-environment-jsdom/29.5.0: + resolution: {integrity: sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + '@jest/environment': 29.5.0 + '@jest/fake-timers': 29.5.0 + '@jest/types': 29.5.0 + '@types/jsdom': 20.0.1 + '@types/node': 18.15.3 + jest-mock: 29.5.0 + jest-util: 29.5.0 + jsdom: 20.0.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true /jest-environment-node/27.5.1: resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} @@ -20757,6 +20877,7 @@ packages: '@types/node': 18.15.3 jest-mock: 27.5.1 jest-util: 27.5.1 + dev: false /jest-environment-node/29.5.0: resolution: {integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==} @@ -20782,11 +20903,11 @@ packages: /jest-get-type/27.5.1: resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: false /jest-get-type/29.4.3: resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true /jest-haste-map/26.6.2: resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} @@ -20829,6 +20950,7 @@ packages: walker: 1.0.8 optionalDependencies: fsevents: 2.3.2 + dev: false /jest-haste-map/29.5.0: resolution: {integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==} @@ -20872,6 +20994,7 @@ packages: throat: 6.0.2 transitivePeerDependencies: - supports-color + dev: false /jest-json-schema-extended/1.0.1: resolution: {integrity: sha512-l7I0gBGTarWjlYn7JUWuzGeDJ/ktQ/GAKvazK8rqbn8reE2n1F9rzLEnznIRepMo7RTSWxe3uTI2YkGTov+pjQ==} @@ -20894,6 +21017,7 @@ packages: dependencies: jest-get-type: 27.5.1 pretty-format: 27.5.1 + dev: false /jest-leak-detector/29.5.0: resolution: {integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==} @@ -20921,6 +21045,7 @@ packages: jest-diff: 27.5.1 jest-get-type: 27.5.1 pretty-format: 27.5.1 + dev: false /jest-matcher-utils/29.5.0: resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==} @@ -20930,7 +21055,6 @@ packages: jest-diff: 29.5.0 jest-get-type: 29.4.3 pretty-format: 29.5.0 - dev: true /jest-message-util/27.5.1: resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} @@ -20945,6 +21069,7 @@ packages: pretty-format: 27.5.1 slash: 3.0.0 stack-utils: 2.0.6 + dev: false /jest-message-util/28.1.3: resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} @@ -20974,7 +21099,6 @@ packages: pretty-format: 29.5.0 slash: 3.0.0 stack-utils: 2.0.6 - dev: true /jest-mock/27.5.1: resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} @@ -20982,6 +21106,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@types/node': 18.15.3 + dev: false /jest-mock/29.5.0: resolution: {integrity: sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==} @@ -21002,6 +21127,7 @@ packages: optional: true dependencies: jest-resolve: 27.5.1 + dev: false /jest-pnp-resolver/1.2.3_jest-resolve@29.5.0: resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} @@ -21023,6 +21149,7 @@ packages: /jest-regex-util/27.5.1: resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: false /jest-regex-util/28.0.2: resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} @@ -21043,6 +21170,7 @@ packages: jest-snapshot: 27.5.1 transitivePeerDependencies: - supports-color + dev: false /jest-resolve-dependencies/29.5.0: resolution: {integrity: sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==} @@ -21068,6 +21196,7 @@ packages: resolve: 1.22.1 resolve.exports: 1.1.1 slash: 3.0.0 + dev: false /jest-resolve/29.5.0: resolution: {integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==} @@ -21114,6 +21243,7 @@ packages: - canvas - supports-color - utf-8-validate + dev: false /jest-runner/29.5.0: resolution: {integrity: sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==} @@ -21172,6 +21302,7 @@ packages: strip-bom: 4.0.0 transitivePeerDependencies: - supports-color + dev: false /jest-runtime/29.5.0: resolution: {integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==} @@ -21217,6 +21348,7 @@ packages: dependencies: '@types/node': 18.15.3 graceful-fs: 4.2.10 + dev: false /jest-snapshot/27.5.1: resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} @@ -21246,6 +21378,7 @@ packages: semver: 7.3.8 transitivePeerDependencies: - supports-color + dev: false /jest-snapshot/29.5.0: resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==} @@ -21323,7 +21456,6 @@ packages: ci-info: 3.8.0 graceful-fs: 4.2.10 picomatch: 2.3.1 - dev: true /jest-validate/27.5.1: resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} @@ -21335,6 +21467,7 @@ packages: jest-get-type: 27.5.1 leven: 3.1.0 pretty-format: 27.5.1 + dev: false /jest-validate/29.5.0: resolution: {integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==} @@ -21375,6 +21508,7 @@ packages: chalk: 4.1.2 jest-util: 27.5.1 string-length: 4.0.2 + dev: false /jest-watcher/28.1.3: resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} @@ -21460,27 +21594,6 @@ packages: - utf-8-validate dev: false - /jest/27.5.1_ts-node@10.9.1: - resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 27.5.1_ts-node@10.9.1 - import-local: 3.1.0 - jest-cli: 27.5.1_ts-node@10.9.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - /jest/29.5.0: resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -21501,6 +21614,26 @@ packages: - ts-node dev: true + /jest/29.5.0_d2dllaz5dte7avnjm55wl7fmsu: + resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.5.0_ts-node@10.9.1 + '@jest/types': 29.5.0 + import-local: 3.1.0 + jest-cli: 29.5.0_d2dllaz5dte7avnjm55wl7fmsu + transitivePeerDependencies: + - '@types/node' + - supports-color + - ts-node + dev: true + /jmespath/0.16.0: resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} engines: {node: '>= 0.6.0'} @@ -21637,6 +21770,47 @@ packages: - supports-color - utf-8-validate + /jsdom/20.0.3: + resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} + engines: {node: '>=14'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.8.2 + acorn-globals: 7.0.1 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.4.3 + domexception: 4.0.0 + escodegen: 2.0.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.2 + parse5: 7.1.2 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.2 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.12.1 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + /jsesc/0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -24888,7 +25062,6 @@ packages: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: entities: 4.4.0 - dev: false /parseqs/0.0.6: resolution: {integrity: sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==} @@ -26329,7 +26502,6 @@ packages: '@jest/schemas': 29.4.3 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true /pretty-hrtime/1.0.3: resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} @@ -26381,6 +26553,17 @@ packages: optional: true dev: true + /promise-inflight/1.0.1_bluebird@3.7.2: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + dependencies: + bluebird: 3.7.2 + dev: true + /promise.allsettled/1.0.6: resolution: {integrity: sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg==} engines: {node: '>= 0.4'} @@ -28143,6 +28326,7 @@ packages: /resolve.exports/1.1.1: resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} engines: {node: '>=10'} + dev: false /resolve.exports/2.0.1: resolution: {integrity: sha512-OEJWVeimw8mgQuj3HfkNl4KqRevH7lzeQNaWRPfx0PPse7Jk6ozcsG4FKVgtzDsC1KUF+YlTHh17NcgHOPykLw==} @@ -28467,6 +28651,13 @@ packages: dependencies: xmlchars: 2.2.0 + /saxes/6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + dependencies: + xmlchars: 2.2.0 + dev: true + /scheduler/0.19.1: resolution: {integrity: sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==} dependencies: @@ -29852,7 +30043,7 @@ packages: graphql: 15.8.0 iterall: 1.3.0 symbol-observable: 1.2.0 - ws: 7.4.5 + ws: 7.5.9 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -29936,6 +30127,7 @@ packages: dependencies: has-flag: 4.0.0 supports-color: 7.2.0 + dev: false /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} @@ -30157,6 +30349,7 @@ packages: dependencies: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 + dev: false /terser-webpack-plugin/1.4.5_webpack@4.46.0: resolution: {integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==} @@ -30258,6 +30451,7 @@ packages: /throat/6.0.2: resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + dev: false /throttle-debounce/3.0.1: resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} @@ -30474,7 +30668,6 @@ packages: engines: {node: '>=12'} dependencies: punycode: 2.3.0 - dev: false /traverse/0.6.7: resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} @@ -31388,6 +31581,7 @@ packages: '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.9.0 source-map: 0.7.4 + dev: false /v8-to-istanbul/9.1.0: resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} @@ -31534,6 +31728,13 @@ packages: dependencies: xml-name-validator: 3.0.0 + /w3c-xmlserializer/4.0.0: + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} + dependencies: + xml-name-validator: 4.0.0 + dev: true + /wait-on/7.0.1_debug@4.3.4: resolution: {integrity: sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==} engines: {node: '>=12.0.0'} @@ -31627,7 +31828,6 @@ packages: /webidl-conversions/7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - dev: false /webpack-bundle-analyzer/4.8.0: resolution: {integrity: sha512-ZzoSBePshOKhr+hd8u6oCkZVwpVaXgpw23ScGLFpR6SjYI7+7iIWYarjN6OEYOfRt8o7ZyZZQk0DuMizJ+LEIg==} @@ -31992,6 +32192,13 @@ packages: dependencies: iconv-lite: 0.4.24 + /whatwg-encoding/2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + dependencies: + iconv-lite: 0.6.3 + dev: true + /whatwg-fetch/3.6.2: resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} dev: false @@ -31999,13 +32206,17 @@ packages: /whatwg-mimetype/2.3.0: resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + /whatwg-mimetype/3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + dev: true + /whatwg-url/11.0.0: resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} engines: {node: '>=12'} dependencies: tr46: 3.0.0 webidl-conversions: 7.0.0 - dev: false /whatwg-url/5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -32380,6 +32591,11 @@ packages: /xml-name-validator/3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + /xml-name-validator/4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + /xml/1.0.1: resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==} dev: false diff --git a/tools/challenge-parser/parser/__snapshots__/index.acceptance.test.js.snap b/tools/challenge-parser/parser/__snapshots__/index.acceptance.test.js.snap index 2988fc15d5b..4820dc561df 100644 --- a/tools/challenge-parser/parser/__snapshots__/index.acceptance.test.js.snap +++ b/tools/challenge-parser/parser/__snapshots__/index.acceptance.test.js.snap @@ -1,38 +1,38 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`challenge parser it should not parse directives we do not use 1`] = ` -Object { - "assignments": Array [], - "description": "
    +{ + "assignments": [], + "description": "

    :root appears, :import appears

    the next paragraph should appear

    ::import -

    even though it's an import directive, but if we use the full syntax ::directive-name{attr=\\"name\\" attr2=\\"a/path\\"}

    +

    even though it's an import directive, but if we use the full syntax ::directive-name{attr="name" attr2="a/path"}

    it goes.

    ::: name [inline-content] {key=val} a container directive :::

    ", - "solutions": Array [], - "tests": Array [], + "solutions": [], + "tests": [], } `; exports[`challenge parser it should parse video questions 1`] = ` -Object { - "assignments": Array [], - "description": "
    +{ + "assignments": [], + "description": "

    Paragraph 1

    -
    code example
    +
    code example
     
    ", - "instructions": "
    + "instructions": "

    Paragraph 0

    -
    code example 0
    +
    code example 0
     
    ", - "question": Object { - "answers": Array [ + "question": { + "answers": [ "

    Some inline code

    ", "

    Some italics

    A second answer paragraph.

    ", @@ -40,48 +40,48 @@ Object { ], "solution": 3, "text": "

    Question line 1

    -
      var x = 'y';
    +
      var x = 'y';
     
    ", }, - "solutions": Array [], - "tests": Array [], + "solutions": [], + "tests": [], } `; exports[`challenge parser should import md from other files 1`] = ` -Object { - "assignments": Array [], - "challengeFiles": Array [ - Object { +{ + "assignments": [], + "challengeFiles": [ + { "contents": " ", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "html", "head": "", "id": "", "name": "index", "tail": "", }, - Object { + { "contents": "body { background: green; }", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "css", "head": "", "id": "", "name": "styles", "tail": "", }, - Object { + { "contents": "var x = 'y'; for (let index = 0; index < array.length; index++) { const element = array[index]; // imported from script.md }", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "js", "head": "", "id": "custom-name", @@ -89,23 +89,23 @@ for (let index = 0; index < array.length; index++) { "tail": "", }, ], - "description": "
    + "description": "

    Paragraph 1

    -
    code example
    +
    code example
     
    ", - "instructions": "
    + "instructions": "

    Paragraph 0

    -
    code example 0
    +
    code example 0
     
    ", - "solutions": Array [], - "tests": Array [ - Object { + "solutions": [], + "tests": [ + { "testString": "// test code", "text": "

    First hint

    ", }, - Object { + { "testString": "// more test code", "text": "

    Second hint with code

    ", }, @@ -114,35 +114,35 @@ for (let index = 0; index < array.length; index++) { `; exports[`challenge parser should not mix other YAML with the frontmatter 1`] = ` -Object { - "assignments": Array [], - "challengeFiles": Array [ - Object { +{ + "assignments": [], + "challengeFiles": [ + { "contents": " ", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "html", "head": "", "id": "", "name": "index", "tail": "", }, - Object { + { "contents": "body { background: green; }", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "css", "head": "", "id": "", "name": "styles", "tail": "", }, - Object { + { "contents": "var x = 'y';", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "js", "head": "", "id": "", @@ -150,27 +150,27 @@ Object { "tail": "", }, ], - "description": "
    + "description": "

    Paragraph 1

    -
    code example
    +
    code example
     
    -
    key:
    +
    key:
       - subkey: value
         anothersubkey: another value
     
    ", - "instructions": "
    + "instructions": "

    Paragraph 0

    -
    code example 0
    +
    code example 0
     
    ", - "solutions": Array [], - "tests": Array [ - Object { + "solutions": [], + "tests": [ + { "testString": "// test code", "text": "

    First hint

    ", }, - Object { + { "testString": "// more test code", "text": "

    Second hint with code

    ", }, @@ -179,10 +179,10 @@ Object { `; exports[`challenge parser should parse a more realistic md file 1`] = ` -Object { - "assignments": Array [], - "challengeFiles": Array [ - Object { +{ + "assignments": [], + "challengeFiles": [ + { "contents": "

    CatPhotoApp

    @@ -192,14 +192,14 @@ Object {

    Click here to view more - cat photos.

    - \\"A
    @@ -208,7 +208,7 @@ Object { ", - "editableRegionBoundaries": Array [ + "editableRegionBoundaries": [ 19, 23, ], @@ -218,7 +218,7 @@ Object { "name": "index", "tail": "", }, - Object { + { "contents": "body { background: white; } @@ -231,7 +231,7 @@ h1 { a { color: green; }", - "editableRegionBoundaries": Array [ + "editableRegionBoundaries": [ 7, 9, ], @@ -241,9 +241,9 @@ a { "name": "styles", "tail": "", }, - Object { + { "contents": "var x = 'y';", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "js", "head": " // this runs before the user's code is evaluated.", "id": "final-key", @@ -251,7 +251,7 @@ a { "tail": "", }, ], - "description": "
    + "description": "

    When you add a lower rank heading element to the page, it's implied that you're starting a new subsection.

    After the last h2 element of the second section element, add an h3 element with the text Things cats love:.

    @@ -261,14 +261,14 @@ a {

    ", - "instructions": "
    + "instructions": "

    Do something with the code.

    To test that adjacent tags are handled correctly:

    a bit of code with more after a space and another pair of elements with a space

    ", - "solutions": Array [ - Array [ - Object { + "solutions": [ + [ + { "contents": "

    CatPhotoApp

    @@ -278,14 +278,14 @@ a {

    Click here to view more - cat photos.

    - \\"A
    @@ -300,7 +300,7 @@ a { "name": "index", "tail": "", }, - Object { + { "contents": "body { background: white; } @@ -319,7 +319,7 @@ a { "name": "styles", "tail": "", }, - Object { + { "contents": "var x = 'y';", "ext": "js", "head": "", @@ -329,38 +329,38 @@ a { }, ], ], - "tests": Array [ - Object { + "tests": [ + { "testString": "assert( document.querySelectorAll('main > section')[1] && - code.match(/\\\\<\\\\/section>/g).length == 2 + code.match(/\\<\\/section>/g).length == 2 );", "text": "

    The second section element appears to be missing or does not have both an opening and closing tag.

    ", }, - Object { + { "testString": "assert( document.querySelectorAll('main > section')[1].lastElementChild.nodeName === 'H3' );", "text": "

    There should be an h3 element right above the second section element's closing tag.

    ", }, - Object { + { "testString": "assert( document .querySelectorAll('main > section')[1] .lastElementChild.innerText.toLowerCase() - .replace(/\\\\s+/g, ' ') === 'things cats love:' + .replace(/\\s+/g, ' ') === 'things cats love:' );", "text": "

    The h3 element right above the second section element's closing tag should have the text Things cats love:. Make sure to include the colon at the end of the text.

    ", }, - Object { + { "testString": "const secondSectionLastElemNode = document.querySelectorAll('main > section')[1] .lastElementChild; assert( secondSectionLastElemNode.nodeName === 'H3' && secondSectionLastElemNode.previousElementSibling.innerText .toLowerCase() - .replace(/\\\\s+/g, ' ') === 'cat lists' + .replace(/\\s+/g, ' ') === 'cat lists' );", "text": "

    There should be an h2 element with the text Cat Lists above the last h3 element that is nested in the last section element'. You may have accidentally deleted the h2 element.

    ", }, @@ -369,35 +369,35 @@ assert( `; exports[`challenge parser should parse a simple md file 1`] = ` -Object { - "assignments": Array [], - "challengeFiles": Array [ - Object { +{ + "assignments": [], + "challengeFiles": [ + { "contents": " ", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "html", "head": "", "id": "", "name": "index", "tail": "", }, - Object { + { "contents": "body { background: green; }", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "css", "head": "", "id": "", "name": "styles", "tail": "", }, - Object { + { "contents": "var x = 'y';", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "js", "head": "", "id": "", @@ -405,19 +405,19 @@ Object { "tail": "", }, ], - "description": "
    + "description": "

    Paragraph 1

    -
    code example
    +
    code example
     
    ", - "instructions": "
    + "instructions": "

    Paragraph 0

    -
    code example 0
    +
    code example 0
     
    ", - "solutions": Array [ - Array [ - Object { + "solutions": [ + [ + { "contents": " @@ -428,7 +428,7 @@ Object { "name": "index", "tail": "", }, - Object { + { "contents": "body { background: white; }", @@ -438,7 +438,7 @@ Object { "name": "styles", "tail": "", }, - Object { + { "contents": "var x = 'y'; \`\`", "ext": "js", @@ -449,16 +449,16 @@ Object { }, ], ], - "tests": Array [ - Object { + "tests": [ + { "testString": "// test code", "text": "

    First hint

    ", }, - Object { + { "testString": "// more test code", "text": "

    Second hint with code

    ", }, - Object { + { "testString": "// more test code if(let x of xs) { console.log(x); @@ -470,35 +470,35 @@ if(let x of xs) { `; exports[`challenge parser should parse frontmatter 1`] = ` -Object { - "assignments": Array [], - "challengeFiles": Array [ - Object { +{ + "assignments": [], + "challengeFiles": [ + { "contents": " ", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "html", "head": "", "id": "", "name": "index", "tail": "", }, - Object { + { "contents": "body { background: green; }", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "css", "head": "", "id": "", "name": "styles", "tail": "", }, - Object { + { "contents": "var x = 'y';", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "js", "head": "", "id": "", @@ -507,21 +507,21 @@ Object { }, ], "challengeType": 0, - "description": "
    + "description": "

    Paragraph 1

    -
    code example
    +
    code example
     
    ", "forumTopicId": 18276, "id": "bd7123c8c441eddfaeb5bdef", "isHidden": false, - "solutions": Array [], - "tests": Array [ - Object { + "solutions": [], + "tests": [ + { "testString": "// test code", "text": "

    First hint

    ", }, - Object { + { "testString": "// more test code", "text": "

    Second hint with code

    ", }, @@ -532,35 +532,35 @@ Object { `; exports[`challenge parser should parse gfm strikethrough and frontmatter 1`] = ` -Object { - "assignments": Array [], - "challengeFiles": Array [ - Object { +{ + "assignments": [], + "challengeFiles": [ + { "contents": " ", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "html", "head": "", "id": "", "name": "index", "tail": "", }, - Object { + { "contents": "body { background: green; }", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "css", "head": "", "id": "", "name": "styles", "tail": "", }, - Object { + { "contents": "var x = 'y';", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "js", "head": "", "id": "", @@ -568,9 +568,9 @@ Object { "tail": "", }, ], - "description": "
    + "description": "

    Paragraph 1 Strikethrough text. https://should.not.be.autolinked

    -
    code example
    +
    code example
     
    @@ -587,14 +587,14 @@ Object {
    ", - "instructions": "
    + "instructions": "

    Paragraph 0

    -
    code example 0
    +
    code example 0
     
    ", - "solutions": Array [ - Array [ - Object { + "solutions": [ + [ + { "contents": " @@ -605,7 +605,7 @@ Object { "name": "index", "tail": "", }, - Object { + { "contents": "body { background: white; }", @@ -615,7 +615,7 @@ Object { "name": "styles", "tail": "", }, - Object { + { "contents": "var x = 'y'; \`\`", "ext": "js", @@ -626,16 +626,16 @@ Object { }, ], ], - "tests": Array [ - Object { + "tests": [ + { "testString": "// test code", "text": "

    First hint

    ", }, - Object { + { "testString": "// more test code", "text": "

    Second hint with code

    ", }, - Object { + { "testString": "// more test code if(let x of xs) { console.log(x); diff --git a/tools/challenge-parser/parser/plugins/__snapshots__/add-frontmatter.test.js.snap b/tools/challenge-parser/parser/plugins/__snapshots__/add-frontmatter.test.js.snap index f8c4fefdf7c..cd270cc1777 100644 --- a/tools/challenge-parser/parser/plugins/__snapshots__/add-frontmatter.test.js.snap +++ b/tools/challenge-parser/parser/plugins/__snapshots__/add-frontmatter.test.js.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`process-frontmatter plugin should have an output to match the snapshot 1`] = ` -Object { +{ "challengeType": 0, "forumTopicId": 18276, "id": "bd7123c8c441eddfaeb5bdef", diff --git a/tools/challenge-parser/parser/plugins/__snapshots__/add-seed.test.js.snap b/tools/challenge-parser/parser/plugins/__snapshots__/add-seed.test.js.snap index e406f31a815..c0b8705c3cd 100644 --- a/tools/challenge-parser/parser/plugins/__snapshots__/add-seed.test.js.snap +++ b/tools/challenge-parser/parser/plugins/__snapshots__/add-seed.test.js.snap @@ -1,34 +1,34 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`add-seed plugin should have an output to match the snapshot 1`] = ` -Object { - "challengeFiles": Array [ - Object { +{ + "challengeFiles": [ + { "contents": " ", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "html", "head": "", "id": "", "name": "index", "tail": "", }, - Object { + { "contents": "body { background: green; }", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "css", "head": "", "id": "", "name": "styles", "tail": "", }, - Object { + { "contents": "var x = 'y';", - "editableRegionBoundaries": Array [], + "editableRegionBoundaries": [], "ext": "js", "head": "", "id": "", diff --git a/tools/challenge-parser/parser/plugins/__snapshots__/add-solution.test.js.snap b/tools/challenge-parser/parser/plugins/__snapshots__/add-solution.test.js.snap index 1887744ea1f..0da4a27fd24 100644 --- a/tools/challenge-parser/parser/plugins/__snapshots__/add-solution.test.js.snap +++ b/tools/challenge-parser/parser/plugins/__snapshots__/add-solution.test.js.snap @@ -1,10 +1,10 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`add solution plugin should have an output to match the snapshot 1`] = ` -Object { - "solutions": Array [ - Array [ - Object { +{ + "solutions": [ + [ + { "contents": " @@ -15,7 +15,7 @@ Object { "name": "index", "tail": "", }, - Object { + { "contents": "body { background: white; }", @@ -25,7 +25,7 @@ Object { "name": "styles", "tail": "", }, - Object { + { "contents": "var x = 'y'; \`\`", "ext": "js", diff --git a/tools/challenge-parser/parser/plugins/__snapshots__/add-tests.test.js.snap b/tools/challenge-parser/parser/plugins/__snapshots__/add-tests.test.js.snap index 693f5ff9333..aef10341e47 100644 --- a/tools/challenge-parser/parser/plugins/__snapshots__/add-tests.test.js.snap +++ b/tools/challenge-parser/parser/plugins/__snapshots__/add-tests.test.js.snap @@ -1,17 +1,17 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`add-tests plugin should have an output to match the snapshot 1`] = ` -Object { - "tests": Array [ - Object { +{ + "tests": [ + { "testString": "// test code", "text": "

    First hint

    ", }, - Object { + { "testString": "// more test code", "text": "

    Second hint with code

    ", }, - Object { + { "testString": "// more test code if(let x of xs) { console.log(x); diff --git a/tools/challenge-parser/parser/plugins/__snapshots__/add-text.test.js.snap b/tools/challenge-parser/parser/plugins/__snapshots__/add-text.test.js.snap index d4c9f264e89..7c90c4f0cb4 100644 --- a/tools/challenge-parser/parser/plugins/__snapshots__/add-text.test.js.snap +++ b/tools/challenge-parser/parser/plugins/__snapshots__/add-text.test.js.snap @@ -1,15 +1,15 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`add-text should have an output to match the snapshot 1`] = ` -Object { - "description": "
    +{ + "description": "

    Paragraph 1

    -
    code example
    +
    code example
     
    ", - "instructions": "
    + "instructions": "

    Paragraph 0

    -
    code example 0
    +
    code example 0
     
    ", } diff --git a/tools/challenge-parser/parser/plugins/__snapshots__/add-video-question.test.js.snap b/tools/challenge-parser/parser/plugins/__snapshots__/add-video-question.test.js.snap index 6d204621535..f9833481f62 100644 --- a/tools/challenge-parser/parser/plugins/__snapshots__/add-video-question.test.js.snap +++ b/tools/challenge-parser/parser/plugins/__snapshots__/add-video-question.test.js.snap @@ -1,9 +1,9 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`add-video-question plugin should match the video snapshot 1`] = ` -Object { - "question": Object { - "answers": Array [ +{ + "question": { + "answers": [ "

    Some inline code

    ", "

    Some italics

    A second answer paragraph.

    ", @@ -11,7 +11,7 @@ Object { ], "solution": 3, "text": "

    Question line 1

    -
      var x = 'y';
    +
      var x = 'y';
     
    ", }, } diff --git a/tools/challenge-parser/parser/plugins/__snapshots__/replace-imports.test.js.snap b/tools/challenge-parser/parser/plugins/__snapshots__/replace-imports.test.js.snap index f0451833d8d..765efbab3fb 100644 --- a/tools/challenge-parser/parser/plugins/__snapshots__/replace-imports.test.js.snap +++ b/tools/challenge-parser/parser/plugins/__snapshots__/replace-imports.test.js.snap @@ -1,18 +1,18 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`replace-imports should have an output to match the snapshot 1`] = ` -Object { - "children": Array [ - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { +{ + "children": [ + { + "children": [ + { + "position": { + "end": { "column": 18, "line": 3, "offset": 68, }, - "start": Object { + "start": { "column": 3, "line": 3, "offset": 53, @@ -23,13 +23,13 @@ Object { }, ], "depth": 1, - "position": Object { - "end": Object { + "position": { + "end": { "column": 18, "line": 3, "offset": 68, }, - "start": Object { + "start": { "column": 1, "line": 3, "offset": 51, @@ -37,16 +37,16 @@ Object { }, "type": "heading", }, - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { + { + "children": [ + { + "position": { + "end": { "column": 12, "line": 5, "offset": 81, }, - "start": Object { + "start": { "column": 1, "line": 5, "offset": 70, @@ -56,13 +56,13 @@ Object { "value": "Paragraph 1", }, ], - "position": Object { - "end": Object { + "position": { + "end": { "column": 12, "line": 5, "offset": 81, }, - "start": Object { + "start": { "column": 1, "line": 5, "offset": 70, @@ -70,16 +70,16 @@ Object { }, "type": "paragraph", }, - Object { + { "lang": "html", "meta": null, - "position": Object { - "end": Object { + "position": { + "end": { "column": 4, "line": 9, "offset": 107, }, - "start": Object { + "start": { "column": 1, "line": 7, "offset": 83, @@ -88,16 +88,16 @@ Object { "type": "code", "value": "code example", }, - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { + { + "children": [ + { + "position": { + "end": { "column": 19, "line": 11, "offset": 127, }, - "start": Object { + "start": { "column": 3, "line": 11, "offset": 111, @@ -108,13 +108,13 @@ Object { }, ], "depth": 1, - "position": Object { - "end": Object { + "position": { + "end": { "column": 19, "line": 11, "offset": 127, }, - "start": Object { + "start": { "column": 1, "line": 11, "offset": 109, @@ -122,16 +122,16 @@ Object { }, "type": "heading", }, - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { + { + "children": [ + { + "position": { + "end": { "column": 12, "line": 13, "offset": 140, }, - "start": Object { + "start": { "column": 1, "line": 13, "offset": 129, @@ -141,13 +141,13 @@ Object { "value": "Paragraph 0", }, ], - "position": Object { - "end": Object { + "position": { + "end": { "column": 12, "line": 13, "offset": 140, }, - "start": Object { + "start": { "column": 1, "line": 13, "offset": 129, @@ -155,16 +155,16 @@ Object { }, "type": "paragraph", }, - Object { + { "lang": "html", "meta": null, - "position": Object { - "end": Object { + "position": { + "end": { "column": 4, "line": 17, "offset": 168, }, - "start": Object { + "start": { "column": 1, "line": 15, "offset": 142, @@ -173,16 +173,16 @@ Object { "type": "code", "value": "code example 0", }, - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { + { + "children": [ + { + "position": { + "end": { "column": 12, "line": 19, "offset": 181, }, - "start": Object { + "start": { "column": 3, "line": 19, "offset": 172, @@ -193,13 +193,13 @@ Object { }, ], "depth": 1, - "position": Object { - "end": Object { + "position": { + "end": { "column": 12, "line": 19, "offset": 181, }, - "start": Object { + "start": { "column": 1, "line": 19, "offset": 170, @@ -207,16 +207,16 @@ Object { }, "type": "heading", }, - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { + { + "children": [ + { + "position": { + "end": { "column": 11, "line": 21, "offset": 193, }, - "start": Object { + "start": { "column": 1, "line": 21, "offset": 183, @@ -226,13 +226,13 @@ Object { "value": "First hint", }, ], - "position": Object { - "end": Object { + "position": { + "end": { "column": 11, "line": 21, "offset": 193, }, - "start": Object { + "start": { "column": 1, "line": 21, "offset": 183, @@ -240,16 +240,16 @@ Object { }, "type": "paragraph", }, - Object { + { "lang": "js", "meta": null, - "position": Object { - "end": Object { + "position": { + "end": { "column": 4, "line": 25, "offset": 217, }, - "start": Object { + "start": { "column": 1, "line": 23, "offset": 195, @@ -258,16 +258,16 @@ Object { "type": "code", "value": "// test code", }, - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { + { + "children": [ + { + "position": { + "end": { "column": 18, "line": 27, "offset": 236, }, - "start": Object { + "start": { "column": 1, "line": 27, "offset": 219, @@ -276,14 +276,14 @@ Object { "type": "text", "value": "Second hint with ", }, - Object { - "position": Object { - "end": Object { + { + "position": { + "end": { "column": 24, "line": 27, "offset": 242, }, - "start": Object { + "start": { "column": 18, "line": 27, "offset": 236, @@ -292,14 +292,14 @@ Object { "type": "html", "value": "", }, - Object { - "position": Object { - "end": Object { + { + "position": { + "end": { "column": 28, "line": 27, "offset": 246, }, - "start": Object { + "start": { "column": 24, "line": 27, "offset": 242, @@ -308,14 +308,14 @@ Object { "type": "text", "value": "code", }, - Object { - "position": Object { - "end": Object { + { + "position": { + "end": { "column": 35, "line": 27, "offset": 253, }, - "start": Object { + "start": { "column": 28, "line": 27, "offset": 246, @@ -325,13 +325,13 @@ Object { "value": "", }, ], - "position": Object { - "end": Object { + "position": { + "end": { "column": 35, "line": 27, "offset": 253, }, - "start": Object { + "start": { "column": 1, "line": 27, "offset": 219, @@ -339,16 +339,16 @@ Object { }, "type": "paragraph", }, - Object { + { "lang": "js", "meta": null, - "position": Object { - "end": Object { + "position": { + "end": { "column": 4, "line": 31, "offset": 282, }, - "start": Object { + "start": { "column": 1, "line": 29, "offset": 255, @@ -357,16 +357,16 @@ Object { "type": "code", "value": "// more test code", }, - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { + { + "children": [ + { + "position": { + "end": { "column": 11, "line": 34, "offset": 295, }, - "start": Object { + "start": { "column": 3, "line": 34, "offset": 287, @@ -377,13 +377,13 @@ Object { }, ], "depth": 1, - "position": Object { - "end": Object { + "position": { + "end": { "column": 11, "line": 34, "offset": 295, }, - "start": Object { + "start": { "column": 1, "line": 34, "offset": 285, @@ -391,16 +391,16 @@ Object { }, "type": "heading", }, - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { + { + "children": [ + { + "position": { + "end": { "column": 21, "line": 36, "offset": 317, }, - "start": Object { + "start": { "column": 4, "line": 36, "offset": 300, @@ -411,13 +411,13 @@ Object { }, ], "depth": 2, - "position": Object { - "end": Object { + "position": { + "end": { "column": 21, "line": 36, "offset": 317, }, - "start": Object { + "start": { "column": 1, "line": 36, "offset": 297, @@ -425,16 +425,16 @@ Object { }, "type": "heading", }, - Object { + { "lang": "html", "meta": null, - "position": Object { - "end": Object { + "position": { + "end": { "column": 4, "line": 43, "offset": 364, }, - "start": Object { + "start": { "column": 1, "line": 38, "offset": 319, @@ -446,16 +446,16 @@ Object { ", }, - Object { + { "lang": "css", "meta": null, - "position": Object { - "end": Object { + "position": { + "end": { "column": 4, "line": 49, "offset": 406, }, - "start": Object { + "start": { "column": 1, "line": 45, "offset": 366, @@ -466,17 +466,17 @@ Object { background: green; }", }, - Object { - "children": Array [ - Object { + { + "children": [ + { "alt": "custom-name", - "position": Object { - "end": Object { + "position": { + "end": { "column": 17, "line": 51, "offset": 424, }, - "start": Object { + "start": { "column": 1, "line": 51, "offset": 408, @@ -487,13 +487,13 @@ Object { "url": "", }, ], - "position": Object { - "end": Object { + "position": { + "end": { "column": 17, "line": 51, "offset": 424, }, - "start": Object { + "start": { "column": 1, "line": 51, "offset": 408, @@ -501,16 +501,16 @@ Object { }, "type": "paragraph", }, - Object { + { "lang": "js", "meta": null, - "position": Object { - "end": Object { + "position": { + "end": { "column": 4, "line": 55, "offset": 448, }, - "start": Object { + "start": { "column": 1, "line": 53, "offset": 426, @@ -519,16 +519,16 @@ Object { "type": "code", "value": "var x = 'y';", }, - Object { + { "lang": "js", "meta": null, - "position": Object { - "end": Object { + "position": { + "end": { "column": 4, "line": 6, "offset": 125, }, - "start": Object { + "start": { "column": 1, "line": 1, "offset": 0, @@ -541,13 +541,13 @@ Object { }", }, ], - "position": Object { - "end": Object { + "position": { + "end": { "column": 1, "line": 58, "offset": 476, }, - "start": Object { + "start": { "column": 1, "line": 1, "offset": 0, diff --git a/tools/challenge-parser/parser/plugins/utils/__snapshots__/between-headings.test.js.snap b/tools/challenge-parser/parser/plugins/utils/__snapshots__/between-headings.test.js.snap index a837dae526e..e7c1b54d6f4 100644 --- a/tools/challenge-parser/parser/plugins/utils/__snapshots__/between-headings.test.js.snap +++ b/tools/challenge-parser/parser/plugins/utils/__snapshots__/between-headings.test.js.snap @@ -1,17 +1,17 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`between-headings should match the hints snapshot 1`] = ` -Array [ - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { +[ + { + "children": [ + { + "position": { + "end": { "column": 11, "line": 19, "offset": 142, }, - "start": Object { + "start": { "column": 1, "line": 19, "offset": 132, @@ -21,13 +21,13 @@ Array [ "value": "First hint", }, ], - "position": Object { - "end": Object { + "position": { + "end": { "column": 11, "line": 19, "offset": 142, }, - "start": Object { + "start": { "column": 1, "line": 19, "offset": 132, @@ -35,16 +35,16 @@ Array [ }, "type": "paragraph", }, - Object { + { "lang": "js", "meta": null, - "position": Object { - "end": Object { + "position": { + "end": { "column": 4, "line": 23, "offset": 166, }, - "start": Object { + "start": { "column": 1, "line": 21, "offset": 144, @@ -53,16 +53,16 @@ Array [ "type": "code", "value": "// test code", }, - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { + { + "children": [ + { + "position": { + "end": { "column": 18, "line": 25, "offset": 185, }, - "start": Object { + "start": { "column": 1, "line": 25, "offset": 168, @@ -71,14 +71,14 @@ Array [ "type": "text", "value": "Second hint with ", }, - Object { - "position": Object { - "end": Object { + { + "position": { + "end": { "column": 24, "line": 25, "offset": 191, }, - "start": Object { + "start": { "column": 18, "line": 25, "offset": 185, @@ -87,14 +87,14 @@ Array [ "type": "html", "value": "", }, - Object { - "position": Object { - "end": Object { + { + "position": { + "end": { "column": 28, "line": 25, "offset": 195, }, - "start": Object { + "start": { "column": 24, "line": 25, "offset": 191, @@ -103,14 +103,14 @@ Array [ "type": "text", "value": "code", }, - Object { - "position": Object { - "end": Object { + { + "position": { + "end": { "column": 35, "line": 25, "offset": 202, }, - "start": Object { + "start": { "column": 28, "line": 25, "offset": 195, @@ -120,13 +120,13 @@ Array [ "value": "", }, ], - "position": Object { - "end": Object { + "position": { + "end": { "column": 35, "line": 25, "offset": 202, }, - "start": Object { + "start": { "column": 1, "line": 25, "offset": 168, @@ -134,16 +134,16 @@ Array [ }, "type": "paragraph", }, - Object { + { "lang": "js", "meta": null, - "position": Object { - "end": Object { + "position": { + "end": { "column": 4, "line": 29, "offset": 231, }, - "start": Object { + "start": { "column": 1, "line": 27, "offset": 204, @@ -152,16 +152,16 @@ Array [ "type": "code", "value": "// more test code", }, - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { + { + "children": [ + { + "position": { + "end": { "column": 7, "line": 31, "offset": 239, }, - "start": Object { + "start": { "column": 1, "line": 31, "offset": 233, @@ -170,16 +170,16 @@ Array [ "type": "text", "value": "Third ", }, - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { + { + "children": [ + { + "position": { + "end": { "column": 12, "line": 31, "offset": 244, }, - "start": Object { + "start": { "column": 8, "line": 31, "offset": 240, @@ -189,13 +189,13 @@ Array [ "value": "hint", }, ], - "position": Object { - "end": Object { + "position": { + "end": { "column": 13, "line": 31, "offset": 245, }, - "start": Object { + "start": { "column": 7, "line": 31, "offset": 239, @@ -203,14 +203,14 @@ Array [ }, "type": "emphasis", }, - Object { - "position": Object { - "end": Object { + { + "position": { + "end": { "column": 19, "line": 31, "offset": 251, }, - "start": Object { + "start": { "column": 13, "line": 31, "offset": 245, @@ -219,14 +219,14 @@ Array [ "type": "text", "value": " with ", }, - Object { - "position": Object { - "end": Object { + { + "position": { + "end": { "column": 25, "line": 31, "offset": 257, }, - "start": Object { + "start": { "column": 19, "line": 31, "offset": 251, @@ -235,14 +235,14 @@ Array [ "type": "html", "value": "", }, - Object { - "position": Object { - "end": Object { + { + "position": { + "end": { "column": 29, "line": 31, "offset": 261, }, - "start": Object { + "start": { "column": 25, "line": 31, "offset": 257, @@ -251,14 +251,14 @@ Array [ "type": "text", "value": "code", }, - Object { - "position": Object { - "end": Object { + { + "position": { + "end": { "column": 36, "line": 31, "offset": 268, }, - "start": Object { + "start": { "column": 29, "line": 31, "offset": 261, @@ -267,14 +267,14 @@ Array [ "type": "html", "value": "", }, - Object { - "position": Object { - "end": Object { + { + "position": { + "end": { "column": 41, "line": 31, "offset": 273, }, - "start": Object { + "start": { "column": 36, "line": 31, "offset": 268, @@ -283,14 +283,14 @@ Array [ "type": "text", "value": " and ", }, - Object { - "position": Object { - "end": Object { + { + "position": { + "end": { "column": 54, "line": 31, "offset": 286, }, - "start": Object { + "start": { "column": 41, "line": 31, "offset": 273, @@ -300,13 +300,13 @@ Array [ "value": "inline code", }, ], - "position": Object { - "end": Object { + "position": { + "end": { "column": 54, "line": 31, "offset": 286, }, - "start": Object { + "start": { "column": 1, "line": 31, "offset": 233, @@ -314,16 +314,16 @@ Array [ }, "type": "paragraph", }, - Object { + { "lang": "js", "meta": null, - "position": Object { - "end": Object { + "position": { + "end": { "column": 4, "line": 38, "offset": 353, }, - "start": Object { + "start": { "column": 1, "line": 33, "offset": 288, @@ -339,17 +339,17 @@ if(let x of xs) { `; exports[`between-headings should match the instructions snapshot 1`] = ` -Array [ - Object { - "children": Array [ - Object { - "position": Object { - "end": Object { +[ + { + "children": [ + { + "position": { + "end": { "column": 12, "line": 11, "offset": 89, }, - "start": Object { + "start": { "column": 1, "line": 11, "offset": 78, @@ -359,13 +359,13 @@ Array [ "value": "Paragraph 0", }, ], - "position": Object { - "end": Object { + "position": { + "end": { "column": 12, "line": 11, "offset": 89, }, - "start": Object { + "start": { "column": 1, "line": 11, "offset": 78, @@ -373,16 +373,16 @@ Array [ }, "type": "paragraph", }, - Object { + { "lang": "html", "meta": null, - "position": Object { - "end": Object { + "position": { + "end": { "column": 4, "line": 15, "offset": 117, }, - "start": Object { + "start": { "column": 1, "line": 13, "offset": 91, diff --git a/tools/ui-components/package.json b/tools/ui-components/package.json index 79107c4ef70..db2e41a22f6 100644 --- a/tools/ui-components/package.json +++ b/tools/ui-components/package.json @@ -42,7 +42,7 @@ "@storybook/react": "6.5.16", "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "12.1.5", - "@types/jest": "27.5.2", + "@types/jest": "29.5.0", "@types/react": "16.14.35", "@types/react-dom": "^16.9.17", "@types/testing-library__jest-dom": "^5",