{
  "name": "@mojojs/core",
  "version": "1.26.14",
  "description": "Real-time web framework",
  "keywords": [
    "mojojs",
    "real-time",
    "web",
    "framework",
    "mvc",
    "websockets",
    "websocket"
  ],
  "author": "Sebastian Riedel <kraih@mojolicious.org>",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/mojolicious/mojo.js.git"
  },
  "bugs": {
    "url": "https://github.com/mojolicious/mojo.js/issues"
  },
  "homepage": "https://mojojs.org",
  "scripts": {
    "bench": "npx concurrently -k -s first \"NODE_ENV=production node benchmarks/hello/hello-mojo.js server\" \"npx autocannon -W -c 100 -d 10 -p 15 localhost:3000\"",
    "build": "npx tsc --build ./ ./test/support/ts/full-app",
    "build:bench": "npm run build && npm run bench",
    "build:clean": "npm run clean && npm run build",
    "build:coverage": "npm run build && npm run coverage",
    "build:lint": "npm run build && npm run lint",
    "build:node": "npm run build && node",
    "build:test": "npm run build && npm test",
    "build:watch": "npm run build -- --watch",
    "clean": "rm -rf tsconfig.tsbuildinfo test/support/ts/full-app/tsconfig.tsbuildinfo lib test/support/ts/full-app/lib",
    "coverage": "c8 tap --disable-coverage --allow-empty-coverage test/*.js test/*.ts",
    "coverage:ci": "c8 --reporter lcovonly tap --disable-coverage --allow-empty-coverage test/*.js test/*.ts",
    "lint": "eslint",
    "lint:fix": "npm run lint -- --fix",
    "prepublishOnly": "npm run build",
    "publish:minor": "npm version minor && npm publish",
    "publish:patch": "npm version patch && npm publish",
    "test": "tap --disable-coverage --allow-empty-coverage test/*.js test/*.ts"
  },
  "exports": "./lib/core.js",
  "types": "./lib/core.d.ts",
  "type": "module",
  "files": [
    "bin/",
    "lib/",
    "vendor/"
  ],
  "bin": {
    "mojo": "bin/mojo.js"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@types/busboy": "^1.5.0",
    "@types/js-yaml": "^4.0.3",
    "@types/mime-types": "^3.0.0",
    "@types/node": "^25.6.2",
    "@types/nopt": "^3.0.29",
    "@types/react": "^19.0.0",
    "@types/stack-utils": "^2.0.1",
    "@types/tough-cookie": "^4.0.2",
    "@types/ws": "^8.5.3",
    "autocannon": "^7.3.0",
    "c8": "^11.0.0",
    "concurrently": "^9.0.0",
    "eslint": "^10.3.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-import-resolver-node": "^0.3.9",
    "eslint-import-resolver-typescript": "^4.4.4",
    "eslint-plugin-import-x": "^4.16.2",
    "eslint-plugin-prettier": "^5.5.5",
    "globals": "^17.6.0",
    "nodemon": "^3.0.0",
    "prettier": "^3.8.3",
    "tap": "^21.0.1",
    "typescript": "^6.0.3",
    "typescript-eslint": "^8.59.2"
  },
  "engines": {
    "node": ">= 20"
  },
  "dependencies": {
    "@mojojs/dom": "^2.1.0",
    "@mojojs/path": "^1.6.0",
    "@mojojs/template": "^2.2.0",
    "@mojojs/util": "^1.6.0",
    "ajv": "^8.5.0",
    "busboy": "^1.0.0",
    "chalk": "^5.0.0",
    "form-data": "^4.0.0",
    "js-yaml": "^4.1.0",
    "mime-types": "^2.1.30",
    "nopt": "^9.0.0",
    "stack-utils": "^2.0.3",
    "tough-cookie": "^5.1.0",
    "ws": "^8.3.0"
  }
}
