mirror of
https://github.com/callstack/agent-device.git
synced 2026-09-14 20:06:34 +08:00
9aa6465768
* perf(scripts): add a device-free PNG crop benchmark `pnpm bench:png-crop` runs the whole-image pipeline and the shipped region crop over the same bytes in one process, so the comparison holds the capture content, the deflate stream, and the machine fixed. The corpus is generated, which keeps a run at seconds with no device; real captures join the same table via `--file`, and each corpus entry prints its compressed size so an unrealistic corpus is visible. The README records what the measurements said, including the case the encoder policy loses: `None` on every scanline is faster everywhere but writes about 1.7x more bytes than a filtered encoding on smooth low-frequency content. * chore(gates): run the PNG crop benchmark's model tests in unit-core Registers scripts/png-crop-benchmark/*.test.ts so the timing summary that the report is built from stays covered without a device lane.
336 lines
20 KiB
JSON
336 lines
20 KiB
JSON
{
|
|
"name": "agent-device",
|
|
"version": "0.21.1",
|
|
"description": "Mobile app automation and verification for AI coding agents. CLI, MCP server, and typed Node.js API for iOS, Android, HarmonyOS, TV, web, macOS, and Linux.",
|
|
"mcpName": "io.github.callstack/agent-device",
|
|
"license": "MIT",
|
|
"author": "Callstack",
|
|
"homepage": "https://agent-device.dev/",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/callstack/agent-device.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/callstack/agent-device/issues"
|
|
},
|
|
"type": "module",
|
|
"packageManager": "pnpm@11.17.0",
|
|
"main": "dist/src/index.js",
|
|
"types": "dist/src/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/src/index.d.ts",
|
|
"import": "./dist/src/index.js"
|
|
},
|
|
"./io": {
|
|
"types": "./dist/src/io.d.ts",
|
|
"import": "./dist/src/io.js"
|
|
},
|
|
"./artifacts": {
|
|
"types": "./dist/src/artifacts.d.ts",
|
|
"import": "./dist/src/artifacts.js"
|
|
},
|
|
"./metro": {
|
|
"types": "./dist/src/metro.d.ts",
|
|
"import": "./dist/src/metro.js"
|
|
},
|
|
"./batch": {
|
|
"types": "./dist/src/batch.d.ts",
|
|
"import": "./dist/src/batch.js"
|
|
},
|
|
"./remote-config": {
|
|
"types": "./dist/src/remote-config.d.ts",
|
|
"import": "./dist/src/remote-config.js"
|
|
},
|
|
"./install-source": {
|
|
"types": "./dist/src/install-source.d.ts",
|
|
"import": "./dist/src/install-source.js"
|
|
},
|
|
"./android-adb": {
|
|
"types": "./dist/src/android-adb.d.ts",
|
|
"import": "./dist/src/android-adb.js"
|
|
},
|
|
"./limrun": {
|
|
"types": "./dist/src/limrun.d.ts",
|
|
"import": "./dist/src/limrun.js"
|
|
},
|
|
"./contracts": {
|
|
"types": "./dist/src/contracts.d.ts",
|
|
"import": "./dist/src/contracts.js"
|
|
},
|
|
"./selectors": {
|
|
"types": "./dist/src/selectors.d.ts",
|
|
"import": "./dist/src/selectors.js"
|
|
},
|
|
"./finders": {
|
|
"types": "./dist/src/finders.d.ts",
|
|
"import": "./dist/src/finders.js"
|
|
},
|
|
"./ai-sdk": {
|
|
"types": "./dist/src/ai-sdk.d.ts",
|
|
"import": "./dist/src/ai-sdk.js"
|
|
}
|
|
},
|
|
"engines": {
|
|
"node": ">=22.12"
|
|
},
|
|
"bin": {
|
|
"agent-device": "bin/agent-device.mjs"
|
|
},
|
|
"scripts": {
|
|
"build": "tsdown",
|
|
"clean:daemon": "node --experimental-strip-types scripts/clean-daemon.ts",
|
|
"daemon:state-dir": "node --experimental-strip-types scripts/print-daemon-state-dir.ts",
|
|
"explain:command": "node --experimental-strip-types scripts/explain-command.ts",
|
|
"clean:xcuitest": "node scripts/clean-xcuitest-derived.mjs",
|
|
"clean:xcuitest:ios": "node scripts/clean-xcuitest-derived.mjs ios",
|
|
"clean:xcuitest:macos": "node scripts/clean-xcuitest-derived.mjs macos",
|
|
"clean:xcuitest:tvos": "node scripts/clean-xcuitest-derived.mjs tvos",
|
|
"clean:xcuitest:visionos": "node scripts/clean-xcuitest-derived.mjs visionos",
|
|
"rebuild:cli": "pnpm build && pnpm clean:daemon",
|
|
"build:xcuitest": "pnpm build:xcuitest:ios && pnpm build:xcuitest:macos",
|
|
"build:xcuitest:ios": "AGENT_DEVICE_XCUITEST_PLATFORM=ios sh ./scripts/build-xcuitest-apple.sh",
|
|
"build:xcuitest:ios:clean": "pnpm clean:xcuitest:ios && pnpm build:xcuitest:ios",
|
|
"build:xcuitest:macos": "AGENT_DEVICE_XCUITEST_PLATFORM=macos sh ./scripts/build-xcuitest-apple.sh",
|
|
"build:xcuitest:macos:clean": "pnpm clean:xcuitest:macos && pnpm build:xcuitest:macos",
|
|
"build:xcuitest:tvos": "AGENT_DEVICE_XCUITEST_PLATFORM=tvos sh ./scripts/build-xcuitest-apple.sh",
|
|
"build:xcuitest:tvos:clean": "pnpm clean:xcuitest:tvos && pnpm build:xcuitest:tvos",
|
|
"build:xcuitest:visionos": "AGENT_DEVICE_XCUITEST_PLATFORM=visionos sh ./scripts/build-xcuitest-apple.sh",
|
|
"build:xcuitest:visionos:clean": "pnpm clean:xcuitest:visionos && pnpm build:xcuitest:visionos",
|
|
"build:android-snapshot-helper": "AGENT_DEVICE_ANDROID_HELPER=snapshot sh ./scripts/build-android-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper",
|
|
"package:android-snapshot-helper": "AGENT_DEVICE_ANDROID_HELPER=snapshot sh ./scripts/package-android-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") .tmp/android-snapshot-helper",
|
|
"package:android-snapshot-helper:npm": "rm -rf android/snapshot-helper/dist && AGENT_DEVICE_ANDROID_HELPER=snapshot sh ./scripts/package-android-helper.sh $(node -p \"require('./package.json').version\") v$(node -p \"require('./package.json').version\") android/snapshot-helper/dist",
|
|
"package:apple-runner:npm": "node scripts/package-apple-runner-source.mjs",
|
|
"build:android": "pnpm package:android-snapshot-helper:npm && pnpm package:android-ime-helper:npm",
|
|
"build:android-ime-helper": "AGENT_DEVICE_ANDROID_HELPER=ime sh ./scripts/build-android-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-ime-helper",
|
|
"package:android-ime-helper": "AGENT_DEVICE_ANDROID_HELPER=ime sh ./scripts/package-android-helper.sh $(node -p \"require('./package.json').version\") .tmp/android-ime-helper",
|
|
"package:android-ime-helper:npm": "rm -rf android/ime-helper/dist && AGENT_DEVICE_ANDROID_HELPER=ime sh ./scripts/package-android-helper.sh $(node -p \"require('./package.json').version\") android/ime-helper/dist",
|
|
"build:macos-helper": "node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift build -c release --package-path apple/macos-helper",
|
|
"build:macos-helper:clean": "node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift package --package-path apple/macos-helper clean && pnpm build:macos-helper",
|
|
"prepare:publish-assets": "node scripts/prepare-publish-assets.mjs",
|
|
"build:package": "pnpm build && pnpm build:xcuitest:ios && pnpm build:xcuitest:macos && pnpm build:xcuitest:tvos && pnpm build:xcuitest:visionos && pnpm build:macos-helper:clean && pnpm prepare:publish-assets",
|
|
"package:npm": "pnpm build:package && pnpm check:package",
|
|
"release:prepare": "node scripts/release-mark-dev.mjs --check-release-version && rm -rf .tmp/release && pnpm check:mcp-metadata && pnpm build:package && pnpm check:package -- --pack-destination .tmp/release",
|
|
"release:publish": "pnpm release:prepare && npm publish --ignore-scripts .tmp/release/*.tgz && pnpm release:mark-dev",
|
|
"release:mark-dev": "node scripts/release-mark-dev.mjs",
|
|
"ad": "node bin/agent-device.mjs",
|
|
"bench:help-conformance": "node scripts/help-conformance-bench.mjs",
|
|
"maestro:conformance": "node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/maestro-conformance/format-generated-json.test.mjs packages/maestro/test/conformance/verify.test.ts packages/maestro/test/conformance/differential/engine-process.test.ts packages/maestro/test/conformance/differential/report-output.test.ts packages/maestro/test/conformance/differential/run.test.ts packages/maestro/test/conformance/differential/invariants.test.ts",
|
|
"maestro:conformance:regenerate": "node --experimental-strip-types scripts/maestro-conformance/regenerate.mjs",
|
|
"maestro:conformance:differential": "node --experimental-strip-types packages/maestro/test/conformance/differential/run.ts",
|
|
"test:ios-snapshot-differential": "node --experimental-strip-types scripts/swift-toolchain-tmpdir.ts swift test --package-path apple/snapshot-presentation && node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/ios-snapshot-differential.test.ts",
|
|
"size": "node scripts/size-report.mjs",
|
|
"perf": "node --experimental-strip-types scripts/perf/run.ts",
|
|
"bench:ios-snapshot": "node --experimental-strip-types scripts/ios-snapshot-benchmark/run.ts",
|
|
"bench:ios-snapshot:deep-button": "node --experimental-strip-types scripts/ios-snapshot-benchmark/deep-button.ts",
|
|
"bench:ios-snapshot:evidence": "node --experimental-strip-types scripts/ios-snapshot-benchmark/evidence.ts",
|
|
"bench:png-crop": "node --experimental-strip-types scripts/png-crop-benchmark/run.ts",
|
|
"bench:ios-ax-bridge:targeted": "node --experimental-strip-types scripts/ios-ax-bridge-spike/targeted-run.ts",
|
|
"mutation:run": "node --experimental-strip-types scripts/mutation/run.ts",
|
|
"mutation:check": "node --experimental-strip-types scripts/mutation/run.ts --no-run",
|
|
"mutation:affected": "node --experimental-strip-types scripts/mutation/run.ts --affected",
|
|
"mutation:test": "node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/mutation/*.test.ts",
|
|
"lint": "oxlint . --deny-warnings",
|
|
"format": "node ./node_modules/oxfmt/bin/oxfmt --write",
|
|
"format:check": "node ./node_modules/oxfmt/bin/oxfmt --check",
|
|
"fuzz:parsers": "node --experimental-strip-types scripts/fuzz/run.ts",
|
|
"fallow:all": "fallow --summary",
|
|
"fallow:baseline": "fallow dead-code --save-baseline fallow-baselines/dead-code.json --summary && fallow health --report-only --save-baseline fallow-baselines/health.json --summary",
|
|
"check:fallow": "fallow audit",
|
|
"check:affected": "node --experimental-strip-types scripts/check-affected/run.ts",
|
|
"check:affected:test": "node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/check-affected/model.test.ts scripts/check-affected/platform-packages.test.ts scripts/check-affected/device-lanes.test.ts scripts/check-affected/lockfile-install-sync.test.ts scripts/check-affected/run.test.ts",
|
|
"gate": "node --experimental-strip-types scripts/gate/run.ts",
|
|
"check:gate-manifest": "node --experimental-strip-types scripts/gate/check.ts",
|
|
"check:gate-manifest:test": "node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/gate/*.test.ts",
|
|
"check:coverage-changed": "node --experimental-strip-types scripts/coverage-changed/run.ts",
|
|
"check:coverage-changed:test": "node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/coverage-changed/model.test.ts scripts/coverage-changed/run.test.ts",
|
|
"check:layering": "node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/layering/*.test.ts && node --experimental-strip-types scripts/layering/check.ts",
|
|
"check:di-seams": "node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/di-seams/*.test.ts && node --experimental-strip-types scripts/di-seams/check.ts",
|
|
"depgraph": "node --experimental-strip-types scripts/depgraph/build.ts",
|
|
"depgraph:test": "node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/depgraph/model.test.ts scripts/depgraph/affected.test.ts",
|
|
"check:production-exports": "fallow dead-code --config fallow-production-exports.json --production --unused-exports --fail-on-issues",
|
|
"check:bundle-owner-files": "node --experimental-strip-types scripts/check-bundle-owner-files.ts",
|
|
"check:package": "node --experimental-strip-types scripts/check-package.ts",
|
|
"check:command-docs": "vitest run --project unit-core src/__tests__/command-doc-coverage.test.ts",
|
|
"check:agent-guidance": "node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/__tests__/agent-guidance-contract.test.ts",
|
|
"check:replay-compat": "node --experimental-strip-types scripts/check-replay-compat-provenance.ts",
|
|
"check:daemon-wire-compat": "node --experimental-strip-types scripts/wire-compat/run.ts",
|
|
"check:daemon-wire-compat:test": "node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/wire-compat/model.test.ts",
|
|
"check:xctest-selection": "node --experimental-strip-types scripts/check-xctest-selection.ts",
|
|
"check:packaged-runner-swift": "node --experimental-strip-types scripts/check-packaged-runner-swift.ts",
|
|
"check:tmpdir-leaks": "node --experimental-strip-types scripts/check-tmpdir-leaks.ts",
|
|
"check:tmpdir-leaks:test": "node --experimental-strip-types scripts/node-test-tmpdir.ts --experimental-strip-types --test scripts/check-tmpdir-leaks-model.test.ts scripts/vitest-tmpdir-global-setup.test.ts scripts/node-test-tmpdir.test.ts scripts/swift-toolchain-tmpdir.test.ts",
|
|
"check:freerange": "fr",
|
|
"check:quick": "pnpm lint && pnpm typecheck",
|
|
"sync:mcp-metadata": "node scripts/sync-mcp-metadata.mjs",
|
|
"check:mcp-metadata": "node scripts/sync-mcp-metadata.mjs --check",
|
|
"version": "pnpm sync:mcp-metadata && git add server.json",
|
|
"check:tooling": "pnpm format:check && pnpm lint && pnpm typecheck && pnpm check:layering && pnpm depgraph:test && pnpm check:gate-manifest:test && pnpm check:gate-manifest && pnpm check:production-exports && pnpm check:tmpdir-leaks:test && pnpm check:xctest-selection && pnpm check:packaged-runner-swift && pnpm check:mcp-metadata && pnpm build && pnpm check:bundle-owner-files && pnpm check:package",
|
|
"check:unit": "pnpm test:unit && pnpm check:tmpdir-leaks && pnpm test:smoke",
|
|
"check": "pnpm check:tooling && pnpm check:fallow && pnpm check:unit",
|
|
"prepack": "pnpm check:mcp-metadata && pnpm package:npm",
|
|
"typecheck": "tsc -b packages/xml packages/kernel packages/contracts packages/device-selection packages/host-kit packages/capture-kit packages/managed-allocation packages/provision-kit packages/platform-apple packages/platform-android packages/platform-harmonyos packages/platform-vega packages/platform-linux packages/platform-web packages/ad-script packages/selectors packages/command-registry packages/session-journal packages/ad-replay packages/maestro packages/replay-test packages/provider-webdriver packages/provider-limrun && tsc -p tsconfig.json && tsc -p examples/sdk/tsconfig.json",
|
|
"test-app:install": "pnpm install --dir examples/test-app",
|
|
"test-app:start": "pnpm --dir examples/test-app start",
|
|
"test-app:ios": "pnpm --dir examples/test-app ios",
|
|
"test-app:android": "pnpm --dir examples/test-app android",
|
|
"test-app:typecheck": "pnpm --dir examples/test-app typecheck",
|
|
"test-app:security": "pnpm --dir examples/test-app security:test",
|
|
"test-app:replay:ios": "pnpm ad test examples/test-app/replays --platform ios --artifacts-dir .tmp/test-app-replay/ios",
|
|
"test-app:replay:android": "pnpm ad test examples/test-app/replays --platform android --artifacts-dir .tmp/test-app-replay/android",
|
|
"test-app:maestro": "node scripts/run-test-app-maestro-suite.mjs",
|
|
"test-app:maestro:ios": "pnpm test-app:maestro --platform ios",
|
|
"test-app:maestro:android": "pnpm test-app:maestro --platform android",
|
|
"test": "pnpm test:unit",
|
|
"test:unit": "vitest run --project unit-core --project fuzz-worker",
|
|
"test:maestro-compat": "vitest run --project unit-core packages/maestro src/daemon/adapters/maestro src/compat/__tests__/replay-input.test.ts",
|
|
"test:coverage": "vitest run --coverage --project=!fuzz-worker && pnpm test:fuzz-worker",
|
|
"test:coverage:ci": "vitest run --coverage --project=!fuzz-worker && pnpm test:fuzz-worker",
|
|
"test:fuzz-worker": "vitest run --project fuzz-worker",
|
|
"test:integration:provider": "vitest run --project provider-integration",
|
|
"test:integration:progress": "node --experimental-strip-types scripts/integration-progress.ts",
|
|
"test:integration:progress:check": "node --experimental-strip-types scripts/integration-progress.ts --check",
|
|
"test:fixture-cache": "node --experimental-strip-types scripts/node-test-tmpdir.ts --test test/ci/trusted-fixture-artifact.test.mjs",
|
|
"test:fixture-fallback": "sh ./test/scripts/setup-fixture-app-fallback-smoke.sh",
|
|
"test:output-economy": "vitest run --project output-economy",
|
|
"test:smoke:web": "pnpm build && node --experimental-strip-types scripts/node-test-tmpdir.ts --test test/integration/smoke-web-platform.test.ts",
|
|
"test:smoke": "node --experimental-strip-types scripts/node-test-tmpdir.ts --test test/integration/smoke-*.test.ts",
|
|
"test:integration:node": "node --experimental-strip-types scripts/node-test-tmpdir.ts --test --experimental-test-isolation=none test/integration/*.test.ts",
|
|
"test:integration:macos-coverage": "node --experimental-strip-types scripts/node-test-tmpdir.ts --test test/integration/smoke-macos-coverage.test.ts",
|
|
"test:integration": "pnpm test:integration:node && pnpm test:integration:provider",
|
|
"test:concurrency-torture": "node --experimental-strip-types scripts/node-test-tmpdir.ts --test test/integration/nightly/concurrency-torture.test.ts",
|
|
"test:replay:ios": "node --experimental-strip-types src/bin.ts test test/integration/replays/ios/simulator",
|
|
"test:replay:ios-device": "node --experimental-strip-types src/bin.ts test test/integration/replays/ios/device",
|
|
"test:replay:android": "node --experimental-strip-types src/bin.ts test test/integration/replays/android/emulator",
|
|
"test:replay:macos": "node --experimental-strip-types src/bin.ts test test/integration/replays/macos",
|
|
"test:replay:linux": "node --experimental-strip-types src/bin.ts test test/integration/replays/linux",
|
|
"test:linux:command-evidence": "node --experimental-strip-types test/integration/linux-e2e/live-runner.ts"
|
|
},
|
|
"files": [
|
|
"bin",
|
|
"dist",
|
|
"apple/macos-helper",
|
|
"!apple/macos-helper/**/.build",
|
|
"apple/snapshot-bridge",
|
|
"android/snapshot-helper/dist",
|
|
"!android/snapshot-helper/dist/*.idsig",
|
|
"!android/snapshot-helper/README.md",
|
|
"android/ime-helper/dist",
|
|
"!android/ime-helper/dist/*.idsig",
|
|
"!android/ime-helper/README.md",
|
|
"linux/atspi-dump.py",
|
|
"server.json",
|
|
"smithery.yaml",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"keywords": [
|
|
"agent",
|
|
"device",
|
|
"cli",
|
|
"automation",
|
|
"adb",
|
|
"simctl",
|
|
"devicectl",
|
|
"ios",
|
|
"android",
|
|
"tvos",
|
|
"macos",
|
|
"web",
|
|
"browser",
|
|
"react-native",
|
|
"observability",
|
|
"diagnostics",
|
|
"network",
|
|
"profiling",
|
|
"performance",
|
|
"mcp",
|
|
"model-context-protocol",
|
|
"mcp-server",
|
|
"ai-agent",
|
|
"mobile-automation",
|
|
"ios-simulator",
|
|
"android-emulator",
|
|
"xcuitest",
|
|
"e2e-testing",
|
|
"cursor",
|
|
"claude-code",
|
|
"expo",
|
|
"mobile-testing",
|
|
"qa-automation",
|
|
"ai-testing",
|
|
"ios-automation",
|
|
"android-automation",
|
|
"simulator",
|
|
"emulator",
|
|
"appium",
|
|
"maestro",
|
|
"detox"
|
|
],
|
|
"peerDependencies": {
|
|
"ai": "^6.0.0 || ^7.0.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"ai": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"devDependencies": {
|
|
"@agent-device/ad-replay": "workspace:*",
|
|
"@agent-device/ad-script": "workspace:*",
|
|
"@agent-device/capture-kit": "workspace:*",
|
|
"@agent-device/command-registry": "workspace:*",
|
|
"@agent-device/contracts": "workspace:*",
|
|
"@agent-device/device-selection": "workspace:*",
|
|
"@agent-device/host-kit": "workspace:*",
|
|
"@agent-device/kernel": "workspace:*",
|
|
"@agent-device/managed-allocation": "workspace:*",
|
|
"@agent-device/maestro": "workspace:*",
|
|
"@agent-device/platform-android": "workspace:*",
|
|
"@agent-device/platform-apple": "workspace:*",
|
|
"@agent-device/platform-harmonyos": "workspace:*",
|
|
"@agent-device/platform-linux": "workspace:*",
|
|
"@agent-device/platform-vega": "workspace:*",
|
|
"@agent-device/platform-web": "workspace:*",
|
|
"@agent-device/provider-limrun": "workspace:*",
|
|
"@agent-device/provider-webdriver": "workspace:*",
|
|
"@agent-device/provision-kit": "workspace:*",
|
|
"@agent-device/replay-test": "workspace:*",
|
|
"@agent-device/selectors": "workspace:*",
|
|
"@agent-device/session-journal": "workspace:*",
|
|
"@agent-device/xml": "workspace:*",
|
|
"@arethetypeswrong/cli": "^0.18.5",
|
|
"@chenglou/freerange": "^0.0.4",
|
|
"@limrun/api": "^0.24.5",
|
|
"@nkzw/eslint-plugin": "^2.0.0",
|
|
"@nkzw/oxlint-config": "^1.3.0",
|
|
"@stryker-mutator/core": "10.0.0",
|
|
"@stryker-mutator/vitest-runner": "10.0.0",
|
|
"@types/json-schema": "^7.0.15",
|
|
"@types/node": "^22.20.1",
|
|
"@types/pngjs": "^6.0.5",
|
|
"@types/tar-stream": "^3.1.4",
|
|
"@types/yauzl": "^3.4.0",
|
|
"@vitest/coverage-v8": "4.1.11",
|
|
"ai": "^7.0.68",
|
|
"eslint-plugin-no-only-tests": "^3.4.0",
|
|
"eslint-plugin-perfectionist": "^5.10.1",
|
|
"fallow": "^2.104.0",
|
|
"fast-check": "^4.9.0",
|
|
"ipaddr.js": "^2.5.0",
|
|
"oxc-parser": "^0.146.0",
|
|
"oxfmt": "^0.64.0",
|
|
"oxlint": "^1.79.0",
|
|
"pngjs": "^7.0.0",
|
|
"publint": "^0.3.24",
|
|
"tar-stream": "^3.2.0",
|
|
"tsdown": "^0.22.14",
|
|
"typescript": "^7.0.2",
|
|
"undici": "7.29.0",
|
|
"vite": "^8.2.1",
|
|
"vitest": "^4.1.11",
|
|
"yaml": "^2.9.0",
|
|
"yauzl": "^3.4.0"
|
|
}
|
|
}
|