{
  "name": "just-bash",
  "version": "3.6.0",
  "description": "A simulated bash environment with virtual filesystem",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/vercel-labs/just-bash.git"
  },
  "homepage": "https://github.com/vercel-labs/just-bash#readme",
  "bugs": {
    "url": "https://github.com/vercel-labs/just-bash/issues"
  },
  "type": "module",
  "engines": {
    "node": ">=20.19"
  },
  "main": "dist/bundle/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "browser": "./dist/bundle/browser.js",
      "require": {
        "types": "./dist/index.d.cts",
        "default": "./dist/bundle/index.cjs"
      },
      "import": {
        "types": "./dist/index.d.ts",
        "default": "./dist/bundle/index.js"
      }
    },
    "./browser": {
      "types": "./dist/browser.d.ts",
      "import": "./dist/bundle/browser.js"
    }
  },
  "files": [
    "dist/bundle/",
    "dist/bin/",
    "dist/*.d.ts",
    "dist/*.d.cts",
    "dist/ast/*.d.ts",
    "dist/commands/**/*.d.ts",
    "dist/commands/sqlite3/worker.js",
    "dist/fs/**/*.d.ts",
    "dist/interpreter/**/*.d.ts",
    "dist/network/**/*.d.ts",
    "dist/parser/*.d.ts",
    "dist/sandbox/*.d.ts",
    "dist/security/*.d.ts",
    "dist/transform/**/*.d.ts",
    "dist/utils/*.d.ts",
    "vendor/cpython-emscripten/",
    "README.md",
    "CHANGELOG.md",
    "dist/AGENTS.md"
  ],
  "bin": {
    "just-bash": "./dist/bin/just-bash.js",
    "just-bash-shell": "./dist/bin/shell/shell.js"
  },
  "publishConfig": {
    "access": "public"
  },
  "keywords": [],
  "author": "Malte and Claude",
  "license": "Apache-2.0",
  "devDependencies": {
    "@types/ini": "^4.1.1",
    "@types/node": "^25.9.5",
    "@types/papaparse": "^5.5.2",
    "@types/sprintf-js": "^1.1.4",
    "@types/sql.js": "^1.4.11",
    "@types/turndown": "^5.0.6",
    "@vitest/coverage-v8": "^4.1.10",
    "esbuild": "^0.27.7",
    "fast-check": "^3.23.2",
    "knip": "^5.88.1",
    "tsx": "^4.23.12",
    "vitest": "^4.1.10"
  },
  "dependencies": {
    "diff": "^8.0.4",
    "fast-xml-parser": "^5.10.1",
    "file-type": "^21.3.4",
    "guarded-fetch": "0.1.3",
    "ini": "^6.0.0",
    "modern-tar": "^0.7.7",
    "papaparse": "^5.6.0",
    "re2js": "^1.3.3",
    "run": "2.1.3",
    "seek-bzip": "^2.0.0",
    "smol-toml": "^1.9.0",
    "sprintf-js": "^1.1.3",
    "sql.js": "^1.14.1",
    "turndown": "^7.2.4",
    "typescript": "^5.9.3",
    "yaml": "^2.9.0"
  },
  "optionalDependencies": {
    "@mongodb-js/zstd": "^7.0.0",
    "node-liblzma": "^2.2.0"
  },
  "scripts": {
    "build": "rm -rf dist && tsc && pnpm build:lib && pnpm build:lib:cjs && pnpm build:browser && pnpm build:cli && pnpm build:shell && pnpm build:worker && pnpm build:clean && cp dist/index.d.ts dist/index.d.cts && sed '1,/^-->/d' AGENTS.npm.md > dist/AGENTS.md",
    "build:clean": "find dist -name '*.test.js' -delete && find dist -name '*.test.d.ts' -delete",
    "build:worker": "esbuild src/commands/python3/worker.ts --bundle --platform=node --format=esm --outfile=src/commands/python3/worker.js --external:../../../vendor/cpython-emscripten/* && cp src/commands/python3/worker.js dist/commands/python3/worker.js && mkdir -p dist/bin/chunks && cp src/commands/python3/worker.js dist/bin/chunks/worker.js && mkdir -p dist/bundle/chunks && cp src/commands/python3/worker.js dist/bundle/chunks/worker.js && esbuild src/commands/sqlite3/worker.ts --bundle --platform=node --format=esm --outfile=src/commands/sqlite3/worker.js --external:sql.js && mkdir -p dist/commands/sqlite3 && cp src/commands/sqlite3/worker.js dist/commands/sqlite3/worker.js && cp src/commands/sqlite3/worker.js dist/bin/chunks/sqlite3-worker.js && cp src/commands/sqlite3/worker.js dist/bundle/chunks/sqlite3-worker.js",
    "build:lib": "esbuild dist/index.js --bundle --splitting --platform=node --format=esm --minify --outdir=dist/bundle --chunk-names=chunks/[name]-[hash] --banner:js='import{createRequire} from\"node:module\";const require=createRequire(import.meta.url);' --external:diff --external:sprintf-js --external:turndown --external:sql.js --external:run --external:@mongodb-js/zstd --external:node-liblzma --external:seek-bzip --external:guarded-fetch",
    "build:lib:cjs": "esbuild dist/index.js --bundle --platform=node --format=cjs --minify --outfile=dist/bundle/index.cjs --external:diff --external:sprintf-js --external:turndown --external:sql.js --external:run --external:@mongodb-js/zstd --external:node-liblzma --external:seek-bzip --external:guarded-fetch",
    "build:browser": "esbuild dist/browser.js --bundle --platform=browser --format=esm --minify --outfile=dist/bundle/browser.js --external:diff --external:sprintf-js --external:turndown --external:guarded-fetch --external:node:zlib --external:@mongodb-js/zstd --external:node-liblzma --external:seek-bzip --define:__BROWSER__=true --alias:node:async_hooks=./src/shims/browser-unsupported.js --alias:node:dns=./src/shims/browser-unsupported.js --alias:node:module=./src/shims/browser-unsupported.js",
    "build:cli": "esbuild dist/cli/just-bash.js --bundle --splitting --platform=node --format=esm --minify --outdir=dist/bin --entry-names=[name] --chunk-names=chunks/[name]-[hash] --banner:js='#!/usr/bin/env node\nimport{createRequire} from\"node:module\";const require=createRequire(import.meta.url);' --external:sql.js --external:run --external:@mongodb-js/zstd --external:node-liblzma --external:seek-bzip",
    "build:shell": "esbuild dist/cli/shell.js --bundle --splitting --platform=node --format=esm --minify --outdir=dist/bin/shell --entry-names=[name] --chunk-names=chunks/[name]-[hash] --banner:js='#!/usr/bin/env node\nimport{createRequire} from\"node:module\";const require=createRequire(import.meta.url);' --external:sql.js --external:run --external:@mongodb-js/zstd --external:node-liblzma --external:seek-bzip",
    "validate": "pnpm lint && pnpm knip && pnpm typecheck && pnpm build && pnpm check:worker-sync && pnpm test:run && pnpm test:wasm && pnpm test:dist",
    "typecheck": "tsc --noEmit",
    "lint": "pnpm lint:banned",
    "check:worker-sync": "node scripts/check-worker-sync.js",
    "lint:banned": "node scripts/check-banned-patterns.js",
    "lint:fix": "pnpm --workspace-root lint:fix",
    "knip": "knip",
    "test": "vitest",
    "test:run": "vitest run --exclude src/security/fuzzing/ --exclude src/commands/python3/ --exclude src/commands/sqlite3/ --exclude src/commands/js-exec/ --exclude src/agent-examples/python-scripting.test.ts",
    "test:dist": "vitest run src/cli/just-bash.bundle.test.ts src/package-contents.test.ts",
    "test:unit": "vitest run --config vitest.unit.config.ts",
    "test:wasm": "vitest run --config vitest.wasm.config.ts",
    "test:comparison": "vitest run --config vitest.comparison.config.ts",
    "test:comparison:record": "RECORD_FIXTURES=1 vitest run --config vitest.comparison.config.ts",
    "test:coverage": "vitest run --coverage",
    "test:coverage:unit": "vitest run --config vitest.unit.config.ts --coverage",
    "test:fuzz": "vitest run src/security/fuzzing/",
    "test:fuzz:long": "FUZZ_RUNS=10000 vitest run src/security/fuzzing/",
    "shell": "tsx src/cli/shell.ts",
    "dev:exec": "tsx src/cli/exec.ts"
  }
}