Compare commits

...

3 Commits

Author SHA1 Message Date
dependabot[bot] e8e073a9ff
chore(deps-dev): bump the dependencies group across 1 directory with 6 updates
Bumps the dependencies group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@codspeed/core](https://github.com/CodSpeedHQ/codspeed-node) | `4.0.1` | `5.0.1` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.6.0` | `24.6.2` |
| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.1.6` | `16.2.3` |
| [memfs](https://github.com/streamich/memfs) | `4.39.0` | `4.48.1` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.1.1` | `19.2.0` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.1.1` | `19.2.0` |



Updates `@codspeed/core` from 4.0.1 to 5.0.1
- [Release notes](https://github.com/CodSpeedHQ/codspeed-node/releases)
- [Commits](https://github.com/CodSpeedHQ/codspeed-node/compare/v4.0.1...v5.0.1)

Updates `@types/node` from 24.6.0 to 24.6.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `lint-staged` from 16.1.6 to 16.2.3
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v16.1.6...v16.2.3)

Updates `memfs` from 4.39.0 to 4.48.1
- [Release notes](https://github.com/streamich/memfs/releases)
- [Changelog](https://github.com/streamich/memfs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/streamich/memfs/compare/v4.39.0...v4.48.1)

Updates `react` from 19.1.1 to 19.2.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.0/packages/react)

Updates `react-dom` from 19.1.1 to 19.2.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.0/packages/react-dom)

---
updated-dependencies:
- dependency-name: "@codspeed/core"
  dependency-version: 5.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@types/node"
  dependency-version: 24.6.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: lint-staged
  dependency-version: 16.2.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: memfs
  dependency-version: 4.48.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: react
  dependency-version: 19.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: react-dom
  dependency-version: 19.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-03 02:03:46 +00:00
Alexander Akait e1afcd4cc2
test: stability and avoid extra output (#19974)
Github Actions / lint (push) Has been cancelled Details
Github Actions / validate-legacy-node (push) Has been cancelled Details
Github Actions / benchmark (1/4) (push) Has been cancelled Details
Github Actions / benchmark (2/4) (push) Has been cancelled Details
Github Actions / benchmark (3/4) (push) Has been cancelled Details
Github Actions / benchmark (4/4) (push) Has been cancelled Details
Github Actions / basic (push) Has been cancelled Details
Github Actions / unit (push) Has been cancelled Details
Github Actions / integration (10.x, macos-latest, a) (push) Has been cancelled Details
Github Actions / integration (10.x, macos-latest, b) (push) Has been cancelled Details
Github Actions / integration (10.x, ubuntu-latest, a) (push) Has been cancelled Details
Github Actions / integration (10.x, ubuntu-latest, b) (push) Has been cancelled Details
Github Actions / integration (10.x, windows-latest, a) (push) Has been cancelled Details
Github Actions / integration (10.x, windows-latest, b) (push) Has been cancelled Details
Github Actions / integration (12.x, ubuntu-latest, a) (push) Has been cancelled Details
Github Actions / integration (14.x, ubuntu-latest, a) (push) Has been cancelled Details
Github Actions / integration (16.x, ubuntu-latest, a) (push) Has been cancelled Details
Github Actions / integration (18.x, ubuntu-latest, a) (push) Has been cancelled Details
Github Actions / integration (20.x, macos-latest, a) (push) Has been cancelled Details
Github Actions / integration (20.x, macos-latest, b) (push) Has been cancelled Details
Github Actions / integration (20.x, ubuntu-latest, a) (push) Has been cancelled Details
Github Actions / integration (20.x, ubuntu-latest, b) (push) Has been cancelled Details
Github Actions / integration (20.x, windows-latest, a) (push) Has been cancelled Details
Github Actions / integration (20.x, windows-latest, b) (push) Has been cancelled Details
Github Actions / integration (22.x, macos-latest, a) (push) Has been cancelled Details
Github Actions / integration (22.x, macos-latest, b) (push) Has been cancelled Details
Github Actions / integration (22.x, ubuntu-latest, a) (push) Has been cancelled Details
Github Actions / integration (22.x, ubuntu-latest, b) (push) Has been cancelled Details
Github Actions / integration (22.x, windows-latest, a) (push) Has been cancelled Details
Github Actions / integration (22.x, windows-latest, b) (push) Has been cancelled Details
Github Actions / integration (24.x, macos-latest, a) (push) Has been cancelled Details
Github Actions / integration (24.x, macos-latest, b) (push) Has been cancelled Details
Github Actions / integration (24.x, ubuntu-latest, a) (push) Has been cancelled Details
Github Actions / integration (24.x, ubuntu-latest, b) (push) Has been cancelled Details
Github Actions / integration (24.x, windows-latest, a) (push) Has been cancelled Details
Github Actions / integration (24.x, windows-latest, b) (push) Has been cancelled Details
Github Actions / integration (lts/*, ubuntu-latest, a, 1) (push) Has been cancelled Details
Github Actions / integration (lts/*, ubuntu-latest, b, 1) (push) Has been cancelled Details
2025-10-02 21:55:56 +03:00
Alexander Akait d45073a2b3
fix: dynamic import support in workers using browserslist (#19972) 2025-10-02 19:19:35 +03:00
16 changed files with 335 additions and 205 deletions

View File

@ -314,7 +314,8 @@
"Kumar",
"spacek",
"thelarkinn",
"behaviour"
"behaviour",
"WHATWG"
],
"ignoreRegExpList": [
"/Author.+/",

View File

@ -91,28 +91,6 @@ const resolve = (browsers) => {
const anyBrowser = browsers.some((b) => /^(?!node)/.test(b));
const browserProperty = !anyBrowser ? false : anyNode ? null : true;
const nodeProperty = !anyNode ? false : anyBrowser ? null : true;
// Internet Explorer Mobile, Blackberry browser and Opera Mini are very old browsers, they do not support new features
const es6DynamicImport = rawChecker({
/* eslint-disable camelcase */
chrome: 63,
and_chr: 63,
edge: 79,
firefox: 67,
and_ff: 67,
// ie: Not supported
opera: 50,
op_mob: 46,
safari: [11, 1],
ios_saf: [11, 3],
samsung: [8, 2],
android: 63,
and_qq: [10, 4],
baidu: [13, 18],
and_uc: [15, 5],
kaios: [3, 0],
node: [12, 17]
/* eslint-enable camelcase */
});
return {
/* eslint-disable camelcase */
@ -175,9 +153,9 @@ const resolve = (browsers) => {
ios_saf: 7,
samsung: [3, 0],
android: 38,
// and_qq: Unknown support
and_qq: [10, 4],
// baidu: Unknown support
// and_uc: Unknown support
and_uc: [12, 12],
kaios: [3, 0],
node: [0, 12]
}),
@ -194,9 +172,9 @@ const resolve = (browsers) => {
ios_saf: 8,
samsung: [5, 0],
android: 49,
// and_qq: Unknown support
and_qq: [10, 4],
// baidu: Unknown support
// and_uc: Unknown support
and_uc: [12, 12],
kaios: [2, 5],
node: [6, 0]
}),
@ -240,8 +218,44 @@ const resolve = (browsers) => {
kaios: [3, 0],
node: [12, 17]
}),
dynamicImport: es6DynamicImport,
dynamicImportInWorker: es6DynamicImport && !anyNode,
dynamicImport: rawChecker({
chrome: 63,
and_chr: 63,
edge: 79,
firefox: 67,
and_ff: 67,
// ie: Not supported
opera: 50,
op_mob: 46,
safari: [11, 1],
ios_saf: [11, 3],
samsung: [8, 2],
android: 63,
and_qq: [10, 4],
baidu: [13, 18],
and_uc: [15, 5],
kaios: [3, 0],
node: [12, 17]
}),
dynamicImportInWorker: rawChecker({
chrome: 80,
and_chr: 80,
edge: 80,
firefox: 114,
and_ff: 114,
// ie: Not supported
opera: 67,
op_mob: 57,
safari: [15, 0],
ios_saf: [15, 0],
samsung: [13, 0],
android: 80,
and_qq: [10, 4],
baidu: [13, 18],
and_uc: [15, 5],
kaios: [3, 0],
node: [12, 17]
}),
// browserslist does not have info about globalThis
// so this is based on mdn-browser-compat-data
globalThis: rawChecker({
@ -257,9 +271,9 @@ const resolve = (browsers) => {
ios_saf: [12, 2],
samsung: [10, 1],
android: 71,
// and_qq: Unknown support
and_qq: [13, 1],
// baidu: Unknown support
// and_uc: Unknown support
and_uc: [15, 5],
kaios: [3, 0],
node: 12
}),
@ -276,9 +290,9 @@ const resolve = (browsers) => {
ios_saf: [13, 4],
samsung: 13,
android: 80,
// and_qq: Not supported
and_qq: [13, 1],
// baidu: Not supported
// and_uc: Not supported
and_uc: [15, 5],
kaios: [3, 0],
node: 14
}),
@ -314,9 +328,9 @@ const resolve = (browsers) => {
ios_saf: 11,
samsung: [6, 2],
android: 55,
and_qq: [13, 1],
and_qq: [10, 4],
baidu: [13, 18],
and_uc: [15, 5],
and_uc: [12, 12],
kaios: 3,
node: [7, 6]
}),
@ -332,7 +346,7 @@ const resolve = (browsers) => {
fetchWasm: browserProperty,
global: nodeProperty,
importScripts: false,
importScriptsInWorker: true,
importScriptsInWorker: Boolean(browserProperty),
nodeBuiltins: nodeProperty,
nodePrefixForCoreModules:
nodeProperty &&

View File

@ -110,7 +110,7 @@
"devDependencies": {
"@babel/core": "^7.27.1",
"@babel/preset-react": "^7.27.1",
"@codspeed/core": "^4.0.1",
"@codspeed/core": "^5.0.1",
"@eslint/js": "^9.36.0",
"@eslint/markdown": "^7.3.0",
"@stylistic/eslint-plugin": "^5.4.0",

View File

@ -2909,12 +2909,6 @@ describe("Targets", () => {
- Expected
+ Received
@@ ... @@
- "dynamicImportInWorker": true,
+ "dynamicImportInWorker": false,
@@ ... @@
- "dynamicImportInWorker": true,
+ "dynamicImportInWorker": false,
@@ ... @@
- "target": "node12.17",
+ "target": "browserslist: node 12.17",

View File

@ -31,6 +31,37 @@ Object {
}
`;
exports[`browserslist target ["and_chr 140","and_ff 142","and_qq 14.9","and_uc 15.5","android 140","chrome 140","chrome 139","chrome 138","chrome 137","chrome 112","chrome 109","chrome 105","edge 140","edge 139","edge 138","firefox 143","firefox 142","firefox 141","firefox 140","ios_saf 26.0","ios_saf 18.5-18.6","kaios 3.0-3.1","node 24.8.0","node 22.19.0","node 20.19.0","op_mob 80","opera 122","opera 121","opera 120","safari 26.0","safari 18.5-18.6","samsung 28","samsung 27"] 1`] = `
Object {
"arrowFunction": true,
"asyncFunction": true,
"bigIntLiteral": true,
"browser": null,
"const": true,
"destructuring": true,
"document": null,
"dynamicImport": true,
"dynamicImportInWorker": true,
"electron": false,
"fetchWasm": null,
"forOf": true,
"global": null,
"globalThis": true,
"importScripts": false,
"importScriptsInWorker": false,
"module": true,
"node": null,
"nodeBuiltins": null,
"nodePrefixForCoreModules": null,
"nwjs": false,
"optionalChaining": true,
"require": null,
"templateLiteral": true,
"web": null,
"webworker": false,
}
`;
exports[`browserslist target ["and_ff 68"] 1`] = `
Object {
"arrowFunction": true,
@ -41,7 +72,7 @@ Object {
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": true,
@ -65,17 +96,17 @@ Object {
exports[`browserslist target ["and_qq 10.4"] 1`] = `
Object {
"arrowFunction": true,
"asyncFunction": false,
"asyncFunction": true,
"bigIntLiteral": false,
"browser": true,
"const": true,
"destructuring": false,
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"electron": false,
"fetchWasm": true,
"forOf": false,
"forOf": true,
"global": false,
"globalThis": false,
"importScripts": false,
@ -93,37 +124,6 @@ Object {
}
`;
exports[`browserslist target ["and_uc 12.12"] 1`] = `
Object {
"arrowFunction": true,
"asyncFunction": false,
"bigIntLiteral": false,
"browser": true,
"const": true,
"destructuring": false,
"document": true,
"dynamicImport": false,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": false,
"global": false,
"globalThis": false,
"importScripts": false,
"importScriptsInWorker": true,
"module": false,
"node": false,
"nodeBuiltins": false,
"nodePrefixForCoreModules": false,
"nwjs": false,
"optionalChaining": false,
"require": false,
"templateLiteral": true,
"web": true,
"webworker": false,
}
`;
exports[`browserslist target ["android 4"] 1`] = `
Object {
"arrowFunction": false,
@ -320,14 +320,45 @@ Object {
"destructuring": true,
"document": null,
"dynamicImport": true,
"dynamicImportInWorker": false,
"dynamicImportInWorker": true,
"electron": false,
"fetchWasm": null,
"forOf": true,
"global": null,
"globalThis": true,
"importScripts": false,
"importScriptsInWorker": true,
"importScriptsInWorker": false,
"module": true,
"node": null,
"nodeBuiltins": null,
"nodePrefixForCoreModules": null,
"nwjs": false,
"optionalChaining": false,
"require": null,
"templateLiteral": true,
"web": null,
"webworker": false,
}
`;
exports[`browserslist target ["chrome 80","node 13.12.0"] 1`] = `
Object {
"arrowFunction": true,
"asyncFunction": true,
"bigIntLiteral": true,
"browser": null,
"const": true,
"destructuring": true,
"document": null,
"dynamicImport": true,
"dynamicImportInWorker": true,
"electron": false,
"fetchWasm": null,
"forOf": true,
"global": null,
"globalThis": true,
"importScripts": false,
"importScriptsInWorker": false,
"module": true,
"node": null,
"nodeBuiltins": null,
@ -382,7 +413,7 @@ Object {
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": true,
@ -413,7 +444,7 @@ Object {
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": true,
@ -444,7 +475,7 @@ Object {
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": true,
@ -537,7 +568,7 @@ Object {
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": true,
@ -606,7 +637,7 @@ Object {
"global": true,
"globalThis": false,
"importScripts": false,
"importScriptsInWorker": true,
"importScriptsInWorker": false,
"module": false,
"node": true,
"nodeBuiltins": true,
@ -637,7 +668,7 @@ Object {
"global": true,
"globalThis": false,
"importScripts": false,
"importScriptsInWorker": true,
"importScriptsInWorker": false,
"module": false,
"node": true,
"nodeBuiltins": true,
@ -668,7 +699,7 @@ Object {
"global": true,
"globalThis": false,
"importScripts": false,
"importScriptsInWorker": true,
"importScriptsInWorker": false,
"module": false,
"node": true,
"nodeBuiltins": true,
@ -699,7 +730,7 @@ Object {
"global": true,
"globalThis": false,
"importScripts": false,
"importScriptsInWorker": true,
"importScriptsInWorker": false,
"module": false,
"node": true,
"nodeBuiltins": true,
@ -723,14 +754,45 @@ Object {
"destructuring": true,
"document": false,
"dynamicImport": true,
"dynamicImportInWorker": false,
"dynamicImportInWorker": true,
"electron": false,
"fetchWasm": false,
"forOf": true,
"global": true,
"globalThis": true,
"importScripts": false,
"importScriptsInWorker": true,
"importScriptsInWorker": false,
"module": true,
"node": true,
"nodeBuiltins": true,
"nodePrefixForCoreModules": false,
"nwjs": false,
"optionalChaining": false,
"require": true,
"templateLiteral": true,
"web": false,
"webworker": false,
}
`;
exports[`browserslist target ["node 13.12.0"] 1`] = `
Object {
"arrowFunction": true,
"asyncFunction": true,
"bigIntLiteral": true,
"browser": false,
"const": true,
"destructuring": true,
"document": false,
"dynamicImport": true,
"dynamicImportInWorker": true,
"electron": false,
"fetchWasm": false,
"forOf": true,
"global": true,
"globalThis": true,
"importScripts": false,
"importScriptsInWorker": false,
"module": true,
"node": true,
"nodeBuiltins": true,
@ -785,7 +847,7 @@ Object {
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": true,
@ -816,7 +878,7 @@ Object {
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": true,
@ -909,7 +971,7 @@ Object {
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": true,
@ -940,7 +1002,7 @@ Object {
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": true,
@ -971,7 +1033,7 @@ Object {
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": true,
@ -1064,7 +1126,7 @@ Object {
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": true,
@ -1095,7 +1157,7 @@ Object {
"destructuring": true,
"document": true,
"dynamicImport": true,
"dynamicImportInWorker": true,
"dynamicImportInWorker": false,
"electron": false,
"fetchWasm": true,
"forOf": true,

View File

@ -15,7 +15,7 @@ module.exports = {
"destructuring": true,
"document": false,
"dynamicImport": true,
"dynamicImportInWorker": false,
"dynamicImportInWorker": true,
"forOf": true,
"globalThis": true,
"module": true,

View File

@ -15,7 +15,7 @@ module.exports = {
"destructuring": true,
"document": false,
"dynamicImport": true,
"dynamicImportInWorker": false,
"dynamicImportInWorker": true,
"forOf": true,
"globalThis": true,
"module": true,

View File

@ -3,7 +3,7 @@ import * as style from "./style.css";
import * as text1 from "./text-with-bom.txt";
import * as text2 from "./test-without-bom.text";
it("should remove BOM", function() {
it("should remove BOM", async function() {
const url = new URL("./resource-with-bom.ext", import.meta.url);
expect(mod).toBeDefined();
@ -13,7 +13,7 @@ it("should remove BOM", function() {
expect(url).toBeDefined();
const module = "module.js"
const modules = import("./dir/" + module);
const modules = await import("./dir/" + module);
expect(modules).toBeDefined();
});

View File

@ -4,6 +4,9 @@ const fs = require("fs");
const path = require("path");
module.exports = {
findBundle() {
return ["dir_module_js.bundle0.js", "bundle0.js"];
},
afterExecute(options) {
const outputPath = options.output.path;
const files = fs.readdirSync(outputPath);

View File

@ -6,6 +6,9 @@ module.exports = {
output: {
assetModuleFilename: "[name][ext]"
},
optimization: {
chunkIds: "named"
},
module: {
rules: [
{

View File

@ -1,27 +1,39 @@
it("should set fetchPriority", () => {
import(/* webpackFetchPriority: "high" */ "./a");
function abortable(fn) {
return new Promise((resolve) => {
const timeoutId = setTimeout(() => {
fn = undefined;
resolve('Promise resolved after delay');
clearTimeout(timeoutId);
}, 1000);
return fn();
});
}
it("should set fetchPriority", async () => {
abortable(() => import(/* webpackFetchPriority: "high" */ "./a"));
expect(document.head._children).toHaveLength(4);
const script1 = document.head._children[2];
expect(script1._attributes.fetchpriority).toBe("high");
import(/* webpackFetchPriority: "low" */ "./b");
abortable(() => import(/* webpackFetchPriority: "low" */ "./b"));
expect(document.head._children).toHaveLength(5);
const script2 = document.head._children[4];
expect(script2._attributes.fetchpriority).toBe("low");
import(/* webpackFetchPriority: "low" */ "./c");
abortable(() => import(/* webpackFetchPriority: "low" */ "./c"));
expect(document.head._children).toHaveLength(6);
const script3 = document.head._children[5];
expect(script3._attributes.fetchpriority).toBe("low");
import(/* webpackPrefetch: 20, webpackFetchPriority: "auto" */ "./c");
abortable(() => import(/* webpackPrefetch: 20, webpackFetchPriority: "auto" */ "./c"));
import("./d")
abortable(() => import("./d"))
expect(document.head._children).toHaveLength(7);
const script4 = document.head._children[6];
expect(script4._attributes.fetchpriority).toBeUndefined();
import(/* webpackPrefetch: -20 */ "./d3");
abortable(() => import(/* webpackPrefetch: -20 */ "./d3"));
expect(document.head._children).toHaveLength(8);
const script5 = document.head._children[7];
expect(script5._attributes.fetchpriority).toBeUndefined();
@ -29,12 +41,12 @@ it("should set fetchPriority", () => {
const condition = true;
if (!condition) {
import(/* webpackFetchPriority: "high", webpackChunkName: "one" */ "./e");
abortable( () => import(/* webpackFetchPriority: "high", webpackChunkName: "one" */ "./e"));
expect(document.head._children).toHaveLength(9);
const script6 = document.head._children[8];
expect(script6._attributes.fetchpriority).toBe("high");
} else {
import(/* webpackFetchPriority: "low", webpackChunkName: "two" */ "./e");
abortable(() => import(/* webpackFetchPriority: "low", webpackChunkName: "two" */ "./e"));
expect(document.head._children).toHaveLength(9);
const script6 = document.head._children[8];
expect(script6._attributes.fetchpriority).toBe("low");

View File

@ -1,13 +1,25 @@
function abortable(fn) {
return new Promise((resolve) => {
const timeoutId = setTimeout(() => {
fn = undefined;
resolve('Promise resolved after delay');
clearTimeout(timeoutId);
}, 1000);
return fn();
});
}
it("should set fetchPriority", () => {
// Single Chunk
import(/* webpackFetchPriority: "high" */ "./a");
abortable(() => import(/* webpackFetchPriority: "high" */ "./a"));
expect(document.head._children).toHaveLength(1);
const script1 = document.head._children[0];
expect(script1._attributes.fetchpriority).toBe("high");
// Multiple Chunks
import(/* webpackFetchPriority: "high" */ "./b");
import(/* webpackFetchPriority: "high" */ "./b2");
abortable(() => import(/* webpackFetchPriority: "high" */ "./b"));
abortable(() => import(/* webpackFetchPriority: "high" */ "./b2"));
expect(document.head._children).toHaveLength(4);
const script2 = document.head._children[1];
const script3 = document.head._children[2];
@ -17,19 +29,19 @@ it("should set fetchPriority", () => {
expect(script4._attributes.fetchpriority).toBe("high");
// Single Chunk, low
import(/* webpackFetchPriority: "low" */ "./c");
abortable(() => import(/* webpackFetchPriority: "low" */ "./c"));
expect(document.head._children).toHaveLength(5);
const script5 = document.head._children[4];
expect(script5._attributes.fetchpriority).toBe("low");
// Single Chunk, auto
import(/* webpackFetchPriority: "auto" */ "./d");
abortable(() => import(/* webpackFetchPriority: "auto" */ "./d"));
expect(document.head._children).toHaveLength(6);
const script6 = document.head._children[5];
expect(script6._attributes.fetchpriority).toBe("auto");
// No fetch priority
import("./e");
abortable(() => import("./e"));
expect(document.head._children).toHaveLength(7);
const script7 = document.head._children[6];
expect(script7._attributes.fetchpriority).toBeUndefined();
@ -44,49 +56,49 @@ it("should set fetchPriority", () => {
const script8 = document.head._children[7];
expect(script8._attributes.fetchpriority).toBeUndefined();
import(/* webpackFetchPriority: "auto" */ "./g");
abortable(() => import(/* webpackFetchPriority: "auto" */ "./g"));
expect(document.head._children).toHaveLength(9);
const script9 = document.head._children[8];
expect(script9._attributes.fetchpriority).toBe("auto");
import(/* webpackFetchPriority: "unknown" */ "./h.js");
abortable(() => import(/* webpackFetchPriority: "unknown" */ "./h.js"));
expect(document.head._children).toHaveLength(10);
const script10 = document.head._children[9];
expect(script10._attributes.fetchpriority).toBeUndefined();
import(/* webpackFetchPriority: "high" */ "./i");
import(/* webpackFetchPriority: "low" */ "./i");
abortable(() => import(/* webpackFetchPriority: "high" */ "./i"));
abortable(() => import(/* webpackFetchPriority: "low" */ "./i"));
expect(document.head._children).toHaveLength(11);
const script11 = document.head._children[10];
expect(script11._attributes.fetchpriority).toBe("high");
import(/* webpackFetchPriority: "low" */ "./j");
import(/* webpackFetchPriority: "high" */ "./j");
abortable(() => import(/* webpackFetchPriority: "low" */ "./j"));
abortable(() => import(/* webpackFetchPriority: "high" */ "./j"));
expect(document.head._children).toHaveLength(12);
const script12 = document.head._children[11];
expect(script12._attributes.fetchpriority).toBe("low");
import(/* webpackFetchPriority: "low" */ "./k");
import("./e");
import(/* webpackFetchPriority: "high" */ "./k");
expect(document.head._children).toHaveLength(13);
abortable(() => import(/* webpackFetchPriority: "low" */ "./k"));
abortable(() => import("./e"));
abortable(() => import(/* webpackFetchPriority: "high" */ "./k"));
abortable(() => expect(document.head._children).toHaveLength(13));
const script13 = document.head._children[12];
expect(script13._attributes.fetchpriority).toBe("low");
__non_webpack_require__("./125.js");
import(/* webpackFetchPriority: "high" */ "./style.css");
abortable(() => import(/* webpackFetchPriority: "high" */ "./style.css"));
expect(document.head._children).toHaveLength(14);
const link1 = document.head._children[13];
expect(link1._attributes.fetchpriority).toBe("high");
__non_webpack_require__("./499.js");
import("./style-1.css");
abortable(() => import("./style-1.css"));
expect(document.head._children).toHaveLength(15);
const link2 = document.head._children[14];
expect(link2._attributes.fetchpriority).toBeUndefined();
__non_webpack_require__("./616.js");
import(/* webpackFetchPriority: "low" */ "./style-2.css");
abortable(() => import(/* webpackFetchPriority: "low" */ "./style-2.css"));
expect(document.head._children).toHaveLength(16);
const link3 = document.head._children[15];
expect(link3._attributes.fetchpriority).toBe("low");

View File

@ -57,9 +57,7 @@ describe("browserslist target", () => {
["node 10.0.0"],
["node 10.17.0"],
["node 12.19.0"],
// UC browsers for Android
["and_uc 12.12"],
["node 13.12.0"],
// QQ browser
["and_qq 10.4"],
@ -73,6 +71,45 @@ describe("browserslist target", () => {
// Multiple
["firefox 80", "chrome 80"],
["chrome 80", "node 12.19.0"],
["chrome 80", "node 13.12.0"],
// defaults and fully supports es6-module
// maintained node versions
[
"and_chr 140",
"and_ff 142",
"and_qq 14.9",
"and_uc 15.5",
"android 140",
"chrome 140",
"chrome 139",
"chrome 138",
"chrome 137",
"chrome 112",
"chrome 109",
"chrome 105",
"edge 140",
"edge 139",
"edge 138",
"firefox 143",
"firefox 142",
"firefox 141",
"firefox 140",
"ios_saf 26.0",
"ios_saf 18.5-18.6",
"kaios 3.0-3.1",
"node 24.8.0",
"node 22.19.0",
"node 20.19.0",
"op_mob 80",
"opera 122",
"opera 121",
"opera 120",
"safari 26.0",
"safari 18.5-18.6",
"samsung 28",
"samsung 27"
],
// Unknown
["unknown 50"]

View File

@ -17,7 +17,7 @@ module.exports = {
]
},
plugins: [
new webpack.ProgressPlugin(),
new webpack.ProgressPlugin(() => {}),
{
apply(compiler) {
compiler.hooks.done.tapPromise("CacheTest", async () => {

View File

@ -16,7 +16,7 @@ module.exports = {
]
},
plugins: [
new webpack.ProgressPlugin(),
new webpack.ProgressPlugin(() => {}),
{
apply(compiler) {
compiler.hooks.done.tapPromise("CacheTest", async () => {

134
yarn.lock
View File

@ -332,14 +332,14 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
"@codspeed/core@^4.0.1":
version "4.0.1"
resolved "https://registry.yarnpkg.com/@codspeed/core/-/core-4.0.1.tgz#91049cce17b8c1d1b4b6cbc481f5ddc1145d6e1e"
integrity sha512-fJ53arfgtzCDZa8DuGJhpTZ3Ll9A1uW5nQ2jSJnfO4Hl5MRD2cP8P4vPvIUAGbdbjwCxR1jat6cW8OloMJkJXw==
"@codspeed/core@^5.0.1":
version "5.0.1"
resolved "https://registry.yarnpkg.com/@codspeed/core/-/core-5.0.1.tgz#6145c898a86a6d56a169611c3e9657a8b97c7642"
integrity sha512-4g5ZyFAin8QywK4+0FK1uXG3GLRPu0oc3xbP+7OUhhFxbwpzFuaJtKmnTofMqLy9/pHH6Bl/7H0/DTVH3cpFkA==
dependencies:
axios "^1.4.0"
find-up "^6.3.0"
form-data "^4.0.0"
form-data "^4.0.4"
node-gyp-build "^4.6.0"
"@cspell/cspell-bundled-dicts@9.1.3":
@ -1490,9 +1490,9 @@
integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==
"@types/node@*", "@types/node@^24.5.2":
version "24.6.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-24.6.0.tgz#5dd8d4eca0bba7dd81d853e7fadc96b322ff84f6"
integrity sha512-F1CBxgqwOMc4GKJ7eY22hWhBVQuMYTtqI8L0FcszYcpYX0fzfDGpez22Xau8Mgm7O9fI+zA/TYIdq3tGWfweBA==
version "24.6.2"
resolved "https://registry.yarnpkg.com/@types/node/-/node-24.6.2.tgz#59b99878b6fed17e698e7d09e51c729c5877736a"
integrity sha512-d2L25Y4j+W3ZlNAeMKcy7yDsK425ibcAOO2t7aPTz6gNMH0z2GThtwENCDc0d/Pw9wgyRqE5Px1wkV7naz8ang==
dependencies:
undici-types "~7.13.0"
@ -1979,7 +1979,7 @@ ansi-styles@^5.2.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
ansi-styles@^6.0.0, ansi-styles@^6.1.0, ansi-styles@^6.2.1:
ansi-styles@^6.1.0, ansi-styles@^6.2.1:
version "6.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
@ -2418,7 +2418,7 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
chalk@^5.2.0, chalk@^5.4.1, chalk@^5.6.0:
chalk@^5.2.0, chalk@^5.4.1:
version "5.6.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.6.0.tgz#a1a8d294ea3526dbb77660f12649a08490e33ab8"
integrity sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==
@ -2510,13 +2510,13 @@ cli-cursor@^5.0.0:
dependencies:
restore-cursor "^5.0.0"
cli-truncate@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a"
integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==
cli-truncate@^5.0.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-5.1.0.tgz#bb12607a62f0e4bb91a54aa4653b23347900bb55"
integrity sha512-7JDGG+4Zp0CsknDCedl0DYdaeOhc46QNpXi3NLQblkZpXXgA6LncLDUUyvrjSvZeF3VRQa+KiMGomazQrC1V8g==
dependencies:
slice-ansi "^5.0.0"
string-width "^7.0.0"
slice-ansi "^7.1.0"
string-width "^8.0.0"
cliui@^6.0.0:
version "6.0.0"
@ -2608,10 +2608,10 @@ commander@^12.1.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3"
integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==
commander@^14.0.0:
version "14.0.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.0.tgz#f244fc74a92343514e56229f16ef5c5e22ced5e9"
integrity sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==
commander@^14.0.0, commander@^14.0.1:
version "14.0.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.1.tgz#2f9225c19e6ebd0dc4404dd45821b2caa17ea09b"
integrity sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==
commander@^2.20.0:
version "2.20.3"
@ -3878,7 +3878,7 @@ fork-ts-checker-webpack-plugin@^9.0.2:
semver "^7.3.5"
tapable "^2.2.1"
form-data@^4.0.0, form-data@^4.0.4:
form-data@^4.0.4:
version "4.0.4"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.4.tgz#784cdcce0669a9d68e94d11ac4eea98088edd2c4"
integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==
@ -3972,6 +3972,11 @@ get-east-asian-width@^1.0.0:
resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz#21b4071ee58ed04ee0db653371b55b4299875389"
integrity sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==
get-east-asian-width@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz#9bc4caa131702b4b61729cb7e42735bc550c9ee6"
integrity sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==
get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
@ -4469,11 +4474,6 @@ is-fullwidth-code-point@^3.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
is-fullwidth-code-point@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88"
integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==
is-fullwidth-code-point@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz#9609efced7c2f97da7b60145ef481c787c7ba704"
@ -5341,38 +5341,30 @@ levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
lilconfig@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4"
integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==
lines-and-columns@^1.1.6:
version "1.2.4"
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
lint-staged@^16.1.2:
version "16.1.6"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-16.1.6.tgz#b0830df339a71f4207979a47c7be8ab0f38543ad"
integrity sha512-U4kuulU3CKIytlkLlaHcGgKscNfJPNTiDF2avIUGFCv7K95/DCYQ7Ra62ydeRWmgQGg9zJYw2dzdbztwJlqrow==
version "16.2.3"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-16.2.3.tgz#790866221d75602510507b5be40b2c7963715960"
integrity sha512-1OnJEESB9zZqsp61XHH2fvpS1es3hRCxMplF/AJUDa8Ho8VrscYDIuxGrj3m8KPXbcWZ8fT9XTMUhEQmOVKpKw==
dependencies:
chalk "^5.6.0"
commander "^14.0.0"
debug "^4.4.1"
lilconfig "^3.1.3"
listr2 "^9.0.3"
commander "^14.0.1"
listr2 "^9.0.4"
micromatch "^4.0.8"
nano-spawn "^1.0.2"
nano-spawn "^1.0.3"
pidtree "^0.6.0"
string-argv "^0.3.2"
yaml "^2.8.1"
listr2@^9.0.3:
version "9.0.3"
resolved "https://registry.yarnpkg.com/listr2/-/listr2-9.0.3.tgz#5181284019e1d577dc2d705ca6d3a148cf15adf3"
integrity sha512-0aeh5HHHgmq1KRdMMDHfhMWQmIT/m7nRDTlxlFqni2Sp0had9baqsjJRvDGdlvgd6NmPE0nPloOipiQJGFtTHQ==
listr2@^9.0.4:
version "9.0.4"
resolved "https://registry.yarnpkg.com/listr2/-/listr2-9.0.4.tgz#2916e633ae6e09d1a3f981172937ac1c5a8fa64f"
integrity sha512-1wd/kpAdKRLwv7/3OKC8zZ5U8e/fajCfWMxacUvB79S5nLrYGPtUI/8chMQhn3LQjsRVErTb9i1ECAwW0ZIHnQ==
dependencies:
cli-truncate "^4.0.0"
cli-truncate "^5.0.0"
colorette "^2.0.20"
eventemitter3 "^5.0.1"
log-update "^6.1.0"
@ -5682,9 +5674,9 @@ memfs@^3.4.1:
fs-monkey "^1.0.4"
memfs@^4.14.0:
version "4.39.0"
resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.39.0.tgz#fa3bea08ba4eb736bbb024eced25859cb1d0e13a"
integrity sha512-tFRr2IkSXl2B6IAJsxjHIMTOsfLt9W+8+t2uNxCeQcz4tFqgQR8DYk8hlLH2HsucTctLuoHq3U0G08atyBE3yw==
version "4.48.1"
resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.48.1.tgz#28a9a52d238a90dbec20172f86a9bb3d1923ad1f"
integrity sha512-vWO+1ROkhOALF1UnT9aNOOflq5oFDlqwTXaPg6duo07fBLxSH0+bcF0TY1lbA1zTNKyGgDxgaDdKx5MaewLX5A==
dependencies:
"@jsonjoy.com/json-pack" "^1.11.0"
"@jsonjoy.com/util" "^1.9.0"
@ -6166,10 +6158,10 @@ mz@^2.7.0:
object-assign "^4.0.1"
thenify-all "^1.0.0"
nano-spawn@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/nano-spawn/-/nano-spawn-1.0.2.tgz#9853795681f0e96ef6f39104c2e4347b6ba79bf6"
integrity sha512-21t+ozMQDAL/UGgQVBbZ/xXvNO10++ZPuTmKRO8k9V3AClVRht49ahtDjfY8l1q6nSHOrE5ASfthzH3ol6R/hg==
nano-spawn@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/nano-spawn/-/nano-spawn-1.0.3.tgz#ef8d89a275eebc8657e67b95fc312a6527a05b8d"
integrity sha512-jtpsQDetTnvS2Ts1fiRdci5rx0VYws5jGyC+4IYOTnIQ/wwdf6JdomlHBwqC3bJYOvaKu0C2GSZ1A60anrYpaA==
nanoid@^3.3.11:
version "3.3.11"
@ -6933,11 +6925,11 @@ raw-loader@~0.5.1:
integrity sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q==
react-dom@^19.0.0:
version "19.1.1"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.1.1.tgz#2daa9ff7f3ae384aeb30e76d5ee38c046dc89893"
integrity sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==
version "19.2.0"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.2.0.tgz#00ed1e959c365e9a9d48f8918377465466ec3af8"
integrity sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==
dependencies:
scheduler "^0.26.0"
scheduler "^0.27.0"
react-is@^18.3.1:
version "18.3.1"
@ -6945,9 +6937,9 @@ react-is@^18.3.1:
integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==
react@^19.0.0:
version "19.1.1"
resolved "https://registry.yarnpkg.com/react/-/react-19.1.1.tgz#06d9149ec5e083a67f9a1e39ce97b06a03b644af"
integrity sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==
version "19.2.0"
resolved "https://registry.yarnpkg.com/react/-/react-19.2.0.tgz#d33dd1721698f4376ae57a54098cb47fc75d93a5"
integrity sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==
readable-stream@^4.7.0:
version "4.7.0"
@ -7165,10 +7157,10 @@ sax@^1.2.4:
resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f"
integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==
scheduler@^0.26.0:
version "0.26.0"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337"
integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==
scheduler@^0.27.0:
version "0.27.0"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.27.0.tgz#0c4ef82d67d1e5c1e359e8fc76d3a87f045fe5bd"
integrity sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==
schema-utils@^3.0.0, schema-utils@^3.1.1:
version "3.3.0"
@ -7337,14 +7329,6 @@ slash@^3.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
slice-ansi@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a"
integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==
dependencies:
ansi-styles "^6.0.0"
is-fullwidth-code-point "^4.0.0"
slice-ansi@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9"
@ -7552,6 +7536,14 @@ string-width@^7.0.0:
get-east-asian-width "^1.0.0"
strip-ansi "^7.1.0"
string-width@^8.0.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-8.1.0.tgz#9e9fb305174947cf45c30529414b5da916e9e8d1"
integrity sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==
dependencies:
get-east-asian-width "^1.3.0"
strip-ansi "^7.1.0"
string.prototype.trim@^1.2.10:
version "1.2.10"
resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81"