diff --git a/dev/.files/vite/config.mjs b/dev/.files/vite/config.mjs index aac1187..17cfee4 100644 --- a/dev/.files/vite/config.mjs +++ b/dev/.files/vite/config.mjs @@ -275,6 +275,7 @@ export default async ({ mode, command /*, ssrBuild */ }) => { * @see https://rollupjs.org/guide/en/#big-list-of-options * @see https://vitejs.dev/config/build-options.html#build-rollupoptions */ + const rollupChunkCounters = new Map(); const rollupConfig = { input: isCMA // Absolute paths. ? cmaEntries @@ -293,6 +294,25 @@ export default async ({ mode, command /*, ssrBuild */ }) => { noConflict: true, // Like `jQuery.noConflict()`. compact: 'prod' === mode, // Minify auto-generated snippets. + // By default, in library mode, Vite ignores `build.assetsDir`. + // This prevents that by enforcing a consistent location for chunks and assets. + chunkFileNames: (chunk) => { + // This function doesn’t have access to the current output format, unfortunately. + // However, we are setting `build.lib.formats` explicitly in the configuration below. + // Therefore, we know `es` comes first, followed by either `cjs` or `umd` output chunks. + // So, chunk counters make it possible to infer build output format, based on sequence. + + const chunkKey = JSON.stringify(chunk); // JSON serialization. + const chunkCounter = Number(rollupChunkCounters.get(chunkKey) || 0) + 1; + + const chunkFormat = chunkCounter > 1 ? 'cjs|umd' : 'es'; + const chunkExt = 'cjs|umd' === chunkFormat ? 'cjs' : 'js'; + + rollupChunkCounters.set(chunkKey, chunkCounter); // Updates counter. + return path.join(path.relative(distDir, a16sDir), '[name]-[hash].' + chunkExt); + }, + assetFileNames: (/* asset */) => path.join(path.relative(distDir, a16sDir), '[name]-[hash].[ext]'), + // Preserves module structure in CMAs built explicitly as dependencies. // The expectation is that peers will build w/ this flag set as false, which is // recommended, because preserving module structure in a final build has performance costs. diff --git a/package-lock.json b/package-lock.json index 801ea55..88bf779 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@clevercanyon/utilities.cfw", - "version": "1.0.59", + "version": "1.0.60", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@clevercanyon/utilities.cfw", - "version": "1.0.59", + "version": "1.0.60", "cpu": [ "x64", "arm64" @@ -17,7 +17,7 @@ "linux" ], "devDependencies": { - "@clevercanyon/skeleton-dev-deps": "^1.0.138", + "@clevercanyon/skeleton-dev-deps": "^1.0.141", "@cloudflare/workers-types": "^4.20230307.0" }, "engines": { @@ -28,7 +28,7 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/utilities": "^1.0.115", + "@clevercanyon/utilities": "^1.0.116", "@cloudflare/kv-asset-handler": "^0.2.0" } }, @@ -658,9 +658,9 @@ "dev": true }, "node_modules/@clevercanyon/madrun": { - "version": "1.0.70", - "resolved": "https://registry.npmjs.org/@clevercanyon/madrun/-/madrun-1.0.70.tgz", - "integrity": "sha512-8lPvHmOIWELV8xwSDxhAurEbKWfH0WpIYYAbVTGt1FTSYj3ufyIAtuShs2XjVewyfZC/LO+gK5xv5D1gnh4GTg==", + "version": "1.0.71", + "resolved": "https://registry.npmjs.org/@clevercanyon/madrun/-/madrun-1.0.71.tgz", + "integrity": "sha512-9aIDzaCMdwuXofXTzXQpmf/WsuU9IXTejAqwspH+oKfrRPmRl7PbWjEabL57qznkDQNMMehbI9KsGcmh3j+k+w==", "cpu": [ "x64", "arm64" @@ -671,8 +671,8 @@ "linux" ], "dependencies": { - "@clevercanyon/utilities": "^1.0.114", - "@clevercanyon/utilities.node": "^1.0.65" + "@clevercanyon/utilities": "^1.0.115", + "@clevercanyon/utilities.node": "^1.0.66" }, "bin": { "madrun": "dist/bin/cli.js" @@ -686,9 +686,9 @@ } }, "node_modules/@clevercanyon/skeleton-dev-deps": { - "version": "1.0.138", - "resolved": "https://registry.npmjs.org/@clevercanyon/skeleton-dev-deps/-/skeleton-dev-deps-1.0.138.tgz", - "integrity": "sha512-2TO3zgmVz0s82/959+HOeHKe0zih1alDF5aymJdkVl17wdtQuepfy40Cs9HJwKCp55fTYgW0oC84aTVhGAAJ1A==", + "version": "1.0.141", + "resolved": "https://registry.npmjs.org/@clevercanyon/skeleton-dev-deps/-/skeleton-dev-deps-1.0.141.tgz", + "integrity": "sha512-TwYTVc2179+V3AuuJwa6oAR6RIYCHT0LXg8bnsQBrF96daIieAP9ROujyvu6uX08s2OTfITIylEbFdo3LQ08zw==", "cpu": [ "x64", "arm64" @@ -699,9 +699,9 @@ "linux" ], "dependencies": { - "@clevercanyon/madrun": "^1.0.69", - "@clevercanyon/utilities": "^1.0.114", - "@clevercanyon/utilities.node": "^1.0.65", + "@clevercanyon/madrun": "^1.0.70", + "@clevercanyon/utilities": "^1.0.115", + "@clevercanyon/utilities.node": "^1.0.66", "@octokit/core": "^4.2.0", "@octokit/plugin-paginate-rest": "^5.0.1", "@prettier/plugin-php": "^0.19.4", @@ -742,7 +742,7 @@ "postcss-preset-env": "^7.8.3", "postcss-safe-parser": "^6.0.0", "postcss-scss": "^4.0.6", - "prettier": "^2.8.5", + "prettier": "^2.8.6", "prettier-plugin-ini": "^1.1.0", "prettier-plugin-jsdoc": "^0.4.2", "prettier-plugin-properties": "^0.2.0", @@ -772,9 +772,9 @@ } }, "node_modules/@clevercanyon/split-cmd.fork": { - "version": "1.0.33", - "resolved": "https://registry.npmjs.org/@clevercanyon/split-cmd.fork/-/split-cmd.fork-1.0.33.tgz", - "integrity": "sha512-XuO3S9ISWGw8xF/dOHl4VdfmT+4RJwS0S2GfBdgtKasjFgLX5vrK8hCHmQEQfQG2+JmJxwovj1N2Des0FprEFQ==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@clevercanyon/split-cmd.fork/-/split-cmd.fork-1.0.34.tgz", + "integrity": "sha512-Z4pQmMoZN3ID9Y6XvJMdmVOJF++93F8JLvpkQGYMPxqrAGDtXl/ym8Cp2Q61CJ3O674ahY/kQHkQ2OYaS1s8QQ==", "cpu": [ "x64", "arm64" @@ -794,9 +794,9 @@ } }, "node_modules/@clevercanyon/utilities": { - "version": "1.0.115", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities/-/utilities-1.0.115.tgz", - "integrity": "sha512-9wElZI7AnvOzwO5ghI8468DIW9Hqo9zs7o8cgrrG2qLtayybteac0ASNO1+WGky8bw9RI8fzY15qx4Z841qaIA==", + "version": "1.0.116", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities/-/utilities-1.0.116.tgz", + "integrity": "sha512-TqLIGRg+O1IQd0avU3hpHZ+EZq9C78XV4F9gee2e2eHHONOTBMNLoGpV2hQv2l75P4deydl5Z5JpKhiKxpCalw==", "cpu": [ "x64", "arm64" @@ -817,7 +817,7 @@ "fast-equals": "^4.0.3", "ignore": "^5.2.4", "luxon": "^3.3.0", - "micromatch": "npm:@clevercanyon/micromatch.fork@^4.0.35", + "micromatch": "npm:@clevercanyon/micromatch.fork@^4.0.36", "moize": "^6.1.5", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -825,9 +825,9 @@ } }, "node_modules/@clevercanyon/utilities.node": { - "version": "1.0.66", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.node/-/utilities.node-1.0.66.tgz", - "integrity": "sha512-/N7XF6c4iHrw2MGiPy7V8kuGwT1rhgH8BzAlNLR/3/AIr4c3/VaVy/ZrIS1426fXKGWf8on2ovTjBI1p/RrYSA==", + "version": "1.0.67", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.node/-/utilities.node-1.0.67.tgz", + "integrity": "sha512-HIru4vnjX84XkZg3SpYnrX/0iHq2cmb2AThTXHFPlmqmWPhuMnZS4FSXHoXwtZlMHM+gtDG0POjzg1FS1UWwyw==", "cpu": [ "x64", "arm64" @@ -845,8 +845,8 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/split-cmd.fork": "^1.0.33", - "@clevercanyon/utilities": "^1.0.115", + "@clevercanyon/split-cmd.fork": "^1.0.34", + "@clevercanyon/utilities": "^1.0.116", "archiver": "^5.3.1", "boxen": "^7.0.2", "chalk": "^5.2.0", @@ -855,9 +855,9 @@ "find-up": "^6.3.0", "globby": "^13.1.3", "ignore": "^5.2.4", - "prettier": "^2.8.5", - "shescape": "npm:@clevercanyon/shescape.fork@^1.6.27", - "spawn-please": "npm:@clevercanyon/spawn-please.fork@^2.0.27", + "prettier": "^2.8.6", + "shescape": "npm:@clevercanyon/shescape.fork@^1.6.28", + "spawn-please": "npm:@clevercanyon/spawn-please.fork@^2.0.28", "term-img": "^6.0.0", "yargs": "^17.7.1", "yargs-parser": "^21.1.1" @@ -1165,9 +1165,9 @@ } }, "node_modules/@csstools/selector-specificity": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz", - "integrity": "sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", "dev": true, "engines": { "node": "^14 || ^16 || >=18" @@ -1177,7 +1177,6 @@ "url": "https://opencollective.com/csstools" }, "peerDependencies": { - "postcss": "^8.4", "postcss-selector-parser": "^6.0.10" } }, @@ -5149,9 +5148,9 @@ }, "node_modules/braces": { "name": "@clevercanyon/braces.fork", - "version": "3.0.31", - "resolved": "https://registry.npmjs.org/@clevercanyon/braces.fork/-/braces.fork-3.0.31.tgz", - "integrity": "sha512-S4kaE8oYqtaOGFlbNYAB6HDNOkQn+jtVJOh08lJzPV0+lT1gIlWbcJAJcCg2BAPDdK486dxWzC3QyYpHUoZODQ==", + "version": "3.0.32", + "resolved": "https://registry.npmjs.org/@clevercanyon/braces.fork/-/braces.fork-3.0.32.tgz", + "integrity": "sha512-nkzdOMtUcsQz7/tffCS3iHZW/A4j7t5n+JuMTbJwQHZ4BcWWYMANuJpCNACLPWDBzBMuq3qpOE98zcQJXgD5nA==", "cpu": [ "x64", "arm64" @@ -5161,7 +5160,7 @@ "linux" ], "dependencies": { - "fill-range": "npm:@clevercanyon/fill-range.fork@^7.0.30" + "fill-range": "npm:@clevercanyon/fill-range.fork@^7.0.31" }, "engines": { "node": "^19.2.0 || ^19.4.0", @@ -5524,9 +5523,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001468", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001468.tgz", - "integrity": "sha512-zgAo8D5kbOyUcRAgSmgyuvBkjrGk5CGYG5TYgFdpQv+ywcyEpo1LOWoG8YmoflGnh+V+UsNuKYedsoYs0hzV5A==", + "version": "1.0.30001469", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz", + "integrity": "sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==", "dev": true, "funding": [ { @@ -8035,9 +8034,9 @@ }, "node_modules/fill-range": { "name": "@clevercanyon/fill-range.fork", - "version": "7.0.30", - "resolved": "https://registry.npmjs.org/@clevercanyon/fill-range.fork/-/fill-range.fork-7.0.30.tgz", - "integrity": "sha512-9zSTwzAQEB2K26Kq6g2210G04LZ9RNMZnLBMFqh+IMqlHeTNwWhgfB+e7ulnqYD+8IVUuDvaX8+A4KgOhN4OKw==", + "version": "7.0.31", + "resolved": "https://registry.npmjs.org/@clevercanyon/fill-range.fork/-/fill-range.fork-7.0.31.tgz", + "integrity": "sha512-ebHMZCN9cDlU+TZLP5k1xbPXU+5YSMkL/ZTLsdMFLrwLumTrRHFz60Lto8DaH5qKmlOu6i3kJ1QQ1+8nGyuhSg==", "cpu": [ "x64", "arm64" @@ -8047,7 +8046,7 @@ "linux" ], "dependencies": { - "to-regex-range": "npm:@clevercanyon/to-regex-range.fork@^5.0.30" + "to-regex-range": "npm:@clevercanyon/to-regex-range.fork@^5.0.31" }, "engines": { "node": "^19.2.0 || ^19.4.0", @@ -9259,9 +9258,9 @@ }, "node_modules/is-number": { "name": "@clevercanyon/is-number.fork", - "version": "7.0.33", - "resolved": "https://registry.npmjs.org/@clevercanyon/is-number.fork/-/is-number.fork-7.0.33.tgz", - "integrity": "sha512-KFdmKTim8mZuZcE5hLGkQy7c9LIM8O0zjtdy9cwyTt0iWDpuh4npHaB2qUtKnuz0u9NfMvkeuu9k1gBgJyObyA==", + "version": "7.0.34", + "resolved": "https://registry.npmjs.org/@clevercanyon/is-number.fork/-/is-number.fork-7.0.34.tgz", + "integrity": "sha512-/L3cwKqyrWmkmr7diDnTMKvSzbMvu2O0lP9EFDxDCJQ87Rn1lT55H69FfpRt2oh7tOTPRJkr3+5kgxPLGKFVJQ==", "cpu": [ "x64", "arm64" @@ -11929,9 +11928,9 @@ }, "node_modules/micromatch": { "name": "@clevercanyon/micromatch.fork", - "version": "4.0.35", - "resolved": "https://registry.npmjs.org/@clevercanyon/micromatch.fork/-/micromatch.fork-4.0.35.tgz", - "integrity": "sha512-98qpLptPtIKdKcdnCkYJfciYjd9oRO9MHy6V89vUxVLJN7F9EGAephWC7oVZ2lhHoI64oXl/66a27yH04IwfsQ==", + "version": "4.0.36", + "resolved": "https://registry.npmjs.org/@clevercanyon/micromatch.fork/-/micromatch.fork-4.0.36.tgz", + "integrity": "sha512-8IiRjyY9xrDSKE7D8zx5+/HzSWJ63/SvmNrAzyc2c3JsQMz1Qsodr1haEh6yG6PdDGi71L0tLsidaYusWGr7iA==", "cpu": [ "x64", "arm64" @@ -11941,8 +11940,8 @@ "linux" ], "dependencies": { - "braces": "npm:@clevercanyon/braces.fork@^3.0.31", - "picomatch": "npm:@clevercanyon/picomatch.fork@^2.3.30" + "braces": "npm:@clevercanyon/braces.fork@^3.0.32", + "picomatch": "npm:@clevercanyon/picomatch.fork@^2.3.31" }, "engines": { "node": "^19.2.0 || ^19.4.0", @@ -11954,9 +11953,9 @@ }, "node_modules/micromatch/node_modules/picomatch": { "name": "@clevercanyon/picomatch.fork", - "version": "2.3.30", - "resolved": "https://registry.npmjs.org/@clevercanyon/picomatch.fork/-/picomatch.fork-2.3.30.tgz", - "integrity": "sha512-npQXkwX4MI9iG65nij83nqUcc65l+0GTERUk94JFfRW7AJ0GeAPfkaBsDDmr/jtz9rajYuKc1vCpv+U2AH7pyQ==", + "version": "2.3.31", + "resolved": "https://registry.npmjs.org/@clevercanyon/picomatch.fork/-/picomatch.fork-2.3.31.tgz", + "integrity": "sha512-3+cDYIH+AAOwaMb3H6ne9CAEZbqXnblFLyDU3raRvwkGwCZnI7XBZhJTenLhaFjhqzJZ8ZHx/LMnRNum0RrCTg==", "cpu": [ "x64", "arm64" @@ -14286,9 +14285,9 @@ } }, "node_modules/prettier": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.5.tgz", - "integrity": "sha512-3gzuxrHbKUePRBB4ZeU08VNkUcqEHaUaouNt0m7LGP4Hti/NuB07C7PPTM/LkWqXoJYJn2McEo5+kxPNrtQkLQ==", + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.6.tgz", + "integrity": "sha512-mtuzdiBbHwPEgl7NxWlqOkithPyp4VN93V7VeHVWBF+ad3I5avc0RVDT4oImXQy9H/AqxA2NSQH8pSxHW6FYbQ==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -15384,9 +15383,9 @@ }, "node_modules/shescape": { "name": "@clevercanyon/shescape.fork", - "version": "1.6.27", - "resolved": "https://registry.npmjs.org/@clevercanyon/shescape.fork/-/shescape.fork-1.6.27.tgz", - "integrity": "sha512-0HUknjXqTHVl5+paSqBaxhbdC48nJYPXNW6pq8w3rHx6eI0X3q7wEJ8NhK29l9XarymddZI0UoRgMJ0ylY8uUw==", + "version": "1.6.28", + "resolved": "https://registry.npmjs.org/@clevercanyon/shescape.fork/-/shescape.fork-1.6.28.tgz", + "integrity": "sha512-SEB8XuTMSLtbJbh1L15uWiMtIsKlresuu3fa1y0kQHZjw1ks7dcwghDWQXf2yTerWPUmybtX+AFSNruwtmh0Eg==", "cpu": [ "x64", "arm64" @@ -15513,9 +15512,9 @@ }, "node_modules/spawn-please": { "name": "@clevercanyon/spawn-please.fork", - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@clevercanyon/spawn-please.fork/-/spawn-please.fork-2.0.27.tgz", - "integrity": "sha512-ZTrAu24F6NyV91e9xCOsyoTC7kojAmcxrKBz1uPvYJCEq9ZFwdOeM78Z2sJy4MJ4uIFbQtW6GLRgnEO30W+9+A==", + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/@clevercanyon/spawn-please.fork/-/spawn-please.fork-2.0.28.tgz", + "integrity": "sha512-jpARABPxPF++G0YQrUmdjuwLtG6CeRZeORPGgHUtJXZk7hSMHdEf9OgPEYLxxI7PBSnSh3LXmV2xVMJKJ+1SAg==", "cpu": [ "x64", "arm64" @@ -16555,9 +16554,9 @@ }, "node_modules/to-regex-range": { "name": "@clevercanyon/to-regex-range.fork", - "version": "5.0.30", - "resolved": "https://registry.npmjs.org/@clevercanyon/to-regex-range.fork/-/to-regex-range.fork-5.0.30.tgz", - "integrity": "sha512-bpboYMh61DDsJLtFqZB4UgcBczK2SacpqgS/Sm4eqaeSt46ttm2zhFQK/qnRfrCr80clCkk0AFJFe3etODB5XQ==", + "version": "5.0.31", + "resolved": "https://registry.npmjs.org/@clevercanyon/to-regex-range.fork/-/to-regex-range.fork-5.0.31.tgz", + "integrity": "sha512-DVfzYiDGkQEpcDH/IpRm3950Jzx6N894W9WH620DAW6/gpqi8grLS1xcPhJS5L1HF2+QKDNd4Lb4Ej71Fjz23g==", "cpu": [ "x64", "arm64" @@ -16567,7 +16566,7 @@ "linux" ], "dependencies": { - "is-number": "npm:@clevercanyon/is-number.fork@^7.0.33" + "is-number": "npm:@clevercanyon/is-number.fork@^7.0.34" }, "engines": { "node": "^19.2.0 || ^19.4.0", @@ -18155,24 +18154,24 @@ "dev": true }, "@clevercanyon/madrun": { - "version": "1.0.70", - "resolved": "https://registry.npmjs.org/@clevercanyon/madrun/-/madrun-1.0.70.tgz", - "integrity": "sha512-8lPvHmOIWELV8xwSDxhAurEbKWfH0WpIYYAbVTGt1FTSYj3ufyIAtuShs2XjVewyfZC/LO+gK5xv5D1gnh4GTg==", + "version": "1.0.71", + "resolved": "https://registry.npmjs.org/@clevercanyon/madrun/-/madrun-1.0.71.tgz", + "integrity": "sha512-9aIDzaCMdwuXofXTzXQpmf/WsuU9IXTejAqwspH+oKfrRPmRl7PbWjEabL57qznkDQNMMehbI9KsGcmh3j+k+w==", "dev": true, "requires": { - "@clevercanyon/utilities": "^1.0.114", - "@clevercanyon/utilities.node": "^1.0.65" + "@clevercanyon/utilities": "^1.0.115", + "@clevercanyon/utilities.node": "^1.0.66" } }, "@clevercanyon/skeleton-dev-deps": { - "version": "1.0.138", - "resolved": "https://registry.npmjs.org/@clevercanyon/skeleton-dev-deps/-/skeleton-dev-deps-1.0.138.tgz", - "integrity": "sha512-2TO3zgmVz0s82/959+HOeHKe0zih1alDF5aymJdkVl17wdtQuepfy40Cs9HJwKCp55fTYgW0oC84aTVhGAAJ1A==", + "version": "1.0.141", + "resolved": "https://registry.npmjs.org/@clevercanyon/skeleton-dev-deps/-/skeleton-dev-deps-1.0.141.tgz", + "integrity": "sha512-TwYTVc2179+V3AuuJwa6oAR6RIYCHT0LXg8bnsQBrF96daIieAP9ROujyvu6uX08s2OTfITIylEbFdo3LQ08zw==", "dev": true, "requires": { - "@clevercanyon/madrun": "^1.0.69", - "@clevercanyon/utilities": "^1.0.114", - "@clevercanyon/utilities.node": "^1.0.65", + "@clevercanyon/madrun": "^1.0.70", + "@clevercanyon/utilities": "^1.0.115", + "@clevercanyon/utilities.node": "^1.0.66", "@octokit/core": "^4.2.0", "@octokit/plugin-paginate-rest": "^5.0.1", "@prettier/plugin-php": "^0.19.4", @@ -18213,7 +18212,7 @@ "postcss-preset-env": "^7.8.3", "postcss-safe-parser": "^6.0.0", "postcss-scss": "^4.0.6", - "prettier": "^2.8.5", + "prettier": "^2.8.6", "prettier-plugin-ini": "^1.1.0", "prettier-plugin-jsdoc": "^0.4.2", "prettier-plugin-properties": "^0.2.0", @@ -18236,22 +18235,22 @@ } }, "@clevercanyon/split-cmd.fork": { - "version": "1.0.33", - "resolved": "https://registry.npmjs.org/@clevercanyon/split-cmd.fork/-/split-cmd.fork-1.0.33.tgz", - "integrity": "sha512-XuO3S9ISWGw8xF/dOHl4VdfmT+4RJwS0S2GfBdgtKasjFgLX5vrK8hCHmQEQfQG2+JmJxwovj1N2Des0FprEFQ==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@clevercanyon/split-cmd.fork/-/split-cmd.fork-1.0.34.tgz", + "integrity": "sha512-Z4pQmMoZN3ID9Y6XvJMdmVOJF++93F8JLvpkQGYMPxqrAGDtXl/ym8Cp2Q61CJ3O674ahY/kQHkQ2OYaS1s8QQ==", "dev": true, "peer": true }, "@clevercanyon/utilities": { - "version": "1.0.115", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities/-/utilities-1.0.115.tgz", - "integrity": "sha512-9wElZI7AnvOzwO5ghI8468DIW9Hqo9zs7o8cgrrG2qLtayybteac0ASNO1+WGky8bw9RI8fzY15qx4Z841qaIA==", + "version": "1.0.116", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities/-/utilities-1.0.116.tgz", + "integrity": "sha512-TqLIGRg+O1IQd0avU3hpHZ+EZq9C78XV4F9gee2e2eHHONOTBMNLoGpV2hQv2l75P4deydl5Z5JpKhiKxpCalw==", "requires": {} }, "@clevercanyon/utilities.node": { - "version": "1.0.66", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.node/-/utilities.node-1.0.66.tgz", - "integrity": "sha512-/N7XF6c4iHrw2MGiPy7V8kuGwT1rhgH8BzAlNLR/3/AIr4c3/VaVy/ZrIS1426fXKGWf8on2ovTjBI1p/RrYSA==", + "version": "1.0.67", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.node/-/utilities.node-1.0.67.tgz", + "integrity": "sha512-HIru4vnjX84XkZg3SpYnrX/0iHq2cmb2AThTXHFPlmqmWPhuMnZS4FSXHoXwtZlMHM+gtDG0POjzg1FS1UWwyw==", "dev": true, "requires": {} }, @@ -18421,9 +18420,9 @@ "requires": {} }, "@csstools/selector-specificity": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz", - "integrity": "sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", "dev": true, "requires": {} }, @@ -21449,11 +21448,11 @@ } }, "braces": { - "version": "npm:@clevercanyon/braces.fork@3.0.31", - "resolved": "https://registry.npmjs.org/@clevercanyon/braces.fork/-/braces.fork-3.0.31.tgz", - "integrity": "sha512-S4kaE8oYqtaOGFlbNYAB6HDNOkQn+jtVJOh08lJzPV0+lT1gIlWbcJAJcCg2BAPDdK486dxWzC3QyYpHUoZODQ==", + "version": "npm:@clevercanyon/braces.fork@3.0.32", + "resolved": "https://registry.npmjs.org/@clevercanyon/braces.fork/-/braces.fork-3.0.32.tgz", + "integrity": "sha512-nkzdOMtUcsQz7/tffCS3iHZW/A4j7t5n+JuMTbJwQHZ4BcWWYMANuJpCNACLPWDBzBMuq3qpOE98zcQJXgD5nA==", "requires": { - "fill-range": "npm:@clevercanyon/fill-range.fork@^7.0.30" + "fill-range": "npm:@clevercanyon/fill-range.fork@^7.0.31" } }, "browserslist": { @@ -21705,9 +21704,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001468", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001468.tgz", - "integrity": "sha512-zgAo8D5kbOyUcRAgSmgyuvBkjrGk5CGYG5TYgFdpQv+ywcyEpo1LOWoG8YmoflGnh+V+UsNuKYedsoYs0hzV5A==", + "version": "1.0.30001469", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz", + "integrity": "sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==", "dev": true }, "cardinal": { @@ -23592,11 +23591,11 @@ } }, "fill-range": { - "version": "npm:@clevercanyon/fill-range.fork@7.0.30", - "resolved": "https://registry.npmjs.org/@clevercanyon/fill-range.fork/-/fill-range.fork-7.0.30.tgz", - "integrity": "sha512-9zSTwzAQEB2K26Kq6g2210G04LZ9RNMZnLBMFqh+IMqlHeTNwWhgfB+e7ulnqYD+8IVUuDvaX8+A4KgOhN4OKw==", + "version": "npm:@clevercanyon/fill-range.fork@7.0.31", + "resolved": "https://registry.npmjs.org/@clevercanyon/fill-range.fork/-/fill-range.fork-7.0.31.tgz", + "integrity": "sha512-ebHMZCN9cDlU+TZLP5k1xbPXU+5YSMkL/ZTLsdMFLrwLumTrRHFz60Lto8DaH5qKmlOu6i3kJ1QQ1+8nGyuhSg==", "requires": { - "to-regex-range": "npm:@clevercanyon/to-regex-range.fork@^5.0.30" + "to-regex-range": "npm:@clevercanyon/to-regex-range.fork@^5.0.31" } }, "find-up": { @@ -24455,9 +24454,9 @@ "dev": true }, "is-number": { - "version": "npm:@clevercanyon/is-number.fork@7.0.33", - "resolved": "https://registry.npmjs.org/@clevercanyon/is-number.fork/-/is-number.fork-7.0.33.tgz", - "integrity": "sha512-KFdmKTim8mZuZcE5hLGkQy7c9LIM8O0zjtdy9cwyTt0iWDpuh4npHaB2qUtKnuz0u9NfMvkeuu9k1gBgJyObyA==" + "version": "npm:@clevercanyon/is-number.fork@7.0.34", + "resolved": "https://registry.npmjs.org/@clevercanyon/is-number.fork/-/is-number.fork-7.0.34.tgz", + "integrity": "sha512-/L3cwKqyrWmkmr7diDnTMKvSzbMvu2O0lP9EFDxDCJQ87Rn1lT55H69FfpRt2oh7tOTPRJkr3+5kgxPLGKFVJQ==" }, "is-number-object": { "version": "1.0.7", @@ -26371,18 +26370,18 @@ "dev": true }, "micromatch": { - "version": "npm:@clevercanyon/micromatch.fork@4.0.35", - "resolved": "https://registry.npmjs.org/@clevercanyon/micromatch.fork/-/micromatch.fork-4.0.35.tgz", - "integrity": "sha512-98qpLptPtIKdKcdnCkYJfciYjd9oRO9MHy6V89vUxVLJN7F9EGAephWC7oVZ2lhHoI64oXl/66a27yH04IwfsQ==", + "version": "npm:@clevercanyon/micromatch.fork@4.0.36", + "resolved": "https://registry.npmjs.org/@clevercanyon/micromatch.fork/-/micromatch.fork-4.0.36.tgz", + "integrity": "sha512-8IiRjyY9xrDSKE7D8zx5+/HzSWJ63/SvmNrAzyc2c3JsQMz1Qsodr1haEh6yG6PdDGi71L0tLsidaYusWGr7iA==", "requires": { - "braces": "npm:@clevercanyon/braces.fork@^3.0.31", - "picomatch": "npm:@clevercanyon/picomatch.fork@^2.3.30" + "braces": "npm:@clevercanyon/braces.fork@^3.0.32", + "picomatch": "npm:@clevercanyon/picomatch.fork@^2.3.31" }, "dependencies": { "picomatch": { - "version": "npm:@clevercanyon/picomatch.fork@2.3.30", - "resolved": "https://registry.npmjs.org/@clevercanyon/picomatch.fork/-/picomatch.fork-2.3.30.tgz", - "integrity": "sha512-npQXkwX4MI9iG65nij83nqUcc65l+0GTERUk94JFfRW7AJ0GeAPfkaBsDDmr/jtz9rajYuKc1vCpv+U2AH7pyQ==" + "version": "npm:@clevercanyon/picomatch.fork@2.3.31", + "resolved": "https://registry.npmjs.org/@clevercanyon/picomatch.fork/-/picomatch.fork-2.3.31.tgz", + "integrity": "sha512-3+cDYIH+AAOwaMb3H6ne9CAEZbqXnblFLyDU3raRvwkGwCZnI7XBZhJTenLhaFjhqzJZ8ZHx/LMnRNum0RrCTg==" } } }, @@ -27966,9 +27965,9 @@ "dev": true }, "prettier": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.5.tgz", - "integrity": "sha512-3gzuxrHbKUePRBB4ZeU08VNkUcqEHaUaouNt0m7LGP4Hti/NuB07C7PPTM/LkWqXoJYJn2McEo5+kxPNrtQkLQ==", + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.6.tgz", + "integrity": "sha512-mtuzdiBbHwPEgl7NxWlqOkithPyp4VN93V7VeHVWBF+ad3I5avc0RVDT4oImXQy9H/AqxA2NSQH8pSxHW6FYbQ==", "dev": true }, "prettier-linter-helpers": { @@ -28771,9 +28770,9 @@ } }, "shescape": { - "version": "npm:@clevercanyon/shescape.fork@1.6.27", - "resolved": "https://registry.npmjs.org/@clevercanyon/shescape.fork/-/shescape.fork-1.6.27.tgz", - "integrity": "sha512-0HUknjXqTHVl5+paSqBaxhbdC48nJYPXNW6pq8w3rHx6eI0X3q7wEJ8NhK29l9XarymddZI0UoRgMJ0ylY8uUw==", + "version": "npm:@clevercanyon/shescape.fork@1.6.28", + "resolved": "https://registry.npmjs.org/@clevercanyon/shescape.fork/-/shescape.fork-1.6.28.tgz", + "integrity": "sha512-SEB8XuTMSLtbJbh1L15uWiMtIsKlresuu3fa1y0kQHZjw1ks7dcwghDWQXf2yTerWPUmybtX+AFSNruwtmh0Eg==", "dev": true, "peer": true, "requires": { @@ -28860,9 +28859,9 @@ } }, "spawn-please": { - "version": "npm:@clevercanyon/spawn-please.fork@2.0.27", - "resolved": "https://registry.npmjs.org/@clevercanyon/spawn-please.fork/-/spawn-please.fork-2.0.27.tgz", - "integrity": "sha512-ZTrAu24F6NyV91e9xCOsyoTC7kojAmcxrKBz1uPvYJCEq9ZFwdOeM78Z2sJy4MJ4uIFbQtW6GLRgnEO30W+9+A==", + "version": "npm:@clevercanyon/spawn-please.fork@2.0.28", + "resolved": "https://registry.npmjs.org/@clevercanyon/spawn-please.fork/-/spawn-please.fork-2.0.28.tgz", + "integrity": "sha512-jpARABPxPF++G0YQrUmdjuwLtG6CeRZeORPGgHUtJXZk7hSMHdEf9OgPEYLxxI7PBSnSh3LXmV2xVMJKJ+1SAg==", "dev": true, "peer": true, "requires": { @@ -29658,11 +29657,11 @@ "dev": true }, "to-regex-range": { - "version": "npm:@clevercanyon/to-regex-range.fork@5.0.30", - "resolved": "https://registry.npmjs.org/@clevercanyon/to-regex-range.fork/-/to-regex-range.fork-5.0.30.tgz", - "integrity": "sha512-bpboYMh61DDsJLtFqZB4UgcBczK2SacpqgS/Sm4eqaeSt46ttm2zhFQK/qnRfrCr80clCkk0AFJFe3etODB5XQ==", + "version": "npm:@clevercanyon/to-regex-range.fork@5.0.31", + "resolved": "https://registry.npmjs.org/@clevercanyon/to-regex-range.fork/-/to-regex-range.fork-5.0.31.tgz", + "integrity": "sha512-DVfzYiDGkQEpcDH/IpRm3950Jzx6N894W9WH620DAW6/gpqi8grLS1xcPhJS5L1HF2+QKDNd4Lb4Ej71Fjz23g==", "requires": { - "is-number": "npm:@clevercanyon/is-number.fork@^7.0.33" + "is-number": "npm:@clevercanyon/is-number.fork@^7.0.34" } }, "totalist": { diff --git a/package.json b/package.json index 408baa1..60acca0 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "publishConfig": { "access": "restricted" }, - "version": "1.0.60", + "version": "1.0.61", "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.115", + "@clevercanyon/utilities": "^1.0.116", "@cloudflare/kv-asset-handler": "^0.2.0" }, "peerDependenciesMeta": {}, "optionalDependencies": {}, "bundleDependencies": [], "devDependencies": { - "@clevercanyon/skeleton-dev-deps": "^1.0.138", + "@clevercanyon/skeleton-dev-deps": "^1.0.141", "@cloudflare/workers-types": "^4.20230307.0" }, "overrides": {},