Files
api/unraid-ui/package.json
Eli Bosley d37dc3bce2 feat: API key management (#1407)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added a full-featured API key management UI, including creation,
listing, and deletion of API keys with customizable roles and
permissions.
  - Introduced a new page for API key management.
- Accordion UI components are now available for enhanced interface
interactions.
  - API now provides queries for possible API key roles and permissions.

- **Improvements**
- API key-related mutations are now grouped under a single field,
improving organization and usability.
  - Permissions can be assigned directly to API keys, not just roles.

- **Bug Fixes**
- Validation updated to require at least one role or permission when
creating an API key.

- **Documentation**
- Updated and added rules and configuration documentation for code
generation and testing.

- **Tests**
- Added and updated tests for new API key mutation logic; removed
obsolete tests for deprecated mutations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-23 13:12:26 -04:00

133 lines
4.0 KiB
JSON

{
"name": "@unraid/ui",
"version": "4.8.0",
"private": true,
"license": "GPL-2.0-or-later",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"sideEffects": false,
"files": [
"dist",
"tailwind.config.ts"
],
"scripts": {
"prepare": "pnpm build",
"// Development": "",
"dev": "vite",
"preview": "vite preview",
"test": "vitest",
"test:ui": "vitest --ui",
"coverage": "vitest run --coverage",
"// Build": "",
"prebuild": "npm run clean",
"build": "vite build",
"build:watch": "vite build -c vite.web-component.ts --mode production --watch",
"build:wc": "REM_PLUGIN=true vite build -c vite.web-component.ts --mode production",
"build:all": "vite build && vite build -c vite.web-component.ts --mode production",
"clean": "rimraf dist",
"type-check": "vue-tsc --noEmit",
"lint": "eslint src",
"lint:fix": "eslint src --fix",
"// Deploy to Unraid Server": "",
"preunraid:deploy": "pnpm build:wc",
"unraid:deploy": "just deploy",
"// Storybook": "",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build"
},
"peerDependencies": {
"tailwindcss": "^3.0.0",
"vue": "^3.3.0"
},
"dependencies": {
"@headlessui/vue": "^1.7.23",
"@heroicons/vue": "^2.2.0",
"@internationalized/number": "^3.6.0",
"@jsonforms/core": "^3.5.1",
"@jsonforms/vue": "^3.5.1",
"@jsonforms/vue-vanilla": "^3.5.1",
"@vueuse/core": "^13.0.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"kebab-case": "^2.0.1",
"lucide-vue-next": "^0.511.0",
"reka-ui": "^2.1.1",
"shadcn-vue": "^2.0.0",
"tailwind-merge": "^2.6.0",
"vue-sonner": "^1.3.0"
},
"devDependencies": {
"@ianvs/prettier-plugin-sort-imports": "^4.4.1",
"@storybook/addon-essentials": "^8.5.8",
"@storybook/addon-interactions": "^8.5.8",
"@storybook/addon-links": "^8.5.8",
"@storybook/builder-vite": "^8.5.8",
"@storybook/vue3-vite": "^8.5.8",
"@tailwindcss/typography": "^0.5.15",
"@testing-library/vue": "^8.0.0",
"@types/jsdom": "^21.1.7",
"@types/node": "^22.0.0",
"@types/testing-library__vue": "^5.0.0",
"@typescript-eslint/eslint-plugin": "^8.29.0",
"@unraid/tailwind-rem-to-rem": "^1.1.0",
"@vitejs/plugin-vue": "^5.0.0",
"@vitejs/plugin-vue-jsx": "^4.1.1",
"@vitest/coverage-v8": "^3.0.0",
"@vitest/ui": "^3.0.0",
"@vue/test-utils": "^2.4.0",
"@vue/tsconfig": "^0.7.0",
"autoprefixer": "^10.4.20",
"eslint": "^9.17.0",
"eslint-config-prettier": "^10.0.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-no-relative-import-paths": "^1.6.1",
"eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-vue": "^10.0.0",
"happy-dom": "^17.0.0",
"postcss": "^8.4.49",
"prettier": "3.5.3",
"prettier-plugin-tailwindcss": "^0.6.11",
"rimraf": "^6.0.1",
"storybook": "^8.5.8",
"tailwind-rem-to-rem": "github:unraid/tailwind-rem-to-rem",
"tailwindcss": "^3.0.0",
"tailwindcss-animate": "^1.0.7",
"typescript": "^5.7.3",
"typescript-eslint": "^8.13.0",
"vite": "^6.0.0",
"vite-plugin-dts": "^3.0.0",
"vite-plugin-vue-devtools": "^7.7.1",
"vitest": "^3.0.0",
"vue": "^3.3.0",
"vue-tsc": "^2.0.0"
},
"optionalDependencies": {
"@rollup/rollup-linux-x64-gnu": "^4.30.1"
},
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
},
"./styles": "./dist/style.css",
"./styles/*": "./src/styles/*",
"./tailwind.config": {
"types": "./dist/tailwind.config.d.ts",
"import": "./dist/tailwind.config.js",
"default": "./dist/tailwind.config.js"
},
"./tailwind.config.ts": {
"import": "./tailwind.config.ts",
"default": "./tailwind.config.ts"
},
"./theme/preset": {
"types": "./dist/theme/preset.d.ts",
"import": "./dist/theme/preset.js"
}
},
"packageManager": "pnpm@10.11.0"
}