Something went wrong. Try again.
A WebGPU retro game engine for TypeScript, inspired by RetroBlit. Build pixel-perfect 2D games with a clean, fantasy-console-style API.
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131{ "name": "blit-tech", "version": "1.0.4", "type": "module", "description": "A palette-first WebGPU retro engine for TypeScript, inspired by RetroBlit.", "author": "Václav Vančura", "license": "ISC", "repository": { "type": "git", "url": "https://github.com/vancura/blit-tech.git" }, "homepage": "https://vancura.dev", "bugs": { "url": "https://github.com/vancura/blit-tech/issues" }, "keywords": [ "webgpu", "typescript", "retro", "pixel-art", "2d-demo", "sprite", "canvas", "fantasy-console" ], "engines": { "node": ">=22.18.0" }, "main": "./dist/blit-tech.cjs", "module": "./dist/blit-tech.js", "types": "./dist/blit-tech.d.ts", "exports": { ".": { "types": "./dist/blit-tech.d.ts", "import": "./dist/blit-tech.js", "require": "./dist/blit-tech.cjs" } }, "files": [ "dist", "README.md", "LICENSE" ], "publishConfig": { "access": "public" }, "sideEffects": false, "scripts": { "build": "vite build", "build:check-declarations": "node scripts/check-declaration-tooling.mjs", "test:declarations": "node --test scripts/check-declaration-tooling.test.mjs", "lint": "eslint .", "lint:fix": "eslint . --fix", "format": "biome format --write . && prettier --write \"**/*.{md,mdx,yml,yaml}\"", "format:check": "biome check . && prettier --check \"**/*.{md,mdx,yml,yaml}\"", "format:biome": "biome format --write .", "format:prettier": "prettier --write \"**/*.{md,mdx,yml,yaml}\"", "typecheck": "tsc --noEmit", "spellcheck": "cspell \"src/**/*.{ts,md,mdx}\" \"docs/**/*.{md,mdx}\" \"README.md\" --no-progress", "test": "vitest run", "test:unit": "vitest run", "test:unit:watch": "vitest watch", "test:unit:coverage": "vitest run --coverage", "bench": "vitest bench", "bench:json": "vitest bench --outputJson benchmark-results.json", "test:visual": "playwright test", "test:visual:update": "playwright test --update-snapshots", "test:visual:coverage": "VISUAL_COVERAGE=1 playwright test && nyc report --reporter=lcov --reporter=text-summary --temp-dir=.nyc_output --report-dir=coverage-visual", "preflight": "pnpm format:check && pnpm lint && pnpm typecheck && pnpm spellcheck && pnpm knip && pnpm test:unit && pnpm test:declarations", "clean": "rm -rf dist node_modules/.vite", "release": "pnpm build && pnpm publish", "knip": "knip", "knip:fix": "knip --fix", "convert-font": "node scripts/convert-bmfont.mjs", "system-font:export": "node scripts/export-system-font.mjs", "system-font:convert": "node scripts/convert-system-font.mjs", "prepublishOnly": "pnpm run build", "prepare": "husky", "security:audit": "pnpm audit --audit-level=moderate", "security:audit:prod": "pnpm audit --prod --audit-level=moderate", "security:audit:fix": "pnpm audit --fix", "security:mcp-preflight": "node scripts/security/mcp-preflight.mjs", "test:security-preflight": "node --test scripts/security/mcp-preflight.test.mjs" }, "packageManager": "pnpm@10.26.2", "pnpm": { "overrides": { "vite-node": "^5.2.0", "esbuild": "^0.25.0", "brace-expansion@>=5.0.0 <5.0.6": "^5.0.6", "ws@>=8.0.0 <8.20.1": "^8.20.1" }, "allowBuilds": { "esbuild": true } }, "devDependencies": { "@biomejs/biome": "^2.4.15", "@commitlint/cli": "^20.5.0", "@commitlint/config-conventional": "^20.5.0", "@eslint/js": "^10.0.1", "@playwright/test": "^1.59.1", "@types/node": "^25.6.0", "@typescript-eslint/eslint-plugin": "^8.59.3", "@typescript-eslint/parser": "^8.59.3", "@vitest/coverage-v8": "^4.1.5", "@webgpu/types": "^0.1.69", "cspell": "^10.0.0", "eslint": "^10.2.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-jsdoc": "^62.9.0", "eslint-plugin-perfectionist": "^5.9.0", "eslint-plugin-promise": "^7.2.1", "eslint-plugin-security": "^4.0.0", "eslint-plugin-simple-import-sort": "^13.0.0", "globals": "^17.5.0", "happy-dom": "^20.9.0", "husky": "^9.1.7", "knip": "^6.6.3", "lint-staged": "^16.4.0", "nyc": "^18.0.0", "pngjs": "^7.0.0", "prettier": "^3.8.3", "typescript": "5.9.3", "vite": "^8.0.10", "vite-plugin-dts": "^4.5.4", "vite-plugin-istanbul": "^8.0.0", "vitest": "^4.1.5" }}