diff --git a/.github/dependabot.yml b/.github/dependabot.yml index b33b77a7..ff2b7417 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,4 +9,4 @@ updates: ignore: - dependency-name: '@types/node' versions: - - '>=21' + - '>=23' diff --git a/.github/workflows/next.yml b/.github/workflows/next.yml index 0aa83891..4bb89d38 100644 --- a/.github/workflows/next.yml +++ b/.github/workflows/next.yml @@ -8,10 +8,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Use Node.js 20 + - name: Use Node.js 22 uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 registry-url: 'https://registry.npmjs.org/' - run: npm ci - run: npm run build diff --git a/.github/workflows/npm.yml b/.github/workflows/npm.yml index 0fe4e902..18fb10d0 100644 --- a/.github/workflows/npm.yml +++ b/.github/workflows/npm.yml @@ -8,10 +8,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Use Node.js 20 + - name: Use Node.js 22 uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 registry-url: 'https://registry.npmjs.org/' - run: npm ci - run: npm run build diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index bc1e02e3..12efb119 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -6,7 +6,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - node-version: [20] + node-version: [22] os: [ubuntu-latest, windows-latest, macOS-latest] steps: - uses: actions/checkout@v4 diff --git a/.nvmrc b/.nvmrc index 209e3ef4..2bd5a0a9 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20 +22 diff --git a/empty-object.js b/empty-object.js index f053ebf7..cb0ff5c3 100644 --- a/empty-object.js +++ b/empty-object.js @@ -1 +1 @@ -module.exports = {}; +export {}; diff --git a/esbuild.config.js b/esbuild.config.js index ef65001a..30a4bd09 100644 --- a/esbuild.config.js +++ b/esbuild.config.js @@ -1,14 +1,15 @@ -// @ts-chec +// @ts-check + +import { fileURLToPath } from 'node:url'; +import { builtinModules as nativeNodeApis } from 'node:module'; // Used as a polyfill for node apis when they aren't available. // The key is the node api name and the value is the stand-in object. -const emptyModulePath = require.resolve(`./empty-object.js`); -const utilModulePath = require.resolve(`./micro-util-nofill.js`); +const emptyModulePath = fileURLToPath(import.meta.resolve(`./empty-object.js`)); +const utilModulePath = fileURLToPath(import.meta.resolve(`./micro-util-nofill.js`)); // get all native node apis - -const nativeNodeApis = require('module').builtinModules; - +/** @type {Record} */ const alias = {}; for (const nodeApi of nativeNodeApis) { if (nodeApi === 'util') { @@ -21,8 +22,7 @@ for (const nodeApi of nativeNodeApis) { } /** @type {import('esbuild').BuildOptions} */ -module.exports = { - plugins: [], +export default { alias, loader: { '.jpg': 'file', diff --git a/package-lock.json b/package-lock.json index 9df737a4..8b60ebcd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,17 +16,17 @@ "@file-services/path": "^9.4.1", "@file-services/resolve": "^9.4.1", "@playwright/browser-chromium": "^1.49.1", - "@types/chai": "^4.3.20", - "@types/chai-as-promised": "^7.1.8", + "@types/chai": "^5.0.1", + "@types/chai-as-promised": "^8.0.1", "@types/mocha": "^10.0.10", - "@types/node": "20", + "@types/node": "22", "@types/react": "^18.3.13", "@types/react-dom": "^18.3.1", "@types/sinon": "^17.0.3", "@wixc3/create-disposables": "^2.2.0", - "@wixc3/testing": "^17.1.1", - "chai": "^4.5.0", - "chai-as-promised": "^7.1.2", + "@wixc3/testing": "^18.0.0", + "chai": "^5.1.2", + "chai-as-promised": "^8.0.1", "esbuild": "^0.24.0", "eslint": "^9.17.0", "eslint-config-prettier": "^9.1.0", @@ -552,6 +552,7 @@ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -741,6 +742,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -754,6 +756,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -763,6 +766,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -991,16 +995,6 @@ "type-detect": "4.0.8" } }, - "node_modules/@sinonjs/commons/node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/@sinonjs/fake-timers": { "version": "13.0.5", "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", @@ -1023,6 +1017,16 @@ "type-detect": "^4.1.0" } }, + "node_modules/@sinonjs/samsam/node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/@sinonjs/text-encoding": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz", @@ -1031,16 +1035,19 @@ "license": "(Unlicense OR Apache-2.0)" }, "node_modules/@types/chai": { - "version": "4.3.20", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.20.tgz", - "integrity": "sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.0.1.tgz", + "integrity": "sha512-5T8ajsg3M/FOncpLYW7sdOcD6yf4+722sze/tc4KQV0P8Z2rAr3SAuHCIkYmYpt8VbcQlnz8SxlOlPQYefe4cA==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*" + } }, "node_modules/@types/chai-as-promised": { - "version": "7.1.8", - "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz", - "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-8.0.1.tgz", + "integrity": "sha512-dAlDhLjJlABwAVYObo9TPWYTRg9NaQM5CXeaeJYcYAkvzUf0JRLIiog88ao2Wqy/20WUnhbbUZcgvngEbJ3YXQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1053,6 +1060,13 @@ "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", "license": "MIT" }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -1075,13 +1089,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.17.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.10.tgz", - "integrity": "sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==", + "version": "22.10.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", + "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.19.2" + "undici-types": "~6.20.0" } }, "node_modules/@types/prop-types": { @@ -1092,9 +1106,9 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.15", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.15.tgz", - "integrity": "sha512-XQzbwkCwrsabawgWsvDDwsDTRuH1sf6Uj1fnFYoG03ZXfT54/aBvlylKR9ix70pXAtTn8dFzj358zVcZN4m83w==", + "version": "18.3.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.17.tgz", + "integrity": "sha512-opAQ5no6LqJNo9TqnxBKsgnkIYHozW9KSTlFVoSUJYh1Fl/sswkEoqIugRSm7tbh6pABtYjGAjW+GOS23j8qbw==", "dev": true, "license": "MIT", "dependencies": { @@ -1103,9 +1117,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.3.tgz", - "integrity": "sha512-uTYkxTLkYp41nq/ULXyXMtkNT1vu5fXJoqad6uTNCOGat5t9cLgF4vMNLBXsTOXpdOI44XzKPY1M5RRm0bQHuw==", + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", + "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", "dev": true, "license": "MIT", "peerDependencies": { @@ -1134,6 +1148,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.1.tgz", "integrity": "sha512-Ncvsq5CT3Gvh+uJG0Lwlho6suwDfUXH0HztslDf5I+F2wAFAZMRwYLEorumpKLzmO2suAXZ/td1tBg4NZIi9CQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.18.1", @@ -1163,6 +1178,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.18.1.tgz", "integrity": "sha512-rBnTWHCdbYM2lh7hjyXqxk70wvon3p2FyaniZuey5TrcGBpfhVp0OxOa6gxr9Q9YhZFKyfbEnxc24ZnVbbUkCA==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/scope-manager": "8.18.1", "@typescript-eslint/types": "8.18.1", @@ -1187,6 +1203,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.18.1.tgz", "integrity": "sha512-HxfHo2b090M5s2+/9Z3gkBhI6xBH8OJCFjH9MhQ+nnoZqxU3wNxkLT+VWXWSFWc3UF3Z+CfPAyqdCTdoXtDPCQ==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "8.18.1", "@typescript-eslint/visitor-keys": "8.18.1" @@ -1204,6 +1221,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.18.1.tgz", "integrity": "sha512-jAhTdK/Qx2NJPNOTxXpMwlOiSymtR2j283TtPqXkKBdH8OAMmhiUfP0kJjc/qSE51Xrq02Gj9NY7MwK+UxVwHQ==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "8.18.1", "@typescript-eslint/utils": "8.18.1", @@ -1227,6 +1245,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.18.1.tgz", "integrity": "sha512-7uoAUsCj66qdNQNpH2G8MyTFlgerum8ubf21s3TSM3XmKXuIn+H2Sifh/ES2nPOPiYSRJWAk0fDkW0APBWcpfw==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -1240,6 +1259,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.1.tgz", "integrity": "sha512-z8U21WI5txzl2XYOW7i9hJhxoKKNG1kcU4RzyNvKrdZDmbjkmLBo8bgeiOJmA06kizLI76/CCBAAGlTlEeUfyg==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "8.18.1", "@typescript-eslint/visitor-keys": "8.18.1", @@ -1266,6 +1286,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -1275,6 +1296,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -1290,6 +1312,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -1302,6 +1325,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.18.1.tgz", "integrity": "sha512-8vikiIj2ebrC4WRdcAdDcmnu9Q/MXXwg+STf40BVfT8exDqBCUPdypvzcUPxEqRGKg9ALagZ0UWcYCtn+4W2iQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "8.18.1", @@ -1325,6 +1349,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.1.tgz", "integrity": "sha512-Vj0WLm5/ZsD013YeUKn+K0y8p1M0jPpxOkKdbD1wB0ns53a5piVY02zjf072TblEweAbcYiFiPoSMF3kp+VhhQ==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "8.18.1", "eslint-visitor-keys": "^4.2.0" @@ -1360,9 +1385,9 @@ "link": true }, "node_modules/@wixc3/common": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/@wixc3/common/-/common-17.1.1.tgz", - "integrity": "sha512-IB448WzOJTl7Sehck105dm6c1+CJK5A/zdhu6fnUCUADNgWH3kEU03x+WpHy2QnWzkS77iR2T7ZZJVF4kiKUHQ==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@wixc3/common/-/common-18.0.0.tgz", + "integrity": "sha512-vvNWAy9Y4gh97XDUj10ApLc/fKBB9kFF7utPXzt6U31ZuK2oU0ObGepRaC6SMbC/xQ9lc/GIJKvPtQ4XKWuC8Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1381,13 +1406,13 @@ "link": true }, "node_modules/@wixc3/patterns": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/@wixc3/patterns/-/patterns-17.1.1.tgz", - "integrity": "sha512-1DngjWnvu2jIlE2K+ZWLw3bVARVunsHHQu6xRolaI63naDCPNS+W6qvkLHVi8A61AiSFJPL3YX7jtlLkrqgFRw==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@wixc3/patterns/-/patterns-18.0.0.tgz", + "integrity": "sha512-ovOZ8DPpT3EYPDcHtdR4ks0V9pVbzEfPx2AAjrNiOS9uMHU04K0dslGxe8d2bYdlYwtwMuwqO2FNIQfchlaE0Q==", "dev": true, "license": "MIT", "dependencies": { - "@wixc3/common": "^17.1.1", + "@wixc3/common": "^18.0.0", "promise-assist": "^2.0.1" } }, @@ -1396,18 +1421,19 @@ "link": true }, "node_modules/@wixc3/testing": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/@wixc3/testing/-/testing-17.1.1.tgz", - "integrity": "sha512-erufJQvLI+rgDZTNO6JYJdK9mZp0n2durBDKZBWqpEBA5Pw+oVeT9ZiEsNIybmcl0llT0LTz8h2TuiiR6LPMSg==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@wixc3/testing/-/testing-18.0.0.tgz", + "integrity": "sha512-LdDsBqvgE9bsJCT+Gc/LCaKOOVNt3savm94KjVIY2tQ9+mfNzCUfTY3OGBOa59q4FOQK4J3e4+1SGjfdalGdkQ==", "dev": true, "license": "MIT", "dependencies": { - "@wixc3/common": "^17.1.1", - "@wixc3/patterns": "^17.1.1", - "chai": "^4.4.1", + "@wixc3/common": "^18.0.0", + "@wixc3/patterns": "^18.0.0", + "chai": "^5.1.2", "create-temp-directory": "^2.4.0", - "prettier": "^3.2.5", - "promise-assist": "^2.0.1" + "prettier": "^3.4.2", + "promise-assist": "^2.0.1", + "sinon": "^19.0.2" } }, "node_modules/@zxing/text-encoding": { @@ -1610,16 +1636,16 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -1629,16 +1655,16 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -1665,20 +1691,19 @@ } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dev": true, "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" }, "engines": { "node": ">= 0.4" @@ -1688,13 +1713,13 @@ } }, "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">=12" } }, "node_modules/available-typed-arrays": { @@ -1852,6 +1877,22 @@ "node": ">= 0.4" } }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1876,32 +1917,30 @@ } }, "node_modules/chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz", + "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==", "dev": true, "license": "MIT", "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=12" } }, "node_modules/chai-as-promised": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", - "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-8.0.1.tgz", + "integrity": "sha512-OIEJtOL8xxJSH8JJWbIoRjybbzR52iFuDHuF8eb+nTPD6tgXLjRqsgnUGqQfFODxYvq5QdirT0pN9dZ0+Gz6rA==", "dev": true, - "license": "WTFPL", + "license": "MIT", "dependencies": { - "check-error": "^1.0.2" + "check-error": "^2.0.0" }, "peerDependencies": { "chai": ">= 2.1.2 < 6" @@ -1925,16 +1964,13 @@ } }, "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.2" - }, "engines": { - "node": "*" + "node": ">= 16" } }, "node_modules/chokidar": { @@ -2264,14 +2300,11 @@ } }, "node_modules/deep-eql": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, "license": "MIT", - "dependencies": { - "type-detect": "^4.0.0" - }, "engines": { "node": ">=6" } @@ -2363,12 +2396,12 @@ } }, "node_modules/dunder-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.0.tgz", - "integrity": "sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", + "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" }, @@ -2408,58 +2441,60 @@ } }, "node_modules/es-abstract": { - "version": "1.23.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", - "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", + "version": "1.23.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.6.tgz", + "integrity": "sha512-Ifco6n3yj2tMZDWNLyloZrytt9lqqlwvS83P3HtaETR0NUOYnIULGGHpktqYGObGy+8wc1okO25p8TjemhImvA==", "dev": true, "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", + "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "data-view-buffer": "^1.0.1", "data-view-byte-length": "^1.0.1", "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.7", + "get-intrinsic": "^1.2.6", "get-symbol-description": "^1.0.2", "globalthis": "^1.0.4", - "gopd": "^1.0.1", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", "hasown": "^2.0.2", - "internal-slot": "^1.0.7", + "internal-slot": "^1.1.0", "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", + "is-data-view": "^1.0.2", "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", + "is-regex": "^1.2.1", "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", + "is-string": "^1.1.1", "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.0.0", "object-inspect": "^1.13.3", "object-keys": "^1.1.1", "object.assign": "^4.1.5", "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", + "safe-array-concat": "^1.1.3", + "safe-regex-test": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", "typed-array-buffer": "^1.0.2", "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", + "typed-array-byte-offset": "^1.0.3", + "typed-array-length": "^1.0.7", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -2517,7 +2552,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -2644,6 +2678,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz", "integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -2956,6 +2991,7 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -2972,6 +3008,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -2998,6 +3035,7 @@ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -3183,16 +3221,17 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.7.tgz", + "integrity": "sha512-2g4x+HqTJKM9zcJqBSpjoRmdcPFtJM60J3xJisTQSXBWka5XqyBN/2tNUgma1mztTXyDuUsEtYe5qcs7xYzYQA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { "node": ">= 0.4" @@ -3221,30 +3260,22 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/get-intrinsic": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.5.tgz", - "integrity": "sha512-Y4+pKa7XeRUPWFNvOOYHkRYrfzW07oraURSvjDmRVOJ748OrVmeXtpE4+GCEHncjCjkTxPNRt8kEbxDhsn6VTg==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.6.tgz", + "integrity": "sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", + "call-bind-apply-helpers": "^1.0.1", "dunder-proto": "^1.0.0", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", "function-bind": "^1.1.2", "gopd": "^1.2.0", "has-symbols": "^1.1.0", - "hasown": "^2.0.2" + "hasown": "^2.0.2", + "math-intrinsics": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -3377,7 +3408,8 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/has-bigints": { "version": "1.0.2", @@ -3550,15 +3582,15 @@ "license": "ISC" }, "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "hasown": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -3575,13 +3607,13 @@ } }, "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "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==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3591,14 +3623,15 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -3653,13 +3686,13 @@ } }, "node_modules/is-boolean-object": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.0.tgz", - "integrity": "sha512-kR5g0+dXf/+kXnqI+lu0URKYPKgICtHGGNCDSB10AaUFj3o/HkB3u7WfpRBJGFopxxY0oH3ux7ZsDjLtK7xqvw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", + "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" }, "engines": { @@ -3682,9 +3715,9 @@ } }, "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.0.tgz", + "integrity": "sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==", "dev": true, "license": "MIT", "dependencies": { @@ -3698,12 +3731,14 @@ } }, "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "dev": true, "license": "MIT", "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" }, "engines": { @@ -3714,13 +3749,14 @@ } }, "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3740,13 +3776,13 @@ } }, "node_modules/is-finalizationregistry": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", - "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -3830,13 +3866,13 @@ } }, "node_modules/is-number-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.0.tgz", - "integrity": "sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" }, "engines": { @@ -3857,14 +3893,14 @@ } }, "node_modules/is-regex": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.0.tgz", - "integrity": "sha512-B6ohK4ZmoftlUe+uvenXSbPJFo6U37BH7oO1B3nQH8f/7h27N56s85MhUtbFJAziz5dcmuR3i8ovUl35zp8pFA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "gopd": "^1.1.0", + "call-bound": "^1.0.2", + "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" }, @@ -3905,13 +3941,13 @@ } }, "node_modules/is-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.0.tgz", - "integrity": "sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" }, "engines": { @@ -3922,15 +3958,15 @@ } }, "node_modules/is-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.0.tgz", - "integrity": "sha512-qS8KkNNXUZ/I+nX6QT8ZS1/Yx0A444yhzdTKxCzKkNjQ9sHErBxJnJAgh+f5YhusYECEcjo4XcyH87hn6+ks0A==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "has-symbols": "^1.0.3", - "safe-regex-test": "^1.0.3" + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -3981,27 +4017,30 @@ } }, "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", + "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bound": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -4025,17 +4064,18 @@ "license": "ISC" }, "node_modules/iterator.prototype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", - "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.4.tgz", + "integrity": "sha512-x4WH0BWmrMmg4oHHl+duwubhrvczGlyuGAZu3nvrf0UXOfPu8IhZObFEr7DE/iv01YgVZrsOiRcqw2srkKEDIA==", "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "reflect.getprototypeof": "^1.0.8", + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -4204,14 +4244,11 @@ } }, "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", + "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", "dev": true, - "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.1" - } + "license": "MIT" }, "node_modules/lru-cache": { "version": "10.4.3", @@ -4220,6 +4257,15 @@ "dev": true, "license": "ISC" }, + "node_modules/math-intrinsics": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.0.0.tgz", + "integrity": "sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -4245,6 +4291,7 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -4264,6 +4311,7 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -4933,13 +4981,13 @@ "license": "MIT" }, "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">= 14.16" } }, "node_modules/picomatch": { @@ -5083,7 +5131,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", @@ -5283,6 +5332,7 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -5420,20 +5470,22 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, "engines": { @@ -5465,15 +5517,15 @@ "license": "MIT" }, "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "is-regex": "^1.1.4" + "is-regex": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -5669,16 +5721,73 @@ } }, "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -5876,16 +5985,19 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -5895,16 +6007,20 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6034,6 +6150,7 @@ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -6061,9 +6178,9 @@ } }, "node_modules/type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, "license": "MIT", "engines": { @@ -6071,9 +6188,9 @@ } }, "node_modules/type-fest": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.30.0.tgz", - "integrity": "sha512-G6zXWS1dLj6eagy6sVhOMQiLtJdxQBHIA9Z6HFUNLOlr6MFOgzV8wvmidtPONfPtEUv0uZsy77XJNzTAfwPDaA==", + "version": "4.30.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.30.2.tgz", + "integrity": "sha512-UJShLPYi1aWqCdq9HycOL/gwsuqda1OISdBO3t8RlXQC4QvtuIz4b5FCfe2dQIWEpmlRExKmcTBfP1r9bhY7ig==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -6194,6 +6311,7 @@ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.18.1.tgz", "integrity": "sha512-Mlaw6yxuaDEPQvb/2Qwu3/TfgeBHy9iTJ3mTwe7OvpPmF6KPQjVOfGyEJpPv6Ez2C34OODChhXrzYw/9phI0MQ==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/eslint-plugin": "8.18.1", "@typescript-eslint/parser": "8.18.1", @@ -6212,16 +6330,19 @@ } }, "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bound": "^1.0.3", "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6237,9 +6358,9 @@ } }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", "dev": true, "license": "MIT" }, @@ -6347,17 +6468,17 @@ } }, "node_modules/which-boxed-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.0.tgz", - "integrity": "sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "dev": true, "license": "MIT", "dependencies": { "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.0", - "is-number-object": "^1.1.0", - "is-string": "^1.1.0", - "is-symbol": "^1.1.0" + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -6367,25 +6488,25 @@ } }, "node_modules/which-builtin-type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.0.tgz", - "integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", + "is-date-object": "^1.1.0", "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", + "is-regex": "^1.2.1", "is-weakref": "^1.0.2", "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", + "which-boxed-primitive": "^1.1.0", "which-collection": "^1.0.2", - "which-typed-array": "^1.1.15" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" diff --git a/package.json b/package.json index f014e63d..65f2ed5d 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,7 @@ { "name": "codux-core-monorepo", + "private": true, + "type": "module", "workspaces": [ "packages/*" ], @@ -19,17 +21,17 @@ "@file-services/path": "^9.4.1", "@file-services/resolve": "^9.4.1", "@playwright/browser-chromium": "^1.49.1", - "@types/chai": "^4.3.20", - "@types/chai-as-promised": "^7.1.8", + "@types/chai": "^5.0.1", + "@types/chai-as-promised": "^8.0.1", "@types/mocha": "^10.0.10", - "@types/node": "20", + "@types/node": "22", "@types/react": "^18.3.13", "@types/react-dom": "^18.3.1", "@types/sinon": "^17.0.3", "@wixc3/create-disposables": "^2.2.0", - "@wixc3/testing": "^17.1.1", - "chai": "^4.5.0", - "chai-as-promised": "^7.1.2", + "@wixc3/testing": "^18.0.0", + "chai": "^5.1.2", + "chai-as-promised": "^8.0.1", "esbuild": "^0.24.0", "eslint": "^9.17.0", "eslint-config-prettier": "^9.1.0", @@ -47,6 +49,5 @@ "typescript": "~5.7.2", "typescript-eslint": "^8.18.1" }, - "license": "MIT", - "private": true + "license": "MIT" } diff --git a/packages/app-core/package.json b/packages/app-core/package.json index 8c9c93fd..79136d23 100644 --- a/packages/app-core/package.json +++ b/packages/app-core/package.json @@ -1,17 +1,12 @@ { "name": "@wixc3/app-core", - "description": "Common types and helpers for building applications", "version": "4.6.2", - "main": "dist/index.js", + "type": "module", + "description": "Common types and helpers for building applications", "exports": { - ".": { - "import": "./dist/index.js", - "require": "./dist/index.js" - }, - "./test-kit": { - "import": "./dist/test-kit/index.js", - "require": "./dist/test-kit/index.js" - } + ".": "./dist/index.js", + "./test-kit": "./dist/test-kit/index.js", + "./package.json": "./package.json" }, "peerDependencies": { "react": ">=18.0.0", @@ -32,5 +27,6 @@ "homepage": "https://github.com/wixplosives/codux-core", "publishConfig": { "access": "public" - } + }, + "sideEffects": false } diff --git a/packages/app-core/src/define-app.tsx b/packages/app-core/src/define-app.tsx index 5b9c6451..d110f4b4 100644 --- a/packages/app-core/src/define-app.tsx +++ b/packages/app-core/src/define-app.tsx @@ -1,5 +1,5 @@ -import { reactErrorHandledRendering } from '@wixc3/react-board/dist/react-error-handled-render'; -import { IReactApp, OmitReactApp } from './define-app-types'; +import { reactErrorHandledRendering } from '@wixc3/react-board/react-error-handled-render'; +import { IReactApp, OmitReactApp } from './define-app-types.js'; export function defineApp( input: OmitReactApp>, diff --git a/packages/app-core/src/index.ts b/packages/app-core/src/index.ts index ac638df7..569146e9 100644 --- a/packages/app-core/src/index.ts +++ b/packages/app-core/src/index.ts @@ -1,2 +1,2 @@ -export * from './define-app'; -export * from './define-app-types'; +export * from './define-app.js'; +export * from './define-app-types.js'; diff --git a/packages/board-core/package.json b/packages/board-core/package.json index adf2fdca..72b0bc65 100644 --- a/packages/board-core/package.json +++ b/packages/board-core/package.json @@ -1,8 +1,12 @@ { "name": "@wixc3/board-core", - "description": "Types and helpers for component boards", "version": "4.6.2", - "main": "dist/index.js", + "type": "module", + "description": "Types and helpers for component boards", + "exports": { + ".": "./dist/index.js", + "./package.json": "./package.json" + }, "files": [ "dist", "!dist/test", @@ -14,5 +18,6 @@ "homepage": "https://github.com/wixplosives/codux-core", "publishConfig": { "access": "public" - } + }, + "sideEffects": false } diff --git a/packages/board-core/src/create-metadata.ts b/packages/board-core/src/create-metadata.ts index 9a85b32c..30387b56 100644 --- a/packages/board-core/src/create-metadata.ts +++ b/packages/board-core/src/create-metadata.ts @@ -1,4 +1,4 @@ -import type { HookMap, IGeneralMetadata } from './types'; +import type { HookMap, IGeneralMetadata } from './types.js'; export type OmitGeneralMetadata> = Omit; diff --git a/packages/board-core/src/create-renderable-base.ts b/packages/board-core/src/create-renderable-base.ts index 02853795..12db586d 100644 --- a/packages/board-core/src/create-renderable-base.ts +++ b/packages/board-core/src/create-renderable-base.ts @@ -1,7 +1,7 @@ -import type { IRenderableMetadataBase } from './types'; -import { createMetadata, OmitGeneralMetadata } from './create-metadata'; -import { setupBoardStage } from './setup-stage'; -import { callHooks } from './hooks'; +import type { IRenderableMetadataBase } from './types.js'; +import { createMetadata, OmitGeneralMetadata } from './create-metadata.js'; +import { setupBoardStage } from './setup-stage.js'; +import { callHooks } from './hooks.js'; export type OmitIRenderableMetadataBase = Omit< OmitGeneralMetadata, diff --git a/packages/board-core/src/hooks.ts b/packages/board-core/src/hooks.ts index 570c1092..9033f361 100644 --- a/packages/board-core/src/hooks.ts +++ b/packages/board-core/src/hooks.ts @@ -1,4 +1,4 @@ -import type { IGeneralMetadata, PluginInfo, Plugin, HookMap, HOOK } from './types'; +import type { IGeneralMetadata, PluginInfo, Plugin, HookMap, HOOK } from './types.js'; export type HookNames> = keyof NonNullable & string; diff --git a/packages/board-core/src/index.ts b/packages/board-core/src/index.ts index 62193a3b..8d849914 100644 --- a/packages/board-core/src/index.ts +++ b/packages/board-core/src/index.ts @@ -1,5 +1,5 @@ -export * from './create-metadata'; -export * from './create-renderable-base'; -export * from './setup-stage'; -export * from './hooks'; -export * from './types'; +export * from './create-metadata.js'; +export * from './create-renderable-base.js'; +export * from './setup-stage.js'; +export * from './hooks.js'; +export * from './types.js'; diff --git a/packages/board-core/src/setup-stage.tsx b/packages/board-core/src/setup-stage.tsx index 4546182e..8c0b2587 100644 --- a/packages/board-core/src/setup-stage.tsx +++ b/packages/board-core/src/setup-stage.tsx @@ -1,5 +1,5 @@ -import { callHooks } from './hooks'; -import type { BoardSetupStageFunction, IWindowEnvironmentProps } from './types'; +import { callHooks } from './hooks.js'; +import type { BoardSetupStageFunction, IWindowEnvironmentProps } from './types.js'; export const defaultWindowStyles = { width: 1024, diff --git a/packages/board-plugins/README.md b/packages/board-plugins/README.md index 1bec0976..8acd222f 100644 --- a/packages/board-plugins/README.md +++ b/packages/board-plugins/README.md @@ -12,7 +12,7 @@ For instance, `cssVarsPlugin` is only applicable to `IRenderable` and uses the ` ```tsx import { createBoard } from '@wixc3/react-board'; import { tagsPlugin, cssVarsPlugin } from '@wixc3/board-plugins'; -import { AutoComplete } from './auto-complete'; +import { AutoComplete } from './auto-complete.js'; createBoard({ name: 'some board', diff --git a/packages/board-plugins/package.json b/packages/board-plugins/package.json index d35b5ddd..aa15babb 100644 --- a/packages/board-plugins/package.json +++ b/packages/board-plugins/package.json @@ -1,8 +1,12 @@ { "name": "@wixc3/board-plugins", - "description": "Plugins for boards", "version": "4.6.2", - "main": "dist/index.js", + "type": "module", + "description": "Plugins for boards", + "exports": { + ".": "./dist/index.js", + "./package.json": "./package.json" + }, "files": [ "dist", "!dist/test", @@ -17,5 +21,6 @@ "homepage": "https://github.com/wixplosives/codux-core", "publishConfig": { "access": "public" - } + }, + "sideEffects": false } diff --git a/packages/board-plugins/src/index.ts b/packages/board-plugins/src/index.ts index 1d2463e9..6ca3e99f 100644 --- a/packages/board-plugins/src/index.ts +++ b/packages/board-plugins/src/index.ts @@ -1,2 +1,2 @@ -export * from './css-vars-plugin'; -export * from './react-context-plugin'; +export * from './css-vars-plugin.js'; +export * from './react-context-plugin.js'; diff --git a/packages/board-plugins/test/css-vars-plugin.spec.ts b/packages/board-plugins/test/css-vars-plugin.spec.ts index e9c9f5a2..78fd1b11 100644 --- a/packages/board-plugins/test/css-vars-plugin.spec.ts +++ b/packages/board-plugins/test/css-vars-plugin.spec.ts @@ -1,5 +1,5 @@ import { expect } from 'chai'; -import board from './fixtures/css-vars-user.board'; +import board from './fixtures/css-vars-user.board.js'; describe('css var plugin', () => { const cleanupAfterTest = new Set<() => unknown>(); diff --git a/packages/board-plugins/test/fixtures/context-user.board.tsx b/packages/board-plugins/test/fixtures/context-user.board.tsx index 2c63b1bb..f750d121 100644 --- a/packages/board-plugins/test/fixtures/context-user.board.tsx +++ b/packages/board-plugins/test/fixtures/context-user.board.tsx @@ -1,6 +1,6 @@ import { reactContextPlugin } from '@wixc3/board-plugins'; import { createBoard } from '@wixc3/react-board'; -import { ContextUser, textContext } from './context-user'; +import { ContextUser, textContext } from './context-user.js'; export default createBoard({ name: 'Context user', diff --git a/packages/board-plugins/test/fixtures/css-vars-user.board.tsx b/packages/board-plugins/test/fixtures/css-vars-user.board.tsx index b7864d48..0cea1d22 100644 --- a/packages/board-plugins/test/fixtures/css-vars-user.board.tsx +++ b/packages/board-plugins/test/fixtures/css-vars-user.board.tsx @@ -1,6 +1,6 @@ import { cssVarsPlugin } from '@wixc3/board-plugins'; import { createBoard } from '@wixc3/react-board'; -import { CSSVarsUser } from './css-vars-user'; +import { CSSVarsUser } from './css-vars-user.js'; export default createBoard({ name: 'Checkbox', diff --git a/packages/board-plugins/test/react-context-plugin.spec.ts b/packages/board-plugins/test/react-context-plugin.spec.ts index 4ec118ab..cda9860f 100644 --- a/packages/board-plugins/test/react-context-plugin.spec.ts +++ b/packages/board-plugins/test/react-context-plugin.spec.ts @@ -1,6 +1,6 @@ import { expect } from 'chai'; import { createDisposables } from '@wixc3/create-disposables'; -import board from './fixtures/context-user.board'; +import board from './fixtures/context-user.board.js'; describe('react context plugin', () => { const disposables = createDisposables(); diff --git a/packages/codux-ui/package.json b/packages/codux-ui/package.json index 9518865c..09e16e0e 100644 --- a/packages/codux-ui/package.json +++ b/packages/codux-ui/package.json @@ -1,8 +1,8 @@ { "name": "@wixc3/codux-ui", - "description": "Common ui components which integrate with codux", "version": "4.6.2", "type": "module", + "description": "Common ui components which integrate with codux", "exports": { "./image": { "types": "./dist/image/index.d.ts", diff --git a/packages/define-remix-app/package.json b/packages/define-remix-app/package.json index 27ef473d..83ba4e49 100644 --- a/packages/define-remix-app/package.json +++ b/packages/define-remix-app/package.json @@ -1,8 +1,12 @@ { "name": "@wixc3/define-remix-app", - "description": "Remix App definition for Codux", "version": "4.6.2", - "main": "dist/index.js", + "type": "module", + "description": "Remix App definition for Codux", + "exports": { + ".": "./dist/index.js", + "./package.json": "./package.json" + }, "peerDependencies": { "react": "^18.0.0", "react-dom": "^18.0.0" @@ -25,5 +29,6 @@ "homepage": "https://github.com/wixplosives/codux-core", "publishConfig": { "access": "public" - } + }, + "sideEffects": false } diff --git a/packages/define-remix-app/src/defer.ts b/packages/define-remix-app/src/defer.ts index 0ca19fc4..b36111fd 100644 --- a/packages/define-remix-app/src/defer.ts +++ b/packages/define-remix-app/src/defer.ts @@ -1,6 +1,6 @@ import { isDeferredData } from '@remix-run/router'; import { json } from '@remix-run/node'; -import { CoduxDeferredHeaderKey, serializeResponse } from './remix-app-utils'; +import { CoduxDeferredHeaderKey, serializeResponse } from './remix-app-utils.js'; type JSONValue = string | number | boolean | null | JSONValue[] | { [key: string]: JSONValue }; diff --git a/packages/define-remix-app/src/define-remix-app.tsx b/packages/define-remix-app/src/define-remix-app.tsx index e37f9ad8..d788ee31 100644 --- a/packages/define-remix-app/src/define-remix-app.tsx +++ b/packages/define-remix-app/src/define-remix-app.tsx @@ -29,12 +29,12 @@ import { routePathId, serializeResponse, toCamelCase, -} from './remix-app-utils'; -import { clearLoadedModules, manifestToRouter } from './manifest-to-router'; -import { parentLayoutWarning } from './content'; -import { pageTemplate } from './page-template'; -import { Navigation } from './navigation'; -import { tryToSerializeDeferredData } from './defer'; +} from './remix-app-utils.js'; +import { clearLoadedModules, manifestToRouter } from './manifest-to-router.js'; +import { parentLayoutWarning } from './content.js'; +import { pageTemplate } from './page-template.js'; +import { Navigation } from './navigation.js'; +import { tryToSerializeDeferredData } from './defer.js'; export interface IDefineRemixAppProps { appPath: string; bookmarks?: string[]; diff --git a/packages/define-remix-app/src/index.ts b/packages/define-remix-app/src/index.ts index adc10250..0de42152 100644 --- a/packages/define-remix-app/src/index.ts +++ b/packages/define-remix-app/src/index.ts @@ -1,5 +1,5 @@ -export * from './define-remix-app'; -import defineRemixApp from './define-remix-app'; +export * from './define-remix-app.js'; +import defineRemixApp from './define-remix-app.js'; export default defineRemixApp; -export * from './content'; -export { pageTemplate } from './page-template'; +export * from './content.js'; +export { pageTemplate } from './page-template.js'; diff --git a/packages/define-remix-app/src/manifest-to-router.tsx b/packages/define-remix-app/src/manifest-to-router.tsx index 73caf36c..63657779 100644 --- a/packages/define-remix-app/src/manifest-to-router.tsx +++ b/packages/define-remix-app/src/manifest-to-router.tsx @@ -5,16 +5,16 @@ import { RouteModuleInfo, SerializedResponse, serializeRequest, -} from './remix-app-utils'; +} from './remix-app-utils.js'; import { createRemixStub } from '@remix-run/testing'; import { lazy, Suspense, useCallback, useEffect, useState } from 'react'; import type { ActionFunctionArgs, LinksFunction, LoaderFunction } from '@remix-run/node'; import React from 'react'; import { ClientActionFunction, ClientLoaderFunction, useLocation, useNavigate, useRevalidator } from '@remix-run/react'; -import { createHandleProxy } from './handle-proxy'; -import { createLinksProxy } from './links-proxy'; -import { Navigation } from './navigation'; -import { deserializeDeferredResult, isDeferredResult } from './defer'; +import { createHandleProxy } from './handle-proxy.js'; +import { createLinksProxy } from './links-proxy.js'; +import { Navigation } from './navigation.js'; +import { deserializeDeferredResult, isDeferredResult } from './defer.js'; type RouteObject = Parameters[0][0]; diff --git a/packages/define-remix-app/test/define-remix.spec.ts b/packages/define-remix-app/test/define-remix.spec.ts index cfb29161..f8a1ab40 100644 --- a/packages/define-remix-app/test/define-remix.spec.ts +++ b/packages/define-remix-app/test/define-remix.spec.ts @@ -1,38 +1,40 @@ -import defineRemixApp, { INVALID_MSGS, parentLayoutWarning, pageTemplate } from '@wixc3/define-remix-app'; +import * as chai from 'chai'; +import { expect } from 'chai'; + +import { IDirectoryContents } from '@file-services/types'; +import * as remixRunNode from '@remix-run/node'; +import * as remixRunReact from '@remix-run/react'; +import * as remixRunServerRuntime from '@remix-run/server-runtime'; +import { IAppManifest, RouteInfo, RoutingPattern } from '@wixc3/app-core'; import { AppDefDriver } from '@wixc3/app-core/test-kit'; +import defineRemixApp, { INVALID_MSGS, pageTemplate, parentLayoutWarning } from '@wixc3/define-remix-app'; +import { waitFor } from 'promise-assist'; +import * as React from 'react'; +import { ParentLayoutWithExtra, RouteExtraInfo, RouteModuleInfo } from '../src/remix-app-utils.js'; import { + actionPage, + clientActionPage, + clientLoaderWithFallbackPage, + coduxActionPage, + deferedActionPage, + layoutWithErrorBoundary, loaderOnly, - simpleLayout, - simpleRoot, rootWithLayout, - rootWithLayoutAndErrorBoundary, - layoutWithErrorBoundary, rootWithLayout2, - actionPage, - deferedActionPage, - clientLoaderWithFallbackPage, - clientActionPage, + rootWithLayoutAndErrorBoundary, + simpleLayout, + simpleRoot, userApiConsumer, userApiPage, - coduxActionPage, -} from './test-cases/roots'; +} from './test-cases/roots.js'; import { - pageSource, - rootSource as originRootSource, - expectRoute, expectLoaderData, expectRootLayout, + expectRoute, + rootSource as originRootSource, + pageSource, preserveStringAsCode, -} from './test-cases/route-builder'; -import chai, { expect } from 'chai'; -import { IAppManifest, RouteInfo, RoutingPattern } from '@wixc3/app-core'; -import { ParentLayoutWithExtra, RouteExtraInfo, RouteModuleInfo } from '../src/remix-app-utils'; -import { waitFor } from 'promise-assist'; -import { IDirectoryContents } from '@file-services/types'; -import * as React from 'react'; -import * as remixRunReact from '@remix-run/react'; -import * as remixRunNode from '@remix-run/node'; -import * as remixRunServerRuntime from '@remix-run/server-runtime'; +} from './test-cases/route-builder.js'; import { chaiRetryPlugin } from '@wixc3/testing'; chai.use(chaiRetryPlugin); diff --git a/packages/react-board/README.md b/packages/react-board/README.md index cc314cef..d837a45b 100644 --- a/packages/react-board/README.md +++ b/packages/react-board/README.md @@ -25,7 +25,7 @@ This library can be used to create boards for `Hello`: // hello.board.tsx import { createBoard } from '@wixc3/react-board'; -import { Hello } from './hello'; +import { Hello } from './hello.js'; createBoard({ name: 'basic board', @@ -42,7 +42,7 @@ This is useful when the board is wrapped in a router or a context provider that // hello.board.tsx import { createBoard, ContentSlot } from '@wixc3/react-board'; -import { Hello } from './hello'; +import { Hello } from './hello.js'; createBoard({ name: 'hello board', diff --git a/packages/react-board/package.json b/packages/react-board/package.json index 3996897c..14bd4e0b 100644 --- a/packages/react-board/package.json +++ b/packages/react-board/package.json @@ -1,8 +1,13 @@ { "name": "@wixc3/react-board", - "description": "Library for creation of React component boards", "version": "4.6.2", - "main": "dist/index.js", + "type": "module", + "description": "Library for creation of React component boards", + "exports": { + ".": "./dist/index.js", + "./react-error-handled-render": "./dist/react-error-handled-render.js", + "./package.json": "./package.json" + }, "peerDependencies": { "react": ">=18.0.0", "react-dom": ">=18.0.0" @@ -22,5 +27,6 @@ "homepage": "https://github.com/wixplosives/codux-core", "publishConfig": { "access": "public" - } + }, + "sideEffects": false } diff --git a/packages/react-board/src/create-board.tsx b/packages/react-board/src/create-board.tsx index 7f626205..f58f34e4 100644 --- a/packages/react-board/src/create-board.tsx +++ b/packages/react-board/src/create-board.tsx @@ -1,6 +1,6 @@ import { baseRender, createRenderableBase, getPluginsWithHooks } from '@wixc3/board-core'; -import { reactErrorHandledRendering } from './react-error-handled-render'; -import type { IReactBoard, OmitReactBoard } from './types'; +import { reactErrorHandledRendering } from './react-error-handled-render.js'; +import type { IReactBoard, OmitReactBoard } from './types.js'; export function createBoard(input: OmitReactBoard): IReactBoard { const res: IReactBoard = createRenderableBase({ diff --git a/packages/react-board/src/index.ts b/packages/react-board/src/index.ts index 008ba56f..9efeeb45 100644 --- a/packages/react-board/src/index.ts +++ b/packages/react-board/src/index.ts @@ -1,4 +1,4 @@ -export * from './create-board'; -export * from './types'; -export * from './content-slot'; -export * from './variant'; +export * from './create-board.js'; +export * from './types.js'; +export * from './content-slot.js'; +export * from './variant.js'; diff --git a/packages/react-board/test/create-board.spec.tsx b/packages/react-board/test/create-board.spec.tsx index 9e961731..ecd2ec30 100644 --- a/packages/react-board/test/create-board.spec.tsx +++ b/packages/react-board/test/create-board.spec.tsx @@ -1,11 +1,13 @@ -import React from 'react'; -import { createBoard } from '@wixc3/react-board'; +import * as chai from 'chai'; +import { expect } from 'chai'; +import chaiAsPromised from 'chai-as-promised'; + import { createMetadata } from '@wixc3/board-core'; import { cssVarsPlugin } from '@wixc3/board-plugins'; import { createDisposables } from '@wixc3/create-disposables'; -import board from './fixtures/simple.board'; -import chaiAsPromised from 'chai-as-promised'; -import chai, { expect } from 'chai'; +import { createBoard } from '@wixc3/react-board'; +import React from 'react'; +import board from './fixtures/simple.board.js'; chai.use(chaiAsPromised); diff --git a/packages/react-board/test/error-handling.spec.ts b/packages/react-board/test/error-handling.spec.ts index 833802c1..e9113e02 100644 --- a/packages/react-board/test/error-handling.spec.ts +++ b/packages/react-board/test/error-handling.spec.ts @@ -1,8 +1,10 @@ -import { createDisposables } from '@wixc3/create-disposables'; -import throwingOnMountBoard from './fixtures/throwing.board'; -import throwingOnRerenderBoard from './fixtures/throwing-on-click.board'; +import * as chai from 'chai'; +import { expect } from 'chai'; import chaiAsPromised from 'chai-as-promised'; -import chai, { expect } from 'chai'; + +import { createDisposables } from '@wixc3/create-disposables'; +import throwingOnRerenderBoard from './fixtures/throwing-on-click.board.js'; +import throwingOnMountBoard from './fixtures/throwing.board.js'; chai.use(chaiAsPromised); diff --git a/packages/react-board/test/fixtures/checkbox.board.tsx b/packages/react-board/test/fixtures/checkbox.board.tsx index cf88cbb7..c467adc4 100644 --- a/packages/react-board/test/fixtures/checkbox.board.tsx +++ b/packages/react-board/test/fixtures/checkbox.board.tsx @@ -1,6 +1,6 @@ import { createBoard } from '@wixc3/react-board'; import { useState } from 'react'; -import { Checkbox } from './checkbox'; +import { Checkbox } from './checkbox.js'; export default createBoard({ name: 'checkbox', diff --git a/packages/react-board/test/fixtures/playground.ts b/packages/react-board/test/fixtures/playground.ts index 8beac832..3d75302b 100644 --- a/packages/react-board/test/fixtures/playground.ts +++ b/packages/react-board/test/fixtures/playground.ts @@ -1,5 +1,5 @@ import type { IRenderableMetadataBase } from '@wixc3/board-core'; -import CheckBoxBoard from './checkbox.board'; +import CheckBoxBoard from './checkbox.board.js'; const examples = [CheckBoxBoard]; diff --git a/pleb.config.mjs b/pleb.config.mjs index 81bf9aef..72b081cc 100644 --- a/pleb.config.mjs +++ b/pleb.config.mjs @@ -4,11 +4,5 @@ export default { { name: 'react-dom', reason: `remix isn't compatible with react@19 yet` }, { name: '@types/react', reason: `remix isn't compatible with react@19 yet` }, { name: '@types/react-dom', reason: `remix isn't compatible with react@19 yet` }, - { name: 'typescript', reason: 'remix breaks with typescript@5.7 (reported upstream)' }, - - { name: 'chai', reason: 'esm-only' }, - { name: '@types/chai', reason: 'esm-only' }, - { name: 'chai-as-promised', reason: 'esm-only' }, - { name: '@types/chai-as-promised', reason: 'esm-only' }, ], };