(
experiments,
{ production, development, targetProperties }
)
| 573 | * @returns {void} |
| 574 | */ |
| 575 | const 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. |
no test coverage detected