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"