diff --git a/eslint.config.mjs b/eslint.config.mjs index bc5e2a0..0919288 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -99,6 +99,18 @@ export default typescriptEslint.config( allowTypedFunctionExpressions: true, allowHigherOrderFunctions: true } + ], + '@typescript-eslint/no-restricted-imports': [ + 'error', + { + paths: [ + { + name: 'simple-git', + message: 'Please copy paste the needed enum instead.', + allowTypeImports: true + } + ] + } ] } }, diff --git a/package-lock.json b/package-lock.json index 8d4690a..984bf73 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,14 +10,12 @@ "license": "MIT", "devDependencies": { "@eslint/js": "^9.21.0", - "@types/deep-equal": "^1.0.4", "@types/node": "^22.13.1", "@typescript-eslint/eslint-plugin": "^8.23.0", "@typescript-eslint/parser": "^8.23.0", "builtin-modules": "^5.0.0", "color2k": "^2.0.3", "compare-versions": "^6.1.1", - "deep-equal": "^2.2.3", "esbuild": "^0.25.0", "esbuild-svelte": "^0.9.2", "eslint": "^9.22.0", @@ -27,8 +25,6 @@ "eslint-plugin-svelte": "^3.2.2", "eslint-plugin-unicorn": "^57.0.0", "globals": "^16.0.0", - "jiti": "^2.4.2", - "lodash": "^4.17.21", "obsidian": "^1.8.7", "obsidian-dev-utils": "latest", "obsidian-typings": "^2.35.0", @@ -358,9 +354,9 @@ "license": "MIT" }, "node_modules/@cspell/dict-cpp": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-6.0.6.tgz", - "integrity": "sha512-HMV1chsExuZt5IL9rYBW7GmhNZDVdQJEd1WtFgOO6jqiNxbpTG3Is3Pkldl7FpusBQQZr4BdjMit5bnPpVRy3A==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-6.0.7.tgz", + "integrity": "sha512-mk0AUx6au1BJQBTT2Uq9L+y43E0Cy0Vcm6TrK3Toi2iuBLWOnDR/xRE4nZADBsi6WnWoiyl3/QqA1gW2zPkGvQ==", "dev": true, "license": "MIT" }, @@ -428,9 +424,9 @@ "license": "MIT" }, "node_modules/@cspell/dict-en_us": { - "version": "4.3.35", - "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.35.tgz", - "integrity": "sha512-HF6QNyPHkxeo/SosaZXRQlnKDUTjIzrGKyqfbw/fPPlPYrXefAZZ40ofheb5HnbUicR7xqV/lsc/HQfqYshGIw==", + "version": "4.3.36", + "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.36.tgz", + "integrity": "sha512-GkXmwBvMomji6OKgeRbKyyHSk84zLexb+ImpR5HjjiIyGMw68wrbBbqOzn52NjZjLdjk7B0+tB2u6qYZbnDapw==", "dev": true, "license": "MIT" }, @@ -484,9 +480,9 @@ "license": "MIT" }, "node_modules/@cspell/dict-gaming-terms": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@cspell/dict-gaming-terms/-/dict-gaming-terms-1.1.0.tgz", - "integrity": "sha512-46AnDs9XkgJ2f1Sqol1WgfJ8gOqp60fojpc9Wxch7x+BA63g4JfMV5/M5x0sI0TLlLY8EBSglcr8wQF/7C80AQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-gaming-terms/-/dict-gaming-terms-1.1.1.tgz", + "integrity": "sha512-tb8GFxjTLDQstkJcJ90lDqF4rKKlMUKs5/ewePN9P+PYRSehqDpLI5S5meOfPit8LGszeOrjUdBQ4zXo7NpMyQ==", "dev": true, "license": "MIT" }, @@ -589,16 +585,16 @@ "license": "MIT" }, "node_modules/@cspell/dict-markdown": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@cspell/dict-markdown/-/dict-markdown-2.0.9.tgz", - "integrity": "sha512-j2e6Eg18BlTb1mMP1DkyRFMM/FLS7qiZjltpURzDckB57zDZbUyskOFdl4VX7jItZZEeY0fe22bSPOycgS1Z5A==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@cspell/dict-markdown/-/dict-markdown-2.0.10.tgz", + "integrity": "sha512-vtVa6L/84F9sTjclTYDkWJF/Vx2c5xzxBKkQp+CEFlxOF2SYgm+RSoEvAvg5vj4N5kuqR4350ZlY3zl2eA3MXw==", "dev": true, "license": "MIT", "peerDependencies": { "@cspell/dict-css": "^4.0.17", "@cspell/dict-html": "^4.0.11", "@cspell/dict-html-symbol-entities": "^4.0.3", - "@cspell/dict-typescript": "^3.2.0" + "@cspell/dict-typescript": "^3.2.1" } }, "node_modules/@cspell/dict-monkeyc": { @@ -609,16 +605,16 @@ "license": "MIT" }, "node_modules/@cspell/dict-node": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-5.0.6.tgz", - "integrity": "sha512-CEbhPCpxGvRNByGolSBTrXXW2rJA4bGqZuTx1KKO85mwR6aadeOmUE7xf/8jiCkXSy+qvr9aJeh+jlfXcsrziQ==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-5.0.7.tgz", + "integrity": "sha512-ZaPpBsHGQCqUyFPKLyCNUH2qzolDRm1/901IO8e7btk7bEDF56DN82VD43gPvD4HWz3yLs/WkcLa01KYAJpnOw==", "dev": true, "license": "MIT" }, "node_modules/@cspell/dict-npm": { - "version": "5.1.31", - "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.1.31.tgz", - "integrity": "sha512-Oh9nrhgNV4UD1hlbgO3TFQqQRKziwc7qXKoQiC4oqOYIhMs2WL9Ezozku7FY1e7o5XbCIZX9nRH0ymNx/Rwj6w==", + "version": "5.1.33", + "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.1.33.tgz", + "integrity": "sha512-ZJ7mFmAmaxLNix8JEnCCGhsA4PskQjaF+aDcShyxD5o43yKhSwKg7ePhgHhwAa19FjB7Kea2h4k++Oshu8xziQ==", "dev": true, "license": "MIT" }, @@ -689,9 +685,9 @@ "license": "MIT" }, "node_modules/@cspell/dict-software-terms": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-5.0.2.tgz", - "integrity": "sha512-aCzP+M0WXRLYXTriDMZygUe5s4jKyau/nCA6gBGt4EoHfXn+Ua/+DrW766oXOkkESIlqTBtRgb9gWwQvUdOXSQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-5.0.3.tgz", + "integrity": "sha512-YSNSt+7mTKMMJRT26+uOmWrx5Yaqs+WqTbLb0an0zIcnZHjxrH0eVYlvZmxQcF2JiDuhjQvo9YaEnu+MI09HZg==", "dev": true, "license": "MIT" }, @@ -724,9 +720,9 @@ "license": "MIT" }, "node_modules/@cspell/dict-typescript": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-3.2.0.tgz", - "integrity": "sha512-Pk3zNePLT8qg51l0M4g1ISowYAEGxTuNfZlgkU5SvHa9Cu7x/BWoyYq9Fvc3kAyoisCjRPyvWF4uRYrPitPDFw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-3.2.1.tgz", + "integrity": "sha512-jdnKg4rBl75GUBTsUD6nTJl7FGvaIt5wWcWP7TZSC3rV1LfkwvbUiY3PiGpfJlAIdnLYSeFWIpYU9gyVgz206w==", "dev": true, "license": "MIT" }, @@ -1469,9 +1465,9 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.0.tgz", - "integrity": "sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz", + "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1573,19 +1569,32 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", - "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", + "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.12.0", + "@eslint/core": "^0.13.0", "levn": "^0.4.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", + "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@guardian/eslint-plugin-tsdoc-required": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@guardian/eslint-plugin-tsdoc-required/-/eslint-plugin-tsdoc-required-0.1.3.tgz", @@ -1807,15 +1816,15 @@ "license": "MIT" }, "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.7.tgz", - "integrity": "sha512-5yximcFK5FNompXfJFoWanu5l8v1hNGqNHh9du1xETp9HWk/B/PzvchX55WYOPaIeNglG8++68AAiauBAtbnzw==", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.8.tgz", + "integrity": "sha512-OBlgKdX7gin7OIq4fadsjpg+cp2ZphvAIKucHsNfTdJiqdOmOEwQd/bHi0VwNrcw5xpBJyUw6cK/QilCqy1BSg==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.3.1", - "@emnapi/runtime": "^1.3.1", + "@emnapi/core": "^1.4.0", + "@emnapi/runtime": "^1.4.0", "@tybys/wasm-util": "^0.9.0" } }, @@ -2634,6 +2643,19 @@ "url": "^0.11.0" } }, + "node_modules/@pkgr/core": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.0.tgz", + "integrity": "sha512-vsJDAkYR6qCPu+ioGScGiMYR7LvZYIXh/dlQeviqoTWNCVfKTLYD/LkNWH4Mxsv2a5vpIRc77FN5DnmK1eBggQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -2837,13 +2859,6 @@ "@types/ms": "*" } }, - "node_modules/@types/deep-equal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/deep-equal/-/deep-equal-1.0.4.tgz", - "integrity": "sha512-tqdiS4otQP4KmY0PR3u6KbZ5EWvhNdUoS/jc93UuK23C220lOZ/9TvjfxdPcKvqwwDVtmtSCrnr0p/2dirAxkA==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/doctrine": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz", @@ -2911,9 +2926,9 @@ } }, "node_modules/@types/luxon": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.2.tgz", - "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.6.0.tgz", + "integrity": "sha512-RtEj20xRyG7cRp142MkQpV3GRF8Wo2MtDkKLz65MQs7rM1Lh8bz+HtfPXCCJEYpnDFu6VwAq/Iv2Ikyp9Jw/hw==", "dev": true, "license": "MIT" }, @@ -2935,9 +2950,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.14.tgz", - "integrity": "sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==", + "version": "22.13.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.17.tgz", + "integrity": "sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==", "dev": true, "license": "MIT", "dependencies": { @@ -4859,39 +4874,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/deep-equal": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", - "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.5", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.2", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -5092,9 +5074,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.128", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.128.tgz", - "integrity": "sha512-bo1A4HH/NS522Ws0QNFIzyPcyUUNV/yyy70Ho1xqfGYzPUme2F/xr4tlEOuM6/A538U1vDA7a4XfCd1CKRegKQ==", + "version": "1.5.129", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.129.tgz", + "integrity": "sha512-JlXUemX4s0+9f8mLqib/bHH8gOHf5elKS6KeWG3sk3xozb/JTq/RLXIv8OKUWiK4Ah00Wm88EFj5PYkFr4RUPA==", "dev": true, "license": "ISC" }, @@ -5237,27 +5219,6 @@ "node": ">= 0.4" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-object-atoms": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", @@ -5643,12 +5604,13 @@ } }, "node_modules/eslint-plugin-import-x": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-import-x/-/eslint-plugin-import-x-4.9.4.tgz", - "integrity": "sha512-IPWbN0KBgBCpAiSlUcS17zc1eqMzRlYz15AzsFrw2Qfqt+e0IupxYbvYD96bGLKVlNdkNwa4ggv1skztpaZR/g==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import-x/-/eslint-plugin-import-x-4.10.0.tgz", + "integrity": "sha512-5ej+0WILhX3D6wkcdsyYmPp10SUIK6fmuZ6KS8nf9MD8CJ6/S/3Dl7m21g+MLeaTMsvcEXo3JunNAbgHwXxs/g==", "dev": true, "license": "MIT", "dependencies": { + "@pkgr/core": "^0.2.0", "@types/doctrine": "^0.0.9", "@typescript-eslint/utils": "^8.28.0", "debug": "^4.4.0", @@ -5656,7 +5618,7 @@ "eslint-import-resolver-node": "^0.3.9", "get-tsconfig": "^4.10.0", "is-glob": "^4.0.3", - "minimatch": "^10.0.1", + "minimatch": "^9.0.3 || ^10.0.1", "semver": "^7.7.1", "stable-hash": "^0.0.5", "tslib": "^2.8.1", @@ -5682,22 +5644,6 @@ "node": ">=6.0.0" } }, - "node_modules/eslint-plugin-import-x/node_modules/minimatch": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/eslint-plugin-import/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -5774,9 +5720,9 @@ } }, "node_modules/eslint-plugin-svelte": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.4.1.tgz", - "integrity": "sha512-wgbRwN/6FampBBiIuuLSmp4QRqmuHuexbuRJwx+kqzsxKOhakU8o8sVgGhsf/bQiZkOmWF/5Mrj2CHmVMwY+YQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.5.0.tgz", + "integrity": "sha512-986WKRAFoS5KN/jc0Z06akYxfNs+obca486sf9Y+0VbjRUfqJZYX/HSQR/js3xd3enrFqDLg8MToWgDOvCQUqQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6110,9 +6056,9 @@ } }, "node_modules/esrap": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.5.tgz", - "integrity": "sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.6.tgz", + "integrity": "sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==", "dev": true, "license": "MIT", "dependencies": { @@ -7057,23 +7003,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-arguments": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", - "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -7812,13 +7741,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -8952,23 +8874,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", - "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -9069,9 +8974,9 @@ } }, "node_modules/obsidian-dev-utils": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/obsidian-dev-utils/-/obsidian-dev-utils-21.0.0.tgz", - "integrity": "sha512-tJb5Jic9O2cimHEuRABPonqVLRDrFjONc+TmWP0hIjA1nu7VtbDntD668ObXIuMqTY5CpJvuri8vUaRXiHAMEA==", + "version": "21.1.0", + "resolved": "https://registry.npmjs.org/obsidian-dev-utils/-/obsidian-dev-utils-21.1.0.tgz", + "integrity": "sha512-6BQIfmB8aLdhJKAz6z/gSrtClZw9r2VPRCeLr26iq2W+eA6hHDRAFTgxXn3My8AK0+qL9fqdxKXX/+V/vgqLCg==", "dev": true, "license": "MIT", "dependencies": { @@ -9084,16 +8989,16 @@ "@types/babel__core": "^7.20.5", "@types/doctrine": "^0.0.9", "@types/eslint": "^9.6.1", - "@types/luxon": "^3.4.2", - "@types/node": "^22.13.14", + "@types/luxon": "^3.6.0", + "@types/node": "^22.13.17", "@types/parsimmon": "^1.10.9", "@types/path-browserify": "^1.0.3", "@types/picomatch": "^3.0.2", "@types/pug": "^2.0.10", "@types/react": "^19.0.12", "@types/shell-quote": "^1.7.5", - "@typescript-eslint/eslint-plugin": "^8.28.0", - "@typescript-eslint/parser": "^8.28.0", + "@typescript-eslint/eslint-plugin": "^8.29.0", + "@typescript-eslint/parser": "^8.29.0", "better-typescript-lib": "^2.11.0", "commander": "^13.1.0", "compare-versions": "^6.1.1", @@ -9107,7 +9012,7 @@ "esbuild-svelte": "^0.9.2", "eslint": "^9.23.0", "eslint-import-resolver-typescript": "^4.3.1", - "eslint-plugin-import-x": "^4.9.4", + "eslint-plugin-import-x": "^4.10.0", "eslint-plugin-modules-newlines": "^0.0.7", "eslint-plugin-perfectionist": "^4.10.1", "eslint-plugin-tsdoc": "^0.4.0", @@ -9121,7 +9026,7 @@ "monkey-around": "^3.0.0", "npm-run-all": "^4.1.5", "obsidian": "^1.8.7", - "obsidian-typings": "^2.41.3", + "obsidian-typings": "^2.41.4", "path-browserify": "^1.0.1", "postcss": "^8.5.3", "postcss-modules": "^6.0.1", @@ -9130,14 +9035,14 @@ "remark": "^15.0.1", "remark-parse": "^11.0.0", "remark-wiki-link": "^2.0.1", - "sass": "^1.86.0", + "sass": "^1.86.1", "shell-quote": "^1.8.2", "svelte-check": "^4.1.5", "svelte-preprocess": "^6.0.3", "tsx": "^4.19.3", - "type-fest": "^4.38.0", + "type-fest": "^4.39.0", "typescript": "^5.8.2", - "typescript-eslint": "^8.28.0" + "typescript-eslint": "^8.29.0" }, "bin": { "obsidian-dev-utils": "dist/bin/cli.cjs" @@ -10392,9 +10297,9 @@ } }, "node_modules/sass": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.86.0.tgz", - "integrity": "sha512-zV8vGUld/+mP4KbMLJMX7TyGCuUp7hnkOScgCMsWuHtns8CWBoz+vmEhoGMXsaJrbUP8gj+F1dLvVe79sK8UdA==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.86.1.tgz", + "integrity": "sha512-Yaok4XELL1L9Im/ZUClKu//D2OP1rOljKj0Gf34a+GzLbMveOzL7CfqYo+JUa5Xt1nhTCW+OcKp/FtR7/iqj1w==", "dev": true, "license": "MIT", "dependencies": { @@ -10413,9 +10318,9 @@ } }, "node_modules/sass-embedded": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.86.0.tgz", - "integrity": "sha512-Ibq5DzxjSf9f/IJmKeHVeXlVqiZWdRJF+RXy6v6UupvMYVMU5Ei+teSFBvvpPD5bB2QhhnU/OJlSM0EBCtfr9g==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.86.1.tgz", + "integrity": "sha512-LMJvytHh7lIUtmjGCqpM4cRdIDvPllLJKznNIK4L7EZJ77BLeUFoOSRXEOHq4G4gqy5CVhHUKlHslzCANkDOhQ==", "dev": true, "license": "MIT", "peer": true, @@ -10436,32 +10341,32 @@ "node": ">=16.0.0" }, "optionalDependencies": { - "sass-embedded-android-arm": "1.86.0", - "sass-embedded-android-arm64": "1.86.0", - "sass-embedded-android-ia32": "1.86.0", - "sass-embedded-android-riscv64": "1.86.0", - "sass-embedded-android-x64": "1.86.0", - "sass-embedded-darwin-arm64": "1.86.0", - "sass-embedded-darwin-x64": "1.86.0", - "sass-embedded-linux-arm": "1.86.0", - "sass-embedded-linux-arm64": "1.86.0", - "sass-embedded-linux-ia32": "1.86.0", - "sass-embedded-linux-musl-arm": "1.86.0", - "sass-embedded-linux-musl-arm64": "1.86.0", - "sass-embedded-linux-musl-ia32": "1.86.0", - "sass-embedded-linux-musl-riscv64": "1.86.0", - "sass-embedded-linux-musl-x64": "1.86.0", - "sass-embedded-linux-riscv64": "1.86.0", - "sass-embedded-linux-x64": "1.86.0", - "sass-embedded-win32-arm64": "1.86.0", - "sass-embedded-win32-ia32": "1.86.0", - "sass-embedded-win32-x64": "1.86.0" + "sass-embedded-android-arm": "1.86.1", + "sass-embedded-android-arm64": "1.86.1", + "sass-embedded-android-ia32": "1.86.1", + "sass-embedded-android-riscv64": "1.86.1", + "sass-embedded-android-x64": "1.86.1", + "sass-embedded-darwin-arm64": "1.86.1", + "sass-embedded-darwin-x64": "1.86.1", + "sass-embedded-linux-arm": "1.86.1", + "sass-embedded-linux-arm64": "1.86.1", + "sass-embedded-linux-ia32": "1.86.1", + "sass-embedded-linux-musl-arm": "1.86.1", + "sass-embedded-linux-musl-arm64": "1.86.1", + "sass-embedded-linux-musl-ia32": "1.86.1", + "sass-embedded-linux-musl-riscv64": "1.86.1", + "sass-embedded-linux-musl-x64": "1.86.1", + "sass-embedded-linux-riscv64": "1.86.1", + "sass-embedded-linux-x64": "1.86.1", + "sass-embedded-win32-arm64": "1.86.1", + "sass-embedded-win32-ia32": "1.86.1", + "sass-embedded-win32-x64": "1.86.1" } }, "node_modules/sass-embedded-android-arm": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.86.0.tgz", - "integrity": "sha512-NS8v6BCbzskXUMBtzfuB+j2yQMgiwg5edKHTYfQU7gAWai2hkRhS06YNEMff3aRxV0IFInxPRHOobd8xWPHqeA==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.86.1.tgz", + "integrity": "sha512-bcmKB67uCb9znune+QsE6cWIiKAHE9P+24/9vDPHwwN3BmmH1B/4mznNKKakdYMuxpgbeLrPcEScHEpQbdrIpA==", "cpu": [ "arm" ], @@ -10477,9 +10382,9 @@ } }, "node_modules/sass-embedded-android-arm64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.86.0.tgz", - "integrity": "sha512-r7MZtlAI2VFUnKE8B5UOrpoE6OGpdf1dIB6ndoxb3oiURgMyfTVU7yvJcL12GGvtVwQ2boCj6dq//Lqq9CXPlQ==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.86.1.tgz", + "integrity": "sha512-SMY79YhNfq/gdz8MHqwEsnf/IjSnQFAmSEGDDv0vjL0yy9VZC/zhsxpsho8vbFEvTSEGFFlkGgPdzDuoozRrOg==", "cpu": [ "arm64" ], @@ -10495,9 +10400,9 @@ } }, "node_modules/sass-embedded-android-ia32": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.86.0.tgz", - "integrity": "sha512-UjfElrGaOTNOnxLZLxf6MFndFIe7zyK+81f83BioZ7/jcoAd6iCHZT8yQMvu8wINyVodPcaXZl8KxlKcl62VAA==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.86.1.tgz", + "integrity": "sha512-AX6I5qS8GbgcbBJ1o3uKVI5/7tq6evg/BO/wa0XaNqnzP4i/PojBaGh7EcZrg/spl//SfpS55eA18a0/AOi71w==", "cpu": [ "ia32" ], @@ -10513,9 +10418,9 @@ } }, "node_modules/sass-embedded-android-riscv64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.86.0.tgz", - "integrity": "sha512-TsqCLxHWLFS2mbpUkL/nge3jSkaPK2VmLkkoi5iO/EQT4SFvm1lNUgPwlLXu9DplZ+aqGVzRS9Y6Psjv+qW7kw==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.86.1.tgz", + "integrity": "sha512-Af6ZzRTRfIfx6KICJZ19je6OjOXhxo+v6z/lf/SXm5/1EaHGpGC5xIw4ivtj4nNINNoqkykfIDCjpzm1qWEPPQ==", "cpu": [ "riscv64" ], @@ -10531,9 +10436,9 @@ } }, "node_modules/sass-embedded-android-x64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.86.0.tgz", - "integrity": "sha512-8Q263GgwGjz7Jkf7Eghp7NrwqskDL95WO9sKrNm9iOd2re/M48W7RN/lpdcZwrUnEOhueks0RRyYyZYBNRz8Tg==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.86.1.tgz", + "integrity": "sha512-GW47z1AH8gXB7IG6EUbC5aDBDtiITeP5nUfEenE6vaaN0H17mBjIwSnEcKPPA1IdxzDpj+4bE/SGfiF0W/At4g==", "cpu": [ "x64" ], @@ -10549,9 +10454,9 @@ } }, "node_modules/sass-embedded-darwin-arm64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.86.0.tgz", - "integrity": "sha512-d8oMEaIweq1tjrb/BT43igDviOMS1TeDpc51QF7vAHkt9drSjPmqEmbqStdFYPAGZj1j0RA4WCRoVl6jVixi/w==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.86.1.tgz", + "integrity": "sha512-grBnDW5Rg+mEmZM7I9hJySS4MMXDwLMd+RyegQnr+SIJ3WA807Cw830+raALxgDY+UKKKhVEoq3FgbTo40Awgw==", "cpu": [ "arm64" ], @@ -10567,9 +10472,9 @@ } }, "node_modules/sass-embedded-darwin-x64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.86.0.tgz", - "integrity": "sha512-5NLRtn0ZUDBkfpKOsgLGl9B34po4Qui8Nff/lXTO+YkxBQFX4GoMkYNk9EJqHwoLLzICsxIhNDMMDiPGz7Fdrw==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.86.1.tgz", + "integrity": "sha512-XxSCMcmeADNouiJAr8G1oRnEhkivHKVLV5DRpfFnUK5FqtFCuSk3K18I+xIfpQDeZnjRL3t2VjsmEJuFiBYV8w==", "cpu": [ "x64" ], @@ -10585,9 +10490,9 @@ } }, "node_modules/sass-embedded-linux-arm": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.86.0.tgz", - "integrity": "sha512-b6wm0+Il+blJDleRXAqA6JISGMjRb0/thTEg4NWgmiJwUoZjDycj5FTbfYPnLXjCEIMGaYmW3patrJ3JMJcT3Q==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.86.1.tgz", + "integrity": "sha512-Z57ZUcWPuoOHpnl3TiUf/x9wWF2dFtkjdv7hZQpFXYwK5eudHFeBErK6KNCos6jkif1KyeFELXT/HWOznitU/w==", "cpu": [ "arm" ], @@ -10603,9 +10508,9 @@ } }, "node_modules/sass-embedded-linux-arm64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.86.0.tgz", - "integrity": "sha512-50A+0rhahRDRkKkv+qS7GDAAkW1VPm2RCX4zY4JWydhV4NwMXr6HbkLnsJ2MGixCyibPh59iflMpNBhe7SEMNg==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.86.1.tgz", + "integrity": "sha512-zchms0BtaOrkvfvjRnl1PDWK931DxAeYEY2yKQceO/0OFtcBz1r480Kh/RjIffTNreJqIr9Mx4wFdP+icKwLpg==", "cpu": [ "arm64" ], @@ -10621,9 +10526,9 @@ } }, "node_modules/sass-embedded-linux-ia32": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.86.0.tgz", - "integrity": "sha512-h0mr9w71TV3BRPk9JHr0flnRCznhkraY14gaj5T+t78vUFByOUMxp4hTr+JpZAR5mv0mIeoMwrQYwWJoqKI0mw==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.86.1.tgz", + "integrity": "sha512-WHntVnCgpiJPCmTeQrn5rtl1zJdd693TwpNGAFPzKD4FILPcVBKtWutl7COL6bKe/mKTf9OW0t6GBJ6mav2hAA==", "cpu": [ "ia32" ], @@ -10639,9 +10544,9 @@ } }, "node_modules/sass-embedded-linux-musl-arm": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.86.0.tgz", - "integrity": "sha512-KZU70jBMVykC9HzS+o2FhrJaprFLDk3LWXVPtBFxgLlkcQ/apCkUCh2WVNViLhI2U4NrMSnTvd4kDnC/0m8qIw==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.86.1.tgz", + "integrity": "sha512-DlPpyp3bIL8YMtxR22hkWBtuZY6ch3KAmQvqIONippPv96WTHi1iq5jclbE1YXpDtI8Wcus0x6apoDSKq8o95g==", "cpu": [ "arm" ], @@ -10657,9 +10562,9 @@ } }, "node_modules/sass-embedded-linux-musl-arm64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.86.0.tgz", - "integrity": "sha512-5OZjiJIUyhvKJIGNDEjyRUWDe+W91hq4Bji27sy8gdEuDzPWLx4NzwpKwsBUALUfyW/J5dxgi0ZAQnI3HieyQg==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.86.1.tgz", + "integrity": "sha512-CwuHMRWSJFByHpgqcVtCSt29dMWhr0lpUTjaBCh9xOl0Oyz89dIqOxA0aMq+XU+thaDtOziJtMIfW6l35ZeykQ==", "cpu": [ "arm64" ], @@ -10675,9 +10580,9 @@ } }, "node_modules/sass-embedded-linux-musl-ia32": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.86.0.tgz", - "integrity": "sha512-vq9wJ7kaELrsNU6Ld6kvrIHxoIUWaD+5T6TQVj4SJP/iw1NjonyCDMQGGs6UgsIEzvaIwtlSlDbRewAq+4PchA==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.86.1.tgz", + "integrity": "sha512-yjvVpAW1YS0VQNnIUtZTf0IrRDMa0wRjFWUtsLthVIxuXyjLy44+YULlfduxqcZe3rvI4+EqT7GorvviWo9NfQ==", "cpu": [ "ia32" ], @@ -10693,9 +10598,9 @@ } }, "node_modules/sass-embedded-linux-musl-riscv64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.86.0.tgz", - "integrity": "sha512-UZJPu4zKe3phEzoSVRh5jcSicBBPe+jEbVNALHSSz881iOAYnDQXHITGeQ4mM1/7e/LTyryHk6EPBoaLOv6JrA==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.86.1.tgz", + "integrity": "sha512-0zCUOMwX/hwPV1zimxM46dq/MdATSqbw6G646DwQ3/2V2Db1t9lfXBZqSavx8p/cqRp1JYTUPbJQV1gT4J7NYw==", "cpu": [ "riscv64" ], @@ -10711,9 +10616,9 @@ } }, "node_modules/sass-embedded-linux-musl-x64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.86.0.tgz", - "integrity": "sha512-8taAgbWMk4QHneJcouWmWZJlmKa2O03g4I/CFo4bfMPL87bibY90pAsSDd+C+t81g0+2aK0/lY/BoB0r3qXLiA==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.86.1.tgz", + "integrity": "sha512-8KJ6kEj1N16V9E0g5PDSd4aVe1LwcVKROJcVqnzTKPMa/4j2VuNWep7D81OYchdQMm9Egn1RqV0jCwm0b2aSHQ==", "cpu": [ "x64" ], @@ -10729,9 +10634,9 @@ } }, "node_modules/sass-embedded-linux-riscv64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.86.0.tgz", - "integrity": "sha512-yREY6o2sLwiiA03MWHVpnUliLscz0flEmFW/wzxYZJDqg9eZteB3hUWgZD63eLm2PTZsYxDQpjAHpa48nnIEmA==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.86.1.tgz", + "integrity": "sha512-rNJ1EfIkQpvBfMS1fBdyb+Gsji4yK0AwsV1T7NEcy21yDxDt7mdCgkAJiaN9qf7UEXuCuueQoed7WZoDaSpjww==", "cpu": [ "riscv64" ], @@ -10747,9 +10652,9 @@ } }, "node_modules/sass-embedded-linux-x64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.86.0.tgz", - "integrity": "sha512-sH0F8np9PTgTbFcJWxfr1NzPkL5ID2NcpMtZyKPTdnn9NkE/L2UwXSo6xOvY0Duc4Hg+58wSrDnj6KbvdeHCPg==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.86.1.tgz", + "integrity": "sha512-DGCdUoYRRUKzRZz/q7plbB5Nean2+Uk4CqKF4RWAU0v1tHnDKKWmYfETryhWdB2WJM8QSn7O8qRebe6FCobB5g==", "cpu": [ "x64" ], @@ -10765,9 +10670,9 @@ } }, "node_modules/sass-embedded-win32-arm64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.86.0.tgz", - "integrity": "sha512-4O1XVUxLTIjMOvrziYwEZgvFqC5sF6t0hTAPJ+h2uiAUZg9Joo0PvuEedXurjISgDBsb5W5DTL9hH9q1BbP4cQ==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.86.1.tgz", + "integrity": "sha512-qRLZR3yLuk/3y64YhcltkwGclhPoK6EdiLP1e5SVw5+kughcs+mNUZ3rdvSAmCSA4vDv+XOiOjRpjxmpeon95Q==", "cpu": [ "arm64" ], @@ -10783,9 +10688,9 @@ } }, "node_modules/sass-embedded-win32-ia32": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.86.0.tgz", - "integrity": "sha512-zuSP2axkGm4VaJWt38P464H+4424Swr9bzFNfbbznxe3Ue4RuqSBqwiLiYdg9Q1cecTQ2WGH7G7WO56KK7WLwg==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.86.1.tgz", + "integrity": "sha512-o860a7/YGHZnGeY3l/e6yt3+ZMeDdDHmthTaKnw2wpJNEq0nmytYLTJQmjWPxEMz7O8AQ0LtcbDDrhivSog+KQ==", "cpu": [ "ia32" ], @@ -10801,9 +10706,9 @@ } }, "node_modules/sass-embedded-win32-x64": { - "version": "1.86.0", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.86.0.tgz", - "integrity": "sha512-GVX0CHtukr3kjqfqretSlPiJzV7V4JxUjpRZV+yC9gUMTiDErilJh2Chw1r0+MYiYvumCDUSDlticmvJs7v0tA==", + "version": "1.86.1", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.86.1.tgz", + "integrity": "sha512-7Z3wsVKfseJodmv689dDEV/JrXJH5TAclWNvHrEYW5BtoViOTU2pIDxRgLYzdKU9teIw5g6R0nJZb9M105oIKA==", "cpu": [ "x64" ], @@ -11149,20 +11054,6 @@ "dev": true, "license": "MIT" }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/string-hash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", @@ -11440,9 +11331,9 @@ } }, "node_modules/svelte": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.25.3.tgz", - "integrity": "sha512-J9rcZ/xVJonAoESqVGHHZhrNdVbrCfkdB41BP6eiwHMoFShD9it3yZXApVYMHdGfCshBsZCKsajwJeBbS/M1zg==", + "version": "5.25.6", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.25.6.tgz", + "integrity": "sha512-RGkaeAXDuJdvhA1fdSM5GgD++vYfJYijZL0uN6kM2s/TRJ663jktBhZlF0qjzAJGR/34PtaeT3G8MKJY1EKeqg==", "dev": true, "license": "MIT", "dependencies": { @@ -11455,7 +11346,7 @@ "axobject-query": "^4.1.0", "clsx": "^2.1.1", "esm-env": "^1.2.1", - "esrap": "^1.4.3", + "esrap": "^1.4.6", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", @@ -11819,9 +11710,9 @@ } }, "node_modules/type-fest": { - "version": "4.38.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.38.0.tgz", - "integrity": "sha512-2dBz5D5ycHIoliLYLi0Q2V7KRaDlH0uWIvmk7TYlAg5slqwiPv1ezJdZm1QEM0xgk29oYWMCbIG7E6gHpvChlg==", + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.39.0.tgz", + "integrity": "sha512-w2IGJU1tIgcrepg9ZJ82d8UmItNQtOFJG0HCUE3SzMokKkTsruVDALl2fAdiEzJlfduoU+VyXJWIIUZ+6jV+nw==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { diff --git a/package.json b/package.json index 93ff4f4..f67f104 100644 --- a/package.json +++ b/package.json @@ -22,14 +22,12 @@ }, "devDependencies": { "@eslint/js": "^9.21.0", - "@types/deep-equal": "^1.0.4", "@types/node": "^22.13.1", "@typescript-eslint/eslint-plugin": "^8.23.0", "@typescript-eslint/parser": "^8.23.0", "builtin-modules": "^5.0.0", "color2k": "^2.0.3", "compare-versions": "^6.1.1", - "deep-equal": "^2.2.3", "esbuild": "^0.25.0", "esbuild-svelte": "^0.9.2", "eslint": "^9.22.0", @@ -39,22 +37,20 @@ "eslint-plugin-svelte": "^3.2.2", "eslint-plugin-unicorn": "^57.0.0", "globals": "^16.0.0", - "jiti": "^2.4.2", - "lodash": "^4.17.21", "obsidian": "^1.8.7", "obsidian-dev-utils": "latest", "obsidian-typings": "^2.35.0", "prettier": "3.5.3", "prettier-plugin-svelte": "^3.3.3", "sass": "^1.83.4", - "simple-git": "^3.27.0", "spacetime": "^7.8.0", "svelte": "^5.23.1", "svelte-eslint-parser": "^0.43.0", "svelte-infinite": "^0.5.0", "svelte-preprocess": "^6.0.3", "typescript": "^5.8.2", - "typescript-eslint": "^8.25.0" + "typescript-eslint": "^8.25.0", + "simple-git": "^3.27.0" }, "overrides": { "boolean": "npm:dry-uninstall" diff --git a/src/constants.ts b/src/constants.ts index 8812b92..aacd215 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1,6 +1,5 @@ export const PLUGIN_NAME = 'Git Changelog'; -export const PLUGIN_NAME_SENTENCE_CASE = - PLUGIN_NAME.charAt(0).toUpperCase() + PLUGIN_NAME.slice(1).toLowerCase(); +export const PLUGIN_NAME_SENTENCE_CASE = 'Git changelog'; export const MIN_COMPATIBLE_GIT_PLUGIN_VERSION = '2.31.1'; export const MAX_TESTED_GIT_PLUGIN_VERSION = '2.32.1'; diff --git a/src/core/gitOperations/runLog.ts b/src/core/gitOperations/runLog.ts index e5581a7..ada77ae 100644 --- a/src/core/gitOperations/runLog.ts +++ b/src/core/gitOperations/runLog.ts @@ -1,15 +1,17 @@ import type GitChangelogPlugin from 'main.ts'; -import type { DiffResultNameStatusFile } from 'simple-git'; import type { LogEntry } from 'types.ts'; import { unescapeGitFileOutput } from 'core/gitOperations/helper.ts'; import { getTimeZone } from 'settings/ui/CustomTimeZone.ts'; import { getRenameDetectionStrictness } from 'settings/ui/RenameDetectionStrictnessSlider.ts'; -import { DiffNameStatus } from 'simple-git'; import spacetime from 'spacetime'; import { AbortError } from 'types.ts'; import { assertNotNull } from 'utils.ts'; +import type { DiffResultNameStatusFile } from './simpleGitTypes.ts'; + +import { DiffNameStatus } from './simpleGitTypes.ts'; + // Less efficient than running raw? export async function runLog({ abortSignal, diff --git a/src/core/gitOperations/runRepoDiffStatus.ts b/src/core/gitOperations/runRepoDiffStatus.ts index cd0b32f..47bb520 100644 --- a/src/core/gitOperations/runRepoDiffStatus.ts +++ b/src/core/gitOperations/runRepoDiffStatus.ts @@ -1,9 +1,11 @@ import type GitChangelogPlugin from 'main.ts'; -import type { DiffResultNameStatusFile } from 'simple-git'; -import { DiffNameStatus } from 'simple-git'; import { DiffFileStatus } from 'types.ts'; +import type { DiffResultNameStatusFile } from './simpleGitTypes.ts'; + +import { DiffNameStatus } from './simpleGitTypes.ts'; + /** * Check the number of changed files and if they are added, modified or deleted. this function is needed because git diff --numstat doesn't say if a file is added or deleted */ diff --git a/src/core/gitOperations/simpleGitTypes.ts b/src/core/gitOperations/simpleGitTypes.ts new file mode 100644 index 0000000..bca6bc5 --- /dev/null +++ b/src/core/gitOperations/simpleGitTypes.ts @@ -0,0 +1,25 @@ +export enum DiffNameStatus { + ADDED = 'A', + COPIED = 'C', + DELETED = 'D', + MODIFIED = 'M', + RENAMED = 'R', + CHANGED = 'T', + UNMERGED = 'U', + UNKNOWN = 'X', + BROKEN = 'B' +} + +export interface DiffResultNameStatusFile extends DiffResultTextFile { + status?: DiffNameStatus; + from?: string; + similarity: number; +} + +export interface DiffResultTextFile { + file: string; + changes: number; + insertions: number; + deletions: number; + binary: false; +} diff --git a/src/settings/settings.ts b/src/settings/settings.ts index 273623a..d8bc374 100644 --- a/src/settings/settings.ts +++ b/src/settings/settings.ts @@ -10,6 +10,7 @@ import { } from 'types.ts'; // Constants +// Takes 0.3 ms export const TIME_ZONES_LIST = new Set(Object.keys(spacetime().timezones)); export const MAX_SUPPORTED_INTERVAL = 99_999; // ~69 days export const AUTO_DETECT_PLACEHOLDER = 'Auto-detect';