From 080b5673e792fe24ef07e807a93861d3c89c4a78 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 24 Aug 2022 20:21:26 +0530 Subject: [PATCH 1/4] Update svelteKit --- .eslintrc.cjs | 5 +- package.json | 4 +- .../{__layout.svelte => +layout.svelte} | 0 src/routes/{index.svelte => +page.svelte} | 0 src/routes/[fallback]/manifest.json.ts | 2 - .../[fallback]/manifest.json/+server.ts | 4 + src/routes/{edit.svelte => edit/+page.svelte} | 0 src/routes/manifest.json.ts | 28 ------- src/routes/manifest.json/+server.ts | 29 +++++++ src/routes/{view.svelte => view/+page.svelte} | 0 yarn.lock | 84 +++++++++++++++++-- 11 files changed, 115 insertions(+), 41 deletions(-) rename src/routes/{__layout.svelte => +layout.svelte} (100%) rename src/routes/{index.svelte => +page.svelte} (100%) delete mode 100644 src/routes/[fallback]/manifest.json.ts create mode 100644 src/routes/[fallback]/manifest.json/+server.ts rename src/routes/{edit.svelte => edit/+page.svelte} (100%) delete mode 100644 src/routes/manifest.json.ts create mode 100644 src/routes/manifest.json/+server.ts rename src/routes/{view.svelte => view/+page.svelte} (100%) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 46ad25472..178583279 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -25,7 +25,7 @@ module.exports = { }, parserOptions: { sourceType: 'module', - ecmaVersion: 2019, + ecmaVersion: 2020, tsconfigRootDir: __dirname, project: ['./tsconfig.json'], extraFileExtensions: ['.svelte'], @@ -33,8 +33,7 @@ module.exports = { }, env: { browser: true, - es2017: true, - node: true + es2020: true }, rules: { '@typescript-eslint/ban-ts-comment': [ diff --git a/package.json b/package.json index 3aa48af2c..2589ac963 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "lint:fix": "prettier --write --cache --plugin-search-dir=. .;eslint --fix --ignore-path .gitignore .", "format": "prettier --write --cache --plugin-search-dir=. .", "pre-commit": "lint-staged", - "postinstall": "husky install; cypress cache prune; svelte-kit sync", + "postinstall": "husky install; svelte-kit sync", "test:unit": "vitest", "test:ui": "vitest --ui", "test:coverage": "vitest run --coverage", @@ -22,7 +22,7 @@ "devDependencies": { "@cypress/snapshot": "2.1.7", "@sveltejs/adapter-static": "1.0.0-next.39", - "@sveltejs/kit": "1.0.0-next.405", + "@sveltejs/kit": "1.0.0-next.432", "@testing-library/jest-dom": "5.16.5", "@testing-library/svelte": "3.2.1", "@types/mermaid": "8.2.9", diff --git a/src/routes/__layout.svelte b/src/routes/+layout.svelte similarity index 100% rename from src/routes/__layout.svelte rename to src/routes/+layout.svelte diff --git a/src/routes/index.svelte b/src/routes/+page.svelte similarity index 100% rename from src/routes/index.svelte rename to src/routes/+page.svelte diff --git a/src/routes/[fallback]/manifest.json.ts b/src/routes/[fallback]/manifest.json.ts deleted file mode 100644 index c7761d5b7..000000000 --- a/src/routes/[fallback]/manifest.json.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { GET as manifestGet } from '../manifest.json'; -export const GET = manifestGet; diff --git a/src/routes/[fallback]/manifest.json/+server.ts b/src/routes/[fallback]/manifest.json/+server.ts new file mode 100644 index 000000000..b03705c81 --- /dev/null +++ b/src/routes/[fallback]/manifest.json/+server.ts @@ -0,0 +1,4 @@ +import type { RequestHandler } from './$types'; +import { GET as manifestGet } from '../../manifest.json/+server'; + +export const GET: RequestHandler = manifestGet; diff --git a/src/routes/edit.svelte b/src/routes/edit/+page.svelte similarity index 100% rename from src/routes/edit.svelte rename to src/routes/edit/+page.svelte diff --git a/src/routes/manifest.json.ts b/src/routes/manifest.json.ts deleted file mode 100644 index 45e6320fb..000000000 --- a/src/routes/manifest.json.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { base } from '$app/paths'; -export const GET = (): { body: unknown } => { - return { - body: { - short_name: 'Mermaid', - name: 'Mermaid Live Editor', - icons: [ - { - src: `${base}/icon-192.png`, - type: 'image/png', - sizes: '192x192' - }, - { - src: `${base}/icon-512.png`, - type: 'image/png', - sizes: '512x512' - } - ], - start_url: `${base}/edit/`, - background_color: '#6366F1', - display: 'standalone', - scope: `${base}/edit/`, - theme_color: '#6366F1', - description: 'FlowChart & Diagrams Editor.', - orientation: 'landscape' - } - }; -}; diff --git a/src/routes/manifest.json/+server.ts b/src/routes/manifest.json/+server.ts new file mode 100644 index 000000000..fec24441d --- /dev/null +++ b/src/routes/manifest.json/+server.ts @@ -0,0 +1,29 @@ +import { json } from '@sveltejs/kit'; +import { base } from '$app/paths'; +import type { RequestHandler } from './$types'; + +export const GET: RequestHandler = () => { + return json({ + short_name: 'Mermaid', + name: 'Mermaid Live Editor', + icons: [ + { + src: `${base}/icon-192.png`, + type: 'image/png', + sizes: '192x192' + }, + { + src: `${base}/icon-512.png`, + type: 'image/png', + sizes: '512x512' + } + ], + start_url: `${base}/edit/`, + background_color: '#6366F1', + display: 'standalone', + scope: `${base}/edit/`, + theme_color: '#6366F1', + description: 'FlowChart & Diagrams Editor.', + orientation: 'landscape' + }); +}; diff --git a/src/routes/view.svelte b/src/routes/view/+page.svelte similarity index 100% rename from src/routes/view.svelte rename to src/routes/view/+page.svelte diff --git a/yarn.lock b/yarn.lock index cb6fafedd..fcd1ac760 100644 --- a/yarn.lock +++ b/yarn.lock @@ -298,15 +298,23 @@ resolved "https://registry.yarnpkg.com/@sveltejs/adapter-static/-/adapter-static-1.0.0-next.39.tgz#ae79b95accd3af6ecfa92e9596c4d41b49cf6fea" integrity sha512-EeD39H6iEe0UEKnKxLFTZFZpi/FcX5xfbAvsMQ+B09aDZccpQmkJBSIo+4kq1JsQGSjwi/+J3aE9bR67R6CIyQ== -"@sveltejs/kit@1.0.0-next.405": - version "1.0.0-next.405" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-1.0.0-next.405.tgz#ab1fe94e695a4c0326cb9c52767281a760d3ac55" - integrity sha512-jHSa74F7k+hC+0fof75g/xm/+1M5sM66Qt6v8eLLMSgjkp36Lb5xOioBhbl6w0NYoE5xysLsBWuu+yHytfvCBA== +"@sveltejs/kit@1.0.0-next.432": + version "1.0.0-next.432" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-1.0.0-next.432.tgz#8abade612d41a52a9364200c4877e2d9a6e28f56" + integrity sha512-weGruEorXX2QJ+OoXbm46snqAaEtJOuSKP5G9VLTa5Ae2pBZE+6N2wWxvgP/iE1r7+9jlrdIyntvxGX0US6GYw== dependencies: "@sveltejs/vite-plugin-svelte" "^1.0.1" - chokidar "^3.5.3" + cookie "^0.5.0" + devalue "^2.0.1" + kleur "^4.1.4" + magic-string "^0.26.2" + mime "^3.0.0" + node-fetch "^3.2.4" sade "^1.8.1" + set-cookie-parser "^2.4.8" + sirv "^2.0.2" tiny-glob "^0.2.9" + undici "^5.8.1" "@sveltejs/vite-plugin-svelte@^1.0.1": version "1.0.1" @@ -1198,6 +1206,11 @@ convert-source-map@^1.6.0: dependencies: safe-buffer "~5.1.1" +cookie@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + core-util-is@1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" @@ -1917,6 +1930,11 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +data-uri-to-buffer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz#b5db46aea50f6176428ac05b73be39a57701a64b" + integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA== + data-urls@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" @@ -2025,6 +2043,11 @@ detective@^5.2.1: defined "^1.0.0" minimist "^1.2.6" +devalue@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/devalue/-/devalue-2.0.1.tgz#5d368f9adc0928e47b77eea53ca60d2f346f9762" + integrity sha512-I2TiqT5iWBEyB8GRfTDP0hiLZ0YeDJZ+upDxjBfOC2lebO5LezQMv7QvIUTzdb64jQyAKLf1AHADtGN+jw6v8Q== + didyoumean@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" @@ -2658,6 +2681,14 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" + integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== + dependencies: + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" + figures@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" @@ -2746,6 +2777,13 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== + dependencies: + fetch-blob "^3.1.2" + fraction.js@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" @@ -3345,7 +3383,7 @@ khroma@^2.0.0: resolved "https://registry.yarnpkg.com/khroma/-/khroma-2.0.0.tgz#7577de98aed9f36c7a474c4d453d94c0d6c6588b" integrity sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g== -kleur@^4.1.5: +kleur@^4.1.4, kleur@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== @@ -3581,6 +3619,11 @@ mime-types@^2.1.12, mime-types@~2.1.19: dependencies: mime-db "1.47.0" +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" @@ -3675,6 +3718,20 @@ node-addon-api@^1.7.1: resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz" integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + +node-fetch@^3.2.4: + version "3.2.10" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.10.tgz#e8347f94b54ae18b57c9c049ef641cef398a85c8" + integrity sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA== + dependencies: + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" + node-html-parser@5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-5.4.1.tgz#c9938b9521ef542c2374e4923078f8f2a365f50d" @@ -4527,6 +4584,11 @@ semver@^7.3.2, semver@^7.3.7: dependencies: lru-cache "^6.0.0" +set-cookie-parser@^2.4.8: + version "2.5.1" + resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz#ddd3e9a566b0e8e0862aca974a6ac0e01349430b" + integrity sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ== + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" @@ -5013,6 +5075,11 @@ typescript@4.7.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== +undici@^5.8.1: + version "5.10.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.10.0.tgz#dd9391087a90ccfbd007568db458674232ebf014" + integrity sha512-c8HsD3IbwmjjbLvoZuRI26TZic+TSEe8FPMLLOkN1AfYRhdjnKBU6yL+IwcSCbdZiX4e5t0lfMDLDCqj4Sq70g== + universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -5130,6 +5197,11 @@ w3c-xmlserializer@^3.0.0: dependencies: xml-name-validator "^4.0.0" +web-streams-polyfill@^3.0.3: + version "3.2.1" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" + integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== + webidl-conversions@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" From 082e6dfffc40c2f9fbd685770929db03884e75f2 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Sat, 27 Aug 2022 00:22:09 +0530 Subject: [PATCH 2/4] Update sk --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1a3c0fe00..33ac131e5 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "devDependencies": { "@cypress/snapshot": "2.1.7", "@sveltejs/adapter-static": "1.0.0-next.39", - "@sveltejs/kit": "1.0.0-next.432", + "@sveltejs/kit": "1.0.0-next.442", "@testing-library/jest-dom": "5.16.5", "@testing-library/svelte": "3.2.1", "@types/mermaid": "8.2.9", diff --git a/yarn.lock b/yarn.lock index d0eaf9982..e2f8c17c3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -298,10 +298,10 @@ resolved "https://registry.yarnpkg.com/@sveltejs/adapter-static/-/adapter-static-1.0.0-next.39.tgz#ae79b95accd3af6ecfa92e9596c4d41b49cf6fea" integrity sha512-EeD39H6iEe0UEKnKxLFTZFZpi/FcX5xfbAvsMQ+B09aDZccpQmkJBSIo+4kq1JsQGSjwi/+J3aE9bR67R6CIyQ== -"@sveltejs/kit@1.0.0-next.432": - version "1.0.0-next.432" - resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-1.0.0-next.432.tgz#8abade612d41a52a9364200c4877e2d9a6e28f56" - integrity sha512-weGruEorXX2QJ+OoXbm46snqAaEtJOuSKP5G9VLTa5Ae2pBZE+6N2wWxvgP/iE1r7+9jlrdIyntvxGX0US6GYw== +"@sveltejs/kit@1.0.0-next.442": + version "1.0.0-next.442" + resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-1.0.0-next.442.tgz#9fa8d36067801ee95226c88a8132973fe7bae87d" + integrity sha512-xFGgyQuQEvIrBpdfsGQNG9cHINxpqmaa5LMENUdAt0lpbLuRrc4V2Zi2T11MPT2znNBn3rHEFsqCH9zviEcCRw== dependencies: "@sveltejs/vite-plugin-svelte" "^1.0.1" cookie "^0.5.0" From a6dcabd4b7287f52bea43c2b3f54b6ae4af4d303 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Sat, 27 Aug 2022 12:57:22 +0530 Subject: [PATCH 3/4] Temp fix for vite bug --- src/tests/setup.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/tests/setup.ts b/src/tests/setup.ts index b210af530..7120c2ca3 100644 --- a/src/tests/setup.ts +++ b/src/tests/setup.ts @@ -1,4 +1,11 @@ import matchers from '@testing-library/jest-dom/matchers'; -import { expect } from 'vitest'; +import { expect, beforeAll, vi } from 'vitest'; expect.extend(matchers); + +// TODO: Remove once https://github.com/sveltejs/kit/issues/6259 is closed. +beforeAll(() => { + vi.mock('$app/env', () => ({ + browser: 'window' in globalThis + })); +}); From 6987b6f3c6ff9a4f6d9fd55cadb1846b88daffd8 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Sat, 27 Aug 2022 13:07:59 +0530 Subject: [PATCH 4/4] Increase retries --- cypress.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cypress.config.js b/cypress.config.js index 40248bb55..327752494 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -9,7 +9,7 @@ export default defineConfig({ defaultCommandTimeout: 16000, requestTimeout: 16000, retries: { - runMode: 2, + runMode: 4, openMode: 0 }, e2e: {