@endo/compartment-mapper 1.6.3 → 2.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 (95) hide show
  1. package/package.json +24 -14
  2. package/src/archive-lite.d.ts +7 -7
  3. package/src/archive-lite.d.ts.map +1 -1
  4. package/src/archive-lite.js +81 -30
  5. package/src/archive.d.ts.map +1 -1
  6. package/src/archive.js +7 -0
  7. package/src/bundle-lite.d.ts +3 -3
  8. package/src/bundle-lite.d.ts.map +1 -1
  9. package/src/bundle-lite.js +19 -24
  10. package/src/bundle.d.ts +3 -3
  11. package/src/bundle.d.ts.map +1 -1
  12. package/src/bundle.js +19 -24
  13. package/src/capture-lite.d.ts +2 -2
  14. package/src/capture-lite.d.ts.map +1 -1
  15. package/src/capture-lite.js +243 -25
  16. package/src/compartment-map.d.ts +9 -2
  17. package/src/compartment-map.d.ts.map +1 -1
  18. package/src/compartment-map.js +738 -254
  19. package/src/digest.d.ts +22 -2
  20. package/src/digest.d.ts.map +1 -1
  21. package/src/digest.js +180 -57
  22. package/src/generic-graph.d.ts +7 -25
  23. package/src/generic-graph.d.ts.map +1 -1
  24. package/src/generic-graph.js +83 -108
  25. package/src/guards.d.ts +18 -0
  26. package/src/guards.d.ts.map +1 -0
  27. package/src/guards.js +109 -0
  28. package/src/hooks.md +124 -0
  29. package/src/import-archive-lite.d.ts.map +1 -1
  30. package/src/import-archive-lite.js +15 -11
  31. package/src/import-archive.d.ts +5 -19
  32. package/src/import-archive.d.ts.map +1 -1
  33. package/src/import-archive.js +7 -27
  34. package/src/import-hook.d.ts +4 -3
  35. package/src/import-hook.d.ts.map +1 -1
  36. package/src/import-hook.js +140 -70
  37. package/src/import-lite.d.ts +6 -6
  38. package/src/import-lite.d.ts.map +1 -1
  39. package/src/import-lite.js +8 -5
  40. package/src/import.d.ts +3 -3
  41. package/src/import.d.ts.map +1 -1
  42. package/src/import.js +16 -6
  43. package/src/infer-exports.d.ts +4 -2
  44. package/src/infer-exports.d.ts.map +1 -1
  45. package/src/infer-exports.js +172 -23
  46. package/src/link.d.ts +4 -3
  47. package/src/link.d.ts.map +1 -1
  48. package/src/link.js +122 -52
  49. package/src/node-modules.d.ts +4 -3
  50. package/src/node-modules.d.ts.map +1 -1
  51. package/src/node-modules.js +513 -151
  52. package/src/parse-cjs-shared-export-wrapper.d.ts.map +1 -1
  53. package/src/parse-cjs-shared-export-wrapper.js +3 -1
  54. package/src/pattern-replacement.d.ts +6 -0
  55. package/src/pattern-replacement.d.ts.map +1 -0
  56. package/src/pattern-replacement.js +198 -0
  57. package/src/policy-format.d.ts +22 -5
  58. package/src/policy-format.d.ts.map +1 -1
  59. package/src/policy-format.js +342 -108
  60. package/src/policy.d.ts +13 -28
  61. package/src/policy.d.ts.map +1 -1
  62. package/src/policy.js +161 -106
  63. package/src/types/canonical-name.d.ts +97 -0
  64. package/src/types/canonical-name.d.ts.map +1 -0
  65. package/src/types/canonical-name.ts +151 -0
  66. package/src/types/compartment-map-schema.d.ts +121 -35
  67. package/src/types/compartment-map-schema.d.ts.map +1 -1
  68. package/src/types/compartment-map-schema.ts +211 -37
  69. package/src/types/external.d.ts +240 -76
  70. package/src/types/external.d.ts.map +1 -1
  71. package/src/types/external.ts +305 -74
  72. package/src/types/generic-graph.d.ts +8 -2
  73. package/src/types/generic-graph.d.ts.map +1 -1
  74. package/src/types/generic-graph.ts +7 -2
  75. package/src/types/internal.d.ts +31 -50
  76. package/src/types/internal.d.ts.map +1 -1
  77. package/src/types/internal.ts +60 -58
  78. package/src/types/node-modules.d.ts +112 -14
  79. package/src/types/node-modules.d.ts.map +1 -1
  80. package/src/types/node-modules.ts +152 -13
  81. package/src/types/pattern-replacement.d.ts +62 -0
  82. package/src/types/pattern-replacement.d.ts.map +1 -0
  83. package/src/types/pattern-replacement.ts +70 -0
  84. package/src/types/policy-schema.d.ts +26 -11
  85. package/src/types/policy-schema.d.ts.map +1 -1
  86. package/src/types/policy-schema.ts +29 -16
  87. package/src/types/policy.d.ts +6 -2
  88. package/src/types/policy.d.ts.map +1 -1
  89. package/src/types/policy.ts +7 -2
  90. package/src/types/powers.d.ts +11 -9
  91. package/src/types/powers.d.ts.map +1 -1
  92. package/src/types/powers.ts +11 -10
  93. package/src/types/typescript.d.ts +28 -0
  94. package/src/types/typescript.d.ts.map +1 -1
  95. package/src/types/typescript.ts +37 -1
@@ -4,27 +4,132 @@
4
4
  * @module
5
5
  */
6
6
  import type { FinalStaticModuleType, StaticModuleType, ThirdPartyStaticModuleInterface, Transform } from 'ses';
7
- import type { CompartmentDescriptor, CompartmentMapDescriptor, Language, LanguageForExtension } from './compartment-map-schema.js';
7
+ import type { CompartmentDescriptor, DigestedCompartmentMapDescriptor, Language, LanguageForExtension, PackageCompartmentDescriptorName, PackageCompartmentDescriptors } from './compartment-map-schema.js';
8
+ import type { SomePolicy } from './policy-schema.js';
8
9
  import type { HashFn, ReadFn, ReadPowers } from './powers.js';
10
+ import type { CanonicalName } from './canonical-name.js';
11
+ import type { PackageDescriptor } from './node-modules.js';
12
+ import type { ATTENUATORS_COMPARTMENT, ENTRY_COMPARTMENT } from '../policy-format.js';
13
+ import type { LiteralUnion } from './typescript.js';
14
+ export type { CanonicalName };
15
+ export type { PackageDescriptor };
16
+ /**
17
+ * Hook executed for each canonical name mentioned in policy but not found in the
18
+ * compartment map
19
+ */
20
+ export type UnknownCanonicalNameHook = (params: {
21
+ canonicalName: CanonicalName;
22
+ path: string[];
23
+ message: string;
24
+ suggestion?: CanonicalName | undefined;
25
+ log: LogFn;
26
+ }) => void;
27
+ export type { PackageCompartmentDescriptorName };
28
+ /**
29
+ * Data about a package provided by a {@link PackageDataHook}
30
+ */
31
+ export type PackageData = {
32
+ name: string;
33
+ packageDescriptor: PackageDescriptor;
34
+ location: FileUrlString;
35
+ canonicalName: PackageCompartmentDescriptorName;
36
+ };
37
+ /**
38
+ * Hook executed with data about all packages found while crawling `node_modules`.
39
+ *
40
+ * Called once before `translateGraph`.
41
+ */
42
+ export type PackageDataHook = (params: {
43
+ packageData: Readonly<Map<LiteralUnion<typeof ATTENUATORS_COMPARTMENT | typeof ENTRY_COMPARTMENT, FileUrlString>, PackageData>>;
44
+ log: LogFn;
45
+ }) => void;
46
+ /**
47
+ * Hook executed for each canonical name (corresponding to a package) in the
48
+ * `CompartmentMapDescriptor` with a list of canonical names of its
49
+ * dependencies.
50
+ *
51
+ * Can return partial updates to modify the dependencies set.
52
+ *
53
+ * Suggested use cases:
54
+ * - Adding dependencies based on policy
55
+ * - Removing dependencies based on policy
56
+ * - Filtering dependencies based on multiple criteria
57
+ */
58
+ export type PackageDependenciesHook = (params: {
59
+ canonicalName: CanonicalName;
60
+ dependencies: Readonly<Set<CanonicalName>>;
61
+ log: LogFn;
62
+ }) => Partial<{
63
+ dependencies: Set<CanonicalName>;
64
+ }> | void;
65
+ /**
66
+ * The `moduleSource` property value for {@link ModuleSourceHook}
67
+ */
68
+ export type ModuleSourceHookModuleSource = ModuleSourceHookFileModuleSource | ModuleSourceHookExitModuleSource;
69
+ /**
70
+ * The `moduleSource` property value for {@link ModuleSourceHook} for a module
71
+ * on disk
72
+ */
73
+ export type ModuleSourceHookFileModuleSource = {
74
+ location: FileUrlString;
75
+ language: Language;
76
+ bytes: Uint8Array;
77
+ imports?: string[] | undefined;
78
+ exports?: string[] | undefined;
79
+ reexports?: string[] | undefined;
80
+ sha512?: string | undefined;
81
+ };
82
+ /**
83
+ * The `moduleSource` property value for {@link ModuleSourceHook} for an exit
84
+ * module (virtual)
85
+ */
86
+ export type ModuleSourceHookExitModuleSource = {
87
+ exit: string;
88
+ };
89
+ /**
90
+ * Hook executed when processing a module source.
91
+ */
92
+ export type ModuleSourceHook = (params: {
93
+ moduleSource: ModuleSourceHookModuleSource;
94
+ canonicalName: CanonicalName;
95
+ log: LogFn;
96
+ }) => void;
97
+ /**
98
+ * Hook executed for each canonical name with its connections (linked compartments).
99
+ */
100
+ export type PackageConnectionsHook = (params: {
101
+ canonicalName: CanonicalName;
102
+ connections: Set<CanonicalName>;
103
+ log: LogFn;
104
+ }) => void;
105
+ /**
106
+ * Hook executed during preloading when a compartment designated to be preloaded
107
+ * is already loaded.
108
+ */
109
+ export type RedundantPreloadHook = (params: {
110
+ canonicalName: CanonicalName;
111
+ entry: string;
112
+ log: LogFn;
113
+ }) => void;
9
114
  /**
10
115
  * Set of options available in the context of code execution.
11
116
  *
12
117
  * May be used only as an intersection with other options types.
13
118
  */
14
119
  export type ExecuteOptions = Partial<{
15
- globals: object;
16
- transforms: Array<Transform>;
17
- __shimTransforms__: Array<Transform>;
18
- attenuations: Record<string, object>;
19
- Compartment: typeof Compartment;
20
- __native__: boolean;
120
+ globals: object | undefined;
121
+ transforms: Array<Transform> | undefined;
122
+ __shimTransforms__: Array<Transform> | undefined;
123
+ attenuations: Record<string, object> | undefined;
124
+ Compartment: typeof Compartment | undefined;
125
+ __native__: boolean | undefined;
21
126
  }> & ModulesOption & ExitModuleImportHookOption;
22
127
  export type ParseArchiveOptions = Partial<{
23
- expectedSha512: string;
24
- computeSha512: HashFn;
25
- computeSourceLocation: ComputeSourceLocationHook;
26
- computeSourceMapLocation: ComputeSourceMapLocationHook;
27
- __native__: boolean;
128
+ expectedSha512: string | undefined;
129
+ computeSha512: HashFn | undefined;
130
+ computeSourceLocation: ComputeSourceLocationHook | undefined;
131
+ computeSourceMapLocation: ComputeSourceMapLocationHook | undefined;
132
+ __native__: boolean | undefined;
28
133
  }> & ModulesOption & CompartmentOption & ParserForLanguageOption & ExitModuleImportHookOption;
29
134
  export type LoadArchiveOptions = ParseArchiveOptions;
30
135
  /**
@@ -34,15 +139,15 @@ export interface LogOptions {
34
139
  /**
35
140
  * A logger (for logging)
36
141
  */
37
- log?: LogFn;
142
+ log?: LogFn | undefined;
38
143
  }
39
144
  /**
40
145
  * Options for `mapNodeModules()`
41
146
  */
42
- export type MapNodeModulesOptions = MapNodeModulesOptionsOmitPolicy & PolicyOption & LogOptions;
147
+ export type MapNodeModulesOptions = MapNodeModulesOptionsOmitPolicy & PolicyOption & MapNodeModulesHookOptions & LogOptions;
43
148
  type MapNodeModulesOptionsOmitPolicy = Partial<{
44
149
  /** @deprecated renamed `conditions` to be consistent with Node.js */
45
- tags: Set<string>;
150
+ tags: Set<string> | undefined;
46
151
  /**
47
152
  * Conditions for package `"imports"` and `"exports"`.
48
153
  *
@@ -54,7 +159,7 @@ type MapNodeModulesOptionsOmitPolicy = Partial<{
54
159
  * `devDependencies`, use the {@link MapNodeModulesOptions.dev dev} flag
55
160
  * instead.
56
161
  */
57
- conditions: Set<string>;
162
+ conditions: Set<string> | undefined;
58
163
  /**
59
164
  * If `true`, include packages from `devDependencies` in the resulting {@link CompartmentMapDescriptor}.
60
165
  *
@@ -62,48 +167,84 @@ type MapNodeModulesOptionsOmitPolicy = Partial<{
62
167
  * {@link MapNodeModulesOptions.conditions condition}, but this behavior may
63
168
  * be deprecated in a future version.
64
169
  */
65
- dev: boolean;
170
+ dev: boolean | undefined;
66
171
  /**
67
172
  * Indicates that the node_modules tree should fail to map if it does not
68
173
  * strictly reach every expected package.
69
174
  * By default, unreachable packages are simply omitted from the map,
70
175
  * which defers some errors to when modules load.
71
176
  */
72
- strict: boolean;
177
+ strict: boolean | undefined;
73
178
  /** Dependencies to make reachable from any package */
74
- commonDependencies: Record<string, string>;
179
+ commonDependencies: Record<string, string> | undefined;
75
180
  /** Maps extensions to languages for all packages, like `txt` to `text` */
76
- languageForExtension: LanguageForExtension;
181
+ languageForExtension: LanguageForExtension | undefined;
77
182
  /** Maps additional extensions to languages for all type=module packages */
78
- moduleLanguageForExtension: LanguageForExtension;
183
+ moduleLanguageForExtension: LanguageForExtension | undefined;
79
184
  /** Maps additional extensions to languages for all type=commonjs packages (default) */
80
- commonjsLanguageForExtension: LanguageForExtension;
185
+ commonjsLanguageForExtension: LanguageForExtension | undefined;
81
186
  /** Maps extensions to languages for packages not under node_modules */
82
- workspaceLanguageForExtension: LanguageForExtension;
187
+ workspaceLanguageForExtension: LanguageForExtension | undefined;
83
188
  /**
84
189
  * Maps additional extensions to languages for all type=module packages that
85
190
  * are not under node_modules
86
191
  */
87
- workspaceModuleLanguageForExtension: LanguageForExtension;
192
+ workspaceModuleLanguageForExtension: LanguageForExtension | undefined;
88
193
  /**
89
194
  * Maps additional extensions to languages for all type=commonjs packages
90
195
  * (default)
91
196
  */
92
- workspaceCommonjsLanguageForExtension: LanguageForExtension;
197
+ workspaceCommonjsLanguageForExtension: LanguageForExtension | undefined;
93
198
  /**
94
199
  * Accounts for languages not present as values in any of the extension to
95
200
  * language mappings.
96
201
  * For higher level functions like `importLocation`, these are inferred
97
202
  * from the `parserForLanguage` option.
98
203
  */
99
- languages: Array<Language>;
204
+ languages: Array<Language> | undefined;
100
205
  }>;
101
206
  /**
102
- * @deprecated Use `mapNodeModules()`.
207
+ * Hook options for `mapNodeModules()`
103
208
  */
209
+ export type MapNodeModulesHookOptions = {
210
+ unknownCanonicalNameHook?: UnknownCanonicalNameHook | undefined;
211
+ packageDependenciesHook?: PackageDependenciesHook | undefined;
212
+ packageDataHook?: PackageDataHook | undefined;
213
+ };
104
214
  export type CompartmentMapForNodeModulesOptions = Omit<MapNodeModulesOptions, 'conditions' | 'tags'>;
105
- export type CaptureLiteOptions = ImportingOptions & LinkingOptions & PolicyOption & LogOptions;
106
- export type ArchiveLiteOptions = SyncOrAsyncArchiveOptions & ModuleTransformsOption & ImportingOptions & ExitModuleImportHookOption & LinkingOptions;
215
+ /**
216
+ * Options for `captureFromMap()`
217
+ */
218
+ export type CaptureLiteOptions = ImportingOptions & LinkingOptions & PolicyOption & LogOptions & PreloadOption & CaptureFromMapHookOptions;
219
+ /**
220
+ * Hook options for `captureFromMap()`
221
+ */
222
+ export type CaptureFromMapHookOptions = {
223
+ packageConnectionsHook?: PackageConnectionsHook | undefined;
224
+ moduleSourceHook?: ModuleSourceHook | undefined;
225
+ };
226
+ /**
227
+ * Options bag containing a `preload` array.
228
+ */
229
+ export interface PreloadOption {
230
+ /**
231
+ * List of compartment names (the keys of
232
+ * {@link CompartmentMapDescriptor.compartments}) and entries (`ModuleConfiguration` names) to force-load _after_ the
233
+ * entry compartment and any attenuators.
234
+ *
235
+ * If an array of strings is provided, the entry is assumed to be `.`.
236
+ */
237
+ _preload?: Array<string | {
238
+ compartment: string;
239
+ entry: string;
240
+ }>;
241
+ /**
242
+ * Hook executed during preloading when a compartment designated to be preloaded
243
+ * has already been loaded (via entry Compartment).
244
+ */
245
+ _redundantPreloadHook?: RedundantPreloadHook | undefined;
246
+ }
247
+ export type ArchiveLiteOptions = SyncOrAsyncArchiveOptions & ModuleTransformsOption & ImportingOptions & ExitModuleImportHookOption & LinkingOptions & LogOptions;
107
248
  export type SyncArchiveLiteOptions = SyncOrAsyncArchiveOptions & SyncModuleTransformsOption & SyncImportingOptions & ExitModuleImportNowHookOption;
108
249
  export type ArchiveOptions = Omit<MapNodeModulesOptions, 'language'> & ArchiveLiteOptions;
109
250
  export type BundleOptions = ArchiveOptions & {
@@ -116,40 +257,47 @@ export type BundleOptions = ArchiveOptions & {
116
257
  * Specifying `cjs` makes `require` available for modules outside the bundle
117
258
  * (exits to the import graph).
118
259
  */
119
- format?: 'cjs';
260
+ format?: 'cjs' | undefined;
120
261
  /**
121
262
  * Evaluates individual module functors in-place so stack traces represent
122
263
  * original source locations better.
123
264
  * The resulting script cannot be used on a web page with a no-unsafe-eval
124
265
  * Content Security Policy.
125
266
  */
126
- useEvaluate?: boolean;
267
+ useEvaluate?: boolean | undefined;
127
268
  /**
128
269
  * A prefix for the sourceURL comment in each module format that supports
129
270
  * sourceURL comments.
130
271
  * Requires `useEvaluate` for effect.
131
272
  */
132
- sourceUrlPrefix?: string;
273
+ sourceUrlPrefix?: string | undefined;
133
274
  };
134
- export type SyncArchiveOptions = Omit<MapNodeModulesOptions, 'languages'> & SyncArchiveLiteOptions;
275
+ export type SyncArchiveOptions = Omit<MapNodeModulesOptions, 'languages' | 'unknownCanonicalNameHook' | 'packageDependenciesHook' | 'packageDataHook'> & SyncArchiveLiteOptions;
276
+ export type SyncLoadLocationOptions = SyncArchiveOptions & LogOptions & PreloadOption & LoadLocationHookOptions;
135
277
  /**
136
278
  * Options for `loadLocation()`
137
279
  */
138
- export type LoadLocationOptions = ArchiveOptions & SyncArchiveOptions & LogOptions;
280
+ export type LoadLocationOptions = ArchiveOptions & SyncArchiveOptions & LogOptions & PreloadOption & LoadLocationHookOptions;
281
+ /**
282
+ * Hook options for `loadLocation()`
283
+ */
284
+ export type LoadLocationHookOptions = MapNodeModulesHookOptions & {
285
+ moduleSourceHook?: ModuleSourceHook | undefined;
286
+ };
139
287
  /**
140
288
  * Options for `importLocation()` necessary (but not sufficient--see
141
289
  * `ReadNowPowers`) for dynamic require support
142
290
  */
143
- export type SyncImportLocationOptions = SyncArchiveOptions & ExecuteOptions & LogOptions;
291
+ export type SyncImportLocationOptions = SyncArchiveOptions & ExecuteOptions & LogOptions & PreloadOption;
144
292
  /**
145
293
  * Options for `importLocation()` without dynamic require support
146
294
  */
147
- export type ImportLocationOptions = ArchiveOptions & ExecuteOptions & LogOptions;
295
+ export type ImportLocationOptions = ArchiveOptions & ExecuteOptions & LoadLocationHookOptions & LogOptions & PreloadOption;
148
296
  export type ComputeSha512Option = {
149
297
  /**
150
298
  * For computing integrity hashes for module descriptors based on captured sources.
151
299
  */
152
- computeSha512?: HashFn;
300
+ computeSha512?: HashFn | undefined;
153
301
  };
154
302
  export type SearchSuffixesOption = {
155
303
  /**
@@ -160,39 +308,39 @@ export type SearchSuffixesOption = {
160
308
  * bundler, and does not attempt to vary the behavior of resolution depending
161
309
  * on the language of the importing module.
162
310
  */
163
- searchSuffixes?: string[];
311
+ searchSuffixes?: string[] | undefined;
164
312
  };
165
313
  export type SourceMapHookOption = {
166
- sourceMapHook?: SourceMapHook;
314
+ sourceMapHook?: SourceMapHook | undefined;
167
315
  };
168
316
  export type ModulesOption = {
169
- modules?: Record<string, any>;
317
+ modules?: Record<string, any> | undefined;
170
318
  };
171
319
  export type ExitModuleImportHookOption = {
172
320
  /**
173
321
  * For obtaining module descriptors for modules that must be provided
174
322
  * by the eventual runtime execution environment, asynchronously.
175
323
  */
176
- importHook?: ExitModuleImportHook;
324
+ importHook?: ExitModuleImportHook | undefined;
177
325
  };
178
326
  export type ExitModuleImportNowHookOption = {
179
327
  /**
180
328
  * For obtaining module descriptors for modules that must be provided
181
329
  * by the eventual runtime execution environment, synchronusly.
182
330
  */
183
- importNowHook?: ExitModuleImportNowHook;
331
+ importNowHook?: ExitModuleImportNowHook | undefined;
184
332
  };
185
333
  export type ParserForLanguageOption = {
186
- parserForLanguage?: ParserForLanguage;
334
+ parserForLanguage?: ParserForLanguage | undefined;
187
335
  };
188
336
  export type CompartmentOption = {
189
- Compartment?: typeof Compartment;
337
+ Compartment?: typeof Compartment | undefined;
190
338
  };
191
339
  export type ModuleTransformsOption = {
192
- moduleTransforms?: ModuleTransforms;
340
+ moduleTransforms?: ModuleTransforms | undefined;
193
341
  };
194
342
  export type SyncModuleTransformsOption = {
195
- syncModuleTransforms?: SyncModuleTransforms;
343
+ syncModuleTransforms?: SyncModuleTransforms | undefined;
196
344
  };
197
345
  export type ArchiveOnlyOption = {
198
346
  /**
@@ -219,16 +367,16 @@ export type ArchiveOnlyOption = {
219
367
  * This option does not generally surface to users, but is set by the scenario,
220
368
  * off for `importLocation`, on for `makeArchive` and `makeScript`.
221
369
  */
222
- archiveOnly?: boolean;
370
+ archiveOnly?: boolean | undefined;
223
371
  };
224
372
  export type PolicyOption = {
225
- policy?: any;
373
+ policy?: SomePolicy | undefined;
226
374
  };
227
375
  export type LanguageForExtensionOption = {
228
- languageForExtension?: LanguageForExtension;
376
+ languageForExtension?: LanguageForExtension | undefined;
229
377
  };
230
378
  export type SyncOrAsyncArchiveOptions = Partial<{
231
- captureSourceLocation: CaptureSourceLocationHook;
379
+ captureSourceLocation: CaptureSourceLocationHook | undefined;
232
380
  }> & ParserForLanguageOption & CompartmentOption & PolicyOption;
233
381
  type SyncOrAsyncImportingOptions = SearchSuffixesOption & SourceMapHookOption;
234
382
  type ImportingOptions = ModulesOption & SyncOrAsyncImportingOptions & ExitModuleImportHookOption;
@@ -237,11 +385,11 @@ type LinkingOptions = ParserForLanguageOption & CompartmentOption & SyncModuleTr
237
385
  /**
238
386
  * Result of `digestCompartmentMap()`
239
387
  */
240
- export interface DigestResult {
388
+ export interface DigestResult<OldCompartmentName extends string = FileUrlString, NewCompartmentName extends string = PackageCompartmentDescriptorName> {
241
389
  /**
242
390
  * Normalized `CompartmentMapDescriptor`
243
391
  */
244
- compartmentMap: CompartmentMapDescriptor;
392
+ compartmentMap: DigestedCompartmentMapDescriptor;
245
393
  /**
246
394
  * Sources found in the `CompartmentMapDescriptor`
247
395
  */
@@ -250,30 +398,30 @@ export interface DigestResult {
250
398
  * A record of renamed {@link CompartmentDescriptor CompartmentDescriptors}
251
399
  * from _new_ to _original_ name
252
400
  */
253
- newToOldCompartmentNames: Record<string, string>;
401
+ newToOldCompartmentNames: Record<NewCompartmentName, OldCompartmentName>;
254
402
  /**
255
403
  * A record of renamed {@link CompartmentDescriptor CompartmentDescriptors}
256
404
  * from _original_ to _new_ name
257
405
  */
258
- oldToNewCompartmentNames: Record<string, string>;
406
+ oldToNewCompartmentNames: Record<OldCompartmentName, NewCompartmentName>;
259
407
  /**
260
408
  * Alias for `newToOldCompartmentNames`
261
409
  * @deprecated Use {@link newToOldCompartmentNames} instead.
262
410
  */
263
- compartmentRenames: Record<string, string>;
411
+ compartmentRenames: Record<NewCompartmentName, OldCompartmentName>;
264
412
  }
265
413
  /**
266
414
  * The result of `captureFromMap`.
267
415
  */
268
416
  export type CaptureResult = Omit<DigestResult, 'compartmentMap' | 'sources'> & {
269
- captureCompartmentMap: DigestResult['compartmentMap'];
417
+ captureCompartmentMap: DigestedCompartmentMapDescriptor;
270
418
  captureSources: DigestResult['sources'];
271
419
  };
272
420
  /**
273
421
  * The result of `makeArchiveCompartmentMap`
274
422
  */
275
- export type ArchiveResult = Omit<DigestResult, 'compartmentMap' | 'sources'> & {
276
- archiveCompartmentMap: DigestResult['compartmentMap'];
423
+ export type ArchiveResult = Omit<DigestResult<FileUrlString, string>, 'compartmentMap' | 'sources'> & {
424
+ archiveCompartmentMap: DigestedCompartmentMapDescriptor;
277
425
  archiveSources: DigestResult['sources'];
278
426
  };
279
427
  /**
@@ -282,17 +430,24 @@ export type ArchiveResult = Omit<DigestResult, 'compartmentMap' | 'sources'> & {
282
430
  */
283
431
  export type Sources = Record<string, CompartmentSources>;
284
432
  export type CompartmentSources = Record<string, ModuleSource>;
285
- export type ModuleSource = Partial<{
433
+ export type ModuleSource = LocalModuleSource | ExitModuleSource | ErrorModuleSource;
434
+ export interface BaseModuleSource {
286
435
  /** module loading error deferred to later stage */
436
+ deferredError?: string;
437
+ }
438
+ export interface ErrorModuleSource extends BaseModuleSource {
287
439
  deferredError: string;
440
+ }
441
+ export interface LocalModuleSource extends BaseModuleSource {
288
442
  /**
289
443
  * package-relative location.
290
444
  * Not suitable for capture in an archive or bundle since it varies from host
291
445
  * to host and would frustrate integrity hash checks.
292
446
  */
293
447
  location: string;
294
- /** fully qualified location */
295
- sourceLocation: string;
448
+ parser: Language;
449
+ /** in lowercase base-16 (hexadecimal) */
450
+ sha512?: string;
296
451
  /**
297
452
  * directory name of the original source.
298
453
  * This is safe to capture in a compartment map because it is _unlikely_ to
@@ -308,15 +463,16 @@ export type ModuleSource = Partial<{
308
463
  * https://github.com/endojs/endo/issues/2671
309
464
  */
310
465
  sourceDirname: string;
466
+ /** fully qualified location */
467
+ sourceLocation: FileUrlString;
311
468
  bytes: Uint8Array;
312
- /** in lowercase base-16 (hexadecimal) */
313
- sha512: string;
314
- parser: Language;
315
- /** indicates that this is a reference that exits the mapped compartments */
316
- exit: string;
317
469
  /** module for the module */
318
470
  record: StaticModuleType;
319
- }>;
471
+ }
472
+ export interface ExitModuleSource extends BaseModuleSource {
473
+ /** indicates that this is a reference that exits the mapped compartments */
474
+ exit: string;
475
+ }
320
476
  export type SourceMapHook = (sourceMap: string, details: SourceMapHookDetails) => void;
321
477
  export type SourceMapHookDetails = {
322
478
  compartment: string;
@@ -334,13 +490,13 @@ type ModuleTransformArguments = [
334
490
  moduleLocation: string,
335
491
  packageLocation: string,
336
492
  params: {
337
- sourceMap?: string;
493
+ sourceMap?: string | undefined;
338
494
  }
339
495
  ];
340
496
  type ModuleTransformResult = {
341
497
  bytes: Uint8Array;
342
498
  parser: Language;
343
- sourceMap?: string;
499
+ sourceMap?: string | undefined;
344
500
  };
345
501
  export type ExitModuleImportHook = (specifier: string, packageLocation: string) => Promise<ThirdPartyStaticModuleInterface | undefined>;
346
502
  export type ExitModuleImportNowHook = (specifier: string, packageLocation: string) => ThirdPartyStaticModuleInterface | undefined;
@@ -376,11 +532,11 @@ type ParseArguments = [
376
532
  moduleLocation: string,
377
533
  packageLocation: string,
378
534
  options?: Partial<{
379
- sourceMap: string;
380
- sourceMapHook: SourceMapHook;
381
- sourceMapUrl: string;
382
- readPowers: ReadFn | ReadPowers;
383
- compartmentDescriptor: CompartmentDescriptor;
535
+ sourceMap: string | undefined;
536
+ sourceMapHook: SourceMapHook | undefined;
537
+ sourceMapUrl: string | undefined;
538
+ readPowers: ReadFn | ReadPowers | undefined;
539
+ compartmentDescriptor: CompartmentDescriptor | undefined;
384
540
  }> & ArchiveOnlyOption
385
541
  ];
386
542
  /**
@@ -390,7 +546,7 @@ export type ParseResult = {
390
546
  bytes: Uint8Array;
391
547
  parser: Language;
392
548
  record: FinalStaticModuleType;
393
- sourceMap?: string;
549
+ sourceMap?: string | undefined;
394
550
  };
395
551
  export type AsyncParseFn = (...args: ParseArguments) => Promise<ParseResult>;
396
552
  export type ParseFn = {
@@ -409,5 +565,13 @@ export type LogFn = (...args: any[]) => void;
409
565
  * A string that represents a file URL.
410
566
  */
411
567
  export type FileUrlString = `file://${string}`;
412
- export {};
568
+ /**
569
+ * A function that renames compartments; used by `digestCompartmentMap()`.
570
+ *
571
+ * The default implementation uses {@link PackageCompartmentDescriptorName} as the key type.
572
+ *
573
+ * @returns Mapping from old compartment names to new compartment names
574
+ * @template NewName Key type
575
+ */
576
+ export type CompartmentsRenameFn<OldName extends string = FileUrlString, NewName extends string = PackageCompartmentDescriptorName> = (compartments: PackageCompartmentDescriptors) => Record<OldName, NewName>;
413
577
  //# sourceMappingURL=external.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["external.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["external.ts"],"names":[],"mappings":"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"}