excalibur
Version:
Excalibur.js is a simple JavaScript game engine with TypeScript bindings for making 2D games in HTML5 Canvas. Our mission is to make web game development as simple as possible.
159 lines (158 loc) • 6.42 kB
JSON
{
"name": "excalibur",
"sideEffects": false,
"version": "0.30.3",
"exNextVersion": "0.31.0",
"description": "Excalibur.js is a simple JavaScript game engine with TypeScript bindings for making 2D games in HTML5 Canvas. Our mission is to make web game development as simple as possible.",
"author": "https://github.com/excaliburjs/Excalibur/graphs/contributors",
"homepage": "https://github.com/excaliburjs/Excalibur",
"main": "build/dist/excalibur.min.js",
"typings": "build/dist/excalibur.d.ts",
"exports": {
"./package.json": "./package.json",
".": {
"types": "./build/dist/excalibur.d.ts",
"development": {
"import": "./build/esm/excalibur.development.js",
"require": "./build/dist/excalibur.development.js"
},
"production": {
"import": "./build/esm/excalibur.js",
"require": "./build/dist/excalibur.js"
},
"import": "./build/esm/excalibur.js",
"require": "./build/dist/excalibur.js"
}
},
"repository": {
"type": "git",
"url": "git://github.com/excaliburjs/Excalibur.git"
},
"bugs": {
"url": "https://github.com/excaliburjs/Excalibur/issues"
},
"license": "BSD-2-Clause",
"keywords": [
"excalibur",
"game",
"engine",
"typescript",
"javascript",
"simple"
],
"scripts": {
"all": "npm run format && npm run lint && npm run core && npm run build:esm && npm run test && npm run legacy-visual",
"all:ci": "npm run format && npm run lint && npm run core && npm run build:esm && npm run test:ci && npm run legacy-visual",
"clean": "rimraf .tsbuildinfo ./build/dist ./build ./src/spec/*.js ./src/spec/*.map",
"linux:ci": "npm run clean && npm run all:ci && npm run coveralls && npm run apidocs",
"appveyor": "npm run all:ci && npm run nuget 0.0.1",
"browserstack": "karma start karma.conf.browsers.js",
"nuget": ".\\src\\tools\\NuGet.exe pack Excalibur.nuspec -OutputDirectory .\\build\\nuget -version",
"start": "npm run core:watch",
"start:esm": "npm run core:bundle:esm -- --watch",
"build": "npm run core",
"build:esm": "npm run core:bundle:esm && npm run core:bundle:esm:development",
"core": "npm run core:tsc && npm run core:copy && npm run core:bundle && npm run core:bundle:development",
"core:tsc": "tsc --project src/engine/tsconfig.json --incremental true --tsBuildInfoFile .tsbuildinfo --emitDeclarationOnly && node ./scripts/excalibur-version.js",
"core:copy": "copyfiles -u 2 ./src/engine/**/*.png ./src/engine/**/*.css ./src/engine/**/*.glsl ./build/dist/",
"core:bundle": "webpack --progress --config webpack.config.js --mode production",
"core:bundle:development": "webpack --progress --config webpack.config.js --mode development",
"core:bundle:esm": "webpack --progress --config webpack.config.js --mode production --env output=esm",
"core:bundle:esm:development": "webpack --progress --config webpack.config.js --mode development --env output=esm",
"core:watch": "npm run core:bundle -- --watch",
"format": "prettier . --check",
"format:fix": "npm run format -- --write",
"lint": "npm run eslint",
"lint:fix": "npm run eslint -- --fix",
"eslint": "eslint .",
"visual": "storybook dev",
"build-storybook": "storybook build -o build-storybook",
"sandbox:copy": "copyfiles -u 2 \"./build/dist/**/*.*\" \"./build/dist/*.*\" ./sandbox/lib/",
"sandbox:build": "tsc --project ./sandbox",
"sandbox": "serve ./sandbox -l 3001 -n",
"legacy-visual": "npm run sandbox:copy && npm run sandbox:build",
"test": "karma start",
"test:ci": "karma start --browsers=ChromeHeadless_with_audio",
"test:watch": "karma start --auto-watch --single-run=false",
"coveralls": "echo 'Temporarily Remove Coveralls Due To Outage'",
"apidocs": "node scripts/apidocs.js",
"release": "cross-env release=true npm run all",
"prepare": "husky"
},
"devDependencies": {
"@babel/core": "7.26.0",
"@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0",
"@fortawesome/fontawesome-free": "6.7.2",
"@octokit/rest": "21.0.2",
"@storybook/addon-actions": "7.6.20",
"@storybook/addon-essentials": "7.6.20",
"@storybook/addon-links": "7.6.20",
"@storybook/html": "7.6.20",
"@storybook/html-webpack5": "7.6.20",
"@types/jasmine": "5.1.5",
"@types/node": "22.10.1",
"@types/react-color": "3.0.13",
"@types/webpack-env": "1.18.5",
"@typescript-eslint/eslint-plugin": "7.18.0",
"@typescript-eslint/parser": "7.18.0",
"babel-loader": "9.2.1",
"copy-webpack-plugin": "12.0.2",
"copyfiles": "2.4.1",
"coveralls": "3.1.1",
"cross-env": "7.0.3",
"css-loader": "6.11.0",
"eslint": "8.57.1",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-jsdoc": "48.11.0",
"eslint-plugin-storybook": "0.11.1",
"excalibur-jasmine": "0.3.8",
"husky": "9.1.7",
"istanbul": "0.4.5",
"istanbul-instrumenter-loader": "3.0.1",
"jasmine": "5.4.0",
"jasmine-core": "5.4.0",
"karma": "6.4.4",
"karma-browserstack-launcher": "1.6.0",
"karma-chrome-launcher": "3.2.0",
"karma-coverage": "2.2.1",
"karma-coverage-istanbul-reporter": "3.0.3",
"karma-jasmine": "5.1.0",
"karma-jasmine-order-reporter": "1.2.0",
"karma-spec-reporter": "0.0.36",
"karma-summary-reporter": "3.1.1",
"karma-webpack": "5.0.1",
"lint-staged": "15.2.10",
"prettier": "3.2.5",
"puppeteer": "15.5.0",
"raw-loader": "4.0.2",
"react": "18.3.1",
"react-dom": "18.3.1",
"replace-in-file": "7.2.0",
"rimraf": "5.0.10",
"semver": "7.6.3",
"serve": "14.2.4",
"source-map-support": "0.5.21",
"storybook": "7.6.20",
"sync-request": "6.1.0",
"terser-webpack-plugin": "5.3.10",
"ts-loader": "9.5.1",
"typedoc": "0.25.13",
"typescript": "5.6.3",
"url-loader": "4.1.1",
"webpack": "5.96.1",
"webpack-cli": "5.1.4"
},
"lint-staged": {
"*.{js,jsx,ts,tsx,html,json,md,yml,yaml}": "prettier --write",
"*.{js,jsx,ts,tsx,html}": "eslint --fix"
},
"overrides": {
"typedoc": {
"typescript": ">=4.7.4"
},
"istanbul-instrumenter-loader": {
"webpack": ">=5.68.0"
}
}
}