{
  "name": "happy-opfs",
  "description": "A browser-compatible file system module based on OPFS, inspired by Deno fs APIs. Supports async/sync operations, streaming zip/unzip, and Result-based error handling.",
  "author": "jiang115jie@gmail.com",
  "license": "MIT",
  "version": "2.0.2",
  "type": "module",
  "main": "dist/main.cjs",
  "module": "dist/main.mjs",
  "types": "dist/types.d.ts",
  "exports": {
    ".": {
      "types": "./dist/types.d.ts",
      "import": "./dist/main.mjs",
      "require": "./dist/main.cjs",
      "default": "./dist/main.mjs"
    },
    "./package.json": "./package.json"
  },
  "files": [
    "LICENSE",
    "README.md",
    "CHANGELOG.md",
    "dist"
  ],
  "sideEffects": false,
  "scripts": {
    "check": "pnpm exec tsc --noEmit",
    "lint": "pnpm exec eslint .",
    "prebuild": "pnpm run check && pnpm run lint",
    "build": "pnpm exec vite build && pnpm exec rollup --config rollup.config.ts",
    "predocs": "pnpm dlx rimraf docs",
    "docs": "pnpm exec typedoc",
    "prepublishOnly": "pnpm run build",
    "playwright:install": "pnpm exec playwright install chromium-headless-shell",
    "pretest": "pnpm exec msw init tests/public --save=false",
    "test": "pnpm exec vitest run --coverage",
    "test:watch": "pnpm exec vitest watch",
    "test:ui": "pnpm exec vitest --ui",
    "prebench": "pnpm exec msw init benchmarks/public --save=false",
    "bench": "pnpm exec vite --config benchmarks/vite.config.ts",
    "prebench:run": "pnpm run prebench",
    "bench:run": "node benchmarks/playwright.ts",
    "bench:vitest": "pnpm exec vitest bench --run",
    "eg": "pnpm exec vite --config examples/vite.config.ts"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/JiangJie/happy-opfs.git"
  },
  "keywords": [
    "browser",
    "filesystem",
    "file",
    "directory",
    "opfs",
    "origin-private-file-system",
    "storage",
    "deno",
    "worker",
    "sync",
    "async",
    "stream",
    "upload",
    "download",
    "zip",
    "unzip",
    "typescript"
  ],
  "devDependencies": {
    "@eslint/js": "^9.39.2",
    "@stylistic/eslint-plugin": "^5.7.1",
    "@vitest/browser-playwright": "^4.0.18",
    "@vitest/coverage-v8": "^4.0.18",
    "@vitest/ui": "^4.0.18",
    "eslint": "^9.39.2",
    "msw": "^2.12.7",
    "playwright": "^1.58.0",
    "rollup": "^4.56.0",
    "rollup-plugin-dts": "^6.3.0",
    "tsx": "^4.21.0",
    "typedoc": "^0.28.16",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.53.1",
    "vite": "^7.3.1",
    "vite-plugin-mkcert": "^1.17.9",
    "vitest": "^4.0.18"
  },
  "dependencies": {
    "@happy-ts/fetch-t": "^1.9.1",
    "@std/path": "npm:@jsr/std__path@^1.1.4",
    "fflate": "^0.8.2",
    "happy-rusty": "^1.9.1",
    "tiny-future": "^1.2.0"
  }
}