{ "name": "kicad-wasm-tests", "version": "1.0.0", "description": "Playwright tests for wxWidgets WASM and KiCad", "scripts": { "test": "npm run test:wx && npm run test:asyncify:firefox", "test:wx": "playwright test", "test:ui": "playwright test --ui", "test:headed": "playwright test --headed", "build-wasm": "cd apps && make -f Makefile.wasm", "build:collab": "node collab/build.mjs", "serve": "npx serve apps -p 8080 -c ../serve.json", "setup:kicad": "./scripts/setup-kicad-wasm.sh", "test:web": "npm run setup:kicad && playwright test --config=playwright-web.config.ts --project=firefox", "test:web:headed": "npm run setup:kicad && playwright test --config=playwright-web.config.ts --project=chromium --headed", "test:web:mobile": "npm run setup:kicad && playwright test --config=playwright-web.config.ts --project=mobile-chromium --headed", "test:kicad:firefox": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=firefox", "test:kicad:chrome": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=chromium --headed", "test:kicad": "npm run test:kicad:firefox", "test:kicad:ci": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=firefox --project=chromium-ci", "test:kicad:headed": "npm run test:kicad:chrome", "test:perf": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=perf --workers=1", "test:pcbnew:firefox": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=firefox kicad/pcbnew.spec.ts", "test:pcbnew:chrome": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=chromium --headed kicad/pcbnew.spec.ts", "test:eeschema:firefox": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=firefox kicad/eeschema.spec.ts", "test:eeschema:chrome": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=chromium --headed kicad/eeschema.spec.ts", "test:eeschema": "npm run test:eeschema:firefox", "test:eeschema:headed": "npm run test:eeschema:chrome", "test:calculator:firefox": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=firefox kicad/calculator.spec.ts", "test:calculator:chrome": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=chromium --headed kicad/calculator.spec.ts", "test:calculator": "npm run test:calculator:firefox", "test:calculator:headed": "npm run test:calculator:chrome", "test:symbol_editor:firefox": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=firefox kicad/symbol_editor.spec.ts", "test:symbol_editor:chrome": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=chromium --headed kicad/symbol_editor.spec.ts", "test:symbol_editor": "npm run test:symbol_editor:firefox", "test:symbol_editor:headed": "npm run test:symbol_editor:chrome", "test:gerbview:firefox": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=firefox kicad/gerbview.spec.ts", "test:gerbview:chrome": "npm run setup:kicad && playwright test --config=playwright-kicad.config.ts --project=chromium --headed kicad/gerbview.spec.ts", "test:gerbview": "npm run test:gerbview:firefox", "test:gerbview:headed": "npm run test:gerbview:chrome", "test:coroutine:firefox": "playwright test --config=playwright-coroutine.config.ts --project=firefox", "test:coroutine:chrome": "playwright test --config=playwright-coroutine.config.ts --project=chromium --headed", "test:asyncify:firefox": "playwright test --config=playwright-asyncify.config.ts --project=firefox", "test:asyncify:chrome": "playwright test --config=playwright-asyncify.config.ts --project=chromium --headed", "test:asyncify:safari": "playwright test --config=playwright-asyncify.config.ts --project=webkit", "test:asyncify:all": "npm run test:asyncify:firefox && npm run test:asyncify:safari && npm run test:asyncify:chrome", "corpus:lint": "tsx tools/corpus-lint.ts", "lint:determinism": "tsx tools/lint-determinism.ts", "screenshots:check": "tsx tools/screenshots/compare.ts", "screenshots:promote": "tsx tools/screenshots/promote.ts", "screenshots:noise": "tsx tools/screenshots/noise.ts", "screenshots:report": "tsx tools/screenshots/post-discord.ts", "screenshots:changelog": "tsx tools/screenshots/changelog.ts", "screenshots:manifest": "tsx tools/screenshots/gen-manifest.ts", "3d:compare": "tsx tools/screenshots/compare-dirs.ts", "3d:check": "tsx tools/screenshots/compare-dirs.ts --old 3d-regression/baseline --new 3d-regression/output/native --out 3d-regression/output/diff/native-self --floors 3d-regression/floors.json --level native-self --label 3d-native --fail-on-change", "3d:check:webgl": "tsx tools/screenshots/compare-dirs.ts --old 3d-regression/baseline-webgl --new 3d-regression/output/webgl --out 3d-regression/output/diff/webgl-self --floors 3d-regression/floors.json --level webgl-self --label 3d-webgl --fail-on-change", "3d:check:parity": "tsx tools/screenshots/compare-dirs.ts --old 3d-regression/baseline --new 3d-regression/output/webgl --out 3d-regression/output/diff/parity --floors 3d-regression/floors.json --level webgl-vs-native --label 3d-parity", "3d:review": "tsx tools/screenshots/compare-dirs.ts --old 3d-regression/baseline --new 3d-regression/output/webgl --out 3d-regression/output/diff/parity-review --floors 3d-regression/floors.json --level webgl-vs-native --label 3d-parity --artifacts always", "3d:test:webgl": "playwright test e2e/3d-webgl.spec.ts", "tools:contract": "tsx tools/cli-contract.ts" }, "devDependencies": { "@playwright/test": "^1.40.0", "@types/node": "^24.10.1", "@types/pixelmatch": "^5.2.6", "@types/pngjs": "^6.0.5", "esbuild": "^0.28.0", "pixelmatch": "^5.3.0", "pngjs": "^7.0.0", "serve": "^14.2.0", "tsx": "^4.22.4", "typescript": "^5.9.3", "yjs": "^13.6.31" } }