@seanhogg/builderforce-webcontainers-core 2026.10.1 → 2026.10.3
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.
- package/dist/build.d.ts +42 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/build.js +65 -0
- package/dist/build.js.map +1 -0
- package/dist/buildHost.d.ts +31 -0
- package/dist/buildHost.d.ts.map +1 -0
- package/dist/buildHost.js +125 -0
- package/dist/buildHost.js.map +1 -0
- package/dist/buildHtml.d.ts +28 -0
- package/dist/buildHtml.d.ts.map +1 -0
- package/dist/buildHtml.js +74 -0
- package/dist/buildHtml.js.map +1 -0
- package/dist/bundler.d.ts +129 -0
- package/dist/bundler.d.ts.map +1 -0
- package/dist/bundler.js +79 -0
- package/dist/bundler.js.map +1 -0
- package/dist/check/acquire.d.ts +46 -0
- package/dist/check/acquire.d.ts.map +1 -0
- package/dist/check/acquire.js +179 -0
- package/dist/check/acquire.js.map +1 -0
- package/dist/check/compilerHost.d.ts +22 -0
- package/dist/check/compilerHost.d.ts.map +1 -0
- package/dist/check/compilerHost.js +128 -0
- package/dist/check/compilerHost.js.map +1 -0
- package/dist/check/diagnostics.d.ts +23 -0
- package/dist/check/diagnostics.d.ts.map +1 -0
- package/dist/check/diagnostics.js +28 -0
- package/dist/check/diagnostics.js.map +1 -0
- package/dist/check/index.d.ts +19 -0
- package/dist/check/index.d.ts.map +1 -0
- package/dist/check/index.js +13 -0
- package/dist/check/index.js.map +1 -0
- package/dist/check/projects.d.ts +26 -0
- package/dist/check/projects.d.ts.map +1 -0
- package/dist/check/projects.js +124 -0
- package/dist/check/projects.js.map +1 -0
- package/dist/check/shims.d.ts +29 -0
- package/dist/check/shims.d.ts.map +1 -0
- package/dist/check/shims.js +76 -0
- package/dist/check/shims.js.map +1 -0
- package/dist/check/typeStore.d.ts +57 -0
- package/dist/check/typeStore.d.ts.map +1 -0
- package/dist/check/typeStore.js +89 -0
- package/dist/check/typeStore.js.map +1 -0
- package/dist/check/typecheck.d.ts +29 -0
- package/dist/check/typecheck.d.ts.map +1 -0
- package/dist/check/typecheck.js +91 -0
- package/dist/check/typecheck.js.map +1 -0
- package/dist/compileComponent.d.ts +8 -0
- package/dist/compileComponent.d.ts.map +1 -0
- package/dist/compileComponent.js +22 -0
- package/dist/compileComponent.js.map +1 -0
- package/dist/compileScript.d.ts +19 -4
- package/dist/compileScript.d.ts.map +1 -1
- package/dist/compileScript.js +37 -12
- package/dist/compileScript.js.map +1 -1
- package/dist/components.d.ts +41 -0
- package/dist/components.d.ts.map +1 -0
- package/dist/components.js +14 -0
- package/dist/components.js.map +1 -0
- package/dist/detectProject.d.ts +3 -0
- package/dist/detectProject.d.ts.map +1 -1
- package/dist/detectProject.js +16 -6
- package/dist/detectProject.js.map +1 -1
- package/dist/devServer.d.ts +5 -2
- package/dist/devServer.d.ts.map +1 -1
- package/dist/devServer.js +16 -8
- package/dist/devServer.js.map +1 -1
- package/dist/hash.d.ts +2 -0
- package/dist/hash.d.ts.map +1 -0
- package/dist/hash.js +22 -0
- package/dist/hash.js.map +1 -0
- package/dist/html.d.ts +8 -0
- package/dist/html.d.ts.map +1 -1
- package/dist/html.js +17 -1
- package/dist/html.js.map +1 -1
- package/dist/index.d.ts +25 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -4
- package/dist/index.js.map +1 -1
- package/dist/installer/bins.d.ts +24 -0
- package/dist/installer/bins.d.ts.map +1 -0
- package/dist/installer/bins.js +56 -0
- package/dist/installer/bins.js.map +1 -0
- package/dist/installer/index.d.ts +14 -0
- package/dist/installer/index.d.ts.map +1 -0
- package/dist/installer/index.js +9 -0
- package/dist/installer/index.js.map +1 -0
- package/dist/installer/install.d.ts +46 -0
- package/dist/installer/install.d.ts.map +1 -0
- package/dist/installer/install.js +245 -0
- package/dist/installer/install.js.map +1 -0
- package/dist/installer/lockfile.d.ts +49 -0
- package/dist/installer/lockfile.d.ts.map +1 -0
- package/dist/installer/lockfile.js +110 -0
- package/dist/installer/lockfile.js.map +1 -0
- package/dist/installer/registry.d.ts +84 -0
- package/dist/installer/registry.d.ts.map +1 -0
- package/dist/installer/registry.js +130 -0
- package/dist/installer/registry.js.map +1 -0
- package/dist/installer/semver.d.ts +38 -0
- package/dist/installer/semver.d.ts.map +1 -0
- package/dist/installer/semver.js +187 -0
- package/dist/installer/semver.js.map +1 -0
- package/dist/installer/spec.d.ts +30 -0
- package/dist/installer/spec.d.ts.map +1 -0
- package/dist/installer/spec.js +30 -0
- package/dist/installer/spec.js.map +1 -0
- package/dist/installer/tar.d.ts +17 -0
- package/dist/installer/tar.d.ts.map +1 -0
- package/dist/installer/tar.js +150 -0
- package/dist/installer/tar.js.map +1 -0
- package/dist/installer/tree.d.ts +48 -0
- package/dist/installer/tree.d.ts.map +1 -0
- package/dist/installer/tree.js +179 -0
- package/dist/installer/tree.js.map +1 -0
- package/dist/node/assert.d.ts +15 -0
- package/dist/node/assert.d.ts.map +1 -0
- package/dist/node/assert.js +137 -0
- package/dist/node/assert.js.map +1 -0
- package/dist/node/buffer.d.ts +84 -0
- package/dist/node/buffer.d.ts.map +1 -0
- package/dist/node/buffer.js +304 -0
- package/dist/node/buffer.js.map +1 -0
- package/dist/node/builtins.d.ts +25 -0
- package/dist/node/builtins.d.ts.map +1 -0
- package/dist/node/builtins.js +101 -0
- package/dist/node/builtins.js.map +1 -0
- package/dist/node/callable.d.ts +13 -0
- package/dist/node/callable.d.ts.map +1 -0
- package/dist/node/callable.js +26 -0
- package/dist/node/callable.js.map +1 -0
- package/dist/node/childProcess.d.ts +13 -0
- package/dist/node/childProcess.d.ts.map +1 -0
- package/dist/node/childProcess.js +143 -0
- package/dist/node/childProcess.js.map +1 -0
- package/dist/node/crypto.d.ts +3 -0
- package/dist/node/crypto.d.ts.map +1 -0
- package/dist/node/crypto.js +180 -0
- package/dist/node/crypto.js.map +1 -0
- package/dist/node/esm.d.ts +9 -0
- package/dist/node/esm.d.ts.map +1 -0
- package/dist/node/esm.js +202 -0
- package/dist/node/esm.js.map +1 -0
- package/dist/node/events.d.ts +40 -0
- package/dist/node/events.d.ts.map +1 -0
- package/dist/node/events.js +160 -0
- package/dist/node/events.js.map +1 -0
- package/dist/node/fs/index.d.ts +7 -0
- package/dist/node/fs/index.d.ts.map +1 -0
- package/dist/node/fs/index.js +270 -0
- package/dist/node/fs/index.js.map +1 -0
- package/dist/node/fs/stats.d.ts +93 -0
- package/dist/node/fs/stats.d.ts.map +1 -0
- package/dist/node/fs/stats.js +104 -0
- package/dist/node/fs/stats.js.map +1 -0
- package/dist/node/fs/sync.d.ts +98 -0
- package/dist/node/fs/sync.d.ts.map +1 -0
- package/dist/node/fs/sync.js +348 -0
- package/dist/node/fs/sync.js.map +1 -0
- package/dist/node/hashes.d.ts +15 -0
- package/dist/node/hashes.d.ts.map +1 -0
- package/dist/node/hashes.js +195 -0
- package/dist/node/hashes.js.map +1 -0
- package/dist/node/http/client.d.ts +35 -0
- package/dist/node/http/client.d.ts.map +1 -0
- package/dist/node/http/client.js +161 -0
- package/dist/node/http/client.js.map +1 -0
- package/dist/node/http/index.d.ts +5 -0
- package/dist/node/http/index.d.ts.map +1 -0
- package/dist/node/http/index.js +125 -0
- package/dist/node/http/index.js.map +1 -0
- package/dist/node/http/server.d.ts +135 -0
- package/dist/node/http/server.d.ts.map +1 -0
- package/dist/node/http/server.js +308 -0
- package/dist/node/http/server.js.map +1 -0
- package/dist/node/http/status.d.ts +3 -0
- package/dist/node/http/status.d.ts.map +1 -0
- package/dist/node/http/status.js +13 -0
- package/dist/node/http/status.js.map +1 -0
- package/dist/node/inspect.d.ts +22 -0
- package/dist/node/inspect.d.ts.map +1 -0
- package/dist/node/inspect.js +172 -0
- package/dist/node/inspect.js.map +1 -0
- package/dist/node/loader.d.ts +91 -0
- package/dist/node/loader.d.ts.map +1 -0
- package/dist/node/loader.js +265 -0
- package/dist/node/loader.js.map +1 -0
- package/dist/node/loop.d.ts +71 -0
- package/dist/node/loop.d.ts.map +1 -0
- package/dist/node/loop.js +189 -0
- package/dist/node/loop.js.map +1 -0
- package/dist/node/misc.d.ts +10 -0
- package/dist/node/misc.d.ts.map +1 -0
- package/dist/node/misc.js +256 -0
- package/dist/node/misc.js.map +1 -0
- package/dist/node/path.d.ts +14 -0
- package/dist/node/path.d.ts.map +1 -0
- package/dist/node/path.js +128 -0
- package/dist/node/path.js.map +1 -0
- package/dist/node/process.d.ts +31 -0
- package/dist/node/process.d.ts.map +1 -0
- package/dist/node/process.js +309 -0
- package/dist/node/process.js.map +1 -0
- package/dist/node/program.d.ts +19 -0
- package/dist/node/program.d.ts.map +1 -0
- package/dist/node/program.js +165 -0
- package/dist/node/program.js.map +1 -0
- package/dist/node/readline.d.ts +2 -0
- package/dist/node/readline.d.ts.map +1 -0
- package/dist/node/readline.js +155 -0
- package/dist/node/readline.js.map +1 -0
- package/dist/node/resolve.d.ts +45 -0
- package/dist/node/resolve.d.ts.map +1 -0
- package/dist/node/resolve.js +206 -0
- package/dist/node/resolve.js.map +1 -0
- package/dist/node/runtime.d.ts +40 -0
- package/dist/node/runtime.d.ts.map +1 -0
- package/dist/node/runtime.js +149 -0
- package/dist/node/runtime.js.map +1 -0
- package/dist/node/stream/index.d.ts +52 -0
- package/dist/node/stream/index.d.ts.map +1 -0
- package/dist/node/stream/index.js +184 -0
- package/dist/node/stream/index.js.map +1 -0
- package/dist/node/stream/readable.d.ts +83 -0
- package/dist/node/stream/readable.d.ts.map +1 -0
- package/dist/node/stream/readable.js +325 -0
- package/dist/node/stream/readable.js.map +1 -0
- package/dist/node/stream/writable.d.ts +80 -0
- package/dist/node/stream/writable.d.ts.map +1 -0
- package/dist/node/stream/writable.js +224 -0
- package/dist/node/stream/writable.js.map +1 -0
- package/dist/node/urlqs.d.ts +22 -0
- package/dist/node/urlqs.d.ts.map +1 -0
- package/dist/node/urlqs.js +165 -0
- package/dist/node/urlqs.js.map +1 -0
- package/dist/node/util.d.ts +37 -0
- package/dist/node/util.d.ts.map +1 -0
- package/dist/node/util.js +160 -0
- package/dist/node/util.js.map +1 -0
- package/dist/node/zlib.d.ts +2 -0
- package/dist/node/zlib.d.ts.map +1 -0
- package/dist/node/zlib.js +133 -0
- package/dist/node/zlib.js.map +1 -0
- package/dist/packageCdn.d.ts +12 -0
- package/dist/packageCdn.d.ts.map +1 -1
- package/dist/packageCdn.js +3 -1
- package/dist/packageCdn.js.map +1 -1
- package/dist/projectConfig.d.ts +6 -2
- package/dist/projectConfig.d.ts.map +1 -1
- package/dist/projectConfig.js +32 -8
- package/dist/projectConfig.js.map +1 -1
- package/dist/shell/builtins.d.ts +23 -0
- package/dist/shell/builtins.d.ts.map +1 -0
- package/dist/shell/builtins.js +131 -0
- package/dist/shell/builtins.js.map +1 -0
- package/dist/shell/context.d.ts +41 -0
- package/dist/shell/context.d.ts.map +1 -0
- package/dist/shell/context.js +65 -0
- package/dist/shell/context.js.map +1 -0
- package/dist/shell/devHandoff.d.ts +18 -0
- package/dist/shell/devHandoff.d.ts.map +1 -0
- package/dist/shell/devHandoff.js +36 -0
- package/dist/shell/devHandoff.js.map +1 -0
- package/dist/shell/exec.d.ts +67 -0
- package/dist/shell/exec.d.ts.map +1 -0
- package/dist/shell/exec.js +247 -0
- package/dist/shell/exec.js.map +1 -0
- package/dist/shell/expand.d.ts +28 -0
- package/dist/shell/expand.d.ts.map +1 -0
- package/dist/shell/expand.js +149 -0
- package/dist/shell/expand.js.map +1 -0
- package/dist/shell/fileCommands.d.ts +10 -0
- package/dist/shell/fileCommands.d.ts.map +1 -0
- package/dist/shell/fileCommands.js +208 -0
- package/dist/shell/fileCommands.js.map +1 -0
- package/dist/shell/lineEditor.d.ts +43 -0
- package/dist/shell/lineEditor.d.ts.map +1 -0
- package/dist/shell/lineEditor.js +234 -0
- package/dist/shell/lineEditor.js.map +1 -0
- package/dist/shell/npm.d.ts +6 -0
- package/dist/shell/npm.d.ts.map +1 -0
- package/dist/shell/npm.js +234 -0
- package/dist/shell/npm.js.map +1 -0
- package/dist/shell/parse.d.ts +73 -0
- package/dist/shell/parse.d.ts.map +1 -0
- package/dist/shell/parse.js +300 -0
- package/dist/shell/parse.js.map +1 -0
- package/dist/shell/program.d.ts +12 -0
- package/dist/shell/program.d.ts.map +1 -0
- package/dist/shell/program.js +219 -0
- package/dist/shell/program.js.map +1 -0
- package/dist/shell/textCommands.d.ts +15 -0
- package/dist/shell/textCommands.d.ts.map +1 -0
- package/dist/shell/textCommands.js +185 -0
- package/dist/shell/textCommands.js.map +1 -0
- package/dist/styleModules.d.ts +6 -0
- package/dist/styleModules.d.ts.map +1 -1
- package/dist/styleModules.js +14 -4
- package/dist/styleModules.js.map +1 -1
- package/dist/svelteCompiler.d.ts +28 -0
- package/dist/svelteCompiler.d.ts.map +1 -0
- package/dist/svelteCompiler.js +13 -0
- package/dist/svelteCompiler.js.map +1 -0
- package/dist/system/commands.d.ts +26 -0
- package/dist/system/commands.d.ts.map +1 -0
- package/dist/system/commands.js +53 -0
- package/dist/system/commands.js.map +1 -0
- package/dist/system/index.d.ts +23 -0
- package/dist/system/index.d.ts.map +1 -0
- package/dist/system/index.js +16 -0
- package/dist/system/index.js.map +1 -0
- package/dist/system/kernel.d.ts +54 -0
- package/dist/system/kernel.d.ts.map +1 -0
- package/dist/system/kernel.js +81 -0
- package/dist/system/kernel.js.map +1 -0
- package/dist/system/ports.d.ts +32 -0
- package/dist/system/ports.d.ts.map +1 -0
- package/dist/system/ports.js +57 -0
- package/dist/system/ports.js.map +1 -0
- package/dist/system/process.d.ts +32 -0
- package/dist/system/process.d.ts.map +1 -0
- package/dist/system/process.js +130 -0
- package/dist/system/process.js.map +1 -0
- package/dist/system/programs.d.ts +10 -0
- package/dist/system/programs.d.ts.map +1 -0
- package/dist/system/programs.js +22 -0
- package/dist/system/programs.js.map +1 -0
- package/dist/system/terminal.d.ts +45 -0
- package/dist/system/terminal.d.ts.map +1 -0
- package/dist/system/terminal.js +127 -0
- package/dist/system/terminal.js.map +1 -0
- package/dist/system/types.d.ts +100 -0
- package/dist/system/types.d.ts.map +1 -0
- package/dist/system/types.js +2 -0
- package/dist/system/types.js.map +1 -0
- package/dist/vfs.d.ts +28 -4
- package/dist/vfs.d.ts.map +1 -1
- package/dist/vfs.js +95 -32
- package/dist/vfs.js.map +1 -1
- package/dist/vueCompiler.d.ts +75 -0
- package/dist/vueCompiler.d.ts.map +1 -0
- package/dist/vueCompiler.js +67 -0
- package/dist/vueCompiler.js.map +1 -0
- package/package.json +18 -2
- package/src/build.ts +105 -0
- package/src/buildHost.ts +154 -0
- package/src/buildHtml.ts +101 -0
- package/src/bundler.ts +190 -0
- package/src/check/acquire.ts +212 -0
- package/src/check/compilerHost.ts +138 -0
- package/src/check/diagnostics.ts +48 -0
- package/src/check/index.ts +28 -0
- package/src/check/projects.ts +149 -0
- package/src/check/shims.ts +88 -0
- package/src/check/typeStore.ts +103 -0
- package/src/check/typecheck.ts +134 -0
- package/src/compileComponent.ts +21 -0
- package/src/compileScript.ts +42 -13
- package/src/components.ts +59 -0
- package/src/detectProject.ts +18 -6
- package/src/devServer.ts +19 -10
- package/src/hash.ts +22 -0
- package/src/html.ts +19 -1
- package/src/index.ts +36 -7
- package/src/installer/bins.ts +64 -0
- package/src/installer/index.ts +13 -0
- package/src/installer/install.ts +275 -0
- package/src/installer/lockfile.ts +146 -0
- package/src/installer/registry.ts +175 -0
- package/src/installer/semver.ts +190 -0
- package/src/installer/spec.ts +53 -0
- package/src/installer/tar.ts +155 -0
- package/src/installer/tree.ts +236 -0
- package/src/node/assert.ts +127 -0
- package/src/node/buffer.ts +304 -0
- package/src/node/builtins.ts +123 -0
- package/src/node/callable.ts +25 -0
- package/src/node/childProcess.ts +164 -0
- package/src/node/crypto.ts +187 -0
- package/src/node/esm.ts +196 -0
- package/src/node/events.ts +176 -0
- package/src/node/fs/index.ts +277 -0
- package/src/node/fs/stats.ts +110 -0
- package/src/node/fs/sync.ts +335 -0
- package/src/node/hashes.ts +171 -0
- package/src/node/http/client.ts +173 -0
- package/src/node/http/index.ts +122 -0
- package/src/node/http/server.ts +308 -0
- package/src/node/http/status.ts +13 -0
- package/src/node/inspect.ts +166 -0
- package/src/node/loader.ts +293 -0
- package/src/node/loop.ts +193 -0
- package/src/node/misc.ts +250 -0
- package/src/node/path.ts +135 -0
- package/src/node/process.ts +324 -0
- package/src/node/program.ts +170 -0
- package/src/node/readline.ts +157 -0
- package/src/node/resolve.ts +216 -0
- package/src/node/runtime.ts +184 -0
- package/src/node/stream/index.ts +196 -0
- package/src/node/stream/readable.ts +345 -0
- package/src/node/stream/writable.ts +244 -0
- package/src/node/urlqs.ts +162 -0
- package/src/node/util.ts +145 -0
- package/src/node/zlib.ts +145 -0
- package/src/packageCdn.ts +11 -1
- package/src/projectConfig.ts +34 -7
- package/src/shell/builtins.ts +141 -0
- package/src/shell/context.ts +89 -0
- package/src/shell/devHandoff.ts +49 -0
- package/src/shell/exec.ts +268 -0
- package/src/shell/expand.ts +145 -0
- package/src/shell/fileCommands.ts +206 -0
- package/src/shell/lineEditor.ts +233 -0
- package/src/shell/npm.ts +229 -0
- package/src/shell/parse.ts +295 -0
- package/src/shell/program.ts +223 -0
- package/src/shell/textCommands.ts +177 -0
- package/src/styleModules.ts +15 -4
- package/src/svelteCompiler.ts +31 -0
- package/src/system/commands.ts +72 -0
- package/src/system/index.ts +22 -0
- package/src/system/kernel.ts +106 -0
- package/src/system/ports.ts +73 -0
- package/src/system/process.ts +158 -0
- package/src/system/programs.ts +31 -0
- package/src/system/terminal.ts +135 -0
- package/src/system/types.ts +103 -0
- package/src/vfs.ts +92 -28
- package/src/vueCompiler.ts +121 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/node/fs/stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The synchronous fs API over the VirtualFileSystem. Everything else (callback,
|
|
3
|
+
* promise and stream forms) is layered on these in index.ts, so error codes and
|
|
4
|
+
* edge cases live in exactly one place.
|
|
5
|
+
*/
|
|
6
|
+
import type { VirtualFileSystem } from '../../vfs.js';
|
|
7
|
+
import { Buffer } from '../buffer.js';
|
|
8
|
+
import { Dirent, Stats } from './stats.js';
|
|
9
|
+
export interface FsContext {
|
|
10
|
+
vfs: VirtualFileSystem;
|
|
11
|
+
cwd(): string;
|
|
12
|
+
/** fd 1 and 2: `fs.writeSync(1, …)` is how some CLIs print. */
|
|
13
|
+
stdout(chunk: string | Uint8Array): void;
|
|
14
|
+
stderr(chunk: string | Uint8Array): void;
|
|
15
|
+
}
|
|
16
|
+
type PathLike = string | Uint8Array | URL;
|
|
17
|
+
type Data = string | ArrayBufferView;
|
|
18
|
+
type EncodingOption = string | null | undefined | {
|
|
19
|
+
encoding?: string | null;
|
|
20
|
+
flag?: string;
|
|
21
|
+
withFileTypes?: boolean;
|
|
22
|
+
recursive?: boolean;
|
|
23
|
+
force?: boolean;
|
|
24
|
+
mode?: number;
|
|
25
|
+
throwIfNoEntry?: boolean;
|
|
26
|
+
};
|
|
27
|
+
export declare function createSyncFs(ctx: FsContext): {
|
|
28
|
+
existsSync: (p: PathLike) => boolean;
|
|
29
|
+
accessSync(p: PathLike): void;
|
|
30
|
+
statSync: (p: PathLike, options?: {
|
|
31
|
+
throwIfNoEntry?: boolean;
|
|
32
|
+
}) => Stats | undefined;
|
|
33
|
+
lstatSync: (p: PathLike, options?: {
|
|
34
|
+
throwIfNoEntry?: boolean;
|
|
35
|
+
}) => Stats | undefined;
|
|
36
|
+
fstatSync: (fd: number) => Stats;
|
|
37
|
+
readFileSync(p: PathLike | number, options?: EncodingOption): string | Buffer;
|
|
38
|
+
writeFileSync: (p: PathLike | number, data: Data, options?: EncodingOption) => number | undefined;
|
|
39
|
+
appendFileSync: (p: PathLike | number, data: Data, options?: EncodingOption) => number | undefined;
|
|
40
|
+
mkdirSync: (p: PathLike, options?: EncodingOption | number) => string | undefined;
|
|
41
|
+
mkdtempSync(prefix: string): string;
|
|
42
|
+
readdirSync(p: PathLike, options?: EncodingOption): (string | Buffer)[] | Dirent[];
|
|
43
|
+
rmSync: (p: PathLike, options?: {
|
|
44
|
+
recursive?: boolean;
|
|
45
|
+
force?: boolean;
|
|
46
|
+
}) => void;
|
|
47
|
+
rmdirSync(p: PathLike, options?: {
|
|
48
|
+
recursive?: boolean;
|
|
49
|
+
}): void;
|
|
50
|
+
unlinkSync(p: PathLike): void;
|
|
51
|
+
renameSync(a: PathLike, b: PathLike): void;
|
|
52
|
+
copyFileSync: (src: PathLike, dest: PathLike, mode?: number) => void;
|
|
53
|
+
cpSync(src: PathLike, dest: PathLike, options?: {
|
|
54
|
+
recursive?: boolean;
|
|
55
|
+
force?: boolean;
|
|
56
|
+
}): void;
|
|
57
|
+
realpathSync: ((p: PathLike) => string) & {
|
|
58
|
+
native: (p: PathLike) => string;
|
|
59
|
+
};
|
|
60
|
+
readlinkSync: (p: PathLike) => never;
|
|
61
|
+
/** No symlinks in the VFS: a link to a file becomes a copy of it. */
|
|
62
|
+
symlinkSync(target: PathLike, p: PathLike): void;
|
|
63
|
+
linkSync: (a: PathLike, b: PathLike) => void;
|
|
64
|
+
truncateSync(p: PathLike, length?: number): void;
|
|
65
|
+
chmodSync: (p: PathLike) => undefined;
|
|
66
|
+
lchmodSync: (p: PathLike) => undefined;
|
|
67
|
+
chownSync: (p: PathLike) => undefined;
|
|
68
|
+
lchownSync: (p: PathLike) => undefined;
|
|
69
|
+
utimesSync: (p: PathLike) => undefined;
|
|
70
|
+
lutimesSync: (p: PathLike) => undefined;
|
|
71
|
+
fchmodSync: (fd: number) => undefined;
|
|
72
|
+
fchownSync: (fd: number) => undefined;
|
|
73
|
+
futimesSync: (fd: number) => undefined;
|
|
74
|
+
fsyncSync: (fd: number) => undefined;
|
|
75
|
+
fdatasyncSync: (fd: number) => undefined;
|
|
76
|
+
ftruncateSync: (fd: number, length?: number) => void;
|
|
77
|
+
openSync: (p: PathLike, flags?: string | number) => number;
|
|
78
|
+
closeSync(fd: number): void;
|
|
79
|
+
readSync(fd: number, buffer: ArrayBufferView, offsetOrOptions?: number | {
|
|
80
|
+
offset?: number;
|
|
81
|
+
length?: number;
|
|
82
|
+
position?: number | null;
|
|
83
|
+
}, length?: number, position?: number | null): number;
|
|
84
|
+
writeSync: (fd: number, data: Data | Uint8Array, offset?: number | string | null, length?: number, position?: number | null) => number;
|
|
85
|
+
opendirSync(p: PathLike): {
|
|
86
|
+
path: string;
|
|
87
|
+
readSync: () => Dirent | null;
|
|
88
|
+
read: () => Promise<Dirent | null>;
|
|
89
|
+
closeSync: () => undefined;
|
|
90
|
+
close: () => Promise<undefined>;
|
|
91
|
+
[Symbol.asyncIterator](): AsyncGenerator<Dirent, void, unknown>;
|
|
92
|
+
};
|
|
93
|
+
/** For the stream and watch layers. */
|
|
94
|
+
_resolve: (p: PathLike) => string;
|
|
95
|
+
};
|
|
96
|
+
export type SyncFs = ReturnType<typeof createSyncFs>;
|
|
97
|
+
export {};
|
|
98
|
+
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/node/fs/sync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAU,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAW,KAAK,EAAa,MAAM,YAAY,CAAC;AAE/D,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,iBAAiB,CAAC;IACvB,GAAG,IAAI,MAAM,CAAC;IACd,+DAA+D;IAC/D,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;CAC1C;AAED,KAAK,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC;AAC1C,KAAK,IAAI,GAAG,MAAM,GAAG,eAAe,CAAC;AACrC,KAAK,cAAc,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAUtM,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS;oBA4JvB,QAAQ;kBAOV,QAAQ;kBAnIP,QAAQ,YAAY;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,KAAK,GAAG,SAAS;mBAApE,QAAQ,YAAY;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,KAAK,GAAG,SAAS;oBAyInE,MAAM;oBACN,QAAQ,GAAG,MAAM,YAAY,cAAc,GAAG,MAAM,GAAG,MAAM;uBAlIzD,QAAQ,GAAG,MAAM,QAAQ,IAAI,YAAY,cAAc;wBA6IvD,QAAQ,GAAG,MAAM,QAAQ,IAAI,YAAY,cAAc;mBAhG3D,QAAQ,YAAY,cAAc,GAAG,MAAM,KAAG,MAAM,GAAG,SAAS;wBAkG5D,MAAM;mBAKX,QAAQ,YAAY,cAAc;gBArFpC,QAAQ,YAAY;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;iBA+F5D,QAAQ,YAAY;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;kBAO1C,QAAQ;kBAMR,QAAQ,KAAK,QAAQ;wBAlGd,QAAQ,QAAQ,QAAQ;gBA+GjC,QAAQ,QAAQ,QAAQ,YAAY;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;uBAMxD,QAAQ;oBAIvB,QAAQ;;sBACP,QAAQ;IAG1B,qEAAqE;wBACjD,QAAQ,KAAK,QAAQ;kBAK3B,QAAQ,KAAK,QAAQ;oBACnB,QAAQ;mBAQT,QAAQ;oBACP,QAAQ;mBACT,QAAQ;oBACP,QAAQ;oBACR,QAAQ;qBACP,QAAQ;qBACR,MAAM;qBACN,MAAM;sBACL,MAAM;oBACR,MAAM;wBACF,MAAM;wBACN,MAAM;kBAnIX,QAAQ,UAAS,MAAM,GAAG,MAAM,KAAS,MAAM;kBAqIhD,MAAM;iBAIP,MAAM,UAAU,eAAe,oBAAoB,MAAM,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,WAAW,MAAM,aAAa,MAAM,GAAG,IAAI,GAAG,MAAM;oBAtNxK,MAAM,QAAQ,IAAI,GAAG,UAAU,WAAW,MAAM,GAAG,MAAM,GAAG,IAAI,WAAW,MAAM,aAAa,MAAM,GAAG,IAAI,KAAG,MAAM;mBAmOxH,QAAQ;;;;;;;;IAevB,uCAAuC;kBArSrB,QAAQ,KAAG,MAAM;EAyStC;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
import { normalizePath, dirname, join } from '../../paths.js';
|
|
2
|
+
import { Buffer, encode } from '../buffer.js';
|
|
3
|
+
import { Dirent, fsError, Stats, constants } from './stats.js';
|
|
4
|
+
const encodingOf = (options) => (typeof options === 'string' ? options : options?.encoding);
|
|
5
|
+
export function createSyncFs(ctx) {
|
|
6
|
+
const { vfs } = ctx;
|
|
7
|
+
const fds = new Map();
|
|
8
|
+
let nextFd = 20;
|
|
9
|
+
const resolve = (p) => {
|
|
10
|
+
if (p instanceof URL) {
|
|
11
|
+
if (p.protocol !== 'file:')
|
|
12
|
+
throw new TypeError('The URL must be of scheme file');
|
|
13
|
+
return normalizePath(decodeURIComponent(p.pathname));
|
|
14
|
+
}
|
|
15
|
+
const text = typeof p === 'string' ? p : new TextDecoder().decode(p);
|
|
16
|
+
if (typeof text !== 'string')
|
|
17
|
+
throw new TypeError('The "path" argument must be of type string, Buffer or URL');
|
|
18
|
+
if (text.startsWith('file://'))
|
|
19
|
+
return normalizePath(decodeURIComponent(new URL(text).pathname));
|
|
20
|
+
return text.startsWith('/') ? normalizePath(text) : join(ctx.cwd(), text);
|
|
21
|
+
};
|
|
22
|
+
const bytesOf = (path) => {
|
|
23
|
+
const contents = vfs.readFile(path);
|
|
24
|
+
return typeof contents === 'string' ? encode(contents) : contents;
|
|
25
|
+
};
|
|
26
|
+
const requireParent = (path, syscall) => {
|
|
27
|
+
const parent = dirname(path);
|
|
28
|
+
if (vfs.isFile(parent))
|
|
29
|
+
throw fsError('ENOTDIR', syscall, path);
|
|
30
|
+
if (!vfs.isDirectory(parent))
|
|
31
|
+
throw fsError('ENOENT', syscall, path);
|
|
32
|
+
};
|
|
33
|
+
const toStored = (data, encoding) => {
|
|
34
|
+
if (typeof data === 'string')
|
|
35
|
+
return !encoding || /^utf-?8$/i.test(encoding) ? data : encode(data, encoding).slice();
|
|
36
|
+
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength).slice();
|
|
37
|
+
};
|
|
38
|
+
const stat = (p, options) => {
|
|
39
|
+
const path = resolve(p);
|
|
40
|
+
if (vfs.isFile(path))
|
|
41
|
+
return new Stats(path, 'file', bytesOf(path).length, vfs.mtime(path) ?? Date.now());
|
|
42
|
+
if (vfs.isDirectory(path))
|
|
43
|
+
return new Stats(path, 'directory', 4096, 0);
|
|
44
|
+
if (options?.throwIfNoEntry === false)
|
|
45
|
+
return undefined;
|
|
46
|
+
throw fsError('ENOENT', 'stat', path);
|
|
47
|
+
};
|
|
48
|
+
const writeFile = (p, data, options) => {
|
|
49
|
+
if (typeof p === 'number')
|
|
50
|
+
return writeFd(p, data);
|
|
51
|
+
const path = resolve(p);
|
|
52
|
+
const flag = typeof options === 'object' && options ? options.flag ?? 'w' : 'w';
|
|
53
|
+
if (vfs.isDirectory(path))
|
|
54
|
+
throw fsError('EISDIR', 'open', path);
|
|
55
|
+
requireParent(path, 'open');
|
|
56
|
+
if (flag.includes('x') && vfs.isFile(path))
|
|
57
|
+
throw fsError('EEXIST', 'open', path);
|
|
58
|
+
if (flag.startsWith('a') && vfs.isFile(path)) {
|
|
59
|
+
const before = vfs.readFile(path);
|
|
60
|
+
const add = toStored(data, encodingOf(options));
|
|
61
|
+
vfs.writeFile(path, typeof before === 'string' && typeof add === 'string' ? before + add : Buffer.concat([typeof before === 'string' ? encode(before) : before, typeof add === 'string' ? encode(add) : add]));
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
vfs.writeFile(path, toStored(data, encodingOf(options)));
|
|
65
|
+
};
|
|
66
|
+
const writeFd = (fd, data, offset, length, position) => {
|
|
67
|
+
const bytes = typeof data === 'string' ? encode(data, typeof offset === 'string' ? offset : undefined) : new Uint8Array(data.buffer, data.byteOffset + (typeof offset === 'number' ? offset : 0), length ?? data.byteLength - (typeof offset === 'number' ? offset : 0));
|
|
68
|
+
if (fd === 1 || fd === 2) {
|
|
69
|
+
(fd === 1 ? ctx.stdout : ctx.stderr)(bytes.slice());
|
|
70
|
+
return bytes.length;
|
|
71
|
+
}
|
|
72
|
+
const file = fds.get(fd);
|
|
73
|
+
if (!file || file.flags === 'r')
|
|
74
|
+
throw fsError('EBADF', 'write');
|
|
75
|
+
const current = vfs.isFile(file.path) ? bytesOf(file.path) : new Uint8Array();
|
|
76
|
+
const at = file.flags.startsWith('a') ? current.length : position ?? file.position;
|
|
77
|
+
const next = new Uint8Array(Math.max(current.length, at + bytes.length));
|
|
78
|
+
next.set(current);
|
|
79
|
+
next.set(bytes, at);
|
|
80
|
+
vfs.writeFile(file.path, next);
|
|
81
|
+
if (position === undefined || position === null)
|
|
82
|
+
file.position = at + bytes.length;
|
|
83
|
+
return bytes.length;
|
|
84
|
+
};
|
|
85
|
+
const readdirEntries = (dir, recursive, prefix = '') => {
|
|
86
|
+
const out = [];
|
|
87
|
+
for (const name of vfs.readdir(dir)) {
|
|
88
|
+
const full = join(dir, name);
|
|
89
|
+
const kind = vfs.isDirectory(full) ? 'directory' : 'file';
|
|
90
|
+
out.push({ name: prefix + name, parent: dir, kind });
|
|
91
|
+
if (recursive && kind === 'directory')
|
|
92
|
+
out.push(...readdirEntries(full, true, `${prefix}${name}/`));
|
|
93
|
+
}
|
|
94
|
+
return out;
|
|
95
|
+
};
|
|
96
|
+
const mkdir = (p, options) => {
|
|
97
|
+
const path = resolve(p);
|
|
98
|
+
const recursive = typeof options === 'object' && !!options?.recursive;
|
|
99
|
+
if (vfs.isFile(path))
|
|
100
|
+
throw fsError('EEXIST', 'mkdir', path);
|
|
101
|
+
if (vfs.isDirectory(path)) {
|
|
102
|
+
if (recursive)
|
|
103
|
+
return undefined;
|
|
104
|
+
throw fsError('EEXIST', 'mkdir', path);
|
|
105
|
+
}
|
|
106
|
+
if (!recursive)
|
|
107
|
+
requireParent(path, 'mkdir');
|
|
108
|
+
let first;
|
|
109
|
+
for (let dir = path; !vfs.isDirectory(dir); dir = dirname(dir)) {
|
|
110
|
+
if (vfs.isFile(dir))
|
|
111
|
+
throw fsError('ENOTDIR', 'mkdir', path);
|
|
112
|
+
first = dir;
|
|
113
|
+
}
|
|
114
|
+
vfs.mkdir(path);
|
|
115
|
+
return recursive ? first : undefined;
|
|
116
|
+
};
|
|
117
|
+
const rm = (p, options) => {
|
|
118
|
+
const path = resolve(p);
|
|
119
|
+
if (!vfs.exists(path)) {
|
|
120
|
+
if (options?.force)
|
|
121
|
+
return;
|
|
122
|
+
throw fsError('ENOENT', 'rm', path);
|
|
123
|
+
}
|
|
124
|
+
if (vfs.isDirectory(path) && !options?.recursive)
|
|
125
|
+
throw Object.assign(fsError('EISDIR', 'rm', path), { code: 'ERR_FS_EISDIR' });
|
|
126
|
+
vfs.rm(path);
|
|
127
|
+
};
|
|
128
|
+
const copyFile = (src, dest, mode = 0) => {
|
|
129
|
+
const from = resolve(src);
|
|
130
|
+
const to = resolve(dest);
|
|
131
|
+
if (!vfs.isFile(from))
|
|
132
|
+
throw fsError(vfs.isDirectory(from) ? 'EISDIR' : 'ENOENT', 'copyfile', from, to);
|
|
133
|
+
if (mode & constants.COPYFILE_EXCL && vfs.exists(to))
|
|
134
|
+
throw fsError('EEXIST', 'copyfile', from, to);
|
|
135
|
+
requireParent(to, 'copyfile');
|
|
136
|
+
const contents = vfs.readFile(from);
|
|
137
|
+
vfs.writeFile(to, typeof contents === 'string' ? contents : contents.slice());
|
|
138
|
+
};
|
|
139
|
+
const copyTree = (from, to) => {
|
|
140
|
+
if (vfs.isFile(from)) {
|
|
141
|
+
const contents = vfs.readFile(from);
|
|
142
|
+
vfs.writeFile(to, typeof contents === 'string' ? contents : contents.slice());
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
vfs.mkdir(to);
|
|
146
|
+
for (const name of vfs.readdir(from))
|
|
147
|
+
copyTree(join(from, name), join(to, name));
|
|
148
|
+
};
|
|
149
|
+
const open = (p, flags = 'r') => {
|
|
150
|
+
const path = resolve(p);
|
|
151
|
+
const f = typeof flags === 'number' ? (flags & constants.O_APPEND ? 'a' : flags & (constants.O_WRONLY | constants.O_RDWR) ? 'w' : 'r') : flags;
|
|
152
|
+
if (vfs.isDirectory(path) && f !== 'r')
|
|
153
|
+
throw fsError('EISDIR', 'open', path);
|
|
154
|
+
if (f.startsWith('r')) {
|
|
155
|
+
if (!vfs.exists(path))
|
|
156
|
+
throw fsError('ENOENT', 'open', path);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
if (f.includes('x') && vfs.exists(path))
|
|
160
|
+
throw fsError('EEXIST', 'open', path);
|
|
161
|
+
requireParent(path, 'open');
|
|
162
|
+
if (f.startsWith('w') || !vfs.isFile(path))
|
|
163
|
+
vfs.writeFile(path, '');
|
|
164
|
+
}
|
|
165
|
+
const fd = nextFd++;
|
|
166
|
+
fds.set(fd, { path, flags: f, position: 0 });
|
|
167
|
+
return fd;
|
|
168
|
+
};
|
|
169
|
+
const fileOf = (fd, syscall) => {
|
|
170
|
+
const file = fds.get(fd);
|
|
171
|
+
if (!file)
|
|
172
|
+
throw fsError('EBADF', syscall);
|
|
173
|
+
return file;
|
|
174
|
+
};
|
|
175
|
+
const api = {
|
|
176
|
+
existsSync: (p) => {
|
|
177
|
+
try {
|
|
178
|
+
return vfs.exists(resolve(p));
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
accessSync(p) {
|
|
185
|
+
const path = resolve(p);
|
|
186
|
+
if (!vfs.exists(path))
|
|
187
|
+
throw fsError('ENOENT', 'access', path);
|
|
188
|
+
},
|
|
189
|
+
statSync: stat,
|
|
190
|
+
lstatSync: stat,
|
|
191
|
+
fstatSync: (fd) => stat(fileOf(fd, 'fstat').path),
|
|
192
|
+
readFileSync(p, options) {
|
|
193
|
+
if (p === 0)
|
|
194
|
+
return Buffer.alloc(0); // stdin is not readable synchronously here
|
|
195
|
+
const path = typeof p === 'number' ? fileOf(p, 'read').path : resolve(p);
|
|
196
|
+
if (vfs.isDirectory(path))
|
|
197
|
+
throw fsError('EISDIR', 'read', path);
|
|
198
|
+
const contents = vfs.readFile(path);
|
|
199
|
+
if (contents === undefined)
|
|
200
|
+
throw fsError('ENOENT', 'open', path);
|
|
201
|
+
const encoding = encodingOf(options);
|
|
202
|
+
if (encoding)
|
|
203
|
+
return typeof contents === 'string' && /^utf-?8$/i.test(encoding) ? contents : Buffer.from(typeof contents === 'string' ? encode(contents) : contents).toString(encoding);
|
|
204
|
+
return Buffer.from(typeof contents === 'string' ? encode(contents) : contents);
|
|
205
|
+
},
|
|
206
|
+
writeFileSync: writeFile,
|
|
207
|
+
appendFileSync: (p, data, options) => writeFile(p, data, { ...(typeof options === 'string' ? { encoding: options } : options ?? {}), flag: 'a' }),
|
|
208
|
+
mkdirSync: mkdir,
|
|
209
|
+
mkdtempSync(prefix) {
|
|
210
|
+
const path = `${prefix}${Math.random().toString(36).slice(2, 8)}`;
|
|
211
|
+
mkdir(path);
|
|
212
|
+
return resolve(path);
|
|
213
|
+
},
|
|
214
|
+
readdirSync(p, options) {
|
|
215
|
+
const path = resolve(p);
|
|
216
|
+
if (vfs.isFile(path))
|
|
217
|
+
throw fsError('ENOTDIR', 'scandir', path);
|
|
218
|
+
if (!vfs.isDirectory(path))
|
|
219
|
+
throw fsError('ENOENT', 'scandir', path);
|
|
220
|
+
const opts = typeof options === 'object' ? options : undefined;
|
|
221
|
+
const entries = readdirEntries(path, !!opts?.recursive);
|
|
222
|
+
if (opts?.withFileTypes)
|
|
223
|
+
return entries.map((e) => new Dirent(e.name.slice(e.name.lastIndexOf('/') + 1), e.name.includes('/') ? join(path, e.name, '..') : e.parent, e.kind));
|
|
224
|
+
return entries.map((e) => (encodingOf(options) === 'buffer' ? Buffer.from(e.name) : e.name));
|
|
225
|
+
},
|
|
226
|
+
rmSync: rm,
|
|
227
|
+
rmdirSync(p, options) {
|
|
228
|
+
const path = resolve(p);
|
|
229
|
+
if (vfs.isFile(path))
|
|
230
|
+
throw fsError('ENOTDIR', 'rmdir', path);
|
|
231
|
+
if (!vfs.isDirectory(path))
|
|
232
|
+
throw fsError('ENOENT', 'rmdir', path);
|
|
233
|
+
if (vfs.readdir(path).length && !options?.recursive)
|
|
234
|
+
throw fsError('ENOTEMPTY', 'rmdir', path);
|
|
235
|
+
vfs.rm(path);
|
|
236
|
+
},
|
|
237
|
+
unlinkSync(p) {
|
|
238
|
+
const path = resolve(p);
|
|
239
|
+
if (vfs.isDirectory(path))
|
|
240
|
+
throw fsError('EISDIR', 'unlink', path);
|
|
241
|
+
if (!vfs.isFile(path))
|
|
242
|
+
throw fsError('ENOENT', 'unlink', path);
|
|
243
|
+
vfs.rm(path);
|
|
244
|
+
},
|
|
245
|
+
renameSync(a, b) {
|
|
246
|
+
const from = resolve(a);
|
|
247
|
+
const to = resolve(b);
|
|
248
|
+
if (!vfs.exists(from))
|
|
249
|
+
throw fsError('ENOENT', 'rename', from, to);
|
|
250
|
+
if (from === to)
|
|
251
|
+
return;
|
|
252
|
+
if (vfs.isDirectory(to) && vfs.isFile(from))
|
|
253
|
+
throw fsError('EISDIR', 'rename', from, to);
|
|
254
|
+
requireParent(to, 'rename');
|
|
255
|
+
if (vfs.isFile(to) && vfs.isDirectory(from))
|
|
256
|
+
throw fsError('ENOTDIR', 'rename', from, to);
|
|
257
|
+
vfs.rm(to);
|
|
258
|
+
copyTree(from, to);
|
|
259
|
+
vfs.rm(from);
|
|
260
|
+
},
|
|
261
|
+
copyFileSync: copyFile,
|
|
262
|
+
cpSync(src, dest, options) {
|
|
263
|
+
const from = resolve(src);
|
|
264
|
+
if (vfs.isDirectory(from) && !options?.recursive)
|
|
265
|
+
throw Object.assign(fsError('EISDIR', 'cp', from), { code: 'ERR_FS_EISDIR' });
|
|
266
|
+
if (!vfs.exists(from))
|
|
267
|
+
throw fsError('ENOENT', 'cp', from);
|
|
268
|
+
copyTree(from, resolve(dest));
|
|
269
|
+
},
|
|
270
|
+
realpathSync: Object.assign((p) => {
|
|
271
|
+
const path = resolve(p);
|
|
272
|
+
if (!vfs.exists(path))
|
|
273
|
+
throw fsError('ENOENT', 'realpath', path);
|
|
274
|
+
return path;
|
|
275
|
+
}, { native: (p) => api.realpathSync(p) }),
|
|
276
|
+
readlinkSync: (p) => {
|
|
277
|
+
throw fsError('EINVAL', 'readlink', resolve(p));
|
|
278
|
+
},
|
|
279
|
+
/** No symlinks in the VFS: a link to a file becomes a copy of it. */
|
|
280
|
+
symlinkSync(target, p) {
|
|
281
|
+
const path = resolve(p);
|
|
282
|
+
const from = typeof target === 'string' && !target.startsWith('/') ? join(dirname(path), target) : resolve(target);
|
|
283
|
+
copyTree(from, path);
|
|
284
|
+
},
|
|
285
|
+
linkSync: (a, b) => copyFile(a, b),
|
|
286
|
+
truncateSync(p, length = 0) {
|
|
287
|
+
const path = resolve(p);
|
|
288
|
+
if (!vfs.isFile(path))
|
|
289
|
+
throw fsError('ENOENT', 'open', path);
|
|
290
|
+
const bytes = bytesOf(path);
|
|
291
|
+
const next = new Uint8Array(length);
|
|
292
|
+
next.set(bytes.subarray(0, length));
|
|
293
|
+
vfs.writeFile(path, next);
|
|
294
|
+
},
|
|
295
|
+
chmodSync: (p) => void api.accessSync(p),
|
|
296
|
+
lchmodSync: (p) => void api.accessSync(p),
|
|
297
|
+
chownSync: (p) => void api.accessSync(p),
|
|
298
|
+
lchownSync: (p) => void api.accessSync(p),
|
|
299
|
+
utimesSync: (p) => void api.accessSync(p),
|
|
300
|
+
lutimesSync: (p) => void api.accessSync(p),
|
|
301
|
+
fchmodSync: (fd) => void fileOf(fd, 'fchmod'),
|
|
302
|
+
fchownSync: (fd) => void fileOf(fd, 'fchown'),
|
|
303
|
+
futimesSync: (fd) => void fileOf(fd, 'futimes'),
|
|
304
|
+
fsyncSync: (fd) => void fileOf(fd, 'fsync'),
|
|
305
|
+
fdatasyncSync: (fd) => void fileOf(fd, 'fdatasync'),
|
|
306
|
+
ftruncateSync: (fd, length = 0) => api.truncateSync(fileOf(fd, 'ftruncate').path, length),
|
|
307
|
+
openSync: open,
|
|
308
|
+
closeSync(fd) {
|
|
309
|
+
if (fd > 2)
|
|
310
|
+
fileOf(fd, 'close');
|
|
311
|
+
fds.delete(fd);
|
|
312
|
+
},
|
|
313
|
+
readSync(fd, buffer, offsetOrOptions, length, position) {
|
|
314
|
+
const opts = typeof offsetOrOptions === 'object' ? offsetOrOptions : { offset: offsetOrOptions, length, position };
|
|
315
|
+
const file = fileOf(fd, 'read');
|
|
316
|
+
const bytes = bytesOf(file.path);
|
|
317
|
+
const target = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
318
|
+
const offset = opts.offset ?? 0;
|
|
319
|
+
const from = opts.position ?? file.position;
|
|
320
|
+
const chunk = bytes.subarray(from, from + Math.min(opts.length ?? target.length - offset, target.length - offset));
|
|
321
|
+
target.set(chunk, offset);
|
|
322
|
+
if (opts.position === undefined || opts.position === null)
|
|
323
|
+
file.position = from + chunk.length;
|
|
324
|
+
return chunk.length;
|
|
325
|
+
},
|
|
326
|
+
writeSync: writeFd,
|
|
327
|
+
opendirSync(p) {
|
|
328
|
+
const path = resolve(p);
|
|
329
|
+
const entries = api.readdirSync(path, { withFileTypes: true });
|
|
330
|
+
let i = 0;
|
|
331
|
+
return {
|
|
332
|
+
path,
|
|
333
|
+
readSync: () => entries[i++] ?? null,
|
|
334
|
+
read: async () => entries[i++] ?? null,
|
|
335
|
+
closeSync: () => undefined,
|
|
336
|
+
close: async () => undefined,
|
|
337
|
+
async *[Symbol.asyncIterator]() {
|
|
338
|
+
while (i < entries.length)
|
|
339
|
+
yield entries[i++];
|
|
340
|
+
},
|
|
341
|
+
};
|
|
342
|
+
},
|
|
343
|
+
/** For the stream and watch layers. */
|
|
344
|
+
_resolve: resolve,
|
|
345
|
+
};
|
|
346
|
+
return api;
|
|
347
|
+
}
|
|
348
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/node/fs/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Synchronous message digests for `crypto.createHash` — WebCrypto's digest is
|
|
3
|
+
* async-only, and Node's API is sync. md5, sha1, sha256, sha224, sha384, sha512.
|
|
4
|
+
* Inputs are buffered and hashed at `digest()`, which keeps each algorithm a
|
|
5
|
+
* single pure function.
|
|
6
|
+
*/
|
|
7
|
+
export declare const HASHES: Record<string, {
|
|
8
|
+
digest(data: Uint8Array): Uint8Array;
|
|
9
|
+
blockSize: number;
|
|
10
|
+
}>;
|
|
11
|
+
export declare function hashAlgorithm(name: string): {
|
|
12
|
+
digest(data: Uint8Array): Uint8Array;
|
|
13
|
+
blockSize: number;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=hashes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hashes.d.ts","sourceRoot":"","sources":["../../src/node/hashes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuJH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAO9F,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAKvG"}
|