From a36e1ad5c4d7e31bf011736d70d223e3b5fa6cc5 Mon Sep 17 00:00:00 2001 From: Andrey Sitnik Date: Sat, 8 Jun 2024 22:50:35 +0200 Subject: [PATCH] Update ESLint and dependencies --- eslint.config.mjs | 67 +++ node.js | 9 +- package.json | 22 +- pnpm-lock.yaml | 1041 ++++++++++++++++++---------------- test/and.test.js | 47 +- test/cover.test.js | 20 +- test/coverage.test.js | 5 +- test/custom.test.js | 38 +- test/electron.test.js | 15 +- test/esr.test.js | 5 +- test/main.test.js | 120 ++-- test/major.test.js | 55 +- test/node.test.js | 250 ++++---- test/range.test.js | 15 +- test/shareable-stats.test.js | 65 ++- test/years.test.js | 28 +- 16 files changed, 958 insertions(+), 844 deletions(-) create mode 100644 eslint.config.mjs diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..c78035d3 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,67 @@ +import { FlatCompat } from '@eslint/eslintrc' +import loguxConfig from '@logux/eslint-config' +import es5Plugin from 'eslint-plugin-es5' + +let compat = new FlatCompat({ + baseDirectory: import.meta.dirname +}) + +let es5 = compat.extends('plugin:es5/no-es2015') + +/** @type {import('eslint').Linter.FlatConfig[]} */ +export default [ + { ignores: ['coverage'] }, + ...loguxConfig, + ...es5, + { + plugins: { + es5: es5Plugin + }, + rules: { + 'node-import/prefer-node-protocol': 'off', + 'perfectionist/sort-objects': 'off', + 'n/prefer-node-protocol': 'off', + 'prefer-let/prefer-let': 'off', + 'prefer-arrow-callback': 'off', + 'no-unused-vars': ['error', { caughtErrors: 'none' }], + 'n/global-require': 'off', + 'object-shorthand': 'off', + 'no-console': 'off', + 'no-var': 'off' + } + }, + { + files: ['cli.js'], + rules: { + 'n/no-unsupported-features/es-syntax': [ + 'error', + { + version: '>=12.5.0', + ignores: [] + } + ] + } + }, + { + files: ['test/**/*', 'eslint.config.mjs'], + rules: { + 'n/no-unsupported-features/es-syntax': 'off', + 'es5/no-shorthand-properties': 'off', + 'es5/no-template-literals': 'off', + 'es5/no-rest-parameters': 'off', + 'es5/no-arrow-functions': 'off', + 'es5/no-destructuring': 'off', + 'es5/no-block-scoping': 'off', + 'es5/no-es6-methods': 'off', + 'es5/no-spread': 'off', + 'es5/no-for-of': 'off', + 'no-console': 'off' + } + }, + { + files: ['eslint.config.mjs'], + rules: { + 'es5/no-modules': 'off' + } + } +] diff --git a/node.js b/node.js index a935371d..a124ba61 100644 --- a/node.js +++ b/node.js @@ -50,7 +50,7 @@ function eachParent(file, callback) { var dir = isFile(file) ? path.dirname(file) : file var loc = path.resolve(dir) do { - if (!pathInRoot(loc)) break; + if (!pathInRoot(loc)) break var result = callback(loc) if (typeof result !== 'undefined') return result } while (loc !== (loc = path.dirname(loc))) @@ -59,9 +59,9 @@ function eachParent(file, callback) { function pathInRoot(p) { if (!process.env.BROWSERSLIST_ROOT_PATH) return true - var rootPath = path.resolve(process.env.BROWSERSLIST_ROOT_PATH); - if (path.relative(rootPath, p).substring(0,2) === '..') { - return false; + var rootPath = path.resolve(process.env.BROWSERSLIST_ROOT_PATH) + if (path.relative(rootPath, p).substring(0, 2) === '..') { + return false } return true } @@ -167,7 +167,6 @@ function normalizeStats(data, stats) { function normalizeUsageData(usageData, data) { for (var browser in usageData) { var browserUsage = usageData[browser] - // eslint-disable-next-line max-len // https://github.com/browserslist/browserslist/issues/431#issuecomment-565230615 // caniuse-db returns { 0: "percentage" } for `and_*` regional stats if ('0' in browserUsage) { diff --git a/package.json b/package.json index defce541..cdd3fe16 100644 --- a/package.json +++ b/package.json @@ -32,10 +32,10 @@ "test": "pnpm run /^test:/" }, "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "update-browserslist-db": "^1.0.16" }, "engines": { "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" @@ -45,22 +45,16 @@ }, "types": "./index.d.ts", "devDependencies": { - "@logux/eslint-config": "^52.0.2", - "@size-limit/preset-small-lib": "^11.0.2", + "@logux/eslint-config": "^53.2.0", + "@size-limit/preset-small-lib": "^11.1.4", "c8": "^9.1.0", - "clean-publish": "^4.2.0", + "clean-publish": "^5.0.0", "cross-spawn": "^7.0.3", - "eslint": "^8.56.0", - "eslint-config-standard": "^17.1.0", + "eslint": "^9.4.0", "eslint-plugin-es5": "^1.5.0", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-n": "^16.6.2", - "eslint-plugin-perfectionist": "^2.5.0", - "eslint-plugin-prefer-let": "^3.0.1", - "eslint-plugin-promise": "^6.1.1", "fs-extra": "^11.2.0", "nanospy": "^1.0.0", - "size-limit": "^11.0.2", + "size-limit": "^11.1.4", "uvu": "^0.5.6" }, "browser": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index afc60cb4..1d641e5c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,57 +9,57 @@ importers: .: dependencies: caniuse-lite: - specifier: ^1.0.30001587 - version: 1.0.30001587 + specifier: ^1.0.30001629 + version: 1.0.30001629 electron-to-chromium: - specifier: ^1.4.668 - version: 1.4.668 + specifier: ^1.4.796 + version: 1.4.796 node-releases: specifier: ^2.0.14 version: 2.0.14 update-browserslist-db: - specifier: ^1.0.13 - version: 1.0.13(browserslist@4.22.3) + specifier: ^1.0.16 + version: 1.0.16(browserslist@4.23.0) devDependencies: '@logux/eslint-config': - specifier: ^52.0.2 - version: 52.0.2(eslint-config-standard@17.1.0)(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-node-import@1.0.4)(eslint-plugin-perfectionist@2.5.0)(eslint-plugin-prefer-let@3.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.56.0) + specifier: ^53.2.0 + version: 53.2.0(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5) '@size-limit/preset-small-lib': - specifier: ^11.0.2 - version: 11.0.2(size-limit@11.0.2) + specifier: ^11.1.4 + version: 11.1.4(size-limit@11.1.4) c8: specifier: ^9.1.0 version: 9.1.0 clean-publish: - specifier: ^4.2.0 - version: 4.2.0 + specifier: ^5.0.0 + version: 5.0.0 cross-spawn: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^8.56.0 - version: 8.56.0 + specifier: ^9.4.0 + version: 9.4.0 eslint-config-standard: specifier: ^17.1.0 - version: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0) + version: 17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0))(eslint-plugin-n@17.8.1(eslint@9.4.0))(eslint-plugin-promise@6.2.0(eslint@9.4.0))(eslint@9.4.0) eslint-plugin-es5: specifier: ^1.5.0 - version: 1.5.0(eslint@8.56.0) + version: 1.5.0(eslint@9.4.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(eslint@8.56.0) + version: 2.29.1(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0) eslint-plugin-n: - specifier: ^16.6.2 - version: 16.6.2(eslint@8.56.0) + specifier: ^17.8.1 + version: 17.8.1(eslint@9.4.0) eslint-plugin-perfectionist: - specifier: ^2.5.0 - version: 2.5.0(eslint@8.56.0)(typescript@5.3.3) + specifier: ^2.10.0 + version: 2.10.0(eslint@9.4.0)(typescript@5.4.5) eslint-plugin-prefer-let: specifier: ^3.0.1 version: 3.0.1 eslint-plugin-promise: - specifier: ^6.1.1 - version: 6.1.1(eslint@8.56.0) + specifier: ^6.2.0 + version: 6.2.0(eslint@9.4.0) fs-extra: specifier: ^11.2.0 version: 11.2.0 @@ -67,155 +67,151 @@ importers: specifier: ^1.0.0 version: 1.0.0 size-limit: - specifier: ^11.0.2 - version: 11.0.2 + specifier: ^11.1.4 + version: 11.1.4 uvu: specifier: ^0.5.6 version: 0.5.6 packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + '@esbuild/aix-ppc64@0.21.4': + resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + '@esbuild/android-arm64@0.21.4': + resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==} engines: {node: '>=12'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + '@esbuild/android-arm@0.21.4': + resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==} engines: {node: '>=12'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + '@esbuild/android-x64@0.21.4': + resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==} engines: {node: '>=12'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + '@esbuild/darwin-arm64@0.21.4': + resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + '@esbuild/darwin-x64@0.21.4': + resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + '@esbuild/freebsd-arm64@0.21.4': + resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + '@esbuild/freebsd-x64@0.21.4': + resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + '@esbuild/linux-arm64@0.21.4': + resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + '@esbuild/linux-arm@0.21.4': + resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==} engines: {node: '>=12'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + '@esbuild/linux-ia32@0.21.4': + resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + '@esbuild/linux-loong64@0.21.4': + resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + '@esbuild/linux-mips64el@0.21.4': + resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + '@esbuild/linux-ppc64@0.21.4': + resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + '@esbuild/linux-riscv64@0.21.4': + resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + '@esbuild/linux-s390x@0.21.4': + resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + '@esbuild/linux-x64@0.21.4': + resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==} engines: {node: '>=12'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + '@esbuild/netbsd-x64@0.21.4': + resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + '@esbuild/openbsd-x64@0.21.4': + resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + '@esbuild/sunos-x64@0.21.4': + resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + '@esbuild/win32-arm64@0.21.4': + resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + '@esbuild/win32-ia32@0.21.4': + resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + '@esbuild/win32-x64@0.21.4': + resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -226,28 +222,37 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.10.0': - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + '@eslint-community/regexpp@4.10.1': + resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/compat@1.0.3': + resolution: {integrity: sha512-9RaroPQaU2+SDcWav1YfuipwqnHccoiXZdUsicRQsQ/vH2wkEmRVcj344GapG/FnCeZRtqj0n6PshI+s9xkkAQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.56.0': - resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.15.1': + resolution: {integrity: sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + '@eslint/js@9.4.0': + resolution: {integrity: sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.3': + resolution: {integrity: sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.2': - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + '@humanwhocodes/retry@0.3.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} '@istanbuljs/schema@0.1.3': resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} @@ -263,18 +268,18 @@ packages: '@jridgewell/trace-mapping@0.3.22': resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} - '@logux/eslint-config@52.0.2': - resolution: {integrity: sha512-oD569Lqs5P/QvlkBLL9GWpKOmI3wXCKb+0VHuY41VVnP8cRpD0LzUbnEqV9pIeld8f9DJwWc+I6JgndtgotElw==} - engines: {node: '>=10.0.0'} + '@logux/eslint-config@53.2.0': + resolution: {integrity: sha512-/aq8iRykbkxKVZNdS4K4qLQ2QQp8DlpyrIxHWXELuzxlNkAMC0CQ3Bky+hUYAqSXn24m2XYO8hJOqli3oymYlQ==} + engines: {node: '>=18.0.0'} peerDependencies: - eslint: ^8.53.0 - eslint-config-standard: ^17.1.0 - eslint-plugin-import: ^2.29.0 - eslint-plugin-n: ^16.3.1 - eslint-plugin-node-import: ^1.0.4 - eslint-plugin-perfectionist: ^2.4.0 - eslint-plugin-prefer-let: ^3.0.1 - eslint-plugin-promise: ^6.1.1 + eslint: ^8.57.0 || ^9.0.0 + eslint-plugin-svelte: ^2.35.1 + svelte: ^4.2.12 + peerDependenciesMeta: + eslint-plugin-svelte: + optional: true + svelte: + optional: true '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -288,68 +293,90 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@sindresorhus/merge-streams@2.2.1': - resolution: {integrity: sha512-255V7MMIKw6aQ43Wbqp9HZ+VHn6acddERTLiiLnlcPLU9PdTq9Aijl12oklAgUEblLWye+vHLzmqBx6f2TGcZw==} + '@sindresorhus/merge-streams@2.3.0': + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} - '@size-limit/esbuild@11.0.2': - resolution: {integrity: sha512-67p+y+wkMBJJegLZUp1X3v1YEvgGSbbAukFbHtxJ1c/DTj/ApiHvtgMzvA5ij+A5UOay+jSU4bXetpNJlUK3Ow==} + '@size-limit/esbuild@11.1.4': + resolution: {integrity: sha512-Nxh+Fw4Z7sFjRLeT7GDZIy297VXyJrMvG20UDSWP31QgglriEBDkW9U77T7W6js5FaEr89bYVrGzpHfmE1CLFw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - size-limit: 11.0.2 + size-limit: 11.1.4 - '@size-limit/file@11.0.2': - resolution: {integrity: sha512-874lrMtWYRL+xb/6xzejjwD+krfHTOo+2uFGpZfJScvuNv91Ni2O7k0o09zC70VzCYBGkXquV92ln/H+/ognGg==} + '@size-limit/file@11.1.4': + resolution: {integrity: sha512-QxnGj9cxhCEuqMAV01gqonXIKcc+caZqFHZpV51oL2ZJNGSPP9Q/yyf+7HbVe00faOFd1dZZwMwzZmX7HQ9LbA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - size-limit: 11.0.2 + size-limit: 11.1.4 - '@size-limit/preset-small-lib@11.0.2': - resolution: {integrity: sha512-Yo+RRHCLz29PMmRXzq69E3LjiAivspF2XRGdpZ+QdeFOotd3hBYVMJC9GDF3tEigPtfvEJk4L8YLlUK+SE90FA==} + '@size-limit/preset-small-lib@11.1.4': + resolution: {integrity: sha512-wELW374esv+2Nlzf7g+qW4Af9L69duLoO9F52f0sGk/nzb6et7u8gLRvweWrBfm3itUrqHCpGSSVabTsIU8kNw==} peerDependencies: - size-limit: 11.0.2 + size-limit: 11.1.4 '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/semver@7.5.7': - resolution: {integrity: sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==} + '@typescript-eslint/eslint-plugin@7.12.0': + resolution: {integrity: sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/parser@7.12.0': + resolution: {integrity: sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@7.12.0': + resolution: {integrity: sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==} + engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/type-utils@7.12.0': + resolution: {integrity: sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/utils@6.21.0': - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@7.12.0': + resolution: {integrity: sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/typescript-estree@7.12.0': + resolution: {integrity: sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/utils@7.12.0': + resolution: {integrity: sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@typescript-eslint/visitor-keys@7.12.0': + resolution: {integrity: sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==} + engines: {node: ^18.18.0 || >=20.0.0} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -418,8 +445,8 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} brace-expansion@1.1.11: @@ -428,22 +455,15 @@ packages: brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.22.3: - resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==} + browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - - builtins@5.0.1: - resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} - bytes-iec@3.1.1: resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} engines: {node: '>= 0.8'} @@ -461,8 +481,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001587: - resolution: {integrity: sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA==} + caniuse-lite@1.0.30001629: + resolution: {integrity: sha512-c3dl911slnQhmxUIT4HhYzT7wnBK/XYpGnYLOj4nJBaRiw52Ibe7YxlDaAeRECvA786zCuExhxIUJ2K7nHMrBw==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -472,9 +492,9 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - clean-publish@4.2.0: - resolution: {integrity: sha512-dqZF5y6KtlkYhbnJoXiOCP4L1TPdI7HtuDysslUrbI8vLPu65ZjVO3pu5xp4qH0X2cWdDN/La04woe6fg4LNSw==} - engines: {node: '>= 16.0.0'} + clean-publish@5.0.0: + resolution: {integrity: sha512-1qjtqP3piZL4t8SqGojOyA12bg8AtbFPIQstNvxmss1fhwfma3CqMJ/Y/kbRvAllLX2/c4ZKjcCCKDqEtpcymA==} + engines: {node: '>= 18.0.0'} hasBin: true cliui@8.0.1: @@ -506,8 +526,8 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -542,16 +562,16 @@ packages: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - - electron-to-chromium@1.4.668: - resolution: {integrity: sha512-ZOBocMYCehr9W31+GpMclR+KBaDZOoAEabLdhpZ8oU1JFDwIaFY0UDbpXVEUFc0BIP2O2Qn3rkfCjQmMR4T/bQ==} + electron-to-chromium@1.4.796: + resolution: {integrity: sha512-NglN/xprcM+SHD2XCli4oC6bWe6kHoytcyLKCWXmRL854F0qhPhaYgUswUsglnPxYaNQIg2uMY4BvaomIf3kLA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + enhanced-resolve@5.17.0: + resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + engines: {node: '>=10.13.0'} + es-abstract@1.22.4: resolution: {integrity: sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==} engines: {node: '>= 0.4'} @@ -578,8 +598,8 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + esbuild@0.21.4: + resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==} engines: {node: '>=12'} hasBin: true @@ -591,8 +611,8 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-compat-utils@0.1.2: - resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} + eslint-compat-utils@0.5.1: + resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} engines: {node: '>=12'} peerDependencies: eslint: '>=6.0.0' @@ -630,8 +650,8 @@ packages: eslint-import-resolver-webpack: optional: true - eslint-plugin-es-x@7.5.0: - resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} + eslint-plugin-es-x@7.7.0: + resolution: {integrity: sha512-aP3qj8BwiEDPttxQkZdI221DLKq9sI/qHolE2YSQL1/9+xk7dTV+tB1Fz8/IaCA+lnLA1bDEnvaS2LKs0k2Uig==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' @@ -651,20 +671,14 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-n@16.6.2: - resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - eslint: '>=7.0.0' - - eslint-plugin-node-import@1.0.4: - resolution: {integrity: sha512-nn6EkM7+vJCDCXZiM0FDpYSekbhlk5LNoHJm9DlVSucGrsT9WoK+qOxIEm+SwoFBeH73cMHMavioDaHsu22b0Q==} - engines: {node: ^14.18.0 || ^16.0.0 || >= 18.0.0} + eslint-plugin-n@17.8.1: + resolution: {integrity: sha512-KdG0h0voZms8UhndNu8DeWx1eM4sY+A4iXtsNo6kOfJLYHNeTGPacGalJ9GcvrbmOL3r/7QOMwVZDSw+1SqsrA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '>=7' + eslint: '>=8.23.0' - eslint-plugin-perfectionist@2.5.0: - resolution: {integrity: sha512-F6XXcq4mKKUe/SREoMGQqzgw6cgCgf3pFzkFfQVIGtqD1yXVpQjnhTepzhBeZfxZwgMzR9HO4yH4CUhIQ2WBcQ==} + eslint-plugin-perfectionist@2.10.0: + resolution: {integrity: sha512-P+tdrkHeMWBc55+DZsoDOAftV1WCsEoHaKm6JC7zajFus/syfT4vUPBFb3atGFSuyaVnGQGHlcKpP9X3Q0gH/w==} peerDependencies: astro-eslint-parser: ^0.16.0 eslint: '>=8.0.0' @@ -685,28 +699,32 @@ packages: resolution: {integrity: sha512-vbznkkBSXB63d4o1o0NIm5C2ey3V5wKr/25dAvPdydQXdowAcnr69cbLgxd2YAG81IV5eddCO55Lp6gL7wSE4w==} engines: {node: '>=0.10.0'} - eslint-plugin-promise@6.1.1: - resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} + eslint-plugin-promise@6.2.0: + resolution: {integrity: sha512-QmAqwizauvnKOlifxyDj2ObfULpHQawlg/zQdgEixur9vl0CvZGv/LCJV2rtj3210QCoeGBzVMfMXqGAOr/4fA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.56.0: - resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.4.0: + resolution: {integrity: sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} @@ -740,24 +758,24 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} - flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -800,8 +818,8 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -814,9 +832,13 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@15.4.0: + resolution: {integrity: sha512-unnwvMZpv0eDUyjNyh9DH/yxUaRYrEjW/qK4QcdrHg3oO11igUQrCSgODHEqxlKg8v2CD2Sd7UkqqEBoz5U7TQ==} + engines: {node: '>=18'} globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} @@ -905,10 +927,6 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} - is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -988,6 +1006,10 @@ packages: resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} engines: {node: '>=8'} + jiti@1.21.3: + resolution: {integrity: sha512-uy2bNX5zQ+tESe+TiC7ilGRz8AtRGmnJH55NC5S0nSUjvvvM2hJHmefHErugGXN4pNv4Qx7vLsnNw9qJ9mtIsw==} + hasBin: true + js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -1019,12 +1041,8 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - - lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} engines: {node: '>=14'} locate-path@6.0.0: @@ -1046,15 +1064,15 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} minimist@1.2.8: @@ -1070,8 +1088,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - nanoid@5.0.5: - resolution: {integrity: sha512-/Veqm+QKsyMY3kqi4faWplnY1u+VuKO3dD2binyPIybP31DRO29bPF+1mszgLnrR2KqSLceFLBNw0zmvDzN1QQ==} + nanoid@5.0.7: + resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} engines: {node: ^18 || >=20} hasBin: true @@ -1120,8 +1138,8 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} p-limit@3.1.0: @@ -1159,8 +1177,8 @@ packages: resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} engines: {node: '>=12'} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -1208,10 +1226,6 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -1236,6 +1250,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + set-function-length@1.2.1: resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} engines: {node: '>= 0.4'} @@ -1260,8 +1279,8 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - size-limit@11.0.2: - resolution: {integrity: sha512-iFZ8iTR/3zPqxSwEIdGnTVYVU0F2nhodLQG/G6zpi/NxECYAK9ntq2lNr+prXH7h3gyBjx2Umt2D/oS2Qzz+eg==} + size-limit@11.1.4: + resolution: {integrity: sha512-V2JAI/Z7h8sEuxU3V+Ig3XKA5FcYbI4CZ7sh6s7wvuy+TUwDZYqw7sAqrHhQ4cgcNfPKIAHAaH8VaqOdbcwJDA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -1307,6 +1326,10 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -1318,8 +1341,8 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - ts-api-utils@1.2.1: - resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' @@ -1331,10 +1354,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - typed-array-buffer@1.0.1: resolution: {integrity: sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ==} engines: {node: '>= 0.4'} @@ -1350,8 +1369,18 @@ packages: typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} - typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + typescript-eslint@7.12.0: + resolution: {integrity: sha512-D6HKNbQcnNu3BaN4HkQCR16tgG8Q2AMUWPgvhrJksOXu+d6ys07yC06ONiV2kcsEfWC22voB6C3PvK2MqlBZ7w==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true @@ -1366,8 +1395,8 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - update-browserslist-db@1.0.13: - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -1396,6 +1425,10 @@ packages: engines: {node: '>= 8'} hasBin: true + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -1424,92 +1457,100 @@ packages: snapshots: - '@aashutoshrathi/word-wrap@1.2.6': {} - '@bcoe/v8-coverage@0.2.3': {} - '@esbuild/aix-ppc64@0.19.12': + '@esbuild/aix-ppc64@0.21.4': optional: true - '@esbuild/android-arm64@0.19.12': + '@esbuild/android-arm64@0.21.4': optional: true - '@esbuild/android-arm@0.19.12': + '@esbuild/android-arm@0.21.4': optional: true - '@esbuild/android-x64@0.19.12': + '@esbuild/android-x64@0.21.4': optional: true - '@esbuild/darwin-arm64@0.19.12': + '@esbuild/darwin-arm64@0.21.4': optional: true - '@esbuild/darwin-x64@0.19.12': + '@esbuild/darwin-x64@0.21.4': optional: true - '@esbuild/freebsd-arm64@0.19.12': + '@esbuild/freebsd-arm64@0.21.4': optional: true - '@esbuild/freebsd-x64@0.19.12': + '@esbuild/freebsd-x64@0.21.4': optional: true - '@esbuild/linux-arm64@0.19.12': + '@esbuild/linux-arm64@0.21.4': optional: true - '@esbuild/linux-arm@0.19.12': + '@esbuild/linux-arm@0.21.4': optional: true - '@esbuild/linux-ia32@0.19.12': + '@esbuild/linux-ia32@0.21.4': optional: true - '@esbuild/linux-loong64@0.19.12': + '@esbuild/linux-loong64@0.21.4': optional: true - '@esbuild/linux-mips64el@0.19.12': + '@esbuild/linux-mips64el@0.21.4': optional: true - '@esbuild/linux-ppc64@0.19.12': + '@esbuild/linux-ppc64@0.21.4': optional: true - '@esbuild/linux-riscv64@0.19.12': + '@esbuild/linux-riscv64@0.21.4': optional: true - '@esbuild/linux-s390x@0.19.12': + '@esbuild/linux-s390x@0.21.4': optional: true - '@esbuild/linux-x64@0.19.12': + '@esbuild/linux-x64@0.21.4': optional: true - '@esbuild/netbsd-x64@0.19.12': + '@esbuild/netbsd-x64@0.21.4': optional: true - '@esbuild/openbsd-x64@0.19.12': + '@esbuild/openbsd-x64@0.21.4': optional: true - '@esbuild/sunos-x64@0.19.12': + '@esbuild/sunos-x64@0.21.4': optional: true - '@esbuild/win32-arm64@0.19.12': + '@esbuild/win32-arm64@0.21.4': optional: true - '@esbuild/win32-ia32@0.19.12': + '@esbuild/win32-ia32@0.21.4': optional: true - '@esbuild/win32-x64@0.19.12': + '@esbuild/win32-x64@0.21.4': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.56.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.4.0)': dependencies: - eslint: 8.56.0 + eslint: 9.4.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.10.0': {} + '@eslint-community/regexpp@4.10.1': {} - '@eslint/eslintrc@2.1.4': + '@eslint/compat@1.0.3': {} + + '@eslint/config-array@0.15.1': + dependencies: + '@eslint/object-schema': 2.1.3 + debug: 4.3.5 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 + debug: 4.3.5 + espree: 10.0.1 + globals: 14.0.0 ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -1518,19 +1559,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.56.0': {} + '@eslint/js@9.4.0': {} - '@humanwhocodes/config-array@0.11.14': - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@eslint/object-schema@2.1.3': {} '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.2': {} + '@humanwhocodes/retry@0.3.0': {} '@istanbuljs/schema@0.1.3': {} @@ -1543,16 +1578,27 @@ snapshots: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@logux/eslint-config@52.0.2(eslint-config-standard@17.1.0)(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-node-import@1.0.4)(eslint-plugin-perfectionist@2.5.0)(eslint-plugin-prefer-let@3.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.56.0)': + '@logux/eslint-config@53.2.0(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)': dependencies: - eslint: 8.56.0 - eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(eslint@8.56.0) - eslint-plugin-n: 16.6.2(eslint@8.56.0) - eslint-plugin-node-import: 1.0.4(eslint@8.56.0) - eslint-plugin-perfectionist: 2.5.0(eslint@8.56.0)(typescript@5.3.3) + '@eslint/compat': 1.0.3 + '@eslint/eslintrc': 3.1.0 + eslint: 9.4.0 + eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0))(eslint-plugin-n@17.8.1(eslint@9.4.0))(eslint-plugin-promise@6.2.0(eslint@9.4.0))(eslint@9.4.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0) + eslint-plugin-n: 17.8.1(eslint@9.4.0) + eslint-plugin-perfectionist: 2.10.0(eslint@9.4.0)(typescript@5.4.5) eslint-plugin-prefer-let: 3.0.1 - eslint-plugin-promise: 6.1.1(eslint@8.56.0) + eslint-plugin-promise: 6.2.0(eslint@9.4.0) + typescript-eslint: 7.12.0(eslint@9.4.0)(typescript@5.4.5) + transitivePeerDependencies: + - '@typescript-eslint/parser' + - astro-eslint-parser + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + - svelte-eslint-parser + - typescript + - vue-eslint-parser '@nodelib/fs.scandir@2.1.5': dependencies: @@ -1566,74 +1612,109 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@sindresorhus/merge-streams@2.2.1': {} + '@sindresorhus/merge-streams@2.3.0': {} - '@size-limit/esbuild@11.0.2(size-limit@11.0.2)': + '@size-limit/esbuild@11.1.4(size-limit@11.1.4)': dependencies: - esbuild: 0.19.12 - nanoid: 5.0.5 - size-limit: 11.0.2 + esbuild: 0.21.4 + nanoid: 5.0.7 + size-limit: 11.1.4 - '@size-limit/file@11.0.2(size-limit@11.0.2)': + '@size-limit/file@11.1.4(size-limit@11.1.4)': dependencies: - size-limit: 11.0.2 + size-limit: 11.1.4 - '@size-limit/preset-small-lib@11.0.2(size-limit@11.0.2)': + '@size-limit/preset-small-lib@11.1.4(size-limit@11.1.4)': dependencies: - '@size-limit/esbuild': 11.0.2(size-limit@11.0.2) - '@size-limit/file': 11.0.2(size-limit@11.0.2) - size-limit: 11.0.2 + '@size-limit/esbuild': 11.1.4(size-limit@11.1.4) + '@size-limit/file': 11.1.4(size-limit@11.1.4) + size-limit: 11.1.4 '@types/istanbul-lib-coverage@2.0.6': {} - '@types/json-schema@7.0.15': {} - '@types/json5@0.0.29': {} - '@types/semver@7.5.7': {} + '@typescript-eslint/eslint-plugin@7.12.0(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/regexpp': 4.10.1 + '@typescript-eslint/parser': 7.12.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.12.0 + '@typescript-eslint/type-utils': 7.12.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.12.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.12.0 + eslint: 9.4.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color - '@typescript-eslint/scope-manager@6.21.0': + '@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/scope-manager': 7.12.0 + '@typescript-eslint/types': 7.12.0 + '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.12.0 + debug: 4.3.5 + eslint: 9.4.0 + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@7.12.0': + dependencies: + '@typescript-eslint/types': 7.12.0 + '@typescript-eslint/visitor-keys': 7.12.0 + + '@typescript-eslint/type-utils@7.12.0(eslint@9.4.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.12.0(eslint@9.4.0)(typescript@5.4.5) + debug: 4.3.5 + eslint: 9.4.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color - '@typescript-eslint/types@6.21.0': {} + '@typescript-eslint/types@7.12.0': {} - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3)': + '@typescript-eslint/typescript-estree@7.12.0(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 + '@typescript-eslint/types': 7.12.0 + '@typescript-eslint/visitor-keys': 7.12.0 + debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.0 - ts-api-utils: 1.2.1(typescript@5.3.3) - typescript: 5.3.3 + minimatch: 9.0.4 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.3.3)': + '@typescript-eslint/utils@7.12.0(eslint@9.4.0)(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.7 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) - eslint: 8.56.0 - semver: 7.6.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) + '@typescript-eslint/scope-manager': 7.12.0 + '@typescript-eslint/types': 7.12.0 + '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5) + eslint: 9.4.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@6.21.0': + '@typescript-eslint/visitor-keys@7.12.0': dependencies: - '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/types': 7.12.0 eslint-visitor-keys: 3.4.3 - '@ungap/structured-clone@1.2.0': {} - acorn-jsx@5.3.2(acorn@8.11.3): dependencies: acorn: 8.11.3 @@ -1720,7 +1801,7 @@ snapshots: balanced-match@1.0.2: {} - binary-extensions@2.2.0: {} + binary-extensions@2.3.0: {} brace-expansion@1.1.11: dependencies: @@ -1731,22 +1812,16 @@ snapshots: dependencies: balanced-match: 1.0.2 - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 - browserslist@4.22.3: + browserslist@4.23.0: dependencies: - caniuse-lite: 1.0.30001587 - electron-to-chromium: 1.4.668 + caniuse-lite: 1.0.30001629 + electron-to-chromium: 1.4.796 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.3) - - builtin-modules@3.3.0: {} - - builtins@5.0.1: - dependencies: - semver: 7.6.0 + update-browserslist-db: 1.0.16(browserslist@4.23.0) bytes-iec@3.1.1: {} @@ -1774,7 +1849,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001587: {} + caniuse-lite@1.0.30001629: {} chalk@4.1.2: dependencies: @@ -1784,7 +1859,7 @@ snapshots: chokidar@3.6.0: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -1793,12 +1868,12 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - clean-publish@4.2.0: + clean-publish@5.0.0: dependencies: cross-spawn: 7.0.3 fast-glob: 3.3.2 - lilconfig: 2.1.0 - micromatch: 4.0.5 + lilconfig: 3.1.1 + micromatch: 4.0.7 cliui@8.0.1: dependencies: @@ -1826,7 +1901,7 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.4: + debug@4.3.5: dependencies: ms: 2.1.2 @@ -1856,14 +1931,15 @@ snapshots: dependencies: esutils: 2.0.3 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - - electron-to-chromium@1.4.668: {} + electron-to-chromium@1.4.796: {} emoji-regex@8.0.0: {} + enhanced-resolve@5.17.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + es-abstract@1.22.4: dependencies: array-buffer-byte-length: 1.0.1 @@ -1932,46 +2008,47 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - esbuild@0.19.12: + esbuild@0.21.4: optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 + '@esbuild/aix-ppc64': 0.21.4 + '@esbuild/android-arm': 0.21.4 + '@esbuild/android-arm64': 0.21.4 + '@esbuild/android-x64': 0.21.4 + '@esbuild/darwin-arm64': 0.21.4 + '@esbuild/darwin-x64': 0.21.4 + '@esbuild/freebsd-arm64': 0.21.4 + '@esbuild/freebsd-x64': 0.21.4 + '@esbuild/linux-arm': 0.21.4 + '@esbuild/linux-arm64': 0.21.4 + '@esbuild/linux-ia32': 0.21.4 + '@esbuild/linux-loong64': 0.21.4 + '@esbuild/linux-mips64el': 0.21.4 + '@esbuild/linux-ppc64': 0.21.4 + '@esbuild/linux-riscv64': 0.21.4 + '@esbuild/linux-s390x': 0.21.4 + '@esbuild/linux-x64': 0.21.4 + '@esbuild/netbsd-x64': 0.21.4 + '@esbuild/openbsd-x64': 0.21.4 + '@esbuild/sunos-x64': 0.21.4 + '@esbuild/win32-arm64': 0.21.4 + '@esbuild/win32-ia32': 0.21.4 + '@esbuild/win32-x64': 0.21.4 escalade@3.1.2: {} escape-string-regexp@4.0.0: {} - eslint-compat-utils@0.1.2(eslint@8.56.0): + eslint-compat-utils@0.5.1(eslint@9.4.0): dependencies: - eslint: 8.56.0 + eslint: 9.4.0 + semver: 7.6.2 - eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0): + eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0))(eslint-plugin-n@17.8.1(eslint@9.4.0))(eslint-plugin-promise@6.2.0(eslint@9.4.0))(eslint@9.4.0): dependencies: - eslint: 8.56.0 - eslint-plugin-import: 2.29.1(eslint@8.56.0) - eslint-plugin-n: 16.6.2(eslint@8.56.0) - eslint-plugin-promise: 6.1.1(eslint@8.56.0) + eslint: 9.4.0 + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0) + eslint-plugin-n: 17.8.1(eslint@9.4.0) + eslint-plugin-promise: 6.2.0(eslint@9.4.0) eslint-import-resolver-node@0.3.9: dependencies: @@ -1981,26 +2058,28 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): + eslint-module-utils@2.8.0(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.4.0): dependencies: debug: 3.2.7 - eslint: 8.56.0 + optionalDependencies: + '@typescript-eslint/parser': 7.12.0(eslint@9.4.0)(typescript@5.4.5) + eslint: 9.4.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-es-x@7.5.0(eslint@8.56.0): + eslint-plugin-es-x@7.7.0(eslint@9.4.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@eslint-community/regexpp': 4.10.0 - eslint: 8.56.0 - eslint-compat-utils: 0.1.2(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) + '@eslint-community/regexpp': 4.10.1 + eslint: 9.4.0 + eslint-compat-utils: 0.5.1(eslint@9.4.0) - eslint-plugin-es5@1.5.0(eslint@8.56.0): + eslint-plugin-es5@1.5.0(eslint@9.4.0): dependencies: - eslint: 8.56.0 + eslint: 9.4.0 - eslint-plugin-import@2.29.1(eslint@8.56.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0): dependencies: array-includes: 3.1.7 array.prototype.findlastindex: 1.2.4 @@ -2008,9 +2087,9 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.56.0 + eslint: 9.4.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.4.0) hasown: 2.0.1 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -2020,35 +2099,30 @@ snapshots: object.values: 1.1.7 semver: 6.3.1 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 7.12.0(eslint@9.4.0)(typescript@5.4.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-n@16.6.2(eslint@8.56.0): + eslint-plugin-n@17.8.1(eslint@9.4.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - builtins: 5.0.1 - eslint: 8.56.0 - eslint-plugin-es-x: 7.5.0(eslint@8.56.0) - get-tsconfig: 4.7.2 - globals: 13.24.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) + enhanced-resolve: 5.17.0 + eslint: 9.4.0 + eslint-plugin-es-x: 7.7.0(eslint@9.4.0) + get-tsconfig: 4.7.5 + globals: 15.4.0 ignore: 5.3.1 - is-builtin-module: 3.2.1 - is-core-module: 2.13.1 - minimatch: 3.1.2 - resolve: 1.22.8 - semver: 7.6.0 + minimatch: 9.0.4 + semver: 7.6.2 - eslint-plugin-node-import@1.0.4(eslint@8.56.0): + eslint-plugin-perfectionist@2.10.0(eslint@9.4.0)(typescript@5.4.5): dependencies: - eslint: 8.56.0 - - eslint-plugin-perfectionist@2.5.0(eslint@8.56.0)(typescript@5.3.3): - dependencies: - '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) - eslint: 8.56.0 - minimatch: 9.0.3 + '@typescript-eslint/utils': 7.12.0(eslint@9.4.0)(typescript@5.4.5) + eslint: 9.4.0 + minimatch: 9.0.4 natural-compare-lite: 1.4.0 transitivePeerDependencies: - supports-color @@ -2058,65 +2132,63 @@ snapshots: dependencies: requireindex: 1.2.0 - eslint-plugin-promise@6.1.1(eslint@8.56.0): + eslint-plugin-promise@6.2.0(eslint@9.4.0): dependencies: - eslint: 8.56.0 + eslint: 9.4.0 - eslint-scope@7.2.2: + eslint-scope@8.0.1: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.56.0: + eslint-visitor-keys@4.0.0: {} + + eslint@9.4.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) + '@eslint-community/regexpp': 4.10.1 + '@eslint/config-array': 0.15.1 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.4.0 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 + debug: 4.3.5 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.0.1 + eslint-visitor-keys: 4.0.0 + espree: 10.0.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color - espree@9.6.1: + espree@10.0.1: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 4.0.0 esquery@1.5.0: dependencies: @@ -2138,7 +2210,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 fast-json-stable-stringify@2.1.0: {} @@ -2148,11 +2220,11 @@ snapshots: dependencies: reusify: 1.0.4 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -2161,13 +2233,12 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: - flatted: 3.2.9 + flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 - flatted@3.2.9: {} + flatted@3.3.1: {} for-each@0.3.3: dependencies: @@ -2216,7 +2287,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-tsconfig@4.7.2: + get-tsconfig@4.7.5: dependencies: resolve-pkg-maps: 1.0.0 @@ -2237,9 +2308,9 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} + + globals@15.4.0: {} globalthis@1.0.3: dependencies: @@ -2256,7 +2327,7 @@ snapshots: globby@14.0.1: dependencies: - '@sindresorhus/merge-streams': 2.2.1 + '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 ignore: 5.3.1 path-type: 5.0.0 @@ -2326,17 +2397,13 @@ snapshots: is-binary-path@2.1.0: dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 is-boolean-object@1.1.2: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - is-builtin-module@3.2.1: - dependencies: - builtin-modules: 3.3.0 - is-callable@1.2.7: {} is-core-module@2.13.1: @@ -2407,6 +2474,8 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 + jiti@1.21.3: {} + js-yaml@4.1.0: dependencies: argparse: 2.0.1 @@ -2438,9 +2507,7 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lilconfig@2.1.0: {} - - lilconfig@3.0.0: {} + lilconfig@3.1.1: {} locate-path@6.0.0: dependencies: @@ -2458,16 +2525,16 @@ snapshots: merge2@1.4.1: {} - micromatch@4.0.5: + micromatch@4.0.7: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - minimatch@9.0.3: + minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 @@ -2479,11 +2546,11 @@ snapshots: ms@2.1.3: {} - nanoid@5.0.5: {} + nanoid@5.0.7: {} nanospinner@1.1.0: dependencies: - picocolors: 1.0.0 + picocolors: 1.0.1 nanospy@1.0.0: {} @@ -2530,14 +2597,14 @@ snapshots: dependencies: wrappy: 1.0.2 - optionator@0.9.3: + optionator@0.9.4: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 p-limit@3.1.0: dependencies: @@ -2563,7 +2630,7 @@ snapshots: path-type@5.0.0: {} - picocolors@1.0.0: {} + picocolors@1.0.1: {} picomatch@2.3.1: {} @@ -2600,10 +2667,6 @@ snapshots: reusify@1.0.4: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -2631,6 +2694,8 @@ snapshots: dependencies: lru-cache: 6.0.0 + semver@7.6.2: {} + set-function-length@1.2.1: dependencies: define-data-property: 1.1.4 @@ -2661,14 +2726,15 @@ snapshots: signal-exit@4.1.0: {} - size-limit@11.0.2: + size-limit@11.1.4: dependencies: bytes-iec: 3.1.1 chokidar: 3.6.0 globby: 14.0.1 - lilconfig: 3.0.0 + jiti: 1.21.3 + lilconfig: 3.1.1 nanospinner: 1.1.0 - picocolors: 1.0.0 + picocolors: 1.0.1 slash@3.0.0: {} @@ -2712,6 +2778,8 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + tapable@2.2.1: {} + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 @@ -2724,9 +2792,9 @@ snapshots: dependencies: is-number: 7.0.0 - ts-api-utils@1.2.1(typescript@5.3.3): + ts-api-utils@1.3.0(typescript@5.4.5): dependencies: - typescript: 5.3.3 + typescript: 5.4.5 tsconfig-paths@3.15.0: dependencies: @@ -2739,8 +2807,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-fest@0.20.2: {} - typed-array-buffer@1.0.1: dependencies: call-bind: 1.0.7 @@ -2768,7 +2834,18 @@ snapshots: for-each: 0.3.3 is-typed-array: 1.1.13 - typescript@5.3.3: {} + typescript-eslint@7.12.0(eslint@9.4.0)(typescript@5.4.5): + dependencies: + '@typescript-eslint/eslint-plugin': 7.12.0(@typescript-eslint/parser@7.12.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.12.0(eslint@9.4.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.12.0(eslint@9.4.0)(typescript@5.4.5) + eslint: 9.4.0 + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + typescript@5.4.5: {} unbox-primitive@1.0.2: dependencies: @@ -2781,11 +2858,11 @@ snapshots: universalify@2.0.1: {} - update-browserslist-db@1.0.13(browserslist@4.22.3): + update-browserslist-db@1.0.16(browserslist@4.23.0): dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 escalade: 3.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 uri-js@4.4.1: dependencies: @@ -2824,6 +2901,8 @@ snapshots: dependencies: isexe: 2.0.0 + word-wrap@1.2.5: {} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 diff --git a/test/and.test.js b/test/and.test.js index 27729cf0..66a1e7d1 100644 --- a/test/and.test.js +++ b/test/and.test.js @@ -8,42 +8,35 @@ let browserslist = require('..') let PACKAGE = join(__dirname, 'fixtures', 'package2') test('query composition with AND operator', () => { - equal( - browserslist('ie >= 6, ie <= 7'), - [ - 'ie 11', - 'ie 10', - 'ie 9', - 'ie 8', - 'ie 7', - 'ie 6', - 'ie 5.5' - ] - ) + equal(browserslist('ie >= 6, ie <= 7'), [ + 'ie 11', + 'ie 10', + 'ie 9', + 'ie 8', + 'ie 7', + 'ie 6', + 'ie 5.5' + ]) equal(browserslist('ie >= 6 and ie <= 7'), ['ie 7', 'ie 6']) - equal( - browserslist('ie < 11 and not ie 7'), - [ - 'ie 10', - 'ie 9', - 'ie 8', - 'ie 6', - 'ie 5.5' - ] - ) + equal(browserslist('ie < 11 and not ie 7'), [ + 'ie 10', + 'ie 9', + 'ie 8', + 'ie 6', + 'ie 5.5' + ]) }) test('correctly works with not and one-version browsers as AND query', () => { - equal(browserslist('last 1 Baidu version and not <2% in AT'), ['baidu 13.18']) + equal(browserslist('last 1 Baidu version and not <2% in AT'), ['baidu 13.52']) }) test('reads config from package.json', () => { - equal( - browserslist.findConfig(PACKAGE), - { defaults: 'ie > 6 and ie 9 or ie 10' } - ) + equal(browserslist.findConfig(PACKAGE), { + defaults: 'ie > 6 and ie 9 or ie 10' + }) equal(browserslist(null, { path: PACKAGE }), ['ie 10', 'ie 9']) }) diff --git a/test/cover.test.js b/test/cover.test.js index c37aeb58..f8b5e283 100644 --- a/test/cover.test.js +++ b/test/cover.test.js @@ -61,15 +61,12 @@ test('is case insensitive for country coverage', () => { }) test('adds browsers by popularity', () => { - equal( - browserslist('cover 20% in my stats'), - [ - 'chrome 37', - 'chrome 36', - 'ie 11', - 'ie 10' - ] - ) + equal(browserslist('cover 20% in my stats'), [ + 'chrome 37', + 'chrome 36', + 'ie 11', + 'ie 10' + ]) }) test('does not add zero-popularity', () => { @@ -79,7 +76,10 @@ test('does not add zero-popularity', () => { test('throws error on no stats', () => { delete process.env.BROWSERSLIST_STATS - throws(() => browserslist('cover 70% in my stats'), /statistics was not provided/) + throws( + () => browserslist('cover 70% in my stats'), + /statistics was not provided/ + ) }) test.run() diff --git a/test/coverage.test.js b/test/coverage.test.js index 7f7dff75..efe84e2d 100644 --- a/test/coverage.test.js +++ b/test/coverage.test.js @@ -69,7 +69,10 @@ test('accepts mystats to load from custom stats with dataByBrowser', () => { }) test('throws when no custom stats', () => { - throws(() => browserslist.coverage(['ie 8'], 'my stats'), /statistics was not provided/) + throws( + () => browserslist.coverage(['ie 8'], 'my stats'), + /statistics was not provided/ + ) }) test('loads country usage data from Can I Use', () => { diff --git a/test/custom.test.js b/test/custom.test.js index 895d80db..374a4615 100644 --- a/test/custom.test.js +++ b/test/custom.test.js @@ -31,30 +31,27 @@ test('takes stats by path', () => { }) test('selects popularity by more or equal', () => { - equal( - browserslist('>= 5.3% in my stats', { stats: CUSTOM_STATS }), - ['ie 11', 'ie 10'] - ) + equal(browserslist('>= 5.3% in my stats', { stats: CUSTOM_STATS }), [ + 'ie 11', + 'ie 10' + ]) }) test('selects browsers by unpopularity', () => { - equal( - browserslist('< 0.5% in my stats', { stats: CUSTOM_STATS }), - ['chrome 34', 'ie 8'] - ) + equal(browserslist('< 0.5% in my stats', { stats: CUSTOM_STATS }), [ + 'chrome 34', + 'ie 8' + ]) }) test('selects unpopularity by less or equal', () => { - equal( - browserslist('<= 2.3% in my stats', { stats: CUSTOM_STATS }), - [ - 'chrome 36', - 'chrome 35', - 'chrome 34', - 'ie 9', - 'ie 8' - ] - ) + equal(browserslist('<= 2.3% in my stats', { stats: CUSTOM_STATS }), [ + 'chrome 36', + 'chrome 35', + 'chrome 34', + 'ie 9', + 'ie 8' + ]) }) test('accepts non-space query', () => { @@ -79,7 +76,10 @@ test('normalizes versions', () => { let opts = { stats: ANDROID } let last = browserslist(['last 1 and_chr version'], undefined, true) match(browserslist(['> 3% in my stats'], opts)[0], last[0]) - match(browserslist(['> 3% in my stats'], { ...opts, mobileToDesktop: true })[0], last[0]) + match( + browserslist(['> 3% in my stats'], { ...opts, mobileToDesktop: true })[0], + last[0] + ) equal(browserslist(['> 3% in my stats', 'not and_chr > 0'], opts), []) }) diff --git a/test/electron.test.js b/test/electron.test.js index fb7ac5f1..57d08058 100644 --- a/test/electron.test.js +++ b/test/electron.test.js @@ -21,15 +21,12 @@ test('throws on unknown Electron version', () => { }) test('converts Electron to Chrome in ranges', () => { - equal( - browserslist('electron 0.36-1.2'), - [ - 'chrome 51', - 'chrome 50', - 'chrome 49', - 'chrome 47' - ] - ) + equal(browserslist('electron 0.36-1.2'), [ + 'chrome 51', + 'chrome 50', + 'chrome 49', + 'chrome 47' + ]) }) test('ignores case in Electron ranges', () => { diff --git a/test/esr.test.js b/test/esr.test.js index 3a599f30..fe308511 100644 --- a/test/esr.test.js +++ b/test/esr.test.js @@ -7,7 +7,10 @@ let browserslist = require('..') test('selects Firefox ESR', () => { let versions = browserslist('Firefox ESR') is(versions.length >= 1, true) - is(versions.every(i => /^firefox \d+$/.test(i)), true) + is( + versions.every(i => /^firefox \d+$/.test(i)), + true + ) }) test('uses case insensitive aliases', () => { diff --git a/test/main.test.js b/test/main.test.js index 2ba22205..ebef9356 100644 --- a/test/main.test.js +++ b/test/main.test.js @@ -123,32 +123,29 @@ test('raises on unknow query', () => { }) test('raises on missed version', () => { - throws(() => browserslist('IE'), 'Specify versions in Browserslist query for browser IE') + throws( + () => browserslist('IE'), + 'Specify versions in Browserslist query for browser IE' + ) }) test('sorts browsers', () => { - equal( - browserslist(['ff 10', 'ie 11', 'ie 6', 'ie 10', 'ff 9']), - [ - 'firefox 10', - 'firefox 9', - 'ie 11', - 'ie 10', - 'ie 6' - ] - ) + equal(browserslist(['ff 10', 'ie 11', 'ie 6', 'ie 10', 'ff 9']), [ + 'firefox 10', + 'firefox 9', + 'ie 11', + 'ie 10', + 'ie 6' + ]) }) test('sorts browsers with version ranges', () => { - equal( - browserslist(['ios_saf 7', 'ie 11', 'ie 6', 'ios_saf 10']), - [ - 'ie 11', - 'ie 6', - 'ios_saf 10.0-10.2', - 'ios_saf 7.0-7.1' - ] - ) + equal(browserslist(['ios_saf 7', 'ie 11', 'ie 6', 'ios_saf 10']), [ + 'ie 11', + 'ie 6', + 'ios_saf 10.0-10.2', + 'ios_saf 7.0-7.1' + ]) }) test('throws custom error', () => { @@ -163,10 +160,10 @@ test('throws custom error', () => { }) test('excludes queries', () => { - equal( - browserslist(['ie >= 9', 'not ie 11', 'not ie 10', 'ie 10']), - ['ie 10', 'ie 9'] - ) + equal(browserslist(['ie >= 9', 'not ie 11', 'not ie 10', 'ie 10']), [ + 'ie 10', + 'ie 9' + ]) }) test('excludes queries for 0 version', () => { @@ -183,30 +180,27 @@ test('excludes queries for all version', () => { test('has actual browsers list in docs', () => { let names = browserslist(['last 1 version']).map(i => i.split(' ')[0]) - equal( - names, - [ - 'and_chr', - 'and_ff', - 'and_qq', - 'and_uc', - 'android', - 'baidu', - 'bb', - 'chrome', - 'edge', - 'firefox', - 'ie', - 'ie_mob', - 'ios_saf', - 'kaios', - 'op_mini', - 'op_mob', - 'opera', - 'safari', - 'samsung' - ] - ) + equal(names, [ + 'and_chr', + 'and_ff', + 'and_qq', + 'and_uc', + 'android', + 'baidu', + 'bb', + 'chrome', + 'edge', + 'firefox', + 'ie', + 'ie_mob', + 'ios_saf', + 'kaios', + 'op_mini', + 'op_mob', + 'opera', + 'safari', + 'samsung' + ]) }) test('throws error on first exclude query', () => { @@ -222,22 +216,34 @@ test('cleans 0 version', () => { }) test('uses env options to browserlist config', () => { - equal( - browserslist(null, { path: CONFIG, env: 'production' }), - ['ie 9', 'opera 41'] - ) + equal(browserslist(null, { path: CONFIG, env: 'production' }), [ + 'ie 9', + 'opera 41' + ]) - equal(browserslist(null, { path: CONFIG, env: 'staging' }), ['ie 9', 'opera 41']) + equal(browserslist(null, { path: CONFIG, env: 'staging' }), [ + 'ie 9', + 'opera 41' + ]) - equal(browserslist(null, { path: CONFIG, env: 'development' }), ['chrome 55', 'firefox 50']) + equal(browserslist(null, { path: CONFIG, env: 'development' }), [ + 'chrome 55', + 'firefox 50' + ]) equal(browserslist(null, { path: CONFIG, env: 'test' }), ['ie 11', 'ie 10']) }) test('uses env options to package.json', () => { - equal(browserslist(null, { path: PACKAGE, env: 'production' }), ['ie 9', 'opera 41']) + equal(browserslist(null, { path: PACKAGE, env: 'production' }), [ + 'ie 9', + 'opera 41' + ]) - equal(browserslist(null, { path: PACKAGE, env: 'development' }), ['chrome 55', 'firefox 50']) + equal(browserslist(null, { path: PACKAGE, env: 'development' }), [ + 'chrome 55', + 'firefox 50' + ]) equal(browserslist(null, { path: PACKAGE, env: 'test' }), DEFAULTS) }) @@ -258,7 +264,7 @@ test('uses production environment by default', () => { }) test('correctly works with not and one-version browsers', () => { - equal(browserslist('last 1 Baidu version, not <2% in AT'), ['baidu 13.18']) + equal(browserslist('last 1 Baidu version, not <2% in AT'), ['baidu 13.52']) }) test('throws error on missing env', () => { diff --git a/test/major.test.js b/test/major.test.js index 99a3234c..46361256 100644 --- a/test/major.test.js +++ b/test/major.test.js @@ -52,34 +52,28 @@ test.after.each(() => { }) test('selects versions of each browser', () => { - equal( - browserslist('last 2 major versions'), - [ - 'android 39', - 'bb 10', - 'bb 8', - 'chrome 39', - 'chrome 38', - 'edge 12', - 'edge 11.1', - 'edge 11.0.1', - 'ie 11', - 'ie 10' - ] - ) + equal(browserslist('last 2 major versions'), [ + 'android 39', + 'bb 10', + 'bb 8', + 'chrome 39', + 'chrome 38', + 'edge 12', + 'edge 11.1', + 'edge 11.0.1', + 'ie 11', + 'ie 10' + ]) }) test('supports pluralization', () => { - equal( - browserslist('last 1 major version'), - [ - 'android 39', - 'bb 10', - 'chrome 39', - 'edge 12', - 'ie 11' - ] - ) + equal(browserslist('last 1 major version'), [ + 'android 39', + 'bb 10', + 'chrome 39', + 'edge 12', + 'ie 11' + ]) }) test('is case insensitive', () => { @@ -117,13 +111,10 @@ test('supports more versions than have been released', () => { test('supports Can I Use missing mobile versions', () => { let opts = { mobileToDesktop: true } - equal( - browserslist('last 2 android major versions', opts), - [ - 'android 39', - 'android 38' - ] - ) + equal(browserslist('last 2 android major versions', opts), [ + 'android 39', + 'android 38' + ]) }) test.run() diff --git a/test/node.test.js b/test/node.test.js index bafcdf08..77493220 100644 --- a/test/node.test.js +++ b/test/node.test.js @@ -201,140 +201,128 @@ test('supports comparison operator', () => { }) test('supports range selection', () => { - equal( - browserslist('node 4-6'), - [ - 'node 6.17.0', - 'node 6.16.0', - 'node 6.15.0', - 'node 6.14.0', - 'node 6.13.0', - 'node 6.12.0', - 'node 6.11.0', - 'node 6.10.0', - 'node 6.9.0', - 'node 6.8.0', - 'node 6.7.0', - 'node 6.6.0', - 'node 6.5.0', - 'node 6.4.0', - 'node 6.3.0', - 'node 6.2.0', - 'node 6.1.0', - 'node 6.0.0', - - 'node 5.12.0', - 'node 5.11.0', - 'node 5.10.0', - 'node 5.9.0', - 'node 5.8.0', - 'node 5.7.0', - 'node 5.6.0', - 'node 5.5.0', - 'node 5.4.0', - 'node 5.3.0', - 'node 5.2.0', - 'node 5.1.0', - 'node 5.0.0', - - 'node 4.9.0', - 'node 4.8.0', - 'node 4.7.0', - 'node 4.6.0', - 'node 4.5.0', - 'node 4.4.0', - 'node 4.3.0', - 'node 4.2.0', - 'node 4.1.0', - 'node 4.0.0' - ] - ) + equal(browserslist('node 4-6'), [ + 'node 6.17.0', + 'node 6.16.0', + 'node 6.15.0', + 'node 6.14.0', + 'node 6.13.0', + 'node 6.12.0', + 'node 6.11.0', + 'node 6.10.0', + 'node 6.9.0', + 'node 6.8.0', + 'node 6.7.0', + 'node 6.6.0', + 'node 6.5.0', + 'node 6.4.0', + 'node 6.3.0', + 'node 6.2.0', + 'node 6.1.0', + 'node 6.0.0', + + 'node 5.12.0', + 'node 5.11.0', + 'node 5.10.0', + 'node 5.9.0', + 'node 5.8.0', + 'node 5.7.0', + 'node 5.6.0', + 'node 5.5.0', + 'node 5.4.0', + 'node 5.3.0', + 'node 5.2.0', + 'node 5.1.0', + 'node 5.0.0', - equal( - browserslist('node 4-6.0.0'), - [ - 'node 6.0.0', - - 'node 5.12.0', - 'node 5.11.0', - 'node 5.10.0', - 'node 5.9.0', - 'node 5.8.0', - 'node 5.7.0', - 'node 5.6.0', - 'node 5.5.0', - 'node 5.4.0', - 'node 5.3.0', - 'node 5.2.0', - 'node 5.1.0', - 'node 5.0.0', - - 'node 4.9.0', - 'node 4.8.0', - 'node 4.7.0', - 'node 4.6.0', - 'node 4.5.0', - 'node 4.4.0', - 'node 4.3.0', - 'node 4.2.0', - 'node 4.1.0', - 'node 4.0.0' - ] - ) + 'node 4.9.0', + 'node 4.8.0', + 'node 4.7.0', + 'node 4.6.0', + 'node 4.5.0', + 'node 4.4.0', + 'node 4.3.0', + 'node 4.2.0', + 'node 4.1.0', + 'node 4.0.0' + ]) - equal( - browserslist('node 6.5-7.5'), - [ - 'node 7.5.0', - 'node 7.4.0', - 'node 7.3.0', - 'node 7.2.0', - 'node 7.1.0', - 'node 7.0.0', - - 'node 6.17.0', - 'node 6.16.0', - 'node 6.15.0', - 'node 6.14.0', - 'node 6.13.0', - 'node 6.12.0', - 'node 6.11.0', - 'node 6.10.0', - 'node 6.9.0', - 'node 6.8.0', - 'node 6.7.0', - 'node 6.6.0', - 'node 6.5.0' - ] - ) + equal(browserslist('node 4-6.0.0'), [ + 'node 6.0.0', + + 'node 5.12.0', + 'node 5.11.0', + 'node 5.10.0', + 'node 5.9.0', + 'node 5.8.0', + 'node 5.7.0', + 'node 5.6.0', + 'node 5.5.0', + 'node 5.4.0', + 'node 5.3.0', + 'node 5.2.0', + 'node 5.1.0', + 'node 5.0.0', - equal( - browserslist('node 6.6.4-7.7.5'), - [ - 'node 7.7.0', - 'node 7.6.0', - 'node 7.5.0', - 'node 7.4.0', - 'node 7.3.0', - 'node 7.2.0', - 'node 7.1.0', - 'node 7.0.0', - - 'node 6.17.0', - 'node 6.16.0', - 'node 6.15.0', - 'node 6.14.0', - 'node 6.13.0', - 'node 6.12.0', - 'node 6.11.0', - 'node 6.10.0', - 'node 6.9.0', - 'node 6.8.0', - 'node 6.7.0', - // include 6.6.0 as patch versions are ignored - 'node 6.6.0' - ] - ) + 'node 4.9.0', + 'node 4.8.0', + 'node 4.7.0', + 'node 4.6.0', + 'node 4.5.0', + 'node 4.4.0', + 'node 4.3.0', + 'node 4.2.0', + 'node 4.1.0', + 'node 4.0.0' + ]) + + equal(browserslist('node 6.5-7.5'), [ + 'node 7.5.0', + 'node 7.4.0', + 'node 7.3.0', + 'node 7.2.0', + 'node 7.1.0', + 'node 7.0.0', + + 'node 6.17.0', + 'node 6.16.0', + 'node 6.15.0', + 'node 6.14.0', + 'node 6.13.0', + 'node 6.12.0', + 'node 6.11.0', + 'node 6.10.0', + 'node 6.9.0', + 'node 6.8.0', + 'node 6.7.0', + 'node 6.6.0', + 'node 6.5.0' + ]) + + equal(browserslist('node 6.6.4-7.7.5'), [ + 'node 7.7.0', + 'node 7.6.0', + 'node 7.5.0', + 'node 7.4.0', + 'node 7.3.0', + 'node 7.2.0', + 'node 7.1.0', + 'node 7.0.0', + + 'node 6.17.0', + 'node 6.16.0', + 'node 6.15.0', + 'node 6.14.0', + 'node 6.13.0', + 'node 6.12.0', + 'node 6.11.0', + 'node 6.10.0', + 'node 6.9.0', + 'node 6.8.0', + 'node 6.7.0', + // include 6.6.0 as patch versions are ignored + 'node 6.6.0' + ]) }) test('supports last versions for Node.js', () => { diff --git a/test/range.test.js b/test/range.test.js index b8554eaa..bc28e6a2 100644 --- a/test/range.test.js +++ b/test/range.test.js @@ -36,15 +36,12 @@ test('selects versions with query out of range', () => { }) test('selects a range of android browsers', () => { - equal( - browserslist('android 4.3-37'), - [ - 'android 37', - 'android 4.4.3-4.4.4', - 'android 4.4', - 'android 4.2-4.3' - ] - ) + equal(browserslist('android 4.3-37'), [ + 'android 37', + 'android 4.4.3-4.4.4', + 'android 4.4', + 'android 4.2-4.3' + ]) }) test('raises on an unknown browser', () => { diff --git a/test/shareable-stats.test.js b/test/shareable-stats.test.js index 918432ce..517bd069 100644 --- a/test/shareable-stats.test.js +++ b/test/shareable-stats.test.js @@ -48,40 +48,37 @@ test('takes stats and queries from shareable config', async () => { }) test('ignores null usage value', async () => { - await mock( - 'browserslist-config-null-test', - undefined, - { chrome: { 90: 3, 999: null } } - ) - equal(browserslist('< 5% in browserslist-config-null-test stats'), ['chrome 90']) + await mock('browserslist-config-null-test', undefined, { + chrome: { 90: 3, 999: null } + }) + equal(browserslist('< 5% in browserslist-config-null-test stats'), [ + 'chrome 90' + ]) }) test('works with non-prefixed stats with dangerousExtend', async () => { await mock('pkg', undefined, { chrome: { 78: 6 } }) - equal( - browserslist(['> 5% in pkg stats'], { dangerousExtend: true }), - ['chrome 78'] - ) + equal(browserslist(['> 5% in pkg stats'], { dangerousExtend: true }), [ + 'chrome 78' + ]) }) test('handles scoped stats with a dot in the name', async () => { await mock('@example.com/browserslist-config', undefined, { ie: { 8: 5, 11: 4 } }) - equal( - browserslist(['< 5% in @example.com/browserslist-config stats']), - ['ie 11'] - ) + equal(browserslist(['< 5% in @example.com/browserslist-config stats']), [ + 'ie 11' + ]) }) test('handles file in scoped stats', async () => { await mock('@scope/browserslist-config/ie', undefined, { ie: { 8: 2, 11: 5 } }) - equal( - browserslist(['>= 5% in @scope/browserslist-config/ie stats']), - ['ie 11'] - ) + equal(browserslist(['>= 5% in @scope/browserslist-config/ie stats']), [ + 'ie 11' + ]) }) test('handles file-less scoped stats', async () => { @@ -93,35 +90,45 @@ test('handles scoped stats', async () => { await mock('@scope/browserslist-config-test', undefined, { ie: { 8: 2, 11: 6 } }) - equal(browserslist(['> 5% in @scope/browserslist-config-test stats']), ['ie 11']) + equal(browserslist(['> 5% in @scope/browserslist-config-test stats']), [ + 'ie 11' + ]) }) test('ignores passed stats', () => { throws( - () => browserslist('> 5% in browserslist-config-test3 stats', { stats: STATS }), + () => + browserslist('> 5% in browserslist-config-test3 stats', { stats: STATS }), /Cannot (find|resolve) module/ ) }) test('ignores environment variable stats', () => { process.env.BROWSERSLIST_STATS = CUSTOM_STATS - throws(() => browserslist('> 5% in browserslist-config-test4 stats'), /Cannot (find|resolve) module/) + throws( + () => browserslist('> 5% in browserslist-config-test4 stats'), + /Cannot (find|resolve) module/ + ) }) test('throws when stats does not have browserslist-config- prefix', () => { - throws( - () => { browserslist(['> 5% in thing-without-prefix stats'])}, - /needs `browserslist-config-` prefix/ - ) + throws(() => { + browserslist(['> 5% in thing-without-prefix stats']) + }, /needs `browserslist-config-` prefix/) }) test('throws when stats has dot in path', () => { - throws(() => browserslist(['> 5% in browserslist-config-package/../something stats']), /`.` not allowed/) + throws( + () => + browserslist(['> 5% in browserslist-config-package/../something stats']), + /`.` not allowed/ + ) }) test('throws when stats has node_modules in path', () => { throws( - () => browserslist(['> 5% in browserslist-config-test/node_modules/a stats']), + () => + browserslist(['> 5% in browserslist-config-test/node_modules/a stats']), /`node_modules` not allowed/ ) }) @@ -133,8 +140,8 @@ test('throw if stats undefined', async () => { // @ts-expect-error { dataByBrowser: 'not object' } ) - throws(() => - browserslist(['> 5% in browserslist-config-undefined stats']), + throws( + () => browserslist(['> 5% in browserslist-config-undefined stats']), /statistics was not provided/ ) }) diff --git a/test/years.test.js b/test/years.test.js index 9db3f3f7..9a6e8d0f 100644 --- a/test/years.test.js +++ b/test/years.test.js @@ -56,14 +56,7 @@ test.after.each(() => { }) test('selects versions released within last X years', () => { - equal( - browserslist('last 2 years'), - [ - 'edge 16', - 'edge 15', - 'edge 14' - ] - ) + equal(browserslist('last 2 years'), ['edge 16', 'edge 15', 'edge 14']) }) test('selects versions released within last year', () => { @@ -75,17 +68,14 @@ test('supports year fraction', () => { }) test('is case insensitive', () => { - equal( - browserslist('Last 5 years'), - [ - 'edge 16', - 'edge 15', - 'edge 14', - 'edge 13', - 'edge 12', - 'ie 11' - ] - ) + equal(browserslist('Last 5 years'), [ + 'edge 16', + 'edge 15', + 'edge 14', + 'edge 13', + 'edge 12', + 'ie 11' + ]) }) test.run()