From 2914445dd596d63b1c2c0fe893b87829488036ec Mon Sep 17 00:00:00 2001 From: Luis Rodrigues Date: Sat, 14 Sep 2024 13:39:01 +0200 Subject: [PATCH] =?UTF-8?q?style:=20=F0=9F=92=84=20upgrade=20biome,=20remo?= =?UTF-8?q?ve=20prettier=20and=20stylelint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .prettierrc | 4 - .stylelintrc | 6 - biome.json | 6 +- package-lock.json | 707 +------------------- package.json | 26 +- postcss.config.js | 1 - renovate.json | 4 +- rollup.config.js | 4 +- src/dom/document.ts | 4 +- src/dom/events.ts | 2 +- src/dom/footnote.ts | 10 +- src/littlefoot.css | 2 +- src/littlefoot.ts | 4 +- src/settings.ts | 2 +- test/activate.test.ts | 10 +- test/dismiss.test.ts | 10 +- test/helper.ts | 6 +- test/options/activateCallback.test.ts | 4 +- test/options/activateDelay.test.ts | 4 +- test/options/activateOnHover.test.ts | 6 +- test/options/allowDuplicates.test.ts | 4 +- test/options/allowMultiple.test.ts | 8 +- test/options/anchorParentSelector.test.ts | 4 +- test/options/buttonTemplate.test.ts | 4 +- test/options/contentTemplate.test.ts | 4 +- test/options/dismissCallback.test.ts | 8 +- test/options/dismissDelay.test.ts | 4 +- test/options/dismissOnDocumentTouch.test.ts | 10 +- test/options/dismissOnUnhover.test.ts | 4 +- test/options/hoverDelay.test.ts | 4 +- test/options/numberResetSelector.test.ts | 4 +- test/options/scope.test.ts | 4 +- test/settings.test.ts | 2 +- test/setup.test.ts | 6 +- test/unmount.test.ts | 4 +- test/use-cases.test.ts | 4 +- 36 files changed, 119 insertions(+), 781 deletions(-) delete mode 100644 .prettierrc delete mode 100644 .stylelintrc diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index b2095be81..000000000 --- a/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "semi": false, - "singleQuote": true -} diff --git a/.stylelintrc b/.stylelintrc deleted file mode 100644 index 904c116e3..000000000 --- a/.stylelintrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": ["stylelint-config-standard", "stylelint-prettier/recommended"], - "rules": { - "selector-class-pattern": ".+" - } -} diff --git a/biome.json b/biome.json index b0e77f0c1..c64053e20 100644 --- a/biome.json +++ b/biome.json @@ -6,14 +6,16 @@ "useIgnoreFile": true }, "formatter": { - "indentWidth": 2, - "indentStyle": "space" + "useEditorconfig": true }, "linter": { "rules": { "complexity": { "noForEach": "off" }, + "correctness": { + "noUnknownMediaFeatureName": "warn" + }, "style": { "useTemplate": "off" } diff --git a/package-lock.json b/package-lock.json index 1037f0bf8..34a78deee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@pacote/throttle": "2.0.2" }, "devDependencies": { - "@biomejs/biome": "1.8.3", + "@biomejs/biome": "^1.9.0", "@commitlint/cli": "19.5.0", "@commitlint/config-conventional": "19.5.0", "@rollup/plugin-commonjs": "26.0.1", @@ -39,12 +39,8 @@ "postcss": "8.4.40", "postcss-cli": "11.0.0", "postcss-preset-env": "10.0.3", - "prettier": "^3.3.2", "rollup": "4.21.1", "standard-version": "9.5.0", - "stylelint": "16.9.0", - "stylelint-config-standard": "36.0.1", - "stylelint-prettier": "^5.0.0", "tslib": "2.7.0", "typescript": "5.6.2", "vitest": "^2.0.0" @@ -207,9 +203,9 @@ "dev": true }, "node_modules/@biomejs/biome": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.8.3.tgz", - "integrity": "sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.0.tgz", + "integrity": "sha512-NlWh2F1wbxB3O/wE+aohGL0BziTS6e+6+dyFvpdeqLsbQZY7EsiklFb9W5Xs41U4vEmY7ANgdNp+oVDij6sQdA==", "dev": true, "hasInstallScript": true, "license": "MIT OR Apache-2.0", @@ -224,20 +220,20 @@ "url": "https://opencollective.com/biome" }, "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "1.8.3", - "@biomejs/cli-darwin-x64": "1.8.3", - "@biomejs/cli-linux-arm64": "1.8.3", - "@biomejs/cli-linux-arm64-musl": "1.8.3", - "@biomejs/cli-linux-x64": "1.8.3", - "@biomejs/cli-linux-x64-musl": "1.8.3", - "@biomejs/cli-win32-arm64": "1.8.3", - "@biomejs/cli-win32-x64": "1.8.3" + "@biomejs/cli-darwin-arm64": "1.9.0", + "@biomejs/cli-darwin-x64": "1.9.0", + "@biomejs/cli-linux-arm64": "1.9.0", + "@biomejs/cli-linux-arm64-musl": "1.9.0", + "@biomejs/cli-linux-x64": "1.9.0", + "@biomejs/cli-linux-x64-musl": "1.9.0", + "@biomejs/cli-win32-arm64": "1.9.0", + "@biomejs/cli-win32-x64": "1.9.0" } }, "node_modules/@biomejs/cli-darwin-arm64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.8.3.tgz", - "integrity": "sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.0.tgz", + "integrity": "sha512-2w9v/NRtYSmodx5QWQ49OGcyGKSECdWKbzc7n532Iq5sBhkKk996fd19icT6BuL54f01KFKRCRibAW+A2rg1Kw==", "cpu": [ "arm64" ], @@ -252,9 +248,9 @@ } }, "node_modules/@biomejs/cli-darwin-x64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.8.3.tgz", - "integrity": "sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.0.tgz", + "integrity": "sha512-fBVt8jJQi0zX0SJ1C+tdzUbRpuX/07sgtBXEhunWRkPjdi6W/2S1sYHQ1wKn4OKiRAKfHM2Cf2FNO7hQvY61dA==", "cpu": [ "x64" ], @@ -269,9 +265,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.8.3.tgz", - "integrity": "sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.0.tgz", + "integrity": "sha512-l8U2lcqsl9yKPP5WUdIrKH//C1pWyM2cSUfcTBn6GSvXmsSjBNEdGSdM4Wfne777Oe/9ONaD1Ga53U2HksHHLw==", "cpu": [ "arm64" ], @@ -286,9 +282,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.8.3.tgz", - "integrity": "sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.0.tgz", + "integrity": "sha512-Jy84mZ4vcppdmWMgQWOCfd8qIVC/vHmlaS5gy7GXkdWlBKSQ56YxEXTU58MHTbZ16LwJQpK2IulqRCC/rqWLBA==", "cpu": [ "arm64" ], @@ -303,9 +299,9 @@ } }, "node_modules/@biomejs/cli-linux-x64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.8.3.tgz", - "integrity": "sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.0.tgz", + "integrity": "sha512-8jAzjrrJTj510pwq4aVs7ZKkOvEy1D+nzl9DKvrPh4TOyUw5Ie+0EDwXGE2RAkCKHkGNOQBZ78WtIdsATgz5sA==", "cpu": [ "x64" ], @@ -320,9 +316,9 @@ } }, "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.8.3.tgz", - "integrity": "sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.0.tgz", + "integrity": "sha512-N3enoFoIrkB6qJWyYfTiYmFdB1R/Mrij1dd1xBHqxxCKZY9GRkEswRX3F1Uqzo5T+9Iu8nAQobDqI/ygicYy/Q==", "cpu": [ "x64" ], @@ -337,9 +333,9 @@ } }, "node_modules/@biomejs/cli-win32-arm64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.8.3.tgz", - "integrity": "sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.0.tgz", + "integrity": "sha512-AIjwJTGfdWGMRluSQ9pDB29nzce077dfHh0/HMqzztKzgD3spyuo2R9VoaFpbR0hLHPWEH6g6OxxDO7hfkXNkQ==", "cpu": [ "arm64" ], @@ -354,9 +350,9 @@ } }, "node_modules/@biomejs/cli-win32-x64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.8.3.tgz", - "integrity": "sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.0.tgz", + "integrity": "sha512-4/4wTjNSoyNkm1SzcUaStDx46baX1VJRXtUoeEHjX9LfedR5N3qwZz5KfrRUnCd2fl5bmXK1CwMqKBkoF6zEiA==", "cpu": [ "x64" ], @@ -2117,16 +2113,6 @@ "ms": "^2.1.1" } }, - "node_modules/@dual-bundle/import-meta-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", - "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -3674,15 +3660,6 @@ "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", "dev": true }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -5673,15 +5650,6 @@ "postcss": "^8.0.9" } }, - "node_modules/css-functions-list": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz", - "integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==", - "dev": true, - "engines": { - "node": ">=12 || >=16" - } - }, "node_modules/css-has-pseudo": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.0.tgz", @@ -6485,27 +6453,6 @@ "node": ">=8" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dir-glob/node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/dom-accessibility-api": { "version": "0.5.16", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", @@ -6995,12 +6942,6 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -7017,15 +6958,6 @@ "node": ">=8.6.0" } }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -7059,18 +6991,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/file-entry-cache": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.0.0.tgz", - "integrity": "sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==", - "dev": true, - "dependencies": { - "flat-cache": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -7132,25 +7052,6 @@ "node": ">= 8" } }, - "node_modules/flat-cache": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz", - "integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==", - "dev": true, - "dependencies": { - "flatted": "^3.3.1", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, "node_modules/foreground-child": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", @@ -7843,12 +7744,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globjoin": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", - "dev": true - }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -7996,18 +7891,6 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", @@ -8152,15 +8035,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, "node_modules/indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", @@ -8438,15 +8312,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -8709,12 +8574,6 @@ "node": ">= 6" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -8797,15 +8656,6 @@ "verror": "1.10.0" } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -8815,13 +8665,6 @@ "node": ">=0.10.0" } }, - "node_modules/known-css-properties": { - "version": "0.34.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.34.0.tgz", - "integrity": "sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==", - "dev": true, - "license": "MIT" - }, "node_modules/lazy-ass": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", @@ -9323,12 +9166,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -9588,16 +9425,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", @@ -11676,39 +11503,6 @@ "postcss": "^8.1.0" } }, - "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", - "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-safe-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz", - "integrity": "sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, "node_modules/postcss-selector-not": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.0.tgz", @@ -11787,34 +11581,6 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, - "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -13078,293 +12844,6 @@ "postcss": "^8.4.31" } }, - "node_modules/stylelint": { - "version": "16.9.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.9.0.tgz", - "integrity": "sha512-31Nm3WjxGOBGpQqF43o3wO9L5AC36TPIe6030Lnm13H3vDMTcS21DrLh69bMX+DBilKqMMVLian4iG6ybBoNRQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - }, - { - "type": "github", - "url": "https://github.com/sponsors/stylelint" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", - "@csstools/media-query-list-parser": "^3.0.1", - "@csstools/selector-specificity": "^4.0.0", - "@dual-bundle/import-meta-resolve": "^4.1.0", - "balanced-match": "^2.0.0", - "colord": "^2.9.3", - "cosmiconfig": "^9.0.0", - "css-functions-list": "^3.2.2", - "css-tree": "^2.3.1", - "debug": "^4.3.6", - "fast-glob": "^3.3.2", - "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^9.0.0", - "global-modules": "^2.0.0", - "globby": "^11.1.0", - "globjoin": "^0.1.4", - "html-tags": "^3.3.1", - "ignore": "^5.3.2", - "imurmurhash": "^0.1.4", - "is-plain-object": "^5.0.0", - "known-css-properties": "^0.34.0", - "mathml-tag-names": "^2.1.3", - "meow": "^13.2.0", - "micromatch": "^4.0.8", - "normalize-path": "^3.0.0", - "picocolors": "^1.0.1", - "postcss": "^8.4.41", - "postcss-resolve-nested-selector": "^0.1.6", - "postcss-safe-parser": "^7.0.0", - "postcss-selector-parser": "^6.1.2", - "postcss-value-parser": "^4.2.0", - "resolve-from": "^5.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^7.1.0", - "supports-hyperlinks": "^3.1.0", - "svg-tags": "^1.0.0", - "table": "^6.8.2", - "write-file-atomic": "^5.0.1" - }, - "bin": { - "stylelint": "bin/stylelint.mjs" - }, - "engines": { - "node": ">=18.12.0" - } - }, - "node_modules/stylelint-config-recommended": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz", - "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - }, - { - "type": "github", - "url": "https://github.com/sponsors/stylelint" - } - ], - "license": "MIT", - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "stylelint": "^16.1.0" - } - }, - "node_modules/stylelint-config-standard": { - "version": "36.0.1", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.1.tgz", - "integrity": "sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - }, - { - "type": "github", - "url": "https://github.com/sponsors/stylelint" - } - ], - "license": "MIT", - "dependencies": { - "stylelint-config-recommended": "^14.0.1" - }, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "stylelint": "^16.1.0" - } - }, - "node_modules/stylelint-prettier": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-5.0.2.tgz", - "integrity": "sha512-qJ+BN+1T2ZcKz9WIrv0x+eFGHzSUnXfXd5gL///T6XoJvr3D8/ztzz2fhtmXef7Vb8P33zBXmLTTveByr0nwBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "prettier": ">=3.0.0", - "stylelint": ">=16.0.0" - } - }, - "node_modules/stylelint/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/stylelint/node_modules/balanced-match": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", - "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", - "dev": true, - "license": "MIT" - }, - "node_modules/stylelint/node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint/node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stylelint/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "license": "ISC" - }, - "node_modules/stylelint/node_modules/meow": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", - "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stylelint/node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/stylelint/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/stylelint/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, "node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -13380,35 +12859,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/supports-hyperlinks": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.1.0.tgz", - "integrity": "sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -13421,12 +12871,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", - "dev": true - }, "node_modules/svgo": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", @@ -13467,72 +12911,6 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, - "node_modules/table": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", - "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/table/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/table/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/table/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, "node_modules/terser": { "version": "5.31.1", "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", @@ -14315,19 +13693,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/ws": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", diff --git a/package.json b/package.json index f58f3782c..ea6da45e0 100644 --- a/package.json +++ b/package.json @@ -16,12 +16,8 @@ "watch:styles": "npm run build:styles --watch", "watch:vitest": "vitest", "watch": "concurrently 'npm run watch:scripts' 'npm run watch:styles'", - "format": "concurrently 'npm run format:scripts' 'npm run format:styles'", - "format:scripts": "biome check --apply .", - "format:styles": "prettier --write '{src}/**/*.{css,md}'", - "lint": "concurrently 'npm run lint:scripts' 'npm run lint:styles'", - "lint:scripts": "biome lint .", - "lint:styles": "stylelint 'src/**/*.css'", + "format": "biome check --write .", + "lint": "biome lint .", "pretest": "npm run lint", "test": "concurrently 'npm run test:vitest' 'npm run test:cypress'", "test:coverage": "concurrently 'npm run test:vitest --coverage' 'npm run test:cypress'", @@ -32,13 +28,7 @@ "prepare": "npm run build" }, "lint-staged": { - "{src,test}/**/*.{js,json,ts}": [ - "prettier --write", - "biome check --apply ." - ], - "{src,test/**/*.{css,md}": [ - "prettier --write" - ] + "{src,test}/**/*.{js,json,ts}": ["biome check --write ."] }, "author": { "name": "Luís Rodrigues", @@ -50,11 +40,9 @@ "module": "dist/littlefoot.mjs", "typings": "dist/littlefoot.d.ts", "style": "dist/littlefoot.css", - "browserslist": [ - "defaults" - ], + "browserslist": ["defaults"], "devDependencies": { - "@biomejs/biome": "1.8.3", + "@biomejs/biome": "^1.9.0", "@commitlint/cli": "19.5.0", "@commitlint/config-conventional": "19.5.0", "@rollup/plugin-commonjs": "26.0.1", @@ -79,12 +67,8 @@ "postcss": "8.4.40", "postcss-cli": "11.0.0", "postcss-preset-env": "10.0.3", - "prettier": "^3.3.2", "rollup": "4.21.1", "standard-version": "9.5.0", - "stylelint": "16.9.0", - "stylelint-config-standard": "36.0.1", - "stylelint-prettier": "^5.0.0", "tslib": "2.7.0", "typescript": "5.6.2", "vitest": "^2.0.0" diff --git a/postcss.config.js b/postcss.config.js index cea772d48..88d423bcd 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,6 +1,5 @@ module.exports = { plugins: { - stylelint: {}, 'postcss-preset-env': { stage: 1, }, diff --git a/renovate.json b/renovate.json index f45d8f110..4f39080e4 100644 --- a/renovate.json +++ b/renovate.json @@ -1,5 +1,3 @@ { - "extends": [ - "config:base" - ] + "extends": ["config:base"] } diff --git a/rollup.config.js b/rollup.config.js index 1ff04a102..234f942ae 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,7 +1,7 @@ -import resolve from '@rollup/plugin-node-resolve' import commonjs from '@rollup/plugin-commonjs' -import typescript from '@rollup/plugin-typescript' +import resolve from '@rollup/plugin-node-resolve' import terser from '@rollup/plugin-terser' +import typescript from '@rollup/plugin-typescript' import pkg from './package.json' const production = !process.env.ROLLUP_WATCH diff --git a/src/dom/document.ts b/src/dom/document.ts index 402ce1d3e..9bb31096f 100644 --- a/src/dom/document.ts +++ b/src/dom/document.ts @@ -1,7 +1,7 @@ -import { footnoteActions, type FootnoteElements } from './footnote' -import { bindScrollHandler } from './scroll' import type { Adapter } from '../use-cases' import { addClass, removeClass } from './element' +import { type FootnoteElements, footnoteActions } from './footnote' +import { bindScrollHandler } from './scroll' export const CLASS_CONTENT = 'littlefoot__content' export const CLASS_WRAPPER = 'littlefoot__wrapper' diff --git a/src/dom/events.ts b/src/dom/events.ts index cbd1e6d75..e00023d28 100644 --- a/src/dom/events.ts +++ b/src/dom/events.ts @@ -1,5 +1,5 @@ import { throttle } from '@pacote/throttle' -import type { UseCases, FootnoteAction } from '../use-cases' +import type { FootnoteAction, UseCases } from '../use-cases' const SELECTOR_FOOTNOTE = '[data-footnote-id]' diff --git a/src/dom/footnote.ts b/src/dom/footnote.ts index b6fb79a4f..cff8bfd9e 100644 --- a/src/dom/footnote.ts +++ b/src/dom/footnote.ts @@ -1,12 +1,12 @@ +import type { Footnote } from '../use-cases' +import { addClass, hasClass, removeClass } from './element' import { + type Position, + getLeftInPixels, + getMaxHeight, repositionPopover, repositionTooltip, - getMaxHeight, - getLeftInPixels, - type Position, } from './layout' -import type { Footnote } from '../use-cases' -import { addClass, hasClass, removeClass } from './element' const CLASS_ACTIVE = 'is-active' const CLASS_CHANGING = 'is-changing' diff --git a/src/littlefoot.css b/src/littlefoot.css index a4d0a0702..430c3f221 100644 --- a/src/littlefoot.css +++ b/src/littlefoot.css @@ -122,7 +122,7 @@ & .littlefoot__content::after { bottom: 0; color: var(--popover-scroll-indicator-color); - content: '\21E3'; + content: "\21E3"; display: block; left: 0; opacity: 1; diff --git a/src/littlefoot.ts b/src/littlefoot.ts index cdaf52062..0dbd887ed 100644 --- a/src/littlefoot.ts +++ b/src/littlefoot.ts @@ -1,7 +1,7 @@ -import { DEFAULT_SETTINGS, type Settings } from './settings' -import { createUseCases } from './use-cases' import { setup } from './dom/document' import { addListeners } from './dom/events' +import { DEFAULT_SETTINGS, type Settings } from './settings' +import { createUseCases } from './use-cases' type Littlefoot = Readonly<{ activate: (id: string, delay?: number) => void diff --git a/src/settings.ts b/src/settings.ts index d8e2cfa79..1de5c9868 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -1,10 +1,10 @@ -import type { UseCaseSettings } from './use-cases' import { CLASS_CONTENT, CLASS_WRAPPER, type HTMLAdapterSettings, } from './dom/document' import { CLASS_TOOLTIP } from './dom/layout' +import type { UseCaseSettings } from './use-cases' export type Settings = HTMLAdapterSettings & UseCaseSettings diff --git a/test/activate.test.ts b/test/activate.test.ts index da248f13a..152958831 100644 --- a/test/activate.test.ts +++ b/test/activate.test.ts @@ -1,12 +1,12 @@ -import { test, expect, afterEach, beforeEach, vi } from 'vitest' -import { fireEvent, createEvent } from '@testing-library/dom' +import { createEvent, fireEvent } from '@testing-library/dom' +import { afterEach, beforeEach, expect, test, vi } from 'vitest' +import littlefoot from '../src/littlefoot' import { + getButton, + getPopoverByText, setDocumentBody, waitToStopChanging, - getPopoverByText, - getButton, } from './helper' -import littlefoot from '../src/littlefoot' const TEST_SETTINGS = { activateDelay: 1 } diff --git a/test/dismiss.test.ts b/test/dismiss.test.ts index c64ebc851..d3e9aa848 100644 --- a/test/dismiss.test.ts +++ b/test/dismiss.test.ts @@ -1,13 +1,13 @@ -import { test, expect, beforeEach } from 'vitest' import { fireEvent, screen } from '@testing-library/dom' +import { beforeEach, expect, test } from 'vitest' +import littlefoot from '../src/littlefoot' import { - setDocumentBody, - waitToStopChanging, - getPopoverByText, getButton, getPopover, + getPopoverByText, + setDocumentBody, + waitToStopChanging, } from './helper' -import littlefoot from '../src/littlefoot' const TEST_SETTINGS = { activateDelay: 0, dismissDelay: 0 } diff --git a/test/helper.ts b/test/helper.ts index 3418828a3..cac59232c 100644 --- a/test/helper.ts +++ b/test/helper.ts @@ -1,8 +1,8 @@ import '@testing-library/jest-dom/vitest' -import { expect } from 'vitest' -import { waitFor, screen } from '@testing-library/dom' -import { join } from 'node:path' import { readFileSync } from 'node:fs' +import { join } from 'node:path' +import { screen, waitFor } from '@testing-library/dom' +import { expect } from 'vitest' export function getPopoverByText(matcher: string | RegExp): HTMLElement { // biome-ignore lint/style/noNonNullAssertion: diff --git a/test/options/activateCallback.test.ts b/test/options/activateCallback.test.ts index a633bf009..7c88ec195 100644 --- a/test/options/activateCallback.test.ts +++ b/test/options/activateCallback.test.ts @@ -1,7 +1,7 @@ -import { test, expect, vi } from 'vitest' import { fireEvent } from '@testing-library/dom' -import { setDocumentBody, getPopover, getButton } from '../helper' +import { expect, test, vi } from 'vitest' import littlefoot from '../../src/littlefoot' +import { getButton, getPopover, setDocumentBody } from '../helper' test('setup with activateCallback', () => { setDocumentBody('single.html') diff --git a/test/options/activateDelay.test.ts b/test/options/activateDelay.test.ts index 6721fee37..349771713 100644 --- a/test/options/activateDelay.test.ts +++ b/test/options/activateDelay.test.ts @@ -1,7 +1,7 @@ -import { test, expect, afterEach, vi } from 'vitest' import { fireEvent } from '@testing-library/dom' -import { setDocumentBody, getButton } from '../helper' +import { afterEach, expect, test, vi } from 'vitest' import littlefoot from '../../src/littlefoot' +import { getButton, setDocumentBody } from '../helper' afterEach(() => { vi.useRealTimers() diff --git a/test/options/activateOnHover.test.ts b/test/options/activateOnHover.test.ts index ede05a6bf..b82dfd40b 100644 --- a/test/options/activateOnHover.test.ts +++ b/test/options/activateOnHover.test.ts @@ -1,7 +1,7 @@ -import { test, expect } from 'vitest' -import littlefoot from '../../src/littlefoot' -import { setDocumentBody, waitToStopChanging, getButton } from '../helper' import { fireEvent } from '@testing-library/dom' +import { expect, test } from 'vitest' +import littlefoot from '../../src/littlefoot' +import { getButton, setDocumentBody, waitToStopChanging } from '../helper' test('activate on hover', async () => { setDocumentBody('single.html') diff --git a/test/options/allowDuplicates.test.ts b/test/options/allowDuplicates.test.ts index 8c8f805a7..82f4cf8d5 100644 --- a/test/options/allowDuplicates.test.ts +++ b/test/options/allowDuplicates.test.ts @@ -1,6 +1,6 @@ -import { test, expect } from 'vitest' +import { expect, test } from 'vitest' import littlefoot from '../../src/littlefoot' -import { setDocumentBody, getAllButtons } from '../helper' +import { getAllButtons, setDocumentBody } from '../helper' test('create one button per footnote reference', () => { setDocumentBody('default.html') diff --git a/test/options/allowMultiple.test.ts b/test/options/allowMultiple.test.ts index 801fb868c..61c35f40b 100644 --- a/test/options/allowMultiple.test.ts +++ b/test/options/allowMultiple.test.ts @@ -1,12 +1,12 @@ -import { test, expect, afterEach, beforeEach, vi } from 'vitest' import { fireEvent } from '@testing-library/dom' +import { afterEach, beforeEach, expect, test, vi } from 'vitest' +import littlefoot from '../../src/littlefoot' import { - setDocumentBody, - waitToStopChanging, getAllActiveButtons, getButton, + setDocumentBody, + waitToStopChanging, } from '../helper' -import littlefoot from '../../src/littlefoot' beforeEach(() => { setDocumentBody('default.html') diff --git a/test/options/anchorParentSelector.test.ts b/test/options/anchorParentSelector.test.ts index 1050579da..04339ae72 100644 --- a/test/options/anchorParentSelector.test.ts +++ b/test/options/anchorParentSelector.test.ts @@ -1,7 +1,7 @@ -import { test, expect } from 'vitest' import { fireEvent } from '@testing-library/dom' -import { setDocumentBody, getButton, getPopover } from '../helper' +import { expect, test } from 'vitest' import littlefoot from '../../src/littlefoot' +import { getButton, getPopover, setDocumentBody } from '../helper' test('hides original footnote anchor parent', () => { setDocumentBody('default.html') diff --git a/test/options/buttonTemplate.test.ts b/test/options/buttonTemplate.test.ts index 71c146dc7..27a9da062 100644 --- a/test/options/buttonTemplate.test.ts +++ b/test/options/buttonTemplate.test.ts @@ -1,7 +1,7 @@ -import { test, expect, beforeEach } from 'vitest' import { screen } from '@testing-library/dom' -import { setDocumentBody, getButton } from '../helper' +import { beforeEach, expect, test } from 'vitest' import littlefoot from '../../src/littlefoot' +import { getButton, setDocumentBody } from '../helper' beforeEach(() => { setDocumentBody('single.html') diff --git a/test/options/contentTemplate.test.ts b/test/options/contentTemplate.test.ts index c67ce8638..7351708ce 100644 --- a/test/options/contentTemplate.test.ts +++ b/test/options/contentTemplate.test.ts @@ -1,7 +1,7 @@ -import { test, expect } from 'vitest' import { fireEvent } from '@testing-library/dom' -import { setDocumentBody, waitToStopChanging, getButton } from '../helper' +import { expect, test } from 'vitest' import littlefoot from '../../src/littlefoot' +import { getButton, setDocumentBody, waitToStopChanging } from '../helper' test('setup with default contentTemplate', async () => { setDocumentBody('single.html') diff --git a/test/options/dismissCallback.test.ts b/test/options/dismissCallback.test.ts index 3a5e112cf..f793f52e2 100644 --- a/test/options/dismissCallback.test.ts +++ b/test/options/dismissCallback.test.ts @@ -1,12 +1,12 @@ -import { test, expect, vi } from 'vitest' import { fireEvent } from '@testing-library/dom' +import { expect, test, vi } from 'vitest' +import littlefoot from '../../src/littlefoot' import { - setDocumentBody, + getButton, getPopover, + setDocumentBody, waitToStopChanging, - getButton, } from '../helper' -import littlefoot from '../../src/littlefoot' test('setup with dismissCallback', async () => { setDocumentBody('single.html') diff --git a/test/options/dismissDelay.test.ts b/test/options/dismissDelay.test.ts index 4a7a58ba6..57a44fb9e 100644 --- a/test/options/dismissDelay.test.ts +++ b/test/options/dismissDelay.test.ts @@ -1,7 +1,7 @@ -import { test, expect, afterEach, vi } from 'vitest' import { fireEvent } from '@testing-library/dom' -import { setDocumentBody, getButton } from '../helper' +import { afterEach, expect, test, vi } from 'vitest' import littlefoot from '../../src/littlefoot' +import { getButton, setDocumentBody } from '../helper' afterEach(() => { vi.useRealTimers() diff --git a/test/options/dismissOnDocumentTouch.test.ts b/test/options/dismissOnDocumentTouch.test.ts index 402d8c100..86edcbfd7 100644 --- a/test/options/dismissOnDocumentTouch.test.ts +++ b/test/options/dismissOnDocumentTouch.test.ts @@ -1,13 +1,13 @@ -import { test, expect } from 'vitest' import { fireEvent } from '@testing-library/dom' +import { expect, test } from 'vitest' +import littlefoot from '../../src/littlefoot' import { - setDocumentBody, - getPopover, - waitToStopChanging, getAllActiveButtons, getButton, + getPopover, + setDocumentBody, + waitToStopChanging, } from '../helper' -import littlefoot from '../../src/littlefoot' test('do not dismiss footnote when clicking the document body', async () => { setDocumentBody('single.html') diff --git a/test/options/dismissOnUnhover.test.ts b/test/options/dismissOnUnhover.test.ts index 1ba68613b..137621bb9 100644 --- a/test/options/dismissOnUnhover.test.ts +++ b/test/options/dismissOnUnhover.test.ts @@ -1,7 +1,7 @@ -import { test, expect } from 'vitest' import { fireEvent, waitFor } from '@testing-library/dom' -import { setDocumentBody, getButton, getPopover } from '../helper' +import { expect, test } from 'vitest' import littlefoot from '../../src/littlefoot' +import { getButton, getPopover, setDocumentBody } from '../helper' test('dismiss on button unhover', async () => { setDocumentBody('single.html') diff --git a/test/options/hoverDelay.test.ts b/test/options/hoverDelay.test.ts index 1f4a75b85..d13c5780e 100644 --- a/test/options/hoverDelay.test.ts +++ b/test/options/hoverDelay.test.ts @@ -1,7 +1,7 @@ -import { test, expect, afterEach, vi } from 'vitest' import { fireEvent } from '@testing-library/dom' -import { setDocumentBody, getButton } from '../helper' +import { afterEach, expect, test, vi } from 'vitest' import littlefoot from '../../src/littlefoot' +import { getButton, setDocumentBody } from '../helper' afterEach(() => { vi.useRealTimers() diff --git a/test/options/numberResetSelector.test.ts b/test/options/numberResetSelector.test.ts index 4abceabe8..d3ffafbf6 100644 --- a/test/options/numberResetSelector.test.ts +++ b/test/options/numberResetSelector.test.ts @@ -1,6 +1,6 @@ -import { test, expect, beforeEach } from 'vitest' -import { setDocumentBody, getAllButtons } from '../helper' +import { beforeEach, expect, test } from 'vitest' import littlefoot from '../../src/littlefoot' +import { getAllButtons, setDocumentBody } from '../helper' beforeEach(() => { setDocumentBody('multiple.html') diff --git a/test/options/scope.test.ts b/test/options/scope.test.ts index 81de378a8..b5a7a582a 100644 --- a/test/options/scope.test.ts +++ b/test/options/scope.test.ts @@ -1,7 +1,7 @@ -import { test, expect } from 'vitest' import { screen } from '@testing-library/dom' -import { getAllButtons, setDocumentBody } from '../helper' +import { expect, test } from 'vitest' import littlefoot from '../../src/littlefoot' +import { getAllButtons, setDocumentBody } from '../helper' test('creates buttons for all footnotes when scope is body', () => { setDocumentBody('default.html') diff --git a/test/settings.test.ts b/test/settings.test.ts index eec55c0c1..55d7e1323 100644 --- a/test/settings.test.ts +++ b/test/settings.test.ts @@ -1,4 +1,4 @@ -import { test, expect } from 'vitest' +import { expect, test } from 'vitest' import littlefoot from '../src/littlefoot' test('allows getting default values', () => { diff --git a/test/setup.test.ts b/test/setup.test.ts index 377b5a854..4e9b98b12 100644 --- a/test/setup.test.ts +++ b/test/setup.test.ts @@ -1,12 +1,12 @@ -import { test, expect, beforeEach } from 'vitest' import { fireEvent } from '@testing-library/dom' +import { beforeEach, expect, test } from 'vitest' import littlefoot from '../src/littlefoot' import { - setDocumentBody, - getAllButtons, getAllActiveButtons, + getAllButtons, getButton, getPopover, + setDocumentBody, } from './helper' beforeEach(() => { diff --git a/test/unmount.test.ts b/test/unmount.test.ts index fb517a0e3..9f03e914e 100644 --- a/test/unmount.test.ts +++ b/test/unmount.test.ts @@ -1,6 +1,6 @@ -import { test, expect, beforeEach } from 'vitest' -import littlefoot from '../src/littlefoot' import { screen } from '@testing-library/dom' +import { beforeEach, expect, test } from 'vitest' +import littlefoot from '../src/littlefoot' import { setDocumentBody } from './helper' beforeEach(() => { diff --git a/test/use-cases.test.ts b/test/use-cases.test.ts index 8a8fa62d7..172936787 100644 --- a/test/use-cases.test.ts +++ b/test/use-cases.test.ts @@ -1,9 +1,9 @@ -import { test, expect, afterEach, vi } from 'vitest' +import { afterEach, expect, test, vi } from 'vitest' import { - createUseCases, type Adapter, type Footnote, type UseCaseSettings, + createUseCases, } from '../src/use-cases' afterEach(() => {