{ "name": "@unraid/web", "version": "4.18.2", "private": true, "license": "GPL-2.0-or-later", "scripts": { "// Development": "", "predev": "pnpm --filter=@unraid/ui build", "dev": "nuxt dev --dotenv .env.example", "preview": "nuxt preview", "serve": "NODE_ENV=production PORT=${PORT:-4321} node .output/server/index.mjs", "// Build": "", "prebuild:dev": "pnpm predev", "build:dev": "nuxi build --dotenv .env.production && pnpm run manifest-ts && pnpm run deploy-to-unraid:dev", "build:webgui": "pnpm run type-check && nuxi build --dotenv .env.production && pnpm run manifest-ts && pnpm run copy-to-webgui-repo", "build": "NODE_ENV=production nuxi build --dotenv .env.production && pnpm run manifest-ts && pnpm run validate:css", "prebuild:watch": "pnpm predev", "build:watch": "nuxi build --dotenv .env.production --watch && pnpm run manifest-ts", "generate": "nuxt generate", "manifest-ts": "node ./scripts/add-timestamp-webcomponent-manifest.js", "validate:css": "node ./scripts/validate-custom-elements-css.js", "// Deployment": "", "unraid:deploy": "pnpm build:dev", "deploy-to-unraid:dev": "./scripts/deploy-dev.sh", "copy-to-webgui-repo": "./scripts/copy-to-webgui-repo.sh", "// Code Quality": "", "lint": "eslint .", "lint:fix": "eslint . --fix", "type-check": "nuxi typecheck", "clean": "rm -rf .nuxt .output dist", "// GraphQL Codegen": "", "codegen": "graphql-codegen --config codegen.ts -r dotenv/config", "codegen:watch": "graphql-codegen --config codegen.ts --watch -r dotenv/config", "// Testing": "", "test": "vitest run", "test:watch": "vitest", "test:ci": "vitest run", "// Nuxt": "", "postinstall": "nuxt prepare" }, "devDependencies": { "@graphql-codegen/cli": "5.0.7", "@graphql-codegen/client-preset": "4.8.3", "@graphql-codegen/introspection": "4.0.3", "@graphql-typed-document-node/core": "3.2.0", "@ianvs/prettier-plugin-sort-imports": "4.6.3", "@nuxt/devtools": "2.6.3", "@nuxt/eslint": "1.9.0", "@nuxt/test-utils": "3.19.2", "@pinia/testing": "1.0.2", "@rollup/plugin-strip": "3.0.4", "@tailwindcss/typography": "0.5.16", "@tailwindcss/vite": "4.1.12", "@testing-library/vue": "8.1.0", "@types/crypto-js": "4.2.2", "@types/eslint-config-prettier": "6.11.3", "@types/node": "22.18.0", "@types/semver": "7.7.0", "@typescript-eslint/eslint-plugin": "8.41.0", "@unraid/tailwind-rem-to-rem": "2.0.0", "@vitejs/plugin-vue": "6.0.1", "@vitest/coverage-v8": "3.2.4", "@vue/apollo-util": "4.2.2", "@vue/test-utils": "2.4.6", "@vueuse/core": "13.8.0", "@vueuse/nuxt": "13.8.0", "eslint": "9.34.0", "eslint-config-prettier": "10.1.8", "eslint-import-resolver-typescript": "4.4.4", "eslint-plugin-import": "2.32.0", "happy-dom": "18.0.1", "lodash-es": "4.17.21", "nuxt": "3.18.1", "nuxt-custom-elements": "2.0.0-beta.32", "prettier": "3.6.2", "prettier-plugin-tailwindcss": "0.6.14", "shadcn-nuxt": "2.2.0", "tailwindcss": "4.1.12", "terser": "5.43.1", "tw-animate-css": "1.3.7", "typescript": "5.9.2", "vite": "7.1.3", "vite-plugin-remove-console": "2.2.0", "vite-plugin-vue-tracer": "1.0.0", "vitest": "3.2.4", "vue": "3.5.20", "vue-tsc": "3.0.6", "vuetify-nuxt-module": "0.18.7" }, "dependencies": { "@apollo/client": "3.14.0", "@floating-ui/dom": "1.7.4", "@floating-ui/utils": "0.2.10", "@floating-ui/vue": "1.1.9", "@headlessui/vue": "1.7.23", "@heroicons/vue": "2.2.0", "@jsonforms/core": "3.6.0", "@jsonforms/vue": "3.6.0", "@jsonforms/vue-vanilla": "3.6.0", "@jsonforms/vue-vuetify": "3.6.0", "@nuxt/ui": "3.3.2", "@nuxtjs/color-mode": "3.5.2", "@pinia/nuxt": "0.11.2", "@unraid/shared-callbacks": "1.1.1", "@unraid/ui": "link:../unraid-ui", "@vue/apollo-composable": "4.2.2", "@vueuse/components": "13.8.0", "@vueuse/integrations": "13.8.0", "ajv": "8.17.1", "ansi_up": "^6.0.6", "class-variance-authority": "0.7.1", "clsx": "2.1.1", "crypto-js": "4.2.0", "dayjs": "1.11.14", "focus-trap": "7.6.5", "graphql": "16.11.0", "graphql-tag": "2.12.6", "graphql-ws": "6.0.6", "hex-to-rgba": "2.0.1", "highlight.js": "11.11.1", "isomorphic-dompurify": "2.26.0", "lucide-vue-next": "0.542.0", "marked": "16.2.1", "marked-base-url": "1.1.7", "pinia": "3.0.3", "postcss-import": "16.1.1", "semver": "7.7.2", "tailwind-merge": "2.6.0", "vue-i18n": "11.1.11", "vue-web-component-wrapper": "1.7.7", "vuetify": "3.9.6", "wretch": "2.11.0" }, "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "4.49.0" }, "packageManager": "pnpm@10.15.0" }