diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 53c9300..c4d3638 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -11,31 +11,35 @@ version: 2 registries: - registry-npmjs-org: - type: npm-registry - url: https://registry.npmjs.org - token: ${{secrets.USER_NPM_TOKEN}} + registry-npmjs-org: + type: npm-registry + url: https://registry.npmjs.org + token: ${{secrets.USER_NPM_TOKEN}} updates: - - package-ecosystem: npm - directory: / - registries: - - registry-npmjs-org - labels: - - suggestion - - robotic - schedule: - interval: daily - open-pull-requests-limit: 5 + - package-ecosystem: npm + directory: / + registries: + - registry-npmjs-org + labels: + - suggestion + - robotic + schedule: + interval: weekly + open-pull-requests-limit: 5 + allow: + - dependency-type: production - - package-ecosystem: github-actions - directory: / - labels: - - suggestion - - robotic - schedule: - interval: daily - open-pull-requests-limit: 5 + - package-ecosystem: github-actions + directory: / + labels: + - suggestion + - robotic + schedule: + interval: weekly + open-pull-requests-limit: 5 + allow: + - dependency-type: all # ## # Customizations diff --git a/dev/.files/typescript/config.json b/dev/.files/typescript/config.json index 05aba9a..8615f67 100644 --- a/dev/.files/typescript/config.json +++ b/dev/.files/typescript/config.json @@ -40,9 +40,11 @@ "forceConsistentCasingInFileNames": true, "paths": { - // Note: Use just a single array item for Vite/Jest compatibility. "react": ["../node_modules/preact/compat"], - "react-dom": ["../node_modules/preact/compat"] + "react/jsx-runtime": ["../node_modules/preact/jsx-runtime"], + + "react-dom": ["../node_modules/preact/compat"], + "react-dom/test-utils": ["../node_modules/preact/test-utils"] }, "declaration": true, "declarationMap": false, diff --git a/dev/.files/typescript/includes/import-aliases.mjs b/dev/.files/typescript/includes/import-aliases.mjs index 7437102..c41725f 100644 --- a/dev/.files/typescript/includes/import-aliases.mjs +++ b/dev/.files/typescript/includes/import-aliases.mjs @@ -27,5 +27,8 @@ const projDir = path.resolve(__dirname, '../../../..'); */ export default { '^react$': path.resolve(projDir, './node_modules/preact/compat'), + '^react/jsx-runtime$': path.resolve(projDir, './node_modules/preact/jsx-runtime'), + '^react-dom$': path.resolve(projDir, './node_modules/preact/compat'), + '^react-dom/test-utils$': path.resolve(projDir, './node_modules/preact/test-utils'), }; diff --git a/dev/.files/vite/config.mjs b/dev/.files/vite/config.mjs index 832140d..ccb9e4f 100644 --- a/dev/.files/vite/config.mjs +++ b/dev/.files/vite/config.mjs @@ -539,8 +539,13 @@ export default async ({ mode, command, ssrBuild: isSSRBuild }) => { // See: for `environment`, `environmentMatchGlobs` precedence. environmentMatchGlobs: [ ['**/*.{cfp,web,webw}.{test,tests,spec,specs}.{' + vitestExtensions.map((e) => e.slice(1)).join(',') + '}', 'jsdom'], + ['**/{test,tests,spec,specs,__test__,__tests__,__spec__,__specs__}/**/*.{cfp,web,webw}.{' + vitestExtensions.map((e) => e.slice(1)).join(',') + '}', 'jsdom'], + ['**/*.cfw.{test,tests,spec,specs}.{' + vitestExtensions.map((e) => e.slice(1)).join(',') + '}', 'miniflare'], + ['**/{test,tests,spec,specs,__test__,__tests__,__spec__,__specs__}/**/*.cfw.{' + vitestExtensions.map((e) => e.slice(1)).join(',') + '}', 'miniflare'], + ['**/*.{node,any}.{test,tests,spec,specs}.{' + vitestExtensions.map((e) => e.slice(1)).join(',') + '}', 'node'], + ['**/{test,tests,spec,specs,__test__,__tests__,__spec__,__specs__}/**/*.{node,any}.{' + vitestExtensions.map((e) => e.slice(1)).join(',') + '}', 'node'], ], server: { deps: { external: ['**/dist/**', '**/node_modules/**'].concat(rollupConfig.external) } }, cache: { dir: path.resolve(projDir, './node_modules/.vitest') }, diff --git a/package-lock.json b/package-lock.json index da2cfa7..4a06395 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@clevercanyon/utilities.cfw", - "version": "1.0.84", + "version": "1.0.85", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@clevercanyon/utilities.cfw", - "version": "1.0.84", + "version": "1.0.85", "cpu": [ "x64", "arm64" @@ -17,7 +17,7 @@ "linux" ], "devDependencies": { - "@clevercanyon/dev-deps": "^1.0.179" + "@clevercanyon/dev-deps": "^1.0.180" }, "engines": { "node": "^19.1.0 || ^20.5.1", @@ -27,7 +27,7 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/utilities": "^1.0.208", + "@clevercanyon/utilities": "^1.0.210", "@cloudflare/kv-asset-handler": "^0.2.0" } }, @@ -66,12 +66,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.10", + "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" }, "engines": { @@ -383,9 +383,9 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.5", @@ -468,9 +468,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz", - "integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.13.tgz", + "integrity": "sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -733,9 +733,9 @@ "dev": true }, "node_modules/@clevercanyon/dev-deps": { - "version": "1.0.179", - "resolved": "https://registry.npmjs.org/@clevercanyon/dev-deps/-/dev-deps-1.0.179.tgz", - "integrity": "sha512-nHW2h5fi/96KY5P3xz0BDV/XNr2o3VPehAXiIS5MB/MNtpaDwbsYrI36zjkhR4baFFa7QjM7QuZ8GWbmkn5gfg==", + "version": "1.0.180", + "resolved": "https://registry.npmjs.org/@clevercanyon/dev-deps/-/dev-deps-1.0.180.tgz", + "integrity": "sha512-ipKyCj/Fxi3e6kp/fdhnQDQsF4Dj/lu5t+c8y+R7104qUmBl6zujuv0BR6/i6IfRCPEMpXnqiIN8Xko4KdawQw==", "cpu": [ "x64", "arm64" @@ -746,10 +746,10 @@ "linux" ], "dependencies": { - "@clevercanyon/madrun": "^1.0.83", - "@clevercanyon/utilities": "^1.0.204", - "@clevercanyon/utilities.cfp": "^1.0.72", - "@clevercanyon/utilities.node": "^1.0.85", + "@clevercanyon/madrun": "^1.0.84", + "@clevercanyon/utilities": "^1.0.208", + "@clevercanyon/utilities.cfp": "^1.0.74", + "@clevercanyon/utilities.node": "^1.0.86", "@cloudflare/workers-types": "^4.20230821.0", "@octokit/core": "^4.2.4", "@octokit/plugin-paginate-rest": "^5.0.1", @@ -762,9 +762,9 @@ "@types/libsodium-wrappers": "^0.7.10", "@types/luxon": "^3.3.1", "@types/micromatch": "^4.0.2", - "@types/node": "^18.17.11", + "@types/node": "^18.17.12", "@types/prettier": "^2.7.3", - "@types/semver": "^7.5.0", + "@types/semver": "^7.5.1", "@types/yargs": "^17.0.24", "@types/yargs-parser": "^21.0.0", "@typescript-eslint/eslint-plugin": "^5.62.0", @@ -797,6 +797,8 @@ "prettier-plugin-properties": "^0.2.0", "prettier-plugin-sh": "^0.12.8", "prettier-plugin-sql": "^0.12.1", + "react": "npm:@preact/compat@^17.1.2", + "react-dom": "npm:@preact/compat@^17.1.2", "sass": "^1.66.1", "shellcheck": "^1.1.0", "stylelint": "^14.16.1", @@ -850,9 +852,9 @@ } }, "node_modules/@clevercanyon/preact-iso.fork": { - "version": "2.3.33", - "resolved": "https://registry.npmjs.org/@clevercanyon/preact-iso.fork/-/preact-iso.fork-2.3.33.tgz", - "integrity": "sha512-OUaw8fgxu8dLULy5626+Of8rP/U4qJji7BtQKL5SJtMmf/LKNTqMicWrVXP8ij97HKVGqfBNyIIj/EmFiUUfZw==", + "version": "2.3.40", + "resolved": "https://registry.npmjs.org/@clevercanyon/preact-iso.fork/-/preact-iso.fork-2.3.40.tgz", + "integrity": "sha512-8fP2DM98AHbiWlB64EL2Y86baYW7Z2dYfKRkKj2ewGBiX5kEOelXlxle2Pswo/m455QpHIRCIm2ooPRVk8UcxA==", "cpu": [ "x64", "arm64" @@ -897,9 +899,9 @@ } }, "node_modules/@clevercanyon/utilities": { - "version": "1.0.208", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities/-/utilities-1.0.208.tgz", - "integrity": "sha512-xihXMI+pcyVIMx3Iv0+38e1mv62H9fTLiqi4kcSv0M0iRHTsR7n2MBCS+O41kvmjRO9vTgj5cLeeAdB4aWW2/w==", + "version": "1.0.210", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities/-/utilities-1.0.210.tgz", + "integrity": "sha512-hRZRpdR4H8MFPV0cVJ1hL7qP2d3vaZbrIxvkzFNw0HZ/YJ6Gtl0QSTbWKhXcbENV/YCP3QQH4ppNn5K4LyK3VA==", "cpu": [ "x64", "arm64" @@ -916,9 +918,7 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/preact-iso.fork": "^2.3.33", - "@headlessui/react": "^1.7.17", - "@heroicons/react": "^2.0.18", + "@clevercanyon/preact-iso.fork": "^2.3.40", "fast-equals": "^4.0.3", "ignore": "^5.2.4", "luxon": "^3.4.2", @@ -926,13 +926,15 @@ "moize": "^6.1.6", "preact": "^10.17.1", "preact-render-to-string": "^6.2.1", + "react": "npm:@preact/compat@^17.1.2", + "react-dom": "npm:@preact/compat@^17.1.2", "semver": "^7.5.4" } }, "node_modules/@clevercanyon/utilities.cfp": { - "version": "1.0.73", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.cfp/-/utilities.cfp-1.0.73.tgz", - "integrity": "sha512-tneIT+Sf0bm2tB7nncNqZKxKWKtapdu8jnW9BbLkaDkMMNcck0rDOOeiUSWa0vgYNv2NHhUVn+HnZy4QsMZvZQ==", + "version": "1.0.74", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.cfp/-/utilities.cfp-1.0.74.tgz", + "integrity": "sha512-mh39bk939R64lIdxkhpZ48EUdhqVnk6KJy3VxB6CXjHESKacruZGQpyW5hnDMN4oc1vLSWyHnlwYo5Q2LGjCmg==", "cpu": [ "x64", "arm64" @@ -950,15 +952,15 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/utilities": "^1.0.205", - "@clevercanyon/utilities.cfw": "^1.0.84", + "@clevercanyon/utilities": "^1.0.208", + "@clevercanyon/utilities.cfw": "^1.0.85", "@clevercanyon/utilities.web": "^1.0.60" } }, "node_modules/@clevercanyon/utilities.cfw": { - "version": "1.0.84", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.cfw/-/utilities.cfw-1.0.84.tgz", - "integrity": "sha512-VzFsDPBv55huzHJNG+sQGulS4R9UPhHpYdBrjuxwW5EExXtBlnRAVJZOya47Pe6SN7iQKC+nPksy1MPmv80ZxA==", + "version": "1.0.85", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.cfw/-/utilities.cfw-1.0.85.tgz", + "integrity": "sha512-FwDoH9MN4P+pbXZkmoEByIWOeXR5qzI1ToB1XnTSFECVXhHFKoitq7OTNo+u7pgrO4qwssRYiOYc1TXAQ/Va2A==", "cpu": [ "x64", "arm64" @@ -977,7 +979,7 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/utilities": "^1.0.205", + "@clevercanyon/utilities": "^1.0.208", "@cloudflare/kv-asset-handler": "^0.2.0" } }, @@ -1901,31 +1903,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@headlessui/react": { - "version": "1.7.17", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.17.tgz", - "integrity": "sha512-4am+tzvkqDSSgiwrsEpGWqgGo9dz8qU5M3znCkC4PgkpY4HcCZzEDEvozltGGGHIKl9jbXbZPSH5TWn4sWJdow==", - "peer": true, - "dependencies": { - "client-only": "^0.0.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": "^16 || ^17 || ^18", - "react-dom": "^16 || ^17 || ^18" - } - }, - "node_modules/@heroicons/react": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz", - "integrity": "sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==", - "peer": true, - "peerDependencies": { - "react": ">= 16" - } - }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", @@ -3126,9 +3103,9 @@ } }, "node_modules/@oclif/plugin-help/node_modules/@oclif/core": { - "version": "2.11.10", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.11.10.tgz", - "integrity": "sha512-/7Umij3OU++6o+z4U+waJ5nP6IvK9KKEVzz+xsla68YoECLQwz43boUKqYizlNMtTfiwNkiYb5QE+OU/q5qEtA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.12.0.tgz", + "integrity": "sha512-RSfEQzYAmex/dVW/3afIMsaB2n5kG26tniAla+HSAQS7MHqM7LpCrDz5FG9VX5ygSPmQcknWPRmD96N5kyUt1g==", "dev": true, "dependencies": { "@types/cli-progress": "^3.11.0", @@ -3287,9 +3264,9 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@oclif/core": { - "version": "2.11.10", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.11.10.tgz", - "integrity": "sha512-/7Umij3OU++6o+z4U+waJ5nP6IvK9KKEVzz+xsla68YoECLQwz43boUKqYizlNMtTfiwNkiYb5QE+OU/q5qEtA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.12.0.tgz", + "integrity": "sha512-RSfEQzYAmex/dVW/3afIMsaB2n5kG26tniAla+HSAQS7MHqM7LpCrDz5FG9VX5ygSPmQcknWPRmD96N5kyUt1g==", "dev": true, "dependencies": { "@types/cli-progress": "^3.11.0", @@ -3457,9 +3434,9 @@ } }, "node_modules/@oclif/plugin-update/node_modules/@oclif/core": { - "version": "2.11.10", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.11.10.tgz", - "integrity": "sha512-/7Umij3OU++6o+z4U+waJ5nP6IvK9KKEVzz+xsla68YoECLQwz43boUKqYizlNMtTfiwNkiYb5QE+OU/q5qEtA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.12.0.tgz", + "integrity": "sha512-RSfEQzYAmex/dVW/3afIMsaB2n5kG26tniAla+HSAQS7MHqM7LpCrDz5FG9VX5ygSPmQcknWPRmD96N5kyUt1g==", "dev": true, "dependencies": { "@types/cli-progress": "^3.11.0", @@ -3622,9 +3599,9 @@ } }, "node_modules/@oclif/plugin-warn-if-update-available/node_modules/@oclif/core": { - "version": "2.11.10", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.11.10.tgz", - "integrity": "sha512-/7Umij3OU++6o+z4U+waJ5nP6IvK9KKEVzz+xsla68YoECLQwz43boUKqYizlNMtTfiwNkiYb5QE+OU/q5qEtA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.12.0.tgz", + "integrity": "sha512-RSfEQzYAmex/dVW/3afIMsaB2n5kG26tniAla+HSAQS7MHqM7LpCrDz5FG9VX5ygSPmQcknWPRmD96N5kyUt1g==", "dev": true, "dependencies": { "@types/cli-progress": "^3.11.0", @@ -4326,9 +4303,9 @@ } }, "node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==", "dev": true }, "node_modules/@types/stack-utils": { @@ -6209,12 +6186,6 @@ "node": ">= 10" } }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", - "peer": true - }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -7404,9 +7375,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.503", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.503.tgz", - "integrity": "sha512-LF2IQit4B0VrUHFeQkWhZm97KuJSGF2WJqq1InpY+ECpFRkXd8yTIaTtJxsO0OKDmiBYwWqcrNaXOurn2T2wiA==", + "version": "1.4.504", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.504.tgz", + "integrity": "sha512-cSMwIAd8yUh54VwitVRVvHK66QqHWE39C3DRj8SWiXitEpVSY3wNPD9y1pxQtLIi4w3UdzF9klLsmuPshz09DQ==", "dev": true }, "node_modules/emittery": { @@ -8671,15 +8642,15 @@ "dev": true }, "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "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==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -11477,7 +11448,8 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "3.14.1", @@ -11937,18 +11909,6 @@ "node": ">=8" } }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "peer": true, - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, "node_modules/loupe": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", @@ -13503,28 +13463,28 @@ } }, "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -13534,26 +13494,26 @@ } }, "node_modules/object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", + "es-abstract": "^1.22.1", "get-intrinsic": "^1.2.1" } }, "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -14469,9 +14429,9 @@ } }, "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", "dev": true, "engines": { "node": ">= 14" @@ -15492,28 +15452,21 @@ } }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" + "name": "@preact/compat", + "version": "17.1.2", + "resolved": "https://registry.npmjs.org/@preact/compat/-/compat-17.1.2.tgz", + "integrity": "sha512-7pOZN9lMDDRQ+6aWvjwTp483KR8/zOpfS83wmOo3zfuLKdngS8/5RLbsFWzFZMGdYlotAhX980hJ75bjOHTwWg==", + "peerDependencies": { + "preact": "*" } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, + "name": "@preact/compat", + "version": "17.1.2", + "resolved": "https://registry.npmjs.org/@preact/compat/-/compat-17.1.2.tgz", + "integrity": "sha512-7pOZN9lMDDRQ+6aWvjwTp483KR8/zOpfS83wmOo3zfuLKdngS8/5RLbsFWzFZMGdYlotAhX980hJ75bjOHTwWg==", "peerDependencies": { - "react": "^18.2.0" + "preact": "*" } }, "node_modules/react-is": { @@ -16237,15 +16190,6 @@ "node": ">=v12.22.7" } }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0" - } - }, "node_modules/selfsigned": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", @@ -19354,12 +19298,12 @@ } }, "@babel/code-frame": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", - "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "requires": { - "@babel/highlight": "^7.22.10", + "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" }, "dependencies": { @@ -19598,9 +19542,9 @@ } }, "@babel/highlight": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", - "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.22.5", @@ -19667,9 +19611,9 @@ } }, "@babel/parser": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz", - "integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.13.tgz", + "integrity": "sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==", "dev": true }, "@babel/plugin-syntax-async-generators": { @@ -19862,15 +19806,15 @@ "dev": true }, "@clevercanyon/dev-deps": { - "version": "1.0.179", - "resolved": "https://registry.npmjs.org/@clevercanyon/dev-deps/-/dev-deps-1.0.179.tgz", - "integrity": "sha512-nHW2h5fi/96KY5P3xz0BDV/XNr2o3VPehAXiIS5MB/MNtpaDwbsYrI36zjkhR4baFFa7QjM7QuZ8GWbmkn5gfg==", + "version": "1.0.180", + "resolved": "https://registry.npmjs.org/@clevercanyon/dev-deps/-/dev-deps-1.0.180.tgz", + "integrity": "sha512-ipKyCj/Fxi3e6kp/fdhnQDQsF4Dj/lu5t+c8y+R7104qUmBl6zujuv0BR6/i6IfRCPEMpXnqiIN8Xko4KdawQw==", "dev": true, "requires": { - "@clevercanyon/madrun": "^1.0.83", - "@clevercanyon/utilities": "^1.0.204", - "@clevercanyon/utilities.cfp": "^1.0.72", - "@clevercanyon/utilities.node": "^1.0.85", + "@clevercanyon/madrun": "^1.0.84", + "@clevercanyon/utilities": "^1.0.208", + "@clevercanyon/utilities.cfp": "^1.0.74", + "@clevercanyon/utilities.node": "^1.0.86", "@cloudflare/workers-types": "^4.20230821.0", "@octokit/core": "^4.2.4", "@octokit/plugin-paginate-rest": "^5.0.1", @@ -19883,9 +19827,9 @@ "@types/libsodium-wrappers": "^0.7.10", "@types/luxon": "^3.3.1", "@types/micromatch": "^4.0.2", - "@types/node": "^18.17.11", + "@types/node": "^18.17.12", "@types/prettier": "^2.7.3", - "@types/semver": "^7.5.0", + "@types/semver": "^7.5.1", "@types/yargs": "^17.0.24", "@types/yargs-parser": "^21.0.0", "@typescript-eslint/eslint-plugin": "^5.62.0", @@ -19918,6 +19862,8 @@ "prettier-plugin-properties": "^0.2.0", "prettier-plugin-sh": "^0.12.8", "prettier-plugin-sql": "^0.12.1", + "react": "npm:@preact/compat@^17.1.2", + "react-dom": "npm:@preact/compat@^17.1.2", "sass": "^1.66.1", "shellcheck": "^1.1.0", "stylelint": "^14.16.1", @@ -19946,9 +19892,9 @@ } }, "@clevercanyon/preact-iso.fork": { - "version": "2.3.33", - "resolved": "https://registry.npmjs.org/@clevercanyon/preact-iso.fork/-/preact-iso.fork-2.3.33.tgz", - "integrity": "sha512-OUaw8fgxu8dLULy5626+Of8rP/U4qJji7BtQKL5SJtMmf/LKNTqMicWrVXP8ij97HKVGqfBNyIIj/EmFiUUfZw==", + "version": "2.3.40", + "resolved": "https://registry.npmjs.org/@clevercanyon/preact-iso.fork/-/preact-iso.fork-2.3.40.tgz", + "integrity": "sha512-8fP2DM98AHbiWlB64EL2Y86baYW7Z2dYfKRkKj2ewGBiX5kEOelXlxle2Pswo/m455QpHIRCIm2ooPRVk8UcxA==", "peer": true, "requires": {} }, @@ -19960,22 +19906,22 @@ "peer": true }, "@clevercanyon/utilities": { - "version": "1.0.208", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities/-/utilities-1.0.208.tgz", - "integrity": "sha512-xihXMI+pcyVIMx3Iv0+38e1mv62H9fTLiqi4kcSv0M0iRHTsR7n2MBCS+O41kvmjRO9vTgj5cLeeAdB4aWW2/w==", + "version": "1.0.210", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities/-/utilities-1.0.210.tgz", + "integrity": "sha512-hRZRpdR4H8MFPV0cVJ1hL7qP2d3vaZbrIxvkzFNw0HZ/YJ6Gtl0QSTbWKhXcbENV/YCP3QQH4ppNn5K4LyK3VA==", "requires": {} }, "@clevercanyon/utilities.cfp": { - "version": "1.0.73", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.cfp/-/utilities.cfp-1.0.73.tgz", - "integrity": "sha512-tneIT+Sf0bm2tB7nncNqZKxKWKtapdu8jnW9BbLkaDkMMNcck0rDOOeiUSWa0vgYNv2NHhUVn+HnZy4QsMZvZQ==", + "version": "1.0.74", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.cfp/-/utilities.cfp-1.0.74.tgz", + "integrity": "sha512-mh39bk939R64lIdxkhpZ48EUdhqVnk6KJy3VxB6CXjHESKacruZGQpyW5hnDMN4oc1vLSWyHnlwYo5Q2LGjCmg==", "dev": true, "requires": {} }, "@clevercanyon/utilities.cfw": { - "version": "1.0.84", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.cfw/-/utilities.cfw-1.0.84.tgz", - "integrity": "sha512-VzFsDPBv55huzHJNG+sQGulS4R9UPhHpYdBrjuxwW5EExXtBlnRAVJZOya47Pe6SN7iQKC+nPksy1MPmv80ZxA==", + "version": "1.0.85", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.cfw/-/utilities.cfw-1.0.85.tgz", + "integrity": "sha512-FwDoH9MN4P+pbXZkmoEByIWOeXR5qzI1ToB1XnTSFECVXhHFKoitq7OTNo+u7pgrO4qwssRYiOYc1TXAQ/Va2A==", "dev": true, "peer": true, "requires": {} @@ -20437,22 +20383,6 @@ "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", "dev": true }, - "@headlessui/react": { - "version": "1.7.17", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.17.tgz", - "integrity": "sha512-4am+tzvkqDSSgiwrsEpGWqgGo9dz8qU5M3znCkC4PgkpY4HcCZzEDEvozltGGGHIKl9jbXbZPSH5TWn4sWJdow==", - "peer": true, - "requires": { - "client-only": "^0.0.1" - } - }, - "@heroicons/react": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz", - "integrity": "sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==", - "peer": true, - "requires": {} - }, "@humanwhocodes/config-array": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", @@ -21391,9 +21321,9 @@ }, "dependencies": { "@oclif/core": { - "version": "2.11.10", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.11.10.tgz", - "integrity": "sha512-/7Umij3OU++6o+z4U+waJ5nP6IvK9KKEVzz+xsla68YoECLQwz43boUKqYizlNMtTfiwNkiYb5QE+OU/q5qEtA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.12.0.tgz", + "integrity": "sha512-RSfEQzYAmex/dVW/3afIMsaB2n5kG26tniAla+HSAQS7MHqM7LpCrDz5FG9VX5ygSPmQcknWPRmD96N5kyUt1g==", "dev": true, "requires": { "@types/cli-progress": "^3.11.0", @@ -21520,9 +21450,9 @@ }, "dependencies": { "@oclif/core": { - "version": "2.11.10", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.11.10.tgz", - "integrity": "sha512-/7Umij3OU++6o+z4U+waJ5nP6IvK9KKEVzz+xsla68YoECLQwz43boUKqYizlNMtTfiwNkiYb5QE+OU/q5qEtA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.12.0.tgz", + "integrity": "sha512-RSfEQzYAmex/dVW/3afIMsaB2n5kG26tniAla+HSAQS7MHqM7LpCrDz5FG9VX5ygSPmQcknWPRmD96N5kyUt1g==", "dev": true, "requires": { "@types/cli-progress": "^3.11.0", @@ -21658,9 +21588,9 @@ }, "dependencies": { "@oclif/core": { - "version": "2.11.10", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.11.10.tgz", - "integrity": "sha512-/7Umij3OU++6o+z4U+waJ5nP6IvK9KKEVzz+xsla68YoECLQwz43boUKqYizlNMtTfiwNkiYb5QE+OU/q5qEtA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.12.0.tgz", + "integrity": "sha512-RSfEQzYAmex/dVW/3afIMsaB2n5kG26tniAla+HSAQS7MHqM7LpCrDz5FG9VX5ygSPmQcknWPRmD96N5kyUt1g==", "dev": true, "requires": { "@types/cli-progress": "^3.11.0", @@ -21791,9 +21721,9 @@ }, "dependencies": { "@oclif/core": { - "version": "2.11.10", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.11.10.tgz", - "integrity": "sha512-/7Umij3OU++6o+z4U+waJ5nP6IvK9KKEVzz+xsla68YoECLQwz43boUKqYizlNMtTfiwNkiYb5QE+OU/q5qEtA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.12.0.tgz", + "integrity": "sha512-RSfEQzYAmex/dVW/3afIMsaB2n5kG26tniAla+HSAQS7MHqM7LpCrDz5FG9VX5ygSPmQcknWPRmD96N5kyUt1g==", "dev": true, "requires": { "@types/cli-progress": "^3.11.0", @@ -22410,9 +22340,9 @@ } }, "@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==", "dev": true }, "@types/stack-utils": { @@ -23761,12 +23691,6 @@ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true }, - "client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", - "peer": true - }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -24628,9 +24552,9 @@ } }, "electron-to-chromium": { - "version": "1.4.503", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.503.tgz", - "integrity": "sha512-LF2IQit4B0VrUHFeQkWhZm97KuJSGF2WJqq1InpY+ECpFRkXd8yTIaTtJxsO0OKDmiBYwWqcrNaXOurn2T2wiA==", + "version": "1.4.504", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.504.tgz", + "integrity": "sha512-cSMwIAd8yUh54VwitVRVvHK66QqHWE39C3DRj8SWiXitEpVSY3wNPD9y1pxQtLIi4w3UdzF9klLsmuPshz09DQ==", "dev": true }, "emittery": { @@ -25583,15 +25507,15 @@ "dev": true }, "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "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==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" } }, "functions-have-names": { @@ -27631,7 +27555,8 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "js-yaml": { "version": "3.14.1", @@ -28016,15 +27941,6 @@ } } }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "peer": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, "loupe": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", @@ -29069,48 +28985,48 @@ } }, "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", + "es-abstract": "^1.22.1", "get-intrinsic": "^1.2.1" } }, "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "once": { @@ -29699,9 +29615,9 @@ }, "dependencies": { "yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", "dev": true } } @@ -30396,23 +30312,16 @@ } }, "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "peer": true, - "requires": { - "loose-envify": "^1.1.0" - } + "version": "npm:@preact/compat@17.1.2", + "resolved": "https://registry.npmjs.org/@preact/compat/-/compat-17.1.2.tgz", + "integrity": "sha512-7pOZN9lMDDRQ+6aWvjwTp483KR8/zOpfS83wmOo3zfuLKdngS8/5RLbsFWzFZMGdYlotAhX980hJ75bjOHTwWg==", + "requires": {} }, "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "peer": true, - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } + "version": "npm:@preact/compat@17.1.2", + "resolved": "https://registry.npmjs.org/@preact/compat/-/compat-17.1.2.tgz", + "integrity": "sha512-7pOZN9lMDDRQ+6aWvjwTp483KR8/zOpfS83wmOo3zfuLKdngS8/5RLbsFWzFZMGdYlotAhX980hJ75bjOHTwWg==", + "requires": {} }, "react-is": { "version": "17.0.2", @@ -30955,15 +30864,6 @@ "xmlchars": "^2.2.0" } }, - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "peer": true, - "requires": { - "loose-envify": "^1.1.0" - } - }, "selfsigned": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", diff --git a/package.json b/package.json index 44ac9f7..62855e7 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "publishConfig": { "access": "public" }, - "version": "1.0.85", + "version": "1.0.86", "license": "GPL-3.0-or-later", "name": "@clevercanyon/utilities.cfw", "description": "Utilities for JavaScript apps running in a Cloudflare Worker environment.", @@ -50,14 +50,14 @@ }, "dependencies": {}, "peerDependencies": { - "@clevercanyon/utilities": "^1.0.208", + "@clevercanyon/utilities": "^1.0.210", "@cloudflare/kv-asset-handler": "^0.2.0" }, "peerDependenciesMeta": {}, "optionalDependencies": {}, "bundleDependencies": [], "devDependencies": { - "@clevercanyon/dev-deps": "^1.0.179" + "@clevercanyon/dev-deps": "^1.0.180" }, "overrides": {}, "cpu": ["x64", "arm64"], diff --git a/src/cfw.ts b/src/cfw.ts index 1fb7a50..907f22b 100644 --- a/src/cfw.ts +++ b/src/cfw.ts @@ -62,8 +62,7 @@ export const handleFetchEvent = async (ifeData: InitialFetchEventData): Promise< const { env, ctx, routes } = ifeData; $env.capture('@global', env); // Captures environment vars. - - const basePath = String($env.get('@top', 'APP_BASE_PATH', '')); + const appBasePath = String($env.get('@top', 'APP_BASE_PATH', '')); try { request = $http.prepareRequest(request, {}) as core.Request; @@ -73,7 +72,7 @@ export const handleFetchEvent = async (ifeData: InitialFetchEventData): Promise< if ( $http.requestPathIsStatic(request, url) && // $env.get('@top', '__STATIC_CONTENT' /* Worker site? */) && - $str.matches(url.pathname, basePath + '/assets/**') + $str.matches(url.pathname, appBasePath + '/assets/**') ) { return handleFetchStaticAssets(feData); } @@ -96,10 +95,10 @@ export const handleFetchEvent = async (ifeData: InitialFetchEventData): Promise< */ export const handleFetchDynamics = async (feData: FetchEventData): Promise => { const { request, routes, url } = feData; - const basePath = $env.get('@top', 'APP_BASE_PATH', '') as string; + const appBasePath = String($env.get('@top', 'APP_BASE_PATH', '')); for (const [routeSubpathGlob, routeSubpathHandler] of Object.entries(routes.subpathGlobs)) { - if ($str.matches(url.pathname, basePath + '/' + routeSubpathGlob)) { + if ($str.matches(url.pathname, appBasePath + '/' + routeSubpathGlob)) { return routeSubpathHandler(feData); } } @@ -115,7 +114,7 @@ export const handleFetchDynamics = async (feData: FetchEventData): Promise { const { request, ctx } = feData; - const basePath = $env.get('@top', 'APP_BASE_PATH', '') as string; + const appBasePath = String($env.get('@top', 'APP_BASE_PATH', '')); try { const kvAssetEventData = { @@ -137,7 +136,7 @@ async function handleFetchStaticAssets(feData: FetchEventData): Promise { const url = new URL(request.url); // URL is rewritten below. - const regExp = new RegExp('^' + $str.escRegExp(basePath + '/assets/'), 'u'); + const regExp = new RegExp('^' + $str.escRegExp(appBasePath + '/assets/'), 'u'); url.pathname = url.pathname.replace(regExp, '/'); // Removes `/assets` prefix. return cfKVAꓺmapRequestToAsset(new Request(url, request));