@nightintelligence/cloudflare-workers-utils 0.35.0-patch2 → 0.35.0-patch4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/browser.mjs +2 -2
  2. package/dist/{chunk-NXPJWJ2B.mjs → chunk-47QFQIPP.mjs} +7 -7
  3. package/dist/{chunk-NXPJWJ2B.mjs.map → chunk-47QFQIPP.mjs.map} +1 -1
  4. package/dist/{chunk-OPAKTV2K.mjs → chunk-555CCIJE.mjs} +4 -4
  5. package/dist/{chunk-OPAKTV2K.mjs.map → chunk-555CCIJE.mjs.map} +1 -1
  6. package/dist/chunk-CGILA3WO.mjs +12 -0
  7. package/dist/{chunk-6LYDFTTF.mjs.map → chunk-CGILA3WO.mjs.map} +1 -1
  8. package/dist/{chunk-3D4BXUZX.mjs → chunk-FEHWZI5W.mjs} +3 -3
  9. package/dist/{chunk-3D4BXUZX.mjs.map → chunk-FEHWZI5W.mjs.map} +1 -1
  10. package/dist/{chunk-CPLEE7LH.mjs → chunk-KAEJMITB.mjs} +3 -3
  11. package/dist/{chunk-CPLEE7LH.mjs.map → chunk-KAEJMITB.mjs.map} +1 -1
  12. package/dist/{chunk-VKFVZ67V.mjs → chunk-T6I7NOR4.mjs} +3 -3
  13. package/dist/{chunk-VKFVZ67V.mjs.map → chunk-T6I7NOR4.mjs.map} +1 -1
  14. package/dist/{chunk-W7DIL5J2.mjs → chunk-VTOON473.mjs} +4 -34
  15. package/dist/chunk-VTOON473.mjs.map +1 -0
  16. package/dist/chunk-W4SU7D4X.mjs +575 -0
  17. package/dist/chunk-W4SU7D4X.mjs.map +1 -0
  18. package/dist/{chunk-IGC3TZGH.mjs → chunk-YTEYGQOX.mjs} +4 -4
  19. package/dist/{chunk-IGC3TZGH.mjs.map → chunk-YTEYGQOX.mjs.map} +1 -1
  20. package/dist/{chunk-ZQ2EZEOC.mjs → chunk-Z7Q743IF.mjs} +3 -3
  21. package/dist/{chunk-ZQ2EZEOC.mjs.map → chunk-Z7Q743IF.mjs.map} +1 -1
  22. package/dist/{chunk-ZLUHKBEC.mjs → chunk-ZZBYXY7A.mjs} +3 -3
  23. package/dist/{chunk-ZLUHKBEC.mjs.map → chunk-ZZBYXY7A.mjs.map} +1 -1
  24. package/dist/compatibility-date.mjs +2 -2
  25. package/dist/compliance.mjs +6 -7
  26. package/dist/docker-path.mjs +3 -3
  27. package/dist/errors.mjs +2 -2
  28. package/dist/fs-helpers.mjs +2 -2
  29. package/dist/global-wrangler-config-path.mjs +3 -3
  30. package/dist/index.mjs +402 -17128
  31. package/dist/index.mjs.map +1 -1
  32. package/dist/local-env.mjs +3 -78
  33. package/dist/local-env.mjs.map +1 -1
  34. package/dist/metafile-esm.json +1 -1
  35. package/dist/prometheus-metrics.mjs +2 -2
  36. package/dist/test-helpers/index.mjs +4 -5
  37. package/dist/test-helpers/index.mjs.map +1 -1
  38. package/dist/zod-format.mjs +2 -2
  39. package/package.json +1 -1
  40. package/dist/chunk-4RE36JUD.mjs +0 -3160
  41. package/dist/chunk-4RE36JUD.mjs.map +0 -1
  42. package/dist/chunk-6LYDFTTF.mjs +0 -40
  43. package/dist/chunk-G5FCNCLK.mjs +0 -47
  44. package/dist/chunk-G5FCNCLK.mjs.map +0 -1
  45. package/dist/chunk-W7DIL5J2.mjs.map +0 -1
  46. package/dist/open-OYMIZX6T.mjs +0 -609
  47. package/dist/open-OYMIZX6T.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
- import { isDirectory } from './chunk-VKFVZ67V.mjs';
2
- import { __name } from './chunk-6LYDFTTF.mjs';
1
+ import { isDirectory } from './chunk-T6I7NOR4.mjs';
2
+ import { __name } from './chunk-CGILA3WO.mjs';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
 
@@ -153,5 +153,5 @@ function getGlobalWranglerCachePath() {
153
153
  __name(getGlobalWranglerCachePath, "getGlobalWranglerCachePath");
154
154
 
155
155
  export { getGlobalConfigPath, getGlobalWranglerCachePath };
156
- //# sourceMappingURL=chunk-IGC3TZGH.mjs.map
157
- //# sourceMappingURL=chunk-IGC3TZGH.mjs.map
156
+ //# sourceMappingURL=chunk-YTEYGQOX.mjs.map
157
+ //# sourceMappingURL=chunk-YTEYGQOX.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/xdg-app-paths.ts","../src/global-wrangler-config-path.ts"],"names":["fallback","path","os"],"mappings":"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","file":"chunk-IGC3TZGH.mjs","sourcesContent":["import os from \"node:os\";\nimport path from \"node:path\";\n\n/**\n * @module\n *\n * A small, pure-ESM, dependency-free reimplementation of the subset of\n * [`xdg-app-paths`](https://www.npmjs.com/package/xdg-app-paths) that this\n * repository relies on.\n *\n * `xdg-app-paths` (and its `xdg-portable` / `os-paths` dependencies) ship as\n * CommonJS. When the consuming package is bundled to ESM (e.g. via tsup or when\n * a downstream consumer runs through Vite), the CJS `require()` calls are\n * shimmed and throw at runtime (\"Dynamic require of 'path' is not supported\").\n * Vendoring the resolution logic here keeps the behaviour identical while\n * remaining pure ESM.\n *\n * The path resolution intentionally mirrors `xdg-app-paths@8` →\n * `xdg-portable@10` → `os-paths@7` exactly so that the resolved config/cache\n * directories (which hold, amongst other things, Wrangler's auth credentials)\n * do not change for existing users.\n *\n * ---\n *\n * This implementation is adapted from `xdg-app-paths`, `xdg-portable` and\n * `os-paths` (https://github.com/rivy/js.xdg-app-paths), published under the\n * MIT License:\n *\n * Copyright (c) Roy Ivy III <rivy.dev@gmail.com>\n * Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n * DEALINGS IN THE SOFTWARE.\n */\n\nfunction isWindows(): boolean {\n\treturn /^win/i.test(process.platform);\n}\n\nfunction isMacOS(): boolean {\n\treturn /^darwin$/i.test(process.platform);\n}\n\nfunction isNonEmpty(value: string | undefined): value is string {\n\treturn !!value;\n}\n\n/**\n * Read an OS/XDG environment variable. Accessed dynamically (mirroring\n * `xdg-portable`'s `env.get()`) so these process-level variables don't need to\n * be declared as build inputs (`turbo/no-undeclared-env-vars`) — they are not\n * Wrangler configuration variables.\n */\nfunction getEnv(name: string): string | undefined {\n\treturn process.env[name];\n}\n\n/** Mirrors `os-paths`' `normalizePath`. */\nfunction normalizePath(p: string | undefined): string | undefined {\n\treturn p ? path.normalize(path.join(p, \".\")) : undefined;\n}\n\n/** Mirrors `os-paths`' `home()`. */\nfunction homeDir(): string | undefined {\n\tif (isWindows()) {\n\t\tconst priorityList = [\n\t\t\tos.homedir(),\n\t\t\tgetEnv(\"USERPROFILE\"),\n\t\t\tgetEnv(\"HOME\"),\n\t\t\t// NOTE: `os-paths@7` uses `||` here (not `&&`), so a home directory is\n\t\t\t// derived even when only one of HOMEDRIVE/HOMEPATH is set. This is\n\t\t\t// preserved deliberately for byte-for-byte parity — see the parity\n\t\t\t// tests, which compare this branch against the real package.\n\t\t\tgetEnv(\"HOMEDRIVE\") || getEnv(\"HOMEPATH\")\n\t\t\t\t? path.join(getEnv(\"HOMEDRIVE\") ?? \"\", getEnv(\"HOMEPATH\") ?? \"\")\n\t\t\t\t: undefined,\n\t\t];\n\t\treturn normalizePath(priorityList.find(isNonEmpty));\n\t}\n\treturn normalizePath(os.homedir() || getEnv(\"HOME\"));\n}\n\nfunction joinToBase(\n\tbase: string | undefined,\n\tsegments: string[]\n): string | undefined {\n\treturn base ? path.join(base, ...segments) : undefined;\n}\n\n/** Mirrors `os-paths`' `temp()`. */\nfunction tempDir(): string {\n\tif (isWindows()) {\n\t\tconst fallback = \"C:\\\\Temp\";\n\t\tconst priorityListLazy: Array<() => string | undefined> = [\n\t\t\t() => os.tmpdir(),\n\t\t\t() => getEnv(\"TEMP\"),\n\t\t\t() => getEnv(\"TMP\"),\n\t\t\t() => joinToBase(getEnv(\"LOCALAPPDATA\"), [\"Temp\"]),\n\t\t\t() => joinToBase(homeDir(), [\"AppData\", \"Local\", \"Temp\"]),\n\t\t\t() => joinToBase(getEnv(\"ALLUSERSPROFILE\"), [\"Temp\"]),\n\t\t\t() => joinToBase(getEnv(\"SystemRoot\"), [\"Temp\"]),\n\t\t\t() => joinToBase(getEnv(\"windir\"), [\"Temp\"]),\n\t\t\t() => joinToBase(getEnv(\"SystemDrive\"), [\"\\\\\", \"Temp\"]),\n\t\t];\n\t\tconst found = priorityListLazy.find((fn) => isNonEmpty(fn()));\n\t\treturn (found && normalizePath(found())) || fallback;\n\t}\n\tconst fallback = \"/tmp\";\n\tconst priorityList = [\n\t\tos.tmpdir(),\n\t\tgetEnv(\"TMPDIR\"),\n\t\tgetEnv(\"TEMP\"),\n\t\tgetEnv(\"TMP\"),\n\t];\n\treturn normalizePath(priorityList.find(isNonEmpty)) || fallback;\n}\n\n/** Mirrors `xdg-portable`'s `baseDir()`. */\nfunction baseDir(): string {\n\treturn homeDir() || tempDir();\n}\n\n/** Mirrors `xdg-portable`'s `valOrPath()`. */\nfunction valOrPath(value: string | undefined, segments: string[]): string {\n\treturn value || path.join(...segments);\n}\n\nfunction windowsAppData(): string {\n\treturn valOrPath(getEnv(\"APPDATA\"), [baseDir(), \"AppData\", \"Roaming\"]);\n}\n\nfunction windowsLocalAppData(): string {\n\treturn valOrPath(getEnv(\"LOCALAPPDATA\"), [baseDir(), \"AppData\", \"Local\"]);\n}\n\n/** XDG config base directory (`xdg-portable`'s `config()`). */\nfunction xdgConfig(): string {\n\tif (isMacOS()) {\n\t\treturn valOrPath(getEnv(\"XDG_CONFIG_HOME\"), [\n\t\t\tbaseDir(),\n\t\t\t\"Library\",\n\t\t\t\"Preferences\",\n\t\t]);\n\t}\n\tif (isWindows()) {\n\t\treturn valOrPath(getEnv(\"XDG_CONFIG_HOME\"), [\n\t\t\twindowsAppData(),\n\t\t\t\"xdg.config\",\n\t\t]);\n\t}\n\treturn valOrPath(getEnv(\"XDG_CONFIG_HOME\"), [baseDir(), \".config\"]);\n}\n\n/** XDG cache base directory (`xdg-portable`'s `cache()`). */\nfunction xdgCache(): string {\n\tif (isMacOS()) {\n\t\treturn valOrPath(getEnv(\"XDG_CACHE_HOME\"), [\n\t\t\tbaseDir(),\n\t\t\t\"Library\",\n\t\t\t\"Caches\",\n\t\t]);\n\t}\n\tif (isWindows()) {\n\t\treturn valOrPath(getEnv(\"XDG_CACHE_HOME\"), [\n\t\t\twindowsLocalAppData(),\n\t\t\t\"xdg.cache\",\n\t\t]);\n\t}\n\treturn valOrPath(getEnv(\"XDG_CACHE_HOME\"), [baseDir(), \".cache\"]);\n}\n\nexport interface XDGAppPaths {\n\t/** The XDG-compliant config directory for the application. */\n\tconfig(): string;\n\t/** The XDG-compliant cache directory for the application. */\n\tcache(): string;\n}\n\n/**\n * Resolve XDG-compliant application paths for the given application name.\n *\n * Equivalent to `xdgAppPaths(name)` with the default `isolated: true`, i.e. the\n * application name is appended as the final path segment.\n */\nexport function xdgAppPaths(name: string): XDGAppPaths {\n\t// `xdg-app-paths` runs the name through `path.parse(name).name`, which (for\n\t// example) leaves `.wrangler` untouched since a leading dot is not treated\n\t// as a file extension.\n\tconst segment = path.parse(name).name;\n\treturn {\n\t\tconfig: () => path.join(xdgConfig(), segment),\n\t\tcache: () => path.join(xdgCache(), segment),\n\t};\n}\n","import os from \"node:os\";\nimport path from \"node:path\";\nimport { isDirectory } from \"./fs-helpers\";\nimport { xdgAppPaths } from \"./xdg-app-paths\";\n\nexport interface GetGlobalConfigPathOptions {\n\t/**\n\t * The application namespace. Defaults to `\"wrangler\"`.\n\t */\n\tappName?: string;\n\t/**\n\t * Whether to prepend a `.` to `appName` when resolving the XDG path and the\n\t * legacy `$HOME` directory. Defaults to `true` to match wrangler's\n\t * historical behaviour (`.wrangler`).\n\t */\n\tleadingDot?: boolean;\n\t/**\n\t * When `true` (the default, matching wrangler's historical behaviour), a\n\t * pre-existing `~/.<appName>` directory takes precedence over the XDG path.\n\t * Pass `false` to always use the XDG-compliant path.\n\t */\n\tuseLegacyHomeDir?: boolean;\n}\n\n/**\n * Resolve the global config directory for a Cloudflare CLI.\n *\n * Defaults to wrangler's directory (`.wrangler`) so existing callers are\n * unaffected, but accepts an `appName` so other first-party CLIs (e.g. `cf`)\n * can reuse the same XDG-compliant resolution under their own namespace.\n */\nexport function getGlobalConfigPath({\n\tappName = \"wrangler\",\n\tleadingDot = true,\n\tuseLegacyHomeDir = true,\n}: GetGlobalConfigPathOptions = {}) {\n\t//TODO: We should implement a custom path --global-config and/or the WRANGLER_HOME type environment variable\n\tconst dirName = `${leadingDot ? \".\" : \"\"}${appName}`;\n\tconst configDir = xdgAppPaths(dirName).config(); // New XDG compliant config path\n\n\tif (useLegacyHomeDir) {\n\t\tconst legacyConfigDir = path.join(os.homedir(), dirName); // Legacy config in user's home directory\n\t\t// Check for the legacy directory in $HOME; if it is not there then use the\n\t\t// XDG compliant path.\n\t\tif (isDirectory(legacyConfigDir)) {\n\t\t\treturn legacyConfigDir;\n\t\t}\n\t}\n\n\treturn configDir;\n}\n\n/**\n * Resolve the XDG-compliant global cache directory for wrangler (`.wrangler`).\n *\n * Unlike {@link getGlobalConfigPath}, this never falls back to a legacy\n * `~/.wrangler` directory.\n */\nexport function getGlobalWranglerCachePath() {\n\treturn xdgAppPaths(\".wrangler\").cache();\n}\n"]}
1
+ {"version":3,"sources":["../src/xdg-app-paths.ts","../src/global-wrangler-config-path.ts"],"names":["fallback","path","os"],"mappings":"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","file":"chunk-YTEYGQOX.mjs","sourcesContent":["import os from \"node:os\";\nimport path from \"node:path\";\n\n/**\n * @module\n *\n * A small, pure-ESM, dependency-free reimplementation of the subset of\n * [`xdg-app-paths`](https://www.npmjs.com/package/xdg-app-paths) that this\n * repository relies on.\n *\n * `xdg-app-paths` (and its `xdg-portable` / `os-paths` dependencies) ship as\n * CommonJS. When the consuming package is bundled to ESM (e.g. via tsup or when\n * a downstream consumer runs through Vite), the CJS `require()` calls are\n * shimmed and throw at runtime (\"Dynamic require of 'path' is not supported\").\n * Vendoring the resolution logic here keeps the behaviour identical while\n * remaining pure ESM.\n *\n * The path resolution intentionally mirrors `xdg-app-paths@8` →\n * `xdg-portable@10` → `os-paths@7` exactly so that the resolved config/cache\n * directories (which hold, amongst other things, Wrangler's auth credentials)\n * do not change for existing users.\n *\n * ---\n *\n * This implementation is adapted from `xdg-app-paths`, `xdg-portable` and\n * `os-paths` (https://github.com/rivy/js.xdg-app-paths), published under the\n * MIT License:\n *\n * Copyright (c) Roy Ivy III <rivy.dev@gmail.com>\n * Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n * DEALINGS IN THE SOFTWARE.\n */\n\nfunction isWindows(): boolean {\n\treturn /^win/i.test(process.platform);\n}\n\nfunction isMacOS(): boolean {\n\treturn /^darwin$/i.test(process.platform);\n}\n\nfunction isNonEmpty(value: string | undefined): value is string {\n\treturn !!value;\n}\n\n/**\n * Read an OS/XDG environment variable. Accessed dynamically (mirroring\n * `xdg-portable`'s `env.get()`) so these process-level variables don't need to\n * be declared as build inputs (`turbo/no-undeclared-env-vars`) — they are not\n * Wrangler configuration variables.\n */\nfunction getEnv(name: string): string | undefined {\n\treturn process.env[name];\n}\n\n/** Mirrors `os-paths`' `normalizePath`. */\nfunction normalizePath(p: string | undefined): string | undefined {\n\treturn p ? path.normalize(path.join(p, \".\")) : undefined;\n}\n\n/** Mirrors `os-paths`' `home()`. */\nfunction homeDir(): string | undefined {\n\tif (isWindows()) {\n\t\tconst priorityList = [\n\t\t\tos.homedir(),\n\t\t\tgetEnv(\"USERPROFILE\"),\n\t\t\tgetEnv(\"HOME\"),\n\t\t\t// NOTE: `os-paths@7` uses `||` here (not `&&`), so a home directory is\n\t\t\t// derived even when only one of HOMEDRIVE/HOMEPATH is set. This is\n\t\t\t// preserved deliberately for byte-for-byte parity — see the parity\n\t\t\t// tests, which compare this branch against the real package.\n\t\t\tgetEnv(\"HOMEDRIVE\") || getEnv(\"HOMEPATH\")\n\t\t\t\t? path.join(getEnv(\"HOMEDRIVE\") ?? \"\", getEnv(\"HOMEPATH\") ?? \"\")\n\t\t\t\t: undefined,\n\t\t];\n\t\treturn normalizePath(priorityList.find(isNonEmpty));\n\t}\n\treturn normalizePath(os.homedir() || getEnv(\"HOME\"));\n}\n\nfunction joinToBase(\n\tbase: string | undefined,\n\tsegments: string[]\n): string | undefined {\n\treturn base ? path.join(base, ...segments) : undefined;\n}\n\n/** Mirrors `os-paths`' `temp()`. */\nfunction tempDir(): string {\n\tif (isWindows()) {\n\t\tconst fallback = \"C:\\\\Temp\";\n\t\tconst priorityListLazy: Array<() => string | undefined> = [\n\t\t\t() => os.tmpdir(),\n\t\t\t() => getEnv(\"TEMP\"),\n\t\t\t() => getEnv(\"TMP\"),\n\t\t\t() => joinToBase(getEnv(\"LOCALAPPDATA\"), [\"Temp\"]),\n\t\t\t() => joinToBase(homeDir(), [\"AppData\", \"Local\", \"Temp\"]),\n\t\t\t() => joinToBase(getEnv(\"ALLUSERSPROFILE\"), [\"Temp\"]),\n\t\t\t() => joinToBase(getEnv(\"SystemRoot\"), [\"Temp\"]),\n\t\t\t() => joinToBase(getEnv(\"windir\"), [\"Temp\"]),\n\t\t\t() => joinToBase(getEnv(\"SystemDrive\"), [\"\\\\\", \"Temp\"]),\n\t\t];\n\t\tconst found = priorityListLazy.find((fn) => isNonEmpty(fn()));\n\t\treturn (found && normalizePath(found())) || fallback;\n\t}\n\tconst fallback = \"/tmp\";\n\tconst priorityList = [\n\t\tos.tmpdir(),\n\t\tgetEnv(\"TMPDIR\"),\n\t\tgetEnv(\"TEMP\"),\n\t\tgetEnv(\"TMP\"),\n\t];\n\treturn normalizePath(priorityList.find(isNonEmpty)) || fallback;\n}\n\n/** Mirrors `xdg-portable`'s `baseDir()`. */\nfunction baseDir(): string {\n\treturn homeDir() || tempDir();\n}\n\n/** Mirrors `xdg-portable`'s `valOrPath()`. */\nfunction valOrPath(value: string | undefined, segments: string[]): string {\n\treturn value || path.join(...segments);\n}\n\nfunction windowsAppData(): string {\n\treturn valOrPath(getEnv(\"APPDATA\"), [baseDir(), \"AppData\", \"Roaming\"]);\n}\n\nfunction windowsLocalAppData(): string {\n\treturn valOrPath(getEnv(\"LOCALAPPDATA\"), [baseDir(), \"AppData\", \"Local\"]);\n}\n\n/** XDG config base directory (`xdg-portable`'s `config()`). */\nfunction xdgConfig(): string {\n\tif (isMacOS()) {\n\t\treturn valOrPath(getEnv(\"XDG_CONFIG_HOME\"), [\n\t\t\tbaseDir(),\n\t\t\t\"Library\",\n\t\t\t\"Preferences\",\n\t\t]);\n\t}\n\tif (isWindows()) {\n\t\treturn valOrPath(getEnv(\"XDG_CONFIG_HOME\"), [\n\t\t\twindowsAppData(),\n\t\t\t\"xdg.config\",\n\t\t]);\n\t}\n\treturn valOrPath(getEnv(\"XDG_CONFIG_HOME\"), [baseDir(), \".config\"]);\n}\n\n/** XDG cache base directory (`xdg-portable`'s `cache()`). */\nfunction xdgCache(): string {\n\tif (isMacOS()) {\n\t\treturn valOrPath(getEnv(\"XDG_CACHE_HOME\"), [\n\t\t\tbaseDir(),\n\t\t\t\"Library\",\n\t\t\t\"Caches\",\n\t\t]);\n\t}\n\tif (isWindows()) {\n\t\treturn valOrPath(getEnv(\"XDG_CACHE_HOME\"), [\n\t\t\twindowsLocalAppData(),\n\t\t\t\"xdg.cache\",\n\t\t]);\n\t}\n\treturn valOrPath(getEnv(\"XDG_CACHE_HOME\"), [baseDir(), \".cache\"]);\n}\n\nexport interface XDGAppPaths {\n\t/** The XDG-compliant config directory for the application. */\n\tconfig(): string;\n\t/** The XDG-compliant cache directory for the application. */\n\tcache(): string;\n}\n\n/**\n * Resolve XDG-compliant application paths for the given application name.\n *\n * Equivalent to `xdgAppPaths(name)` with the default `isolated: true`, i.e. the\n * application name is appended as the final path segment.\n */\nexport function xdgAppPaths(name: string): XDGAppPaths {\n\t// `xdg-app-paths` runs the name through `path.parse(name).name`, which (for\n\t// example) leaves `.wrangler` untouched since a leading dot is not treated\n\t// as a file extension.\n\tconst segment = path.parse(name).name;\n\treturn {\n\t\tconfig: () => path.join(xdgConfig(), segment),\n\t\tcache: () => path.join(xdgCache(), segment),\n\t};\n}\n","import os from \"node:os\";\nimport path from \"node:path\";\nimport { isDirectory } from \"./fs-helpers\";\nimport { xdgAppPaths } from \"./xdg-app-paths\";\n\nexport interface GetGlobalConfigPathOptions {\n\t/**\n\t * The application namespace. Defaults to `\"wrangler\"`.\n\t */\n\tappName?: string;\n\t/**\n\t * Whether to prepend a `.` to `appName` when resolving the XDG path and the\n\t * legacy `$HOME` directory. Defaults to `true` to match wrangler's\n\t * historical behaviour (`.wrangler`).\n\t */\n\tleadingDot?: boolean;\n\t/**\n\t * When `true` (the default, matching wrangler's historical behaviour), a\n\t * pre-existing `~/.<appName>` directory takes precedence over the XDG path.\n\t * Pass `false` to always use the XDG-compliant path.\n\t */\n\tuseLegacyHomeDir?: boolean;\n}\n\n/**\n * Resolve the global config directory for a Cloudflare CLI.\n *\n * Defaults to wrangler's directory (`.wrangler`) so existing callers are\n * unaffected, but accepts an `appName` so other first-party CLIs (e.g. `cf`)\n * can reuse the same XDG-compliant resolution under their own namespace.\n */\nexport function getGlobalConfigPath({\n\tappName = \"wrangler\",\n\tleadingDot = true,\n\tuseLegacyHomeDir = true,\n}: GetGlobalConfigPathOptions = {}) {\n\t//TODO: We should implement a custom path --global-config and/or the WRANGLER_HOME type environment variable\n\tconst dirName = `${leadingDot ? \".\" : \"\"}${appName}`;\n\tconst configDir = xdgAppPaths(dirName).config(); // New XDG compliant config path\n\n\tif (useLegacyHomeDir) {\n\t\tconst legacyConfigDir = path.join(os.homedir(), dirName); // Legacy config in user's home directory\n\t\t// Check for the legacy directory in $HOME; if it is not there then use the\n\t\t// XDG compliant path.\n\t\tif (isDirectory(legacyConfigDir)) {\n\t\t\treturn legacyConfigDir;\n\t\t}\n\t}\n\n\treturn configDir;\n}\n\n/**\n * Resolve the XDG-compliant global cache directory for wrangler (`.wrangler`).\n *\n * Unlike {@link getGlobalConfigPath}, this never falls back to a legacy\n * `~/.wrangler` directory.\n */\nexport function getGlobalWranglerCachePath() {\n\treturn xdgAppPaths(\".wrangler\").cache();\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from './chunk-6LYDFTTF.mjs';
1
+ import { __name } from './chunk-CGILA3WO.mjs';
2
2
 
3
3
  // src/default-compat-date.ts
4
4
  var DEFAULT_COMPAT_DATE = "2026-09-02";
@@ -473,5 +473,5 @@ function constructWranglerConfig(config) {
473
473
  __name(constructWranglerConfig, "constructWranglerConfig");
474
474
 
475
475
  export { DEFAULT_COMPAT_DATE, assertNever, constructWranglerConfig, mapWorkerMetadataBindings };
476
- //# sourceMappingURL=chunk-ZQ2EZEOC.mjs.map
477
- //# sourceMappingURL=chunk-ZQ2EZEOC.mjs.map
476
+ //# sourceMappingURL=chunk-Z7Q743IF.mjs.map
477
+ //# sourceMappingURL=chunk-Z7Q743IF.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/default-compat-date.ts","../src/assert-never.ts","../src/map-worker-metadata-bindings.ts","../src/construct-wrangler-config.ts"],"names":[],"mappings":"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","file":"chunk-ZQ2EZEOC.mjs","sourcesContent":["import type { CompatDate } from \"./compatibility-date\";\n\n/**\n * The compatibility date to use when the user has not specified one.\n *\n * This is the release date of the `workerd` version pinned in the pnpm catalog,\n * so it is fixed for a given release of workers-sdk and updated whenever\n * `workerd` is upgraded.\n *\n * It deliberately tracks `workerd` rather than the current date, because\n * workerd rejects a compatibility date later than either of:\n *\n * - its `MAXIMUM_COMPATIBILITY_DATE`, which is its release date plus 7 days, or\n * - today's date (UTC).\n *\n * Run `pnpm update:compat-date` to refresh this value; `pnpm check:compat-date`\n * asserts that it matches the pinned `workerd` version.\n *\n * @see https://github.com/cloudflare/workerd/blob/main/src/workerd/io/BUILD.bazel\n * @see https://github.com/cloudflare/workerd/blob/main/src/workerd/io/compatibility-date.c%2B%2B\n */\nexport const DEFAULT_COMPAT_DATE: CompatDate = \"2026-09-02\";\n","export function assertNever(_value: never) {}\n","import { assertNever } from \"./assert-never\";\nimport type { RawConfig } from \"./config\";\nimport type { WorkerMetadataBinding } from \"./types\";\n\n/**\n * Maps a set of bindings defined as worker metadata bindings (straight from the Cloudflare API) to bindings defined in the local format.\n *\n * @param bindings The set of worker metadata bindings to convert\n * @param accountId The ID of the account\n * @param complianceConfig The compliance region configuration\n * @returns A RawConfig object with its bindings populated based on the provided bindings\n */\nexport function mapWorkerMetadataBindings(\n\tbindings: WorkerMetadataBinding[]\n): RawConfig {\n\treturn (\n\t\tbindings\n\t\t\t.filter((binding) => (binding.type as string) !== \"secret_text\")\n\t\t\t// Combine the same types into {[type]: [binding]}\n\t\t\t.reduce((configObj, binding) => {\n\t\t\t\t// Some types have different names in wrangler.toml\n\t\t\t\t// I want the type safety of the binding being destructured after the case narrowing the union but type is unused\n\n\t\t\t\tswitch (binding.type) {\n\t\t\t\t\tcase \"plain_text\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.vars = {\n\t\t\t\t\t\t\t\t...(configObj.vars ?? {}),\n\t\t\t\t\t\t\t\t[binding.name]: binding.text,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"json\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.vars = {\n\t\t\t\t\t\t\t\t...(configObj.vars ?? {}),\n\t\t\t\t\t\t\t\t[binding.name]: binding.json,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"kv_namespace\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.kv_namespaces = [\n\t\t\t\t\t\t\t\t...(configObj.kv_namespaces ?? []),\n\t\t\t\t\t\t\t\t{ id: binding.namespace_id, binding: binding.name },\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"durable_object_namespace\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.durable_objects = {\n\t\t\t\t\t\t\t\tbindings: [\n\t\t\t\t\t\t\t\t\t...(configObj.durable_objects?.bindings ?? []),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: binding.name,\n\t\t\t\t\t\t\t\t\t\tclass_name: binding.class_name,\n\t\t\t\t\t\t\t\t\t\tscript_name: binding.script_name,\n\t\t\t\t\t\t\t\t\t\tenvironment: binding.environment,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"d1\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.d1_databases = [\n\t\t\t\t\t\t\t\t...(configObj.d1_databases ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tdatabase_id: binding.id,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"browser\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.browser = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"ai\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.ai = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"images\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.images = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"stream\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.stream = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"media\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.media = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"r2_bucket\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.r2_buckets = [\n\t\t\t\t\t\t\t\t...(configObj.r2_buckets ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tbucket_name: binding.bucket_name,\n\t\t\t\t\t\t\t\t\tjurisdiction: binding.jurisdiction,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"secrets_store_secret\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.secrets_store_secrets = [\n\t\t\t\t\t\t\t\t...(configObj.secrets_store_secrets ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tstore_id: binding.store_id,\n\t\t\t\t\t\t\t\t\tsecret_name: binding.secret_name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"artifacts\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.artifacts = [\n\t\t\t\t\t\t\t\t...(configObj.artifacts ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tnamespace: binding.namespace,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"unsafe_hello_world\": {\n\t\t\t\t\t\tconfigObj.unsafe_hello_world = [\n\t\t\t\t\t\t\t...(configObj.unsafe_hello_world ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tenable_timer: binding.enable_timer,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"flagship\": {\n\t\t\t\t\t\tconfigObj.flagship = [\n\t\t\t\t\t\t\t...(configObj.flagship ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tapp_id: binding.app_id,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"service\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.services = [\n\t\t\t\t\t\t\t\t...(configObj.services ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tservice: binding.service,\n\t\t\t\t\t\t\t\t\tenvironment: binding.environment,\n\t\t\t\t\t\t\t\t\tentrypoint: binding.entrypoint,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"analytics_engine\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.analytics_engine_datasets = [\n\t\t\t\t\t\t\t\t...(configObj.analytics_engine_datasets ?? []),\n\t\t\t\t\t\t\t\t{ binding: binding.name, dataset: binding.dataset },\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"dispatch_namespace\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.dispatch_namespaces = [\n\t\t\t\t\t\t\t\t...(configObj.dispatch_namespaces ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tnamespace: binding.namespace,\n\t\t\t\t\t\t\t\t\t...(binding.outbound && {\n\t\t\t\t\t\t\t\t\t\toutbound: {\n\t\t\t\t\t\t\t\t\t\t\tservice: binding.outbound.worker.service,\n\t\t\t\t\t\t\t\t\t\t\tenvironment: binding.outbound.worker.environment,\n\t\t\t\t\t\t\t\t\t\t\tparameters:\n\t\t\t\t\t\t\t\t\t\t\t\tbinding.outbound.params?.map((p) => p.name) ?? [],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"logfwdr\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.logfwdr = {\n\t\t\t\t\t\t\t\tbindings: [\n\t\t\t\t\t\t\t\t\t...(configObj.logfwdr?.bindings ?? []),\n\t\t\t\t\t\t\t\t\t{ name: binding.name, destination: binding.destination },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"wasm_module\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.wasm_modules = {\n\t\t\t\t\t\t\t\t...(configObj.wasm_modules ?? {}),\n\t\t\t\t\t\t\t\t[binding.name]: binding.part,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"text_blob\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.text_blobs = {\n\t\t\t\t\t\t\t\t...(configObj.text_blobs ?? {}),\n\t\t\t\t\t\t\t\t[binding.name]: binding.part,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"data_blob\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.data_blobs = {\n\t\t\t\t\t\t\t\t...(configObj.data_blobs ?? {}),\n\t\t\t\t\t\t\t\t[binding.name]: binding.part,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"secret_text\":\n\t\t\t\t\t\t// Ignore secrets\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"version_metadata\": {\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.version_metadata = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"send_email\": {\n\t\t\t\t\t\tconfigObj.send_email = [\n\t\t\t\t\t\t\t...(configObj.send_email ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: binding.name,\n\t\t\t\t\t\t\t\tdestination_address: binding.destination_address,\n\t\t\t\t\t\t\t\tallowed_destination_addresses:\n\t\t\t\t\t\t\t\t\tbinding.allowed_destination_addresses,\n\t\t\t\t\t\t\t\tallowed_sender_addresses: binding.allowed_sender_addresses,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"queue\":\n\t\t\t\t\t\tconfigObj.queues ??= { producers: [] };\n\t\t\t\t\t\tconfigObj.queues.producers = [\n\t\t\t\t\t\t\t...(configObj.queues.producers ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tqueue: binding.queue_name,\n\t\t\t\t\t\t\t\tdelivery_delay: binding.delivery_delay,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"vectorize\":\n\t\t\t\t\t\tconfigObj.vectorize = [\n\t\t\t\t\t\t\t...(configObj.vectorize ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tindex_name: binding.index_name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"ai_search_namespace\":\n\t\t\t\t\t\tconfigObj.ai_search_namespaces = [\n\t\t\t\t\t\t\t...(configObj.ai_search_namespaces ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tnamespace: binding.namespace,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"ai_search\":\n\t\t\t\t\t\tconfigObj.ai_search = [\n\t\t\t\t\t\t\t...(configObj.ai_search ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tinstance_name: binding.instance_name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"websearch\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.websearch = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"agent_memory\": {\n\t\t\t\t\t\tconfigObj.agent_memory = [\n\t\t\t\t\t\t\t...(configObj.agent_memory ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tnamespace: binding.namespace,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"hyperdrive\":\n\t\t\t\t\t\tconfigObj.hyperdrive = [\n\t\t\t\t\t\t\t...(configObj.hyperdrive ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tid: binding.id,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"mtls_certificate\":\n\t\t\t\t\t\tconfigObj.mtls_certificates = [\n\t\t\t\t\t\t\t...(configObj.mtls_certificates ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tcertificate_id: binding.certificate_id,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"pipelines\":\n\t\t\t\t\t\tconfigObj.pipelines = [\n\t\t\t\t\t\t\t...(configObj.pipelines ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t// NOTE: stream is the primary field, but we also support pipeline for backward compatibility\n\t\t\t\t\t\t\t\t...(binding.stream && { stream: binding.stream }),\n\n\t\t\t\t\t\t\t\t...(binding.pipeline && { pipeline: binding.pipeline }),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"assets\":\n\t\t\t\t\t\tconfigObj.assets = {\n\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t// Note: we currently don't get all the assets information from the\n\t\t\t\t\t\t\t// API, so here we are only able to set the name of the binding\n\t\t\t\t\t\t\t// hopefully in the future we can properly fully support the binding\n\t\t\t\t\t\t};\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"inherit\":\n\t\t\t\t\t\tconfigObj.unsafe = {\n\t\t\t\t\t\t\tbindings: [...(configObj.unsafe?.bindings ?? []), binding],\n\t\t\t\t\t\t\tmetadata: configObj.unsafe?.metadata ?? undefined,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"workflow\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.workflows = [\n\t\t\t\t\t\t\t\t...(configObj.workflows ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tname: binding.workflow_name,\n\t\t\t\t\t\t\t\t\tclass_name: binding.class_name,\n\t\t\t\t\t\t\t\t\tscript_name: binding.script_name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"worker_loader\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.worker_loaders = [\n\t\t\t\t\t\t\t\t...(configObj.worker_loaders ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"ratelimit\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.ratelimits = [\n\t\t\t\t\t\t\t\t...(configObj.ratelimits ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: binding.name,\n\t\t\t\t\t\t\t\t\tnamespace_id: binding.namespace_id,\n\t\t\t\t\t\t\t\t\tsimple: {\n\t\t\t\t\t\t\t\t\t\tlimit: binding.simple.limit,\n\t\t\t\t\t\t\t\t\t\tperiod: binding.simple.period,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"vpc_service\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.vpc_services = [\n\t\t\t\t\t\t\t\t...(configObj.vpc_services ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tservice_id: binding.service_id,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"vpc_network\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (binding.tunnel_id !== undefined) {\n\t\t\t\t\t\t\t\tconfigObj.vpc_networks = [\n\t\t\t\t\t\t\t\t\t...(configObj.vpc_networks ?? []),\n\t\t\t\t\t\t\t\t\t{ binding: binding.name, tunnel_id: binding.tunnel_id },\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t} else if (binding.network_id !== undefined) {\n\t\t\t\t\t\t\t\tconfigObj.vpc_networks = [\n\t\t\t\t\t\t\t\t\t...(configObj.vpc_networks ?? []),\n\t\t\t\t\t\t\t\t\t{ binding: binding.name, network_id: binding.network_id },\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tconfigObj.unsafe = {\n\t\t\t\t\t\t\tbindings: [...(configObj.unsafe?.bindings ?? []), binding],\n\t\t\t\t\t\t\tmetadata: configObj.unsafe?.metadata ?? undefined,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tassertNever(binding);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn configObj;\n\t\t\t}, {} as RawConfig)\n\t);\n}\n","import { DEFAULT_COMPAT_DATE } from \"./default-compat-date\";\nimport { mapWorkerMetadataBindings } from \"./map-worker-metadata-bindings\";\nimport type { RawConfig } from \"./config\";\nimport type {\n\tCustomDomainRoute,\n\tRoute,\n\tTailConsumer,\n\tZoneNameRoute,\n} from \"./config/environment\";\nimport type { WorkerMetadata } from \"./types\";\nimport type { AssetConfig } from \"@cloudflare/workers-shared\";\nimport type { Cloudflare } from \"cloudflare\";\n\ntype RoutesRes = {\n\tid: string;\n\tpattern: string;\n\tzone_name: string;\n\tscript: string;\n}[];\n\ninterface APIWorkerConfig {\n\t/* sourced from https://developers.cloudflare.com/api/resources/workers/subresources/scripts/methods/list/ */\n\tname: string; // property renamed from `id`...\n\tentrypoint: string;\n\ttags: string[] | null;\n\tcompatibility_date: string;\n\tcompatibility_flags: string[];\n\tlogpush: boolean | undefined;\n\troutes: RoutesRes;\n\ttail_consumers: TailConsumer[] | undefined | null;\n\tmigration_tag?: string;\n\n\t/* sourced from https://developers.cloudflare.com/api/resources/workers/subresources/domains/methods/list/ */\n\tdomains: Cloudflare.Workers.Domain[];\n\t/* sourced from https://developers.cloudflare.com/api/resources/workers/subresources/scripts/subresources/schedules/methods/get/ */\n\tschedules: Cloudflare.Workers.Scripts.Schedules.ScheduleGetResponse.Schedule[];\n\n\t/* sourced from https://developers.cloudflare.com/api/resources/workers/subresources/beta/subresources/workers/subresources/versions/methods/get/ using `{version_id}` of `latest` */\n\tassets?: AssetConfig;\n\tbindings: WorkerMetadata[\"bindings\"];\n\tobservability: Cloudflare.Workers.Beta.Worker.Observability | undefined;\n\tlimits: { cpu_ms?: number; subrequests?: number } | undefined;\n\tplacement: Cloudflare.Workers.Beta.Workers.Version.Placement | undefined;\n\tsubdomain: {\n\t\tenabled: boolean;\n\t\tpreviews_enabled: boolean;\n\t};\n}\n\n/**\n * Given information about a Worker,\n * construct a Wrangler config file for the application.\n *\n * @param config - The Worker configuration sourced from the Cloudflare API\n * @returns A Wrangler-compatible raw config object\n */\nexport function constructWranglerConfig(config: APIWorkerConfig): RawConfig {\n\tconst mappedBindings = mapWorkerMetadataBindings(config.bindings);\n\n\tconst durableObjectClassNames = config.bindings\n\t\t.filter(\n\t\t\t(binding) =>\n\t\t\t\tbinding.type === \"durable_object_namespace\" &&\n\t\t\t\tbinding.script_name === config.name\n\t\t)\n\t\t.map(\n\t\t\t(durableObject) => (durableObject as { class_name: string }).class_name\n\t\t);\n\n\tconst allRoutes: Route[] = [\n\t\t...config.routes.map<ZoneNameRoute>((r) => ({\n\t\t\tpattern: r.pattern,\n\t\t\tzone_name: r.zone_name,\n\t\t})),\n\t\t...config.domains.map<CustomDomainRoute>((c) => ({\n\t\t\tpattern: c.hostname as string,\n\t\t\tzone_name: c.zone_name,\n\t\t\tcustom_domain: true,\n\t\t\tenabled: (c as typeof c & { enabled: boolean }).enabled,\n\t\t\tpreviews_enabled: (c as typeof c & { previews_enabled: boolean })\n\t\t\t\t.previews_enabled,\n\t\t})),\n\t];\n\n\treturn {\n\t\tname: config.name,\n\t\tmain: config.entrypoint,\n\t\tworkers_dev: config.subdomain.enabled,\n\t\tpreview_urls: config.subdomain.previews_enabled,\n\t\tcompatibility_date: config.compatibility_date ?? DEFAULT_COMPAT_DATE,\n\t\tcompatibility_flags: config.compatibility_flags,\n\t\t...(allRoutes.length ? { routes: allRoutes } : {}),\n\t\tplacement:\n\t\t\tconfig.placement?.mode === \"smart\" ? { mode: \"smart\" } : undefined,\n\t\tlimits: config.limits,\n\t\t...(durableObjectClassNames.length && config.migration_tag\n\t\t\t? {\n\t\t\t\t\tmigrations: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttag: config.migration_tag,\n\t\t\t\t\t\t\tnew_classes: durableObjectClassNames,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t: {}),\n\t\t...(config.schedules.length\n\t\t\t? {\n\t\t\t\t\ttriggers: {\n\t\t\t\t\t\tcrons: config.schedules.map((scheduled) => scheduled.cron),\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t: {}),\n\t\ttail_consumers: config.tail_consumers ?? undefined,\n\t\tobservability: config.observability,\n\t\t...mappedBindings,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../src/default-compat-date.ts","../src/assert-never.ts","../src/map-worker-metadata-bindings.ts","../src/construct-wrangler-config.ts"],"names":[],"mappings":"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","file":"chunk-Z7Q743IF.mjs","sourcesContent":["import type { CompatDate } from \"./compatibility-date\";\n\n/**\n * The compatibility date to use when the user has not specified one.\n *\n * This is the release date of the `workerd` version pinned in the pnpm catalog,\n * so it is fixed for a given release of workers-sdk and updated whenever\n * `workerd` is upgraded.\n *\n * It deliberately tracks `workerd` rather than the current date, because\n * workerd rejects a compatibility date later than either of:\n *\n * - its `MAXIMUM_COMPATIBILITY_DATE`, which is its release date plus 7 days, or\n * - today's date (UTC).\n *\n * Run `pnpm update:compat-date` to refresh this value; `pnpm check:compat-date`\n * asserts that it matches the pinned `workerd` version.\n *\n * @see https://github.com/cloudflare/workerd/blob/main/src/workerd/io/BUILD.bazel\n * @see https://github.com/cloudflare/workerd/blob/main/src/workerd/io/compatibility-date.c%2B%2B\n */\nexport const DEFAULT_COMPAT_DATE: CompatDate = \"2026-09-02\";\n","export function assertNever(_value: never) {}\n","import { assertNever } from \"./assert-never\";\nimport type { RawConfig } from \"./config\";\nimport type { WorkerMetadataBinding } from \"./types\";\n\n/**\n * Maps a set of bindings defined as worker metadata bindings (straight from the Cloudflare API) to bindings defined in the local format.\n *\n * @param bindings The set of worker metadata bindings to convert\n * @param accountId The ID of the account\n * @param complianceConfig The compliance region configuration\n * @returns A RawConfig object with its bindings populated based on the provided bindings\n */\nexport function mapWorkerMetadataBindings(\n\tbindings: WorkerMetadataBinding[]\n): RawConfig {\n\treturn (\n\t\tbindings\n\t\t\t.filter((binding) => (binding.type as string) !== \"secret_text\")\n\t\t\t// Combine the same types into {[type]: [binding]}\n\t\t\t.reduce((configObj, binding) => {\n\t\t\t\t// Some types have different names in wrangler.toml\n\t\t\t\t// I want the type safety of the binding being destructured after the case narrowing the union but type is unused\n\n\t\t\t\tswitch (binding.type) {\n\t\t\t\t\tcase \"plain_text\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.vars = {\n\t\t\t\t\t\t\t\t...(configObj.vars ?? {}),\n\t\t\t\t\t\t\t\t[binding.name]: binding.text,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"json\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.vars = {\n\t\t\t\t\t\t\t\t...(configObj.vars ?? {}),\n\t\t\t\t\t\t\t\t[binding.name]: binding.json,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"kv_namespace\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.kv_namespaces = [\n\t\t\t\t\t\t\t\t...(configObj.kv_namespaces ?? []),\n\t\t\t\t\t\t\t\t{ id: binding.namespace_id, binding: binding.name },\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"durable_object_namespace\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.durable_objects = {\n\t\t\t\t\t\t\t\tbindings: [\n\t\t\t\t\t\t\t\t\t...(configObj.durable_objects?.bindings ?? []),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: binding.name,\n\t\t\t\t\t\t\t\t\t\tclass_name: binding.class_name,\n\t\t\t\t\t\t\t\t\t\tscript_name: binding.script_name,\n\t\t\t\t\t\t\t\t\t\tenvironment: binding.environment,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"d1\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.d1_databases = [\n\t\t\t\t\t\t\t\t...(configObj.d1_databases ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tdatabase_id: binding.id,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"browser\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.browser = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"ai\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.ai = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"images\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.images = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"stream\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.stream = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"media\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.media = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"r2_bucket\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.r2_buckets = [\n\t\t\t\t\t\t\t\t...(configObj.r2_buckets ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tbucket_name: binding.bucket_name,\n\t\t\t\t\t\t\t\t\tjurisdiction: binding.jurisdiction,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"secrets_store_secret\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.secrets_store_secrets = [\n\t\t\t\t\t\t\t\t...(configObj.secrets_store_secrets ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tstore_id: binding.store_id,\n\t\t\t\t\t\t\t\t\tsecret_name: binding.secret_name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"artifacts\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.artifacts = [\n\t\t\t\t\t\t\t\t...(configObj.artifacts ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tnamespace: binding.namespace,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"unsafe_hello_world\": {\n\t\t\t\t\t\tconfigObj.unsafe_hello_world = [\n\t\t\t\t\t\t\t...(configObj.unsafe_hello_world ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tenable_timer: binding.enable_timer,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"flagship\": {\n\t\t\t\t\t\tconfigObj.flagship = [\n\t\t\t\t\t\t\t...(configObj.flagship ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tapp_id: binding.app_id,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"service\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.services = [\n\t\t\t\t\t\t\t\t...(configObj.services ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tservice: binding.service,\n\t\t\t\t\t\t\t\t\tenvironment: binding.environment,\n\t\t\t\t\t\t\t\t\tentrypoint: binding.entrypoint,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"analytics_engine\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.analytics_engine_datasets = [\n\t\t\t\t\t\t\t\t...(configObj.analytics_engine_datasets ?? []),\n\t\t\t\t\t\t\t\t{ binding: binding.name, dataset: binding.dataset },\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"dispatch_namespace\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.dispatch_namespaces = [\n\t\t\t\t\t\t\t\t...(configObj.dispatch_namespaces ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tnamespace: binding.namespace,\n\t\t\t\t\t\t\t\t\t...(binding.outbound && {\n\t\t\t\t\t\t\t\t\t\toutbound: {\n\t\t\t\t\t\t\t\t\t\t\tservice: binding.outbound.worker.service,\n\t\t\t\t\t\t\t\t\t\t\tenvironment: binding.outbound.worker.environment,\n\t\t\t\t\t\t\t\t\t\t\tparameters:\n\t\t\t\t\t\t\t\t\t\t\t\tbinding.outbound.params?.map((p) => p.name) ?? [],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"logfwdr\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.logfwdr = {\n\t\t\t\t\t\t\t\tbindings: [\n\t\t\t\t\t\t\t\t\t...(configObj.logfwdr?.bindings ?? []),\n\t\t\t\t\t\t\t\t\t{ name: binding.name, destination: binding.destination },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"wasm_module\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.wasm_modules = {\n\t\t\t\t\t\t\t\t...(configObj.wasm_modules ?? {}),\n\t\t\t\t\t\t\t\t[binding.name]: binding.part,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"text_blob\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.text_blobs = {\n\t\t\t\t\t\t\t\t...(configObj.text_blobs ?? {}),\n\t\t\t\t\t\t\t\t[binding.name]: binding.part,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"data_blob\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.data_blobs = {\n\t\t\t\t\t\t\t\t...(configObj.data_blobs ?? {}),\n\t\t\t\t\t\t\t\t[binding.name]: binding.part,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"secret_text\":\n\t\t\t\t\t\t// Ignore secrets\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"version_metadata\": {\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.version_metadata = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"send_email\": {\n\t\t\t\t\t\tconfigObj.send_email = [\n\t\t\t\t\t\t\t...(configObj.send_email ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: binding.name,\n\t\t\t\t\t\t\t\tdestination_address: binding.destination_address,\n\t\t\t\t\t\t\t\tallowed_destination_addresses:\n\t\t\t\t\t\t\t\t\tbinding.allowed_destination_addresses,\n\t\t\t\t\t\t\t\tallowed_sender_addresses: binding.allowed_sender_addresses,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"queue\":\n\t\t\t\t\t\tconfigObj.queues ??= { producers: [] };\n\t\t\t\t\t\tconfigObj.queues.producers = [\n\t\t\t\t\t\t\t...(configObj.queues.producers ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tqueue: binding.queue_name,\n\t\t\t\t\t\t\t\tdelivery_delay: binding.delivery_delay,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"vectorize\":\n\t\t\t\t\t\tconfigObj.vectorize = [\n\t\t\t\t\t\t\t...(configObj.vectorize ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tindex_name: binding.index_name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"ai_search_namespace\":\n\t\t\t\t\t\tconfigObj.ai_search_namespaces = [\n\t\t\t\t\t\t\t...(configObj.ai_search_namespaces ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tnamespace: binding.namespace,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"ai_search\":\n\t\t\t\t\t\tconfigObj.ai_search = [\n\t\t\t\t\t\t\t...(configObj.ai_search ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tinstance_name: binding.instance_name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"websearch\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.websearch = {\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"agent_memory\": {\n\t\t\t\t\t\tconfigObj.agent_memory = [\n\t\t\t\t\t\t\t...(configObj.agent_memory ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tnamespace: binding.namespace,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"hyperdrive\":\n\t\t\t\t\t\tconfigObj.hyperdrive = [\n\t\t\t\t\t\t\t...(configObj.hyperdrive ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tid: binding.id,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"mtls_certificate\":\n\t\t\t\t\t\tconfigObj.mtls_certificates = [\n\t\t\t\t\t\t\t...(configObj.mtls_certificates ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\tcertificate_id: binding.certificate_id,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"pipelines\":\n\t\t\t\t\t\tconfigObj.pipelines = [\n\t\t\t\t\t\t\t...(configObj.pipelines ?? []),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t// NOTE: stream is the primary field, but we also support pipeline for backward compatibility\n\t\t\t\t\t\t\t\t...(binding.stream && { stream: binding.stream }),\n\n\t\t\t\t\t\t\t\t...(binding.pipeline && { pipeline: binding.pipeline }),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"assets\":\n\t\t\t\t\t\tconfigObj.assets = {\n\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t// Note: we currently don't get all the assets information from the\n\t\t\t\t\t\t\t// API, so here we are only able to set the name of the binding\n\t\t\t\t\t\t\t// hopefully in the future we can properly fully support the binding\n\t\t\t\t\t\t};\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"inherit\":\n\t\t\t\t\t\tconfigObj.unsafe = {\n\t\t\t\t\t\t\tbindings: [...(configObj.unsafe?.bindings ?? []), binding],\n\t\t\t\t\t\t\tmetadata: configObj.unsafe?.metadata ?? undefined,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"workflow\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.workflows = [\n\t\t\t\t\t\t\t\t...(configObj.workflows ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tname: binding.workflow_name,\n\t\t\t\t\t\t\t\t\tclass_name: binding.class_name,\n\t\t\t\t\t\t\t\t\tscript_name: binding.script_name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"worker_loader\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.worker_loaders = [\n\t\t\t\t\t\t\t\t...(configObj.worker_loaders ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"ratelimit\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.ratelimits = [\n\t\t\t\t\t\t\t\t...(configObj.ratelimits ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: binding.name,\n\t\t\t\t\t\t\t\t\tnamespace_id: binding.namespace_id,\n\t\t\t\t\t\t\t\t\tsimple: {\n\t\t\t\t\t\t\t\t\t\tlimit: binding.simple.limit,\n\t\t\t\t\t\t\t\t\t\tperiod: binding.simple.period,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"vpc_service\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfigObj.vpc_services = [\n\t\t\t\t\t\t\t\t...(configObj.vpc_services ?? []),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tbinding: binding.name,\n\t\t\t\t\t\t\t\t\tservice_id: binding.service_id,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"vpc_network\":\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (binding.tunnel_id !== undefined) {\n\t\t\t\t\t\t\t\tconfigObj.vpc_networks = [\n\t\t\t\t\t\t\t\t\t...(configObj.vpc_networks ?? []),\n\t\t\t\t\t\t\t\t\t{ binding: binding.name, tunnel_id: binding.tunnel_id },\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t} else if (binding.network_id !== undefined) {\n\t\t\t\t\t\t\t\tconfigObj.vpc_networks = [\n\t\t\t\t\t\t\t\t\t...(configObj.vpc_networks ?? []),\n\t\t\t\t\t\t\t\t\t{ binding: binding.name, network_id: binding.network_id },\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tconfigObj.unsafe = {\n\t\t\t\t\t\t\tbindings: [...(configObj.unsafe?.bindings ?? []), binding],\n\t\t\t\t\t\t\tmetadata: configObj.unsafe?.metadata ?? undefined,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tassertNever(binding);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn configObj;\n\t\t\t}, {} as RawConfig)\n\t);\n}\n","import { DEFAULT_COMPAT_DATE } from \"./default-compat-date\";\nimport { mapWorkerMetadataBindings } from \"./map-worker-metadata-bindings\";\nimport type { RawConfig } from \"./config\";\nimport type {\n\tCustomDomainRoute,\n\tRoute,\n\tTailConsumer,\n\tZoneNameRoute,\n} from \"./config/environment\";\nimport type { WorkerMetadata } from \"./types\";\nimport type { AssetConfig } from \"@cloudflare/workers-shared\";\nimport type { Cloudflare } from \"cloudflare\";\n\ntype RoutesRes = {\n\tid: string;\n\tpattern: string;\n\tzone_name: string;\n\tscript: string;\n}[];\n\ninterface APIWorkerConfig {\n\t/* sourced from https://developers.cloudflare.com/api/resources/workers/subresources/scripts/methods/list/ */\n\tname: string; // property renamed from `id`...\n\tentrypoint: string;\n\ttags: string[] | null;\n\tcompatibility_date: string;\n\tcompatibility_flags: string[];\n\tlogpush: boolean | undefined;\n\troutes: RoutesRes;\n\ttail_consumers: TailConsumer[] | undefined | null;\n\tmigration_tag?: string;\n\n\t/* sourced from https://developers.cloudflare.com/api/resources/workers/subresources/domains/methods/list/ */\n\tdomains: Cloudflare.Workers.Domain[];\n\t/* sourced from https://developers.cloudflare.com/api/resources/workers/subresources/scripts/subresources/schedules/methods/get/ */\n\tschedules: Cloudflare.Workers.Scripts.Schedules.ScheduleGetResponse.Schedule[];\n\n\t/* sourced from https://developers.cloudflare.com/api/resources/workers/subresources/beta/subresources/workers/subresources/versions/methods/get/ using `{version_id}` of `latest` */\n\tassets?: AssetConfig;\n\tbindings: WorkerMetadata[\"bindings\"];\n\tobservability: Cloudflare.Workers.Beta.Worker.Observability | undefined;\n\tlimits: { cpu_ms?: number; subrequests?: number } | undefined;\n\tplacement: Cloudflare.Workers.Beta.Workers.Version.Placement | undefined;\n\tsubdomain: {\n\t\tenabled: boolean;\n\t\tpreviews_enabled: boolean;\n\t};\n}\n\n/**\n * Given information about a Worker,\n * construct a Wrangler config file for the application.\n *\n * @param config - The Worker configuration sourced from the Cloudflare API\n * @returns A Wrangler-compatible raw config object\n */\nexport function constructWranglerConfig(config: APIWorkerConfig): RawConfig {\n\tconst mappedBindings = mapWorkerMetadataBindings(config.bindings);\n\n\tconst durableObjectClassNames = config.bindings\n\t\t.filter(\n\t\t\t(binding) =>\n\t\t\t\tbinding.type === \"durable_object_namespace\" &&\n\t\t\t\tbinding.script_name === config.name\n\t\t)\n\t\t.map(\n\t\t\t(durableObject) => (durableObject as { class_name: string }).class_name\n\t\t);\n\n\tconst allRoutes: Route[] = [\n\t\t...config.routes.map<ZoneNameRoute>((r) => ({\n\t\t\tpattern: r.pattern,\n\t\t\tzone_name: r.zone_name,\n\t\t})),\n\t\t...config.domains.map<CustomDomainRoute>((c) => ({\n\t\t\tpattern: c.hostname as string,\n\t\t\tzone_name: c.zone_name,\n\t\t\tcustom_domain: true,\n\t\t\tenabled: (c as typeof c & { enabled: boolean }).enabled,\n\t\t\tpreviews_enabled: (c as typeof c & { previews_enabled: boolean })\n\t\t\t\t.previews_enabled,\n\t\t})),\n\t];\n\n\treturn {\n\t\tname: config.name,\n\t\tmain: config.entrypoint,\n\t\tworkers_dev: config.subdomain.enabled,\n\t\tpreview_urls: config.subdomain.previews_enabled,\n\t\tcompatibility_date: config.compatibility_date ?? DEFAULT_COMPAT_DATE,\n\t\tcompatibility_flags: config.compatibility_flags,\n\t\t...(allRoutes.length ? { routes: allRoutes } : {}),\n\t\tplacement:\n\t\t\tconfig.placement?.mode === \"smart\" ? { mode: \"smart\" } : undefined,\n\t\tlimits: config.limits,\n\t\t...(durableObjectClassNames.length && config.migration_tag\n\t\t\t? {\n\t\t\t\t\tmigrations: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttag: config.migration_tag,\n\t\t\t\t\t\t\tnew_classes: durableObjectClassNames,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t: {}),\n\t\t...(config.schedules.length\n\t\t\t? {\n\t\t\t\t\ttriggers: {\n\t\t\t\t\t\tcrons: config.schedules.map((scheduled) => scheduled.cron),\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t: {}),\n\t\ttail_consumers: config.tail_consumers ?? undefined,\n\t\tobservability: config.observability,\n\t\t...mappedBindings,\n\t};\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from './chunk-6LYDFTTF.mjs';
1
+ import { __name } from './chunk-CGILA3WO.mjs';
2
2
  import assert from 'node:assert';
3
3
 
4
4
  function isCompatDate(str) {
@@ -40,5 +40,5 @@ function stripRedundantNodejsCompatFlags(compatibilityDate, compatibilityFlags)
40
40
  __name(stripRedundantNodejsCompatFlags, "stripRedundantNodejsCompatFlags");
41
41
 
42
42
  export { NODEJS_COMPAT_DEFAULT_ON_DATE, NODEJS_COMPAT_V2_SWITCH_OVER_DATE, getTodaysCompatDate, isCompatDate, isNodejsCompatDefaultOn, resolveNodejsCompat, stripRedundantNodejsCompatFlags };
43
- //# sourceMappingURL=chunk-ZLUHKBEC.mjs.map
44
- //# sourceMappingURL=chunk-ZLUHKBEC.mjs.map
43
+ //# sourceMappingURL=chunk-ZZBYXY7A.mjs.map
44
+ //# sourceMappingURL=chunk-ZZBYXY7A.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/compatibility-date.ts"],"names":[],"mappings":";;;AAiBO,SAAS,aAAa,GAAA,EAAgC;AAC5D,EAAA,OAAO,qBAAA,CAAsB,KAAK,GAAG,CAAA;AACtC;AAFgB,MAAA,CAAA,YAAA,EAAA,cAAA,CAAA;AAUhB,SAAS,wBAAwB,IAAA,EAAwB;AACxD,EAAA,MAAM,aAAa,IAAA,CAAK,WAAA,EAAY,CAAE,KAAA,CAAM,GAAG,EAAE,CAAA;AACjD,EAAA,MAAA,CAAO,YAAA,CAAa,UAAU,CAAC,CAAA;AAC/B,EAAA,OAAO,UAAA;AACR;AAJS,MAAA,CAAA,uBAAA,EAAA,yBAAA,CAAA;AASF,SAAS,mBAAA,GAAkC;AACjD,EAAA,OAAO,uBAAA,iBAAwB,IAAI,IAAA,EAAM,CAAA;AAC1C;AAFgB,MAAA,CAAA,mBAAA,EAAA,qBAAA,CAAA;AAeT,IAAM,6BAAA,GAAgC;AAStC,SAAS,wBACf,iBAAA,EACU;AACV,EAAA,OACC,iBAAA,KAAsB,UACtB,iBAAA,IAAqB,6BAAA;AAEvB;AAPgB,MAAA,CAAA,uBAAA,EAAA,yBAAA,CAAA;AAaT,IAAM,iCAAA,GAAoC;AAe1C,SAAS,mBAAA,CACf,mBACA,kBAAA,EACuE;AACvE,EAAA,MAAM,WAAA,GAAc,wBAAwB,iBAAiB,CAAA;AAE7D,EAAA,MAAM,qBAAA,GACL,mBAAmB,QAAA,CAAS,eAAe,KAC1C,WAAA,IAAe,CAAC,kBAAA,CAAmB,QAAA,CAAS,kBAAkB,CAAA;AAEhE,EAAA,MAAM,uBAAA,GACL,kBAAA,CAAmB,QAAA,CAAS,kBAAkB,CAAA,IAC7C,CAAC,kBAAA,CAAmB,QAAA,CAAS,qBAAqB,CAAA,KACjD,WAAA,IACC,qBAAA,IACA,iBAAA,IAAqB,iCAAA,CAAA;AAEzB,EAAA,OAAO,EAAE,uBAAuB,uBAAA,EAAwB;AACzD;AAlBgB,MAAA,CAAA,mBAAA,EAAA,qBAAA,CAAA;AAsCT,SAAS,+BAAA,CACf,mBACA,kBAAA,EACW;AACX,EAAA,IAAI,CAAC,uBAAA,CAAwB,iBAAiB,CAAA,EAAG;AAChD,IAAA,OAAO,kBAAA;AAAA,EACR;AAEA,EAAA,MAAM,cAAA,GAAiB,CAAC,eAAA,EAAiB,kBAAkB,CAAA,CAAE,MAAA;AAAA,IAC5D,CAAC,IAAA,KAAS,CAAC,mBAAmB,QAAA,CAAS,CAAA,GAAA,EAAM,IAAI,CAAA,CAAE;AAAA,GACpD;AAEA,EAAA,OAAO,kBAAA,CAAmB,OAAO,CAAC,IAAA,KAAS,CAAC,cAAA,CAAe,QAAA,CAAS,IAAI,CAAC,CAAA;AAC1E;AAbgB,MAAA,CAAA,+BAAA,EAAA,iCAAA,CAAA","file":"chunk-ZLUHKBEC.mjs","sourcesContent":["import assert from \"node:assert\";\n\ntype YYYY = `${number}${number}${number}${number}`;\ntype MM = `${number}${number}`;\ntype DD = `${number}${number}`;\n\n/**\n * Represents a valid compatibility date, a string such as `2025-09-27`\n */\nexport type CompatDate = `${YYYY}-${MM}-${DD}`;\n\n/**\n * Discern whether a string represents a compatibility date (`YYYY-MM-DD`)\n *\n * @param str The target string\n * @returns true if the string represents a compatibility date, false otherwise\n */\nexport function isCompatDate(str: string): str is CompatDate {\n\treturn /^\\d{4}-\\d{2}-\\d{2}$/.test(str);\n}\n\n/**\n * Returns the date formatted as a compatibility date\n *\n * @param date The target date to convert\n * @returns The date as a CompatDate string (a string following the format `YYYY-MM-DD`)\n */\nfunction formatCompatibilityDate(date: Date): CompatDate {\n\tconst compatDate = date.toISOString().slice(0, 10);\n\tassert(isCompatDate(compatDate));\n\treturn compatDate;\n}\n\n/**\n * Returns today's date as a compatibility date string (`YYYY-MM-DD`).\n */\nexport function getTodaysCompatDate(): CompatDate {\n\treturn formatCompatibilityDate(new Date());\n}\n\n/**\n * The compatibility date on which the `nodejs_compat` and `nodejs_compat_v2`\n * compatibility flags became enabled by default in workerd.\n *\n * From this date onwards, specifying either flag explicitly is a validation\n * error (\"The compatibility flag nodejs_compat became the default as of\n * 2026-08-04 so does not need to be specified anymore\"), so tooling must not\n * add them to configurations using such a compatibility date.\n *\n * @see https://github.com/cloudflare/workerd/blob/main/src/workerd/io/compatibility-date.capnp\n */\nexport const NODEJS_COMPAT_DEFAULT_ON_DATE = \"2026-08-04\";\n\n/**\n * Whether workerd enables Node.js compatibility by default for the given\n * compatibility date, i.e. without the `nodejs_compat` flag being specified.\n *\n * @param compatibilityDate The compatibility date to check\n * @returns true if the date is on or after {@link NODEJS_COMPAT_DEFAULT_ON_DATE}\n */\nexport function isNodejsCompatDefaultOn(\n\tcompatibilityDate: string | undefined\n): boolean {\n\treturn (\n\t\tcompatibilityDate !== undefined &&\n\t\tcompatibilityDate >= NODEJS_COMPAT_DEFAULT_ON_DATE\n\t);\n}\n\n/**\n * The compatibility date on which `nodejs_compat` started implying\n * `nodejs_compat_v2`.\n */\nexport const NODEJS_COMPAT_V2_SWITCH_OVER_DATE = \"2024-09-23\";\n\n/**\n * Resolves whether workerd will enable the `nodejs_compat` and\n * `nodejs_compat_v2` features, mirroring how workerd itself resolves them from\n * the compatibility date and flags:\n * - Both are enabled by default from {@link NODEJS_COMPAT_DEFAULT_ON_DATE}\n * onwards, and each must be turned off separately from that date, with\n * `no_nodejs_compat` and `no_nodejs_compat_v2` respectively.\n * - Before that date, `nodejs_compat` implies `nodejs_compat_v2` from\n * {@link NODEJS_COMPAT_V2_SWITCH_OVER_DATE} onwards.\n *\n * @param compatibilityDate The compatibility date\n * @param compatibilityFlags The compatibility flags\n */\nexport function resolveNodejsCompat(\n\tcompatibilityDate: string,\n\tcompatibilityFlags: string[]\n): { isNodejsCompatEnabled: boolean; isNodejsCompatV2Enabled: boolean } {\n\tconst isDefaultOn = isNodejsCompatDefaultOn(compatibilityDate);\n\n\tconst isNodejsCompatEnabled =\n\t\tcompatibilityFlags.includes(\"nodejs_compat\") ||\n\t\t(isDefaultOn && !compatibilityFlags.includes(\"no_nodejs_compat\"));\n\n\tconst isNodejsCompatV2Enabled =\n\t\tcompatibilityFlags.includes(\"nodejs_compat_v2\") ||\n\t\t(!compatibilityFlags.includes(\"no_nodejs_compat_v2\") &&\n\t\t\t(isDefaultOn ||\n\t\t\t\t(isNodejsCompatEnabled &&\n\t\t\t\t\tcompatibilityDate >= NODEJS_COMPAT_V2_SWITCH_OVER_DATE)));\n\n\treturn { isNodejsCompatEnabled, isNodejsCompatV2Enabled };\n}\n\n// TODO: remove when workerd no longer errors\n/**\n * Removes the `nodejs_compat` and `nodejs_compat_v2` flags from a list of\n * compatibility flags when the compatibility date already enables them.\n *\n * workerd rejects a compatibility flag that its compatibility date enables by\n * default, so from {@link NODEJS_COMPAT_DEFAULT_ON_DATE} onwards specifying\n * either flag stops a Worker from starting up. Removing them is a no-op for\n * such a date, so tooling can accept the redundant flags rather than failing.\n *\n * A flag is kept when its matching opt-out is specified too, since workerd\n * reports those as contradictory and the enable flag wins there - dropping it\n * would silently switch Node.js compatibility off instead.\n *\n * @param compatibilityDate The compatibility date\n * @param compatibilityFlags The compatibility flags\n * @returns The flags, without the ones the date makes redundant\n */\nexport function stripRedundantNodejsCompatFlags(\n\tcompatibilityDate: string | undefined,\n\tcompatibilityFlags: string[]\n): string[] {\n\tif (!isNodejsCompatDefaultOn(compatibilityDate)) {\n\t\treturn compatibilityFlags;\n\t}\n\n\tconst redundantFlags = [\"nodejs_compat\", \"nodejs_compat_v2\"].filter(\n\t\t(flag) => !compatibilityFlags.includes(`no_${flag}`)\n\t);\n\n\treturn compatibilityFlags.filter((flag) => !redundantFlags.includes(flag));\n}\n"]}
1
+ {"version":3,"sources":["../src/compatibility-date.ts"],"names":[],"mappings":";;;AAiBO,SAAS,aAAa,GAAA,EAAgC;AAC5D,EAAA,OAAO,qBAAA,CAAsB,KAAK,GAAG,CAAA;AACtC;AAFgB,MAAA,CAAA,YAAA,EAAA,cAAA,CAAA;AAUhB,SAAS,wBAAwB,IAAA,EAAwB;AACxD,EAAA,MAAM,aAAa,IAAA,CAAK,WAAA,EAAY,CAAE,KAAA,CAAM,GAAG,EAAE,CAAA;AACjD,EAAA,MAAA,CAAO,YAAA,CAAa,UAAU,CAAC,CAAA;AAC/B,EAAA,OAAO,UAAA;AACR;AAJS,MAAA,CAAA,uBAAA,EAAA,yBAAA,CAAA;AASF,SAAS,mBAAA,GAAkC;AACjD,EAAA,OAAO,uBAAA,iBAAwB,IAAI,IAAA,EAAM,CAAA;AAC1C;AAFgB,MAAA,CAAA,mBAAA,EAAA,qBAAA,CAAA;AAeT,IAAM,6BAAA,GAAgC;AAStC,SAAS,wBACf,iBAAA,EACU;AACV,EAAA,OACC,iBAAA,KAAsB,UACtB,iBAAA,IAAqB,6BAAA;AAEvB;AAPgB,MAAA,CAAA,uBAAA,EAAA,yBAAA,CAAA;AAaT,IAAM,iCAAA,GAAoC;AAe1C,SAAS,mBAAA,CACf,mBACA,kBAAA,EACuE;AACvE,EAAA,MAAM,WAAA,GAAc,wBAAwB,iBAAiB,CAAA;AAE7D,EAAA,MAAM,qBAAA,GACL,mBAAmB,QAAA,CAAS,eAAe,KAC1C,WAAA,IAAe,CAAC,kBAAA,CAAmB,QAAA,CAAS,kBAAkB,CAAA;AAEhE,EAAA,MAAM,uBAAA,GACL,kBAAA,CAAmB,QAAA,CAAS,kBAAkB,CAAA,IAC7C,CAAC,kBAAA,CAAmB,QAAA,CAAS,qBAAqB,CAAA,KACjD,WAAA,IACC,qBAAA,IACA,iBAAA,IAAqB,iCAAA,CAAA;AAEzB,EAAA,OAAO,EAAE,uBAAuB,uBAAA,EAAwB;AACzD;AAlBgB,MAAA,CAAA,mBAAA,EAAA,qBAAA,CAAA;AAsCT,SAAS,+BAAA,CACf,mBACA,kBAAA,EACW;AACX,EAAA,IAAI,CAAC,uBAAA,CAAwB,iBAAiB,CAAA,EAAG;AAChD,IAAA,OAAO,kBAAA;AAAA,EACR;AAEA,EAAA,MAAM,cAAA,GAAiB,CAAC,eAAA,EAAiB,kBAAkB,CAAA,CAAE,MAAA;AAAA,IAC5D,CAAC,IAAA,KAAS,CAAC,mBAAmB,QAAA,CAAS,CAAA,GAAA,EAAM,IAAI,CAAA,CAAE;AAAA,GACpD;AAEA,EAAA,OAAO,kBAAA,CAAmB,OAAO,CAAC,IAAA,KAAS,CAAC,cAAA,CAAe,QAAA,CAAS,IAAI,CAAC,CAAA;AAC1E;AAbgB,MAAA,CAAA,+BAAA,EAAA,iCAAA,CAAA","file":"chunk-ZZBYXY7A.mjs","sourcesContent":["import assert from \"node:assert\";\n\ntype YYYY = `${number}${number}${number}${number}`;\ntype MM = `${number}${number}`;\ntype DD = `${number}${number}`;\n\n/**\n * Represents a valid compatibility date, a string such as `2025-09-27`\n */\nexport type CompatDate = `${YYYY}-${MM}-${DD}`;\n\n/**\n * Discern whether a string represents a compatibility date (`YYYY-MM-DD`)\n *\n * @param str The target string\n * @returns true if the string represents a compatibility date, false otherwise\n */\nexport function isCompatDate(str: string): str is CompatDate {\n\treturn /^\\d{4}-\\d{2}-\\d{2}$/.test(str);\n}\n\n/**\n * Returns the date formatted as a compatibility date\n *\n * @param date The target date to convert\n * @returns The date as a CompatDate string (a string following the format `YYYY-MM-DD`)\n */\nfunction formatCompatibilityDate(date: Date): CompatDate {\n\tconst compatDate = date.toISOString().slice(0, 10);\n\tassert(isCompatDate(compatDate));\n\treturn compatDate;\n}\n\n/**\n * Returns today's date as a compatibility date string (`YYYY-MM-DD`).\n */\nexport function getTodaysCompatDate(): CompatDate {\n\treturn formatCompatibilityDate(new Date());\n}\n\n/**\n * The compatibility date on which the `nodejs_compat` and `nodejs_compat_v2`\n * compatibility flags became enabled by default in workerd.\n *\n * From this date onwards, specifying either flag explicitly is a validation\n * error (\"The compatibility flag nodejs_compat became the default as of\n * 2026-08-04 so does not need to be specified anymore\"), so tooling must not\n * add them to configurations using such a compatibility date.\n *\n * @see https://github.com/cloudflare/workerd/blob/main/src/workerd/io/compatibility-date.capnp\n */\nexport const NODEJS_COMPAT_DEFAULT_ON_DATE = \"2026-08-04\";\n\n/**\n * Whether workerd enables Node.js compatibility by default for the given\n * compatibility date, i.e. without the `nodejs_compat` flag being specified.\n *\n * @param compatibilityDate The compatibility date to check\n * @returns true if the date is on or after {@link NODEJS_COMPAT_DEFAULT_ON_DATE}\n */\nexport function isNodejsCompatDefaultOn(\n\tcompatibilityDate: string | undefined\n): boolean {\n\treturn (\n\t\tcompatibilityDate !== undefined &&\n\t\tcompatibilityDate >= NODEJS_COMPAT_DEFAULT_ON_DATE\n\t);\n}\n\n/**\n * The compatibility date on which `nodejs_compat` started implying\n * `nodejs_compat_v2`.\n */\nexport const NODEJS_COMPAT_V2_SWITCH_OVER_DATE = \"2024-09-23\";\n\n/**\n * Resolves whether workerd will enable the `nodejs_compat` and\n * `nodejs_compat_v2` features, mirroring how workerd itself resolves them from\n * the compatibility date and flags:\n * - Both are enabled by default from {@link NODEJS_COMPAT_DEFAULT_ON_DATE}\n * onwards, and each must be turned off separately from that date, with\n * `no_nodejs_compat` and `no_nodejs_compat_v2` respectively.\n * - Before that date, `nodejs_compat` implies `nodejs_compat_v2` from\n * {@link NODEJS_COMPAT_V2_SWITCH_OVER_DATE} onwards.\n *\n * @param compatibilityDate The compatibility date\n * @param compatibilityFlags The compatibility flags\n */\nexport function resolveNodejsCompat(\n\tcompatibilityDate: string,\n\tcompatibilityFlags: string[]\n): { isNodejsCompatEnabled: boolean; isNodejsCompatV2Enabled: boolean } {\n\tconst isDefaultOn = isNodejsCompatDefaultOn(compatibilityDate);\n\n\tconst isNodejsCompatEnabled =\n\t\tcompatibilityFlags.includes(\"nodejs_compat\") ||\n\t\t(isDefaultOn && !compatibilityFlags.includes(\"no_nodejs_compat\"));\n\n\tconst isNodejsCompatV2Enabled =\n\t\tcompatibilityFlags.includes(\"nodejs_compat_v2\") ||\n\t\t(!compatibilityFlags.includes(\"no_nodejs_compat_v2\") &&\n\t\t\t(isDefaultOn ||\n\t\t\t\t(isNodejsCompatEnabled &&\n\t\t\t\t\tcompatibilityDate >= NODEJS_COMPAT_V2_SWITCH_OVER_DATE)));\n\n\treturn { isNodejsCompatEnabled, isNodejsCompatV2Enabled };\n}\n\n// TODO: remove when workerd no longer errors\n/**\n * Removes the `nodejs_compat` and `nodejs_compat_v2` flags from a list of\n * compatibility flags when the compatibility date already enables them.\n *\n * workerd rejects a compatibility flag that its compatibility date enables by\n * default, so from {@link NODEJS_COMPAT_DEFAULT_ON_DATE} onwards specifying\n * either flag stops a Worker from starting up. Removing them is a no-op for\n * such a date, so tooling can accept the redundant flags rather than failing.\n *\n * A flag is kept when its matching opt-out is specified too, since workerd\n * reports those as contradictory and the enable flag wins there - dropping it\n * would silently switch Node.js compatibility off instead.\n *\n * @param compatibilityDate The compatibility date\n * @param compatibilityFlags The compatibility flags\n * @returns The flags, without the ones the date makes redundant\n */\nexport function stripRedundantNodejsCompatFlags(\n\tcompatibilityDate: string | undefined,\n\tcompatibilityFlags: string[]\n): string[] {\n\tif (!isNodejsCompatDefaultOn(compatibilityDate)) {\n\t\treturn compatibilityFlags;\n\t}\n\n\tconst redundantFlags = [\"nodejs_compat\", \"nodejs_compat_v2\"].filter(\n\t\t(flag) => !compatibilityFlags.includes(`no_${flag}`)\n\t);\n\n\treturn compatibilityFlags.filter((flag) => !redundantFlags.includes(flag));\n}\n"]}
@@ -1,4 +1,4 @@
1
- export { NODEJS_COMPAT_DEFAULT_ON_DATE, NODEJS_COMPAT_V2_SWITCH_OVER_DATE, getTodaysCompatDate, isCompatDate, isNodejsCompatDefaultOn, resolveNodejsCompat, stripRedundantNodejsCompatFlags } from './chunk-ZLUHKBEC.mjs';
2
- import './chunk-6LYDFTTF.mjs';
1
+ export { NODEJS_COMPAT_DEFAULT_ON_DATE, NODEJS_COMPAT_V2_SWITCH_OVER_DATE, getTodaysCompatDate, isCompatDate, isNodejsCompatDefaultOn, resolveNodejsCompat, stripRedundantNodejsCompatFlags } from './chunk-ZZBYXY7A.mjs';
2
+ import './chunk-CGILA3WO.mjs';
3
3
  //# sourceMappingURL=compatibility-date.mjs.map
4
4
  //# sourceMappingURL=compatibility-date.mjs.map
@@ -1,9 +1,8 @@
1
- export { COMPLIANCE_REGION_CONFIG_PUBLIC, COMPLIANCE_REGION_CONFIG_UNKNOWN, getCloudflareApiBaseUrl, getCloudflareComplianceRegion, getComplianceRegionSubdomain } from './chunk-NXPJWJ2B.mjs';
2
- import './chunk-G5FCNCLK.mjs';
3
- import './chunk-OPAKTV2K.mjs';
4
- import './chunk-CPLEE7LH.mjs';
5
- import './chunk-IGC3TZGH.mjs';
6
- import './chunk-VKFVZ67V.mjs';
7
- import './chunk-6LYDFTTF.mjs';
1
+ export { COMPLIANCE_REGION_CONFIG_PUBLIC, COMPLIANCE_REGION_CONFIG_UNKNOWN, getCloudflareApiBaseUrl, getCloudflareComplianceRegion, getComplianceRegionSubdomain } from './chunk-47QFQIPP.mjs';
2
+ import './chunk-555CCIJE.mjs';
3
+ import './chunk-KAEJMITB.mjs';
4
+ import './chunk-YTEYGQOX.mjs';
5
+ import './chunk-T6I7NOR4.mjs';
6
+ import './chunk-CGILA3WO.mjs';
8
7
  //# sourceMappingURL=compliance.mjs.map
9
8
  //# sourceMappingURL=compliance.mjs.map
@@ -1,5 +1,5 @@
1
- export { getDockerPath } from './chunk-OPAKTV2K.mjs';
2
- import './chunk-CPLEE7LH.mjs';
3
- import './chunk-6LYDFTTF.mjs';
1
+ export { getDockerPath } from './chunk-555CCIJE.mjs';
2
+ import './chunk-KAEJMITB.mjs';
3
+ import './chunk-CGILA3WO.mjs';
4
4
  //# sourceMappingURL=docker-path.mjs.map
5
5
  //# sourceMappingURL=docker-path.mjs.map
package/dist/errors.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { CommandLineArgsError, DeprecationError, FatalError, JsonFriendlyFatalError, MissingConfigError, UserError, createFatalError } from './chunk-CPLEE7LH.mjs';
2
- import './chunk-6LYDFTTF.mjs';
1
+ export { CommandLineArgsError, DeprecationError, FatalError, JsonFriendlyFatalError, MissingConfigError, UserError, createFatalError } from './chunk-KAEJMITB.mjs';
2
+ import './chunk-CGILA3WO.mjs';
3
3
  //# sourceMappingURL=errors.mjs.map
4
4
  //# sourceMappingURL=errors.mjs.map
@@ -1,4 +1,4 @@
1
- export { isDirectory, removeDir, removeDirSync } from './chunk-VKFVZ67V.mjs';
2
- import './chunk-6LYDFTTF.mjs';
1
+ export { isDirectory, removeDir, removeDirSync } from './chunk-T6I7NOR4.mjs';
2
+ import './chunk-CGILA3WO.mjs';
3
3
  //# sourceMappingURL=fs-helpers.mjs.map
4
4
  //# sourceMappingURL=fs-helpers.mjs.map
@@ -1,5 +1,5 @@
1
- export { getGlobalConfigPath, getGlobalWranglerCachePath } from './chunk-IGC3TZGH.mjs';
2
- import './chunk-VKFVZ67V.mjs';
3
- import './chunk-6LYDFTTF.mjs';
1
+ export { getGlobalConfigPath, getGlobalWranglerCachePath } from './chunk-YTEYGQOX.mjs';
2
+ import './chunk-T6I7NOR4.mjs';
3
+ import './chunk-CGILA3WO.mjs';
4
4
  //# sourceMappingURL=global-wrangler-config-path.mjs.map
5
5
  //# sourceMappingURL=global-wrangler-config-path.mjs.map