memfs 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/LICENSE +201 -24
  2. package/README.md +21 -92
  3. package/lib/Dirent.d.ts +2 -1
  4. package/lib/__tests__/util.d.ts +13 -0
  5. package/lib/__tests__/util.js +29 -0
  6. package/lib/consts/AMODE.d.ts +9 -0
  7. package/lib/consts/FLAG.d.ts +22 -0
  8. package/lib/consts/FLAG.js +2 -0
  9. package/lib/fsa/types.d.ts +3 -3
  10. package/lib/fsa-to-node/FsaNodeCore.d.ts +32 -0
  11. package/lib/fsa-to-node/FsaNodeCore.js +168 -0
  12. package/lib/fsa-to-node/FsaNodeDirent.d.ts +13 -0
  13. package/lib/fsa-to-node/FsaNodeDirent.js +31 -0
  14. package/lib/fsa-to-node/FsaNodeFs.d.ts +171 -0
  15. package/lib/fsa-to-node/FsaNodeFs.js +842 -0
  16. package/lib/fsa-to-node/FsaNodeFsOpenFile.d.ts +24 -0
  17. package/lib/fsa-to-node/FsaNodeFsOpenFile.js +46 -0
  18. package/lib/fsa-to-node/FsaNodeReadStream.d.ts +24 -0
  19. package/lib/fsa-to-node/FsaNodeReadStream.js +100 -0
  20. package/lib/fsa-to-node/FsaNodeStats.d.ts +30 -0
  21. package/lib/fsa-to-node/FsaNodeStats.js +52 -0
  22. package/lib/fsa-to-node/FsaNodeWriteStream.d.ts +48 -0
  23. package/lib/fsa-to-node/FsaNodeWriteStream.js +162 -0
  24. package/lib/fsa-to-node/__tests__/FsaNodeFs.test.d.ts +1 -0
  25. package/lib/fsa-to-node/__tests__/FsaNodeFs.test.js +873 -0
  26. package/lib/fsa-to-node/__tests__/util.test.d.ts +1 -0
  27. package/lib/fsa-to-node/__tests__/util.test.js +28 -0
  28. package/lib/fsa-to-node/constants.d.ts +3 -0
  29. package/lib/fsa-to-node/constants.js +2 -0
  30. package/lib/fsa-to-node/index.d.ts +2 -0
  31. package/lib/fsa-to-node/index.js +7 -0
  32. package/lib/fsa-to-node/json.d.ts +4 -0
  33. package/lib/fsa-to-node/json.js +7 -0
  34. package/lib/fsa-to-node/types.d.ts +37 -0
  35. package/lib/fsa-to-node/types.js +2 -0
  36. package/lib/fsa-to-node/util.d.ts +4 -0
  37. package/lib/fsa-to-node/util.js +40 -0
  38. package/lib/fsa-to-node/worker/FsaNodeSyncAdapterWorker.d.ts +10 -0
  39. package/lib/fsa-to-node/worker/FsaNodeSyncAdapterWorker.js +72 -0
  40. package/lib/fsa-to-node/worker/FsaNodeSyncWorker.d.ts +20 -0
  41. package/lib/fsa-to-node/worker/FsaNodeSyncWorker.js +190 -0
  42. package/lib/fsa-to-node/worker/SyncMessenger.d.ts +24 -0
  43. package/lib/fsa-to-node/worker/SyncMessenger.js +80 -0
  44. package/lib/fsa-to-node/worker/constants.d.ts +8 -0
  45. package/lib/fsa-to-node/worker/constants.js +2 -0
  46. package/lib/fsa-to-node/worker/types.d.ts +17 -0
  47. package/lib/fsa-to-node/worker/types.js +2 -0
  48. package/lib/index.d.ts +5 -4
  49. package/lib/index.js +1 -1
  50. package/lib/node/constants.d.ts +41 -0
  51. package/lib/node/constants.js +56 -0
  52. package/lib/node/options.d.ts +23 -0
  53. package/lib/node/options.js +94 -0
  54. package/lib/node/promises.d.ts +1 -1
  55. package/lib/node/promises.js +1 -3
  56. package/lib/node/types/FsCommonObjects.d.ts +17 -0
  57. package/lib/node/types/FsCommonObjects.js +2 -0
  58. package/lib/node/types/{sync.d.ts → FsSynchronousApi.d.ts} +36 -37
  59. package/lib/node/types/FsSynchronousApi.js +2 -0
  60. package/lib/node/types/callback.d.ts +57 -58
  61. package/lib/node/types/index.d.ts +1 -1
  62. package/lib/node/types/misc.d.ts +6 -8
  63. package/lib/node/types/options.d.ts +20 -6
  64. package/lib/node/types/promises.d.ts +2 -2
  65. package/lib/node/util.d.ts +19 -0
  66. package/lib/node/util.js +265 -1
  67. package/lib/node-to-fsa/NodeFileSystemDirectoryHandle.d.ts +71 -0
  68. package/lib/node-to-fsa/NodeFileSystemDirectoryHandle.js +264 -0
  69. package/lib/node-to-fsa/NodeFileSystemFileHandle.d.ts +28 -0
  70. package/lib/node-to-fsa/NodeFileSystemFileHandle.js +73 -0
  71. package/lib/node-to-fsa/NodeFileSystemHandle.d.ts +33 -0
  72. package/lib/node-to-fsa/NodeFileSystemHandle.js +53 -0
  73. package/lib/node-to-fsa/NodeFileSystemSyncAccessHandle.d.ts +42 -0
  74. package/lib/node-to-fsa/NodeFileSystemSyncAccessHandle.js +116 -0
  75. package/lib/node-to-fsa/NodeFileSystemWritableFileStream.d.ts +54 -0
  76. package/lib/node-to-fsa/NodeFileSystemWritableFileStream.js +195 -0
  77. package/lib/node-to-fsa/NodePermissionStatus.d.ts +8 -0
  78. package/lib/node-to-fsa/NodePermissionStatus.js +13 -0
  79. package/lib/node-to-fsa/__tests__/NodeFileSystemDirectoryHandle.test.d.ts +1 -0
  80. package/lib/node-to-fsa/__tests__/NodeFileSystemDirectoryHandle.test.js +627 -0
  81. package/lib/node-to-fsa/__tests__/NodeFileSystemFileHandle.test.d.ts +1 -0
  82. package/lib/node-to-fsa/__tests__/NodeFileSystemFileHandle.test.js +191 -0
  83. package/lib/node-to-fsa/__tests__/NodeFileSystemHandle.test.d.ts +1 -0
  84. package/lib/node-to-fsa/__tests__/NodeFileSystemHandle.test.js +49 -0
  85. package/lib/node-to-fsa/__tests__/NodeFileSystemSyncAccessHandle.test.d.ts +1 -0
  86. package/lib/node-to-fsa/__tests__/NodeFileSystemSyncAccessHandle.test.js +183 -0
  87. package/lib/node-to-fsa/__tests__/NodeFileSystemWritableFileStream.test.d.ts +1 -0
  88. package/lib/node-to-fsa/__tests__/NodeFileSystemWritableFileStream.test.js +106 -0
  89. package/lib/node-to-fsa/__tests__/scenarios.test.d.ts +1 -0
  90. package/lib/node-to-fsa/__tests__/scenarios.test.js +46 -0
  91. package/lib/node-to-fsa/__tests__/util.test.d.ts +1 -0
  92. package/lib/node-to-fsa/__tests__/util.test.js +25 -0
  93. package/lib/node-to-fsa/index.d.ts +7 -0
  94. package/lib/node-to-fsa/index.js +26 -0
  95. package/lib/node-to-fsa/types.d.ts +12 -0
  96. package/lib/node-to-fsa/types.js +2 -0
  97. package/lib/node-to-fsa/util.d.ts +11 -0
  98. package/lib/node-to-fsa/util.js +33 -0
  99. package/lib/node.d.ts +1 -1
  100. package/lib/volume.d.ts +45 -126
  101. package/lib/volume.js +204 -562
  102. package/lib/webfs/index.d.ts +1 -0
  103. package/lib/webfs/index.js +22 -0
  104. package/package.json +28 -5
  105. /package/lib/{node/types/sync.js → consts/AMODE.js} +0 -0
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ self.process = require('process/browser');
4
+ self.Buffer = require('buffer').Buffer;
5
+ const fsa_to_node_1 = require("../fsa-to-node");
6
+ const FsaNodeSyncWorker_1 = require("../../src/fsa-to-node/worker/FsaNodeSyncWorker");
7
+ if (typeof window === 'object') {
8
+ const url = document.currentScript.src;
9
+ const dir = navigator.storage.getDirectory();
10
+ const fs = (window.fs = new fsa_to_node_1.FsaNodeFs(dir));
11
+ if (url) {
12
+ fsa_to_node_1.FsaNodeSyncAdapterWorker.start(url, dir)
13
+ .then(adapter => {
14
+ fs.syncAdapter = adapter;
15
+ })
16
+ .catch(() => { });
17
+ }
18
+ }
19
+ else {
20
+ const worker = new FsaNodeSyncWorker_1.FsaNodeSyncWorker();
21
+ worker.start();
22
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memfs",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "description": "In-memory file-system with Node's fs API.",
5
5
  "keywords": [
6
6
  "fs",
@@ -22,7 +22,7 @@
22
22
  "type": "git",
23
23
  "url": "https://github.com/streamich/memfs.git"
24
24
  },
25
- "license": "Unlicense",
25
+ "license": "Apache-2.0",
26
26
  "main": "lib/index.js",
27
27
  "types": "lib/index.d.ts",
28
28
  "files": [
@@ -38,7 +38,13 @@
38
38
  "test:watch": "jest --watch",
39
39
  "tslint": "tslint \"src/**/*.ts\" -t verbose",
40
40
  "typecheck": "tsc -p .",
41
- "watch": "watch \"npm run build\" ./src"
41
+ "watch": "watch \"npm run build\" ./src",
42
+ "build:webfs": "NODE_ENV=production webpack --config ./src/webfs/webpack.config.js",
43
+ "demo:webfs": "webpack serve --config ./src/webfs/webpack.config.js",
44
+ "demo:fsa-to-node-sync-tests": "webpack serve --config ./demo/fsa-to-node-sync-tests/webpack.config.js",
45
+ "demo:fsa-to-node-zipfile": "webpack serve --config ./demo/fsa-to-node-zipfile/webpack.config.js",
46
+ "demo:git-fsa": "webpack serve --config ./demo/git-fsa/webpack.config.js",
47
+ "demo:git-opfs": "webpack serve --config ./demo/git-opfs/webpack.config.js"
42
48
  },
43
49
  "commitlint": {
44
50
  "extends": [
@@ -76,7 +82,9 @@
76
82
  }
77
83
  },
78
84
  "dependencies": {
79
- "fs-monkey": "^1.0.4"
85
+ "fs-monkey": "^1.0.4",
86
+ "json-joy": "^9.2.0",
87
+ "thingies": "^1.11.1"
80
88
  },
81
89
  "devDependencies": {
82
90
  "@semantic-release/changelog": "^6.0.1",
@@ -84,17 +92,32 @@
84
92
  "@semantic-release/npm": "^9.0.1",
85
93
  "@types/jest": "^27.5.2",
86
94
  "@types/node": "^10.17.60",
95
+ "app-root-path": "^3.1.0",
96
+ "assert": "^2.0.0",
97
+ "buffer": "^6.0.3",
98
+ "html-webpack-plugin": "^5.5.3",
87
99
  "husky": "^8.0.1",
100
+ "isomorphic-git": "^1.24.2",
88
101
  "jest": "^28.1.1",
102
+ "path-browserify": "^1.0.1",
89
103
  "prettier": "^2.7.1",
90
104
  "pretty-quick": "^3.1.3",
105
+ "process": "^0.11.10",
106
+ "readable-stream": "^4.4.0",
91
107
  "rimraf": "^3.0.2",
92
108
  "semantic-release": "^19.0.3",
109
+ "tar-stream": "^3.1.2",
93
110
  "ts-jest": "^28.0.5",
111
+ "ts-loader": "^9.4.3",
94
112
  "ts-node": "^10.8.1",
95
113
  "tslint": "^5.20.1",
96
114
  "tslint-config-common": "^1.6.0",
97
- "typescript": "^4.7.4"
115
+ "typescript": "^4.7.4",
116
+ "url": "^0.11.1",
117
+ "util": "^0.12.5",
118
+ "webpack": "^5.87.0",
119
+ "webpack-cli": "^5.1.4",
120
+ "webpack-dev-server": "^4.15.1"
98
121
  },
99
122
  "engines": {
100
123
  "node": ">= 4.0.0"
File without changes