package.json 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. {
  2. "name": "wnfs",
  3. "collaborators": [
  4. "The Fission Authors"
  5. ],
  6. "description": "WebNative Filesystem API (WebAssembly)",
  7. "version": "0.2.2",
  8. "license": "Apache-2.0",
  9. "homepage": "https://fission.codes",
  10. "repository": {
  11. "type": "git",
  12. "url": "https://github.com/wnfs-wg/rs-wnfs/tree/main/wnfs-wasm"
  13. },
  14. "keywords": [
  15. "wnfs",
  16. "wasm",
  17. "webnative",
  18. "ipfs",
  19. "decentralisation"
  20. ],
  21. "type": "module",
  22. "module": "dist/bundler/wnfs_wasm.js",
  23. "types": "dist/nodejs/wnfs_wasm.d.ts",
  24. "exports": {
  25. ".": {
  26. "workerd": "./dist/web/workerd.js",
  27. "browser": "./dist/bundler/wnfs_wasm.js",
  28. "node": "./dist/nodejs/wnfs_wasm.cjs",
  29. "default": "./dist/bundler/wnfs_wasm.js",
  30. "types": "./dist/nodejs/wnfs_wasm.d.ts"
  31. },
  32. "./nodejs": {
  33. "default": "./dist/nodejs/wnfs_wasm.cjs",
  34. "types": "./dist/nodejs/wnfs_wasm.d.ts"
  35. },
  36. "./web": {
  37. "default": "./dist/web/wnfs_wasm.js",
  38. "types": "./dist/web/wnfs_wasm.d.ts"
  39. },
  40. "./workerd": {
  41. "default": "./dist/web/workerd.js",
  42. "types": "./dist/web/wnfs_wasm.d.ts"
  43. }
  44. },
  45. "files": [
  46. "dist"
  47. ],
  48. "scripts": {
  49. "build": "export PROFILE=dev && export TARGET_DIR=debug && yarn run build:all",
  50. "release": "export PROFILE=release && export TARGET_DIR=release && yarn run build:all",
  51. "build:all": "wireit",
  52. "test": "yarn playwright test"
  53. },
  54. "wireit": {
  55. "compile": {
  56. "command": "cargo build --target wasm32-unknown-unknown --profile $PROFILE",
  57. "env": {
  58. "PROFILE": {
  59. "external": true
  60. }
  61. }
  62. },
  63. "opt": {
  64. "command": "wasm-opt -O1 ../target/wasm32-unknown-unknown/$TARGET_DIR/wnfs_wasm.wasm -o ../target/wasm32-unknown-unknown/$TARGET_DIR/wnfs_wasm.wasm",
  65. "env": {
  66. "TARGET_DIR": {
  67. "external": true
  68. }
  69. },
  70. "dependencies": [
  71. "compile"
  72. ]
  73. },
  74. "bindgen:bundler": {
  75. "command": "wasm-bindgen --weak-refs --target bundler --out-dir dist/bundler ../target/wasm32-unknown-unknown/$TARGET_DIR/wnfs_wasm.wasm",
  76. "env": {
  77. "TARGET_DIR": {
  78. "external": true
  79. }
  80. },
  81. "dependencies": [
  82. "opt"
  83. ],
  84. "output": [
  85. "dist/bundler"
  86. ]
  87. },
  88. "bindgen:nodejs": {
  89. "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",
  90. "env": {
  91. "TARGET_DIR": {
  92. "external": true
  93. }
  94. },
  95. "dependencies": [
  96. "opt"
  97. ],
  98. "output": [
  99. "dist/nodejs"
  100. ]
  101. },
  102. "bindgen:web": {
  103. "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",
  104. "env": {
  105. "TARGET_DIR": {
  106. "external": true
  107. }
  108. },
  109. "dependencies": [
  110. "opt"
  111. ],
  112. "output": [
  113. "dist/web"
  114. ]
  115. },
  116. "build:all": {
  117. "dependencies": [
  118. "bindgen:bundler",
  119. "bindgen:nodejs",
  120. "bindgen:web"
  121. ]
  122. }
  123. },
  124. "devDependencies": {
  125. "@playwright/test": "^1.36.1",
  126. "cpy-cli": "^5.0.0",
  127. "css-loader": "^6.8.1",
  128. "file-loader": "^6.2.0",
  129. "html-webpack-plugin": "^5.5.3",
  130. "move-file-cli": "^3.0.0",
  131. "multiformats": "^13.0.0",
  132. "style-loader": "^3.3.3",
  133. "text-encoding": "^0.7.0",
  134. "ts-loader": "^9.4.4",
  135. "typescript": "^5.1.6",
  136. "uint8arrays": "^5.0.0",
  137. "webpack": "^5.88.2",
  138. "webpack-cli": "^5.1.4",
  139. "webpack-dev-server": "^4.15.1",
  140. "wireit": "^0.14.1"
  141. }
  142. }