{
  "name": "@plyaz/storage",
  "version": "1.1.0",
  "description": "Multi-provider file storage package with support for CloudflareR2, Supabase Storage, and custom adapters. Includes virus scanning, metadata extraction, media processing, compliance, and PDF generation.",
  "type": "module",
  "keywords": [
    "storage",
    "upload",
    "cloudflare",
    "r2",
    "supabase",
    "file-storage",
    "media-processing",
    "pdf"
  ],
  "packageManager": "pnpm@10.11.0",
  "main": "./dist/index.cjs",
  "module": "./dist/index.mjs",
  "types": "./dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.mjs",
      "require": "./dist/index.cjs",
      "default": "./dist/index.mjs"
    },
    "./templates": "./templates",
    "./templates/*": "./templates/*",
    "./package.json": "./package.json"
  },
  "engines": {
    "node": ">=22.4.0",
    "pnpm": ">=8.0.0"
  },
  "author": "Redeemer Pace",
  "license": "ISC",
  "files": [
    "dist",
    "templates"
  ],
  "dependencies": {
    "@inquirer/prompts": "^7.3.2",
    "@plyaz/api": "^1.7.4",
    "@plyaz/config": "1.9.5",
    "@plyaz/errors": "^1.5.6",
    "@plyaz/logger": "^1.4.1",
    "archiver": "^7.0.1",
    "commander": "^13.1.0",
    "file-type": "^21.0.0",
    "gray-matter": "^4.0.3",
    "handlebars": "^4.7.8",
    "marked": "^16.4.1",
    "unzipper": "^0.12.3",
    "yaml": "^2.8.2"
  },
  "devDependencies": {
    "@changesets/cli": "^2.29.7",
    "@eslint/eslintrc": "^3.3.1",
    "@eslint/js": "^9.38.0",
    "@eslint/markdown": "^6.6.0",
    "@plyaz/devtools": "^1.9.4",
    "@plyaz/testing": "^1.5.5",
    "@plyaz/types": "^1.45.1",
    "@testing-library/jest-dom": "^6.9.1",
    "@testing-library/react": "^16.3.0",
    "@testing-library/user-event": "^14.6.1",
    "@types/node": "^22.18.12",
    "@types/pdfkit": "^0.17.3",
    "@types/react": "^19.2.2",
    "@types/react-dom": "^19.2.2",
    "@typescript-eslint/eslint-plugin": "^8.46.2",
    "@typescript-eslint/parser": "^8.46.2",
    "@vitest/coverage-istanbul": "3.2.4",
    "@vitest/coverage-v8": "^3.2.4",
    "chokidar": "^5.0.0",
    "dotenv": "^17.2.3",
    "eslint": "^9.38.0",
    "eslint-config-next": "^15.5.6",
    "eslint-config-prettier": "^9.1.2",
    "eslint-import-resolver-typescript": "^3.10.1",
    "eslint-mdx": "^3.6.2",
    "eslint-plugin-better-tailwindcss": "3.2.1",
    "eslint-plugin-functional": "^4.4.1",
    "eslint-plugin-import": "^2.32.0",
    "eslint-plugin-jest": "^28.14.0",
    "eslint-plugin-jsdoc": "^50.8.0",
    "eslint-plugin-jsonc": "^2.21.0",
    "eslint-plugin-jsx-a11y": "^6.10.2",
    "eslint-plugin-markdownlint": "^0.9.0",
    "eslint-plugin-mdx": "^3.6.2",
    "eslint-plugin-n": "^17.23.1",
    "eslint-plugin-prettier": "^5.5.4",
    "eslint-plugin-promise": "^7.2.1",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^5.2.0",
    "eslint-plugin-react-refresh": "^0.4.24",
    "eslint-plugin-regexp": "^2.10.0",
    "eslint-plugin-security": "^3.0.1",
    "eslint-plugin-simple-import-sort": "^12.1.1",
    "eslint-plugin-sonarjs": "^0.23.0",
    "eslint-plugin-storybook": "^0.12.0",
    "eslint-plugin-testing-library": "^6.5.0",
    "eslint-plugin-unicorn": "^56.0.1",
    "eslint-plugin-unused-imports": "^4.3.0",
    "jiti": "^2.6.1",
    "jsdom": "^26.1.0",
    "markdownlint": "^0.38.0",
    "prettier": "^3.6.2",
    "standard-version": "^9.5.0",
    "tailwindcss": "^4.1.16",
    "tsup": "8.5.0",
    "tsx": "^4.19.2",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.46.2",
    "vite": "^6.4.1",
    "vite-plugin-dts": "^4.5.4",
    "vitest": "3.2.4",
    "zod": "4.1.5"
  },
  "peerDependencies": {
    "@aws-sdk/client-s3": "^3.0.0",
    "@supabase/supabase-js": "^2.0.0",
    "next": "^14.0.0 || ^15.0.0",
    "react": "^18.0.0 || ^19.0.0",
    "react-dom": "^18.0.0 || ^19.0.0"
  },
  "optionalDependencies": {
    "@aws-sdk/client-cloudfront": "^3.922.0",
    "@aws-sdk/client-s3": "^3.921.0",
    "@aws-sdk/s3-request-presigner": "^3.921.0",
    "@ffmpeg-installer/ffmpeg": "^1.1.0",
    "@supabase/supabase-js": "^2.78.0",
    "docxtemplater": "^3.67.1",
    "exceljs": "^4.4.0",
    "exifr": "^7.1.3",
    "ioredis": "^5.8.2",
    "music-metadata": "^11.9.0",
    "next": "15.4.7",
    "pdf-parse": "^2.4.5",
    "pdfkit": "^0.17.2",
    "pizzip": "^3.2.0",
    "playwright": "^1.56.1",
    "puppeteer": "^24.27.0",
    "react": "19.2.0",
    "react-dom": "19.2.0",
    "sharp": "^0.34.4"
  },
  "peerDependenciesMeta": {
    "@aws-sdk/client-s3": {
      "optional": true
    },
    "@supabase/supabase-js": {
      "optional": true
    },
    "react": {
      "optional": true
    },
    "react-dom": {
      "optional": true
    },
    "next": {
      "optional": true
    }
  },
  "scripts": {
    "build": "pnpm clean && pnpm build:js && pnpm build:types",
    "build:js": "tsup",
    "build:types": "node --max-old-space-size=6144 node_modules/typescript/bin/tsc -p tsconfig.build.json",
    "build:watch": "tsup --watch",
    "dev": "tsup --watch",
    "lint": "eslint ./src ./tests",
    "lint:fix": "eslint ./src ./tests --fix",
    "format": "prettier --write './**/*.{ts,tsx,js,jsx}'",
    "format:check": "prettier --check './**/*.{ts,tsx,js,jsx}'",
    "type:check": "tsc --noEmit",
    "test": "vitest run --no-watch",
    "test:ci": "vitest run --no-watch",
    "test:watch": "vitest --watch",
    "test:coverage": "vitest run --coverage",
    "test:ui": "vitest --ui",
    "clean": "rm -rf dist",
    "example:basic": "npx tsx examples/basic-usage.ts",
    "example:adapter:supabase": "npx tsx examples/multi-tenant-routing-test.ts --adapter=supabase",
    "example:adapter:cloudflare-r2": "npx tsx examples/multi-tenant-routing-test.ts --adapter=cloudflare-r2",
    "example:adapter:both": "npx tsx examples/multi-tenant-routing-test.ts --adapter=both",
    "audit": "pnpm audit",
    "audit:moderate": "pnpm audit --audit-level moderate",
    "audit:high": "pnpm audit --audit-level high",
    "audit:critical": "pnpm audit --audit-level critical",
    "audit:fix": "pnpm audit --fix",
    "audit:enhanced": "npx audit-ci --moderate",
    "security:check": "pnpm audit:moderate && npx audit-ci --moderate",
    "remove:unused": "pnpm remove:unused:fnc && pnpm remove:unused:interfaces",
    "remove:unused:interfaces": "pnpm exec ./node_modules/@plyaz/devtools/scripts/check_types.ts --remove --report=./internal-reports/unused-types-report.md",
    "remove:unused:fnc": "pnpm exec ./node_modules/@plyaz/devtools/scripts/check_fnc.ts --report=./internal-reports/unused-declarations.md",
    "check:dependencies": "npx tsx ./node_modules/@plyaz/devtools/scripts/check_dependencies_versions.ts --report=./internal-reports/dependency-report.md",
    "move:types": "npx tsx ./scripts/move_types.ts src/ --report=internal-reports/moved_types.md",
    "move:constants": "npx tsx ./node_modules/@plyaz/devtools/scripts/move_constants.ts src/ --report=internal-reports/moved_consts.md",
    "generate": "npx tsx ./bin/generate.ts",
    "generate:template": "npx tsx ./bin/generate.ts template",
    "generate:layout": "npx tsx ./bin/generate.ts layout",
    "generate:header": "npx tsx ./bin/generate.ts header",
    "generate:footer": "npx tsx ./bin/generate.ts footer",
    "generate:wrapper": "npx tsx ./bin/generate.ts wrapper",
    "generate:helper": "npx tsx ./bin/generate.ts helper",
    "generate:plugin": "npx tsx ./bin/generate.ts plugin",
    "generate:adapter": "npx tsx ./bin/generate.ts adapter",
    "generate:webhook": "npx tsx ./bin/generate.ts webhook",
    "generate:init": "npx tsx ./bin/generate.ts init",
    "generate:list": "npx tsx ./bin/generate.ts list",
    "generate:history": "npx tsx ./bin/generate.ts history",
    "generate:undo": "npx tsx ./bin/generate.ts undo",
    "generate:template:list": "npx tsx ./bin/generate.ts template:list",
    "generate:template:validate": "npx tsx ./bin/generate.ts template:validate",
    "generate:template:render": "npx tsx ./bin/generate.ts template:render",
    "generate:template:diff": "npx tsx ./bin/generate.ts template:diff",
    "generate:template:migrate": "npx tsx ./bin/generate.ts template:migrate",
    "generate:layout:list": "npx tsx ./bin/generate.ts layout:list",
    "generate:layout:validate": "npx tsx ./bin/generate.ts layout:validate",
    "generate:helper:list": "npx tsx ./bin/generate.ts helper:list",
    "generate:adapter:list": "npx tsx ./bin/generate.ts adapter:list",
    "generate:config:show": "npx tsx ./bin/generate.ts config:show",
    "generate:config:validate": "npx tsx ./bin/generate.ts config:validate",
    "generate:preset:list": "npx tsx ./bin/generate.ts preset:list",
    "generate:preset:use": "npx tsx ./bin/generate.ts preset:use",
    "generate:preset:create": "npx tsx ./bin/generate.ts preset:create",
    "generate:preset:delete": "npx tsx ./bin/generate.ts preset:delete",
    "generate:preset:export": "npx tsx ./bin/generate.ts preset:export",
    "generate:preset:import": "npx tsx ./bin/generate.ts preset:import",
    "generate:locale:add": "npx tsx ./bin/generate.ts locale:add",
    "generate:locale:list": "npx tsx ./bin/generate.ts locale:list",
    "generate:category:add": "npx tsx ./bin/generate.ts category:add",
    "generate:category:list": "npx tsx ./bin/generate.ts category:list",
    "generate:template:copy": "npx tsx ./bin/generate.ts template:copy",
    "generate:template:preview": "npx tsx ./bin/generate.ts template:preview",
    "generate:plugin:list": "npx tsx ./bin/generate.ts plugin:list",
    "generate:webhook:list": "npx tsx ./bin/generate.ts webhook:list",
    "generate:clean": "npx tsx ./bin/generate.ts clean",
    "generate:adapter:health": "npx tsx ./bin/generate.ts adapter:health",
    "generate:adapter:benchmark": "npx tsx ./bin/generate.ts adapter:benchmark",
    "generate:adapter:test-failover": "npx tsx ./bin/generate.ts adapter:test-failover",
    "generate:plugin:toggle": "npx tsx ./bin/generate.ts plugin:toggle",
    "generate:plugin:profile": "npx tsx ./bin/generate.ts plugin:profile",
    "generate:template:validate-bulk": "npx tsx ./bin/generate.ts template:validate-bulk",
    "generate:template:export": "npx tsx ./bin/generate.ts template:export",
    "generate:template:import": "npx tsx ./bin/generate.ts template:import",
    "generate:template:serve": "npx tsx ./bin/generate.ts template:serve",
    "generate:queue:status": "npx tsx ./bin/generate.ts queue:status",
    "generate:webhook:simulate": "npx tsx ./bin/generate.ts webhook:simulate",
    "generate:batch": "npx tsx ./bin/generate.ts generate:batch",
    "generate:renderer:list": "npx tsx ./bin/generate.ts renderer:list",
    "generate:url:sign": "npx tsx ./bin/generate.ts url:sign",
    "generate:url:verify": "npx tsx ./bin/generate.ts url:verify",
    "generate:paths:generate": "npx tsx ./bin/generate.ts paths:generate",
    "generate:i18n:coverage": "npx tsx ./bin/generate.ts i18n:coverage",
    "generate:compliance:show": "npx tsx ./bin/generate.ts compliance:show",
    "generate:compliance:file-check": "npx tsx ./bin/generate.ts compliance:file-check"
  }
}