helloadhavan/github_issues huggingface dataset:
Repository: vercel/next.js
Pull request: Use `VisitMut` instead of `Fold` for debug_instant_stack transform

This matches other transforms and avoids piling on existing TODOs moving from `Fold` to `Pass`.

Changed files:
filename: crates/next-custom-transforms/src/transforms/debug_instant_stack.rs
patch: @@ -4,7 +4,7 @@ use swc_core::{
     common::{Span, Spanned},
     ecma::{
         ast::*,
-        visit::{Fold, fold_pass},
+        visit::{VisitMut, visit_mut_pass},
     },
     quote,
 };
@@ -14,7 +14,7 @@ static PAGE_OR_LAYOUT_RE: Lazy<Regex> =
     Lazy::new(|| Regex::new(r"[\\/](page|layout|default)\.(ts|js)x?$").unwrap());
 
 pub fn debug_instant_stack(filepath: String) -> impl Pass {
-    fold_pass(DebugInstantStack {
+    visit_mut_pass(DebugInstantStack {
         filepath,
         instant_export_span: None,
     })
@@ -71,13 +71,13 @@ fn find_var_init_span(items: &[ModuleItem], local_name: &str) -> Option<Span> {
     None
 }
 
-impl Fold for DebugInstantStack {
-    fn fold_module_items(&mut self, items: Vec<ModuleItem>) -> Vec<ModuleItem> {
+impl VisitMut for DebugInstantStack {
+    fn visit_mut_module_items(&mut self, items: &mut Vec<ModuleItem>) {
         if !PAGE_OR_LAYOUT_RE.is_match(&self.filepath) {
-            return items;
+            return;
         }
 
-        for item in &items {
+        for item in items.iter() {
             match item {
                 // `export const unstable_instant = ...`
                 ModuleItem::ModuleDecl(ModuleDecl::ExportDecl(export_decl)) => {
@@ -104,7 +104,7 @@ impl Fold for DebugInstantStack {
                             } else {
                                 // Local named export: try to find the variable's initializer
                                 let local_name = &orig.sym;
-                                if let Some(init_span) = find_var_init_span(&items, local_name) {
+                                if let Some(init_span) = find_var_init_span(items, local_name) {
                                     self.instant_export_span = Some(init_span);
                                 } else {
                                     // Fallback to the export specifier span
@@ -119,8 +119,6 @@ impl Fold for DebugInstantStack {
         }
 
         if let Some(source_span) = self.instant_export_span {
-            let mut new_items = items;
-
             // TODO: Change React to deserialize errors with a zero-length message
             // instead of using a fallback message ("no message was provided").
             // We're working around this by using a message that is empty
@@ -152,10 +150,7 @@ impl Fold for DebugInstantStack {
                 cons: Expr = cons,
             );
 
-            new_items.push(export);
-            new_items
-        } else {
-            items
+            items.push(export);
         }
     }
 }
Repository: facebook/react
Pull request: [DevTools] Preserve the original index when sorting suspended by

The index is both used as the key and for hydration purposes. Previously we didn't preserve the index when sorting so the index didn't line up which caused hydration to be the wrong slot when sorted.

Changed files:
filename: packages/react-devtools-shared/src/devtools/views/Components/InspectedElementSuspendedBy.js
patch: @@ -300,9 +300,31 @@ type Props = {
   store: Store,
 };
 
-function compareTime(a: SerializedAsyncInfo, b: SerializedAsyncInfo): number {
-  const ioA = a.awaited;
-  const ioB = b.awaited;
+function withIndex(
+  value: SerializedAsyncInfo,
+  index: number,
+): {
+  index: number,
+  value: SerializedAsyncInfo,
+} {
+  return {
+    index,
+    value,
+  };
+}
+
+function compareTime(
+  a: {
+    index: number,
+    value: SerializedAsyncInfo,
+  },
+  b: {
+    index: number,
+    value: SerializedAsyncInfo,
+  },
+): number {
+  const ioA = a.value.awaited;
+  const ioB = b.value.awaited;
   if (ioA.start === ioB.start) {
     return ioA.end - ioB.end;
   }
@@ -364,7 +386,8 @@ export default function InspectedElementSuspendedBy({
     minTime = maxTime - 25;
   }
 
-  const sortedSuspendedBy = suspendedBy === null ? [] : suspendedBy.slice(0);
+  const sortedSuspendedBy =
+    suspendedBy === null ? [] : suspendedBy.map(withIndex);
   sortedSuspendedBy.sort(compareTime);
 
   let unknownSuspenders = null;
@@ -407,11 +430,11 @@ export default function InspectedElementSuspendedBy({
           <ButtonIcon type="copy" />
         </Button>
       </div>
-      {sortedSuspendedBy.map((asyncInfo, index) => (
+      {sortedSuspendedBy.map(({value, index}) => (
         <SuspendedByRow
           key={index}
           index={index}
-          asyncInfo={asyncInfo}
+          asyncInfo={value}
           bridge={bridge}
           element={element}
           inspectedElement={inspectedElement}
Repository: rust-lang/rust
Pull request: Defer codegen for the VaList Drop impl to actual uses

This allows compiling libcore with codegen backends that don't actually implement VaList like cg_clif.

Changed files:
filename: compiler/rustc_codegen_cranelift/patches/0028-stdlib-Ensure-va_end-doesn-t-get-emitted-unless-VaList-is-a.patch
patch: @@ -1,25 +0,0 @@
-From 116abc64add4d617104993a7a3011f20bcf31ef2 Mon Sep 17 00:00:00 2001
-From: bjorn3 <17426603+bjorn3@users.noreply.github.com>
-Date: Mon, 26 Jan 2026 16:20:58 +0000
-Subject: [PATCH] Ensure va_end doesn't get emitted unless VaList is actually
- used
-
----
- library/core/src/ffi/va_list.rs | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/library/core/src/ffi/va_list.rs b/library/core/src/ffi/va_list.rs
-index d0f1553..75129af 100644
---- a/library/core/src/ffi/va_list.rs
-+++ b/library/core/src/ffi/va_list.rs
-@@ -217,6 +217,7 @@ impl Clone for VaList<'_> {
-
- #[rustc_const_unstable(feature = "const_c_variadic", issue = "151787")]
- impl<'f> const Drop for VaList<'f> {
-+    #[inline]
-     fn drop(&mut self) {
-         // SAFETY: this variable argument list is being dropped, so won't be read from again.
-         unsafe { va_end(self) }
--- 
-2.43.0
-

filename: library/core/src/ffi/va_list.rs
patch: @@ -244,7 +244,7 @@ impl VaList<'_> {
 
 #[rustc_const_unstable(feature = "const_c_variadic", issue = "151787")]
 impl<'f> const Clone for VaList<'f> {
-    #[inline]
+    #[inline] // Avoid codegen when not used to help backends that don't support VaList.
     fn clone(&self) -> Self {
         // We only implement Clone and not Copy because some future target might not be able to
         // implement Copy (e.g. because it allocates). For the same reason we use an intrinsic
@@ -256,6 +256,7 @@ impl<'f> const Clone for VaList<'f> {
 
 #[rustc_const_unstable(feature = "const_c_variadic", issue = "151787")]
 impl<'f> const Drop for VaList<'f> {
+    #[inline] // Avoid codegen when not used to help backends that don't support VaList.
     fn drop(&mut self) {
         // SAFETY: this variable argument list is being dropped, so won't be read from again.
         unsafe { va_end(self) }
@@ -326,7 +327,7 @@ impl<'f> VaList<'f> {
     ///
     /// Calling this function with an incompatible type, an invalid value, or when there
     /// are no more variable arguments, is unsound.
-    #[inline]
+    #[inline] // Avoid codegen when not used to help backends that don't support VaList.
     #[rustc_const_unstable(feature = "const_c_variadic", issue = "151787")]
     pub const unsafe fn arg<T: VaArgSafe>(&mut self) -> T {
         // SAFETY: the caller must uphold the safety contract for `va_arg`.
Repository: ollama/ollama
Pull request: log: instrument CPU discovery timing

Some windows users with CPU only systems seem to be hitting a hang.  The logs aren't obvious, but it's possible they may be getting stuck in the windows specific CPU discovery.  If I can't root cause it before the next release, this will at least help narrow down if they are getting stuck in this area.

Changed files:
filename: discover/gpu.go
patch: @@ -7,7 +7,9 @@ import (
 	"runtime"
 	"strconv"
 	"strings"
+	"time"
 
+	"github.com/ollama/ollama/logutil"
 	"github.com/ollama/ollama/ml"
 )
 
@@ -17,6 +19,12 @@ var CudaTegra string = os.Getenv("JETSON_JETPACK")
 
 // GetSystemInfo returns the last cached state of the GPUs on the system
 func GetSystemInfo() ml.SystemInfo {
+	logutil.Trace("performing CPU discovery")
+	startDiscovery := time.Now()
+	defer func() {
+		logutil.Trace("CPU discovery completed", "duration", time.Since(startDiscovery))
+	}()
+
 	memInfo, err := GetCPUMem()
 	if err != nil {
 		slog.Warn("error looking up system memory", "error", err)
Repository: vercel/next.js
Pull request: tests: Fix immutableAssetToken extraction

Fixes this deploy test failure: https://github.com/vercel/next.js/actions/runs/22499483165/attempts/2

The output might be:
```
Building: └ ○ /nested
Building: ○  (Static)   prerendered as static content
Building: ƒ  (Dynamic)  server-rendered on demand
Building: > @ post-build /vercel/path0
Building: > node -e 'console.log("BUILD" + "_ID: " + fs.readFileSync(".next/BUILD_ID") + "\nDEPLOYMENT" + "_ID: " + process.env.NEXT_DEPLOYMENT_ID + "\nIMMUTABLE_ASSET" + "_TOKEN: " + process.env.VERCEL_IMMUTABLE_ASSET_TOKEN)'
Building: BUILD_ID: build-TfctsWXpff2fKS
Building: DEPLOYMENT_ID: dpl_5Qad8NbhCPWn7QRf5TiCePi58vVi
Building: IMMUTABLE_ASSET_TOKEN: undefined
Building: Build Completed in /vercel/output [15s]
Building: Deploying outputs...
Building: Deployment completed
```

Changed files:
filename: test/lib/next-modes/next-deploy.ts
patch: @@ -144,7 +144,8 @@ export class NextDeployInstance extends NextInstance {
         `Failed to get immutableAssetToken from logs ${this._cliOutput}`
       )
     }
-    this._immutableAssetToken = immutableAssetToken
+    this._immutableAssetToken =
+      immutableAssetToken === 'undefined' ? undefined : immutableAssetToken
 
     require('console').log(
       `Got buildId: ${this._buildId}, deploymentId: ${this._deploymentId}, immutableAssetToken: ${this._immutableAssetToken}`
Repository: facebook/react
Pull request: [DevTools] Don't show the root as being non-compliant

`isStrictModeNonCompliant` on the root just means that it supports strict mode. It's inherited by other nodes.

It's not possible to opt-in to strict mode on the root itself but rather right below it. So we should not mark the root as being non-compliant.

This lets you select the root in the suspense tab and it shouldn't show as red with a warning.

Changed files:
filename: packages/react-devtools-shared/src/devtools/views/Components/InspectedElement.js
patch: @@ -194,7 +194,7 @@ export default function InspectedElementWrapper(_: Props): React.Node {
   }
 
   let strictModeBadge = null;
-  if (element.isStrictModeNonCompliant) {
+  if (element.isStrictModeNonCompliant && element.parentID !== 0) {
     strictModeBadge = (
       <Tooltip label="This component is not running in StrictMode. Click to learn more.">
         <a
@@ -237,7 +237,7 @@ export default function InspectedElementWrapper(_: Props): React.Node {
         <div className={styles.SelectedComponentName}>
           <div
             className={
-              element.isStrictModeNonCompliant
+              element.isStrictModeNonCompliant && element.parentID !== 0
                 ? `${styles.ComponentName} ${styles.StrictModeNonCompliantComponentName}`
                 : styles.ComponentName
             }
Repository: nodejs/node
Pull request: test: skip strace test with shared openssl

`parallel/test-strace-openat-openssl` was [added](https://github.com/nodejs/node/pull/46150) to [check explicitly for a list of known files](https://github.com/nodejs/security-wg/issues/827) that would be opened for a set workload (`require("crypto")`). This is not reliable when Node.js is linked to an external/shared OpenSSL library (e.g. it might be configured to load configuration files from a different default location and/or load more than one configuration file) so skip this test when Node.js is built in that way.

Fixes: https://github.com/nodejs/node/issues/61966

---

Test is failing for `v20.x-staging` and `v22.x-staging` (although as of https://github.com/nodejs/node/pull/61921 it has been skipped there) due to `strace` being installed as part of gcc 10 (only used on those older release lines) cc @nodejs/releasers .

<!--
Before submitting a pull request, please read:

- the CONTRIBUTING guide at https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md
- the commit message formatting guidelines at
  https://github.com/nodejs/node/blob/HEAD/doc/contributing/pull-requests.md#commit-message-guidelines

For code changes:
1. Include tests for any bug fixes or new features.
2. Update documentation if relevant.
3. Ensure that `make -j4 test` (UNIX), or `vcbuild test` (Windows) passes.

If you believe this PR should be highlighted in the Node.js CHANGELOG
please add the `notable-change` label.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.
-->


Changed files:
filename: test/parallel/test-strace-openat-openssl.js
patch: @@ -11,6 +11,9 @@ if (!common.isLinux)
   common.skip('linux only');
 if (common.isASan)
   common.skip('strace does not work well with address sanitizer builds');
+if (process.config.variables.node_shared_openssl) {
+  common.skip('external shared openssl may open other files');
+}
 if (spawnSync('strace').error !== undefined) {
   common.skip('missing strace');
 }
Repository: huggingface/transformers
Pull request: [AMD CI] Add missing timm dependency to ROCm Docker image

Adds explicit `timm` installation to the AMD ROCm Docker image.
This causes ~200 test failures in AMD CI (e.g., [gemma3n vision tests](https://github.com/huggingface/transformers/actions/runs/22474359922/job/65104428291)).
This mirrors what's done in the NVIDIA `transformers-all-latest-gpu` Dockerfile which has an explicit `timm` install.

Changed files:
filename: docker/transformers-pytorch-amd-gpu/Dockerfile
patch: @@ -43,3 +43,6 @@ RUN git clone https://github.com/ROCm/flash-attention/ -b tridao && \
 # GPU_ARCHS builds for MI300, MI325 but not MI355: we would need to add `;gfx950` but it takes too long to build.
 
 RUN python3 -m pip install --no-cache-dir einops
+
+# timm is required for many vision models tests
+RUN python3 -m pip install --no-cache-dir timm

filename: tests/models/gemma3n/test_modeling_gemma3n.py
patch: @@ -36,6 +36,7 @@
     Expectations,
     cleanup,
     require_deterministic_for_xpu,
+    require_timm,
     require_torch,
     require_torch_accelerator,
     set_config_for_less_flaky_test,
@@ -769,6 +770,7 @@ def prepare_config_and_inputs_for_common(self):
 
 
 @require_torch
+@require_timm
 class Gemma3nVision2TextModelTest(ModelTesterMixin, GenerationTesterMixin, unittest.TestCase):
     all_model_classes = (Gemma3nModel, Gemma3nForConditionalGeneration) if is_torch_available() else ()
     all_generative_model_classes = (Gemma3nForConditionalGeneration,) if is_torch_available() else ()
Repository: vercel/next.js
Pull request: Turbopack: restrict server HMR to app pages

App router types like routes go through the traditional `require` route bypassing the Turbopack runtime, so they aren't easily solved with server HMR right now.

Test Plan: Added an e2e test.


Changed files:
filename: packages/next/src/server/dev/hot-reloader-turbopack.ts
patch: @@ -592,13 +592,22 @@ export async function createHotReloaderTurbopack(
       join(distDir, p)
     )
 
-    const { type: entryType } = splitEntryKey(key)
-    // Server HMR only applies to App Router.
-    // Pages Router uses Node's require(), root entries (middleware/instrumentation)
-    // use the edge runtime.
+    const { type: entryType, page: entryPage } = splitEntryKey(key)
+    const isAppPage =
+      entryType === 'app' &&
+      currentEntrypoints.app.get(entryPage)?.type === 'app-page'
+
+    // Server HMR only applies to app router pages since these use the Turbopack runtime.
+    // Currently, this is only app router pages.
+    //
+    // This excludes:
+    //   - Pages Router pages
+    //   - Edge routes
+    //   - Middleware
+    //   - App Router route handlers (route.ts)
     const usesServerHmr =
       experimentalServerFastRefresh &&
-      entryType === 'app' &&
+      isAppPage &&
       writtenEndpoint.type !== 'edge'
 
     for (const file of serverPaths) {

filename: test/development/app-dir/server-hmr/app/api/hello/route.ts
patch: @@ -0,0 +1,3 @@
+export async function GET() {
+  return new Response('version: 0')
+}

filename: test/development/app-dir/server-hmr/server-hmr.test.ts
patch: @@ -1,3 +1,4 @@
+import type { Response } from 'node-fetch'
 import { nextTestSetup } from 'e2e-utils'
 import { retry } from 'next-test-utils'
 
@@ -154,4 +155,28 @@ describe('server-hmr', () => {
       }
     )
   })
+
+  describe('route handler hmr', () => {
+    function getText(res: Response) {
+      return res.ok
+        ? res.text()
+        : Promise.reject(
+            new Error('Failed to fetch route handler: ' + res.status)
+          )
+    }
+
+    it('reflects route handler changes on fetch/refresh', async () => {
+      const initial = await next.fetch('/api/hello').then(getText)
+      expect(initial).toBe('version: 0')
+
+      await next.patchFile('app/api/hello/route.ts', (content) =>
+        content.replace('version: 0', 'version: 1')
+      )
+
+      await retry(async () => {
+        const updated = await next.fetch('/api/hello').then(getText)
+        expect(updated).toBe('version: 1')
+      })
+    })
+  })
 })
Repository: rust-lang/rust
Pull request: document some functions on AttributeExt

r? @jyn514 

Changed files:
filename: compiler/rustc_ast/src/attr/mod.rs
patch: @@ -876,11 +876,15 @@ pub trait AttributeExt: Debug {
     /// a doc comment) will return `false`.
     fn is_doc_comment(&self) -> Option<Span>;
 
+    /// Returns true if the attribute's first *and only* path segment is equal to the passed-in
+    /// symbol.
     #[inline]
     fn has_name(&self, name: Symbol) -> bool {
         self.name().map(|x| x == name).unwrap_or(false)
     }
 
+    /// Returns true if the attribute's first *and only* path segment is any of the passed-in
+    /// symbols.
     #[inline]
     fn has_any_name(&self, names: &[Symbol]) -> bool {
         names.iter().any(|&name| self.has_name(name))
@@ -889,6 +893,7 @@ pub trait AttributeExt: Debug {
     /// get the span of the entire attribute
     fn span(&self) -> Span;
 
+    /// Returns whether the attribute is a path, without any arguments.
     fn is_word(&self) -> bool;
 
     fn path(&self) -> SmallVec<[Symbol; 1]> {
@@ -911,11 +916,14 @@ pub trait AttributeExt: Debug {
     /// * `#[deprecated(note = "note", ...)]` returns `Some("note")`.
     fn deprecation_note(&self) -> Option<Ident>;
 
+    /// Returns whether this attribute is any of the proc macro attributes.
+    /// i.e. `proc_macro`, `proc_macro_attribute` or `proc_macro_derive`.
     fn is_proc_macro_attr(&self) -> bool {
         [sym::proc_macro, sym::proc_macro_attribute, sym::proc_macro_derive]
             .iter()
             .any(|kind| self.has_name(*kind))
     }
+    /// Returns true if this attribute is `#[automatically_deived]`.
     fn is_automatically_derived_attr(&self) -> bool;
 
     /// Returns the documentation and its kind if this is a doc comment or a sugared doc comment.

filename: compiler/rustc_hir/src/hir.rs
patch: @@ -1264,6 +1264,8 @@ pub struct HashIgnoredAttrId {
     pub attr_id: AttrId,
 }
 
+/// Many functions on this type have their documentation in the [`AttributeExt`] trait,
+/// since they defer their implementation directly to that trait.
 #[derive(Clone, Debug, Encodable, Decodable, HashStable_Generic)]
 pub enum Attribute {
     /// A parsed built-in attribute.
Repository: ollama/ollama
Pull request: vulkan: enable flash attention

Fixes #12928 

Draft until I can verify it on a few systems...

Changed files:
filename: ml/device.go
patch: @@ -432,7 +432,8 @@ func FlashAttentionSupported(l []DeviceInfo) bool {
 		supportsFA := gpu.Library == "cpu" ||
 			gpu.Name == "Metal" || gpu.Library == "Metal" ||
 			(gpu.Library == "CUDA" && gpu.DriverMajor >= 7 && !(gpu.ComputeMajor == 7 && gpu.ComputeMinor == 2)) ||
-			gpu.Library == "ROCm"
+			gpu.Library == "ROCm" ||
+			gpu.Library == "Vulkan"
 
 		if !supportsFA {
 			return false

filename: scripts/build_windows.ps1
patch: @@ -187,11 +187,11 @@ function buildROCm() {
 function buildVulkan(){
     if ($env:VULKAN_SDK) {
         write-host "Building Vulkan backend libraries"
-        & cmake --fresh --preset Vulkan --install-prefix $script:DIST_DIR -DOLLAMA_RUNNER_DIR="vulkan"
+        & cmake -B build\vulkan --preset Vulkan --install-prefix $script:DIST_DIR -DOLLAMA_RUNNER_DIR="vulkan"
         if ($LASTEXITCODE -ne 0) { exit($LASTEXITCODE)}
-        & cmake --build --preset Vulkan  --config Release --parallel $script:JOBS
+        & cmake --build build\vulkan --target ggml-vulkan  --config Release --parallel $script:JOBS
         if ($LASTEXITCODE -ne 0) { exit($LASTEXITCODE)}
-        & cmake --install build --component Vulkan --strip
+        & cmake --install build\vulkan --component Vulkan --strip
         if ($LASTEXITCODE -ne 0) { exit($LASTEXITCODE)}
     }
 }
Repository: vercel/next.js
Pull request: Turbopack: Revert default loader runtime backend to child processes

We're getting crashes in node: https://github.com/vercel/workflow/actions/runs/22500511618/job/65186125774#step:10:224

It looks like this should be fixed in newer versions of node:

- https://github.com/napi-rs/napi-rs/issues/2555#issuecomment-3645173223
- https://github.com/nodejs/node/pull/55877
- https://github.com/nodejs/node/pull/61400
- https://github.com/nodejs/node/pull/61661

So we may enable the worker threads feature by default if we detect a new enough version of node or bun.

Changed files:
filename: crates/next-core/src/next_config.rs
patch: @@ -2059,10 +2059,10 @@ impl NextConfig {
 
     #[turbo_tasks::function]
     pub fn turbopack_plugin_runtime_strategy(&self) -> Vc<TurbopackPluginRuntimeStrategy> {
-        #[cfg(feature = "worker_pool")]
-        let default = TurbopackPluginRuntimeStrategy::WorkerThreads;
-        #[cfg(all(not(feature = "worker_pool"), feature = "process_pool"))]
+        #[cfg(feature = "process_pool")]
         let default = TurbopackPluginRuntimeStrategy::ChildProcesses;
+        #[cfg(all(feature = "worker_pool", not(feature = "process_pool")))]
+        let default = TurbopackPluginRuntimeStrategy::WorkerThreads;
 
         self.experimental
             .turbopack_plugin_runtime_strategy

filename: packages/next/src/server/config-shared.ts
patch: @@ -1722,7 +1722,7 @@ export const defaultConfig = Object.freeze({
     turbopackFileSystemCacheForDev: true,
     turbopackFileSystemCacheForBuild: false,
     turbopackInferModuleSideEffects: true,
-    turbopackPluginRuntimeStrategy: 'workerThreads',
+    turbopackPluginRuntimeStrategy: 'childProcesses',
     devCacheControlNoCache: false,
   },
   htmlLimitedBots: undefined,