{
  "name": "unirend",
  "version": "0.1.0",
  "type": "module",
  "description": "A lightweight toolkit for working with both SSG (Static Site Generation) and SSR (Server-Side Rendering) in your Vite + React projects.",
  "exports": {
    "./context": {
      "types": "./dist/context/context.d.ts",
      "import": "./dist/context/context.js"
    },
    "./client": {
      "types": "./dist/client/client.d.ts",
      "import": "./dist/client/client.js"
    },
    "./server": {
      "types": "./dist/server/server.d.ts",
      "import": "./dist/server/server.js"
    },
    "./router-utils": {
      "types": "./dist/router-utils/router-utils.d.ts",
      "import": "./dist/router-utils/router-utils.js"
    },
    "./plugins": {
      "types": "./dist/plugins/plugins.d.ts",
      "import": "./dist/plugins/plugins.js"
    },
    "./api-envelope": {
      "types": "./dist/api-envelope/api-envelope.d.ts",
      "import": "./dist/api-envelope/api-envelope.js"
    },
    "./starter-templates": {
      "types": "./dist/starter-templates/starter-templates.d.ts",
      "import": "./dist/starter-templates/starter-templates.js"
    },
    "./build-info": {
      "types": "./dist/build-info/build-info.d.ts",
      "import": "./dist/build-info/build-info.js"
    },
    "./config-vite": {
      "types": "./dist/config-vite/config-vite.d.ts",
      "import": "./dist/config-vite/config-vite.js"
    },
    "./utils": {
      "types": "./dist/utils/utils.d.ts",
      "import": "./dist/utils/utils.js"
    },
    "./eslint-plugin": {
      "types": "./dist/eslint-plugin/eslint-plugin.d.ts",
      "import": "./dist/eslint-plugin/eslint-plugin.js"
    }
  },
  "bin": {
    "unirend": "./dist/cli/cli.js"
  },
  "files": [
    "dist"
  ],
  "scripts": {
    "prepublishOnly": "bun audit && bun run build && bun run type-check && bun run lint && bun run spellcheck && bun test",
    "sync-version": "bun run scripts/sync-version.ts",
    "php-publish": "bun run php-test && bun run scripts/publish-php.ts",
    "php-install-deps": "cd unirend-php && composer install --no-interaction",
    "php-test": "bun run scripts/check-php-test-setup.ts && cd unirend-php && ./vendor/bin/phpunit",
    "check-deps": "bun run scripts/check-deps.ts",
    "build": "bun run sync-version && bun run check-deps && bun run update-docs && tsup",
    "type-check": "tsc --noEmit",
    "test": "bun test",
    "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,css,scss,md,html,php}\"",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "spellcheck": "cspell lint \"**/*.{ts,tsx,js,jsx,md,html,css,json}\"",
    "cspell:clean": "bun run scripts/clean-cspell.ts",
    "cspell:clean:fix": "bun run scripts/clean-cspell.ts --write",
    "list-outdated-packages": "bun outdated",
    "update-docs": "markdown-toc-gen update README.md && bun run scripts/update-readme-version.ts && markdown-toc-gen update changelog.md && markdown-toc-gen update unirend-php/README.md && find docs -type f -name '*.md' -print0 | xargs -0 -n1 markdown-toc-gen update && bun run format:docs",
    "format:docs": "prettier --write README.md changelog.md \"docs/**/*.md\" \"unirend-php/README.md\"",
    "ssg:spa-dev": "cd demos/ssg && vite",
    "ssg:build:client": "cd demos/ssg && vite build --outDir build/client --base=/ --ssrManifest",
    "ssg:build:server": "cd demos/ssg && vite build --outDir build/server --ssr EntrySSG.tsx",
    "ssg:build": "bun run ssg:build:client && bun run ssg:build:server",
    "ssg:generate:dev": "cd demos/ssg && bun run generate.ts dev",
    "ssg:generate:prod": "cd demos/ssg && bun run generate.ts prod",
    "ssg:build-and-generate:dev": "bun run ssg:build && bun run ssg:generate:dev",
    "ssg:build-and-generate:prod": "bun run ssg:build && bun run ssg:generate:prod",
    "ssg:serve:dev": "cd demos/ssg && bun run serve.ts dev",
    "ssg:serve:prod": "cd demos/ssg && bun run serve.ts prod",
    "ssg:build-generate-serve:prod": "bun run ssg:build-and-generate:prod && bun run ssg:serve:prod",
    "ssr:spa-dev": "cd demos/ssr && vite",
    "ssr:build:client": "cd demos/ssr && vite build --outDir build/client --base=/ --ssrManifest",
    "ssr:build:server": "cd demos/ssr && vite build --outDir build/server --ssr EntrySSR.tsx",
    "ssr:build:serve": "bun build demos/ssr/serve-built.ts --outdir demos/ssr/build/serve --target=node --external vite --define 'IS_BUILT=true'",
    "ssr:generate:build-info": "bun run demos/ssr/generate-build-info.ts",
    "ssr:build": "bun run ssr:generate:build-info && bun run ssr:build:client && bun run ssr:build:server && bun run ssr:build:serve",
    "ssr:serve:dev": "cd demos/ssr && bun run serve-hmr.ts dev",
    "ssr:serve:dev-node": "bun build demos/ssr/serve-hmr.ts --outfile demos/ssr/build/serve-hmr.js --target=node --external vite --define 'IS_BUILT=false' --external \"$(pwd)/demos/ssr/current-build-info.ts\" && SSR_SRC_DIR=$(pwd)/demos/ssr node demos/ssr/build/serve-hmr.js dev",
    "ssr:serve:prod": "node demos/ssr/build/serve/serve-built.js prod",
    "ssr:build-and-serve:prod": "bun run ssr:build && bun run ssr:serve:prod",
    "multi-ssr:build:app-a:client": "cd demos/multi-app-ssr && vite build --outDir build/client --base=/ --ssrManifest",
    "multi-ssr:build:app-a:server": "cd demos/multi-app-ssr && vite build --outDir build/server --ssr EntrySSR.tsx",
    "multi-ssr:build:app-b:client": "cd demos/multi-app-ssr/app-b && vite build --outDir ../build-app-b/client --base=/ --ssrManifest",
    "multi-ssr:build:app-b:server": "cd demos/multi-app-ssr/app-b && vite build --outDir ../build-app-b/server --ssr EntrySSR.tsx",
    "multi-ssr:build": "bun run multi-ssr:build:app-a:client && bun run multi-ssr:build:app-a:server && bun run multi-ssr:build:app-b:client && bun run multi-ssr:build:app-b:server",
    "multi-ssr:serve:dev": "cd demos/multi-app-ssr && bun run serve-hmr.ts dev",
    "multi-ssr:serve:prod": "cd demos/multi-app-ssr && bun run serve-built.ts prod",
    "multi-ssr:build-and-serve:prod": "bun run multi-ssr:build && bun run multi-ssr:serve:prod",
    "api-demo": "bun run demos/api-server-demo.ts dev",
    "api-static-demo": "bun run demos/api-static-content-demo.ts dev",
    "ws-demo": "bun run demos/ws-server-demo.ts dev",
    "ws-test": "bun run scripts/test-ws-build.ts",
    "run-dist-cli": "bun ./dist/cli/cli.js",
    "run-dev-cli": "bun run src/cli.ts",
    "test-cli-delegate-newer": "UNIREND_DELEGATED_FROM=99.99.99 bun run src/cli.ts version",
    "test-cli-delegate-older": "UNIREND_DELEGATED_FROM=0.0.0 bun run src/cli.ts version",
    "dump-error-pages": "bun run scripts/dump-error-pages.ts"
  },
  "keywords": [
    "ssg",
    "ssr",
    "vite",
    "react",
    "typescript"
  ],
  "author": "Kevin Whitman (https://github.com/keverw)",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/keverw/unirend"
  },
  "homepage": "https://github.com/keverw/unirend#readme",
  "bugs": {
    "url": "https://github.com/keverw/unirend/issues"
  },
  "engines": {
    "node": ">=25"
  },
  "devDependencies": {
    "@eslint/js": "^9.39.4",
    "@prettier/plugin-php": "^0.24.0",
    "@types/bun": "^1.3.14",
    "@types/node": "^24.13.2",
    "@types/picomatch": "^3.0.2",
    "@types/qs": "^6.15.1",
    "@types/react": "^19.2.17",
    "@types/react-dom": "^19.2.3",
    "@types/semver": "^7.7.1",
    "@types/ws": "^8.18.1",
    "@typescript-eslint/eslint-plugin": "^8.61.1",
    "@typescript-eslint/parser": "^8.61.1",
    "@vitejs/plugin-react": "^6.0.2",
    "cspell": "^10.0.1",
    "domhandler": "^5.0.3",
    "eslint": "^9.39.4",
    "eslint-import-resolver-typescript": "^4.4.5",
    "eslint-plugin-check-file": "^3.3.1",
    "eslint-plugin-import": "^2.32.0",
    "eslint-plugin-jsx-a11y": "^6.10.2",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^7.1.1",
    "eslint-plugin-react-refresh": "^0.5.3",
    "eslint-plugin-unicorn": "^62.0.0",
    "fastify-tsconfig": "^3.0.0",
    "get-port": "^7.2.0",
    "lifecycleion": "^0.0.18",
    "markdown-toc-gen": "^1.2.0",
    "picomatch": "^4.0.4",
    "prettier": "^3.8.4",
    "react": "^19.2.7",
    "react-dom": "^19.2.7",
    "react-router": "^8.0.1",
    "rollup-plugin-visualizer": "^7.0.1",
    "tsup": "^8.5.1",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.61.1",
    "vite": "^8.0.16"
  },
  "peerDependencies": {
    "lifecycleion": "^0.0.18",
    "react": "^19.0.0",
    "react-dom": "^19.0.0",
    "react-router": "^8.0.0",
    "vite": "^8.0.0"
  },
  "dependencies": {
    "@fastify/cookie": "^11.0.2",
    "@fastify/formbody": "^8.0.2",
    "@fastify/multipart": "^10.0.0",
    "@fastify/websocket": "^11.2.0",
    "cheerio": "^1.2.0",
    "entities": "^8.0.0",
    "fastify": "^5.8.5",
    "punycode": "^2.3.1",
    "qs": "^6.15.2",
    "range_check": "^4.1.0",
    "semver": "^7.8.4",
    "sort-package-json": "^4.0.0",
    "ulid": "^3.0.2"
  },
  "overrides": {
    "undici": "^7.28.0",
    "esbuild": "^0.28.1"
  }
}
