MCPcopy
hub / github.com/webpack/webpack / applyExperimentsDefaults

Function applyExperimentsDefaults

lib/config/defaults.js:575–612  ·  view source on GitHub ↗
(
	experiments,
	{ production, development, targetProperties }
)

Source from the content-addressed store, hash-verified

573 * @returns {void}
574 */
575const applyExperimentsDefaults = (
576 experiments,
577 { production, development, targetProperties }
578) => {
579 D(experiments, "futureDefaults", false);
580 D(experiments, "backCompat", !experiments.futureDefaults);
581 // TODO do we need sync web assembly in webpack@6?
582 D(experiments, "syncWebAssembly", false);
583 D(experiments, "asyncWebAssembly", experiments.futureDefaults);
584 // the universal target (web + node, neither specific) only works as ESM
585 const universal =
586 Boolean(targetProperties) &&
587 /** @type {TargetProperties} */ (targetProperties).node === null &&
588 /** @type {TargetProperties} */ (targetProperties).web === null;
589 // the deno and bun targets only emit ECMAScript modules
590 const deno =
591 Boolean(targetProperties) &&
592 /** @type {TargetProperties} */ (targetProperties).deno === true;
593 const bun =
594 Boolean(targetProperties) &&
595 /** @type {TargetProperties} */ (targetProperties).bun === true;
596 D(experiments, "outputModule", universal || deno || bun);
597 D(experiments, "lazyCompilation", undefined);
598 D(experiments, "buildHttp", undefined);
599 D(experiments, "cacheUnaffected", experiments.futureDefaults);
600 D(experiments, "deferImport", false);
601 D(experiments, "sourceImport", false);
602 F(experiments, "css", () => (experiments.futureDefaults ? true : undefined));
603 F(experiments, "html", () => (experiments.futureDefaults ? true : undefined));
604 F(experiments, "typescript", () =>
605 experiments.futureDefaults ? true : undefined
606 );
607
608 if (typeof experiments.buildHttp === "object") {
609 D(experiments.buildHttp, "frozen", production);
610 D(experiments.buildHttp, "upgrade", false);
611 }
612};
613
614/**
615 * Apply cache defaults.

Callers 1

Calls 2

DFunction · 0.70
FFunction · 0.70

Tested by

no test coverage detected