diff --git a/.eslintignore b/.eslintignore index 5915167..915c3e4 100644 --- a/.eslintignore +++ b/.eslintignore @@ -2,7 +2,7 @@ .git/ .vscode/ .yarn/ -.yarnrc +.yarnrc.yml /.svelte-kit /build /package diff --git a/.prettierignore b/.prettierignore index ce89580..3c62174 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,7 +2,7 @@ .git/ .vscode/ .yarn/ -.yarnrc +.yarnrc.yml /.svelte-kit /build /package diff --git a/.stylelintignore b/.stylelintignore index ce89580..3c62174 100644 --- a/.stylelintignore +++ b/.stylelintignore @@ -2,7 +2,7 @@ .git/ .vscode/ .yarn/ -.yarnrc +.yarnrc.yml /.svelte-kit /build /package diff --git a/.svelte-kit/tsconfig.json b/.svelte-kit/tsconfig.json index d2faac7..da4902c 100644 --- a/.svelte-kit/tsconfig.json +++ b/.svelte-kit/tsconfig.json @@ -40,7 +40,6 @@ "ambient.d.ts", "non-ambient.d.ts", "./types/**/$types.d.ts", - "../svelte.config.js", "../vite.config.js", "../vite.config.ts", "../src/**/*.js", @@ -51,6 +50,9 @@ "../tests/**/*.svelte" ], "exclude": [ - "../node_modules/**" + "../node_modules/**", + "../src/service-worker.js", + "../src/service-worker.ts", + "../src/service-worker.d.ts" ] } \ No newline at end of file diff --git a/.yarnrc.yml b/.yarnrc.yml index 5430077..63f0d53 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -7,5 +7,5 @@ nodeLinker: node-modules packageExtensions: markdown-it-anchor@*: peerDependenciesMeta: - '@types/markdown-it': + "@types/markdown-it": optional: true diff --git a/package.json b/package.json index d1ef326..a4391db 100644 --- a/package.json +++ b/package.json @@ -41,15 +41,15 @@ }, "devDependencies": { "@sveltejs/adapter-auto": "^3.1.1", - "@sveltejs/kit": "^2.5.2", + "@sveltejs/kit": "^2.5.3", "@sveltejs/vite-plugin-svelte": "^3.0.2", "@testing-library/jest-dom": "^6.4.2", "@testing-library/svelte": "^4.2.1", "@types/jest": "^29.5.12", "@types/lodash": "^4.14.202", "@types/node": "*", - "@typescript-eslint/eslint-plugin": "^7.1.0", - "@typescript-eslint/parser": "^7.1.0", + "@typescript-eslint/eslint-plugin": "^7.1.1", + "@typescript-eslint/parser": "^7.1.1", "@vitest/coverage-v8": "^1.3.1", "chokidar-cli": "^3.0.0", "eslint": "^8.57.0", @@ -76,9 +76,9 @@ "svelte": "^4.2.12", "svelte-check": "^3.6.6", "ts-node": "^10.9.2", - "typescript": "^5.3.3", - "vite": "^5.1.4", + "typescript": "^5.4.2", + "vite": "^5.1.6", "vitest": "^1.3.1" }, - "packageManager": "yarn@4.1.0" + "packageManager": "yarn@4.1.1" } diff --git a/test/tsconfig.json b/test/tsconfig.json index 7f9a4bc..9461ad5 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -9,6 +9,7 @@ "../.eslintrc.cjs", "../svelte.config.js", "../vite.config.ts", + "../vitest.config.ts", "../src/**/*.d.ts" ] } diff --git a/vite.config.ts b/vite.config.ts index 05bf564..b77915b 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,5 +1,3 @@ -/// - import { sveltekit } from '@sveltejs/kit/vite'; import path from 'path'; import { NodePackageImporter } from 'sass'; @@ -15,29 +13,4 @@ export default defineConfig({ }, }, }, - /** - * @see https://vitest.dev/config/#configuration - */ - test: { - include: ['./test/js/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], - globals: true, - environment: 'jsdom', - watch: false, - setupFiles: './test/js/setup.js', - clearMocks: true, - reporters: 'dot', - coverage: { - enabled: true, - reporter: ['text-summary', 'html'], - include: ['src/**/*.{js,ts,svelte}'], - exclude: [ - 'src/**/*.d.ts', - 'src/routes/styleguide/**/*', - 'src/routes/+layout.*', - ], - all: true, - skipFull: true, - reportOnFailure: true, - }, - }, }); diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..3ba6fb0 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,34 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; + +import viteConfig from './vite.config.js'; + +/** + * @see https://vitest.dev/config/#configuration + */ +export default mergeConfig( + viteConfig, + defineConfig({ + test: { + include: ['./test/js/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + globals: true, + environment: 'jsdom', + watch: false, + setupFiles: './test/js/setup.js', + clearMocks: true, + reporters: 'dot', + coverage: { + enabled: true, + reporter: ['text-summary', 'html'], + include: ['src/**/*.{js,ts,svelte}'], + exclude: [ + 'src/**/*.d.ts', + 'src/routes/styleguide/**/*', + 'src/routes/+layout.*', + ], + all: true, + skipFull: true, + reportOnFailure: true, + }, + }, + }), +); diff --git a/yarn.lock b/yarn.lock index 5244f90..205b4cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -665,9 +665,9 @@ __metadata: languageName: node linkType: hard -"@sveltejs/kit@npm:^2.5.2": - version: 2.5.2 - resolution: "@sveltejs/kit@npm:2.5.2" +"@sveltejs/kit@npm:^2.5.3": + version: 2.5.3 + resolution: "@sveltejs/kit@npm:2.5.3" dependencies: "@types/cookie": "npm:^0.6.0" cookie: "npm:^0.6.0" @@ -687,7 +687,7 @@ __metadata: vite: ^5.0.3 bin: svelte-kit: svelte-kit.js - checksum: 10/f2656d72049ff47ab9701cdeed3910ec32528f3cd8b825386e33a47d7899af0423ed8488092517c8a48ccd6789d1f11a55e8c24fd7204b28e2886c13260a071a + checksum: 10/532653275ff06142f8cf396af8691bbb4b8a2d209bb129fb3eba3a266ce1337dcd915edc86ba0ceb3c20ce7a2ffbfb62631346efdbec071a4565e764688d8a17 languageName: node linkType: hard @@ -960,15 +960,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^7.1.0": - version: 7.1.0 - resolution: "@typescript-eslint/eslint-plugin@npm:7.1.0" +"@typescript-eslint/eslint-plugin@npm:^7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/eslint-plugin@npm:7.1.1" dependencies: "@eslint-community/regexpp": "npm:^4.5.1" - "@typescript-eslint/scope-manager": "npm:7.1.0" - "@typescript-eslint/type-utils": "npm:7.1.0" - "@typescript-eslint/utils": "npm:7.1.0" - "@typescript-eslint/visitor-keys": "npm:7.1.0" + "@typescript-eslint/scope-manager": "npm:7.1.1" + "@typescript-eslint/type-utils": "npm:7.1.1" + "@typescript-eslint/utils": "npm:7.1.1" + "@typescript-eslint/visitor-keys": "npm:7.1.1" debug: "npm:^4.3.4" graphemer: "npm:^1.4.0" ignore: "npm:^5.2.4" @@ -981,25 +981,25 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/f0b6b6e6ae2afee1df8dd2fd0c56588f9bb600468be9f255e033709a53371c6434da687e75dcb673503ef4f0416226f4ca3c94c65272828106e39b56aac87334 + checksum: 10/5b357566a6dd7996ef2fdd13e5f747d55213f6217642c4a53618f432cf211be07ec62e23668132d997e1dcd1b1f56b36406989856ef7da373ea0f94b7c422f23 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^7.1.0": - version: 7.1.0 - resolution: "@typescript-eslint/parser@npm:7.1.0" +"@typescript-eslint/parser@npm:^7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/parser@npm:7.1.1" dependencies: - "@typescript-eslint/scope-manager": "npm:7.1.0" - "@typescript-eslint/types": "npm:7.1.0" - "@typescript-eslint/typescript-estree": "npm:7.1.0" - "@typescript-eslint/visitor-keys": "npm:7.1.0" + "@typescript-eslint/scope-manager": "npm:7.1.1" + "@typescript-eslint/types": "npm:7.1.1" + "@typescript-eslint/typescript-estree": "npm:7.1.1" + "@typescript-eslint/visitor-keys": "npm:7.1.1" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.56.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/39238d37f5a5f7058371ee3882fb7cd8a4579883fc5f13fda645c151fcf8d15e4c0db3ea7ffa7915a55c82451b544e9340c0228b45b83085158cb97974112f19 + checksum: 10/6df5fb8f34f887ddb086d2a02b74b422f6468daed3eded9a840b0c77b2d96ef818c8739f151bc1ba904be2973cbd82f48a07ef08101dcfec4cdfc71ef00c0a04 languageName: node linkType: hard @@ -1013,22 +1013,22 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.1.0": - version: 7.1.0 - resolution: "@typescript-eslint/scope-manager@npm:7.1.0" +"@typescript-eslint/scope-manager@npm:7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/scope-manager@npm:7.1.1" dependencies: - "@typescript-eslint/types": "npm:7.1.0" - "@typescript-eslint/visitor-keys": "npm:7.1.0" - checksum: 10/3fb18de864331739c1b04fe9e3bb5d926e2fdf0d1fea2871181f68d0fb52325cbc9a5b81da58b7fe7f22d6d58d62b21c83460907146bc2f54ef0720fb3f9037f + "@typescript-eslint/types": "npm:7.1.1" + "@typescript-eslint/visitor-keys": "npm:7.1.1" + checksum: 10/74a1de52eebf8f6c050bd071ba580f00dbd104bd0a9a2bfc7a794fcf5019be4b208ab63c318695bb4347669b55abd03016fa46a775d97c9e25f43cb46e5889e0 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:7.1.0": - version: 7.1.0 - resolution: "@typescript-eslint/type-utils@npm:7.1.0" +"@typescript-eslint/type-utils@npm:7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/type-utils@npm:7.1.1" dependencies: - "@typescript-eslint/typescript-estree": "npm:7.1.0" - "@typescript-eslint/utils": "npm:7.1.0" + "@typescript-eslint/typescript-estree": "npm:7.1.1" + "@typescript-eslint/utils": "npm:7.1.1" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.0.1" peerDependencies: @@ -1036,7 +1036,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/439e6fadab3df3c21adfd651af4e605e1020c86c8c2400b0127c2ee914646bc73945b4add31ca7201cafeead261ad2958362c339ebdfc0798064d56daeb60661 + checksum: 10/779a4700d1277180759d4df03af56395cfc4ba039d8bfd9245cf1084448d17c9ab899ebfff719f77713c44736f7adce7a97bd9fffb79bb21a3742ae9bdfcb5ef languageName: node linkType: hard @@ -1047,10 +1047,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:7.1.0": - version: 7.1.0 - resolution: "@typescript-eslint/types@npm:7.1.0" - checksum: 10/34801a14ea1444a1707de5bd3211f0ea53afc82a3c6c4543092f123267389da607c498d1a7de554ac9f071e6ef488238728a5f279ff2abaa0cbdfaa733899b67 +"@typescript-eslint/types@npm:7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/types@npm:7.1.1" + checksum: 10/e0fab31cb850a4923e0fca0663497b442a63fecfd1a293f70ecb4145b9f7cfbebb4d0ba29be76d70b95c153e51fc66e0400cd565d7552766783338878955680a languageName: node linkType: hard @@ -1072,12 +1072,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.1.0": - version: 7.1.0 - resolution: "@typescript-eslint/typescript-estree@npm:7.1.0" +"@typescript-eslint/typescript-estree@npm:7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/typescript-estree@npm:7.1.1" dependencies: - "@typescript-eslint/types": "npm:7.1.0" - "@typescript-eslint/visitor-keys": "npm:7.1.0" + "@typescript-eslint/types": "npm:7.1.1" + "@typescript-eslint/visitor-keys": "npm:7.1.1" debug: "npm:^4.3.4" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" @@ -1087,24 +1087,24 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/7dfc6fc70ff00875728ce5d85a3c5d6cb01435082b20ff9301ebe4d8e4a31a0c997282c762c636937bd66a40b4e0154e2ce98f85d888a6c46d433e9a24c46c4c + checksum: 10/6840f31ffe44072f0e20eb4acc091161eeac265fed44937d33064880269650ea63d68e8d79759f2dfaeff9a5803dcdf30e15a8b27e7db6cffbed42a02f9851e5 languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.1.0": - version: 7.1.0 - resolution: "@typescript-eslint/utils@npm:7.1.0" +"@typescript-eslint/utils@npm:7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/utils@npm:7.1.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" "@types/json-schema": "npm:^7.0.12" "@types/semver": "npm:^7.5.0" - "@typescript-eslint/scope-manager": "npm:7.1.0" - "@typescript-eslint/types": "npm:7.1.0" - "@typescript-eslint/typescript-estree": "npm:7.1.0" + "@typescript-eslint/scope-manager": "npm:7.1.1" + "@typescript-eslint/types": "npm:7.1.1" + "@typescript-eslint/typescript-estree": "npm:7.1.1" semver: "npm:^7.5.4" peerDependencies: eslint: ^8.56.0 - checksum: 10/26d64094d8b828ce6cfea660c95cdbd4d0193d338646fc773312093388bc781653fc1ca16977b3be5288579fe43f14c7108fc431da66dd95b6ed680ad44712a0 + checksum: 10/da8daae269ce15360ed91508f7c430b37d2e877321a91f437f611f9b643cc563c4aefe3d6b3983fadbb1bed389c82a4ceac95bbfeb015b62830fdb9ceea40e5a languageName: node linkType: hard @@ -1136,13 +1136,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.1.0": - version: 7.1.0 - resolution: "@typescript-eslint/visitor-keys@npm:7.1.0" +"@typescript-eslint/visitor-keys@npm:7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/visitor-keys@npm:7.1.1" dependencies: - "@typescript-eslint/types": "npm:7.1.0" + "@typescript-eslint/types": "npm:7.1.1" eslint-visitor-keys: "npm:^3.4.1" - checksum: 10/c3e98ebf166fd1854adb0e9599dc108cdbbd95f6eb099d31deae2fd1d4df8fcd8dc9c24ad4f509b961ad900b474c246f6b4b228b5711cc504106c3e0f751a11c + checksum: 10/d0c6c0811f38186053679b8447469e9a5c040db639d59e710ce5c5f5fddf9554287eb01a7cfa7a31e06f274bbe261c3b89a51a8c42869b1157b2d90c08f79507 languageName: node linkType: hard @@ -6400,15 +6400,15 @@ __metadata: resolution: "oddcontrast@workspace:." dependencies: "@sveltejs/adapter-auto": "npm:^3.1.1" - "@sveltejs/kit": "npm:^2.5.2" + "@sveltejs/kit": "npm:^2.5.3" "@sveltejs/vite-plugin-svelte": "npm:^3.0.2" "@testing-library/jest-dom": "npm:^6.4.2" "@testing-library/svelte": "npm:^4.2.1" "@types/jest": "npm:^29.5.12" "@types/lodash": "npm:^4.14.202" "@types/node": "npm:*" - "@typescript-eslint/eslint-plugin": "npm:^7.1.0" - "@typescript-eslint/parser": "npm:^7.1.0" + "@typescript-eslint/eslint-plugin": "npm:^7.1.1" + "@typescript-eslint/parser": "npm:^7.1.1" "@vitest/coverage-v8": "npm:^1.3.1" accoutrement: "npm:^4.0.4" chokidar-cli: "npm:^3.0.0" @@ -6437,8 +6437,8 @@ __metadata: svelte: "npm:^4.2.12" svelte-check: "npm:^3.6.6" ts-node: "npm:^10.9.2" - typescript: "npm:^5.3.3" - vite: "npm:^5.1.4" + typescript: "npm:^5.4.2" + vite: "npm:^5.1.6" vitest: "npm:^1.3.1" languageName: unknown linkType: soft @@ -8980,7 +8980,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.0.3, typescript@npm:^5.3.3": +"typescript@npm:^5.0.3": version: 5.3.3 resolution: "typescript@npm:5.3.3" bin: @@ -8990,7 +8990,17 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.0.3#optional!builtin, typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": +"typescript@npm:^5.4.2": + version: 5.4.2 + resolution: "typescript@npm:5.4.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/f8cfdc630ab1672f004e9561eb2916935b2d267792d07ce93e97fc601c7a65191af32033d5e9c0169b7dc37da7db9bf320f7432bc84527cb7697effaa4e4559d + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.0.3#optional!builtin": version: 5.3.3 resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" bin: @@ -9000,6 +9010,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A^5.4.2#optional!builtin": + version: 5.4.2 + resolution: "typescript@patch:typescript@npm%3A5.4.2#optional!builtin::version=5.4.2&hash=5adc0c" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/f5f9a4133c2670761f0166eae5b3bafbc4a3fc24f0f42a93c9c893d9e9d6e66ea066969c5e7483fa66b4ae0e99125592553f3b92fd3599484de8be13b0615176 + languageName: node + linkType: hard + "typogr@npm:^0.6.8": version: 0.6.8 resolution: "typogr@npm:0.6.8" @@ -9392,7 +9412,7 @@ __metadata: languageName: node linkType: hard -"vite@npm:^5.0.0, vite@npm:^5.1.4": +"vite@npm:^5.0.0": version: 5.1.4 resolution: "vite@npm:5.1.4" dependencies: @@ -9432,6 +9452,46 @@ __metadata: languageName: node linkType: hard +"vite@npm:^5.1.6": + version: 5.1.6 + resolution: "vite@npm:5.1.6" + dependencies: + esbuild: "npm:^0.19.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.35" + rollup: "npm:^4.2.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 10/f48073e93ead62fa58034398442de4517c824b3e50184f8b4059fb24077a26f2c04e910e29d7fb7ec51ea53eb61b9c7d94d56b14a38851de80c67480094cc79d + languageName: node + linkType: hard + "vitefu@npm:^0.2.5": version: 0.2.5 resolution: "vitefu@npm:0.2.5"