{
  "name": "@specs-feup/lara",
  "version": "3.0.9",
  "description": "A js port of the popular framework for building source-to-source compilers",
  "type": "module",
  "bin": {
    "lara-build-interfaces": "scripts/build-interfaces.js",
    "lara-java-dist": "scripts/java-dist.js"
  },
  "files": [
    "api",
    "code",
    "jest",
    "scripts",
    "src-api",
    "src-code",
    ".gitignore",
    "eslint.config.js",
    "jest.config.js",
    "LaraJoinPointSpecification.json",
    "LICENSE",
    "package.json",
    "README.md",
    "tsconfig.jest.json",
    "tsconfig.json",
    "typedoc.base.json",
    "typedoc.json"
  ],
  "scripts": {
    "build": "node scripts/copy-folder.js -i src-api/libs -o api/libs && npx tsc -b src-api src-code",
    "build:api": "npx tsc -b src-api",
    "build:code": "npx tsc -b src-code",
    "build:watch": "npm run build -- --watch",
    "lint": "eslint .",
    "test": "cross-env NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules\" jest --detectOpenHandles --forceExit",
    "test:api": "npm run test -- src-api",
    "test:code": "npm run test -- src-code",
    "test:cov": "npm run test -- --coverage",
    "test:watch": "npm run test -- --watch",
    "java-dist": "node scripts/java-dist.js --jsSourceFolder api --jsDestinationFolder ../LaraApi/src-lara/ --javaClassname LaraApiJsResource --javaPackageName pt.up.fe.specs.lara --javaDestinationFolder ../LaraApi/src-java/pt/up/fe/specs/lara/",
    "build-interfaces": "node scripts/build-LaraJoinPoint --input LaraJoinPointSpecification.json --output src-api/LaraJoinPoint.ts"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/specs-feup/lara-framework.git",
    "directory": "Lara-JS"
  },
  "keywords": [
    "C",
    "C++",
    "source-to-source",
    "compiler",
    "metaprogramming"
  ],
  "author": "L. Sousa",
  "license": "Apache-2.0",
  "bugs": {
    "url": "https://github.com/specs-feup/lara-framework/issues"
  },
  "homepage": "https://github.com/specs-feup/lara-framework#readme",
  "engines": {
    "node": ">=18.18"
  },
  "dependencies": {
    "chokidar": "^4.0.3",
    "debug": "^4.4.0",
    "java": "^0.16.1",
    "supports-color": "^10.0.0",
    "yargs": "^17.7.2"
  },
  "devDependencies": {
    "@jest/globals": "^29.7.0",
    "@types/debug": "^4.1.12",
    "@types/jest": "^29.5.14",
    "@types/node": "^20.14.10",
    "@types/yargs": "^17.0.33",
    "typescript-eslint": "^8.26.1",
    "cross-env": "^7.0.3",
    "eslint": "^9.22.0",
    "eslint-config-prettier": "^10.1.1",
    "eslint-plugin-jest": "^28.11.0",
    "eslint-plugin-tsdoc": "^0.4.0",
    "jest": "^29.7.0",
    "node-notifier": "^10.0.1",
    "ts-jest": "^29.2.6",
    "typescript": "^5.8.2"
  }
}
