{ "name": "pony-town", "version": "0.55.2", "description": "A game of ponies building a town", "main": "pony-town.js", "scripts": { "start": "node pony-town.js --login --admin --game", "startlocal": "node pony-town.js --login --admin --game --local", "start-inspect": "node --inspect pony-town.js --login --admin --game --local", "lint": "eslint \"src/ts/**/*.ts\"", "lint-fix": "eslint \"src/ts/**/*.ts\" --fix", "dev": "gulp dev", "dev-sprites": "gulp dev --sprites", "sw-generate": "workbox generateSW workbox-config.js && gulp patchWebWorker", "sw": "npm run sw-generate", "ts": "tsc", "ts-tools": "tsc -p tsconfig.tools.json", "ts-watch": "npm run ts -- --watch", "ts-cov": "npm run ts -- --target es5", "ts-cov-watch": "npm run ts -- --target es5 --watch", "webpack-prod": "node --max_old_space_size=8192 node_modules/webpack-cli/bin/cli --config webpack.prod.mjs --progress --color", "webpack-main": "npm run webpack-prod -- --env main", "webpack-analyze": "npm run webpack-prod -- --env analyze", "webpack-debug": "npm run webpack-prod -- --env debug", "webpack-admin": "npm run webpack-prod -- --env admin", "webpack-stats": "npm run webpack-prod -- --env debug --json > stats.json", "webpack-verbose": "npm run webpack-prod -- --verbose", "wds": "webpack-dev-server --config webpack.dev.mjs --progress --color --port 8091", "build": "gulp build", "build-sprites": "npm run ts-tools && gulp sprites && npm run build", "build-beta": "npm run build -- --beta --tools", "build-fast": "npm run build -- --parallel", "build-maps": "npm run build -- --maps", "build-tools": "npm run build -- --tools", "build-debug": "npm run build -- --debug", "test": "npm run ts && npm run test-js", "test-js": "mocha \"dist/node/tests/**/*.spec.js\" -R progress --exit", "test-watch": "npm run test-js -- --watch", "test-ts": "node --max-old-space-size=8192 ./node_modules/mocha/bin/mocha \"src/ts/tests/**/*.spec.ts\" -r ts-node/register -R progress --exit", "test-ts-watch": "npm run test -- --watch --watch-extensions ts", "check-code": "node ./dist/node/experiments/checkCode.js", "test-inspect": "mocha \"dist/node/tests/**/*.spec.js\" -R progress --inspect --exit --watch", "update-angular": "npm update @angular/common @angular/compiler @angular/core @angular/forms @angular/platform-browser @angular/platform-browser-dynamic @angular/router @angular/animations @angular/compiler-cli @angular/platform-server @angular/cdk --save", "latest-angular": "npm i @angular/common@latest @angular/compiler@latest @angular/core@latest @angular/forms@latest @angular/platform-browser@latest @angular/platform-browser-dynamic@latest @angular/router@latest @angular/animations@latest @angular/compiler-cli@latest @angular/platform-server@latest @angular/cdk@latest --save", "update-fontawesome": "npm update @fortawesome/fontawesome-svg-core @fortawesome/free-brands-svg-icons @fortawesome/free-solid-svg-icons @fortawesome/angular-fontawesome --save" }, "devDependencies": { "@angular-devkit/build-angular": "22.1.2", "@angular/animations": "22.1.0", "@angular/common": "22.1.0", "@angular/compiler": "22.1.0", "@angular/compiler-cli": "22.1.0", "@angular/core": "22.1.0", "@angular/forms": "22.1.0", "@angular/platform-browser": "22.1.0", "@angular/platform-browser-dynamic": "22.1.0", "@angular/platform-server": "22.1.0", "@angular/router": "22.1.0", "@fortawesome/angular-fontawesome": "5.1.0", "@fortawesome/fontawesome-svg-core": "6.7.2", "@fortawesome/free-brands-svg-icons": "6.7.2", "@fortawesome/free-solid-svg-icons": "6.7.2", "@ngtools/webpack": "22.1.2", "@rollup/plugin-babel": "6.1.0", "@types/bluebird": "3.5.42", "@types/body-parser": "1.19.6", "@types/chai": "5.2.3", "@types/chai-as-promised": "8.0.2", "@types/cookie-parser": "1.4.10", "@types/del": "4.0.3", "@types/delta-e": "0.0.2", "@types/express": "5.0.6", "@types/express-session": "1.18.2", "@types/file-saver": "2.0.7", "@types/fs-extra": "11.0.4", "@types/gl-matrix": "2.4.5", "@types/glob": "8.1.0", "@types/google.analytics": "0.0.46", "@types/howler": "2.2.12", "@types/lodash": "4.17.24", "@types/mocha": "10.0.10", "@types/morgan": "1.9.10", "@types/node": "25.5.0", "@types/node-ipc": "9.2.3", "@types/passport": "1.0.17", "@types/passport-discord": "0.1.15", "@types/passport-local": "1.0.38", "@types/pug": "2.0.10", "@types/serve-favicon": "2.5.7", "@types/sinon": "21.0.0", "@types/ua-parser-js": "0.7.39", "@types/uws": "0.13.7", "@types/webgl2": "0.0.12", "@types/yargs": "17.0.35", "@typescript-eslint/eslint-plugin": "8.57.1", "@typescript-eslint/parser": "8.57.1", "angular2-template-loader": "0.6.2", "babel-loader": "10.1.1", "chai": "6.2.2", "chai-as-promised": "8.0.2", "chalk": "5.6.2", "del": "8.0.1", "eslint": "8.57.1", "eslint-config-google": "0.14.0", "eslint-config-standard": "17.1.0", "eslint-plugin-import": "2.32.0", "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "6.1.1", "focus-visible": "5.0.2", "gulp": "5.0.1", "gulp-autoprefixer": "10.0.0", "gulp-cssnano": "2.1.3", "gulp-if": "3.0.0", "gulp-imagemin": "9.2.0", "gulp-live-server": "0.0.31", "gulp-plumber": "1.2.1", "gulp-rev": "12.0.0", "gulp-sass": "6.0.1", "gulp-shell": "0.8.0", "gulp-sizereport": "1.2.1", "gulp-sourcemaps": "3.0.0", "gulp-spawn-mocha": "6.0.0", "howler": "2.1.2", "html-loader": "5.1.0", "html5-gamepad": "1.1.0", "merge2": "1.2.4", "mocha": "6.2.0", "reflect-metadata": "0.2.2", "remap-istanbul": "^0.13.0", "rxjs": "7.8.2", "sass-loader": "13.3.3", "sinon": "21.0.3", "ts-loader": "9.5.4", "ts-node": "10.9.2", "tslib": "2.8.1", "tsutils": "3.17.1", "typescript": "6.0.3", "webpack": "5.105.4", "webpack-bundle-analyzer": "5.2.0", "webpack-cli": "7.0.2", "webpack-dev-server": "5.2.3", "webpack-merge": "6.0.1", "workbox-cli": "7.4.0", "wrapper-webpack-plugin": "2.2.2", "zone.js": "0.15.1" }, "dependencies": { "@angular/cdk": "22.1.0", "@encharm/cws": "4.5.3", "@passport-next/passport-facebook": "^3.1.3", "@passport-next/passport-google-oauth2": "^1.0.0", "ag-psd": "30.1.0", "ag-sockets": "14.0.2", "base64-js": "^1.5.1", "bluebird": "3.5.5", "body-parser": "2.2.2", "bootstrap": "5.3.8", "canvas": "3.2.1", "canvas-toBlob": "1.0.0", "color-convert": "3.1.3", "connect-mongo": "6.0.0", "cookie-parser": "1.4.4", "core-js": "3.2.1", "date-fns": "^4.1.0", "delta-e": "0.0.8", "errorhandler": "1.5.1", "express": "5.2.1", "express-rate-limit": "8.3.1", "express-session": "1.19.0", "file-saver": "2.0.2", "font-awesome": "4.7.0", "frameguard": "4.0.0", "fs-extra": "11.3.4", "gif.js": "0.2.0", "hsts": "2.2.0", "ipware": "2.0.0", "lodash": "4.17.15", "markdown-tree": "0.0.0", "mongoose": "9.3.2", "morgan": "1.9.1", "ngx-bootstrap": "21.2.2", "passport": "0.7.0", "passport-deviantart": "0.0.5", "passport-discord": "0.1.3", "passport-github2": "0.1.11", "passport-local": "1.0.0", "passport-patreon": "1.0.1", "passport-tumblr": "0.1.2", "passport-twitter": "1.0.4", "passport-vkontakte": "0.3.2", "postcss": "8.5.8", "postcss-loader": "8.2.1", "pug": "3.0.4", "pug-html-loader": "1.1.7", "pug-plugin-ng": "0.0.3", "raw-loader": "4.0.2", "rollbar": "2.12.2", "sass": "1.62.1", "serve-favicon": "2.5.0", "source-list-map": "2.0.1", "source-map-support": "0.5.13", "timsort": "0.3.0", "tracer": "1.0.1", "transliteration": "2.6.1", "ua-parser-js": "2.0.9", "util": "^0.12.5", "webgl-debug": "2.0.1", "yargs": "18.0.0" } }