wrangler 4.36.0 → 4.37.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wrangler",
3
- "version": "4.36.0",
3
+ "version": "4.37.1",
4
4
  "description": "Command-line interface for all things Cloudflare Workers",
5
5
  "keywords": [
6
6
  "wrangler",
@@ -54,16 +54,16 @@
54
54
  "esbuild": "0.25.4",
55
55
  "path-to-regexp": "6.3.0",
56
56
  "unenv": "2.0.0-rc.21",
57
- "workerd": "1.20250906.0",
57
+ "workerd": "1.20250913.0",
58
58
  "@cloudflare/kv-asset-handler": "0.4.0",
59
- "miniflare": "4.20250906.1",
60
- "@cloudflare/unenv-preset": "2.7.3"
59
+ "@cloudflare/unenv-preset": "2.7.3",
60
+ "miniflare": "4.20250913.0"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@aws-sdk/client-s3": "^3.721.0",
64
64
  "@cloudflare/jsrpc": "link:../../vendor/jsrpc",
65
65
  "@cloudflare/types": "6.18.4",
66
- "@cloudflare/workers-types": "^4.20250906.0",
66
+ "@cloudflare/workers-types": "^4.20250913.0",
67
67
  "@cspotcode/source-map-support": "0.8.1",
68
68
  "@iarna/toml": "^3.0.0",
69
69
  "@sentry/node": "^7.86.0",
@@ -139,14 +139,14 @@
139
139
  "xxhash-wasm": "^1.0.1",
140
140
  "yargs": "^17.7.2",
141
141
  "@cloudflare/cli": "1.1.2",
142
- "@cloudflare/containers-shared": "0.2.10",
143
142
  "@cloudflare/eslint-config-shared": "1.1.0",
144
- "@cloudflare/pages-shared": "^0.13.70",
143
+ "@cloudflare/containers-shared": "0.2.10",
144
+ "@cloudflare/pages-shared": "^0.13.72",
145
145
  "@cloudflare/workers-shared": "0.18.8",
146
146
  "@cloudflare/workers-tsconfig": "0.0.0"
147
147
  },
148
148
  "peerDependencies": {
149
- "@cloudflare/workers-types": "^4.20250906.0"
149
+ "@cloudflare/workers-types": "^4.20250913.0"
150
150
  },
151
151
  "peerDependenciesMeta": {
152
152
  "@cloudflare/workers-types": {
@@ -1469,6 +1469,10 @@ interface ComputedFields {
1469
1469
  * It can be useful to know what the top-level name was before the flattening.
1470
1470
  */
1471
1471
  topLevelName: string | undefined;
1472
+ /** A list of environment names declared in the raw configuration. */
1473
+ definedEnvironments: string[] | undefined;
1474
+ /** The name of the environment being targeted. */
1475
+ targetEnvironment: string | undefined;
1472
1476
  }
1473
1477
  interface ConfigFields<Dev extends RawDevConfig> {
1474
1478
  /**
@@ -93256,7 +93256,7 @@ var name, version;
93256
93256
  var init_package = __esm({
93257
93257
  "package.json"() {
93258
93258
  name = "wrangler";
93259
- version = "4.36.0";
93259
+ version = "4.37.1";
93260
93260
  }
93261
93261
  });
93262
93262
 
@@ -102252,6 +102252,9 @@ function findRedirectedWranglerConfig(cwd2, userConfigPath) {
102252
102252
  return redirectedConfigPath;
102253
102253
  }
102254
102254
  }
102255
+ function isRedirectedRawConfig(rawConfig, configPath, userConfigPath) {
102256
+ return configPath !== void 0 && configPath !== userConfigPath;
102257
+ }
102255
102258
  var import_node_fs5, import_node_path7;
102256
102259
  var init_config_helpers = __esm({
102257
102260
  "src/config/config-helpers.ts"() {
@@ -102266,6 +102269,7 @@ var init_config_helpers = __esm({
102266
102269
  __name(resolveWranglerConfigPath, "resolveWranglerConfigPath");
102267
102270
  __name(findWranglerConfig, "findWranglerConfig");
102268
102271
  __name(findRedirectedWranglerConfig, "findRedirectedWranglerConfig");
102272
+ __name(isRedirectedRawConfig, "isRedirectedRawConfig");
102269
102273
  }
102270
102274
  });
102271
102275
 
@@ -103107,16 +103111,18 @@ async function disableR2Catalog(complianceConfig, accountId, bucketName) {
103107
103111
  }
103108
103112
  );
103109
103113
  }
103110
- async function enableR2CatalogCompaction(complianceConfig, accountId, bucketName, namespace, tableName) {
103114
+ async function enableR2CatalogCompaction(complianceConfig, accountId, bucketName, targetSizeMb) {
103115
+ const config = {
103116
+ state: "enabled",
103117
+ targetSizeMb
103118
+ };
103111
103119
  return await fetchResult(
103112
103120
  complianceConfig,
103113
- `/accounts/${accountId}/r2-catalog/${bucketName}/namespaces/${namespace}/tables/${tableName}/maintenance-configs`,
103121
+ `/accounts/${accountId}/r2-catalog/${bucketName}/maintenance-configs`,
103114
103122
  {
103115
103123
  method: "POST",
103116
103124
  body: JSON.stringify({
103117
- configuration_type: "compaction",
103118
- configuration: {},
103119
- state: "enabled"
103125
+ compaction: config
103120
103126
  }),
103121
103127
  headers: {
103122
103128
  "Content-Type": "application/json"
@@ -103124,14 +103130,32 @@ async function enableR2CatalogCompaction(complianceConfig, accountId, bucketName
103124
103130
  }
103125
103131
  );
103126
103132
  }
103127
- async function disableR2CatalogCompaction(complianceConfig, accountId, bucketName, namespace, tableName) {
103133
+ async function disableR2CatalogCompaction(complianceConfig, accountId, bucketName) {
103134
+ const config = {
103135
+ state: "disabled"
103136
+ };
103128
103137
  return await fetchResult(
103129
103138
  complianceConfig,
103130
- `/accounts/${accountId}/r2-catalog/${bucketName}/namespaces/${namespace}/tables/${tableName}/maintenance-configs/compaction`,
103139
+ `/accounts/${accountId}/r2-catalog/${bucketName}/maintenance-configs`,
103131
103140
  {
103132
- method: "PUT",
103141
+ method: "POST",
103142
+ body: JSON.stringify({
103143
+ compaction: config
103144
+ }),
103145
+ headers: {
103146
+ "Content-Type": "application/json"
103147
+ }
103148
+ }
103149
+ );
103150
+ }
103151
+ async function upsertR2DataCatalogCredential(complianceConfig, accountId, bucketName, token) {
103152
+ return await fetchResult(
103153
+ complianceConfig,
103154
+ `/accounts/${accountId}/r2-catalog/${bucketName}/credential`,
103155
+ {
103156
+ method: "POST",
103133
103157
  body: JSON.stringify({
103134
- state: "disabled"
103158
+ token
103135
103159
  }),
103136
103160
  headers: {
103137
103161
  "Content-Type": "application/json"
@@ -103675,6 +103699,7 @@ var init_helpers = __esm({
103675
103699
  __name(disableR2Catalog, "disableR2Catalog");
103676
103700
  __name(enableR2CatalogCompaction, "enableR2CatalogCompaction");
103677
103701
  __name(disableR2CatalogCompaction, "disableR2CatalogCompaction");
103702
+ __name(upsertR2DataCatalogCredential, "upsertR2DataCatalogCredential");
103678
103703
  actionsForEventCategories = {
103679
103704
  "object-create": ["PutObject", "CompleteMultipartUpload", "CopyObject"],
103680
103705
  "object-delete": ["DeleteObject", "LifecycleDeletion"]
@@ -104186,7 +104211,11 @@ function normalizeAndValidateConfig(rawConfig, configPath, userConfigPath, args,
104186
104211
  isDispatchNamespace,
104187
104212
  preserveOriginalMain
104188
104213
  );
104189
- const isRedirectedConfig = configPath && configPath !== userConfigPath;
104214
+ const isRedirectedConfig = isRedirectedRawConfig(
104215
+ rawConfig,
104216
+ configPath,
104217
+ userConfigPath
104218
+ );
104190
104219
  const definedEnvironments = Object.keys(rawConfig.env ?? {});
104191
104220
  if (isRedirectedConfig && definedEnvironments.length > 0) {
104192
104221
  diagnostics.errors.push(
@@ -104265,6 +104294,8 @@ Consider adding an environment configuration section to the ${configFileName(con
104265
104294
  configPath,
104266
104295
  userConfigPath,
104267
104296
  topLevelName: rawConfig.name,
104297
+ definedEnvironments: isRedirectedConfig ? rawConfig.definedEnvironments : definedEnvironments,
104298
+ targetEnvironment: isRedirectedConfig ? rawConfig.targetEnvironment : envName,
104268
104299
  pages_build_output_dir: normalizeAndValidatePagesBuildOutputDir(
104269
104300
  configPath,
104270
104301
  rawConfig.pages_build_output_dir
@@ -105685,6 +105716,7 @@ var init_validation = __esm({
105685
105716
  init_experimental_flags();
105686
105717
  init_helpers();
105687
105718
  init_print_bindings();
105719
+ init_config_helpers();
105688
105720
  init_diagnostics2();
105689
105721
  init_validation_helpers();
105690
105722
  init_config5();
@@ -107485,6 +107517,8 @@ var init_config4 = __esm({
107485
107517
  configPath: void 0,
107486
107518
  userConfigPath: void 0,
107487
107519
  topLevelName: void 0,
107520
+ definedEnvironments: void 0,
107521
+ targetEnvironment: void 0,
107488
107522
  /*====================================================*/
107489
107523
  /* Fields supported by both Workers & Pages */
107490
107524
  /*====================================================*/
@@ -107713,7 +107747,9 @@ var init_validation_pages = __esm({
107713
107747
  // normalizeAndValidateConfig() sets these values
107714
107748
  "configPath",
107715
107749
  "userConfigPath",
107716
- "topLevelName"
107750
+ "topLevelName",
107751
+ "definedEnvironments",
107752
+ "targetEnvironment"
107717
107753
  ];
107718
107754
  __name(validatePagesConfig, "validatePagesConfig");
107719
107755
  __name(validateMainField, "validateMainField");
@@ -119815,6 +119851,21 @@ function buildMiniflareBindingOptions(config, remoteProxyConnectionString, remot
119815
119851
  };
119816
119852
  }
119817
119853
  }
119854
+ const additionalUnboundDurableObjects = [];
119855
+ for (const [className, useSQLite] of classNameToUseSQLite) {
119856
+ if (!durableObjects.find((d7) => d7.class_name === className)) {
119857
+ additionalUnboundDurableObjects.push({
119858
+ className,
119859
+ scriptName: void 0,
119860
+ useSQLite,
119861
+ container: config.containerDOClassNames?.size && config.enableContainers ? getImageNameFromDOClassName({
119862
+ doClassName: className,
119863
+ containerDOClassNames: config.containerDOClassNames,
119864
+ containerBuildId: config.containerBuildId
119865
+ }) : void 0
119866
+ });
119867
+ }
119868
+ }
119818
119869
  const bindingOptions = {
119819
119870
  bindings: {
119820
119871
  ...bindings.vars,
@@ -119944,6 +119995,7 @@ function buildMiniflareBindingOptions(config, remoteProxyConnectionString, remot
119944
119995
  }
119945
119996
  )
119946
119997
  ),
119998
+ additionalUnboundDurableObjects,
119947
119999
  ratelimits: Object.fromEntries([
119948
120000
  ...bindings.unsafe?.bindings?.filter((b7) => b7.type == "ratelimit").map(ratelimitEntry) ?? [],
119949
120001
  ...bindings.ratelimits?.map((r8) => [
@@ -132191,6 +132243,74 @@ var init_durable = __esm({
132191
132243
  }
132192
132244
  });
132193
132245
 
132246
+ // src/environments/index.ts
132247
+ function hasDefinedEnvironments(config) {
132248
+ return isLegacyEnv(config) && Boolean(config.definedEnvironments?.length);
132249
+ }
132250
+ async function applyServiceAndEnvironmentTags(config, accountId, scriptName, tags) {
132251
+ tags ??= [];
132252
+ const env6 = config.targetEnvironment;
132253
+ const serviceName = config.topLevelName;
132254
+ if (!serviceName) {
132255
+ logger.warn(
132256
+ "No top-level `name` has been defined in Wrangler configuration. Add a top-level `name` to group this Worker together with its sibling environments in the Cloudflare dashboard."
132257
+ );
132258
+ if (tags.some((tag) => tag.startsWith(SERVICE_TAG_PREFIX))) {
132259
+ try {
132260
+ return await patchNonVersionedScriptSettings(
132261
+ config,
132262
+ accountId,
132263
+ scriptName,
132264
+ {
132265
+ tags: tags.filter((tag) => !tag.startsWith(SERVICE_TAG_PREFIX))
132266
+ }
132267
+ );
132268
+ } catch {
132269
+ }
132270
+ }
132271
+ return;
132272
+ }
132273
+ const serviceTag = `${SERVICE_TAG_PREFIX}${serviceName}`;
132274
+ const environmentTag = env6 ? `${ENVIRONMENT_TAG_PREFIX}${env6}` : null;
132275
+ const hasMissingServiceTag = !tags.includes(serviceTag);
132276
+ const hasMissingOrStaleEnvironmentTag = environmentTag ? !tags.includes(environmentTag) : tags.some((tag) => tag.startsWith(ENVIRONMENT_TAG_PREFIX));
132277
+ if (hasMissingServiceTag || hasMissingOrStaleEnvironmentTag) {
132278
+ const nextTags = tags.filter(
132279
+ (tag) => !tag.startsWith(SERVICE_TAG_PREFIX) && !tag.startsWith(ENVIRONMENT_TAG_PREFIX)
132280
+ ).concat([serviceTag]);
132281
+ if (environmentTag) {
132282
+ nextTags.push(environmentTag);
132283
+ }
132284
+ try {
132285
+ return await patchNonVersionedScriptSettings(
132286
+ config,
132287
+ accountId,
132288
+ scriptName,
132289
+ {
132290
+ tags: nextTags
132291
+ }
132292
+ );
132293
+ } catch {
132294
+ logger.warn(
132295
+ "Could not apply service and environment tags. This Worker will not appear grouped together with its sibling environments in the Cloudflare dashboard."
132296
+ );
132297
+ }
132298
+ }
132299
+ }
132300
+ var SERVICE_TAG_PREFIX, ENVIRONMENT_TAG_PREFIX;
132301
+ var init_environments = __esm({
132302
+ "src/environments/index.ts"() {
132303
+ init_import_meta_url();
132304
+ init_logger();
132305
+ init_isLegacyEnv();
132306
+ init_api();
132307
+ SERVICE_TAG_PREFIX = "cf:service=";
132308
+ ENVIRONMENT_TAG_PREFIX = "cf:environment=";
132309
+ __name(hasDefinedEnvironments, "hasDefinedEnvironments");
132310
+ __name(applyServiceAndEnvironmentTags, "applyServiceAndEnvironmentTags");
132311
+ }
132312
+ });
132313
+
132194
132314
  // ../../node_modules/.pnpm/xxhash-wasm@1.0.1/node_modules/xxhash-wasm/esm/xxhash-wasm.js
132195
132315
  async function e2() {
132196
132316
  const { instance: { exports: { mem: e8, xxh32: n7, xxh64: r8, init32: i6, update32: o6, digest32: h7, init64: s6, update64: u6, digest64: g7 } } } = await WebAssembly.instantiate(t2);
@@ -194620,69 +194740,65 @@ For more details, refer to: https://developers.cloudflare.com/r2/api/s3/tokens/`
194620
194740
  });
194621
194741
  r2BucketCatalogCompactionNamespace = createNamespace({
194622
194742
  metadata: {
194623
- description: "Manage compaction maintenance for tables in your R2 data catalog",
194624
- status: "private-beta",
194743
+ description: "Control settings for automatic file compaction maintenance jobs for your R2 data catalog",
194744
+ status: "open-beta",
194625
194745
  owner: "Product: R2 Data Catalog"
194626
194746
  }
194627
194747
  });
194628
194748
  r2BucketCatalogCompactionEnableCommand = createCommand({
194629
194749
  metadata: {
194630
- description: "Enable compaction maintenance for a table in the R2 data catalog",
194631
- status: "private-beta",
194750
+ description: "Enable automatic file compaction for your R2 data catalog",
194751
+ status: "open-beta",
194632
194752
  owner: "Product: R2 Data Catalog"
194633
194753
  },
194634
194754
  positionalArgs: ["bucket"],
194635
194755
  args: {
194636
194756
  bucket: {
194637
- describe: "The name of the bucket",
194757
+ describe: "The name of the bucket which contains the catalog",
194638
194758
  type: "string",
194639
194759
  demandOption: true
194640
194760
  },
194641
- table: {
194642
- describe: "The name of the table to enable compaction for",
194643
- type: "string",
194644
- demandOption: true
194761
+ targetSizeMb: {
194762
+ describe: "The target size for compacted files (allowed values: 64, 128, 256, 512)",
194763
+ type: "number",
194764
+ demandOption: false,
194765
+ default: 128
194645
194766
  },
194646
- namespace: {
194647
- describe: "The namespace containing the table",
194648
- type: "string",
194649
- demandOption: true
194767
+ token: {
194768
+ describe: "A cloudflare api token with access to R2 and R2 Data Catalog which will be used to read/write files for compaction.",
194769
+ demandOption: true,
194770
+ type: "string"
194650
194771
  }
194651
194772
  },
194652
194773
  async handler(args, { config }) {
194653
194774
  const accountId = await requireAuth(config);
194775
+ await upsertR2DataCatalogCredential(
194776
+ config,
194777
+ accountId,
194778
+ args.bucket,
194779
+ args.token
194780
+ );
194654
194781
  await enableR2CatalogCompaction(
194655
194782
  config,
194656
194783
  accountId,
194657
194784
  args.bucket,
194658
- args.namespace,
194659
- args.table
194785
+ args.targetSizeMb
194660
194786
  );
194661
194787
  logger.log(
194662
- `\u2728 Successfully enabled compaction maintenance for table '${args.table}' in namespace '${args.namespace}' of bucket '${args.bucket}'.`
194788
+ `\u2728 Successfully enabled file compaction for the data catalog for bucket '${args.bucket}'.`
194663
194789
  );
194664
194790
  }
194665
194791
  });
194666
194792
  r2BucketCatalogCompactionDisableCommand = createCommand({
194667
194793
  metadata: {
194668
- description: "Disable compaction maintenance for a table in the R2 data catalog",
194669
- status: "private-beta",
194794
+ description: "Disable automatic file compaction for your R2 data catalog",
194795
+ status: "open-beta",
194670
194796
  owner: "Product: R2 Data Catalog"
194671
194797
  },
194672
194798
  positionalArgs: ["bucket"],
194673
194799
  args: {
194674
194800
  bucket: {
194675
- describe: "The name of the bucket",
194676
- type: "string",
194677
- demandOption: true
194678
- },
194679
- table: {
194680
- describe: "The name of the table to disable compaction for",
194681
- type: "string",
194682
- demandOption: true
194683
- },
194684
- namespace: {
194685
- describe: "The namespace containing the table",
194801
+ describe: "The name of the bucket which contains the catalog",
194686
194802
  type: "string",
194687
194803
  demandOption: true
194688
194804
  }
@@ -194690,21 +194806,15 @@ For more details, refer to: https://developers.cloudflare.com/r2/api/s3/tokens/`
194690
194806
  async handler(args, { config }) {
194691
194807
  const accountId = await requireAuth(config);
194692
194808
  const confirmedDisable = await confirm(
194693
- `Are you sure you want to disable compaction maintenance for table '${args.table}' in namespace '${args.namespace}' of bucket '${args.bucket}'?`
194809
+ `Are you sure you want to disable file compaction for the data catalog for bucket '${args.bucket}'?`
194694
194810
  );
194695
194811
  if (!confirmedDisable) {
194696
194812
  logger.log("Disable cancelled.");
194697
194813
  return;
194698
194814
  }
194699
- await disableR2CatalogCompaction(
194700
- config,
194701
- accountId,
194702
- args.bucket,
194703
- args.namespace,
194704
- args.table
194705
- );
194815
+ await disableR2CatalogCompaction(config, accountId, args.bucket);
194706
194816
  logger.log(
194707
- `Successfully disabled compaction maintenance for table '${args.table}' in namespace '${args.namespace}' of bucket '${args.bucket}'.`
194817
+ `Successfully disabled file compaction for the data catalog for bucket '${args.bucket}'.`
194708
194818
  );
194709
194819
  }
194710
194820
  });
@@ -213003,6 +213113,7 @@ async function versionsUpload(props) {
213003
213113
  const { config, accountId, name: name2 } = props;
213004
213114
  let versionId = null;
213005
213115
  let workerTag = null;
213116
+ let tags = null;
213006
213117
  if (accountId && name2) {
213007
213118
  try {
213008
213119
  const {
@@ -213013,6 +213124,7 @@ async function versionsUpload(props) {
213013
213124
  // TODO(consider): should this be a /versions endpoint?
213014
213125
  );
213015
213126
  workerTag = script.tag;
213127
+ tags = script.tags;
213016
213128
  if (script.last_deployed_from === "dash") {
213017
213129
  logger.warn(
213018
213130
  `You are about to upload a Worker Version that was last published via the Cloudflare Dashboard.
@@ -213318,6 +213430,14 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
213318
213430
  }
213319
213431
  throw err;
213320
213432
  }
213433
+ if (hasDefinedEnvironments(config)) {
213434
+ await applyServiceAndEnvironmentTags(
213435
+ config,
213436
+ accountId,
213437
+ scriptName,
213438
+ tags
213439
+ );
213440
+ }
213321
213441
  }
213322
213442
  if (props.outFile) {
213323
213443
  (0, import_node_fs33.mkdirSync)(import_node_path55.default.dirname(props.outFile), { recursive: true });
@@ -213453,6 +213573,7 @@ var init_upload5 = __esm({
213453
213573
  init_dialogs();
213454
213574
  init_durable();
213455
213575
  init_misc_variables();
213576
+ init_environments();
213456
213577
  init_errors();
213457
213578
  init_experimental_flags();
213458
213579
  init_logger();
@@ -220255,6 +220376,7 @@ async function deploy(props) {
220255
220376
  const { config, accountId, name: name2, entry } = props;
220256
220377
  let workerTag = null;
220257
220378
  let versionId = null;
220379
+ let tags = null;
220258
220380
  let workerExists = true;
220259
220381
  const domainRoutes = (props.domains || []).map((domain2) => ({
220260
220382
  pattern: domain2,
@@ -220269,6 +220391,7 @@ async function deploy(props) {
220269
220391
  default_environment: { script }
220270
220392
  } = serviceMetaData;
220271
220393
  workerTag = script.tag;
220394
+ tags = script.tags;
220272
220395
  if (script.last_deployed_from === "dash") {
220273
220396
  let configDiff;
220274
220397
  if (getFlag("DEPLOY_REMOTE_DIFF_CHECK")) {
@@ -220705,6 +220828,14 @@ See https://developers.cloudflare.com/workers/platform/compatibility-dates for m
220705
220828
  )
220706
220829
  );
220707
220830
  }
220831
+ if (hasDefinedEnvironments(config)) {
220832
+ await applyServiceAndEnvironmentTags(
220833
+ config,
220834
+ accountId,
220835
+ scriptName,
220836
+ tags
220837
+ );
220838
+ }
220708
220839
  if (result.startup_time_ms) {
220709
220840
  logger.log("Worker Startup Time:", result.startup_time_ms, "ms");
220710
220841
  }
@@ -221061,6 +221192,7 @@ var init_deploy8 = __esm({
221061
221192
  init_dialogs();
221062
221193
  init_durable();
221063
221194
  init_misc_variables();
221195
+ init_environments();
221064
221196
  init_errors();
221065
221197
  init_experimental_flags();
221066
221198
  init_logger();
@@ -245910,7 +246042,7 @@ var init_dev2 = __esm({
245910
246042
  overrideExperimentalFlags: /* @__PURE__ */ __name((args) => ({
245911
246043
  MULTIWORKER: Array.isArray(args.config),
245912
246044
  RESOURCES_PROVISION: args.experimentalProvision ?? false,
245913
- REMOTE_BINDINGS: args.experimentalRemoteBindings ?? true,
246045
+ REMOTE_BINDINGS: args.local ? false : args.experimentalRemoteBindings ?? true,
245914
246046
  DEPLOY_REMOTE_DIFF_CHECK: false
245915
246047
  }), "overrideExperimentalFlags")
245916
246048
  },