This is an automated email from the ASF dual-hosted git repository.
Yicong-Huang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/texera.git
The following commit(s) were added to refs/heads/main by this push:
new 0e9c617e23 test(frontend): add Vitest browser mode and re-enable
workflow-editor spec (#5017)
0e9c617e23 is described below
commit 0e9c617e238875a45aea5fe09046435594c08c10
Author: Yicong Huang <[email protected]>
AuthorDate: Sun May 10 22:16:34 2026 -0700
test(frontend): add Vitest browser mode and re-enable workflow-editor spec
(#5017)
### What changes were proposed in this PR?
Adds a second `ng run gui:test-browser` target backed by
`@vitest/browser` + Playwright (chromium, headless), for specs that need
real DOM/SVG geometry. The default jsdom `gui:test` path stays the fast
loop; only the workflow-editor spec is routed to the browser target
today.
The spec itself needed three structural fixes orthogonal to the runner:
1. `WorkflowEditorComponent`, `ContextMenuComponent`, and
`NzModalCommentBoxComponent` moved from `declarations:` to `imports:`
(standalone since Angular 19).
2. `beforeEach(waitForAsync(...))` → `beforeEach(async () => ...)`, so
the hook no longer needs an ambient ProxyZone (Vitest only wraps `it`,
not `beforeEach`).
3. After (1) and (2), 16 of 22 tests pass under jsdom. The remaining 6
are pointer-event hit testing on the jointjs paper, which is exactly the
case browser mode exists for — that's what this PR's `test-browser`
target then runs (22/22 pass under chromium).
In browser mode, Vite's default condition resolution picks the node
entry for `uuid` (8.3.2) and `lib0/webcrypto` because neither package's
`exports` map gates on a `browser` condition under `import`. The browser
config aliases those two imports to their published browser bundles via
absolute paths.
### Any related issues, documentation, discussions?
Closes #4866. Removes one of the three entries from the `gui:test`
exclude list cited in #4861.
### How was this PR tested?
- `yarn ng test --watch=false` (jsdom): 67 files passed / 3 skipped, 376
tests passed / 9 skipped / 2 todo.
- `yarn ng run gui:test-browser` (chromium): 1 file passed, 22 tests
passed.
- `yarn format:ci`: clean.
### Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Opus 4.7 (1M context)
Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
---
.github/workflows/build.yml | 4 +
frontend/.gitignore | 3 +
frontend/angular.json | 10 +
frontend/package.json | 7 +-
.../workflow-editor.component.spec.ts | 35 +-
frontend/src/tsconfig.spec.json | 9 +-
frontend/vitest.browser.config.ts | 59 ++
frontend/yarn.lock | 753 +++++++++++++++++----
8 files changed, 723 insertions(+), 157 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 9a78bc540f..b583f59725 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -133,6 +133,10 @@ jobs:
files: ./frontend/coverage/**/lcov.info
flags: frontend
fail_ci_if_error: false
+ - name: Install Playwright Chromium
+ run: yarn --cwd frontend playwright install ${{ matrix.os ==
'ubuntu-latest' && '--with-deps' || '' }} chromium
+ - name: Run frontend browser-mode tests
+ run: yarn --cwd frontend ng run gui:test-browser
amber:
# The amber job runs the cross-cutting Scala lints (scalafmtCheckAll,
diff --git a/frontend/.gitignore b/frontend/.gitignore
index 2ef4a0ac98..72bce9bf8d 100644
--- a/frontend/.gitignore
+++ b/frontend/.gitignore
@@ -12,6 +12,9 @@ src/environments/version.ts
# test coverage
/coverage
+# vitest browser-mode snapshot baselines
+**/__screenshots__/
+
# dependencies
/node_modules
diff --git a/frontend/angular.json b/frontend/angular.json
index 7ecded64fe..17a1eb6f8c 100644
--- a/frontend/angular.json
+++ b/frontend/angular.json
@@ -98,6 +98,16 @@
"**/app/workspace/component/workflow-editor/workflow-editor.component.spec.ts"
]
}
+ },
+ "test-browser": {
+ "builder": "@angular/build:unit-test",
+ "options": {
+ "buildTarget": "gui:build:test",
+ "runner": "vitest",
+ "runnerConfig": "vitest.browser.config.ts",
+ "tsConfig": "src/tsconfig.spec.json",
+ "include":
["**/app/workspace/component/workflow-editor/workflow-editor.component.spec.ts"]
+ }
}
}
}
diff --git a/frontend/package.json b/frontend/package.json
index 3f3b3b3fad..08b298260e 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -118,7 +118,9 @@
"@typescript-eslint/parser": "8.59.0",
"@typescript-eslint/types": "8.59.0",
"@typescript-eslint/utils": "8.59.0",
- "@vitest/coverage-v8": "4.0.8",
+ "@vitest/browser": "4.1.5",
+ "@vitest/browser-playwright": "4.1.5",
+ "@vitest/coverage-v8": "4.1.5",
"concurrently": "7.4.0",
"eslint": "8.57.0",
"eslint-plugin-rxjs": "5.0.3",
@@ -128,13 +130,14 @@
"jsdom": "25.0.1",
"nodecat": "2.0.0",
"nx": "22.7.0",
+ "playwright": "1.59.1",
"prettier": "3.2.5",
"prettier-eslint-cli": "8.0.1",
"rxjs-marbles": "7.0.1",
"sass": "1.71.1",
"ts-proto": "2.2.0",
"typescript": "5.9.3",
- "vitest": "4.0.8",
+ "vitest": "4.1.5",
"webpack-bundle-analyzer": "4.5.0"
},
"browserslist": [
diff --git
a/frontend/src/app/workspace/component/workflow-editor/workflow-editor.component.spec.ts
b/frontend/src/app/workspace/component/workflow-editor/workflow-editor.component.spec.ts
index 541801e469..38c8c8b113 100644
---
a/frontend/src/app/workspace/component/workflow-editor/workflow-editor.component.spec.ts
+++
b/frontend/src/app/workspace/component/workflow-editor/workflow-editor.component.spec.ts
@@ -21,7 +21,7 @@ import { WorkflowActionService } from
"../../service/workflow-graph/model/workfl
import { UndoRedoService } from "../../service/undo-redo/undo-redo.service";
import { DragDropService } from "../../service/drag-drop/drag-drop.service";
import { WorkflowUtilService } from
"../../service/workflow-graph/util/workflow-util.service";
-import { ComponentFixture, TestBed, waitForAsync } from
"@angular/core/testing";
+import { ComponentFixture, TestBed } from "@angular/core/testing";
import { ValidationWorkflowService } from
"../../service/validation/validation-workflow.service";
import { WorkflowEditorComponent } from "./workflow-editor.component";
import { NzModalCommentBoxComponent } from
"./comment-box-modal/nz-modal-comment-box.component";
@@ -74,10 +74,16 @@ describe("WorkflowEditorComponent", () => {
let fixture: ComponentFixture<WorkflowEditorComponent>;
let jointGraph: joint.dia.Graph;
- beforeEach(waitForAsync(() => {
- TestBed.configureTestingModule({
- declarations: [WorkflowEditorComponent, ContextMenuComponent],
- imports: [RouterTestingModule, HttpClientTestingModule, NzModalModule,
NzDropDownModule],
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ imports: [
+ RouterTestingModule,
+ HttpClientTestingModule,
+ NzModalModule,
+ NzDropDownModule,
+ WorkflowEditorComponent,
+ ContextMenuComponent,
+ ],
providers: [
JointUIService,
WorkflowUtilService,
@@ -97,7 +103,7 @@ describe("WorkflowEditorComponent", () => {
...commonTestProviders,
],
}).compileComponents();
- }));
+ });
beforeEach(() => {
fixture = TestBed.createComponent(WorkflowEditorComponent);
@@ -174,10 +180,17 @@ describe("WorkflowEditorComponent", () => {
let undoRedoService: UndoRedoService;
let workflowVersionService: WorkflowVersionService;
- beforeEach(waitForAsync(() => {
- TestBed.configureTestingModule({
- declarations: [WorkflowEditorComponent, NzModalCommentBoxComponent],
- imports: [RouterTestingModule, HttpClientTestingModule, NzModalModule,
NzDropDownModule, NoopAnimationsModule],
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ imports: [
+ RouterTestingModule,
+ HttpClientTestingModule,
+ NzModalModule,
+ NzDropDownModule,
+ NoopAnimationsModule,
+ WorkflowEditorComponent,
+ NzModalCommentBoxComponent,
+ ],
providers: [
JointUIService,
WorkflowUtilService,
@@ -202,7 +215,7 @@ describe("WorkflowEditorComponent", () => {
...commonTestProviders,
],
}).compileComponents();
- }));
+ });
beforeEach(() => {
fixture = TestBed.createComponent(WorkflowEditorComponent);
diff --git a/frontend/src/tsconfig.spec.json b/frontend/src/tsconfig.spec.json
index ec4745fc08..f17cff0ede 100644
--- a/frontend/src/tsconfig.spec.json
+++ b/frontend/src/tsconfig.spec.json
@@ -13,13 +13,6 @@
"exclude": [
// Specs whose body is entirely commented out / placeholder — these
// need real test cases written before they can be re-enabled.
- "**/app/common/service/user/config/user-config.service.spec.ts",
-
- // jointjs paper geometry: every test in this suite asserts on
- // graph layout math (positions, link routing, hit testing) that
- // depends on real getScreenCTM / getBBox. The jsdom polyfill
- // returns identity-only stubs, so all assertions fail. Real fix is
- // Vitest browser mode (#4866).
-
"**/app/workspace/component/workflow-editor/workflow-editor.component.spec.ts"
+ "**/app/common/service/user/config/user-config.service.spec.ts"
]
}
diff --git a/frontend/vitest.browser.config.ts
b/frontend/vitest.browser.config.ts
new file mode 100644
index 0000000000..b24f875a4f
--- /dev/null
+++ b/frontend/vitest.browser.config.ts
@@ -0,0 +1,59 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import { fileURLToPath } from "node:url";
+import { defineConfig } from "vitest/config";
+import { playwright } from "@vitest/browser-playwright";
+
+const uuidBrowser = fileURLToPath(new
URL("./node_modules/uuid/dist/esm-browser/index.js", import.meta.url));
+const lib0Webcrypto = fileURLToPath(new
URL("./node_modules/lib0/webcrypto.js", import.meta.url));
+
+// Browser-mode config for specs that need real DOM/SVG geometry
+// (getScreenCTM, getBoundingClientRect, pointer-event hit testing).
+// jsdom's polyfill in src/jsdom-svg-polyfill.ts returns identity stubs,
+// which is enough to instantiate jointjs but not to compute layout that
+// click/hit tests depend on. See #4866.
+export default defineConfig({
+ // Vite's default resolution picks node entries for transitive deps
+ // because @angular/build:unit-test sets a server-like environment.
+ // Force the browser entry for the two offenders pulled in by
+ // workflow-graph services (uuid + lib0/webcrypto via yjs).
+ resolve: {
+ conditions: ["browser", "module", "import", "default"],
+ alias: [
+ { find: /^uuid$/, replacement: uuidBrowser },
+ { find: /^lib0\/webcrypto$/, replacement: lib0Webcrypto },
+ ],
+ },
+ test: {
+ globals: true,
+ setupFiles: ["src/test-zone-setup.ts"],
+ browser: {
+ enabled: true,
+ provider: playwright(),
+ headless: true,
+ instances: [{ browser: "chromium" }],
+ },
+ server: {
+ deps: {
+ inline: [/monaco-breakpoints/, /^uuid$/, /^lib0\//],
+ },
+ },
+ },
+});
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index d2fff7e05c..0dc28f5147 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -2052,6 +2052,13 @@ __metadata:
languageName: node
linkType: hard
+"@blazediff/core@npm:1.9.1":
+ version: 1.9.1
+ resolution: "@blazediff/core@npm:1.9.1"
+ checksum:
10c0/fd45cdd0544002341d74831a179ef693a81414abd348c1ff0c01086c0ea03f5e5ee284c4e16c2e6fb3670c265f90a3d85752b9360320efa9a835928e604dae77
+ languageName: node
+ linkType: hard
+
"@bufbuild/protobuf@npm:^2.0.0, @bufbuild/protobuf@npm:^2.5.0":
version: 2.12.0
resolution: "@bufbuild/protobuf@npm:2.12.0"
@@ -2439,6 +2446,16 @@ __metadata:
languageName: node
linkType: hard
+"@emnapi/core@npm:1.10.0, @emnapi/core@npm:^1.1.0, @emnapi/core@npm:^1.5.0":
+ version: 1.10.0
+ resolution: "@emnapi/core@npm:1.10.0"
+ dependencies:
+ "@emnapi/wasi-threads": "npm:1.2.1"
+ tslib: "npm:^2.4.0"
+ checksum:
10c0/f51d08227857b60632de7714d708124f0e100a1462dde6df8221760939aa3204a73193830371830fac0716f3ccd2129f2cac1b17cd7d7958bc4da9018a296edb
+ languageName: node
+ linkType: hard
+
"@emnapi/core@npm:1.4.5":
version: 1.4.5
resolution: "@emnapi/core@npm:1.4.5"
@@ -2449,13 +2466,12 @@ __metadata:
languageName: node
linkType: hard
-"@emnapi/core@npm:^1.1.0, @emnapi/core@npm:^1.5.0":
+"@emnapi/runtime@npm:1.10.0, @emnapi/runtime@npm:^1.1.0,
@emnapi/runtime@npm:^1.5.0":
version: 1.10.0
- resolution: "@emnapi/core@npm:1.10.0"
+ resolution: "@emnapi/runtime@npm:1.10.0"
dependencies:
- "@emnapi/wasi-threads": "npm:1.2.1"
tslib: "npm:^2.4.0"
- checksum:
10c0/f51d08227857b60632de7714d708124f0e100a1462dde6df8221760939aa3204a73193830371830fac0716f3ccd2129f2cac1b17cd7d7958bc4da9018a296edb
+ checksum:
10c0/953f14991d1aefb92ee6f8eb27dea725e484791a53a0cb5f47d9e0087b9a2c929ff2e92adf95af15d6ad456db6300c6b761ebf72b50a875b874a83520b3ba093
languageName: node
linkType: hard
@@ -2468,15 +2484,6 @@ __metadata:
languageName: node
linkType: hard
-"@emnapi/runtime@npm:^1.1.0, @emnapi/runtime@npm:^1.5.0":
- version: 1.10.0
- resolution: "@emnapi/runtime@npm:1.10.0"
- dependencies:
- tslib: "npm:^2.4.0"
- checksum:
10c0/953f14991d1aefb92ee6f8eb27dea725e484791a53a0cb5f47d9e0087b9a2c929ff2e92adf95af15d6ad456db6300c6b761ebf72b50a875b874a83520b3ba093
- languageName: node
- linkType: hard
-
"@emnapi/wasi-threads@npm:1.0.4":
version: 1.0.4
resolution: "@emnapi/wasi-threads@npm:1.0.4"
@@ -3348,7 +3355,7 @@ __metadata:
languageName: node
linkType: hard
-"@jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24,
@jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28,
@jridgewell/trace-mapping@npm:^0.3.31":
+"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25,
@jridgewell/trace-mapping@npm:^0.3.28, @jridgewell/trace-mapping@npm:^0.3.31":
version: 0.3.31
resolution: "@jridgewell/trace-mapping@npm:0.3.31"
dependencies:
@@ -4291,7 +4298,7 @@ __metadata:
languageName: node
linkType: hard
-"@napi-rs/wasm-runtime@npm:^1.1.1":
+"@napi-rs/wasm-runtime@npm:^1.1.1, @napi-rs/wasm-runtime@npm:^1.1.4":
version: 1.1.4
resolution: "@napi-rs/wasm-runtime@npm:1.1.4"
dependencies:
@@ -4844,6 +4851,13 @@ __metadata:
languageName: node
linkType: hard
+"@oxc-project/types@npm:=0.128.0":
+ version: 0.128.0
+ resolution: "@oxc-project/types@npm:0.128.0"
+ checksum:
10c0/b6999b1b6b012d979364231a2c0c9204bca814a73f8417234edd39bf352a081779dad72aaf18ac60a676fb904c1408b63553e4e1230d7408a4f885002d66c809
+ languageName: node
+ linkType: hard
+
"@parcel/watcher-android-arm64@npm:2.5.6":
version: 2.5.6
resolution: "@parcel/watcher-android-arm64@npm:2.5.6"
@@ -5152,7 +5166,7 @@ __metadata:
languageName: node
linkType: hard
-"@polka/url@npm:^1.0.0-next.20":
+"@polka/url@npm:^1.0.0-next.20, @polka/url@npm:^1.0.0-next.24":
version: 1.0.0-next.29
resolution: "@polka/url@npm:1.0.0-next.29"
checksum:
10c0/0d58e081844095cb029d3c19a659bfefd09d5d51a2f791bc61eba7ea826f13d6ee204a8a448c2f5a855c17df07b37517373ff916dd05801063c0568ae9937684
@@ -5187,6 +5201,13 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-android-arm64@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.18"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-android-arm64@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.4"
@@ -5194,6 +5215,13 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.18"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.4"
@@ -5201,6 +5229,13 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-darwin-x64@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.18"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-darwin-x64@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.4"
@@ -5208,6 +5243,13 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.18"
+ conditions: os=freebsd & cpu=x64
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.4"
@@ -5215,6 +5257,13 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.18"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.4"
@@ -5222,6 +5271,13 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.18"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.4"
@@ -5229,6 +5285,13 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.18"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.4"
@@ -5236,6 +5299,27 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.18"
+ conditions: os=linux & cpu=ppc64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.18"
+ conditions: os=linux & cpu=s390x & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.18"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.4"
@@ -5243,6 +5327,13 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.18"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.4"
@@ -5250,6 +5341,13 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.18"
+ conditions: os=openharmony & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.4"
@@ -5257,6 +5355,17 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.18"
+ dependencies:
+ "@emnapi/core": "npm:1.10.0"
+ "@emnapi/runtime": "npm:1.10.0"
+ "@napi-rs/wasm-runtime": "npm:^1.1.4"
+ conditions: cpu=wasm32
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.4"
@@ -5266,6 +5375,13 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.18"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.4"
@@ -5273,6 +5389,13 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.18"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.4"
@@ -5280,6 +5403,13 @@ __metadata:
languageName: node
linkType: hard
+"@rolldown/pluginutils@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "@rolldown/pluginutils@npm:1.0.0-rc.18"
+ checksum:
10c0/c09f2ebe53762df23b725f452a3f7ee45968824b062a38ec06054e368551e8c5e1874b0ef28143ff3b1b9d6d5ca60177a34378bdd672e899c3646fb8d0bd5aff
+ languageName: node
+ linkType: hard
+
"@rolldown/pluginutils@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "@rolldown/pluginutils@npm:1.0.0-rc.4"
@@ -5732,7 +5862,7 @@ __metadata:
languageName: node
linkType: hard
-"@standard-schema/spec@npm:^1.0.0":
+"@standard-schema/spec@npm:^1.0.0, @standard-schema/spec@npm:^1.1.0":
version: 1.1.0
resolution: "@standard-schema/spec@npm:1.1.0"
checksum:
10c0/d90f55acde4b2deb983529c87e8025fa693de1a5e8b49ecc6eb84d1fd96328add0e03d7d551442156c7432fd78165b2c26ff561b970a9a881f046abb78d6a526
@@ -6730,108 +6860,144 @@ __metadata:
languageName: node
linkType: hard
-"@vitest/coverage-v8@npm:4.0.8":
- version: 4.0.8
- resolution: "@vitest/coverage-v8@npm:4.0.8"
+"@vitest/browser-playwright@npm:4.1.5":
+ version: 4.1.5
+ resolution: "@vitest/browser-playwright@npm:4.1.5"
+ dependencies:
+ "@vitest/browser": "npm:4.1.5"
+ "@vitest/mocker": "npm:4.1.5"
+ tinyrainbow: "npm:^3.1.0"
+ peerDependencies:
+ playwright: "*"
+ vitest: 4.1.5
+ peerDependenciesMeta:
+ playwright:
+ optional: false
+ checksum:
10c0/47b0ecc13757e638f7765cb4b3172e817a25249b00bc4e9462f4228b6336c0b2f7bb692ae636373f55c8e9b35d18eaecb03abd5f15b0c42a8351da9a62f23d9f
+ languageName: node
+ linkType: hard
+
+"@vitest/browser@npm:4.1.5":
+ version: 4.1.5
+ resolution: "@vitest/browser@npm:4.1.5"
+ dependencies:
+ "@blazediff/core": "npm:1.9.1"
+ "@vitest/mocker": "npm:4.1.5"
+ "@vitest/utils": "npm:4.1.5"
+ magic-string: "npm:^0.30.21"
+ pngjs: "npm:^7.0.0"
+ sirv: "npm:^3.0.2"
+ tinyrainbow: "npm:^3.1.0"
+ ws: "npm:^8.19.0"
+ peerDependencies:
+ vitest: 4.1.5
+ checksum:
10c0/ea95d100853dd7a1ea9f1b036edfe441688bf5873742341ebf169ab2e32041ab6e21e5f2df918c3c4b9f110265457cdce0c0afa83407617e460a83979ae48e44
+ languageName: node
+ linkType: hard
+
+"@vitest/coverage-v8@npm:4.1.5":
+ version: 4.1.5
+ resolution: "@vitest/coverage-v8@npm:4.1.5"
dependencies:
"@bcoe/v8-coverage": "npm:^1.0.2"
- "@vitest/utils": "npm:4.0.8"
- ast-v8-to-istanbul: "npm:^0.3.8"
- debug: "npm:^4.4.3"
+ "@vitest/utils": "npm:4.1.5"
+ ast-v8-to-istanbul: "npm:^1.0.0"
istanbul-lib-coverage: "npm:^3.2.2"
istanbul-lib-report: "npm:^3.0.1"
- istanbul-lib-source-maps: "npm:^5.0.6"
istanbul-reports: "npm:^3.2.0"
- magicast: "npm:^0.5.1"
- std-env: "npm:^3.10.0"
- tinyrainbow: "npm:^3.0.3"
+ magicast: "npm:^0.5.2"
+ obug: "npm:^2.1.1"
+ std-env: "npm:^4.0.0-rc.1"
+ tinyrainbow: "npm:^3.1.0"
peerDependencies:
- "@vitest/browser": 4.0.8
- vitest: 4.0.8
+ "@vitest/browser": 4.1.5
+ vitest: 4.1.5
peerDependenciesMeta:
"@vitest/browser":
optional: true
- checksum:
10c0/e1bd3f261a10042c2033bb07a4cffe8c3a059d367e9c32f092d7808dfab2736775bf105ff610d274cc7519d3c94f797ac8e2498f70c36391547f98a1715f8a08
+ checksum:
10c0/71bf669cc1714611855caef5e89b4f3e405e410bdb34e4b2f6fbc9dc5e50dd9e09e73068c1750f6bfa03f0cd9209a2b6e03665c3bdbd34e0adff1ca65c482b7b
languageName: node
linkType: hard
-"@vitest/expect@npm:4.0.8":
- version: 4.0.8
- resolution: "@vitest/expect@npm:4.0.8"
+"@vitest/expect@npm:4.1.5":
+ version: 4.1.5
+ resolution: "@vitest/expect@npm:4.1.5"
dependencies:
- "@standard-schema/spec": "npm:^1.0.0"
+ "@standard-schema/spec": "npm:^1.1.0"
"@types/chai": "npm:^5.2.2"
- "@vitest/spy": "npm:4.0.8"
- "@vitest/utils": "npm:4.0.8"
- chai: "npm:^6.2.0"
- tinyrainbow: "npm:^3.0.3"
- checksum:
10c0/0d80695c9cfdae33eafbb39bd6bac99baa117127191e50b907544a3dc7e52c8d7d57ff7f24c88960097c71c07bf7d0babefd0f8dd8706adcfb70cdecf1128f79
+ "@vitest/spy": "npm:4.1.5"
+ "@vitest/utils": "npm:4.1.5"
+ chai: "npm:^6.2.2"
+ tinyrainbow: "npm:^3.1.0"
+ checksum:
10c0/5184682304db471aa20024c1154210ad3d6d590afb61646201ce1a15297259f9a35f92f8fad4435bc8a82135e307ddd27c8495f72417d72d9aa139eb281d9e06
languageName: node
linkType: hard
-"@vitest/mocker@npm:4.0.8":
- version: 4.0.8
- resolution: "@vitest/mocker@npm:4.0.8"
+"@vitest/mocker@npm:4.1.5":
+ version: 4.1.5
+ resolution: "@vitest/mocker@npm:4.1.5"
dependencies:
- "@vitest/spy": "npm:4.0.8"
+ "@vitest/spy": "npm:4.1.5"
estree-walker: "npm:^3.0.3"
magic-string: "npm:^0.30.21"
peerDependencies:
msw: ^2.4.9
- vite: ^6.0.0 || ^7.0.0-0
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
msw:
optional: true
vite:
optional: true
- checksum:
10c0/a73a3e801cd3a57efada45603abd3982aa3b22bd5011be9255a28f4e690509ea09a323120e7f6b993eb32d4eb7f7411a466eba53f1f3f2462ee908552ea0a395
+ checksum:
10c0/bcfe97700476130933c7ea33fa670c8d2768a81de5325ce407f901e55c2f66cabbb88a7b6cffb46ddf33dff7d8fc209d769fb298f568e310fbeead9b36f6fdb9
languageName: node
linkType: hard
-"@vitest/pretty-format@npm:4.0.8":
- version: 4.0.8
- resolution: "@vitest/pretty-format@npm:4.0.8"
+"@vitest/pretty-format@npm:4.1.5":
+ version: 4.1.5
+ resolution: "@vitest/pretty-format@npm:4.1.5"
dependencies:
- tinyrainbow: "npm:^3.0.3"
- checksum:
10c0/04df23f459f30026ea3e99940459d21bd8db3d5fa2cf111a8125ba29af847de9f13094ee1b35f241bb5ac9cb7a683cee584849b6d966996445e1e57c5f81c96c
+ tinyrainbow: "npm:^3.1.0"
+ checksum:
10c0/42b5e9b75e87c0a884d36bee364e2d07ee45e96f413377737a74993e077d90c3a12aa36743855aee5e4e28b78fae20e3e6de5eef8d5344b9aba2bc1e1d5537a1
languageName: node
linkType: hard
-"@vitest/runner@npm:4.0.8":
- version: 4.0.8
- resolution: "@vitest/runner@npm:4.0.8"
+"@vitest/runner@npm:4.1.5":
+ version: 4.1.5
+ resolution: "@vitest/runner@npm:4.1.5"
dependencies:
- "@vitest/utils": "npm:4.0.8"
+ "@vitest/utils": "npm:4.1.5"
pathe: "npm:^2.0.3"
- checksum:
10c0/db4d51aee7a5bada9f97a0c8fc40b2ed0f301212ab2be28a024fcee1fa442393a933df820311d96bb42763a33ef1873e8ced470377dfea3af6304eed59f09d02
+ checksum:
10c0/6a03b313a121155f6dd9e32eeb103c0e12440f586bc4ba1f0d77444e44c6df4652a44443718552037463115635b8378e11f35902d90ce1326f77743219fca056
languageName: node
linkType: hard
-"@vitest/snapshot@npm:4.0.8":
- version: 4.0.8
- resolution: "@vitest/snapshot@npm:4.0.8"
+"@vitest/snapshot@npm:4.1.5":
+ version: 4.1.5
+ resolution: "@vitest/snapshot@npm:4.1.5"
dependencies:
- "@vitest/pretty-format": "npm:4.0.8"
+ "@vitest/pretty-format": "npm:4.1.5"
+ "@vitest/utils": "npm:4.1.5"
magic-string: "npm:^0.30.21"
pathe: "npm:^2.0.3"
- checksum:
10c0/1764d0e5aeab755710f4dc9e29e80dcaef310a7be9b48f6fde6344b3af34a1107bcab0a57ef1e1ae3e963e4b89affb5b9752618bec83b44033e8659152b664ce
+ checksum:
10c0/e11bf50d06702331290750a40eaef86078c108df3cd9a52bb1be7b84250048790163f36827525be6a383a4bb1994fc35e6d0c24239a41688b0bb68a1d15d172f
languageName: node
linkType: hard
-"@vitest/spy@npm:4.0.8":
- version: 4.0.8
- resolution: "@vitest/spy@npm:4.0.8"
- checksum:
10c0/357b3ebc10421d9de34a3c20ff898fb13e1df6e484671c3043949e83ea4263f2442bc636f9b6eb5e44395229422242ec4bc62fd277a1de5b346c01ab79a95d4a
+"@vitest/spy@npm:4.1.5":
+ version: 4.1.5
+ resolution: "@vitest/spy@npm:4.1.5"
+ checksum:
10c0/fda6b1ee0a2fec1a152d8041aba7a79744c3876863b244d1ed406d02b36e8ccc997edb2e3963d1027d728d3dc5a33813e11bef53a0a14fc7de4de5e721d0f591
languageName: node
linkType: hard
-"@vitest/utils@npm:4.0.8":
- version: 4.0.8
- resolution: "@vitest/utils@npm:4.0.8"
+"@vitest/utils@npm:4.1.5":
+ version: 4.1.5
+ resolution: "@vitest/utils@npm:4.1.5"
dependencies:
- "@vitest/pretty-format": "npm:4.0.8"
- tinyrainbow: "npm:^3.0.3"
- checksum:
10c0/384e5db47a89e63143c335bf644d9be6e0a7f7555ed368837b9497dda20e080fcaa0c5b1c9bd8a9b49478d2b8dcfeb31be2bfb9fe7a5590f1453cbf372906436
+ "@vitest/pretty-format": "npm:4.1.5"
+ convert-source-map: "npm:^2.0.0"
+ tinyrainbow: "npm:^3.1.0"
+ checksum:
10c0/72409717e68018e5fe42fa173cc4eff6def8c35bd52013f86ddb414cd28d73fcc425ac62968e01a52371b3fd5a7a775536283d2f1d64432753f628712a6a4908
languageName: node
linkType: hard
@@ -7430,14 +7596,14 @@ __metadata:
languageName: node
linkType: hard
-"ast-v8-to-istanbul@npm:^0.3.8":
- version: 0.3.12
- resolution: "ast-v8-to-istanbul@npm:0.3.12"
+"ast-v8-to-istanbul@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "ast-v8-to-istanbul@npm:1.0.0"
dependencies:
"@jridgewell/trace-mapping": "npm:^0.3.31"
estree-walker: "npm:^3.0.3"
js-tokens: "npm:^10.0.0"
- checksum:
10c0/bad6ba222b1073c165c8d65dbf366193d4a90536dabe37f93a3df162269b1c9473975756e4c048f708c235efccc26f8e5321c547b7e9563b64b21b2e0f27cbc9
+ checksum:
10c0/35e57b754ba63287358094d4f7ae8de2de27286fb4e76a1fbf28b2e67e3b670b59c3f511882473d0fd2cdbaa260062e3cd4f216b724c70032e2b09e5cebbd618
languageName: node
linkType: hard
@@ -8072,7 +8238,7 @@ __metadata:
languageName: node
linkType: hard
-"chai@npm:^6.2.0":
+"chai@npm:^6.2.2":
version: 6.2.2
resolution: "chai@npm:6.2.2"
checksum:
10c0/e6c69e5f0c11dffe6ea13d0290936ebb68fcc1ad688b8e952e131df6a6d5797d5e860bc55cef1aca2e950c3e1f96daf79e9d5a70fb7dbaab4e46355e2635ed53
@@ -8934,7 +9100,7 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1,
debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.6, debug@npm:^4.4.0,
debug@npm:^4.4.3":
+"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2,
debug@npm:^4.3.4, debug@npm:^4.3.6, debug@npm:^4.4.0, debug@npm:^4.4.3":
version: 4.4.3
resolution: "debug@npm:4.4.3"
dependencies:
@@ -9468,13 +9634,6 @@ __metadata:
languageName: node
linkType: hard
-"es-module-lexer@npm:^1.7.0":
- version: 1.7.0
- resolution: "es-module-lexer@npm:1.7.0"
- checksum:
10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b
- languageName: node
- linkType: hard
-
"es-module-lexer@npm:^2.0.0":
version: 2.1.0
resolution: "es-module-lexer@npm:2.1.0"
@@ -10029,7 +10188,7 @@ __metadata:
languageName: node
linkType: hard
-"expect-type@npm:^1.2.2":
+"expect-type@npm:^1.3.0":
version: 1.3.0
resolution: "expect-type@npm:1.3.0"
checksum:
10c0/8412b3fe4f392c420ab41dae220b09700e4e47c639a29ba7ba2e83cc6cffd2b4926f7ac9e47d7e277e8f4f02acda76fd6931cb81fd2b382fa9477ef9ada953fd
@@ -10519,6 +10678,16 @@ __metadata:
languageName: node
linkType: hard
+"fsevents@npm:2.3.2":
+ version: 2.3.2
+ resolution: "fsevents@npm:2.3.2"
+ dependencies:
+ node-gyp: "npm:latest"
+ checksum:
10c0/be78a3efa3e181cda3cf7a4637cb527bcebb0bd0ea0440105a3bb45b86f9245b307dc10a2507e8f4498a7d4ec349d1910f4d73e4d4495b16103106e07eee735b
+ conditions: os=darwin
+ languageName: node
+ linkType: hard
+
"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3":
version: 2.3.3
resolution: "fsevents@npm:2.3.3"
@@ -10529,6 +10698,15 @@ __metadata:
languageName: node
linkType: hard
+"fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin<compat/fsevents>":
+ version: 2.3.2
+ resolution:
"fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin<compat/fsevents>::version=2.3.2&hash=df0bf1"
+ dependencies:
+ node-gyp: "npm:latest"
+ conditions: os=darwin
+ languageName: node
+ linkType: hard
+
"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin<compat/fsevents>,
fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin<compat/fsevents>":
version: 2.3.3
resolution:
"fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin<compat/fsevents>::version=2.3.3&hash=df0bf1"
@@ -10874,7 +11052,9 @@ __metadata:
"@typescript-eslint/parser": "npm:8.59.0"
"@typescript-eslint/types": "npm:8.59.0"
"@typescript-eslint/utils": "npm:8.59.0"
- "@vitest/coverage-v8": "npm:4.0.8"
+ "@vitest/browser": "npm:4.1.5"
+ "@vitest/browser-playwright": "npm:4.1.5"
+ "@vitest/coverage-v8": "npm:4.1.5"
ai: "npm:5.0.93"
ajv: "npm:8.10.0"
concaveman: "npm:2.0.0"
@@ -10907,6 +11087,7 @@ __metadata:
nx: "npm:22.7.0"
papaparse: "npm:5.4.1"
path-browserify: "npm:1.0.1"
+ playwright: "npm:1.59.1"
plotly.js-basic-dist-min: "npm:2.29.0"
prettier: "npm:3.2.5"
prettier-eslint-cli: "npm:8.0.1"
@@ -10922,7 +11103,7 @@ __metadata:
tslib: "npm:2.3.1"
typescript: "npm:5.9.3"
uuid: "npm:8.3.2"
- vitest: "npm:4.0.8"
+ vitest: "npm:4.1.5"
vscode: "npm:@codingame/[email protected]"
webpack-bundle-analyzer: "npm:4.5.0"
y-monaco: "npm:0.1.5"
@@ -11754,17 +11935,6 @@ __metadata:
languageName: node
linkType: hard
-"istanbul-lib-source-maps@npm:^5.0.6":
- version: 5.0.6
- resolution: "istanbul-lib-source-maps@npm:5.0.6"
- dependencies:
- "@jridgewell/trace-mapping": "npm:^0.3.23"
- debug: "npm:^4.1.1"
- istanbul-lib-coverage: "npm:^3.0.0"
- checksum:
10c0/ffe75d70b303a3621ee4671554f306e0831b16f39ab7f4ab52e54d356a5d33e534d97563e318f1333a6aae1d42f91ec49c76b6cd3f3fb378addcb5c81da0255f
- languageName: node
- linkType: hard
-
"istanbul-reports@npm:^3.2.0":
version: 3.2.0
resolution: "istanbul-reports@npm:3.2.0"
@@ -12356,6 +12526,126 @@ __metadata:
languageName: node
linkType: hard
+"lightningcss-android-arm64@npm:1.32.0":
+ version: 1.32.0
+ resolution: "lightningcss-android-arm64@npm:1.32.0"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"lightningcss-darwin-arm64@npm:1.32.0":
+ version: 1.32.0
+ resolution: "lightningcss-darwin-arm64@npm:1.32.0"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"lightningcss-darwin-x64@npm:1.32.0":
+ version: 1.32.0
+ resolution: "lightningcss-darwin-x64@npm:1.32.0"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"lightningcss-freebsd-x64@npm:1.32.0":
+ version: 1.32.0
+ resolution: "lightningcss-freebsd-x64@npm:1.32.0"
+ conditions: os=freebsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"lightningcss-linux-arm-gnueabihf@npm:1.32.0":
+ version: 1.32.0
+ resolution: "lightningcss-linux-arm-gnueabihf@npm:1.32.0"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"lightningcss-linux-arm64-gnu@npm:1.32.0":
+ version: 1.32.0
+ resolution: "lightningcss-linux-arm64-gnu@npm:1.32.0"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"lightningcss-linux-arm64-musl@npm:1.32.0":
+ version: 1.32.0
+ resolution: "lightningcss-linux-arm64-musl@npm:1.32.0"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"lightningcss-linux-x64-gnu@npm:1.32.0":
+ version: 1.32.0
+ resolution: "lightningcss-linux-x64-gnu@npm:1.32.0"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"lightningcss-linux-x64-musl@npm:1.32.0":
+ version: 1.32.0
+ resolution: "lightningcss-linux-x64-musl@npm:1.32.0"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"lightningcss-win32-arm64-msvc@npm:1.32.0":
+ version: 1.32.0
+ resolution: "lightningcss-win32-arm64-msvc@npm:1.32.0"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"lightningcss-win32-x64-msvc@npm:1.32.0":
+ version: 1.32.0
+ resolution: "lightningcss-win32-x64-msvc@npm:1.32.0"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"lightningcss@npm:^1.32.0":
+ version: 1.32.0
+ resolution: "lightningcss@npm:1.32.0"
+ dependencies:
+ detect-libc: "npm:^2.0.3"
+ lightningcss-android-arm64: "npm:1.32.0"
+ lightningcss-darwin-arm64: "npm:1.32.0"
+ lightningcss-darwin-x64: "npm:1.32.0"
+ lightningcss-freebsd-x64: "npm:1.32.0"
+ lightningcss-linux-arm-gnueabihf: "npm:1.32.0"
+ lightningcss-linux-arm64-gnu: "npm:1.32.0"
+ lightningcss-linux-arm64-musl: "npm:1.32.0"
+ lightningcss-linux-x64-gnu: "npm:1.32.0"
+ lightningcss-linux-x64-musl: "npm:1.32.0"
+ lightningcss-win32-arm64-msvc: "npm:1.32.0"
+ lightningcss-win32-x64-msvc: "npm:1.32.0"
+ dependenciesMeta:
+ lightningcss-android-arm64:
+ optional: true
+ lightningcss-darwin-arm64:
+ optional: true
+ lightningcss-darwin-x64:
+ optional: true
+ lightningcss-freebsd-x64:
+ optional: true
+ lightningcss-linux-arm-gnueabihf:
+ optional: true
+ lightningcss-linux-arm64-gnu:
+ optional: true
+ lightningcss-linux-arm64-musl:
+ optional: true
+ lightningcss-linux-x64-gnu:
+ optional: true
+ lightningcss-linux-x64-musl:
+ optional: true
+ lightningcss-win32-arm64-msvc:
+ optional: true
+ lightningcss-win32-x64-msvc:
+ optional: true
+ checksum:
10c0/70945bd55097af46fc9fab7f5ed09cd5869d85940a2acab7ee06d0117004a1d68155708a2d462531cea2fc3c67aefc9333a7068c80b0b78dd404c16838809e03
+ languageName: node
+ linkType: hard
+
"lilconfig@npm:^3.1.3":
version: 3.1.3
resolution: "lilconfig@npm:3.1.3"
@@ -12646,7 +12936,7 @@ __metadata:
languageName: node
linkType: hard
-"magicast@npm:^0.5.1":
+"magicast@npm:^0.5.2":
version: 0.5.2
resolution: "magicast@npm:0.5.2"
dependencies:
@@ -13171,7 +13461,7 @@ __metadata:
languageName: node
linkType: hard
-"mrmime@npm:2.0.1":
+"mrmime@npm:2.0.1, mrmime@npm:^2.0.0":
version: 2.0.1
resolution: "mrmime@npm:2.0.1"
checksum:
10c0/af05afd95af202fdd620422f976ad67dc18e6ee29beb03dd1ce950ea6ef664de378e44197246df4c7cdd73d47f2e7143a6e26e473084b9e4aa2095c0ad1e1761
@@ -13842,6 +14132,13 @@ __metadata:
languageName: node
linkType: hard
+"obug@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "obug@npm:2.1.1"
+ checksum:
10c0/59dccd7de72a047e08f8649e94c1015ec72f94eefb6ddb57fb4812c4b425a813bc7e7cd30c9aca20db3c59abc3c85cc7a62bb656a968741d770f4e8e02bc2e78
+ languageName: node
+ linkType: hard
+
"on-finished@npm:^2.4.1, on-finished@npm:~2.4.1":
version: 2.4.1
resolution: "on-finished@npm:2.4.1"
@@ -14347,6 +14644,30 @@ __metadata:
languageName: node
linkType: hard
+"playwright-core@npm:1.59.1":
+ version: 1.59.1
+ resolution: "playwright-core@npm:1.59.1"
+ bin:
+ playwright-core: cli.js
+ checksum:
10c0/d41a74d9681ce3beb3d5239e9ed577710b4ad099a6ca2476219c6599d51e9cb4b80bd72ed82c528da6a5d929c18ae3b872cf02bb83f78fa1c2cb9199c501abee
+ languageName: node
+ linkType: hard
+
+"playwright@npm:1.59.1":
+ version: 1.59.1
+ resolution: "playwright@npm:1.59.1"
+ dependencies:
+ fsevents: "npm:2.3.2"
+ playwright-core: "npm:1.59.1"
+ dependenciesMeta:
+ fsevents:
+ optional: true
+ bin:
+ playwright: cli.js
+ checksum:
10c0/dfe38396e616e5c4f98825ce90037bb96e477c5a2bd9258a24854f8ce72a8a41427b19098863866f85aa0216e70287dd537c4438d761aca93995e31ae099c533
+ languageName: node
+ linkType: hard
+
"plotly.js-basic-dist-min@npm:2.29.0":
version: 2.29.0
resolution: "plotly.js-basic-dist-min@npm:2.29.0"
@@ -14354,6 +14675,13 @@ __metadata:
languageName: node
linkType: hard
+"pngjs@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "pngjs@npm:7.0.0"
+ checksum:
10c0/0d4c7a0fd476a9c33df7d0a2a73e1d56537628a668841f6995c2bca070cf30819f9254a64363266bc14ef2fee47659dd3b4f2b18eec7ab65143015139f497b38
+ languageName: node
+ linkType: hard
+
"point-in-polygon@npm:^1.1.0":
version: 1.1.0
resolution: "point-in-polygon@npm:1.1.0"
@@ -14832,6 +15160,17 @@ __metadata:
languageName: node
linkType: hard
+"postcss@npm:^8.5.14":
+ version: 8.5.14
+ resolution: "postcss@npm:8.5.14"
+ dependencies:
+ nanoid: "npm:^3.3.11"
+ picocolors: "npm:^1.1.1"
+ source-map-js: "npm:^1.2.1"
+ checksum:
10c0/48138207cf5ef5581be1bfe2cb65ccfe0ac75e43888ba045afc8ed6043d7b56aeb3b9a9fe5b353ff554be943cd0cc15d826ccb991525159175971e5ee8ab0237
+ languageName: node
+ linkType: hard
+
"powershell-utils@npm:^0.1.0":
version: 0.1.0
resolution: "powershell-utils@npm:0.1.0"
@@ -15473,6 +15812,64 @@ __metadata:
languageName: node
linkType: hard
+"rolldown@npm:1.0.0-rc.18":
+ version: 1.0.0-rc.18
+ resolution: "rolldown@npm:1.0.0-rc.18"
+ dependencies:
+ "@oxc-project/types": "npm:=0.128.0"
+ "@rolldown/binding-android-arm64": "npm:1.0.0-rc.18"
+ "@rolldown/binding-darwin-arm64": "npm:1.0.0-rc.18"
+ "@rolldown/binding-darwin-x64": "npm:1.0.0-rc.18"
+ "@rolldown/binding-freebsd-x64": "npm:1.0.0-rc.18"
+ "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.0-rc.18"
+ "@rolldown/binding-linux-arm64-gnu": "npm:1.0.0-rc.18"
+ "@rolldown/binding-linux-arm64-musl": "npm:1.0.0-rc.18"
+ "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.0-rc.18"
+ "@rolldown/binding-linux-s390x-gnu": "npm:1.0.0-rc.18"
+ "@rolldown/binding-linux-x64-gnu": "npm:1.0.0-rc.18"
+ "@rolldown/binding-linux-x64-musl": "npm:1.0.0-rc.18"
+ "@rolldown/binding-openharmony-arm64": "npm:1.0.0-rc.18"
+ "@rolldown/binding-wasm32-wasi": "npm:1.0.0-rc.18"
+ "@rolldown/binding-win32-arm64-msvc": "npm:1.0.0-rc.18"
+ "@rolldown/binding-win32-x64-msvc": "npm:1.0.0-rc.18"
+ "@rolldown/pluginutils": "npm:1.0.0-rc.18"
+ dependenciesMeta:
+ "@rolldown/binding-android-arm64":
+ optional: true
+ "@rolldown/binding-darwin-arm64":
+ optional: true
+ "@rolldown/binding-darwin-x64":
+ optional: true
+ "@rolldown/binding-freebsd-x64":
+ optional: true
+ "@rolldown/binding-linux-arm-gnueabihf":
+ optional: true
+ "@rolldown/binding-linux-arm64-gnu":
+ optional: true
+ "@rolldown/binding-linux-arm64-musl":
+ optional: true
+ "@rolldown/binding-linux-ppc64-gnu":
+ optional: true
+ "@rolldown/binding-linux-s390x-gnu":
+ optional: true
+ "@rolldown/binding-linux-x64-gnu":
+ optional: true
+ "@rolldown/binding-linux-x64-musl":
+ optional: true
+ "@rolldown/binding-openharmony-arm64":
+ optional: true
+ "@rolldown/binding-wasm32-wasi":
+ optional: true
+ "@rolldown/binding-win32-arm64-msvc":
+ optional: true
+ "@rolldown/binding-win32-x64-msvc":
+ optional: true
+ bin:
+ rolldown: bin/cli.mjs
+ checksum:
10c0/699b8545a9a8b85ed4c639122163a6f46f84404fd88262bafa9549b01546744db625fd4425fceb4658c888de1671323170de1f837f6f6bb93e243e6e1d48c114
+ languageName: node
+ linkType: hard
+
"rolldown@npm:1.0.0-rc.4":
version: 1.0.0-rc.4
resolution: "rolldown@npm:1.0.0-rc.4"
@@ -16381,6 +16778,17 @@ __metadata:
languageName: node
linkType: hard
+"sirv@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "sirv@npm:3.0.2"
+ dependencies:
+ "@polka/url": "npm:^1.0.0-next.24"
+ mrmime: "npm:^2.0.0"
+ totalist: "npm:^3.0.0"
+ checksum:
10c0/5930e4397afdb14fbae13751c3be983af4bda5c9aadec832607dc2af15a7162f7d518c71b30e83ae3644b9a24cea041543cc969e5fe2b80af6ce8ea3174b2d04
+ languageName: node
+ linkType: hard
+
"sisteransi@npm:^1.0.5":
version: 1.0.5
resolution: "sisteransi@npm:1.0.5"
@@ -16616,10 +17024,10 @@ __metadata:
languageName: node
linkType: hard
-"std-env@npm:^3.10.0":
- version: 3.10.0
- resolution: "std-env@npm:3.10.0"
- checksum:
10c0/1814927a45004d36dde6707eaf17552a546769bc79a6421be2c16ce77d238158dfe5de30910b78ec30d95135cc1c59ea73ee22d2ca170f8b9753f84da34c427f
+"std-env@npm:^4.0.0-rc.1":
+ version: 4.1.0
+ resolution: "std-env@npm:4.1.0"
+ checksum:
10c0/2e14b6b490db34cb969a48d9cf7c35bca4a47653914aac2814221baae7b867a5b15940d133625c391621971f98cd2266a5dc7036669960e883f1081db2a56558
languageName: node
linkType: hard
@@ -16953,10 +17361,10 @@ __metadata:
languageName: node
linkType: hard
-"tinyexec@npm:^0.3.2":
- version: 0.3.2
- resolution: "tinyexec@npm:0.3.2"
- checksum:
10c0/3efbf791a911be0bf0821eab37a3445c2ba07acc1522b1fa84ae1e55f10425076f1290f680286345ed919549ad67527d07281f1c19d584df3b74326909eb1f90
+"tinyexec@npm:^1.0.2":
+ version: 1.1.2
+ resolution: "tinyexec@npm:1.1.2"
+ checksum:
10c0/9e0ef6c001ce54688cf16833a02f70a339276219ca947b88930b124267de2cffc764ff44e87e7369384b1d75ab63491465412cbbdf06f2437956b9ab66ab4491
languageName: node
linkType: hard
@@ -16970,7 +17378,7 @@ __metadata:
languageName: node
linkType: hard
-"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.15":
+"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.15, tinyglobby@npm:^0.2.16":
version: 0.2.16
resolution: "tinyglobby@npm:0.2.16"
dependencies:
@@ -16994,7 +17402,7 @@ __metadata:
languageName: node
linkType: hard
-"tinyrainbow@npm:^3.0.3":
+"tinyrainbow@npm:^3.1.0":
version: 3.1.0
resolution: "tinyrainbow@npm:3.1.0"
checksum:
10c0/f11cf387a26c5c9255bec141a90ac511b26172981b10c3e50053bc6700ea7d2336edcc4a3a21dbb8412fe7c013477d2ba4d7e4877800f3f8107be5105aad6511
@@ -17049,6 +17457,13 @@ __metadata:
languageName: node
linkType: hard
+"totalist@npm:^3.0.0":
+ version: 3.0.1
+ resolution: "totalist@npm:3.0.1"
+ checksum:
10c0/4bb1fadb69c3edbef91c73ebef9d25b33bbf69afe1e37ce544d5f7d13854cda15e47132f3e0dc4cafe300ddb8578c77c50a65004d8b6e97e77934a69aa924863
+ languageName: node
+ linkType: hard
+
"tough-cookie@npm:^5.0.0":
version: 5.1.2
resolution: "tough-cookie@npm:5.1.2"
@@ -17594,7 +18009,7 @@ __metadata:
languageName: node
linkType: hard
-"vite@npm:7.3.2, vite@npm:^6.0.0 || ^7.0.0":
+"vite@npm:7.3.2":
version: 7.3.2
resolution: "vite@npm:7.3.2"
dependencies:
@@ -17649,44 +18064,104 @@ __metadata:
languageName: node
linkType: hard
-"vitest@npm:4.0.8":
- version: 4.0.8
- resolution: "vitest@npm:4.0.8"
- dependencies:
- "@vitest/expect": "npm:4.0.8"
- "@vitest/mocker": "npm:4.0.8"
- "@vitest/pretty-format": "npm:4.0.8"
- "@vitest/runner": "npm:4.0.8"
- "@vitest/snapshot": "npm:4.0.8"
- "@vitest/spy": "npm:4.0.8"
- "@vitest/utils": "npm:4.0.8"
- debug: "npm:^4.4.3"
- es-module-lexer: "npm:^1.7.0"
- expect-type: "npm:^1.2.2"
+"vite@npm:^6.0.0 || ^7.0.0 || ^8.0.0":
+ version: 8.0.11
+ resolution: "vite@npm:8.0.11"
+ dependencies:
+ fsevents: "npm:~2.3.3"
+ lightningcss: "npm:^1.32.0"
+ picomatch: "npm:^4.0.4"
+ postcss: "npm:^8.5.14"
+ rolldown: "npm:1.0.0-rc.18"
+ tinyglobby: "npm:^0.2.16"
+ peerDependencies:
+ "@types/node": ^20.19.0 || >=22.12.0
+ "@vitejs/devtools": ^0.1.18
+ esbuild: ^0.27.0 || ^0.28.0
+ jiti: ">=1.21.0"
+ less: ^4.0.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: ">=0.54.8"
+ sugarss: ^5.0.0
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ dependenciesMeta:
+ fsevents:
+ optional: true
+ peerDependenciesMeta:
+ "@types/node":
+ optional: true
+ "@vitejs/devtools":
+ optional: true
+ esbuild:
+ optional: true
+ jiti:
+ optional: true
+ less:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+ bin:
+ vite: bin/vite.js
+ checksum:
10c0/504ec6064761239e7063426dd123ea68cd540cb2d475bf72f5b1062313b9c79984831f56a20891ed5e08b2753d34171ee7a75cbadf9365e975d1f68634f0a10f
+ languageName: node
+ linkType: hard
+
+"vitest@npm:4.1.5":
+ version: 4.1.5
+ resolution: "vitest@npm:4.1.5"
+ dependencies:
+ "@vitest/expect": "npm:4.1.5"
+ "@vitest/mocker": "npm:4.1.5"
+ "@vitest/pretty-format": "npm:4.1.5"
+ "@vitest/runner": "npm:4.1.5"
+ "@vitest/snapshot": "npm:4.1.5"
+ "@vitest/spy": "npm:4.1.5"
+ "@vitest/utils": "npm:4.1.5"
+ es-module-lexer: "npm:^2.0.0"
+ expect-type: "npm:^1.3.0"
magic-string: "npm:^0.30.21"
+ obug: "npm:^2.1.1"
pathe: "npm:^2.0.3"
picomatch: "npm:^4.0.3"
- std-env: "npm:^3.10.0"
+ std-env: "npm:^4.0.0-rc.1"
tinybench: "npm:^2.9.0"
- tinyexec: "npm:^0.3.2"
+ tinyexec: "npm:^1.0.2"
tinyglobby: "npm:^0.2.15"
- tinyrainbow: "npm:^3.0.3"
- vite: "npm:^6.0.0 || ^7.0.0"
+ tinyrainbow: "npm:^3.1.0"
+ vite: "npm:^6.0.0 || ^7.0.0 || ^8.0.0"
why-is-node-running: "npm:^2.3.0"
peerDependencies:
"@edge-runtime/vm": "*"
- "@types/debug": ^4.1.12
+ "@opentelemetry/api": ^1.9.0
"@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0
- "@vitest/browser-playwright": 4.0.8
- "@vitest/browser-preview": 4.0.8
- "@vitest/browser-webdriverio": 4.0.8
- "@vitest/ui": 4.0.8
+ "@vitest/browser-playwright": 4.1.5
+ "@vitest/browser-preview": 4.1.5
+ "@vitest/browser-webdriverio": 4.1.5
+ "@vitest/coverage-istanbul": 4.1.5
+ "@vitest/coverage-v8": 4.1.5
+ "@vitest/ui": 4.1.5
happy-dom: "*"
jsdom: "*"
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
"@edge-runtime/vm":
optional: true
- "@types/debug":
+ "@opentelemetry/api":
optional: true
"@types/node":
optional: true
@@ -17696,15 +18171,21 @@ __metadata:
optional: true
"@vitest/browser-webdriverio":
optional: true
+ "@vitest/coverage-istanbul":
+ optional: true
+ "@vitest/coverage-v8":
+ optional: true
"@vitest/ui":
optional: true
happy-dom:
optional: true
jsdom:
optional: true
+ vite:
+ optional: false
bin:
vitest: vitest.mjs
- checksum:
10c0/9fa05e70168ef7098a4a441775024231faa12db2374429eeb1967e8338bd5a6a4cd25e555ac991d95d040544b42395a7425839324bb4ab124eaa80e5cf39db63
+ checksum:
10c0/196eaf5e95b45a3f6d3001a2408d7dc6f146c29c873ed4e42e1ad4c9327122934fb3793a12b6ce3b7c25d355e738b20123acc0894ce30358c3370b15f4bd0865
languageName: node
linkType: hard
@@ -18256,7 +18737,7 @@ __metadata:
languageName: node
linkType: hard
-"ws@npm:^8.18.0":
+"ws@npm:^8.18.0, ws@npm:^8.19.0":
version: 8.20.0
resolution: "ws@npm:8.20.0"
peerDependencies: