happy-opfs
Version:
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.
95 lines • 2.76 kB
JSON
{
"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.3",
"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": "^10.0.1",
"@stylistic/eslint-plugin": "^5.10.0",
"@vitest/browser-playwright": "^4.1.4",
"@vitest/coverage-v8": "^4.1.4",
"@vitest/ui": "^4.1.4",
"eslint": "^10.2.0",
"msw": "^2.13.2",
"playwright": "^1.59.1",
"rollup": "^4.60.1",
"rollup-plugin-dts": "^6.4.1",
"typedoc": "^0.28.19",
"typescript": "^6.0.2",
"typescript-eslint": "^8.58.1",
"vite": "^8.0.8",
"vite-plugin-mkcert": "^2.0.0",
"vitest": "^4.1.4"
},
"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.2",
"tiny-future": "^1.2.0"
}
}