{
  "name": "permix",
  "displayName": "Permix",
  "type": "module",
  "version": "4.1.1",
  "private": false,
  "description": "Permix is a lightweight, framework-agnostic, type-safe permissions management library for JavaScript applications on the client and server sides.",
  "author": "Valerii Strilets",
  "license": "MIT",
  "funding": "https://github.com/sponsors/letstri",
  "homepage": "https://permix.letstri.dev",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/letstri/permix.git",
    "directory": "permix"
  },
  "bugs": {
    "url": "https://github.com/letstri/permix/issues"
  },
  "keywords": [
    "permissions",
    "authorization",
    "acl",
    "access-control",
    "typescript",
    "react",
    "nextjs",
    "vue",
    "solid",
    "svelte",
    "type-safe",
    "rbac",
    "security",
    "permissions-management",
    "frontend",
    "javascript",
    "tanstack-intent"
  ],
  "intent": {
    "repo": "letstri/permix",
    "docs": "../docs/content/docs"
  },
  "exports": {
    ".": {
      "types": "./dist/core/index.d.mts",
      "import": "./dist/core/index.mjs"
    },
    "./react": {
      "types": "./dist/react/index.d.mts",
      "import": "./dist/react/index.mjs"
    },
    "./vue": {
      "types": "./dist/vue/index.d.mts",
      "import": "./dist/vue/index.mjs"
    },
    "./trpc": {
      "types": "./dist/trpc/index.d.mts",
      "import": "./dist/trpc/index.mjs"
    },
    "./orpc": {
      "types": "./dist/orpc/index.d.mts",
      "import": "./dist/orpc/index.mjs"
    },
    "./express": {
      "types": "./dist/express/index.d.mts",
      "import": "./dist/express/index.mjs"
    },
    "./hono": {
      "types": "./dist/hono/index.d.mts",
      "import": "./dist/hono/index.mjs"
    },
    "./node": {
      "types": "./dist/node/index.d.mts",
      "import": "./dist/node/index.mjs"
    },
    "./server": {
      "types": "./dist/server/index.d.mts",
      "import": "./dist/server/index.mjs"
    },
    "./elysia": {
      "types": "./dist/elysia/index.d.mts",
      "import": "./dist/elysia/index.mjs"
    },
    "./fastify": {
      "types": "./dist/fastify/index.d.mts",
      "import": "./dist/fastify/index.mjs"
    },
    "./solid": {
      "types": "./dist/solid/index.d.mts",
      "import": "./dist/solid/index.mjs"
    },
    "./svelte": {
      "types": "./dist/svelte/index.d.ts",
      "svelte": "./dist/svelte/index.js",
      "import": "./dist/svelte/index.js",
      "default": "./dist/svelte/index.js"
    },
    "./drizzle": {
      "types": "./dist/drizzle/index.d.mts",
      "import": "./dist/drizzle/index.mjs"
    },
    "./drizzle/legacy": {
      "types": "./dist/drizzle/legacy/index.d.mts",
      "import": "./dist/drizzle/legacy/index.mjs"
    },
    "./effect": {
      "types": "./dist/effect/index.d.mts",
      "import": "./dist/effect/index.mjs"
    },
    "./next": {
      "types": "./dist/next/index.d.mts",
      "import": "./dist/next/index.mjs"
    },
    "./tanstack-start": {
      "types": "./dist/tanstack-start/index.d.mts",
      "import": "./dist/tanstack-start/index.mjs"
    }
  },
  "main": "./dist/core/index.mjs",
  "types": "./dist/core/index.d.mts",
  "files": [
    "dist",
    "skills"
  ],
  "engines": {
    "node": ">=22"
  },
  "peerDependencies": {
    "@orpc/server": ">=1",
    "@tanstack/react-start": ">=1",
    "@trpc/server": ">=11",
    "drizzle-orm": ">=0.30.0 || >=1.0.0-rc.3",
    "effect": ">=3",
    "elysia": ">=1",
    "express": ">=4",
    "fastify": ">=5",
    "fastify-plugin": ">=5",
    "hono": ">=4",
    "next": ">=14",
    "react": ">=18",
    "react-dom": ">=18",
    "solid-js": ">=1",
    "svelte": ">=5",
    "vue": ">=3"
  },
  "peerDependenciesMeta": {
    "@orpc/server": {
      "optional": true
    },
    "@tanstack/react-start": {
      "optional": true
    },
    "@trpc/server": {
      "optional": true
    },
    "drizzle-orm": {
      "optional": true
    },
    "effect": {
      "optional": true
    },
    "elysia": {
      "optional": true
    },
    "express": {
      "optional": true
    },
    "fastify": {
      "optional": true
    },
    "fastify-plugin": {
      "optional": true
    },
    "hono": {
      "optional": true
    },
    "next": {
      "optional": true
    },
    "react": {
      "optional": true
    },
    "react-dom": {
      "optional": true
    },
    "solid-js": {
      "optional": true
    },
    "svelte": {
      "optional": true
    },
    "vue": {
      "optional": true
    }
  },
  "devDependencies": {
    "@solidjs/testing-library": "^0.8.10",
    "@sveltejs/package": "^2.5.7",
    "@sveltejs/vite-plugin-svelte": "^7.1.2",
    "@tanstack/intent": "^0.0.42",
    "@tanstack/react-start": "^1.168.18",
    "@testing-library/jest-dom": "^6.9.1",
    "@testing-library/react": "^16.3.2",
    "@testing-library/svelte": "^5.3.1",
    "@types/express": "^5.0.6",
    "@types/node": "^25.9.1",
    "@types/react": "^19.2.15",
    "@types/supertest": "^7.2.0",
    "@vitejs/plugin-react": "^6.0.2",
    "@vitest/coverage-v8": "^4.1.8",
    "@vue/test-utils": "^2.4.10",
    "drizzle-orm": "1.0.0-rc.3",
    "effect": "^3.21.2",
    "happy-dom": "^20.9.0",
    "react-dom": "^19.2.6",
    "supertest": "^7.2.2",
    "svelte": "^5.56.0",
    "svelte-check": "^4.5.0",
    "tsdown": "^0.22.1",
    "typescript": "^6.0.3",
    "vite-plugin-solid": "^2.11.12",
    "vitest": "^4.1.8",
    "vue": "^3.5.17",
    "zod": "^4.4.3"
  },
  "scripts": {
    "build": "tsdown && pnpm run build:svelte",
    "build:svelte": "svelte-package -i src/svelte -o dist/svelte && node ./scripts/build-svelte.ts",
    "test": "vitest run",
    "check-types": "tsc --build && svelte-check --tsconfig ./tsconfig.svelte.json",
    "scripts:copy-readme": "node ./scripts/copy-readme.ts",
    "skills:validate": "intent validate skills",
    "skills:stale": "intent stale skills"
  }
}