{
  "name": "adminizer",
  "type": "module",
  "version": "4.6.0",
  "main": "index.js",
  "exports": {
    ".": "./index.js",
    "./lib/DataAccessor": "./dist/lib/DataAccessor.js",
    "./ui/*": "./dist/ui/components/ui/*.js",
    "./adminizer-module": "./adminizer-module.d.ts"
  },
  "scripts": {
    "test": "vitest --watch=false",
    "test:watch": "vitest --reporter verbose",
    "start": "cross-env NO_SEED_DATA=true ORM=sequelize tsx --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
    "start:waterline": "cross-env NO_SEED_DATA=true ORM=waterline tsx --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
    "dev": "cross-env ADMINIZER_VITE_ENV=dev VITE_ENV=dev ORM=sequelize tsx watch --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
    "dev:no-seed": "cross-env ADMINIZER_VITE_ENV=dev VITE_ENV=dev NO_SEED_DATA=true ORM=sequelize tsx watch --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
    "dev:no-seed-clean": "cross-env ADMINIZER_VITE_ENV=dev VITE_ENV=dev NO_SEED_DATA=true CLEAN_TMP=true ORM=sequelize tsx watch --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
    "dev:waterline": "cross-env ADMINIZER_VITE_ENV=dev VITE_ENV=dev ORM=waterline tsx watch --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
    "dev:waterline:no-seed": "cross-env ADMINIZER_VITE_ENV=dev VITE_ENV=dev NO_SEED_DATA=true ORM=waterline tsx watch --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
    "dev:cors": "cross-env ADMINIZER_VITE_ENV=dev VITE_ENV=dev NO_SEED_DATA=true ORM=waterline FRONTEND_URL=http://localhost:8080 tsx watch --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
    "build:assets": "vite build",
    "compile:backend": "tsc -p src/tsconfig.json && node ./scripts/appendJsExtension.js",
    "compile:ui": "tsc -p tsconfig.ui.json",
    "tsc:watch": "tsc -w -p src/tsconfig.json",
    "copy:backend": "node copy-backend.js",
    "build:backend": "npm run copy:backend && npm run compile:backend",
    "build": "npm run copy:backend && npm run compile:backend && npm run compile:ui && npm run build:assets",
    "build:module": "vite build --config modules/test/vite.config.module.ts",
    "build:react-quill": "vite build --config modules/controls/wysiwyg/vite.config.react-quill.ts",
    "build:catalog-modules": "vite build --config modules/testCatalog/vite.config.module.ts",
    "copy:modules": "node copy-modules.js",
    "build:assets:modules": "npm run build:assets && npm run copy:modules",
    "start:seed": "cross-env ORM=sequelize tsx --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
    "demo:build": "npm run copy:backend && npm run compile:backend && npm run build:assets && npm run copy:modules",
    "demo": "cross-env ORM=sequelize tsx --tsconfig ./fixture/tsconfig.json ./fixture/index.ts"
  },
  "keywords": [],
  "author": "Siziy Ivan <xziy88@gmail.com>",
  "contributors": [
    "Serebriakov Roman <rserebryakov1902@gmail.com>"
  ],
  "license": "MIT",
  "description": "A modern, framework-agnostic admin panel for Node.js with TypeScript backend and React frontend",
  "repository": {
    "type": "git",
    "url": "https://github.com/adminization/adminizer"
  },
  "dependencies": {
    "@minoru/react-dnd-treeview": "^3.5.2",
    "@radix-ui/react-context-menu": "^2.2.15",
    "@radix-ui/react-tabs": "^1.1.12",
    "body-parser": "^1.20.3",
    "chalk": "^5.4.1",
    "cmdk": "^1.1.1",
    "cookie": "^1.0.2",
    "cookie-parser": "^1.4.7",
    "cors": "^2.8.5",
    "crypto-puzzle": "^5.0.2",
    "date-fns": "^3.6.0",
    "deep-object-diff": "^1.1.9",
    "dotenv": "^17.2.2",
    "express": "^4.21.2",
    "express-session": "^1.18.1",
    "image-size": "^2.0.2",
    "jsonwebtoken": "^9.0.2",
    "material-icons": "^1.13.14",
    "multer": "^1.4.5-lts.1",
    "next-themes": "^0.4.6",
    "password-hash": "^1.2.2",
    "react-cropper": "^2.3.3",
    "react-dnd": "^16.0.1",
    "reflect-metadata": "^0.2.2",
    "sequelize": "^6.37.7",
    "sharp": "^0.33.5",
    "sprintf-js": "^1.1.3",
    "typeorm": "^0.3.20",
    "uuid": "^11.0.5",
    "waterline": "^0.15.2",
    "winston": "^3.17.0",
    "zod": "^4.1.11"
  },
  "devDependencies": {
    "@babel/plugin-proposal-decorators": "^7.27.1",
    "@ckeditor/ckeditor5-react": "^9.5.0",
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/sortable": "^10.0.0",
    "@eslint/compat": "^1.2.9",
    "@faker-js/faker": "^9.7.0",
    "@handsontable/react": "^15.2.0",
    "@inertiajs/react": "^2.2.0",
    "@monaco-editor/react": "^4.7.0",
    "@openai/agents": "^0.3.2",
    "@radix-ui/react-avatar": "^1.1.3",
    "@radix-ui/react-checkbox": "^1.1.4",
    "@radix-ui/react-collapsible": "^1.1.3",
    "@radix-ui/react-dialog": "^1.1.7",
    "@radix-ui/react-dropdown-menu": "^2.1.6",
    "@radix-ui/react-label": "^2.1.2",
    "@radix-ui/react-menubar": "^1.1.12",
    "@radix-ui/react-popover": "^1.1.7",
    "@radix-ui/react-portal": "^1.1.6",
    "@radix-ui/react-select": "^2.1.6",
    "@radix-ui/react-separator": "^1.1.3",
    "@radix-ui/react-slider": "^1.2.3",
    "@radix-ui/react-slot": "^1.2.0",
    "@radix-ui/react-switch": "^1.2.4",
    "@radix-ui/react-tooltip": "^1.1.8",
    "@tailwindcss/vite": "^4.0.15",
    "@tanstack/react-table": "^8.21.2",
    "@toast-ui/react-editor": "^3.2.3",
    "@types/cookie-parser": "^1.4.8",
    "@types/cors": "^2.8.17",
    "@types/express": "^5.0.0",
    "@types/express-session": "^1.18.1",
    "@types/he": "^1.2.3",
    "@types/json-schema": "^7.0.15",
    "@types/jsonwebtoken": "^9.0.9",
    "@types/leaflet": "^1.9.17",
    "@types/lodash": "^4.17.17",
    "@types/lodash-es": "^4.17.12",
    "@types/multer": "^1.4.12",
    "@types/node": "^22.10.5",
    "@types/password-hash": "^1.2.24",
    "@types/react": "^19.0.3",
    "@types/react-dom": "^19.0.2",
    "@types/react-grid-layout": "^1.3.5",
    "@types/sprintf-js": "^1.1.4",
    "@types/uuid": "^10.0.0",
    "@types/waterline": "^0.13.9",
    "@typescript-eslint/eslint-plugin": "^8.32.1",
    "@vitejs/plugin-react": "^4.3.4",
    "babel-plugin-react-compiler": "^19.0.0-beta-e993439-20250405",
    "ckeditor5": "^45.0.0",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "cross-env": "^7.0.3",
    "eslint": "^9.26.0",
    "handsontable": "^15.2.0",
    "isomorphic-webcrypto": "^2.3.8",
    "json-schema": "^0.4.0",
    "leaflet": "^1.9.4",
    "leaflet-draw": "^1.0.4",
    "lodash-es": "^4.17.21",
    "lucide-react": "^0.485.0",
    "react": "^19.0.0",
    "react-day-picker": "^8.10.1",
    "react-dom": "^19.0.0",
    "react-grid-layout": "^1.5.1",
    "react-intersection-observer": "^9.16.0",
    "react-leaflet": "^5.0.0",
    "react-quill-new": "^3.4.6",
    "react-simple-wysiwyg": "^3.2.2",
    "sails-disk": "^2.1.2",
    "sails-postgresql": "^5.0.1",
    "sequelize": "^6.37.7",
    "sequelize-typescript": "^2.1.6",
    "shelljs": "^0.9.2",
    "sonner": "^2.0.3",
    "sqlite3": "^5.1.7",
    "tailwind-merge": "^3.0.2",
    "tailwindcss": "^4.0.15",
    "tsx": "^4.19.3",
    "tw-animate-css": "^1.2.5",
    "typescript": "^5.7.2",
    "vanilla-jsoneditor": "^3.1.1",
    "vite": "^6.1.0",
    "vite-plugin-externals": "^0.6.2",
    "vite-plugin-full-reload": "^1.2.0",
    "vitest": "^3.0.7"
  }
}
