{
  "name": "js-slang",
  "version": "1.0.94",
  "packageManager": "yarn@4.13.0+sha512.5c20ba010c99815433e5c8453112165e673f1c7948d8d2b267f4b5e52097538658388ebc9f9580656d9b75c5cc996f990f611f99304a2197d4c56d21eea370e7",
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org"
  },
  "license": "Apache-2.0",
  "description": "Javascript-based implementations of Source, written in Typescript",
  "keywords": [
    "JavaScript",
    "interpreter",
    "compiler",
    "Source",
    "SICP"
  ],
  "author": {
    "name": "Source Academy",
    "url": "https://github.com/source-academy/"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/source-academy/js-slang.git"
  },
  "bugs": {
    "url": "https://github.com/source-academy/js-slang/issues"
  },
  "homepage": "https://github.com/source-academy/js-slang",
  "main": "dist/index",
  "types": "dist/index",
  "files": [
    "dist"
  ],
  "bin": "dist/repl/index.js",
  "dependencies": {
    "@babel/parser": "^7.19.4",
    "@commander-js/extra-typings": "^14.0.0",
    "@ts-morph/bootstrap": "^0.18.0",
    "acorn": "^8.8.2",
    "acorn-class-fields": "^1.0.0",
    "acorn-loose": "^8.0.0",
    "acorn-walk": "^8.0.0",
    "astring": "^1.4.3",
    "commander": "^14.0.0",
    "js-base64": "^3.7.5",
    "lodash": "^4.17.21",
    "source-map": "0.7.6"
  },
  "scripts": {
    "build": "yarn docs && yarn build:slang",
    "build:slang": "tsc --project tsconfig.prod.json",
    "eslint": "eslint --concurrency=auto src scripts",
    "format": "prettier --write \"src/**/*.{ts,tsx}\"",
    "format:ci": "prettier --list-different \"src/**/*.{ts,tsx}\"",
    "test": "vitest",
    "test-coverage": "yarn test --coverage",
    "docs": "node ./scripts/docs.mjs docs",
    "jsdoc": "node ./scripts/docs.mjs",
    "autocomplete": "node ./scripts/docs.mjs autocomplete",
    "build_sicp_package": "yarn build && node ./scripts/build_sicp_package.mjs",
    "publish_sicp_package": "./scripts/publish_sicp_package.sh",
    "benchmark": "vitest benchmark",
    "prepare": "husky"
  },
  "devDependencies": {
    "@types/estree": "^1.0.5",
    "@types/lodash": "^4.14.202",
    "@types/node": "^24.12.2",
    "@vitest/coverage-v8": "^4.0.4",
    "@vitest/eslint-plugin": "^1.3.4",
    "@vitest/ui": "^4.0.4",
    "ace-builds": "~1.17.0",
    "coveralls": "^3.1.0",
    "eslint": "^9.39.1",
    "eslint-plugin-import": "^2.32.0",
    "globals": "^17.0.0",
    "husky": "^9.0.0",
    "jsdoc": "4.0.5",
    "jsdom": "^29.0.0",
    "prettier": "^3.6.2",
    "typescript": "^6.0.2",
    "typescript-eslint": "^8.46.3",
    "vitest": "^4.0.4"
  },
  "devEngines": {
    "packageManager": {
      "name": "yarn",
      "version": "^4.13.0",
      "onFail": "error"
    }
  }
}