{"_id":"@aperture-engine/vite-plugin","_rev":"3-b899896148dbc45d7308b4ee2842c04c","name":"@aperture-engine/vite-plugin","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@aperture-engine/vite-plugin","version":"0.1.0","keywords":["aperture","ecs","webgpu","game-engine","typescript","vite","vite-plugin"],"author":{"name":"Felix Zhang"},"license":"MIT","_id":"@aperture-engine/vite-plugin@0.1.0","maintainers":[{"name":"felixtrz","email":"felixtrz96@gmail.com"}],"homepage":"https://github.com/felixtrz/aperture/tree/main/packages/vite-plugin#readme","bugs":{"url":"https://github.com/felixtrz/aperture/issues"},"dist":{"shasum":"f936ea941ddbfc0a47d948752715e39096b826b4","tarball":"https://registry.npmjs.org/@aperture-engine/vite-plugin/-/vite-plugin-0.1.0.tgz","fileCount":35,"integrity":"sha512-c9GMxs6syqGi0itL0UaXnsduVIGm1YZ+TubZT6nTPF6wRR3iEpmit2lfFXpIB7jif18cEjEmxBi0jMyNXpkp9A==","signatures":[{"sig":"MEYCIQDTzstI3SsNo/P1Oe9ewFacekNToM/1aKkciFTaKZs4fQIhAKtx8pB/TnvmPuwQWqAb8nmfMI7poDBAlLxLyYVAl0DX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121435},"main":"./dist/index.js","type":"module","_from":"file:aperture-engine-vite-plugin-0.1.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"felixtrz","email":"felixtrz96@gmail.com"},"_resolved":"/private/var/folders/xc/nttyc9pj3xngmbjsfbgdbddc0000gn/T/6276f4988f925fabd1605adb4e3d5a43/aperture-engine-vite-plugin-0.1.0.tgz","_integrity":"sha512-c9GMxs6syqGi0itL0UaXnsduVIGm1YZ+TubZT6nTPF6wRR3iEpmit2lfFXpIB7jif18cEjEmxBi0jMyNXpkp9A==","repository":{"url":"git+https://github.com/felixtrz/aperture.git","type":"git","directory":"packages/vite-plugin"},"_npmVersion":"11.12.1","description":"Vite integration for Aperture config, worker system discovery, and generated browser bootstrap.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"typescript":"^6.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@aperture-engine/app":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin_0.1.0_1782151630355_0.5007452864244879","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aperture-engine/vite-plugin","version":"0.2.0","keywords":["aperture","ecs","webgpu","game-engine","typescript","vite","vite-plugin"],"author":{"name":"Felix Zhang"},"license":"MIT","_id":"@aperture-engine/vite-plugin@0.2.0","maintainers":[{"name":"felixtrz","email":"felixtrz96@gmail.com"}],"homepage":"https://github.com/felixtrz/aperture/tree/main/packages/vite-plugin#readme","bugs":{"url":"https://github.com/felixtrz/aperture/issues"},"dist":{"shasum":"ab2a9fc8211f555d6698274c04bec9722ce4ae38","tarball":"https://registry.npmjs.org/@aperture-engine/vite-plugin/-/vite-plugin-0.2.0.tgz","fileCount":35,"integrity":"sha512-zA09RCGdsz2U6wJxczN0nfZhwB/iZPeH0JeBrVYcRvWgYhuM78DM22d+a4lvDDYaVZsUhr1QNvIrDYcuGkdZEA==","signatures":[{"sig":"MEYCIQD1mkndhmMFK1dAD3Dv47N2UJEKi1dZp9szdtcnux1aRgIhAK6AsdUgeiL2mVAikjtCjy0ww23rKQsXTsqqA4IZf7bB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121435},"main":"./dist/index.js","type":"module","_from":"file:aperture-engine-vite-plugin-0.2.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"felixtrz","email":"felixtrz96@gmail.com"},"_resolved":"/private/var/folders/xc/nttyc9pj3xngmbjsfbgdbddc0000gn/T/93be9a31d609fbd3708c71e6deb6a5c1/aperture-engine-vite-plugin-0.2.0.tgz","_integrity":"sha512-zA09RCGdsz2U6wJxczN0nfZhwB/iZPeH0JeBrVYcRvWgYhuM78DM22d+a4lvDDYaVZsUhr1QNvIrDYcuGkdZEA==","repository":{"url":"git+https://github.com/felixtrz/aperture.git","type":"git","directory":"packages/vite-plugin"},"_npmVersion":"11.12.1","description":"Vite integration for Aperture config, worker system discovery, and generated browser bootstrap.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"typescript":"^6.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@aperture-engine/app":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin_0.2.0_1782246147026_0.9326809439796389","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aperture-engine/vite-plugin","version":"0.3.0","description":"Vite integration for Aperture config, worker system discovery, and generated browser bootstrap.","author":{"name":"Felix Zhang"},"repository":{"type":"git","url":"git+https://github.com/felixtrz/aperture.git","directory":"packages/vite-plugin"},"homepage":"https://github.com/felixtrz/aperture/tree/main/packages/vite-plugin#readme","bugs":{"url":"https://github.com/felixtrz/aperture/issues"},"keywords":["aperture","ecs","webgpu","game-engine","typescript","vite","vite-plugin"],"type":"module","license":"MIT","sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"main":"./dist/index.js","types":"./dist/index.d.ts","publishConfig":{"access":"public"},"dependencies":{"typescript":"^6.0.3"},"peerDependencies":{"@aperture-engine/app":"^0.3.0"},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit -p tsconfig.json"},"_id":"@aperture-engine/vite-plugin@0.3.0","_integrity":"sha512-huTr/bq6rBM4NhBeoHKlNjHYO4+twnppKuwez3IAAlO5aybFA2svs3T4ju0hUi4kt7PC1sULycTqrPGeI6osrg==","_resolved":"/private/var/folders/xc/nttyc9pj3xngmbjsfbgdbddc0000gn/T/53ed9693e73e3b02d1ec22367671aa37/aperture-engine-vite-plugin-0.3.0.tgz","_from":"file:aperture-engine-vite-plugin-0.3.0.tgz","_nodeVersion":"26.0.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-huTr/bq6rBM4NhBeoHKlNjHYO4+twnppKuwez3IAAlO5aybFA2svs3T4ju0hUi4kt7PC1sULycTqrPGeI6osrg==","shasum":"18a8b413035f97007b768c0e62494b6f906d6c8f","tarball":"https://registry.npmjs.org/@aperture-engine/vite-plugin/-/vite-plugin-0.3.0.tgz","fileCount":35,"unpackedSize":147526,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB9h/8bS4WG28Z6Sr4rdT8yF+P+XdtcD0zOzKZtv5uFeAiAw5PLBUSWxSLMNg80ytGFCacMT1JhvJ4+H7dXeEprtgQ=="}]},"_npmUser":{"name":"felixtrz","email":"felixtrz96@gmail.com"},"directories":{},"maintainers":[{"name":"felixtrz","email":"felixtrz96@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vite-plugin_0.3.0_1783122765290_0.8003846503122125"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-22T18:07:10.165Z","modified":"2026-07-03T23:52:45.586Z","0.1.0":"2026-06-22T18:07:10.514Z","0.2.0":"2026-06-23T20:22:27.170Z","0.3.0":"2026-07-03T23:52:45.462Z"},"bugs":{"url":"https://github.com/felixtrz/aperture/issues"},"author":{"name":"Felix Zhang"},"license":"MIT","homepage":"https://github.com/felixtrz/aperture/tree/main/packages/vite-plugin#readme","keywords":["aperture","ecs","webgpu","game-engine","typescript","vite","vite-plugin"],"repository":{"type":"git","url":"git+https://github.com/felixtrz/aperture.git","directory":"packages/vite-plugin"},"description":"Vite integration for Aperture config, worker system discovery, and generated browser bootstrap.","maintainers":[{"name":"felixtrz","email":"felixtrz96@gmail.com"}],"readme":"# @aperture-engine/vite-plugin\n\nVite integration for the Aperture engine: loads your `aperture.config.ts`, discovers worker systems, and generates the browser bootstrap.\n\n## Install\n\n```sh\npnpm add @aperture-engine/vite-plugin\n```\n\nThis package is part of the [Aperture](https://github.com/felixtrz/aperture) WebGPU game engine and is normally used together with the other `@aperture-engine/*` packages (it has `@aperture-engine/app` as a peer dependency).\n\n## What it does\n\nAdd the `aperture()` plugin to your Vite config and it wires up an Aperture app end to end. On `configResolved` it generates ambient action types from your config into `.aperture/generated/aperture-env.d.ts`. It resolves and loads a set of `virtual:aperture/*` modules (config, system manifest, worker systems, worker entry, browser entry), discovers your `*.system.ts` modules and orders them by `createSystem` descriptor priority, and injects the generated browser entry `<script>` into your HTML. In dev mode it also registers an AI devtools bridge over the dev server (opt out with `ai: { mode: \"off\" }`).\n\n## Usage\n\n```ts\n// vite.config.ts\nimport { defineConfig } from \"vite\";\nimport { aperture } from \"@aperture-engine/vite-plugin\";\n\nexport default defineConfig({\n  plugins: [\n    aperture({\n      // configFile: \"aperture.config.ts\", // optional, defaults to project root\n      // ai: { mode: \"off\" },              // optional, disables the dev devtools bridge\n    }),\n  ],\n});\n```\n\nThe plugin reads `aperture.config.ts` from the project root by default. No further setup is required; the browser entry script is injected into your `index.html` automatically.\n\nThe package also exports building blocks used by the plugin, in case you want to drive discovery or codegen yourself:\n\n- `createApertureSystemManifest` / `ApertureSystemManifest` — discover and order `*.system.ts` modules.\n- `createApertureGeneratedActionTypes` / `writeApertureGeneratedActionTypes` — generate ambient input-action types from a config.\n- `APERTURE_VITE_DEVTOOLS_WS_CHANNEL` / `ApertureViteDevServer` — the dev devtools bridge channel and server type.\n\n## Entry points\n\n| Subpath                        | Description                                                   |\n| ------------------------------ | ------------------------------------------------------------- |\n| `@aperture-engine/vite-plugin` | The `aperture()` plugin factory and supporting types/helpers. |\n\n## License\n\nPart of the [Aperture monorepo](https://github.com/felixtrz/aperture). MIT licensed.\n","readmeFilename":"README.md"}