sandlot 0.1.2 → 0.1.4
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/README.md +138 -408
- package/dist/build-emitter.d.ts +31 -13
- package/dist/build-emitter.d.ts.map +1 -1
- package/dist/builder.d.ts +370 -0
- package/dist/builder.d.ts.map +1 -0
- package/dist/bundler.d.ts +6 -2
- package/dist/bundler.d.ts.map +1 -1
- package/dist/commands/compile.d.ts +13 -0
- package/dist/commands/compile.d.ts.map +1 -0
- package/dist/commands/index.d.ts +17 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/packages.d.ts +17 -0
- package/dist/commands/packages.d.ts.map +1 -0
- package/dist/commands/run.d.ts +40 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/types.d.ts +141 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/fs.d.ts +53 -49
- package/dist/fs.d.ts.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +300 -511
- package/dist/internal.js +161 -171
- package/dist/runner.d.ts +314 -0
- package/dist/runner.d.ts.map +1 -0
- package/dist/sandbox-manager.d.ts +45 -21
- package/dist/sandbox-manager.d.ts.map +1 -1
- package/dist/sandbox.d.ts +144 -62
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/shared-modules.d.ts +22 -3
- package/dist/shared-modules.d.ts.map +1 -1
- package/dist/shared-resources.d.ts +0 -3
- package/dist/shared-resources.d.ts.map +1 -1
- package/dist/ts-libs.d.ts +7 -20
- package/dist/ts-libs.d.ts.map +1 -1
- package/dist/typechecker.d.ts +1 -1
- package/package.json +5 -5
- package/src/build-emitter.ts +32 -29
- package/src/builder.ts +498 -0
- package/src/bundler.ts +76 -55
- package/src/commands/compile.ts +236 -0
- package/src/commands/index.ts +51 -0
- package/src/commands/packages.ts +154 -0
- package/src/commands/run.ts +245 -0
- package/src/commands/types.ts +172 -0
- package/src/fs.ts +82 -221
- package/src/index.ts +17 -12
- package/src/sandbox.ts +219 -149
- package/src/shared-modules.ts +74 -4
- package/src/shared-resources.ts +0 -3
- package/src/ts-libs.ts +19 -121
- package/src/typechecker.ts +1 -1
- package/dist/react.d.ts +0 -159
- package/dist/react.d.ts.map +0 -1
- package/dist/react.js +0 -149
- package/src/commands.ts +0 -733
- package/src/sandbox-manager.ts +0 -409
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types and utilities for sandbox bash commands.
|
|
3
|
+
*/
|
|
4
|
+
import type { IFileSystem } from "just-bash/browser";
|
|
5
|
+
import type { BundleResult } from "../bundler";
|
|
6
|
+
import type { TypesCache } from "../packages";
|
|
7
|
+
/**
|
|
8
|
+
* The result of a successful build, including the bundle and loaded module.
|
|
9
|
+
*/
|
|
10
|
+
export interface BuildOutput {
|
|
11
|
+
/**
|
|
12
|
+
* The compiled bundle (code, metadata, etc.)
|
|
13
|
+
*/
|
|
14
|
+
bundle: BundleResult;
|
|
15
|
+
/**
|
|
16
|
+
* The loaded module exports.
|
|
17
|
+
* If validation was provided, this is the validated module.
|
|
18
|
+
*/
|
|
19
|
+
module: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Validation function type for module validation.
|
|
23
|
+
* Takes the raw module exports and returns validated exports (or throws).
|
|
24
|
+
*/
|
|
25
|
+
export type ValidateFn = (module: Record<string, unknown>) => Record<string, unknown>;
|
|
26
|
+
/**
|
|
27
|
+
* Dependencies required by command factories
|
|
28
|
+
*/
|
|
29
|
+
export interface CommandDeps {
|
|
30
|
+
/**
|
|
31
|
+
* The virtual filesystem to operate on
|
|
32
|
+
*/
|
|
33
|
+
fs: IFileSystem;
|
|
34
|
+
/**
|
|
35
|
+
* Pre-loaded TypeScript lib files for type checking
|
|
36
|
+
*/
|
|
37
|
+
libFiles: Map<string, string>;
|
|
38
|
+
/**
|
|
39
|
+
* Path to tsconfig.json in the virtual filesystem
|
|
40
|
+
*/
|
|
41
|
+
tsconfigPath: string;
|
|
42
|
+
/**
|
|
43
|
+
* Callback invoked when a build succeeds (after loading and validation).
|
|
44
|
+
*/
|
|
45
|
+
onBuild?: (result: BuildOutput) => void | Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Getter for the current validation function.
|
|
48
|
+
* Called during build to check if validation should be performed.
|
|
49
|
+
*/
|
|
50
|
+
getValidation?: () => ValidateFn | null;
|
|
51
|
+
/**
|
|
52
|
+
* Cache for package type definitions.
|
|
53
|
+
* When provided, avoids redundant network fetches for packages
|
|
54
|
+
* that have already been installed in other sandboxes.
|
|
55
|
+
*/
|
|
56
|
+
typesCache?: TypesCache;
|
|
57
|
+
/**
|
|
58
|
+
* Options for the `run` command
|
|
59
|
+
*/
|
|
60
|
+
runOptions?: RunOptions;
|
|
61
|
+
/**
|
|
62
|
+
* Module IDs that should be resolved from the host's SharedModuleRegistry
|
|
63
|
+
* instead of esm.sh CDN. The host must have registered these modules.
|
|
64
|
+
*
|
|
65
|
+
* Example: ['react', 'react-dom/client']
|
|
66
|
+
*/
|
|
67
|
+
sharedModules?: string[];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Runtime context passed to the `main()` function when code is executed.
|
|
71
|
+
* This provides sandboxed code with access to sandbox capabilities.
|
|
72
|
+
*/
|
|
73
|
+
export interface RunContext {
|
|
74
|
+
/**
|
|
75
|
+
* The virtual filesystem - read/write files within the sandbox
|
|
76
|
+
*/
|
|
77
|
+
fs: IFileSystem;
|
|
78
|
+
/**
|
|
79
|
+
* Environment variables (configurable per-sandbox)
|
|
80
|
+
*/
|
|
81
|
+
env: Record<string, string>;
|
|
82
|
+
/**
|
|
83
|
+
* Command-line arguments passed to `run`
|
|
84
|
+
*/
|
|
85
|
+
args: string[];
|
|
86
|
+
/**
|
|
87
|
+
* Explicit logging function (alternative to console.log)
|
|
88
|
+
*/
|
|
89
|
+
log: (...args: unknown[]) => void;
|
|
90
|
+
/**
|
|
91
|
+
* Explicit error logging function (alternative to console.error)
|
|
92
|
+
*/
|
|
93
|
+
error: (...args: unknown[]) => void;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Options for configuring the `run` command behavior
|
|
97
|
+
*/
|
|
98
|
+
export interface RunOptions {
|
|
99
|
+
/**
|
|
100
|
+
* Environment variables available via ctx.env
|
|
101
|
+
*/
|
|
102
|
+
env?: Record<string, string>;
|
|
103
|
+
/**
|
|
104
|
+
* Maximum execution time in milliseconds (default: 30000 = 30s)
|
|
105
|
+
* Set to 0 to disable timeout.
|
|
106
|
+
*/
|
|
107
|
+
timeout?: number;
|
|
108
|
+
/**
|
|
109
|
+
* Whether to skip type checking before running (default: false)
|
|
110
|
+
*/
|
|
111
|
+
skipTypecheck?: boolean;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Result of running code via the `run` command
|
|
115
|
+
*/
|
|
116
|
+
export interface RunResult {
|
|
117
|
+
/**
|
|
118
|
+
* Captured console output (log, warn, error)
|
|
119
|
+
*/
|
|
120
|
+
logs: string[];
|
|
121
|
+
/**
|
|
122
|
+
* Return value from main() if present
|
|
123
|
+
*/
|
|
124
|
+
returnValue?: unknown;
|
|
125
|
+
/**
|
|
126
|
+
* Execution time in milliseconds
|
|
127
|
+
*/
|
|
128
|
+
executionTimeMs: number;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Format esbuild messages (warnings/errors) for display
|
|
132
|
+
*/
|
|
133
|
+
export declare function formatEsbuildMessages(messages: {
|
|
134
|
+
text: string;
|
|
135
|
+
location?: {
|
|
136
|
+
file?: string;
|
|
137
|
+
line?: number;
|
|
138
|
+
column?: number;
|
|
139
|
+
} | null;
|
|
140
|
+
}[]): string;
|
|
141
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,WAAW,CAAC;IAEhB;;OAEG;IACH,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,EAAE,EAAE,WAAW,CAAC;IAEhB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;OAEG;IACH,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAElC;;OAEG;IACH,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,EAAE,GAChG,MAAM,CAaR"}
|
package/dist/fs.d.ts
CHANGED
|
@@ -28,56 +28,73 @@ interface DirentEntry {
|
|
|
28
28
|
isSymbolicLink: boolean;
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
|
-
* Options for creating
|
|
31
|
+
* Options for creating a Filesystem instance
|
|
32
32
|
*/
|
|
33
|
-
export interface
|
|
34
|
-
/** Database name in IndexedDB */
|
|
35
|
-
dbName?: string;
|
|
33
|
+
export interface FilesystemOptions {
|
|
36
34
|
/** Maximum total size in bytes (default: 50MB) */
|
|
37
35
|
maxSizeBytes?: number;
|
|
38
|
-
/** Initial files to populate
|
|
36
|
+
/** Initial files to populate */
|
|
39
37
|
initialFiles?: InitialFiles;
|
|
40
38
|
}
|
|
41
39
|
/**
|
|
42
|
-
* In-memory filesystem
|
|
43
|
-
*
|
|
40
|
+
* In-memory virtual filesystem for sandlot sandboxes.
|
|
41
|
+
*
|
|
42
|
+
* All operations are synchronous in-memory. Use `getFiles()` to export
|
|
43
|
+
* the current state for persistence, and `initialFiles` to restore.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* // Create filesystem
|
|
48
|
+
* const fs = Filesystem.create({ initialFiles: { '/src/index.ts': 'export const x = 1;' } });
|
|
49
|
+
*
|
|
50
|
+
* // Use filesystem
|
|
51
|
+
* await fs.writeFile('/src/app.ts', 'console.log("hello")');
|
|
52
|
+
*
|
|
53
|
+
* // Export for persistence
|
|
54
|
+
* const files = fs.getFiles();
|
|
55
|
+
* localStorage.setItem('my-project', JSON.stringify(files));
|
|
56
|
+
*
|
|
57
|
+
* // Later, restore
|
|
58
|
+
* const saved = JSON.parse(localStorage.getItem('my-project'));
|
|
59
|
+
* const fs2 = Filesystem.create({ initialFiles: saved });
|
|
60
|
+
* ```
|
|
44
61
|
*/
|
|
45
|
-
export declare class
|
|
62
|
+
export declare class Filesystem implements IFileSystem {
|
|
46
63
|
private entries;
|
|
47
|
-
private db;
|
|
48
|
-
private dbName;
|
|
49
64
|
private maxSizeBytes;
|
|
50
|
-
private dirty;
|
|
51
65
|
private constructor();
|
|
52
66
|
/**
|
|
53
|
-
* Create
|
|
54
|
-
*/
|
|
55
|
-
static create(options?: IndexedDbFsOptions): Promise<IndexedDbFs>;
|
|
56
|
-
/**
|
|
57
|
-
* Create an in-memory only instance (no IndexedDB)
|
|
58
|
-
*/
|
|
59
|
-
static createInMemory(options?: Omit<IndexedDbFsOptions, "dbName">): IndexedDbFs;
|
|
60
|
-
/**
|
|
61
|
-
* Save all entries to IndexedDB
|
|
62
|
-
* @returns true if saved, false if no db or not dirty
|
|
63
|
-
*/
|
|
64
|
-
save(): Promise<boolean>;
|
|
65
|
-
/**
|
|
66
|
-
* Reload entries from IndexedDB, discarding unsaved changes
|
|
67
|
+
* Create a new Filesystem instance
|
|
67
68
|
*/
|
|
68
|
-
|
|
69
|
+
static create(options?: FilesystemOptions): Filesystem;
|
|
69
70
|
/**
|
|
70
|
-
*
|
|
71
|
+
* Get all files as a serializable object.
|
|
72
|
+
*
|
|
73
|
+
* Returns a Record<string, string> that can be JSON-serialized and
|
|
74
|
+
* used as `initialFiles` when creating a new filesystem.
|
|
75
|
+
*
|
|
76
|
+
* Note: Only includes files, not directories (directories are
|
|
77
|
+
* automatically created from file paths). Binary files are
|
|
78
|
+
* base64-encoded with a `data:` prefix.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```ts
|
|
82
|
+
* const files = fs.getFiles();
|
|
83
|
+
* // { '/src/index.ts': 'export const x = 1;', '/package.json': '{"name":"app"}' }
|
|
84
|
+
*
|
|
85
|
+
* // Persist however you want
|
|
86
|
+
* localStorage.setItem('project', JSON.stringify(files));
|
|
87
|
+
*
|
|
88
|
+
* // Restore later
|
|
89
|
+
* const saved = JSON.parse(localStorage.getItem('project'));
|
|
90
|
+
* const fs2 = Filesystem.create({ initialFiles: saved });
|
|
91
|
+
* ```
|
|
71
92
|
*/
|
|
72
|
-
|
|
93
|
+
getFiles(): Record<string, string>;
|
|
73
94
|
/**
|
|
74
95
|
* Get approximate size of all stored data in bytes
|
|
75
96
|
*/
|
|
76
97
|
getSize(): number;
|
|
77
|
-
/**
|
|
78
|
-
* Close the database connection
|
|
79
|
-
*/
|
|
80
|
-
close(): void;
|
|
81
98
|
readFile(path: string, options?: ReadFileOptions | BufferEncoding): Promise<string>;
|
|
82
99
|
readFileBuffer(path: string): Promise<Uint8Array>;
|
|
83
100
|
writeFile(path: string, content: FileContent, _options?: WriteFileOptions | BufferEncoding): Promise<void>;
|
|
@@ -111,29 +128,16 @@ export declare class IndexedDbFs implements IFileSystem {
|
|
|
111
128
|
private checkSizeLimit;
|
|
112
129
|
private getEncoding;
|
|
113
130
|
private decodeBuffer;
|
|
131
|
+
private encodeBase64;
|
|
114
132
|
private concatBuffers;
|
|
115
133
|
private static parseFileInit;
|
|
116
|
-
private static openDatabase;
|
|
117
|
-
private static loadEntries;
|
|
118
|
-
private serializeEntry;
|
|
119
|
-
private static deserializeEntry;
|
|
120
|
-
private promisifyRequest;
|
|
121
|
-
private promisifyTransaction;
|
|
122
134
|
}
|
|
123
135
|
/**
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
* Note: For IndexedDB-backed persistence, use `IndexedDbFs.create()` instead.
|
|
127
|
-
* This function exists for compatibility with sync factory patterns.
|
|
136
|
+
* Create an in-memory filesystem.
|
|
128
137
|
*
|
|
129
138
|
* @param initialFiles - Optional initial files to populate the filesystem
|
|
130
|
-
* @returns
|
|
131
|
-
*/
|
|
132
|
-
export declare function createInMemoryFs(initialFiles?: InitialFiles): IFileSystem;
|
|
133
|
-
/**
|
|
134
|
-
* @deprecated Use `createInMemoryFs` for in-memory filesystems or
|
|
135
|
-
* `IndexedDbFs.create()` for IndexedDB-backed persistence.
|
|
139
|
+
* @returns A new Filesystem instance
|
|
136
140
|
*/
|
|
137
|
-
export declare
|
|
141
|
+
export declare function createFilesystem(options?: FilesystemOptions): Filesystem;
|
|
138
142
|
export {};
|
|
139
143
|
//# sourceMappingURL=fs.d.ts.map
|
package/dist/fs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,MAAM,EACN,YAAY,EACZ,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,KAAK,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1F;;GAEG;AACH,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CAClC;AAED;;;;GAIG;AACH,UAAU,gBAAgB;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB;AAOD;;GAEG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
export { createSandbox,
|
|
2
|
-
export {
|
|
1
|
+
export { createSandbox, type Sandbox, type SandboxOptions, type SandboxState, type SandboxBashOptions, } from "./sandbox";
|
|
2
|
+
export { createBuilder, type BuildResult, type CreateBuilderOptions, type BuildCallOptions, type BuilderFn, } from "./builder";
|
|
3
3
|
export { loadModule, loadExport, loadDefault, getExportNames, hasExport, ModuleLoadError, ExportNotFoundError, } from "./loader";
|
|
4
4
|
export { registerSharedModules, unregisterSharedModule, clearSharedModules, } from "./shared-modules";
|
|
5
5
|
export type { BundleResult } from "./bundler";
|
|
6
|
+
export type { BuildOutput, ValidateFn } from "./commands/types";
|
|
6
7
|
export type { TypecheckResult, Diagnostic } from "./typechecker";
|
|
7
8
|
export type { PackageManifest, InstallResult } from "./packages";
|
|
8
9
|
export { initBundler, bundle, bundleToUrl, bundleAndImport, type BundleOptions, type NpmImportsMode, } from "./bundler";
|
|
9
10
|
export { typecheck, formatDiagnostics, formatDiagnosticsForAgent, type TypecheckOptions, } from "./typechecker";
|
|
10
11
|
export { installPackage, uninstallPackage, listPackages, getPackageManifest, type InstallOptions, } from "./packages";
|
|
11
12
|
export { createSharedResources, getDefaultResources, clearDefaultResources, hasDefaultResources, type SharedResourcesOptions, type SharedResources, type TypesCache, } from "./shared-resources";
|
|
12
|
-
export {
|
|
13
|
+
export { Filesystem, createFilesystem, type FilesystemOptions, } from "./fs";
|
|
13
14
|
export type { IFileSystem, FsEntry } from "just-bash/browser";
|
|
14
15
|
export { getDefaultBrowserLibs, fetchAndCacheLibs, } from "./ts-libs";
|
|
15
|
-
export { createTscCommand, createBuildCommand, createInstallCommand, createUninstallCommand, createListCommand, createRunCommand, createDefaultCommands, type CommandDeps, type RunContext, type RunOptions, type RunResult, } from "./commands";
|
|
16
|
+
export { createTscCommand, createBuildCommand, createInstallCommand, createUninstallCommand, createListCommand, createRunCommand, createDefaultCommands, type CommandDeps, type RunContext, type RunOptions, type RunResult, } from "./commands/index";
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyBA,OAAO,EACL,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyBA,OAAO,EACL,aAAa,EACb,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,SAAS,GACf,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,SAAS,EACT,eAAe,EACf,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAMlB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAM1B,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAChE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAWjE,OAAO,EACL,WAAW,EACX,MAAM,EACN,WAAW,EACX,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,yBAAyB,EACzB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AAMvB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AAMpB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,MAAM,CAAC;AAEd,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAM9D,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,GACf,MAAM,kBAAkB,CAAC"}
|