From 202d119e9a22267c2d31bb24c466b861004724f7 Mon Sep 17 00:00:00 2001 From: gtmnayan <50981692+gtm-nayan@users.noreply.github.com> Date: Mon, 15 May 2023 09:04:12 +0545 Subject: [PATCH] chore: convert puppeteer tests to playwright (#8577) --- .github/workflows/ci.yml | 7 +- package.json | 2 +- pnpm-lock.yaml | 422 +----------------- test/custom-elements/index.js | 80 +--- test/helpers.js | 71 +-- .../assert.js | 15 + .../index.js | 108 ++--- .../_config.js | 0 .../main.svelte | 0 .../Svg.svelte | 0 .../_config.js | 0 .../main.svelte | 0 .../Slider.svelte | 0 .../_config.js | 0 .../main.svelte | 0 .../Slider.svelte | 0 .../_config.js | 0 .../main.svelte | 0 .../_config.js | 2 +- .../main.svelte | 0 .../_config.js | 2 +- .../main.svelte | 0 .../_config.js | 2 +- .../main.svelte | 0 .../dynamic-element-custom-element/_config.js | 0 .../main.svelte | 0 .../_config.js | 0 .../main.svelte | 0 .../_config.js | 0 .../main.svelte | 0 .../_config.js | 0 .../main.svelte | 0 .../samples/style_manager-cleanup/_config.js | 0 .../samples/style_manager-cleanup/main.svelte | 0 .../Slider.svelte | 0 .../_config.js | 0 .../main.svelte | 0 .../Slider1.svelte | 0 .../Slider2.svelte | 0 .../_config.js | 0 .../main.svelte | 0 .../Slider1.svelte | 0 .../Slider2.svelte | 0 .../_config.js | 0 .../main.svelte | 0 .../Slider.svelte | 0 .../_config.js | 0 .../main.svelte | 0 .../Slider1.svelte | 0 .../Slider2.svelte | 0 .../_config.js | 0 .../main.svelte | 0 .../Slider1.svelte | 0 .../Slider2.svelte | 0 .../_config.js | 0 .../main.svelte | 0 .../samples/transition-css-out-in/_config.js | 0 .../samples/transition-css-out-in/main.svelte | 0 test/server-side-rendering/index.js | 2 +- 59 files changed, 106 insertions(+), 607 deletions(-) rename test/{runtime-puppeteer => runtime-browser}/assert.js (85%) rename test/{runtime-puppeteer => runtime-browser}/index.js (75%) rename test/{runtime-puppeteer => runtime-browser}/samples/binding-width-height-initialize/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/binding-width-height-initialize/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-css-custom-properties-dynamic-svg/Svg.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-css-custom-properties-dynamic-svg/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-css-custom-properties-dynamic-svg/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-css-custom-properties-dynamic/Slider.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-css-custom-properties-dynamic/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-css-custom-properties-dynamic/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-css-custom-properties/Slider.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-css-custom-properties/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-css-custom-properties/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-event-handler-contenteditable-false/_config.js (84%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-event-handler-contenteditable-false/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-event-handler-contenteditable-spread/_config.js (94%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-event-handler-contenteditable-spread/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-event-handler-contenteditable/_config.js (94%) rename test/{runtime-puppeteer => runtime-browser}/samples/component-event-handler-contenteditable/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/dynamic-element-custom-element/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/dynamic-element-custom-element/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/inline-style-directive-important/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/inline-style-directive-important/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/inline-style-directive-precedence/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/inline-style-directive-precedence/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/inline-style-directive-update-with-spread/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/inline-style-directive-update-with-spread/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/style_manager-cleanup/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/style_manager-cleanup/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-component-css-custom-properties-dynamic/Slider.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-component-css-custom-properties-dynamic/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-component-css-custom-properties-dynamic/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-component-css-custom-properties/Slider1.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-component-css-custom-properties/Slider2.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-component-css-custom-properties/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-component-css-custom-properties/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-component-css-custom-properties2/Slider1.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-component-css-custom-properties2/Slider2.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-component-css-custom-properties2/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-component-css-custom-properties2/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-self-css-custom-properties-dynamic/Slider.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-self-css-custom-properties-dynamic/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-self-css-custom-properties-dynamic/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-self-css-custom-properties/Slider1.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-self-css-custom-properties/Slider2.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-self-css-custom-properties/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-self-css-custom-properties/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-self-css-custom-properties2/Slider1.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-self-css-custom-properties2/Slider2.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-self-css-custom-properties2/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/svelte-self-css-custom-properties2/main.svelte (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/transition-css-out-in/_config.js (100%) rename test/{runtime-puppeteer => runtime-browser}/samples/transition-css-out-in/main.svelte (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2082d2cfba..9479e66a08 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,11 @@ on: pull_request: permissions: contents: read # to fetch code (actions/checkout) + +env: + # We only install Chromium manually + PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: '1' + jobs: Tests: runs-on: ${{ matrix.os }} @@ -30,7 +35,7 @@ jobs: node-version: ${{ matrix.node-version }} cache: pnpm - run: pnpm install --frozen-lockfile - - run: node node_modules/puppeteer/install.js + - run: pnpm playwright install chromium - run: pnpm test:integration env: CI: true diff --git a/package.json b/package.json index 9c2ada6782..da403b4b78 100644 --- a/package.json +++ b/package.json @@ -114,6 +114,7 @@ "devDependencies": { "@ampproject/remapping": "^2.2.1", "@jridgewell/sourcemap-codec": "^1.4.15", + "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-node-resolve": "^15.0.2", @@ -148,7 +149,6 @@ "periscopic": "^3.1.0", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", - "puppeteer": "^19.8.5", "rollup": "^3.20.2", "source-map": "^0.7.4", "source-map-support": "^0.5.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ed6da5e726..5aebd10b5a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,9 @@ devDependencies: '@jridgewell/sourcemap-codec': specifier: ^1.4.15 version: 1.4.15 + '@playwright/test': + specifier: ^1.33.0 + version: 1.33.0 '@rollup/plugin-commonjs': specifier: ^24.1.0 version: 24.1.0(rollup@3.20.2) @@ -109,9 +112,6 @@ devDependencies: prettier-plugin-svelte: specifier: ^2.10.0 version: 2.10.0(prettier@2.8.8)(svelte@3.58.0) - puppeteer: - specifier: ^19.8.5 - version: 19.8.5(typescript@5.0.4) rollup: specifier: ^3.20.2 version: 3.20.2 @@ -144,27 +144,6 @@ packages: '@jridgewell/trace-mapping': 0.3.18 dev: true - /@babel/code-frame@7.21.4: - resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.18.6 - dev: true - - /@babel/helper-validator-identifier@7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/highlight@7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.19.1 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.35.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -277,27 +256,15 @@ packages: fastq: 1.15.0 dev: true - /@puppeteer/browsers@0.4.0(typescript@5.0.4): - resolution: {integrity: sha512-3iB5pWn9Sr55PKKwqFWSWjLsTKCOEhKNI+uV3BZesgXuA3IhsX8I3hW0HI+3ksMIPkh2mVYzKSpvgq3oicjG2Q==} - engines: {node: '>=14.1.0'} + /@playwright/test@1.33.0: + resolution: {integrity: sha512-YunBa2mE7Hq4CfPkGzQRK916a4tuZoVx/EpLjeWlTVOnD4S2+fdaQZE0LJkbfhN5FTSKNLdcl7MoT5XB37bTkg==} + engines: {node: '>=14'} hasBin: true - peerDependencies: - typescript: '>= 4.7.4' - peerDependenciesMeta: - typescript: - optional: true dependencies: - debug: 4.3.4(supports-color@8.1.1) - extract-zip: 2.0.1 - https-proxy-agent: 5.0.1 - progress: 2.0.3 - proxy-from-env: 1.1.0 - tar-fs: 2.1.1 - typescript: 5.0.4 - unbzip2-stream: 1.4.3 - yargs: 17.7.1 - transitivePeerDependencies: - - supports-color + '@types/node': 14.14.31 + playwright-core: 1.33.0 + optionalDependencies: + fsevents: 2.3.2 dev: true /@rollup/plugin-commonjs@24.1.0(rollup@3.20.2): @@ -461,14 +428,6 @@ packages: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true - /@types/yauzl@2.10.0: - resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} - requiresBuild: true - dependencies: - '@types/node': 14.14.31 - dev: true - optional: true - /@typescript-eslint/eslint-plugin@5.58.0(@typescript-eslint/parser@5.58.0)(eslint@8.35.0)(typescript@5.0.4): resolution: {integrity: sha512-vxHvLhH0qgBd3/tW6/VccptSfc8FxPQIkmNTVLWcCOVqSBvqpnKkBTYrhcGlXfSnd78azwe+PsjYFj0X34/njA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -666,13 +625,6 @@ packages: engines: {node: '>=8'} dev: true - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -764,23 +716,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true - /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} dev: true - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -805,21 +745,10 @@ packages: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} dev: true - /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - dev: true - /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -842,15 +771,6 @@ packages: engines: {node: '>=10'} dev: true - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -874,19 +794,6 @@ packages: fsevents: 2.3.2 dev: true - /chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - dev: true - - /chromium-bidi@0.4.6(devtools-protocol@0.0.1107588): - resolution: {integrity: sha512-TQOkWRaLI/IWvoP8XC+7jO4uHTIiAUiklXU1T0qszlUFEai9LgKXIBXy3pOS3EnQZ3bQtMbKUPkug0fTAEHCSw==} - peerDependencies: - devtools-protocol: '*' - dependencies: - devtools-protocol: 0.0.1107588 - mitt: 3.0.0 - dev: true - /cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: @@ -895,15 +802,6 @@ packages: wrap-ansi: 7.0.0 dev: true - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - /code-red@1.0.0: resolution: {integrity: sha512-x5fNWOBu7Ii38br3iVPuwQcDQM0f2h8ipvqw4qTLlOzYlrFQRz954qR0hPZ8asV5KG/igXNY8CRG6xtDUoKOJQ==} dependencies: @@ -914,12 +812,6 @@ packages: periscopic: 3.1.0 dev: true - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -927,10 +819,6 @@ packages: color-name: 1.1.4 dev: true - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true @@ -955,24 +843,6 @@ packages: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: true - /cosmiconfig@8.1.3: - resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} - engines: {node: '>=14'} - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - dev: true - - /cross-fetch@3.1.5: - resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} - dependencies: - node-fetch: 2.6.7 - transitivePeerDependencies: - - encoding - dev: true - /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1083,10 +953,6 @@ packages: engines: {node: '>=0.4.0'} dev: true - /devtools-protocol@0.0.1107588: - resolution: {integrity: sha512-yIR+pG9x65Xko7bErCUSQaDLrO/P1p3JUzEk7JCU4DowPcGHkTGUGQapcfcLc4qj0UaALwZ+cr0riFgiqpixcg==} - dev: true - /diff@5.0.0: resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} engines: {node: '>=0.3.1'} @@ -1124,23 +990,11 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: true - /entities@4.4.0: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} dev: true - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 - dev: true - /es-abstract@1.21.2: resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} engines: {node: '>= 0.4'} @@ -1224,11 +1078,6 @@ packages: engines: {node: '>=6'} dev: true - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1515,20 +1364,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /extract-zip@2.0.1: - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} - hasBin: true - dependencies: - debug: 4.3.4(supports-color@8.1.1) - get-stream: 5.2.0 - yauzl: 2.10.0 - optionalDependencies: - '@types/yauzl': 2.10.0 - transitivePeerDependencies: - - supports-color - dev: true - /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -1558,12 +1393,6 @@ packages: reusify: 1.0.4 dev: true - /fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - dependencies: - pend: 1.2.0 - dev: true - /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1618,10 +1447,6 @@ packages: mime-types: 2.1.35 dev: true - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: true - /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true @@ -1665,13 +1490,6 @@ packages: has-symbols: 1.0.3 dev: true - /get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - dependencies: - pump: 3.0.0 - dev: true - /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} @@ -1786,11 +1604,6 @@ packages: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true - /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -1866,10 +1679,6 @@ packages: safer-buffer: 2.1.2 dev: true - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true - /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} @@ -1924,10 +1733,6 @@ packages: is-typed-array: 1.1.10 dev: true - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true - /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: @@ -2126,10 +1931,6 @@ packages: resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} dev: true - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -2178,10 +1979,6 @@ packages: - utf-8-validate dev: true - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true - /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true @@ -2319,14 +2116,6 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true - /mitt@3.0.0: - resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} - dev: true - - /mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - dev: true - /mocha@10.2.0: resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} engines: {node: '>= 14.0.0'} @@ -2385,18 +2174,6 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /node-fetch@2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: true - /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -2498,16 +2275,6 @@ packages: callsites: 3.1.0 dev: true - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - dependencies: - '@babel/code-frame': 7.21.4 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - dev: true - /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -2538,10 +2305,6 @@ packages: engines: {node: '>=8'} dev: true - /pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - dev: true - /periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} dependencies: @@ -2560,6 +2323,12 @@ packages: engines: {node: '>= 6'} dev: true + /playwright-core@1.33.0: + resolution: {integrity: sha512-aizyPE1Cj62vAECdph1iaMILpT0WUDCq3E6rW6I+dleSbBoGbktvJtzS6VHkZ4DKNEOG9qJpiom/ZxO+S15LAw==} + engines: {node: '>=14'} + hasBin: true + dev: true + /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} @@ -2586,77 +2355,15 @@ packages: hasBin: true dev: true - /progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true - - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true - /psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: true - /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} dev: true - /puppeteer-core@19.8.5(typescript@5.0.4): - resolution: {integrity: sha512-zoGhim/oBQbkND6h4Xz4X7l5DkWVH9wH7z0mVty5qa/c0P1Yad47t/npVtt2xS10BiQwzztWKx7Pa2nJ5yykdw==} - engines: {node: '>=14.14.0'} - peerDependencies: - typescript: '>= 4.7.4' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@puppeteer/browsers': 0.4.0(typescript@5.0.4) - chromium-bidi: 0.4.6(devtools-protocol@0.0.1107588) - cross-fetch: 3.1.5 - debug: 4.3.4(supports-color@8.1.1) - devtools-protocol: 0.0.1107588 - extract-zip: 2.0.1 - https-proxy-agent: 5.0.1 - proxy-from-env: 1.1.0 - tar-fs: 2.1.1 - typescript: 5.0.4 - unbzip2-stream: 1.4.3 - ws: 8.13.0 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: true - - /puppeteer@19.8.5(typescript@5.0.4): - resolution: {integrity: sha512-WSjouU7eux6cwBMEz4A7mDRVZWTQQTDXrb1R6AhKDdeEgpiBBkAzcAusPhILxiJOKj60rULZpWuCZ7HZIO6GTA==} - requiresBuild: true - dependencies: - '@puppeteer/browsers': 0.4.0(typescript@5.0.4) - cosmiconfig: 8.1.3 - https-proxy-agent: 5.0.1 - progress: 2.0.3 - proxy-from-env: 1.1.0 - puppeteer-core: 19.8.5(typescript@5.0.4) - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - typescript - - utf-8-validate - dev: true - /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} dev: true @@ -2671,15 +2378,6 @@ packages: safe-buffer: 5.2.1 dev: true - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true - /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -2884,12 +2582,6 @@ packages: es-abstract: 1.21.2 dev: true - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: true - /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -2921,13 +2613,6 @@ packages: ts-interface-checker: 0.1.13 dev: true - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -2956,26 +2641,6 @@ packages: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true - /tar-fs@2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.0 - tar-stream: 2.2.0 - dev: true - - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true @@ -2993,10 +2658,6 @@ packages: any-promise: 1.3.0 dev: true - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - /tiny-glob@0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} dependencies: @@ -3021,10 +2682,6 @@ packages: url-parse: 1.5.10 dev: true - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true - /tr46@4.1.1: resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} engines: {node: '>=14'} @@ -3105,13 +2762,6 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /unbzip2-stream@1.4.3: - resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} - dependencies: - buffer: 5.7.1 - through: 2.3.8 - dev: true - /universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} @@ -3130,10 +2780,6 @@ packages: requires-port: 1.0.0 dev: true - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true - /util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} dependencies: @@ -3151,10 +2797,6 @@ packages: xml-name-validator: 4.0.0 dev: true - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true - /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -3180,13 +2822,6 @@ packages: webidl-conversions: 7.0.0 dev: true - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: true - /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: @@ -3284,11 +2919,6 @@ packages: engines: {node: '>=10'} dev: true - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true - /yargs-unparser@2.0.0: resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} engines: {node: '>=10'} @@ -3312,26 +2942,6 @@ packages: yargs-parser: 20.2.4 dev: true - /yargs@17.7.1: - resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} - engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - - /yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - dependencies: - buffer-crc32: 0.2.13 - fd-slicer: 1.1.0 - dev: true - /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} diff --git a/test/custom-elements/index.js b/test/custom-elements/index.js index 60d276dbf2..f034fc14c6 100644 --- a/test/custom-elements/index.js +++ b/test/custom-elements/index.js @@ -1,73 +1,33 @@ +import { chromium } from '@playwright/test'; +import virtual from '@rollup/plugin-virtual'; +import { deepStrictEqual } from 'assert'; import * as fs from 'fs'; import * as path from 'path'; -import * as http from 'http'; import { rollup } from 'rollup'; -import virtual from '@rollup/plugin-virtual'; -import puppeteer from 'puppeteer'; -import { addLineNumbers, loadConfig, loadSvelte, retryAsync, executeBrowserTest } from '../helpers'; -import { deepEqual } from 'assert'; - -const page = ` - -
- - -`; +import { loadConfig, loadSvelte } from '../helpers'; const assert = fs.readFileSync(`${__dirname}/assert.js`, 'utf-8'); describe('custom-elements', function () { - // Note: Increase the timeout in preparation for restarting Chromium due to SIGSEGV. - this.timeout(10000); + this.timeout(20000); + let svelte; - let server; + /** @type {import('@playwright/test').Browser} */ let browser; - let code; - function create_server() { - return new Promise((fulfil, reject) => { - const server = http.createServer((req, res) => { - if (req.url === '/') { - res.end(page); - } - - if (req.url === '/bundle.js') { - res.end(code); - } - }); - - server.on('error', reject); - - server.listen('6789', () => { - fulfil(server); - }); - }); - } - - async function launchPuppeteer() { - return await retryAsync(() => puppeteer.launch()); - } - - before(async () => { + before(async function () { svelte = loadSvelte(); - console.log('[custom-element] Loaded Svelte'); - server = await create_server(); - console.log('[custom-element] Started server'); - browser = await launchPuppeteer(); - console.log('[custom-element] Launched puppeteer browser'); + console.log('[custom-elements] Loaded Svelte'); + browser = await chromium.launch(); + console.log('[custom-elements] Launched browser'); }); after(async () => { - if (server) server.close(); if (browser) await browser.close(); }); fs.readdirSync(`${__dirname}/samples`).forEach((dir) => { if (dir[0] === '.') return; - // MEMO: puppeteer can not execute Chromium properly with Node8,10 on Linux at GitHub actions. - const { version } = process; - if ((version.startsWith('v8.') || version.startsWith('v10.')) && process.platform === 'linux') - return; const solo = /\.solo$/.test(dir); const skip = /\.skip$/.test(dir); @@ -114,12 +74,11 @@ describe('custom-elements', function () { ] }); - const result = await bundle.generate({ format: 'iife', name: 'test' }); - code = result.output[0].code; + const generated_bundle = await bundle.generate({ format: 'iife', name: 'test' }); function assertWarnings() { if (expected_warnings) { - deepEqual( + deepStrictEqual( warnings.map((w) => ({ code: w.code, message: w.message, @@ -132,10 +91,17 @@ describe('custom-elements', function () { } } - browser = await executeBrowserTest(browser, launchPuppeteer, assertWarnings, () => { - console.log(addLineNumbers(code)); - assertWarnings(); + const page = await browser.newPage(); + page.on('console', (type) => { + console[type.type()](type.text()); }); + await page.setContent('
'); + await page.evaluate(generated_bundle.output[0].code); + const test_result = await page.evaluate(`test(document.querySelector('main'))`); + + if (test_result) console.log(test_result); + assertWarnings(); + page.close(); }); }); }); diff --git a/test/helpers.js b/test/helpers.js index db0f135945..166d3fafa3 100644 --- a/test/helpers.js +++ b/test/helpers.js @@ -101,8 +101,7 @@ function cleanChildren(node) { node.setAttribute(attr.name, attr.value); }); - // recurse - [...node.childNodes].forEach((child) => { + for (let child of [...node.childNodes]) { if (child.nodeType === 3) { // text if ( @@ -130,7 +129,7 @@ function cleanChildren(node) { } previous = child; - }); + } // collapse whitespace if (node.firstChild && node.firstChild.nodeType === 3) { @@ -324,74 +323,10 @@ export function mkdirp(dir) { } } -export function prettyPrintPuppeteerAssertionError(message) { +export function prettyPrintBrowserAssertionError(message) { const match = /Error: Expected "(.+)" to equal "(.+)"/.exec(message); if (match) { assert.equal(match[1], match[2]); } } - -/** - * - * @param {() => Promise} fn - * @param {number} maxAttempts - * @param {number} interval - * @returns {Promise} - */ -export async function retryAsync(fn, maxAttempts = 3, interval = 1000) { - let attempts = 0; - while (attempts <= maxAttempts) { - try { - return await fn(); - } catch (err) { - if (++attempts >= maxAttempts) throw err; - await new Promise((resolve) => setTimeout(resolve, interval)); - } - } -} - -/** - * NOTE: Chromium may exit with SIGSEGV, so retry in that case - * @param {import ('puppeteer').Browser} browser - * @param {() => Promise} launchPuppeteer - * @param {() => void} additionalAssertion - * @param {(err: Error) => void} onError - * @returns {Promise} - */ -export async function executeBrowserTest(browser, launchPuppeteer, additionalAssertion, onError) { - let count = 0; - do { - count++; - try { - const page = await browser.newPage(); - - page.on('console', (type) => { - console[type.type()](type.text()); - }); - - page.on('error', (error) => { - console.log('>>> an error happened'); - console.error(error); - }); - await page.goto('http://localhost:6789'); - const result = await page.evaluate(() => { - // @ts-ignore -- It runs in browser context. - return test(document.querySelector('main')); - }); - if (result) console.log(result); - additionalAssertion(); - await page.close(); - break; - } catch (err) { - if (count === 5 || browser.isConnected()) { - onError(err); - throw err; - } - console.debug(err.stack || err); - console.log('RESTARTING Chromium...'); - browser = await launchPuppeteer(); - } - } while (count <= 5); - return browser; -} diff --git a/test/runtime-puppeteer/assert.js b/test/runtime-browser/assert.js similarity index 85% rename from test/runtime-puppeteer/assert.js rename to test/runtime-browser/assert.js index e4d6f02f33..55058d2057 100644 --- a/test/runtime-puppeteer/assert.js +++ b/test/runtime-browser/assert.js @@ -43,8 +43,23 @@ function normalizeHtml(window, html) { .replace(//g, '') .replace(/>[\s\r\n]+<') .trim(); + + normalizeStyles(node); + return node.innerHTML.replace(/<\/?noscript\/?>/g, ''); } catch (err) { throw new Error(`Failed to normalize HTML:\n${html}`); } } + +function normalizeStyles(node) { + if (node.nodeType === 1) { + if (node.hasAttribute('style')) { + node.style = node.style.cssText; + } + + for (const child of node.childNodes) { + normalizeStyles(child); + } + } +} diff --git a/test/runtime-puppeteer/index.js b/test/runtime-browser/index.js similarity index 75% rename from test/runtime-puppeteer/index.js rename to test/runtime-browser/index.js index fe3e91b598..d4f7967c54 100644 --- a/test/runtime-puppeteer/index.js +++ b/test/runtime-browser/index.js @@ -1,79 +1,38 @@ -import * as path from 'path'; +import virtual from '@rollup/plugin-virtual'; import * as fs from 'fs'; -import * as http from 'http'; +import * as path from 'path'; import { rollup } from 'rollup'; -import virtual from '@rollup/plugin-virtual'; -import puppeteer from 'puppeteer'; - -import { - loadConfig, - loadSvelte, - mkdirp, - prettyPrintPuppeteerAssertionError, - retryAsync, - executeBrowserTest -} from '../helpers'; -import { deepEqual } from 'assert'; - -const page = ` - -
- - -`; - -let svelte; -let server; -let code; -let browser; + +import { chromium } from '@playwright/test'; +import { deepStrictEqual } from 'assert'; +import { loadConfig, loadSvelte, mkdirp, prettyPrintBrowserAssertionError } from '../helpers'; const internal = path.resolve('internal/index.mjs'); const index = path.resolve('index.mjs'); -function create_server() { - return new Promise((fulfil, reject) => { - const server = http.createServer((req, res) => { - if (req.url === '/') { - res.end(page); - } - - if (req.url === '/bundle.js') { - res.end(code); - } - }); - - server.on('error', reject); +const assert = fs.readFileSync(`${__dirname}/assert.js`, 'utf-8'); - server.listen('6789', () => { - fulfil(server); - }); - }); -} +describe('runtime (browser)', function () { + this.timeout(20000); -async function launchPuppeteer() { - return await retryAsync(() => puppeteer.launch()); -} + let svelte; + let browser; -const assert = fs.readFileSync(`${__dirname}/assert.js`, 'utf-8'); - -describe('runtime (puppeteer)', () => { before(async () => { svelte = loadSvelte(false); - console.log('[runtime-puppeteer] Loaded Svelte'); - server = await create_server(); - console.log('[runtime-puppeteer] Started server'); - browser = await launchPuppeteer(); - console.log('[runtime-puppeteer] Launched puppeteer browser'); + console.log('[runtime-browser] Loaded Svelte'); + + browser = await chromium.launch(); + console.log('[runtime-browser] Launched browser'); }); after(async () => { - if (server) server.close(); if (browser) await browser.close(); }); const failed = new Set(); - function runTest(dir, hydrate, is_first_run) { + function runTest(dir, hydrate) { if (dir[0] === '.') return; const config = loadConfig(`${__dirname}/samples/${dir}/_config.js`); @@ -100,7 +59,7 @@ describe('runtime (puppeteer)', () => { input: 'main', plugins: [ { - name: 'testing-runtime-puppeteer', + name: 'testing-runtime-browser', resolveId(importee) { if (importee === 'svelte/internal' || importee === './internal') { return internal; @@ -221,12 +180,11 @@ describe('runtime (puppeteer)', () => { ] }); - const result = await bundle.generate({ format: 'iife', name: 'test' }); - code = result.output[0].code; + const generated_bundle = await bundle.generate({ format: 'iife', name: 'test' }); function assertWarnings() { if (config.warnings) { - deepEqual( + deepStrictEqual( warnings.map((w) => ({ code: w.code, message: w.message, @@ -243,20 +201,30 @@ describe('runtime (puppeteer)', () => { } } - browser = await executeBrowserTest(browser, launchPuppeteer, assertWarnings, (err) => { + try { + const page = await browser.newPage(); + page.on('console', (type) => { + console[type.type()](type.text()); + }); + await page.setContent('
'); + await page.evaluate(generated_bundle.output[0].code); + const test_result = await page.evaluate(`test(document.querySelector('main'))`); + + if (test_result) console.log(test_result); + assertWarnings(); + await page.close(); + } catch (err) { failed.add(dir); - prettyPrintPuppeteerAssertionError(err.message); + prettyPrintBrowserAssertionError(err.message); assertWarnings(); - }); + throw err; + } } - ).timeout(is_first_run ? 20000 : 10000); + ); } - // Increase the timeout on the first run in preparation for restarting Chromium due to SIGSEGV. - let first_run = true; fs.readdirSync(`${__dirname}/samples`).forEach((dir) => { - runTest(dir, false, first_run); - runTest(dir, true, first_run); - first_run = false; + runTest(dir, false); + runTest(dir, true); }); }); diff --git a/test/runtime-puppeteer/samples/binding-width-height-initialize/_config.js b/test/runtime-browser/samples/binding-width-height-initialize/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/binding-width-height-initialize/_config.js rename to test/runtime-browser/samples/binding-width-height-initialize/_config.js diff --git a/test/runtime-puppeteer/samples/binding-width-height-initialize/main.svelte b/test/runtime-browser/samples/binding-width-height-initialize/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/binding-width-height-initialize/main.svelte rename to test/runtime-browser/samples/binding-width-height-initialize/main.svelte diff --git a/test/runtime-puppeteer/samples/component-css-custom-properties-dynamic-svg/Svg.svelte b/test/runtime-browser/samples/component-css-custom-properties-dynamic-svg/Svg.svelte similarity index 100% rename from test/runtime-puppeteer/samples/component-css-custom-properties-dynamic-svg/Svg.svelte rename to test/runtime-browser/samples/component-css-custom-properties-dynamic-svg/Svg.svelte diff --git a/test/runtime-puppeteer/samples/component-css-custom-properties-dynamic-svg/_config.js b/test/runtime-browser/samples/component-css-custom-properties-dynamic-svg/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/component-css-custom-properties-dynamic-svg/_config.js rename to test/runtime-browser/samples/component-css-custom-properties-dynamic-svg/_config.js diff --git a/test/runtime-puppeteer/samples/component-css-custom-properties-dynamic-svg/main.svelte b/test/runtime-browser/samples/component-css-custom-properties-dynamic-svg/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/component-css-custom-properties-dynamic-svg/main.svelte rename to test/runtime-browser/samples/component-css-custom-properties-dynamic-svg/main.svelte diff --git a/test/runtime-puppeteer/samples/component-css-custom-properties-dynamic/Slider.svelte b/test/runtime-browser/samples/component-css-custom-properties-dynamic/Slider.svelte similarity index 100% rename from test/runtime-puppeteer/samples/component-css-custom-properties-dynamic/Slider.svelte rename to test/runtime-browser/samples/component-css-custom-properties-dynamic/Slider.svelte diff --git a/test/runtime-puppeteer/samples/component-css-custom-properties-dynamic/_config.js b/test/runtime-browser/samples/component-css-custom-properties-dynamic/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/component-css-custom-properties-dynamic/_config.js rename to test/runtime-browser/samples/component-css-custom-properties-dynamic/_config.js diff --git a/test/runtime-puppeteer/samples/component-css-custom-properties-dynamic/main.svelte b/test/runtime-browser/samples/component-css-custom-properties-dynamic/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/component-css-custom-properties-dynamic/main.svelte rename to test/runtime-browser/samples/component-css-custom-properties-dynamic/main.svelte diff --git a/test/runtime-puppeteer/samples/component-css-custom-properties/Slider.svelte b/test/runtime-browser/samples/component-css-custom-properties/Slider.svelte similarity index 100% rename from test/runtime-puppeteer/samples/component-css-custom-properties/Slider.svelte rename to test/runtime-browser/samples/component-css-custom-properties/Slider.svelte diff --git a/test/runtime-puppeteer/samples/component-css-custom-properties/_config.js b/test/runtime-browser/samples/component-css-custom-properties/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/component-css-custom-properties/_config.js rename to test/runtime-browser/samples/component-css-custom-properties/_config.js diff --git a/test/runtime-puppeteer/samples/component-css-custom-properties/main.svelte b/test/runtime-browser/samples/component-css-custom-properties/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/component-css-custom-properties/main.svelte rename to test/runtime-browser/samples/component-css-custom-properties/main.svelte diff --git a/test/runtime-puppeteer/samples/component-event-handler-contenteditable-false/_config.js b/test/runtime-browser/samples/component-event-handler-contenteditable-false/_config.js similarity index 84% rename from test/runtime-puppeteer/samples/component-event-handler-contenteditable-false/_config.js rename to test/runtime-browser/samples/component-event-handler-contenteditable-false/_config.js index d7f9da9dba..acf7eceed2 100644 --- a/test/runtime-puppeteer/samples/component-event-handler-contenteditable-false/_config.js +++ b/test/runtime-browser/samples/component-event-handler-contenteditable-false/_config.js @@ -1,4 +1,4 @@ -// A puppeteer test because JSDOM doesn't support contenteditable +// A browser test because JSDOM doesn't support contenteditable export default { html: '
', diff --git a/test/runtime-puppeteer/samples/component-event-handler-contenteditable-false/main.svelte b/test/runtime-browser/samples/component-event-handler-contenteditable-false/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/component-event-handler-contenteditable-false/main.svelte rename to test/runtime-browser/samples/component-event-handler-contenteditable-false/main.svelte diff --git a/test/runtime-puppeteer/samples/component-event-handler-contenteditable-spread/_config.js b/test/runtime-browser/samples/component-event-handler-contenteditable-spread/_config.js similarity index 94% rename from test/runtime-puppeteer/samples/component-event-handler-contenteditable-spread/_config.js rename to test/runtime-browser/samples/component-event-handler-contenteditable-spread/_config.js index 7acd8a0b3d..85a347c4df 100644 --- a/test/runtime-puppeteer/samples/component-event-handler-contenteditable-spread/_config.js +++ b/test/runtime-browser/samples/component-event-handler-contenteditable-spread/_config.js @@ -1,4 +1,4 @@ -// A puppeteer test because JSDOM doesn't support contenteditable +// A browser test because JSDOM doesn't support contenteditable export default { html: '
', ssrHtml: '
', diff --git a/test/runtime-puppeteer/samples/component-event-handler-contenteditable-spread/main.svelte b/test/runtime-browser/samples/component-event-handler-contenteditable-spread/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/component-event-handler-contenteditable-spread/main.svelte rename to test/runtime-browser/samples/component-event-handler-contenteditable-spread/main.svelte diff --git a/test/runtime-puppeteer/samples/component-event-handler-contenteditable/_config.js b/test/runtime-browser/samples/component-event-handler-contenteditable/_config.js similarity index 94% rename from test/runtime-puppeteer/samples/component-event-handler-contenteditable/_config.js rename to test/runtime-browser/samples/component-event-handler-contenteditable/_config.js index 63344bf3d3..6bb85fba63 100644 --- a/test/runtime-puppeteer/samples/component-event-handler-contenteditable/_config.js +++ b/test/runtime-browser/samples/component-event-handler-contenteditable/_config.js @@ -1,4 +1,4 @@ -// A puppeteer test because JSDOM doesn't support contenteditable +// A browser test because JSDOM doesn't support contenteditable export default { html: '
', diff --git a/test/runtime-puppeteer/samples/component-event-handler-contenteditable/main.svelte b/test/runtime-browser/samples/component-event-handler-contenteditable/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/component-event-handler-contenteditable/main.svelte rename to test/runtime-browser/samples/component-event-handler-contenteditable/main.svelte diff --git a/test/runtime-puppeteer/samples/dynamic-element-custom-element/_config.js b/test/runtime-browser/samples/dynamic-element-custom-element/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/dynamic-element-custom-element/_config.js rename to test/runtime-browser/samples/dynamic-element-custom-element/_config.js diff --git a/test/runtime-puppeteer/samples/dynamic-element-custom-element/main.svelte b/test/runtime-browser/samples/dynamic-element-custom-element/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/dynamic-element-custom-element/main.svelte rename to test/runtime-browser/samples/dynamic-element-custom-element/main.svelte diff --git a/test/runtime-puppeteer/samples/inline-style-directive-important/_config.js b/test/runtime-browser/samples/inline-style-directive-important/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/inline-style-directive-important/_config.js rename to test/runtime-browser/samples/inline-style-directive-important/_config.js diff --git a/test/runtime-puppeteer/samples/inline-style-directive-important/main.svelte b/test/runtime-browser/samples/inline-style-directive-important/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/inline-style-directive-important/main.svelte rename to test/runtime-browser/samples/inline-style-directive-important/main.svelte diff --git a/test/runtime-puppeteer/samples/inline-style-directive-precedence/_config.js b/test/runtime-browser/samples/inline-style-directive-precedence/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/inline-style-directive-precedence/_config.js rename to test/runtime-browser/samples/inline-style-directive-precedence/_config.js diff --git a/test/runtime-puppeteer/samples/inline-style-directive-precedence/main.svelte b/test/runtime-browser/samples/inline-style-directive-precedence/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/inline-style-directive-precedence/main.svelte rename to test/runtime-browser/samples/inline-style-directive-precedence/main.svelte diff --git a/test/runtime-puppeteer/samples/inline-style-directive-update-with-spread/_config.js b/test/runtime-browser/samples/inline-style-directive-update-with-spread/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/inline-style-directive-update-with-spread/_config.js rename to test/runtime-browser/samples/inline-style-directive-update-with-spread/_config.js diff --git a/test/runtime-puppeteer/samples/inline-style-directive-update-with-spread/main.svelte b/test/runtime-browser/samples/inline-style-directive-update-with-spread/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/inline-style-directive-update-with-spread/main.svelte rename to test/runtime-browser/samples/inline-style-directive-update-with-spread/main.svelte diff --git a/test/runtime-puppeteer/samples/style_manager-cleanup/_config.js b/test/runtime-browser/samples/style_manager-cleanup/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/style_manager-cleanup/_config.js rename to test/runtime-browser/samples/style_manager-cleanup/_config.js diff --git a/test/runtime-puppeteer/samples/style_manager-cleanup/main.svelte b/test/runtime-browser/samples/style_manager-cleanup/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/style_manager-cleanup/main.svelte rename to test/runtime-browser/samples/style_manager-cleanup/main.svelte diff --git a/test/runtime-puppeteer/samples/svelte-component-css-custom-properties-dynamic/Slider.svelte b/test/runtime-browser/samples/svelte-component-css-custom-properties-dynamic/Slider.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-component-css-custom-properties-dynamic/Slider.svelte rename to test/runtime-browser/samples/svelte-component-css-custom-properties-dynamic/Slider.svelte diff --git a/test/runtime-puppeteer/samples/svelte-component-css-custom-properties-dynamic/_config.js b/test/runtime-browser/samples/svelte-component-css-custom-properties-dynamic/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/svelte-component-css-custom-properties-dynamic/_config.js rename to test/runtime-browser/samples/svelte-component-css-custom-properties-dynamic/_config.js diff --git a/test/runtime-puppeteer/samples/svelte-component-css-custom-properties-dynamic/main.svelte b/test/runtime-browser/samples/svelte-component-css-custom-properties-dynamic/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-component-css-custom-properties-dynamic/main.svelte rename to test/runtime-browser/samples/svelte-component-css-custom-properties-dynamic/main.svelte diff --git a/test/runtime-puppeteer/samples/svelte-component-css-custom-properties/Slider1.svelte b/test/runtime-browser/samples/svelte-component-css-custom-properties/Slider1.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-component-css-custom-properties/Slider1.svelte rename to test/runtime-browser/samples/svelte-component-css-custom-properties/Slider1.svelte diff --git a/test/runtime-puppeteer/samples/svelte-component-css-custom-properties/Slider2.svelte b/test/runtime-browser/samples/svelte-component-css-custom-properties/Slider2.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-component-css-custom-properties/Slider2.svelte rename to test/runtime-browser/samples/svelte-component-css-custom-properties/Slider2.svelte diff --git a/test/runtime-puppeteer/samples/svelte-component-css-custom-properties/_config.js b/test/runtime-browser/samples/svelte-component-css-custom-properties/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/svelte-component-css-custom-properties/_config.js rename to test/runtime-browser/samples/svelte-component-css-custom-properties/_config.js diff --git a/test/runtime-puppeteer/samples/svelte-component-css-custom-properties/main.svelte b/test/runtime-browser/samples/svelte-component-css-custom-properties/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-component-css-custom-properties/main.svelte rename to test/runtime-browser/samples/svelte-component-css-custom-properties/main.svelte diff --git a/test/runtime-puppeteer/samples/svelte-component-css-custom-properties2/Slider1.svelte b/test/runtime-browser/samples/svelte-component-css-custom-properties2/Slider1.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-component-css-custom-properties2/Slider1.svelte rename to test/runtime-browser/samples/svelte-component-css-custom-properties2/Slider1.svelte diff --git a/test/runtime-puppeteer/samples/svelte-component-css-custom-properties2/Slider2.svelte b/test/runtime-browser/samples/svelte-component-css-custom-properties2/Slider2.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-component-css-custom-properties2/Slider2.svelte rename to test/runtime-browser/samples/svelte-component-css-custom-properties2/Slider2.svelte diff --git a/test/runtime-puppeteer/samples/svelte-component-css-custom-properties2/_config.js b/test/runtime-browser/samples/svelte-component-css-custom-properties2/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/svelte-component-css-custom-properties2/_config.js rename to test/runtime-browser/samples/svelte-component-css-custom-properties2/_config.js diff --git a/test/runtime-puppeteer/samples/svelte-component-css-custom-properties2/main.svelte b/test/runtime-browser/samples/svelte-component-css-custom-properties2/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-component-css-custom-properties2/main.svelte rename to test/runtime-browser/samples/svelte-component-css-custom-properties2/main.svelte diff --git a/test/runtime-puppeteer/samples/svelte-self-css-custom-properties-dynamic/Slider.svelte b/test/runtime-browser/samples/svelte-self-css-custom-properties-dynamic/Slider.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-self-css-custom-properties-dynamic/Slider.svelte rename to test/runtime-browser/samples/svelte-self-css-custom-properties-dynamic/Slider.svelte diff --git a/test/runtime-puppeteer/samples/svelte-self-css-custom-properties-dynamic/_config.js b/test/runtime-browser/samples/svelte-self-css-custom-properties-dynamic/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/svelte-self-css-custom-properties-dynamic/_config.js rename to test/runtime-browser/samples/svelte-self-css-custom-properties-dynamic/_config.js diff --git a/test/runtime-puppeteer/samples/svelte-self-css-custom-properties-dynamic/main.svelte b/test/runtime-browser/samples/svelte-self-css-custom-properties-dynamic/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-self-css-custom-properties-dynamic/main.svelte rename to test/runtime-browser/samples/svelte-self-css-custom-properties-dynamic/main.svelte diff --git a/test/runtime-puppeteer/samples/svelte-self-css-custom-properties/Slider1.svelte b/test/runtime-browser/samples/svelte-self-css-custom-properties/Slider1.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-self-css-custom-properties/Slider1.svelte rename to test/runtime-browser/samples/svelte-self-css-custom-properties/Slider1.svelte diff --git a/test/runtime-puppeteer/samples/svelte-self-css-custom-properties/Slider2.svelte b/test/runtime-browser/samples/svelte-self-css-custom-properties/Slider2.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-self-css-custom-properties/Slider2.svelte rename to test/runtime-browser/samples/svelte-self-css-custom-properties/Slider2.svelte diff --git a/test/runtime-puppeteer/samples/svelte-self-css-custom-properties/_config.js b/test/runtime-browser/samples/svelte-self-css-custom-properties/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/svelte-self-css-custom-properties/_config.js rename to test/runtime-browser/samples/svelte-self-css-custom-properties/_config.js diff --git a/test/runtime-puppeteer/samples/svelte-self-css-custom-properties/main.svelte b/test/runtime-browser/samples/svelte-self-css-custom-properties/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-self-css-custom-properties/main.svelte rename to test/runtime-browser/samples/svelte-self-css-custom-properties/main.svelte diff --git a/test/runtime-puppeteer/samples/svelte-self-css-custom-properties2/Slider1.svelte b/test/runtime-browser/samples/svelte-self-css-custom-properties2/Slider1.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-self-css-custom-properties2/Slider1.svelte rename to test/runtime-browser/samples/svelte-self-css-custom-properties2/Slider1.svelte diff --git a/test/runtime-puppeteer/samples/svelte-self-css-custom-properties2/Slider2.svelte b/test/runtime-browser/samples/svelte-self-css-custom-properties2/Slider2.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-self-css-custom-properties2/Slider2.svelte rename to test/runtime-browser/samples/svelte-self-css-custom-properties2/Slider2.svelte diff --git a/test/runtime-puppeteer/samples/svelte-self-css-custom-properties2/_config.js b/test/runtime-browser/samples/svelte-self-css-custom-properties2/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/svelte-self-css-custom-properties2/_config.js rename to test/runtime-browser/samples/svelte-self-css-custom-properties2/_config.js diff --git a/test/runtime-puppeteer/samples/svelte-self-css-custom-properties2/main.svelte b/test/runtime-browser/samples/svelte-self-css-custom-properties2/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/svelte-self-css-custom-properties2/main.svelte rename to test/runtime-browser/samples/svelte-self-css-custom-properties2/main.svelte diff --git a/test/runtime-puppeteer/samples/transition-css-out-in/_config.js b/test/runtime-browser/samples/transition-css-out-in/_config.js similarity index 100% rename from test/runtime-puppeteer/samples/transition-css-out-in/_config.js rename to test/runtime-browser/samples/transition-css-out-in/_config.js diff --git a/test/runtime-puppeteer/samples/transition-css-out-in/main.svelte b/test/runtime-browser/samples/transition-css-out-in/main.svelte similarity index 100% rename from test/runtime-puppeteer/samples/transition-css-out-in/main.svelte rename to test/runtime-browser/samples/transition-css-out-in/main.svelte diff --git a/test/server-side-rendering/index.js b/test/server-side-rendering/index.js index 6bc8660e59..1351bb79d9 100644 --- a/test/server-side-rendering/index.js +++ b/test/server-side-rendering/index.js @@ -141,7 +141,7 @@ describe('ssr', () => { // duplicate client-side tests, as far as possible runRuntimeSamples('runtime'); - runRuntimeSamples('runtime-puppeteer'); + runRuntimeSamples('runtime-browser'); function runRuntimeSamples(suite) { fs.readdirSync(`test/${suite}/samples`).forEach((dir) => {