UNPKG

permix

Version:

Permix is a lightweight, framework-agnostic, type-safe permissions management library for JavaScript applications on the client and server sides.

253 lines 6.31 kB
{ "name": "permix", "displayName": "Permix", "version": "4.3.0", "private": false, "description": "Permix is a lightweight, framework-agnostic, type-safe permissions management library for JavaScript applications on the client and server sides.", "keywords": [ "access-control", "acl", "authorization", "frontend", "javascript", "nestjs", "nextjs", "permissions", "permissions-management", "rbac", "react", "security", "solid", "svelte", "type-safe", "typescript", "vue" ], "homepage": "https://permix.letstri.dev", "bugs": { "url": "https://github.com/letstri/permix/issues" }, "license": "MIT", "author": "Valerii Strilets", "repository": { "type": "git", "url": "git+https://github.com/letstri/permix.git", "directory": "permix" }, "funding": "https://github.com/sponsors/letstri", "files": [ "dist", "skills" ], "type": "module", "main": "./dist/core/index.mjs", "types": "./dist/core/index.d.mts", "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" }, "./nest": { "types": "./dist/nest/index.d.mts", "import": "./dist/nest/index.mjs" } }, "devDependencies": { "@nestjs/common": "^11.2.3", "@nestjs/core": "^11.2.3", "@nestjs/platform-express": "^11.2.3", "@nestjs/platform-fastify": "^11.2.3", "@nestjs/testing": "^11.2.3", "@solidjs/testing-library": "^0.8.10", "@sveltejs/package": "^2.5.8", "@sveltejs/vite-plugin-svelte": "^7.3.0", "@tanstack/react-start": "^1.168.52", "@testing-library/jest-dom": "^7.0.1", "@testing-library/react": "^16.3.3", "@testing-library/svelte": "^5.4.2", "@types/express": "^5.0.6", "@types/node": "^26.5.1", "@types/react": "^19.3.0", "@types/supertest": "^7.2.1", "@vitejs/plugin-react": "^6.1.1", "@vitest/coverage-v8": "^5.0.0", "@vue/test-utils": "^2.5.0", "drizzle-orm": "1.0.0-rc.3", "effect": "^3.22.2", "fastify": "^5.12.4", "happy-dom": "^20.14.5", "react": "^19.3.0", "react-dom": "^19.3.0", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.2", "supertest": "^7.2.2", "svelte": "^5.56.0", "svelte-check": "^4.7.6", "tsdown": "^0.23.0", "typescript": "^6.0.3", "vite-plugin-solid": "^2.11.14", "vitest": "^5.0.0", "vue": "^3.5.17", "zod": "^4.6.2" }, "peerDependencies": { "@nestjs/common": ">=10", "@nestjs/core": ">=10", "@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", "reflect-metadata": ">=0.1.13", "solid-js": ">=1", "svelte": ">=5", "vue": ">=3" }, "peerDependenciesMeta": { "@nestjs/common": { "optional": true }, "@nestjs/core": { "optional": true }, "@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 }, "reflect-metadata": { "optional": true }, "solid-js": { "optional": true }, "svelte": { "optional": true }, "vue": { "optional": true } }, "engines": { "node": ">=22" }, "scripts": { "build": "tsdown && pnpm run build:svelte", "build:svelte": "svelte-package -i src/svelte -o dist/svelte && node ./scripts/build-svelte.ts", "check-types": "tsc --build && svelte-check --tsconfig ./tsconfig.svelte.json", "scripts:copy-readme": "node ./scripts/copy-readme.ts", "test": "vitest run" } }