diff --git a/.browserslistrc b/.browserslistrc index 61db132..f3ad1e7 100644 --- a/.browserslistrc +++ b/.browserslistrc @@ -17,7 +17,7 @@ # Generated data. # -# Last generated Mon, Oct 9, 2023, 5:45:45 PM EDT. +# Last generated Mon, Oct 9, 2023, 9:57:11 PM EDT. [production] last 1 chrome versions diff --git a/.dockerignore b/.dockerignore index 39917a3..d73ec54 100644 --- a/.dockerignore +++ b/.dockerignore @@ -17,7 +17,7 @@ # Generated data. # -# Last generated Mon, Oct 9, 2023, 5:45:45 PM EDT. +# Last generated Mon, Oct 9, 2023, 9:57:11 PM EDT. # Locals diff --git a/.gitattributes b/.gitattributes index 79125e1..9e2daf7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -17,7 +17,7 @@ # Generated data. # -# Last generated Mon, Oct 9, 2023, 5:45:45 PM EDT. +# Last generated Mon, Oct 9, 2023, 9:57:10 PM EDT. # Default diff --git a/.gitignore b/.gitignore index 5f2bc5e..5e0493e 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,7 @@ # Generated data. # -# Last generated Mon, Oct 9, 2023, 5:45:45 PM EDT. +# Last generated Mon, Oct 9, 2023, 9:57:10 PM EDT. # Locals diff --git a/.npmignore b/.npmignore index 1d4a666..eb836b9 100644 --- a/.npmignore +++ b/.npmignore @@ -25,7 +25,7 @@ # Generated data. # -# Last generated Mon, Oct 9, 2023, 5:45:45 PM EDT. +# Last generated Mon, Oct 9, 2023, 9:57:11 PM EDT. # Locals diff --git a/.prettierignore b/.prettierignore index ca69484..565d1cf 100644 --- a/.prettierignore +++ b/.prettierignore @@ -17,7 +17,7 @@ # Generated data. # -# Last generated Mon, Oct 9, 2023, 5:45:45 PM EDT. +# Last generated Mon, Oct 9, 2023, 9:57:11 PM EDT. # Packages diff --git a/.vscode/settings.json b/.vscode/settings.json index 81e066f..9728feb 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -7,7 +7,7 @@ * @note This entire file will be updated automatically. * @note Instead of editing here, please review `./settings.mjs`. * - * Last generated using `./settings.mjs` Mon, Oct 9, 2023, 5:45:45 PM EDT. + * Last generated using `./settings.mjs` Mon, Oct 9, 2023, 9:57:10 PM EDT. */ { "editor.formatOnType": false, diff --git a/.vscodeignore b/.vscodeignore index 3dd2613..907d5f7 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -17,7 +17,7 @@ # Generated data. # -# Last generated Mon, Oct 9, 2023, 5:45:45 PM EDT. +# Last generated Mon, Oct 9, 2023, 9:57:11 PM EDT. # Locals diff --git a/dev/.files/bin/includes/utilities.mjs b/dev/.files/bin/includes/utilities.mjs index 8d1cb8d..d73a99d 100755 --- a/dev/.files/bin/includes/utilities.mjs +++ b/dev/.files/bin/includes/utilities.mjs @@ -21,7 +21,7 @@ const __dirname = $fs.imuDirname(import.meta.url); const binDir = path.resolve(__dirname, '..'); const projDir = path.resolve(__dirname, '../../../..'); -const { pkgFile, pkgName, pkgPrivate, pkgRepository, pkgBuildAppType } = (() => { +const { pkgFile, pkgName, pkgPrivate, pkgBuildAppType } = (() => { const pkgFile = path.resolve(projDir, './package.json'); if (!fs.existsSync(pkgFile)) { @@ -34,10 +34,9 @@ const { pkgFile, pkgName, pkgPrivate, pkgRepository, pkgBuildAppType } = (() => } const pkgName = $obp.get(pkg, 'name', ''); const pkgPrivate = $obp.get(pkg, 'private'); - const pkgRepository = $obp.get(pkg, 'repository', ''); const pkgBuildAppType = $obp.get(pkg, 'config.c10n.&.build.appType', ''); - return { pkgFile, pkgName, pkgPrivate, pkgRepository, pkgBuildAppType }; + return { pkgFile, pkgName, pkgPrivate, pkgBuildAppType }; })(); const Octokit = OctokitCore.plugin(OctokitPluginPaginateRest); const octokit = new Octokit({ auth: process.env.USER_GITHUB_TOKEN || '' }); @@ -131,20 +130,15 @@ export default class u { } static async isPkgName(name) { - return name === pkgName; // Package with this specific name? + return name === pkgName; // True if is current package name. } - // @todo Deprecate this in favor of `isPkgName()`. - static async isPkgRepo(ownerRepo) { - return new RegExp('[:/]' + $str.escRegExp(ownerRepo) + '(?:\\.git)?$', 'iu').test(pkgRepository); + static async isPkgFork() { + return pkgName.endsWith('.fork'); // True if current package is a fork. } - static async isPkgRepoFork() { - return /[:/][^/]+\/[^/]+\.fork(?:\.git)?$/iu.test(pkgRepository); - } - - static async isPkgRepoTemplate() { - return /[:/][^/]+\/skeleton(?:\.[^/]+)?(?:\.git)?$/iu.test(pkgRepository); + static async isPkgSkeleton() { + return 'skeleton' === pkgName || pkgName.startsWith('skeleton.'); } static async pkgIncrementVersion(opts = { dryRun: false }) { @@ -200,7 +194,7 @@ export default class u { if (nodeVersion.npm.forwardCompat.length) updates.$ꓺset.engines.npm = updates.$ꓺset.engines.npm.concat(nodeVersion.npm.forwardCompat); updates.$ꓺset.engines.npm = (updates.$ꓺset.engines.npm.length ? '^' : '') + updates.$ꓺset.engines.npm.join(' || ^'); } - if (await u.isPkgRepo('clevercanyon/dev-deps')) { + if (await u.isPkgName('@clevercanyon/dev-deps')) { if (updates.$ꓺdefaults?.['devDependenciesꓺ@clevercanyon/dev-deps']) { delete updates.$ꓺdefaults['devDependenciesꓺ@clevercanyon/dev-deps']; } @@ -550,7 +544,7 @@ export default class u { homepage: pkg.homepage || defaultHomepage, description: pkg.description || defaultDescription, - is_template: await u.isPkgRepoTemplate(), + is_template: await u.isPkgSkeleton(), }); await octokit.request('PUT /repos/{owner}/{repo}/vulnerability-alerts', { owner, repo }); await octokit.request('PUT /repos/{owner}/{repo}/automated-security-fixes', { owner, repo }); @@ -1163,7 +1157,7 @@ export default class u { for (const [dependency] of Object.entries(pkg.dependencies || {})) dependenciesToUpdate.push(dependency); for (const [dependency] of Object.entries(pkg.peerDependencies || {})) dependenciesToUpdate.push(dependency); - if (!(await u.isPkgRepo('clevercanyon/dev-deps'))) + if (!(await u.isPkgName('@clevercanyon/dev-deps'))) for (const [dependency] of Object.entries((await u.depPkg('@clevercanyon/dev-deps'))?.dependencies || {})) { if (/^@clevercanyon\//iu.test(dependency)) dependenciesToUpdate.push(dependency); } diff --git a/dev/.files/bin/update.mjs b/dev/.files/bin/update.mjs index 4d61fd9..e392e38 100755 --- a/dev/.files/bin/update.mjs +++ b/dev/.files/bin/update.mjs @@ -482,7 +482,7 @@ class Dotfiles { let skeletonBranch = 'main'; - if (await u.isPkgRepo('clevercanyon/skeleton')) { + if (await u.isPkgName('@clevercanyon/skeleton')) { if (!(await u.isGitRepo())) { throw new Error('`clevercanyon/skeleton` is not a git repo.'); } @@ -498,14 +498,14 @@ class Dotfiles { * Saves any pending skeleton changes; else checks state. */ - if ((await u.isPkgRepo('clevercanyon/skeleton')) && (await u.isGitRepoDirty())) { + if ((await u.isPkgName('@clevercanyon/skeleton')) && (await u.isGitRepoDirty())) { u.log($chalk.green('Updating `clevercanyon/skeleton` git repo; `' + skeletonBranch + '` branch.')); u.log(' ' + $chalk.green('i.e., saving latest skeleton changes before self-update.')); if (!this.args.dryRun) { await u.gitAddCommitPush((this.args.message + ' [d]').trim()); } - } else if (await u.isPkgRepo('clevercanyon/skeleton')) { + } else if (await u.isPkgName('@clevercanyon/skeleton')) { // Don't perform a self-update if the remote isn't in sync with our local copy. if ((await u.gitLocalRepoSHA(projDir, skeletonBranch)) !== (await u.gitRemoteRepoSHA(skeletonRepoURL, skeletonBranch))) { throw new Error('`clevercanyon/skeleton` is out of sync with git remote origin; `' + skeletonBranch + '` branch.'); diff --git a/dev/.files/bin/updater/index.mjs b/dev/.files/bin/updater/index.mjs index 73ba0fa..c8dc6fe 100644 --- a/dev/.files/bin/updater/index.mjs +++ b/dev/.files/bin/updater/index.mjs @@ -10,7 +10,7 @@ import fs from 'node:fs'; import fsp from 'node:fs/promises'; import path from 'node:path'; import { $chalk, $fs, $prettier } from '../../../../node_modules/@clevercanyon/utilities.node/dist/index.js'; -import { $is, $json, $obj, $obp, $str } from '../../../../node_modules/@clevercanyon/utilities/dist/index.js'; +import { $is, $json, $obj, $obp } from '../../../../node_modules/@clevercanyon/utilities/dist/index.js'; import nodeVersion from '../includes/node-version.mjs'; import customRegExp from './data/custom-regexp.mjs'; @@ -44,26 +44,24 @@ export default async ({ projDir }) => { /** * Gets properties from `./package.json` file. */ - const { pkgRepository, pkgDotfileLocks } = await (async () => { + const { pkgName, pkgDotfileLocks } = await (async () => { const pkg = await getPkg(); - const pkgRepository = pkg.repository || ''; + const pkgName = pkg.name || ''; let pkgDotfileLocks = $obp.get(pkg, 'config.c10n.&.dotfiles.lock', []); pkgDotfileLocks = pkgDotfileLocks.map((relPath) => path.resolve(projDir, relPath)); - return { pkgRepository, pkgDotfileLocks }; + return { pkgName, pkgDotfileLocks }; })(); /** - * Tests `pkgRepository` against an `owner/repo` string. + * Tests `pkgName` against current package. * - * @param {string} ownerRepo An `owner/repo` string. + * @param {string} name A fully qualified package name. * - * @returns {boolean} True if current package repo is `ownerRepo`. + * @returns {boolean} True if is current package name. */ - const isPkgRepo = async (ownerRepo) => { - return new RegExp('[:/]' + $str.escRegExp(ownerRepo) + '(?:\\.git)?$', 'iu').test(pkgRepository); - }; + const isPkgName = async (name) => name === pkgName; // True if is current package name. /** * Checks dotfile locks. @@ -233,7 +231,7 @@ export default async ({ projDir }) => { updates.$ꓺset.engines.npm = (updates.$ꓺset.engines.npm.length ? '^' : '') + updates.$ꓺset.engines.npm.join(' || ^'); } } - if ('./package.json' === relPath && (await isPkgRepo('clevercanyon/dev-deps'))) { + if ('./package.json' === relPath && (await isPkgName('@clevercanyon/dev-deps'))) { if (updates.$ꓺdefaults?.['devDependenciesꓺ@clevercanyon/dev-deps']) { delete updates.$ꓺdefaults['devDependenciesꓺ@clevercanyon/dev-deps']; } diff --git a/dev/.files/madrun/includes/events.mjs b/dev/.files/madrun/includes/events.mjs index 2f2c106..11d443b 100644 --- a/dev/.files/madrun/includes/events.mjs +++ b/dev/.files/madrun/includes/events.mjs @@ -118,7 +118,7 @@ export default { .readFile(envProdFile) .then(async (envProd) => { envProd = envProd.toString(); - envProd = envProd.replace(/^(APP_BASE_URL)\s*=\s*[^\r\n]*$/gmu, "$1='https://" + pkgSlug + '.' + hop.hostname + "'"); + envProd = envProd.replace(/^(APP_BASE_URL)\s*=\s*[^\r\n]*$/gmu, "$1='https://" + pkgSlug + '.' + hop.hostname + "/'"); await fsp.writeFile(envProdFile, envProd); }) .catch((error) => { diff --git a/dev/.files/vite/config.mjs b/dev/.files/vite/config.mjs index 2ea3d3a..4cd31f6 100644 --- a/dev/.files/vite/config.mjs +++ b/dev/.files/vite/config.mjs @@ -201,7 +201,7 @@ export default async ({ mode, command, ssrBuild: isSSRBuild }) => { root: srcDir, // Absolute path where entry indexes live. publicDir: isSSRBuild ? false : path.relative(srcDir, cargoDir), - base: (appBaseURL ? $url.parse(appBaseURL).pathname : '') || '/', // @todo Update to `$url.toPath()`. + base: (appBaseURL ? $url.toPath(appBaseURL) : '') || '/', envDir: path.relative(srcDir, envsDir), // Relative to `root` directory. envPrefix: appEnvPrefixes, // Env vars w/ these prefixes become part of the app. diff --git a/dev/.files/vscode/config.mjs b/dev/.files/vscode/config.mjs index a7cc9cc..e717f17 100755 --- a/dev/.files/vscode/config.mjs +++ b/dev/.files/vscode/config.mjs @@ -123,7 +123,7 @@ export default async () => { // Plus these additional hidden files we control using ext: `PeterSchmalfeldt.explorer-exclude`. // These work together with the additional setting below for the extension: `explorerExclude.backup`. - ...(!(await u.isPkgRepo('clevercanyon/skeleton')) + ...(!(await u.isPkgName('@clevercanyon/skeleton')) ? { ...exclusions.asBoolProps( exclusions.asRelativeGlobs( @@ -155,7 +155,7 @@ export default async () => { // Plus everything in `../../../.gitignore`. // ... plus these additional search ignores. - ...(!(await u.isPkgRepo('clevercanyon/skeleton')) + ...(!(await u.isPkgName('@clevercanyon/skeleton')) ? { ...exclusions.asBoolProps( exclusions.asRootedRelativeGlobs( @@ -204,7 +204,7 @@ export default async () => { // Comment Anchors uses minimatch, with `{ dot: false }`. 'commentAnchors.workspace.excludeFiles': exclusions.asBracedGlob( [ - ...(!(await u.isPkgRepo('clevercanyon/skeleton')) // + ...(!(await u.isPkgName('@clevercanyon/skeleton')) // ? [...exclusions.devDotFileIgnores] : []), ...exclusions.logIgnores, @@ -232,7 +232,7 @@ export default async () => { * * @see https://github.com/StarlaneStudios/vscode-comment-anchors/issues/209 */ - 'commentAnchors.workspace.matchFiles': (await u.isPkgRepo('clevercanyon/skeleton')) + 'commentAnchors.workspace.matchFiles': (await u.isPkgName('@clevercanyon/skeleton')) ? '{**/,**/dev/.files/,**/dev/.files/**/}*.' + extensions.asBracedGlob([...extensions.commentAnchorsContent]) : '**/*.' + extensions.asBracedGlob([...extensions.commentAnchorsContent]), @@ -301,7 +301,7 @@ export default async () => { 'tailwindCSS.classAttributes': tailwindSettings.classAttributes, 'tailwindCSS.includeLanguages': {}, // Defaults ok; {@see https://o5p.me/kaPo3F}. 'tailwindCSS.files.exclude': [ - ...(!(await u.isPkgRepo('clevercanyon/skeleton')) ? [...exclusions.devDotFileIgnores] : []), + ...(!(await u.isPkgName('@clevercanyon/skeleton')) ? [...exclusions.devDotFileIgnores] : []), ...exclusions.logIgnores, // ...exclusions.backupIgnores, ...exclusions.patchIgnores, diff --git a/package-lock.json b/package-lock.json index f768e9e..2cbb285 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@clevercanyon/utilities.cfw", - "version": "1.0.116", + "version": "1.0.117", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@clevercanyon/utilities.cfw", - "version": "1.0.116", + "version": "1.0.117", "cpu": [ "x64", "arm64" @@ -17,7 +17,7 @@ "linux" ], "devDependencies": { - "@clevercanyon/dev-deps": "^1.0.249" + "@clevercanyon/dev-deps": "^1.0.250" }, "engines": { "node": "^19.1.0 || ^20.5.0", @@ -27,7 +27,7 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/utilities": "^1.0.332", + "@clevercanyon/utilities": "^1.0.333", "@cloudflare/kv-asset-handler": "^0.2.0" } }, @@ -843,9 +843,9 @@ "dev": true }, "node_modules/@clevercanyon/dev-deps": { - "version": "1.0.249", - "resolved": "https://registry.npmjs.org/@clevercanyon/dev-deps/-/dev-deps-1.0.249.tgz", - "integrity": "sha512-/Tq8ql12Ildsu5qv8euyK5kkuwXPZTGd3ouR/nmol1PzTNf03SEU0AEoplSeXUvViaNCumiBv24a++WaBeuZSw==", + "version": "1.0.250", + "resolved": "https://registry.npmjs.org/@clevercanyon/dev-deps/-/dev-deps-1.0.250.tgz", + "integrity": "sha512-RdWfOKPR01lyIQ27u/h7tWZMhLUrK8/vOvKISYkTdY36UKF18tS+2XY/1qDpUQj/yva9JzU5OX38jEL3Wflt1A==", "cpu": [ "x64", "arm64" @@ -856,11 +856,11 @@ "linux" ], "dependencies": { - "@clevercanyon/madrun": "^1.0.117", - "@clevercanyon/utilities": "^1.0.331", - "@clevercanyon/utilities.bash": "^1.0.135", - "@clevercanyon/utilities.cfp": "^1.0.106", - "@clevercanyon/utilities.node": "^1.0.123", + "@clevercanyon/madrun": "^1.0.118", + "@clevercanyon/utilities": "^1.0.332", + "@clevercanyon/utilities.bash": "^1.0.136", + "@clevercanyon/utilities.cfp": "^1.0.107", + "@clevercanyon/utilities.node": "^1.0.124", "@cloudflare/workers-types": "^4.20231002.0", "@eslint/js": "^8.48.0", "@iarna/toml": "^2.2.5", @@ -932,7 +932,7 @@ "remark-preset-lint-recommended": "^6.1.3", "remark-preset-prettier": "^2.0.1", "remark-smartypants": "^2.0.0", - "sass": "^1.69.0", + "sass": "^1.69.1", "shellcheck": "^1.1.0", "stylelint": "^15.10.3", "stylelint-config-recess-order": "^4.3.0", @@ -958,9 +958,9 @@ } }, "node_modules/@clevercanyon/madrun": { - "version": "1.0.118", - "resolved": "https://registry.npmjs.org/@clevercanyon/madrun/-/madrun-1.0.118.tgz", - "integrity": "sha512-9PR/2dNda3zajzXGbWlzTOBEYDTOC+S0nesyPmSPw+Pi7X54/72DLOYIsKG3Inougq/IO1PacSwS6r8zA0DuEw==", + "version": "1.0.119", + "resolved": "https://registry.npmjs.org/@clevercanyon/madrun/-/madrun-1.0.119.tgz", + "integrity": "sha512-lhdHzsLOEkxACoQc2jrlzAeWmtbRWJmKOTKaMgPzPSOR4dprCFK+vJ3U0zt6soHrUOkyqPLLKwLdtSwUv5fMAw==", "cpu": [ "x64", "arm64" @@ -971,8 +971,8 @@ "linux" ], "dependencies": { - "@clevercanyon/utilities": "^1.0.331", - "@clevercanyon/utilities.node": "^1.0.123" + "@clevercanyon/utilities": "^1.0.332", + "@clevercanyon/utilities.node": "^1.0.124" }, "bin": { "madrun": "dist/bin/cli.js" @@ -986,9 +986,9 @@ } }, "node_modules/@clevercanyon/preact-iso.fork": { - "version": "2.3.82", - "resolved": "https://registry.npmjs.org/@clevercanyon/preact-iso.fork/-/preact-iso.fork-2.3.82.tgz", - "integrity": "sha512-zYpSmj83jfmciioBpB9H42mlXoRHbdO70kc9PSSRulH+NaTN0ZGm5swINeRhcl4yewYd24GXJI9hVFWNyPihfQ==", + "version": "2.3.83", + "resolved": "https://registry.npmjs.org/@clevercanyon/preact-iso.fork/-/preact-iso.fork-2.3.83.tgz", + "integrity": "sha512-oPUUxIzVQHUftdSGMNJCAwHifuQn++UBgaf+6QgUGPLBE0h5SSA8X02LzILOtGAQK3jC3B+ReWgBqx7M2JyGDA==", "cpu": [ "x64", "arm64" @@ -1006,15 +1006,15 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/utilities": "^1.0.331", + "@clevercanyon/utilities": "^1.0.332", "preact": "^10.18.1", "preact-render-to-string": "^6.2.2" } }, "node_modules/@clevercanyon/split-cmd.fork": { - "version": "1.0.69", - "resolved": "https://registry.npmjs.org/@clevercanyon/split-cmd.fork/-/split-cmd.fork-1.0.69.tgz", - "integrity": "sha512-HW81vxqeO4QGmMhevyLNtrnrLYujW1o0OVPnzGHTqSJWgBg0v3h6VmMgOAl0HrLJQCPmFCcna8Mu207+DdvuTw==", + "version": "1.0.70", + "resolved": "https://registry.npmjs.org/@clevercanyon/split-cmd.fork/-/split-cmd.fork-1.0.70.tgz", + "integrity": "sha512-pUrdZn+fNVSBIlGqCaiH125XWpCoWJkVV+1LQFQZ61qoBj7Ln2CpjzuOxvdTlLVOwWQgKYQ9ilt30udQ4ISFig==", "cpu": [ "x64", "arm64" @@ -1034,9 +1034,9 @@ } }, "node_modules/@clevercanyon/utilities": { - "version": "1.0.332", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities/-/utilities-1.0.332.tgz", - "integrity": "sha512-Q6+vDupBIApGvgTHSzj0yJVg5HoRpg4EulZrFX1xfqctv5Yk61/VkHKlkXG2a2X4n0H/9zkBZpwt6KwGyexrVg==", + "version": "1.0.333", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities/-/utilities-1.0.333.tgz", + "integrity": "sha512-asjzSdxuqC6IP50skmAtkD1E8hztFGwlIbnfh4TZst73oHBA2lM0+NWgInWupiCg6tjWSE+c4HfxlTCirtZxgQ==", "cpu": [ "x64", "arm64" @@ -1053,12 +1053,12 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/preact-iso.fork": "^2.3.82", + "@clevercanyon/preact-iso.fork": "^2.3.83", "ignore": "^5.2.4", "ip-regex": "^5.0.0", "luxon": "^3.4.3", "micro-memoize": "^4.1.2", - "micromatch": "npm:@clevercanyon/micromatch.fork@^4.0.71", + "micromatch": "npm:@clevercanyon/micromatch.fork@^4.0.72", "preact": "^10.18.1", "preact-render-to-string": "^6.2.2", "react": "npm:@preact/compat@^17.1.2", @@ -1067,9 +1067,9 @@ } }, "node_modules/@clevercanyon/utilities.bash": { - "version": "1.0.135", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.bash/-/utilities.bash-1.0.135.tgz", - "integrity": "sha512-aumSO0V8ez1zQWiTVJ3SyPSoa3t64jh5bim6tzKvrME916x9+ovbjUnU+4q8uxJJS9UO1TcSq5PqR6fhzIKkOA==", + "version": "1.0.136", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.bash/-/utilities.bash-1.0.136.tgz", + "integrity": "sha512-euWttqo/sR9phw1Qy+iGJG6tisLnKv5b6qpf0owyEKVVjnjhCzfwpvU2SpOq+EgXlM690fyOTzJGeopWDo/lcg==", "cpu": [ "x64", "arm64" @@ -1087,14 +1087,14 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/utilities": "^1.0.331", - "@clevercanyon/utilities.node": "^1.0.123" + "@clevercanyon/utilities": "^1.0.332", + "@clevercanyon/utilities.node": "^1.0.124" } }, "node_modules/@clevercanyon/utilities.cfp": { - "version": "1.0.106", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.cfp/-/utilities.cfp-1.0.106.tgz", - "integrity": "sha512-hhgPbxDZ69JxEgJeKNAsGywgaFM9zlrp1fApZJsab3EDvIRYlxEfd1+Ey4f8f/i2Yg5AtR5iRs2CWnXNb4YRyA==", + "version": "1.0.107", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.cfp/-/utilities.cfp-1.0.107.tgz", + "integrity": "sha512-YASg1Mus1jdnu6/sUw7irfP9UiDWc3tiTB8n0r3XVraS3SrRD7RU/GWL2tfFB2Bv0/kMA0/7QPF86BIo6N7+RA==", "cpu": [ "x64", "arm64" @@ -1112,15 +1112,15 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/utilities": "^1.0.331", - "@clevercanyon/utilities.cfw": "^1.0.116", - "@clevercanyon/utilities.web": "^1.0.82" + "@clevercanyon/utilities": "^1.0.332", + "@clevercanyon/utilities.cfw": "^1.0.117", + "@clevercanyon/utilities.web": "^1.0.83" } }, "node_modules/@clevercanyon/utilities.cfw": { - "version": "1.0.116", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.cfw/-/utilities.cfw-1.0.116.tgz", - "integrity": "sha512-QOtkP/zt+p0LW4zC2eXmICK+V+PFCkArzyKVfkEp04Qot6/wbBcOcUJwV37GnfR0SW+46flt6quLABbvzQu/xg==", + "version": "1.0.117", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.cfw/-/utilities.cfw-1.0.117.tgz", + "integrity": "sha512-N2Lerl7lbXVUeEm1jNgKcNcJuOntf7jR+/V8nR+aqnLg70bb5c0Sr7ngwos+Vu7I6VlqCgFcDqmTvotVJbQQ1g==", "cpu": [ "x64", "arm64" @@ -1139,14 +1139,14 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/utilities": "^1.0.331", + "@clevercanyon/utilities": "^1.0.332", "@cloudflare/kv-asset-handler": "^0.2.0" } }, "node_modules/@clevercanyon/utilities.node": { - "version": "1.0.124", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.node/-/utilities.node-1.0.124.tgz", - "integrity": "sha512-UtS+mEQz1QRaYEhFHNfhn0aVh126ricPQ81jXw5Ck7bGI0vm1br1TmWT8YB2wN6P5166rnYexPdQe+td4jyDZQ==", + "version": "1.0.125", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.node/-/utilities.node-1.0.125.tgz", + "integrity": "sha512-d6tFRfCK98tOd8DkMWww8+CmkNtwQslFkHel9OLgB6WXuHdJgo289HOvSfgoDSP+3+jeSiFPuLdttt0sfb13QA==", "cpu": [ "x64", "arm64" @@ -1164,8 +1164,8 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/split-cmd.fork": "^1.0.69", - "@clevercanyon/utilities": "^1.0.332", + "@clevercanyon/split-cmd.fork": "^1.0.70", + "@clevercanyon/utilities": "^1.0.333", "archiver": "^5.3.2", "boxen": "^7.1.1", "chalk": "^5.3.0", @@ -1176,16 +1176,16 @@ "globby": "^13.2.2", "prettier": "^3.0.3", "shescape": "^2.0.0", - "spawn-please": "npm:@clevercanyon/spawn-please.fork@^2.0.63", + "spawn-please": "npm:@clevercanyon/spawn-please.fork@^2.0.64", "term-img": "^6.0.0", "yargs": "^17.7.2", "yargs-parser": "^21.1.1" } }, "node_modules/@clevercanyon/utilities.web": { - "version": "1.0.83", - "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.web/-/utilities.web-1.0.83.tgz", - "integrity": "sha512-5RudwFfOXG4+LfpR5R7pmmEtz7Bjmb8ShwOD54JHuk/NOEw7sFpkQzv5DsSlw7NLYlsVe7oEn9y/S3uUVt25XA==", + "version": "1.0.84", + "resolved": "https://registry.npmjs.org/@clevercanyon/utilities.web/-/utilities.web-1.0.84.tgz", + "integrity": "sha512-qCCEyQb2z2QsfE2a4lMgXdn9qzdtACBjh9wURoPtyMgq3OQTyrEfCEDb455JxWegRgc4eRNbGwB3YJQ/ewds+A==", "cpu": [ "x64", "arm64" @@ -1204,7 +1204,7 @@ "url": "https://github.com/sponsors/clevercanyon" }, "peerDependencies": { - "@clevercanyon/utilities": "^1.0.331" + "@clevercanyon/utilities": "^1.0.332" } }, "node_modules/@cloudflare/kv-asset-handler": { @@ -8191,9 +8191,9 @@ }, "node_modules/braces": { "name": "@clevercanyon/braces.fork", - "version": "3.0.67", - "resolved": "https://registry.npmjs.org/@clevercanyon/braces.fork/-/braces.fork-3.0.67.tgz", - "integrity": "sha512-hYxiylao129wsHreJRidWXDF+xwilbmiKTnSr2e4iu+J91LhIaYdL39MoYjVNb1R/qh/Pwfr6X9M/jbfZi6Tdw==", + "version": "3.0.68", + "resolved": "https://registry.npmjs.org/@clevercanyon/braces.fork/-/braces.fork-3.0.68.tgz", + "integrity": "sha512-X8ObbmoGRPR5vOj8FCsFH64mOzk5ZXygAOaacR2w7x7kAj+PL6ZfD2g9WVkWcuXS9jHSbpUO1DzsOMUjGW1qdQ==", "cpu": [ "x64", "arm64" @@ -8203,7 +8203,7 @@ "linux" ], "dependencies": { - "fill-range": "npm:@clevercanyon/fill-range.fork@^7.0.66" + "fill-range": "npm:@clevercanyon/fill-range.fork@^7.0.67" }, "engines": { "node": "^19.1.0 || ^20.5.0", @@ -12284,9 +12284,9 @@ }, "node_modules/fill-range": { "name": "@clevercanyon/fill-range.fork", - "version": "7.0.66", - "resolved": "https://registry.npmjs.org/@clevercanyon/fill-range.fork/-/fill-range.fork-7.0.66.tgz", - "integrity": "sha512-NYtN81HwTG4dLo6GmEdqkEZbGRyGMncOS8p3Sj/qJtUHvXueMl7nkct4g18n4j2X8Gm+lOiiMgy6V4Vz4H3NBw==", + "version": "7.0.67", + "resolved": "https://registry.npmjs.org/@clevercanyon/fill-range.fork/-/fill-range.fork-7.0.67.tgz", + "integrity": "sha512-gQGFBWbY1SqML+obkkccX6eZPGutQ3UPk4g39gPLC8lhtJME6CQ6iad/Ja6PIHoQOfaigxogENBiRkCW7/ZQ6w==", "cpu": [ "x64", "arm64" @@ -12296,7 +12296,7 @@ "linux" ], "dependencies": { - "to-regex-range": "npm:@clevercanyon/to-regex-range.fork@^5.0.66" + "to-regex-range": "npm:@clevercanyon/to-regex-range.fork@^5.0.67" }, "engines": { "node": "^19.1.0 || ^20.5.0", @@ -14429,9 +14429,9 @@ }, "node_modules/is-number": { "name": "@clevercanyon/is-number.fork", - "version": "7.0.69", - "resolved": "https://registry.npmjs.org/@clevercanyon/is-number.fork/-/is-number.fork-7.0.69.tgz", - "integrity": "sha512-4fqV+xZt03h5ASn8r34wjLyt8ROB1RX2xHhBsINEU2KhWHx5HHNN8UUKi2D5RE75wObgakXa4WS2uUl4+t+f5w==", + "version": "7.0.70", + "resolved": "https://registry.npmjs.org/@clevercanyon/is-number.fork/-/is-number.fork-7.0.70.tgz", + "integrity": "sha512-ZePjQYlAdFrX5/od9SEz7RBiu/iO1BuzdL6Syun3wRPSDDOZcyPOB69KJbIV5VnhMeHEoAEvoBsZcAvzlmaMsA==", "cpu": [ "x64", "arm64" @@ -19093,9 +19093,9 @@ }, "node_modules/micromatch": { "name": "@clevercanyon/micromatch.fork", - "version": "4.0.71", - "resolved": "https://registry.npmjs.org/@clevercanyon/micromatch.fork/-/micromatch.fork-4.0.71.tgz", - "integrity": "sha512-0+rvcdU4cT7DGwuPiD9E95Lvs/NgaE/m+zvCkPZcSCrMtCK+FBkw1iU9hALR3IS0tsGkRbtH7rMjIkUPJmRXXg==", + "version": "4.0.72", + "resolved": "https://registry.npmjs.org/@clevercanyon/micromatch.fork/-/micromatch.fork-4.0.72.tgz", + "integrity": "sha512-Z8le8VvHbAKllEEycKce8ObxYP4OHif8VnjH0wk9MXbC/b+fO2ISEsKXPQ8LycwptQU2571TDKBbMtfnTrYEow==", "cpu": [ "x64", "arm64" @@ -19105,8 +19105,8 @@ "linux" ], "dependencies": { - "braces": "npm:@clevercanyon/braces.fork@^3.0.67", - "picomatch": "npm:@clevercanyon/picomatch.fork@^2.3.66" + "braces": "npm:@clevercanyon/braces.fork@^3.0.68", + "picomatch": "npm:@clevercanyon/picomatch.fork@^2.3.67" }, "engines": { "node": "^19.1.0 || ^20.5.0", @@ -19118,9 +19118,9 @@ }, "node_modules/micromatch/node_modules/picomatch": { "name": "@clevercanyon/picomatch.fork", - "version": "2.3.66", - "resolved": "https://registry.npmjs.org/@clevercanyon/picomatch.fork/-/picomatch.fork-2.3.66.tgz", - "integrity": "sha512-beI6zteZlCMsI9hZJxvMvgYYXMDMUGg/hA3VQPRukhi5/cTIvdrM1uBATWuEVnmhkZ3zHftj5HbYMATEbB+Dig==", + "version": "2.3.67", + "resolved": "https://registry.npmjs.org/@clevercanyon/picomatch.fork/-/picomatch.fork-2.3.67.tgz", + "integrity": "sha512-pGXaeEZgyYTUPANvN23Qqoaxqv4mRICbjIweQy81NrJJl6wOXD3XkoxRajO1wfdbaqDmUmQM1cq43DNTpO9ATg==", "cpu": [ "x64", "arm64" @@ -24729,9 +24729,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.69.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.0.tgz", - "integrity": "sha512-l3bbFpfTOGgQZCLU/gvm1lbsQ5mC/WnLz3djL2v4WCJBDrWm58PO+jgngcGRNnKUh6wSsdm50YaovTqskZ0xDQ==", + "version": "1.69.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.1.tgz", + "integrity": "sha512-nc969GvTVz38oqKgYYVHM/Iq7Yl33IILy5uqaH2CWSiSUmRCvw+UR7tA3845Sp4BD5ykCUimvrT3k1EjTwpVUA==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -25155,9 +25155,9 @@ }, "node_modules/spawn-please": { "name": "@clevercanyon/spawn-please.fork", - "version": "2.0.63", - "resolved": "https://registry.npmjs.org/@clevercanyon/spawn-please.fork/-/spawn-please.fork-2.0.63.tgz", - "integrity": "sha512-JVUVsYMtBxdnMvw/je3cKl5rkWUSBU4392n/JPQvoye1Gz7I+AZ5I13oXNlN6X7EUAbebt3ZpuahGjTuRI6OyA==", + "version": "2.0.64", + "resolved": "https://registry.npmjs.org/@clevercanyon/spawn-please.fork/-/spawn-please.fork-2.0.64.tgz", + "integrity": "sha512-2mGfjay22MT0FkNqOjtxPyJL9tt7Iv+SHWnfo/9g+qSjOIJaXJBEAMFTRCABS9AxUIbByGzm1vj2Kxgjl0p01g==", "cpu": [ "x64", "arm64" @@ -26466,9 +26466,9 @@ }, "node_modules/to-regex-range": { "name": "@clevercanyon/to-regex-range.fork", - "version": "5.0.66", - "resolved": "https://registry.npmjs.org/@clevercanyon/to-regex-range.fork/-/to-regex-range.fork-5.0.66.tgz", - "integrity": "sha512-z6p9/V6Ngft4lWGeJ/jrAztOP2YVB/daqegvT1uRtm9WSprV/F2R3AJrKWYEEi3CglXvJ1mcyY5W3kJQ4ScDuQ==", + "version": "5.0.67", + "resolved": "https://registry.npmjs.org/@clevercanyon/to-regex-range.fork/-/to-regex-range.fork-5.0.67.tgz", + "integrity": "sha512-4gyvGwt17LauDxGICRG+vGHr2i3Tnm3iOzct4+fH6tR0Agy4fw52W8berMSuozKHfiyT4gHatQshP3atNNq7FA==", "cpu": [ "x64", "arm64" @@ -26478,7 +26478,7 @@ "linux" ], "dependencies": { - "is-number": "npm:@clevercanyon/is-number.fork@^7.0.69" + "is-number": "npm:@clevercanyon/is-number.fork@^7.0.70" }, "engines": { "node": "^19.1.0 || ^20.5.0", diff --git a/package.json b/package.json index ba179e6..8fc1678 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "publishConfig": { "access": "public" }, - "version": "1.0.117", + "version": "1.0.118", "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.332", + "@clevercanyon/utilities": "^1.0.333", "@cloudflare/kv-asset-handler": "^0.2.0" }, "peerDependenciesMeta": {}, "optionalDependencies": {}, "bundleDependencies": [], "devDependencies": { - "@clevercanyon/dev-deps": "^1.0.249" + "@clevercanyon/dev-deps": "^1.0.250" }, "overrides": {}, "cpu": ["x64", "arm64"], diff --git a/tsconfig.json b/tsconfig.json index 5ebf50d..1ef3732 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,7 +7,7 @@ * @note This entire file will be updated automatically. * @note Instead of editing here, please review `./tsconfig.mjs`. * - * Last generated using `./tsconfig.mjs` Mon, Oct 9, 2023, 5:45:46 PM EDT. + * Last generated using `./tsconfig.mjs` Mon, Oct 9, 2023, 9:57:11 PM EDT. */ { "include": ["./src/**/*", "./dev-types.d.ts"], diff --git a/wrangler.toml b/wrangler.toml index cf06692..219372f 100644 --- a/wrangler.toml +++ b/wrangler.toml @@ -7,7 +7,7 @@ # @note This entire file will be updated automatically. # @note Instead of editing here, please review `./wrangler.mjs`. # -# Last generated using `./wrangler.mjs` Mon, Oct 9, 2023, 5:45:46 PM EDT. +# Last generated using `./wrangler.mjs` Mon, Oct 9, 2023, 9:57:12 PM EDT. ## send_metrics = false