create-cloudflare 2.72.7 → 2.72.8
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.
- package/dist/cli.js +146 -68
- package/package.json +7 -8
package/dist/cli.js
CHANGED
|
@@ -77461,7 +77461,7 @@ function dedent(templ) {
|
|
|
77461
77461
|
__name(dedent, "dedent");
|
|
77462
77462
|
var esm_default = dedent;
|
|
77463
77463
|
|
|
77464
|
-
// ../workers-utils/dist/chunk-
|
|
77464
|
+
// ../workers-utils/dist/chunk-JGKSDUFK.mjs
|
|
77465
77465
|
init_chunk_Q72B4Q5Z();
|
|
77466
77466
|
var import_node_fs = require("node:fs");
|
|
77467
77467
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
@@ -77504,6 +77504,19 @@ function getDurableObjectContainerApps(containers) {
|
|
|
77504
77504
|
return Array.isArray(containers) ? containers.filter(isDurableObjectContainerApp) : [];
|
|
77505
77505
|
}
|
|
77506
77506
|
__name(getDurableObjectContainerApps, "getDurableObjectContainerApps");
|
|
77507
|
+
function getResolvedDurableObjectContainerApps(containers, exports$1) {
|
|
77508
|
+
return getDurableObjectContainerApps(containers).map((container) => {
|
|
77509
|
+
const className = resolveContainerClassName(container, exports$1);
|
|
77510
|
+
if (typeof className !== "string" || className.length === 0) {
|
|
77511
|
+
throw new UserError(
|
|
77512
|
+
`The container "${container.name}" is not linked to a Durable Object. Either set "containers.class_name", or reference this container from a Durable Object's \`exports\` entry via its "container" field.`,
|
|
77513
|
+
{ telemetryMessage: "durable object container class unresolved" }
|
|
77514
|
+
);
|
|
77515
|
+
}
|
|
77516
|
+
return { ...container, class_name: className };
|
|
77517
|
+
});
|
|
77518
|
+
}
|
|
77519
|
+
__name(getResolvedDurableObjectContainerApps, "getResolvedDurableObjectContainerApps");
|
|
77507
77520
|
function getContainerNameToClassNameMap(exports$1) {
|
|
77508
77521
|
const containerNameToClassName = /* @__PURE__ */ new Map();
|
|
77509
77522
|
for (const [className, entry] of Object.entries(
|
|
@@ -77604,12 +77617,17 @@ function getDurableObjectClassNameToUseSQLiteMap(migrations, exports$1) {
|
|
|
77604
77617
|
return durableObjectClassNameToUseSQLiteMap;
|
|
77605
77618
|
}
|
|
77606
77619
|
__name(getDurableObjectClassNameToUseSQLiteMap, "getDurableObjectClassNameToUseSQLiteMap");
|
|
77607
|
-
function validateDurableObjectContainerApplications(config50
|
|
77620
|
+
function validateDurableObjectContainerApplications(config50, containers = getDurableObjectContainerApps(
|
|
77621
|
+
config50.containers
|
|
77622
|
+
)) {
|
|
77608
77623
|
const allDOs = getDurableObjectClassNameToUseSQLiteMap(
|
|
77609
77624
|
config50.migrations,
|
|
77610
77625
|
config50.exports
|
|
77611
77626
|
);
|
|
77612
|
-
for (const container of
|
|
77627
|
+
for (const container of getResolvedDurableObjectContainerApps(
|
|
77628
|
+
containers,
|
|
77629
|
+
config50.exports
|
|
77630
|
+
)) {
|
|
77613
77631
|
const maybeBoundDO = config50.durable_objects.bindings.find(
|
|
77614
77632
|
(durableObject) => durableObject.class_name === container.class_name
|
|
77615
77633
|
);
|
|
@@ -79935,7 +79953,7 @@ var APIError = class extends ParseError {
|
|
|
79935
79953
|
}
|
|
79936
79954
|
isGatewayError() {
|
|
79937
79955
|
if (this.#status !== void 0) {
|
|
79938
|
-
return [524].includes(this.#status);
|
|
79956
|
+
return [502, 503, 504, 524].includes(this.#status);
|
|
79939
79957
|
}
|
|
79940
79958
|
return false;
|
|
79941
79959
|
}
|
|
@@ -80395,9 +80413,9 @@ function formatConfigSnippet(snippet, configPath, formatted = true) {
|
|
|
80395
80413
|
}
|
|
80396
80414
|
__name(formatConfigSnippet, "formatConfigSnippet");
|
|
80397
80415
|
|
|
80398
|
-
// ../workers-utils/dist/chunk-
|
|
80416
|
+
// ../workers-utils/dist/chunk-5H6GBNUC.mjs
|
|
80399
80417
|
init_chunk_Q72B4Q5Z();
|
|
80400
|
-
var DEFAULT_COMPAT_DATE = "2026-09-
|
|
80418
|
+
var DEFAULT_COMPAT_DATE = "2026-09-15";
|
|
80401
80419
|
function assertNever(_value) {
|
|
80402
80420
|
}
|
|
80403
80421
|
__name(assertNever, "assertNever");
|
|
@@ -80677,13 +80695,6 @@ function mapWorkerMetadataBindings(bindings) {
|
|
|
80677
80695
|
}
|
|
80678
80696
|
];
|
|
80679
80697
|
break;
|
|
80680
|
-
case "websearch":
|
|
80681
|
-
{
|
|
80682
|
-
configObj.websearch = {
|
|
80683
|
-
binding: binding.name
|
|
80684
|
-
};
|
|
80685
|
-
}
|
|
80686
|
-
break;
|
|
80687
80698
|
case "agent_memory": {
|
|
80688
80699
|
configObj.agent_memory = [
|
|
80689
80700
|
...configObj.agent_memory ?? [],
|
|
@@ -82976,7 +82987,6 @@ var defaultWranglerConfig = {
|
|
|
82976
82987
|
vectorize: [],
|
|
82977
82988
|
ai_search_namespaces: [],
|
|
82978
82989
|
ai_search: [],
|
|
82979
|
-
websearch: void 0,
|
|
82980
82990
|
agent_memory: [],
|
|
82981
82991
|
hyperdrive: [],
|
|
82982
82992
|
workflows: [],
|
|
@@ -98285,7 +98295,6 @@ var friendlyBindingNames = {
|
|
|
98285
98295
|
vectorize: "Vectorize Index",
|
|
98286
98296
|
ai_search_namespaces: "AI Search Namespace",
|
|
98287
98297
|
ai_search: "AI Search Instance",
|
|
98288
|
-
websearch: "Web Search",
|
|
98289
98298
|
agent_memory: "Agent Memory",
|
|
98290
98299
|
hyperdrive: "Hyperdrive Config",
|
|
98291
98300
|
r2_buckets: "R2 Bucket",
|
|
@@ -98339,7 +98348,6 @@ var bindingTypeFriendlyNames = {
|
|
|
98339
98348
|
vectorize: "Vectorize Index",
|
|
98340
98349
|
ai_search_namespace: "AI Search Namespace",
|
|
98341
98350
|
ai_search: "AI Search Instance",
|
|
98342
|
-
websearch: "Web Search",
|
|
98343
98351
|
agent_memory: "Agent Memory",
|
|
98344
98352
|
hyperdrive: "Hyperdrive Config",
|
|
98345
98353
|
service: "Worker",
|
|
@@ -99614,16 +99622,6 @@ function normalizeAndValidateEnvironment(diagnostics, configPath, rawEnv, isDisp
|
|
|
99614
99622
|
validateBindingArray(envName, validateAISearchBinding),
|
|
99615
99623
|
[]
|
|
99616
99624
|
),
|
|
99617
|
-
websearch: notInheritable(
|
|
99618
|
-
diagnostics,
|
|
99619
|
-
topLevelEnv,
|
|
99620
|
-
rawConfig,
|
|
99621
|
-
rawEnv,
|
|
99622
|
-
envName,
|
|
99623
|
-
"websearch",
|
|
99624
|
-
validateNamedSimpleBinding(envName),
|
|
99625
|
-
void 0
|
|
99626
|
-
),
|
|
99627
99625
|
agent_memory: notInheritable(
|
|
99628
99626
|
diagnostics,
|
|
99629
99627
|
topLevelEnv,
|
|
@@ -100876,7 +100874,6 @@ var validateUnsafeBinding = /* @__PURE__ */ __name((diagnostics, field, value) =
|
|
|
100876
100874
|
"ai",
|
|
100877
100875
|
"ai_search_namespace",
|
|
100878
100876
|
"ai_search",
|
|
100879
|
-
"websearch",
|
|
100880
100877
|
"agent_memory",
|
|
100881
100878
|
"kv_namespace",
|
|
100882
100879
|
"durable_object_namespace",
|
|
@@ -101092,8 +101089,25 @@ function validateDurableObjectContainerImages(diagnostics, field, images, compli
|
|
|
101092
101089
|
valid = false;
|
|
101093
101090
|
}
|
|
101094
101091
|
}
|
|
101092
|
+
const isDockerfileBuild = hasDockerfile && !hasImage;
|
|
101093
|
+
if (isDockerfileBuild) {
|
|
101094
|
+
if (image.build_context !== void 0 && (typeof image.build_context !== "string" || image.build_context.length === 0)) {
|
|
101095
|
+
diagnostics.errors.push(
|
|
101096
|
+
`"${imageField}.build_context" must be a non-empty string.`
|
|
101097
|
+
);
|
|
101098
|
+
valid = false;
|
|
101099
|
+
}
|
|
101100
|
+
if (image.build_vars !== void 0 && (typeof image.build_vars !== "object" || image.build_vars === null || Array.isArray(image.build_vars) || Object.values(image.build_vars).some(
|
|
101101
|
+
(value) => typeof value !== "string"
|
|
101102
|
+
))) {
|
|
101103
|
+
diagnostics.errors.push(
|
|
101104
|
+
`"${imageField}.build_vars" must be an object with string values.`
|
|
101105
|
+
);
|
|
101106
|
+
valid = false;
|
|
101107
|
+
}
|
|
101108
|
+
}
|
|
101095
101109
|
const unsupportedFields = Object.keys(image).filter(
|
|
101096
|
-
(property) => property !== "dockerfile" && property !== "image"
|
|
101110
|
+
(property) => property !== "dockerfile" && property !== "image" && !(isDockerfileBuild && (property === "build_context" || property === "build_vars"))
|
|
101097
101111
|
);
|
|
101098
101112
|
if (unsupportedFields.length > 0) {
|
|
101099
101113
|
diagnostics.errors.push(
|
|
@@ -101105,6 +101119,32 @@ function validateDurableObjectContainerImages(diagnostics, field, images, compli
|
|
|
101105
101119
|
return valid;
|
|
101106
101120
|
}
|
|
101107
101121
|
__name(validateDurableObjectContainerImages, "validateDurableObjectContainerImages");
|
|
101122
|
+
function validateDurableObjectContainerUnsafe(diagnostics, field, value) {
|
|
101123
|
+
if (value === void 0) {
|
|
101124
|
+
return;
|
|
101125
|
+
}
|
|
101126
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
101127
|
+
diagnostics.errors.push(`"${field}" should be an object.`);
|
|
101128
|
+
return;
|
|
101129
|
+
}
|
|
101130
|
+
const unsafe = value;
|
|
101131
|
+
const configuration = unsafe.configuration;
|
|
101132
|
+
if (Object.keys(unsafe).some((key) => key !== "configuration") || configuration !== void 0 && (typeof configuration !== "object" || configuration === null || Array.isArray(configuration) || Object.keys(configuration).some((key) => key !== "experimental_flags"))) {
|
|
101133
|
+
diagnostics.errors.push(
|
|
101134
|
+
`Only "${field}.configuration.experimental_flags" is supported for Durable Object-managed Containers.`
|
|
101135
|
+
);
|
|
101136
|
+
return;
|
|
101137
|
+
}
|
|
101138
|
+
if (configuration !== void 0) {
|
|
101139
|
+
const flags = configuration.experimental_flags;
|
|
101140
|
+
if (flags !== void 0 && (!Array.isArray(flags) || flags.some((flag) => typeof flag !== "string"))) {
|
|
101141
|
+
diagnostics.errors.push(
|
|
101142
|
+
`"${field}.configuration.experimental_flags" should be an array of strings.`
|
|
101143
|
+
);
|
|
101144
|
+
}
|
|
101145
|
+
}
|
|
101146
|
+
}
|
|
101147
|
+
__name(validateDurableObjectContainerUnsafe, "validateDurableObjectContainerUnsafe");
|
|
101108
101148
|
function validateContainerApp(envName, topLevelName, configPath, options = {}) {
|
|
101109
101149
|
const { generateDefaultName = true } = options;
|
|
101110
101150
|
return (diagnostics, field, value, config210) => {
|
|
@@ -101120,19 +101160,16 @@ function validateContainerApp(envName, topLevelName, configPath, options = {}) {
|
|
|
101120
101160
|
for (const containerAppOptional of value) {
|
|
101121
101161
|
const isDurableObjectManaged = containerAppOptional.scheduling_policy === "durable_object";
|
|
101122
101162
|
const hasValidDurableObjectClassName = typeof containerAppOptional.class_name === "string" && containerAppOptional.class_name.length > 0;
|
|
101123
|
-
|
|
101124
|
-
|
|
101125
|
-
|
|
101126
|
-
|
|
101127
|
-
|
|
101128
|
-
|
|
101129
|
-
|
|
101130
|
-
|
|
101131
|
-
|
|
101132
|
-
|
|
101133
|
-
"class_name",
|
|
101134
|
-
containerAppOptional.class_name,
|
|
101135
|
-
"string"
|
|
101163
|
+
validateOptionalProperty(
|
|
101164
|
+
diagnostics,
|
|
101165
|
+
field,
|
|
101166
|
+
"class_name",
|
|
101167
|
+
containerAppOptional.class_name,
|
|
101168
|
+
"string"
|
|
101169
|
+
);
|
|
101170
|
+
if (isDurableObjectManaged && containerAppOptional.class_name === "") {
|
|
101171
|
+
diagnostics.errors.push(
|
|
101172
|
+
`"containers.class_name" must be a non-empty string when specified for a Durable Object-managed Container.`
|
|
101136
101173
|
);
|
|
101137
101174
|
}
|
|
101138
101175
|
validateOptionalProperty(
|
|
@@ -101142,7 +101179,7 @@ function validateContainerApp(envName, topLevelName, configPath, options = {}) {
|
|
|
101142
101179
|
containerAppOptional.name,
|
|
101143
101180
|
"string"
|
|
101144
101181
|
);
|
|
101145
|
-
if (generateDefaultName && !containerAppOptional.name && (!isDurableObjectManaged || hasValidDurableObjectClassName)) {
|
|
101182
|
+
if (generateDefaultName && !containerAppOptional.name && (!isDurableObjectManaged || containerAppOptional.class_name === void 0 || hasValidDurableObjectClassName)) {
|
|
101146
101183
|
if (containerAppOptional.class_name === void 0) {
|
|
101147
101184
|
diagnostics.errors.push(
|
|
101148
101185
|
`"containers.name" is required when "containers.class_name" is not defined, because there is no class name to derive a default name from. Either name this container and reference it from a Durable Object's \`exports\` entry, or set "containers.class_name".`
|
|
@@ -101164,12 +101201,35 @@ function validateContainerApp(envName, topLevelName, configPath, options = {}) {
|
|
|
101164
101201
|
containerAppOptional.images,
|
|
101165
101202
|
options.complianceConfig
|
|
101166
101203
|
);
|
|
101204
|
+
validateContainerObservability(
|
|
101205
|
+
diagnostics,
|
|
101206
|
+
`${field}.observability`,
|
|
101207
|
+
containerAppOptional.observability,
|
|
101208
|
+
config210
|
|
101209
|
+
);
|
|
101210
|
+
if (containerAppOptional.observability?.target_instance_count !== void 0 || containerAppOptional.observability?.target_instance_percentage !== void 0) {
|
|
101211
|
+
diagnostics.errors.push(
|
|
101212
|
+
`"${field}.observability" only supports enabling or disabling logs for Durable Object-managed Containers; instance targeting is not supported.`
|
|
101213
|
+
);
|
|
101214
|
+
}
|
|
101215
|
+
validateDurableObjectContainerUnsafe(
|
|
101216
|
+
diagnostics,
|
|
101217
|
+
`${field}.unsafe`,
|
|
101218
|
+
containerAppOptional.unsafe
|
|
101219
|
+
);
|
|
101167
101220
|
const unsupportedFields = Object.keys(containerAppOptional).filter(
|
|
101168
|
-
(key) => ![
|
|
101221
|
+
(key) => ![
|
|
101222
|
+
"name",
|
|
101223
|
+
"class_name",
|
|
101224
|
+
"scheduling_policy",
|
|
101225
|
+
"images",
|
|
101226
|
+
"observability",
|
|
101227
|
+
"unsafe"
|
|
101228
|
+
].includes(key)
|
|
101169
101229
|
);
|
|
101170
101230
|
if (unsupportedFields.length > 0) {
|
|
101171
101231
|
diagnostics.errors.push(
|
|
101172
|
-
`Unsupported fields for Durable Object-managed Containers in ${field}: ${unsupportedFields.map((key) => `"${key}"`).join(",")}. Only "name", "class_name", "scheduling_policy", and "
|
|
101232
|
+
`Unsupported fields for Durable Object-managed Containers in ${field}: ${unsupportedFields.map((key) => `"${key}"`).join(",")}. Only "name", "class_name", "scheduling_policy", "images", "observability", and restricted "unsafe" settings are supported.`
|
|
101173
101233
|
);
|
|
101174
101234
|
}
|
|
101175
101235
|
continue;
|
|
@@ -103012,6 +103072,8 @@ var validatePreviewsConfig = /* @__PURE__ */ __name((envName, configPath) => (di
|
|
|
103012
103072
|
"d1_databases",
|
|
103013
103073
|
"r2_buckets",
|
|
103014
103074
|
"vectorize",
|
|
103075
|
+
"ai_search_namespaces",
|
|
103076
|
+
"ai_search",
|
|
103015
103077
|
"hyperdrive",
|
|
103016
103078
|
"services",
|
|
103017
103079
|
"analytics_engine_datasets",
|
|
@@ -103098,6 +103160,18 @@ var validatePreviewsConfig = /* @__PURE__ */ __name((envName, configPath) => (di
|
|
|
103098
103160
|
previews.vectorize,
|
|
103099
103161
|
void 0
|
|
103100
103162
|
) && isValid;
|
|
103163
|
+
isValid = validateBindingArray(envName, validateAISearchNamespaceBinding)(
|
|
103164
|
+
diagnostics,
|
|
103165
|
+
`${field}.ai_search_namespaces`,
|
|
103166
|
+
previews.ai_search_namespaces,
|
|
103167
|
+
void 0
|
|
103168
|
+
) && isValid;
|
|
103169
|
+
isValid = validateBindingArray(envName, validateAISearchBinding)(
|
|
103170
|
+
diagnostics,
|
|
103171
|
+
`${field}.ai_search`,
|
|
103172
|
+
previews.ai_search,
|
|
103173
|
+
void 0
|
|
103174
|
+
) && isValid;
|
|
103101
103175
|
isValid = validateBindingArray(envName, validateHyperdriveBinding)(
|
|
103102
103176
|
diagnostics,
|
|
103103
103177
|
`${field}.hyperdrive`,
|
|
@@ -104251,7 +104325,6 @@ var BINDING_LOCAL_SUPPORT = {
|
|
|
104251
104325
|
flagship: "DO-NOT-USE-this-resource-will-never-have-a-local-simulator",
|
|
104252
104326
|
vpc_service: "DO-NOT-USE-this-resource-will-never-have-a-local-simulator",
|
|
104253
104327
|
vpc_network: "DO-NOT-USE-this-resource-will-never-have-a-local-simulator",
|
|
104254
|
-
websearch: "DO-NOT-USE-this-resource-will-never-have-a-local-simulator",
|
|
104255
104328
|
agent_memory: "DO-NOT-USE-this-resource-will-never-have-a-local-simulator"
|
|
104256
104329
|
};
|
|
104257
104330
|
function getBindingLocalSupport(type) {
|
|
@@ -104745,11 +104818,6 @@ function convertConfigToBindings(config210, options) {
|
|
|
104745
104818
|
}
|
|
104746
104819
|
break;
|
|
104747
104820
|
}
|
|
104748
|
-
case "websearch": {
|
|
104749
|
-
const { binding, ...x } = info;
|
|
104750
|
-
output[binding] = { type: "websearch", ...x };
|
|
104751
|
-
break;
|
|
104752
|
-
}
|
|
104753
104821
|
case "agent_memory": {
|
|
104754
104822
|
for (const { binding, ...x } of info) {
|
|
104755
104823
|
output[binding] = { type: "agent_memory", ...x };
|
|
@@ -104922,7 +104990,6 @@ function printBindings(bindings, options) {
|
|
|
104922
104990
|
bindings
|
|
104923
104991
|
);
|
|
104924
104992
|
const ai_search = extractBindingsOfType("ai_search", bindings);
|
|
104925
|
-
const websearch = extractBindingsOfType("websearch", bindings);
|
|
104926
104993
|
const agent_memory = extractBindingsOfType("agent_memory", bindings);
|
|
104927
104994
|
const hyperdrive = extractBindingsOfType("hyperdrive", bindings);
|
|
104928
104995
|
const r2_buckets = extractBindingsOfType("r2_bucket", bindings);
|
|
@@ -105140,16 +105207,6 @@ function printBindings(bindings, options) {
|
|
|
105140
105207
|
}))
|
|
105141
105208
|
);
|
|
105142
105209
|
}
|
|
105143
|
-
if (websearch.length > 0) {
|
|
105144
|
-
output.push(
|
|
105145
|
-
...websearch.map(({ binding }) => ({
|
|
105146
|
-
name: binding,
|
|
105147
|
-
type: getBindingTypeFriendlyName("websearch"),
|
|
105148
|
-
value: void 0,
|
|
105149
|
-
mode: getMode({ isSimulatedLocally: false })
|
|
105150
|
-
}))
|
|
105151
|
-
);
|
|
105152
|
-
}
|
|
105153
105210
|
if (agent_memory.length > 0) {
|
|
105154
105211
|
output.push(
|
|
105155
105212
|
...agent_memory.map(({ binding, namespace }) => ({
|
|
@@ -105631,7 +105688,7 @@ ${allTailConsumers.map(({ service, streaming }) => {
|
|
|
105631
105688
|
log2(
|
|
105632
105689
|
`${containersTitle}
|
|
105633
105690
|
${containers.map(
|
|
105634
|
-
(container) => container.scheduling_policy === "durable_object" ? `- ${container.class_name} (durable_object)` : `- ${container.name} (${container.image})`
|
|
105691
|
+
(container) => container.scheduling_policy === "durable_object" ? `- ${container.class_name ?? container.name} (durable_object)` : `- ${container.name} (${container.image})`
|
|
105635
105692
|
).join("\n")}`
|
|
105636
105693
|
);
|
|
105637
105694
|
log2("");
|
|
@@ -112533,7 +112590,7 @@ var Yargs = YargsFactory(esm_default2);
|
|
|
112533
112590
|
var yargs_default = Yargs;
|
|
112534
112591
|
|
|
112535
112592
|
// package.json
|
|
112536
|
-
var version2 = "2.72.
|
|
112593
|
+
var version2 = "2.72.8";
|
|
112537
112594
|
|
|
112538
112595
|
// src/metrics.ts
|
|
112539
112596
|
var import_node_async_hooks = require("node:async_hooks");
|
|
@@ -115120,20 +115177,20 @@ __name2(getPropertyName, "getPropertyName");
|
|
|
115120
115177
|
var package_default = {
|
|
115121
115178
|
name: "frameworks_clis_info",
|
|
115122
115179
|
dependencies: {
|
|
115123
|
-
"@angular/create": "22.1.
|
|
115180
|
+
"@angular/create": "22.1.8",
|
|
115124
115181
|
"@tanstack/cli": "0.71.0",
|
|
115125
|
-
"create-analog": "2.7.
|
|
115182
|
+
"create-analog": "2.7.2",
|
|
115126
115183
|
"create-astro": "5.2.4",
|
|
115127
115184
|
"create-docusaurus": "3.10.2",
|
|
115128
115185
|
"create-hono": "0.19.5",
|
|
115129
|
-
"create-next-app": "16.3.
|
|
115186
|
+
"create-next-app": "16.3.5",
|
|
115130
115187
|
"create-qwik": "1.20.0",
|
|
115131
115188
|
"create-react-router": "8.3.1",
|
|
115132
115189
|
"create-rwsdk": "3.1.3",
|
|
115133
115190
|
"create-solid": "0.12.0",
|
|
115134
115191
|
"create-vike": "0.0.681",
|
|
115135
115192
|
"create-vinext-app": "1.0.0-beta.2",
|
|
115136
|
-
"create-vite": "9.2.
|
|
115193
|
+
"create-vite": "9.2.1",
|
|
115137
115194
|
"create-vue": "3.23.0",
|
|
115138
115195
|
"create-waku": "0.12.5-1.0.0-alpha.10-0",
|
|
115139
115196
|
gatsby: "5.16.1",
|
|
@@ -117699,6 +117756,27 @@ For all limits and quotas, retrieve from the product's \`/platform/limits/\` pag
|
|
|
117699
117756
|
|
|
117700
117757
|
Run \`wrangler types\` after changing bindings in wrangler.jsonc.
|
|
117701
117758
|
|
|
117759
|
+
## Local Explorer (Debugging & Inspection)
|
|
117760
|
+
|
|
117761
|
+
When running \`npx wrangler dev\`, a Local Explorer API is available for inspecting and debugging local Workers, bindings, and storage state. The API base URL is printed in the terminal when the dev server starts.
|
|
117762
|
+
|
|
117763
|
+
Key endpoints (relative to the dev server URL):
|
|
117764
|
+
|
|
117765
|
+
| Endpoint | Description |
|
|
117766
|
+
|----------|-------------|
|
|
117767
|
+
| \`GET /cdn-cgi/local/explorer/api/local/workers\` | List local Workers and their bindings |
|
|
117768
|
+
| \`GET /cdn-cgi/local/explorer/api/storage/kv/namespaces\` | List KV namespaces |
|
|
117769
|
+
| \`GET /cdn-cgi/local/explorer/api/d1/database\` | List D1 databases |
|
|
117770
|
+
| \`GET /cdn-cgi/local/explorer/api/r2/buckets\` | List R2 buckets |
|
|
117771
|
+
| \`GET /cdn-cgi/local/explorer/api/workers/durable_objects/namespaces\` | List Durable Object namespaces |
|
|
117772
|
+
| \`GET /cdn-cgi/local/explorer/api/workflows\` | List Workflows |
|
|
117773
|
+
| \`POST /cdn-cgi/local/explorer/api/local/observability/query\` | Run a read-only SQL query (SELECT/WITH only) over captured request traces and console logs. Tables: \`spans\`, \`logs\` (read attributes via \`json(attributes)\`). Example: \`curl -X POST <base>/cdn-cgi/local/explorer/api/local/observability/query -H 'Content-Type: application/json' -d '{"sql":"SELECT service, name, outcome, duration_ms FROM spans WHERE parent_id IS NULL LIMIT 20"}'\` |
|
|
117774
|
+
| \`POST /cdn-cgi/local/explorer/api/local/observability/clear\` | Clear all captured traces and logs |
|
|
117775
|
+
|
|
117776
|
+
If the routes above don't cover what you need, fetch the full OpenAPI schema (large - use only as a last resort): \`GET /cdn-cgi/local/explorer/api\`
|
|
117777
|
+
|
|
117778
|
+
Use the Local Explorer to debug issues by inspecting storage state (KV keys, D1 rows, R2 objects, DO storage), viewing Worker bindings, and querying request traces and logs captured during the dev session.
|
|
117779
|
+
|
|
117702
117780
|
## Node.js Compatibility
|
|
117703
117781
|
|
|
117704
117782
|
https://developers.cloudflare.com/workers/runtime-apis/nodejs/
|
|
@@ -117725,7 +117803,7 @@ If the application uses Durable Objects or Workflows, refer to the relevant best
|
|
|
117725
117803
|
var import_node_assert7 = __toESM(require("node:assert"));
|
|
117726
117804
|
|
|
117727
117805
|
// ../wrangler/package.json
|
|
117728
|
-
var version3 = "4.
|
|
117806
|
+
var version3 = "4.132.0";
|
|
117729
117807
|
|
|
117730
117808
|
// src/git.ts
|
|
117731
117809
|
var offerGit = async (ctx) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-cloudflare",
|
|
3
|
-
"version": "2.72.
|
|
3
|
+
"version": "2.72.8",
|
|
4
4
|
"description": "A CLI for creating and deploying new applications to Cloudflare.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cloudflare",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@babel/parser": "^7.21.3",
|
|
32
32
|
"@babel/types": "^7.21.4",
|
|
33
33
|
"@clack/prompts": "^1.2.0",
|
|
34
|
-
"@cloudflare/workers-types": "^5.
|
|
34
|
+
"@cloudflare/workers-types": "^5.20260915.1",
|
|
35
35
|
"@types/command-exists": "^1.2.0",
|
|
36
36
|
"@types/cross-spawn": "^6.0.2",
|
|
37
37
|
"@types/deepmerge": "^2.2.0",
|
|
@@ -50,7 +50,6 @@
|
|
|
50
50
|
"dns2": "^2.1.0",
|
|
51
51
|
"dotenv": "16.3.1",
|
|
52
52
|
"esbuild": "0.28.1",
|
|
53
|
-
"execa": "^7.1.1",
|
|
54
53
|
"exit-hook": "2.2.1",
|
|
55
54
|
"get-port": "^7.1.0",
|
|
56
55
|
"haikunator": "^2.1.2",
|
|
@@ -71,13 +70,13 @@
|
|
|
71
70
|
"which-pm-runs": "^1.1.0",
|
|
72
71
|
"wrap-ansi": "^9.0.0",
|
|
73
72
|
"yargs": "^17.7.2",
|
|
74
|
-
"@cloudflare/cli-shared-helpers": "0.1.
|
|
75
|
-
"@cloudflare/mock-npm-registry": "0.0.0",
|
|
73
|
+
"@cloudflare/cli-shared-helpers": "0.1.31",
|
|
76
74
|
"@cloudflare/shared-ast-primitives": "1.1.0",
|
|
77
|
-
"@cloudflare/vite-plugin": "1.54.
|
|
75
|
+
"@cloudflare/vite-plugin": "1.54.10",
|
|
76
|
+
"@cloudflare/mock-npm-registry": "0.0.0",
|
|
78
77
|
"@cloudflare/workers-tsconfig": "0.0.0",
|
|
79
|
-
"@cloudflare/workers-utils": "0.
|
|
80
|
-
"wrangler": "4.
|
|
78
|
+
"@cloudflare/workers-utils": "0.39.0",
|
|
79
|
+
"wrangler": "4.132.0"
|
|
81
80
|
},
|
|
82
81
|
"engines": {
|
|
83
82
|
"node": ">=22.0.0"
|