diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b34b0ba8fa..74096f3a7f 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 57a086511e..4e0cf1b424 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,9 @@ importers: '@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) @@ -112,9 +115,6 @@ importers: prettier-plugin-svelte: specifier: ^2.10.0 version: 2.10.0(prettier@2.8.8)(svelte@3.59.1) - puppeteer: - specifier: ^19.8.5 - version: 19.8.5(typescript@5.0.4) rollup: specifier: ^3.20.2 version: 3.20.2 @@ -262,14 +262,17 @@ packages: /@babel/code-frame@7.21.4: resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} engines: {node: '>=6.9.0'} + requiresBuild: true dependencies: '@babel/highlight': 7.18.6 dev: true + optional: true /@babel/helper-validator-identifier@7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} dev: true + optional: true /@babel/highlight@7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} @@ -279,6 +282,7 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 dev: true + optional: true /@codemirror/autocomplete@6.7.1(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.1)(@lezer/common@1.0.2): resolution: {integrity: sha512-hSxf9S0uB+GV+gBsjY1FZNo53e1FFdzPceRfCfD1gWOnV6o21GfB5J5Wg9G/4h76XZMPrF0A6OCK/Rz5+V1egg==} @@ -1122,32 +1126,20 @@ packages: fastq: 1.15.0 dev: true - /@polka/url@1.0.0-next.21: - resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} - - /@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': 20.1.3 + playwright-core: 1.33.0 + optionalDependencies: + fsevents: 2.3.2 dev: true + /@polka/url@1.0.0-next.21: + resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + /@replit/codemirror-lang-svelte@6.0.0(@codemirror/autocomplete@6.7.1)(@codemirror/lang-css@6.2.0)(@codemirror/lang-html@6.4.3)(@codemirror/lang-javascript@6.1.8)(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.11.1)(@lezer/common@1.0.2)(@lezer/highlight@1.1.4)(@lezer/javascript@1.4.3)(@lezer/lr@1.3.4): resolution: {integrity: sha512-U2OqqgMM6jKelL0GNWbAmqlu1S078zZNoBqlJBW+retTc5M4Mha6/Y2cf4SVg6ddgloJvmcSpt4hHrVoM4ePRA==} peerDependencies: @@ -1723,14 +1715,6 @@ packages: '@types/node': 20.1.3 dev: false - /@types/yauzl@2.10.0: - resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} - requiresBuild: true - dependencies: - '@types/node': 20.1.3 - 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} @@ -1988,6 +1972,7 @@ packages: dependencies: color-convert: 1.9.3 dev: true + optional: true /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} @@ -2221,6 +2206,7 @@ packages: escape-string-regexp: 1.0.5 supports-color: 5.5.0 dev: true + optional: true /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -2253,15 +2239,6 @@ packages: engines: {node: '>=10'} 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: @@ -2270,15 +2247,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-block-writer@12.0.0: resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==} dev: true @@ -2312,6 +2280,7 @@ packages: dependencies: color-name: 1.1.3 dev: true + optional: true /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -2323,6 +2292,7 @@ packages: /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} dev: true + optional: true /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -2376,16 +2346,6 @@ packages: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} - /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 - /crelt@1.0.5: resolution: {integrity: sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==} dev: false @@ -2396,6 +2356,7 @@ packages: node-fetch: 2.6.7 transitivePeerDependencies: - encoding + dev: false /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} @@ -2588,10 +2549,6 @@ packages: /devalue@4.3.0: resolution: {integrity: sha512-n94yQo4LI3w7erwf84mhRUkUJfhLoCZiLyoOZ/QFsDbcWNZePrLwbQpvZBUG2TNxwV3VjCKPxkiiQA6pe3TrTA==} - /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'} @@ -2657,12 +2614,6 @@ packages: 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'} @@ -2808,6 +2759,7 @@ packages: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} dev: true + optional: true /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -3112,20 +3064,6 @@ packages: type: 2.7.2 dev: false - /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 @@ -3155,12 +3093,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 - /fenceparser@1.1.1: resolution: {integrity: sha512-VdkTsK7GWLT0VWMK5S5WTAPn61wJ98WPFwJiRHumhg4ESNUO/tnkU8bzzzc62o6Uk1SVhuZFLnakmDA4SGV7wA==} engines: {node: '>=12'} @@ -3328,13 +3260,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'} @@ -3472,6 +3397,7 @@ packages: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} dev: true + optional: true /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -3639,10 +3565,6 @@ packages: is-typed-array: 1.1.10 dev: true - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true - /is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} dev: true @@ -3876,6 +3798,7 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true + optional: true /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} @@ -3925,10 +3848,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 @@ -4159,10 +4078,6 @@ packages: yallist: 4.0.0 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 @@ -4468,16 +4383,6 @@ packages: resolution: {integrity: sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==} 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: @@ -4517,10 +4422,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: @@ -4552,6 +4453,12 @@ packages: pngjs: 3.4.0 dev: true + /playwright-core@1.33.0: + resolution: {integrity: sha512-aizyPE1Cj62vAECdph1iaMILpT0WUDCq3E6rW6I+dleSbBoGbktvJtzS6VHkZ4DKNEOG9qJpiom/ZxO+S15LAw==} + engines: {node: '>=14'} + hasBin: true + dev: true + /pngjs@3.4.0: resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} engines: {node: '>=4.0.0'} @@ -4634,15 +4541,6 @@ packages: engines: {node: '>= 0.6.0'} 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 @@ -4659,52 +4557,6 @@ packages: 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 @@ -5231,6 +5083,7 @@ packages: dependencies: has-flag: 3.0.0 dev: true + optional: true /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} @@ -5403,10 +5256,6 @@ packages: any-promise: 1.3.0 dev: true - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - /timm@1.7.1: resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==} dev: true @@ -5567,13 +5416,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 - /undici@5.22.1: resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} engines: {node: '>=14.0'} @@ -5905,11 +5747,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'} @@ -5933,26 +5770,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) => {