{
  "name": "irgen",
  "version": "0.3.2",
  "private": false,
  "license": "MIT",
  "description": "a policy-driven, IR-based code generation toolchain for backend, frontend, and beyond.",
  "repository": {
    "type": "git",
    "url": "https://github.com/agusmade/irgen.git"
  },
  "homepage": "https://agusmade.github.io/irgen/",
  "bugs": {
    "url": "https://github.com/agusmade/irgen/issues"
  },
  "keywords": [
    "codegen",
    "code-generation",
    "ir",
    "intermediate-representation",
    "generator",
    "dsl",
    "compiler",
    "typescript",
    "react",
    "vite",
    "ssg",
    "scaffold",
    "cli"
  ],
  "author": "Agus Made <krisnaparta@gmail.com>",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "type": "module",
  "bin": {
    "irgen": "dist/cli.js"
  },
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    }
  },
  "engines": {
    "node": ">=18"
  },
  "scripts": {
    "dev": "tsx src/cli.ts examples/app.dsl.ts",
    "build": "rimraf dist && tsc -p tsconfig.json",
    "build:backend": "tsc -p tsconfig.backend.json",
    "start": "node dist/cli.js examples/app.dsl.ts",
    "clean": "rimraf dist generated*",
    "gen:backend": "tsx src/cli.ts --mode=backend examples/backend-only.dsl.ts --outDir=generated/backend",
    "gen:frontend": "tsx src/cli.ts --mode=frontend examples/frontend.dsl.ts --outDir=generated/frontend",
    "gen:form-io": "tsx src/cli.ts --mode=frontend examples/form-io.dsl.ts --outDir=generated/form-io",
    "gen:fullstack": "tsx src/cli.ts examples/fullstack.dsl.ts --outDir=generated/fullstack",
    "gen:combined": "tsx src/cli.ts examples/app.dsl.ts --outDir=generated/app",
    "gen:static-docs": "tsx src/cli.ts examples/docs.dsl.ts --targets=static-site --outDir=generated/static-docs",
    "gen:docs": "tsx src/cli.ts --mode=frontend examples/docs.dsl.ts --outDir=generated/docs",
    "gen:backend-policy": "tsx src/cli.ts examples/backend-with-policy.dsl.ts --targets=backend --outDir=generated/backend-policy",
    "gen:electron-docs": "tsx src/cli.ts --targets=frontend,electron examples/electron-docs.dsl.ts --outDir=generated/electron-docs",
    "gen:irgen-web": "tsx src/cli.ts --mode=frontend examples/irgen-web.dsl.ts --outDir=generated/irgen-web",
    "gen:static-no-enhance": "tsx src/cli.ts examples/static-no-enhance.dsl.ts --targets=static-site --outDir=generated/static-no-enhance",
    "gen:static-with-enhance": "tsx src/cli.ts examples/static-with-enhance.dsl.ts --targets=static-site --outDir=generated/static-with-enhance",
    "gen:ssg": "tsx src/cli.ts examples/frontend-ssg-pure.dsl.ts --targets=frontend --outDir=generated/ssg",
    "gen:hybrid": "tsx src/cli.ts examples/frontend-ssg.dsl.ts --targets=frontend --outDir=generated/hybrid",
    "gen": "npm run gen:backend && npm run gen:frontend && npm run gen:fullstack && npm run gen:combined",
    "test:poc": "node scripts/poc-smoke.js",
    "test:golden": "node scripts/golden-test.js",
    "update-golden": "node scripts/update-golden.js",
    "test:decl": "tsx scripts/decl-validate.test.js",
    "test:mappers": "tsx scripts/mappers.test.js",
    "test:policy": "tsx scripts/policy.test.js",
    "test:lowering": "tsx scripts/lowering.test.js",
    "test:policy-zod": "tsx scripts/policy-zod.test.js",
    "test:emitter": "tsx scripts/emitter.test.js",
    "test:emitter-cli": "tsx scripts/emitter-cli.test.js",
    "test:adapters": "tsx scripts/adapters.test.js",
    "test:package-deps": "tsx scripts/package-deps.test.js",
    "test:package-frontend": "tsx scripts/package-frontend.test.js",
    "test:cli-build": "tsx scripts/cli-build.test.js",
    "test:cli-inspect-decl": "tsx scripts/cli-inspect-decl.test.js",
    "test:emitter-registry": "tsx scripts/emitter-registry.test.js",
    "test:cli-target": "tsx scripts/cli-target.test.js",
    "test:gen-frontend": "node scripts/gen-frontend.test.js",
    "test:form-operation": "node scripts/form-operation.test.js",
    "test:v022-features": "node scripts/v022-features.test.js",
    "test:frontend-contracts": "node scripts/frontend-contracts.test.js",
    "test:golden:backend": "node scripts/backend-golden.test.js",
    "test:golden:electron": "node scripts/electron-golden.test.js",
    "test:golden:static-site": "node scripts/static-site-golden.test.js",
    "test:cli": "tsx scripts/cli-init.test.ts",
    "test:check": "tsx scripts/cli-check.test.ts",
    "test:studio": "tsx scripts/cli-studio.test.ts",
    "test:ci": "npm run test:golden && npm run test:golden:backend && npm run test:golden:electron",
    "prepublishOnly": "npm run build",
    "preversion": "npm run test:ci",
    "postversion": "git push origin main --follow-tags"
  },
  "files": [
    "dist",
    "README.md",
    "CHANGELOG.md"
  ],
  "dependencies": {
    "express": "^5.2.1",
    "mermaid": "^10.9.1",
    "minisearch": "^6.1.0",
    "open": "^10.2.0",
    "prismjs": "^1.29.0",
    "prompts": "^2.4.2",
    "shiki": "^1.10.1",
    "ts-morph": "^23.0.0",
    "tsx": "^4.19.2",
    "zod": "^3.23.8"
  },
  "devDependencies": {
    "@types/express": "^5.0.6",
    "@types/node": "^22.10.2",
    "@types/prompts": "^2.4.9",
    "jsonwebtoken": "^9.0.3",
    "prettier": "^2.8.8",
    "rimraf": "^6.0.1",
    "typescript": "^5.6.3"
  }
}
