UNPKG

ecspresso

Version:

A minimal Entity-Component-System library for typescript and javascript.

235 lines (234 loc) 7.62 kB
{ "name": "ecspresso", "version": "0.18.0", "main": "dist/index.js", "module": "dist/index.js", "types": "dist/index.d.ts", "homepage": "https://DeeGeeGames.github.io/ecspresso/", "description": "A minimal Entity-Component-System library for typescript and javascript.", "sideEffects": false, "exports": { ".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" }, "./plugins/spatial/transform": { "import": "./dist/plugins/spatial/transform.js", "types": "./dist/plugins/spatial/transform.d.ts" }, "./plugins/spatial/bounds": { "import": "./dist/plugins/spatial/bounds.js", "types": "./dist/plugins/spatial/bounds.d.ts" }, "./plugins/spatial/camera": { "import": "./dist/plugins/spatial/camera.js", "types": "./dist/plugins/spatial/camera.d.ts" }, "./plugins/spatial/camera3D": { "import": "./dist/plugins/spatial/camera3D.js", "types": "./dist/plugins/spatial/camera3D.d.ts" }, "./plugins/spatial/transform3D": { "import": "./dist/plugins/spatial/transform3D.js", "types": "./dist/plugins/spatial/transform3D.d.ts" }, "./plugins/isometric/projection": { "import": "./dist/plugins/isometric/projection.js", "types": "./dist/plugins/isometric/projection.d.ts" }, "./plugins/isometric/depth-sort": { "import": "./dist/plugins/isometric/depth-sort.js", "types": "./dist/plugins/isometric/depth-sort.d.ts" }, "./plugins/spatial/spatial-index": { "import": "./dist/plugins/spatial/spatial-index.js", "types": "./dist/plugins/spatial/spatial-index.d.ts" }, "./plugins/spatial/spatial-index3D": { "import": "./dist/plugins/spatial/spatial-index3D.js", "types": "./dist/plugins/spatial/spatial-index3D.d.ts" }, "./plugins/physics/physics2D": { "import": "./dist/plugins/physics/physics2D.js", "types": "./dist/plugins/physics/physics2D.d.ts" }, "./plugins/physics/collision": { "import": "./dist/plugins/physics/collision.js", "types": "./dist/plugins/physics/collision.d.ts" }, "./plugins/physics/collision3D": { "import": "./dist/plugins/physics/collision3D.js", "types": "./dist/plugins/physics/collision3D.d.ts" }, "./plugins/physics/physics3D": { "import": "./dist/plugins/physics/physics3D.js", "types": "./dist/plugins/physics/physics3D.d.ts" }, "./plugins/physics/steering": { "import": "./dist/plugins/physics/steering.js", "types": "./dist/plugins/physics/steering.d.ts" }, "./plugins/rendering/renderer2D": { "import": "./dist/plugins/rendering/renderer2D.js", "types": "./dist/plugins/rendering/renderer2D.d.ts" }, "./plugins/rendering/renderer3D": { "import": "./dist/plugins/rendering/renderer3D.js", "types": "./dist/plugins/rendering/renderer3D.d.ts" }, "./plugins/rendering/particles": { "import": "./dist/plugins/rendering/particles.js", "types": "./dist/plugins/rendering/particles.d.ts" }, "./plugins/rendering/sprite-animation": { "import": "./dist/plugins/rendering/sprite-animation.js", "types": "./dist/plugins/rendering/sprite-animation.d.ts" }, "./plugins/rendering/tilemap": { "import": "./dist/plugins/rendering/tilemap.js", "types": "./dist/plugins/rendering/tilemap.d.ts" }, "./plugins/input/input": { "import": "./dist/plugins/input/input.js", "types": "./dist/plugins/input/input.d.ts" }, "./plugins/input/selection": { "import": "./dist/plugins/input/selection.js", "types": "./dist/plugins/input/selection.d.ts" }, "./plugins/scripting/coroutine": { "import": "./dist/plugins/scripting/coroutine.js", "types": "./dist/plugins/scripting/coroutine.d.ts" }, "./plugins/scripting/timers": { "import": "./dist/plugins/scripting/timers.js", "types": "./dist/plugins/scripting/timers.d.ts" }, "./plugins/scripting/state-machine": { "import": "./dist/plugins/scripting/state-machine.js", "types": "./dist/plugins/scripting/state-machine.d.ts" }, "./plugins/scripting/tween": { "import": "./dist/plugins/scripting/tween.js", "types": "./dist/plugins/scripting/tween.d.ts" }, "./plugins/audio/audio": { "import": "./dist/plugins/audio/audio.js", "types": "./dist/plugins/audio/audio.d.ts" }, "./plugins/debug/diagnostics": { "import": "./dist/plugins/debug/diagnostics.js", "types": "./dist/plugins/debug/diagnostics.d.ts" }, "./plugins/ai/detection": { "import": "./dist/plugins/ai/detection.js", "types": "./dist/plugins/ai/detection.d.ts" }, "./plugins/ai/flocking": { "import": "./dist/plugins/ai/flocking.js", "types": "./dist/plugins/ai/flocking.d.ts" }, "./plugins/ai/behavior-tree": { "import": "./dist/plugins/ai/behavior-tree.js", "types": "./dist/plugins/ai/behavior-tree.d.ts" }, "./plugins/ai/pathfinding": { "import": "./dist/plugins/ai/pathfinding.js", "types": "./dist/plugins/ai/pathfinding.d.ts" }, "./plugins/combat/health": { "import": "./dist/plugins/combat/health.js", "types": "./dist/plugins/combat/health.d.ts" }, "./plugins/combat/projectile": { "import": "./dist/plugins/combat/projectile.js", "types": "./dist/plugins/combat/projectile.d.ts" }, "./plugins/ui/ui": { "import": "./dist/plugins/ui/ui.js", "types": "./dist/plugins/ui/ui.d.ts" }, "./bindings/react": { "import": "./dist/bindings/react/index.js", "types": "./dist/bindings/react/index.d.ts" } }, "publishConfig": { "registry": "https://npm.pkg.github.com/" }, "repository": { "type": "git", "url": "https://github.com/DeeGeeGames/ecspresso" }, "keywords": [ "game", "gamedev", "game development", "game engine", "game development", "entity component system", "web games", "ecs" ], "devDependencies": { "@types/bun": "latest", "@types/howler": "^2.2.12", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@types/three": "^0.184.0", "howler": "^2.2.4", "phaser": "^4.1.0", "pixi.js": "^8.18.1", "react": "^19.2.5", "react-dom": "^19.2.5", "three": "^0.184.0", "typedoc": "^0.28.19" }, "peerDependencies": { "typescript": "^6.0.3", "pixi.js": "^8.0.0", "howler": "^2.2.0", "three": "^0.184.0", "react": "^19.0.0", "react-dom": "^19.0.0" }, "peerDependenciesMeta": { "pixi.js": { "optional": true }, "howler": { "optional": true }, "three": { "optional": true }, "react": { "optional": true }, "react-dom": { "optional": true } }, "files": [ "dist", "CHANGELOG.md" ], "scripts": { "build:clean": "rm -rf dist", "build:ts": "bun tsc -p tsconfig.build.json", "build:js": "bun scripts/build.ts", "build": "bun build:clean && bun build:ts && bun build:js", "check:types": "bun tsc --noEmit --skipLibCheck", "check": "bun run check:types && bun test", "examples": "bun ./examples/serve-examples.ts", "bench": "bun bench/narrowphase.bench.ts && bun bench/ecs-physics.bench.ts --spatial && bun bench/ecs-physics.bench.ts --no-spatial && bun bench/ecs-physics3D.bench.ts --spatial && bun bench/ecs-physics3D.bench.ts --no-spatial", "bench:ecs3D": "bun bench/ecs-physics3D.bench.ts", "bench:narrowphase": "bun bench/narrowphase.bench.ts", "bench:ecs": "bun bench/ecs-physics.bench.ts", "docs": "typedoc && bun scripts/build-examples.ts && bun scripts/build-changelog.ts && bun scripts/build-docs-index.ts", "docs:serve": "bun run docs && bunx serve docs", "postversion": "bun scripts/sync-plugin-version.ts && git add .claude-plugin/plugin.json .codex-plugin/plugin.json plugins/ecspresso/.codex-plugin/plugin.json", "prepublishOnly": "bun run check && bun run build" }, "type": "module" }