{
"name": "wnfs",
"collaborators": [
"The Fission Authors"
],
"description": "WebNative Filesystem API (WebAssembly)",
"version": "0.2.2",
"license": "Apache-2.0",
"homepage": "https://fission.codes",
"repository": {
"type": "git",
"url": "https://github.com/wnfs-wg/rs-wnfs/tree/main/wnfs-wasm"
},
"keywords": [
"wnfs",
"wasm",
"webnative",
"ipfs",
"decentralisation"
],
"type": "module",
"module": "dist/bundler/wnfs_wasm.js",
"types": "dist/nodejs/wnfs_wasm.d.ts",
"exports": {
".": {
"workerd": "./dist/web/workerd.js",
"browser": "./dist/bundler/wnfs_wasm.js",
"node": "./dist/nodejs/wnfs_wasm.cjs",
"default": "./dist/bundler/wnfs_wasm.js",
"types": "./dist/nodejs/wnfs_wasm.d.ts"
},
"./nodejs": {
"default": "./dist/nodejs/wnfs_wasm.cjs",
"types": "./dist/nodejs/wnfs_wasm.d.ts"
},
"./web": {
"default": "./dist/web/wnfs_wasm.js",
"types": "./dist/web/wnfs_wasm.d.ts"
},
"./workerd": {
"default": "./dist/web/workerd.js",
"types": "./dist/web/wnfs_wasm.d.ts"
}
},
"files": [
"dist"
],
"scripts": {
"build": "export PROFILE=dev && export TARGET_DIR=debug && yarn run build:all",
"release": "export PROFILE=release && export TARGET_DIR=release && yarn run build:all",
"build:all": "wireit",
"test": "yarn playwright test"
},
"wireit": {
"compile": {
"command": "cargo build --target wasm32-unknown-unknown --profile $PROFILE",
"env": {
"PROFILE": {
"external": true
}
}
},
"opt": {
"command": "wasm-opt -O1 ../target/wasm32-unknown-unknown/$TARGET_DIR/wnfs_wasm.wasm -o ../target/wasm32-unknown-unknown/$TARGET_DIR/wnfs_wasm.wasm",
"env": {
"TARGET_DIR": {
"external": true
}
},
"dependencies": [
"compile"
]
},
"bindgen:bundler": {
"command": "wasm-bindgen --weak-refs --target bundler --out-dir dist/bundler ../target/wasm32-unknown-unknown/$TARGET_DIR/wnfs_wasm.wasm",
"env": {
"TARGET_DIR": {
"external": true
}
},
"dependencies": [
"opt"
],
"output": [
"dist/bundler"
]
},
"bindgen:nodejs": {
"command": "wasm-bindgen --weak-refs --target nodejs --out-dir dist/nodejs ../target/wasm32-unknown-unknown/$TARGET_DIR/wnfs_wasm.wasm && move-file dist/nodejs/wnfs_wasm.js dist/nodejs/wnfs_wasm.cjs",
"env": {
"TARGET_DIR": {
"external": true
}
},
"dependencies": [
"opt"
],
"output": [
"dist/nodejs"
]
},
"bindgen:web": {
"command": "wasm-bindgen --weak-refs --target web --out-dir dist/web ../target/wasm32-unknown-unknown/$TARGET_DIR/wnfs_wasm.wasm && cpy --flat src/loaders/workerd.js dist/web",
"env": {
"TARGET_DIR": {
"external": true
}
},
"dependencies": [
"opt"
],
"output": [
"dist/web"
]
},
"build:all": {
"dependencies": [
"bindgen:bundler",
"bindgen:nodejs",
"bindgen:web"
]
}
},
"devDependencies": {
"@playwright/test": "^1.36.1",
"cpy-cli": "^5.0.0",
"css-loader": "^6.8.1",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.3",
"move-file-cli": "^3.0.0",
"multiformats": "^13.0.0",
"style-loader": "^3.3.3",
"text-encoding": "^0.7.0",
"ts-loader": "^9.4.4",
"typescript": "^5.1.6",
"uint8arrays": "^5.0.0",
"webpack": "^5.88.2",
"webpack-cli": "^5.1.4",
"webpack-dev-server": "^4.15.1",
"wireit": "^0.14.1"
}
}