@endo/compartment-mapper 2.0.0 → 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 (43) hide show
  1. package/package.json +23 -9
  2. package/src/archive-lite.js +3 -3
  3. package/src/capture-lite.d.ts.map +1 -1
  4. package/src/capture-lite.js +29 -3
  5. package/src/compartment-map.d.ts.map +1 -1
  6. package/src/compartment-map.js +3 -2
  7. package/src/digest.js +1 -1
  8. package/src/generic-graph.d.ts +7 -25
  9. package/src/generic-graph.d.ts.map +1 -1
  10. package/src/generic-graph.js +75 -105
  11. package/src/import-hook.d.ts.map +1 -1
  12. package/src/import-hook.js +4 -3
  13. package/src/infer-exports.d.ts +4 -2
  14. package/src/infer-exports.d.ts.map +1 -1
  15. package/src/infer-exports.js +158 -19
  16. package/src/link.d.ts.map +1 -1
  17. package/src/link.js +61 -3
  18. package/src/node-modules.d.ts.map +1 -1
  19. package/src/node-modules.js +33 -39
  20. package/src/pattern-replacement.d.ts +6 -0
  21. package/src/pattern-replacement.d.ts.map +1 -0
  22. package/src/pattern-replacement.js +198 -0
  23. package/src/types/compartment-map-schema.d.ts +8 -1
  24. package/src/types/compartment-map-schema.d.ts.map +1 -1
  25. package/src/types/compartment-map-schema.ts +9 -0
  26. package/src/types/external.d.ts +79 -55
  27. package/src/types/external.d.ts.map +1 -1
  28. package/src/types/external.ts +104 -62
  29. package/src/types/generic-graph.d.ts +8 -2
  30. package/src/types/generic-graph.d.ts.map +1 -1
  31. package/src/types/generic-graph.ts +7 -2
  32. package/src/types/internal.d.ts +8 -8
  33. package/src/types/internal.d.ts.map +1 -1
  34. package/src/types/internal.ts +9 -8
  35. package/src/types/node-modules.d.ts +45 -8
  36. package/src/types/node-modules.d.ts.map +1 -1
  37. package/src/types/node-modules.ts +56 -15
  38. package/src/types/pattern-replacement.d.ts +62 -0
  39. package/src/types/pattern-replacement.d.ts.map +1 -0
  40. package/src/types/pattern-replacement.ts +70 -0
  41. package/src/types/powers.d.ts +11 -9
  42. package/src/types/powers.d.ts.map +1 -1
  43. package/src/types/powers.ts +11 -10
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Provides pattern matching for Node.js-style subpath exports and imports.
3
+ * Patterns use `*` as a wildcard that matches any string, including across
4
+ * `/` path separators, matching Node.js semantics.
5
+ *
6
+ * @module
7
+ */
8
+
9
+ /**
10
+ * @import {
11
+ * SubpathReplacer,
12
+ * SubpathReplacerResult,
13
+ * SubpathMapping,
14
+ * PatternDescriptor,
15
+ * ResolvedPattern,
16
+ * } from './types/pattern-replacement.js'
17
+ */
18
+
19
+ const { entries } = Object;
20
+ const { isArray } = Array;
21
+
22
+ /**
23
+ * Validates that the pattern and replacement have the same number of wildcards.
24
+ * Node.js restricts subpath patterns to exactly one `*` on each side.
25
+ *
26
+ * @param {string} pattern - Source pattern
27
+ * @param {string} replacement - Target pattern
28
+ * @throws {Error} If wildcard counts don't match
29
+ */
30
+ export const assertMatchingWildcardCount = (pattern, replacement) => {
31
+ const patternCount = (pattern.match(/\*/g) || []).length;
32
+ const replacementCount = (replacement.match(/\*/g) || []).length;
33
+ if (patternCount !== replacementCount) {
34
+ throw new Error(
35
+ `Wildcard count mismatch: "${pattern}" has ${patternCount}, "${replacement}" has ${replacementCount}`,
36
+ );
37
+ }
38
+ };
39
+
40
+ /**
41
+ * Compare two pattern keys using Node.js's PATTERN_KEY_COMPARE ordering.
42
+ * This prefers the longest prefix before `*`, then the longest full key.
43
+ * For example, `./foo/*.js` outranks `./foo/*`.
44
+ *
45
+ * @param {string} a
46
+ * @param {string} b
47
+ * @returns {number}
48
+ */
49
+ const patternKeyCompare = (a, b) => {
50
+ const aBaseLength = a.indexOf('*') + 1;
51
+ const bBaseLength = b.indexOf('*') + 1;
52
+ if (aBaseLength > bBaseLength) {
53
+ return -1;
54
+ }
55
+ if (bBaseLength > aBaseLength) {
56
+ return 1;
57
+ }
58
+ if (a.length > b.length) {
59
+ return -1;
60
+ }
61
+ if (b.length > a.length) {
62
+ return 1;
63
+ }
64
+ return 0;
65
+ };
66
+
67
+ /**
68
+ * Classifies a pattern/replacement pair as exact or wildcard and adds it
69
+ * to the appropriate collection.
70
+ *
71
+ * @param {string} pattern
72
+ * @param {string | null} replacement
73
+ * @param {string | undefined} compartment
74
+ * @param {Map<string, { replacement: string | null, compartment?: string }>} exactEntries
75
+ * @param {ResolvedPattern[]} wildcardEntries
76
+ */
77
+ const classifyPatternEntry = (
78
+ pattern,
79
+ replacement,
80
+ compartment,
81
+ exactEntries,
82
+ wildcardEntries,
83
+ ) => {
84
+ if (replacement !== null) {
85
+ assertMatchingWildcardCount(pattern, replacement);
86
+ }
87
+
88
+ const wildcardIndex = pattern.indexOf('*');
89
+ if (wildcardIndex === -1) {
90
+ exactEntries.set(pattern, { replacement, compartment });
91
+ return;
92
+ }
93
+
94
+ const prefix = pattern.slice(0, wildcardIndex);
95
+ const suffix = pattern.slice(wildcardIndex + 1);
96
+ let replacementPrefix = null;
97
+ let replacementSuffix = null;
98
+ if (replacement !== null) {
99
+ const replacementWildcardIndex = replacement.indexOf('*');
100
+ replacementPrefix = replacement.slice(0, replacementWildcardIndex);
101
+ replacementSuffix = replacement.slice(replacementWildcardIndex + 1);
102
+ }
103
+ wildcardEntries.push({
104
+ pattern,
105
+ prefix,
106
+ suffix,
107
+ replacementPrefix,
108
+ replacementSuffix,
109
+ compartment,
110
+ });
111
+ };
112
+
113
+ /**
114
+ * Creates a multi-pattern replacer for Node.js-style subpath patterns.
115
+ *
116
+ * Patterns are matched by specificity: the pattern with the longest matching
117
+ * prefix before the `*` wins. Exact entries (no `*`) take precedence over
118
+ * all wildcard patterns.
119
+ *
120
+ * The `*` wildcard matches any substring, including substrings that contain
121
+ * `/`, matching Node.js semantics.
122
+ *
123
+ * @param {PatternDescriptor[] | SubpathMapping} mapping - Pattern to replacement mapping
124
+ * @returns {SubpathReplacer} Function that matches a specifier and returns the replacement
125
+ */
126
+ export const makeMultiSubpathReplacer = mapping => {
127
+ /** @type {Map<string, { replacement: string | null, compartment?: string }>} */
128
+ const exactEntries = new Map();
129
+ /** @type {ResolvedPattern[]} */
130
+ const wildcardEntries = [];
131
+
132
+ /** @type {Array<[string, string | null, string | undefined]>} */
133
+ let normalizedEntries;
134
+ if (isArray(mapping)) {
135
+ normalizedEntries = /** @type {typeof normalizedEntries} */ (
136
+ mapping.map(entry => {
137
+ if (isArray(entry)) {
138
+ // [pattern, replacement] tuple
139
+ return [entry[0], entry[1], undefined];
140
+ }
141
+ // PatternDescriptor { from, to, compartment? }
142
+ return [entry.from, entry.to, entry.compartment];
143
+ })
144
+ );
145
+ } else {
146
+ normalizedEntries = /** @type {typeof normalizedEntries} */ (
147
+ entries(mapping).map(([pattern, replacement]) => [
148
+ pattern,
149
+ replacement,
150
+ undefined,
151
+ ])
152
+ );
153
+ }
154
+
155
+ for (const [pattern, replacement, compartment] of normalizedEntries) {
156
+ classifyPatternEntry(
157
+ pattern,
158
+ replacement,
159
+ compartment,
160
+ exactEntries,
161
+ wildcardEntries,
162
+ );
163
+ }
164
+
165
+ // Match Node.js PATTERN_KEY_COMPARE semantics for subpath pattern
166
+ // precedence: longest prefix before `*`, then longest full pattern key.
167
+ wildcardEntries.sort((a, b) => patternKeyCompare(a.pattern, b.pattern));
168
+
169
+ return specifier => {
170
+ // Exact entries take precedence
171
+ const exact = exactEntries.get(specifier);
172
+ if (exact) {
173
+ return { result: exact.replacement, compartment: exact.compartment };
174
+ }
175
+
176
+ // Try wildcard patterns in specificity order
177
+ for (const entry of wildcardEntries) {
178
+ if (
179
+ specifier.startsWith(entry.prefix) &&
180
+ specifier.endsWith(entry.suffix) &&
181
+ specifier.length >= entry.prefix.length + entry.suffix.length
182
+ ) {
183
+ // Null replacement means this path is explicitly excluded.
184
+ if (entry.replacementPrefix === null) {
185
+ return { result: null, compartment: entry.compartment };
186
+ }
187
+ const captured = specifier.slice(
188
+ entry.prefix.length,
189
+ specifier.length - entry.suffix.length,
190
+ );
191
+ const result = `${entry.replacementPrefix}${captured}${entry.replacementSuffix}`;
192
+ return { result, compartment: entry.compartment };
193
+ }
194
+ }
195
+
196
+ return null;
197
+ };
198
+ };
@@ -9,6 +9,7 @@ import type { ATTENUATORS_COMPARTMENT, ENTRY_COMPARTMENT } from '../policy-forma
9
9
  import type { CanonicalName } from './canonical-name.js';
10
10
  import type { FileUrlString } from './external.js';
11
11
  import type { SomePackagePolicy } from './policy-schema.js';
12
+ import type { PatternDescriptor } from './pattern-replacement.js';
12
13
  import type { LiteralUnion } from './typescript.js';
13
14
  /**
14
15
  * The type of a {@link CompartmentMapDescriptor.compartments} property.
@@ -55,6 +56,12 @@ export interface PackageCompartmentDescriptor extends CompartmentDescriptor<Comp
55
56
  location: PackageCompartmentDescriptorName;
56
57
  name: LiteralUnion<typeof ATTENUATORS_COMPARTMENT | typeof ENTRY_COMPARTMENT, string>;
57
58
  scopes: Record<string, ScopeDescriptor<PackageCompartmentDescriptorName>>;
59
+ /**
60
+ * Wildcard patterns for dynamic module resolution within this compartment.
61
+ * `*` matches any substring including `/` (Node.js semantics).
62
+ * Stripped during digest/archiving - expanded patterns become concrete module entries.
63
+ */
64
+ patterns?: Array<PatternDescriptor>;
58
65
  sourceDirname: string;
59
66
  }
60
67
  /**
@@ -111,7 +118,7 @@ export type DigestedCompartmentMapDescriptor = CompartmentMapDescriptor<Digested
111
118
  * `package.json`, there is a corresponding `ModuleConfiguration`.
112
119
  */
113
120
  export type ModuleConfiguration = ErrorModuleConfiguration | ExitModuleConfiguration | FileModuleConfiguration | CompartmentModuleConfiguration;
114
- export type ModuleConfigurationCreator = 'link' | 'transform' | 'import-hook' | 'digest' | 'node-modules';
121
+ export type ModuleConfigurationCreator = 'link' | 'link-pattern' | 'transform' | 'import-hook' | 'digest' | 'node-modules';
115
122
  export interface BaseModuleConfiguration {
116
123
  deferredError?: string;
117
124
  retained?: true;
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-map-schema.d.ts","sourceRoot":"","sources":["compartment-map-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compartment-map-schema.d.ts","sourceRoot":"","sources":["compartment-map-schema.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ import type {
15
15
  import type { CanonicalName } from './canonical-name.js';
16
16
  import type { FileUrlString } from './external.js';
17
17
  import type { SomePackagePolicy } from './policy-schema.js';
18
+ import type { PatternDescriptor } from './pattern-replacement.js';
18
19
  import type { LiteralUnion } from './typescript.js';
19
20
 
20
21
  /**
@@ -105,6 +106,13 @@ export interface PackageCompartmentDescriptor
105
106
 
106
107
  scopes: Record<string, ScopeDescriptor<PackageCompartmentDescriptorName>>;
107
108
 
109
+ /**
110
+ * Wildcard patterns for dynamic module resolution within this compartment.
111
+ * `*` matches any substring including `/` (Node.js semantics).
112
+ * Stripped during digest/archiving - expanded patterns become concrete module entries.
113
+ */
114
+ patterns?: Array<PatternDescriptor>;
115
+
108
116
  sourceDirname: string;
109
117
  }
110
118
 
@@ -182,6 +190,7 @@ export type ModuleConfiguration =
182
190
 
183
191
  export type ModuleConfigurationCreator =
184
192
  | 'link'
193
+ | 'link-pattern'
185
194
  | 'transform'
186
195
  | 'import-hook'
187
196
  | 'digest'
@@ -9,6 +9,8 @@ import type { SomePolicy } from './policy-schema.js';
9
9
  import type { HashFn, ReadFn, ReadPowers } from './powers.js';
10
10
  import type { CanonicalName } from './canonical-name.js';
11
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';
12
14
  export type { CanonicalName };
13
15
  export type { PackageDescriptor };
14
16
  /**
@@ -38,7 +40,7 @@ export type PackageData = {
38
40
  * Called once before `translateGraph`.
39
41
  */
40
42
  export type PackageDataHook = (params: {
41
- packageData: Readonly<Map<PackageCompartmentDescriptorName, PackageData>>;
43
+ packageData: Readonly<Map<LiteralUnion<typeof ATTENUATORS_COMPARTMENT | typeof ENTRY_COMPARTMENT, FileUrlString>, PackageData>>;
42
44
  log: LogFn;
43
45
  }) => void;
44
46
  /**
@@ -63,7 +65,12 @@ export type PackageDependenciesHook = (params: {
63
65
  /**
64
66
  * The `moduleSource` property value for {@link ModuleSourceHook}
65
67
  */
66
- export type ModuleSourceHookModuleSource = {
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 = {
67
74
  location: FileUrlString;
68
75
  language: Language;
69
76
  bytes: Uint8Array;
@@ -71,9 +78,12 @@ export type ModuleSourceHookModuleSource = {
71
78
  exports?: string[] | undefined;
72
79
  reexports?: string[] | undefined;
73
80
  sha512?: string | undefined;
74
- } | {
75
- error: string;
76
- } | {
81
+ };
82
+ /**
83
+ * The `moduleSource` property value for {@link ModuleSourceHook} for an exit
84
+ * module (virtual)
85
+ */
86
+ export type ModuleSourceHookExitModuleSource = {
77
87
  exit: string;
78
88
  };
79
89
  /**
@@ -92,25 +102,34 @@ export type PackageConnectionsHook = (params: {
92
102
  connections: Set<CanonicalName>;
93
103
  log: LogFn;
94
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;
95
114
  /**
96
115
  * Set of options available in the context of code execution.
97
116
  *
98
117
  * May be used only as an intersection with other options types.
99
118
  */
100
119
  export type ExecuteOptions = Partial<{
101
- globals: object;
102
- transforms: Array<Transform>;
103
- __shimTransforms__: Array<Transform>;
104
- attenuations: Record<string, object>;
105
- Compartment: typeof Compartment;
106
- __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;
107
126
  }> & ModulesOption & ExitModuleImportHookOption;
108
127
  export type ParseArchiveOptions = Partial<{
109
- expectedSha512: string;
110
- computeSha512: HashFn;
111
- computeSourceLocation: ComputeSourceLocationHook;
112
- computeSourceMapLocation: ComputeSourceMapLocationHook;
113
- __native__: boolean;
128
+ expectedSha512: string | undefined;
129
+ computeSha512: HashFn | undefined;
130
+ computeSourceLocation: ComputeSourceLocationHook | undefined;
131
+ computeSourceMapLocation: ComputeSourceMapLocationHook | undefined;
132
+ __native__: boolean | undefined;
114
133
  }> & ModulesOption & CompartmentOption & ParserForLanguageOption & ExitModuleImportHookOption;
115
134
  export type LoadArchiveOptions = ParseArchiveOptions;
116
135
  /**
@@ -120,7 +139,7 @@ export interface LogOptions {
120
139
  /**
121
140
  * A logger (for logging)
122
141
  */
123
- log?: LogFn;
142
+ log?: LogFn | undefined;
124
143
  }
125
144
  /**
126
145
  * Options for `mapNodeModules()`
@@ -128,7 +147,7 @@ export interface LogOptions {
128
147
  export type MapNodeModulesOptions = MapNodeModulesOptionsOmitPolicy & PolicyOption & MapNodeModulesHookOptions & LogOptions;
129
148
  type MapNodeModulesOptionsOmitPolicy = Partial<{
130
149
  /** @deprecated renamed `conditions` to be consistent with Node.js */
131
- tags: Set<string>;
150
+ tags: Set<string> | undefined;
132
151
  /**
133
152
  * Conditions for package `"imports"` and `"exports"`.
134
153
  *
@@ -140,7 +159,7 @@ type MapNodeModulesOptionsOmitPolicy = Partial<{
140
159
  * `devDependencies`, use the {@link MapNodeModulesOptions.dev dev} flag
141
160
  * instead.
142
161
  */
143
- conditions: Set<string>;
162
+ conditions: Set<string> | undefined;
144
163
  /**
145
164
  * If `true`, include packages from `devDependencies` in the resulting {@link CompartmentMapDescriptor}.
146
165
  *
@@ -148,41 +167,41 @@ type MapNodeModulesOptionsOmitPolicy = Partial<{
148
167
  * {@link MapNodeModulesOptions.conditions condition}, but this behavior may
149
168
  * be deprecated in a future version.
150
169
  */
151
- dev: boolean;
170
+ dev: boolean | undefined;
152
171
  /**
153
172
  * Indicates that the node_modules tree should fail to map if it does not
154
173
  * strictly reach every expected package.
155
174
  * By default, unreachable packages are simply omitted from the map,
156
175
  * which defers some errors to when modules load.
157
176
  */
158
- strict: boolean;
177
+ strict: boolean | undefined;
159
178
  /** Dependencies to make reachable from any package */
160
- commonDependencies: Record<string, string>;
179
+ commonDependencies: Record<string, string> | undefined;
161
180
  /** Maps extensions to languages for all packages, like `txt` to `text` */
162
- languageForExtension: LanguageForExtension;
181
+ languageForExtension: LanguageForExtension | undefined;
163
182
  /** Maps additional extensions to languages for all type=module packages */
164
- moduleLanguageForExtension: LanguageForExtension;
183
+ moduleLanguageForExtension: LanguageForExtension | undefined;
165
184
  /** Maps additional extensions to languages for all type=commonjs packages (default) */
166
- commonjsLanguageForExtension: LanguageForExtension;
185
+ commonjsLanguageForExtension: LanguageForExtension | undefined;
167
186
  /** Maps extensions to languages for packages not under node_modules */
168
- workspaceLanguageForExtension: LanguageForExtension;
187
+ workspaceLanguageForExtension: LanguageForExtension | undefined;
169
188
  /**
170
189
  * Maps additional extensions to languages for all type=module packages that
171
190
  * are not under node_modules
172
191
  */
173
- workspaceModuleLanguageForExtension: LanguageForExtension;
192
+ workspaceModuleLanguageForExtension: LanguageForExtension | undefined;
174
193
  /**
175
194
  * Maps additional extensions to languages for all type=commonjs packages
176
195
  * (default)
177
196
  */
178
- workspaceCommonjsLanguageForExtension: LanguageForExtension;
197
+ workspaceCommonjsLanguageForExtension: LanguageForExtension | undefined;
179
198
  /**
180
199
  * Accounts for languages not present as values in any of the extension to
181
200
  * language mappings.
182
201
  * For higher level functions like `importLocation`, these are inferred
183
202
  * from the `parserForLanguage` option.
184
203
  */
185
- languages: Array<Language>;
204
+ languages: Array<Language> | undefined;
186
205
  }>;
187
206
  /**
188
207
  * Hook options for `mapNodeModules()`
@@ -215,10 +234,15 @@ export interface PreloadOption {
215
234
  *
216
235
  * If an array of strings is provided, the entry is assumed to be `.`.
217
236
  */
218
- _preload?: Array<string> | Array<{
237
+ _preload?: Array<string | {
219
238
  compartment: string;
220
239
  entry: string;
221
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;
222
246
  }
223
247
  export type ArchiveLiteOptions = SyncOrAsyncArchiveOptions & ModuleTransformsOption & ImportingOptions & ExitModuleImportHookOption & LinkingOptions & LogOptions;
224
248
  export type SyncArchiveLiteOptions = SyncOrAsyncArchiveOptions & SyncModuleTransformsOption & SyncImportingOptions & ExitModuleImportNowHookOption;
@@ -233,20 +257,20 @@ export type BundleOptions = ArchiveOptions & {
233
257
  * Specifying `cjs` makes `require` available for modules outside the bundle
234
258
  * (exits to the import graph).
235
259
  */
236
- format?: 'cjs';
260
+ format?: 'cjs' | undefined;
237
261
  /**
238
262
  * Evaluates individual module functors in-place so stack traces represent
239
263
  * original source locations better.
240
264
  * The resulting script cannot be used on a web page with a no-unsafe-eval
241
265
  * Content Security Policy.
242
266
  */
243
- useEvaluate?: boolean;
267
+ useEvaluate?: boolean | undefined;
244
268
  /**
245
269
  * A prefix for the sourceURL comment in each module format that supports
246
270
  * sourceURL comments.
247
271
  * Requires `useEvaluate` for effect.
248
272
  */
249
- sourceUrlPrefix?: string;
273
+ sourceUrlPrefix?: string | undefined;
250
274
  };
251
275
  export type SyncArchiveOptions = Omit<MapNodeModulesOptions, 'languages' | 'unknownCanonicalNameHook' | 'packageDependenciesHook' | 'packageDataHook'> & SyncArchiveLiteOptions;
252
276
  export type SyncLoadLocationOptions = SyncArchiveOptions & LogOptions & PreloadOption & LoadLocationHookOptions;
@@ -273,7 +297,7 @@ export type ComputeSha512Option = {
273
297
  /**
274
298
  * For computing integrity hashes for module descriptors based on captured sources.
275
299
  */
276
- computeSha512?: HashFn;
300
+ computeSha512?: HashFn | undefined;
277
301
  };
278
302
  export type SearchSuffixesOption = {
279
303
  /**
@@ -284,39 +308,39 @@ export type SearchSuffixesOption = {
284
308
  * bundler, and does not attempt to vary the behavior of resolution depending
285
309
  * on the language of the importing module.
286
310
  */
287
- searchSuffixes?: string[];
311
+ searchSuffixes?: string[] | undefined;
288
312
  };
289
313
  export type SourceMapHookOption = {
290
- sourceMapHook?: SourceMapHook;
314
+ sourceMapHook?: SourceMapHook | undefined;
291
315
  };
292
316
  export type ModulesOption = {
293
- modules?: Record<string, any>;
317
+ modules?: Record<string, any> | undefined;
294
318
  };
295
319
  export type ExitModuleImportHookOption = {
296
320
  /**
297
321
  * For obtaining module descriptors for modules that must be provided
298
322
  * by the eventual runtime execution environment, asynchronously.
299
323
  */
300
- importHook?: ExitModuleImportHook;
324
+ importHook?: ExitModuleImportHook | undefined;
301
325
  };
302
326
  export type ExitModuleImportNowHookOption = {
303
327
  /**
304
328
  * For obtaining module descriptors for modules that must be provided
305
329
  * by the eventual runtime execution environment, synchronusly.
306
330
  */
307
- importNowHook?: ExitModuleImportNowHook;
331
+ importNowHook?: ExitModuleImportNowHook | undefined;
308
332
  };
309
333
  export type ParserForLanguageOption = {
310
- parserForLanguage?: ParserForLanguage;
334
+ parserForLanguage?: ParserForLanguage | undefined;
311
335
  };
312
336
  export type CompartmentOption = {
313
- Compartment?: typeof Compartment;
337
+ Compartment?: typeof Compartment | undefined;
314
338
  };
315
339
  export type ModuleTransformsOption = {
316
- moduleTransforms?: ModuleTransforms;
340
+ moduleTransforms?: ModuleTransforms | undefined;
317
341
  };
318
342
  export type SyncModuleTransformsOption = {
319
- syncModuleTransforms?: SyncModuleTransforms;
343
+ syncModuleTransforms?: SyncModuleTransforms | undefined;
320
344
  };
321
345
  export type ArchiveOnlyOption = {
322
346
  /**
@@ -343,16 +367,16 @@ export type ArchiveOnlyOption = {
343
367
  * This option does not generally surface to users, but is set by the scenario,
344
368
  * off for `importLocation`, on for `makeArchive` and `makeScript`.
345
369
  */
346
- archiveOnly?: boolean;
370
+ archiveOnly?: boolean | undefined;
347
371
  };
348
372
  export type PolicyOption = {
349
- policy?: SomePolicy;
373
+ policy?: SomePolicy | undefined;
350
374
  };
351
375
  export type LanguageForExtensionOption = {
352
- languageForExtension?: LanguageForExtension;
376
+ languageForExtension?: LanguageForExtension | undefined;
353
377
  };
354
378
  export type SyncOrAsyncArchiveOptions = Partial<{
355
- captureSourceLocation: CaptureSourceLocationHook;
379
+ captureSourceLocation: CaptureSourceLocationHook | undefined;
356
380
  }> & ParserForLanguageOption & CompartmentOption & PolicyOption;
357
381
  type SyncOrAsyncImportingOptions = SearchSuffixesOption & SourceMapHookOption;
358
382
  type ImportingOptions = ModulesOption & SyncOrAsyncImportingOptions & ExitModuleImportHookOption;
@@ -466,13 +490,13 @@ type ModuleTransformArguments = [
466
490
  moduleLocation: string,
467
491
  packageLocation: string,
468
492
  params: {
469
- sourceMap?: string;
493
+ sourceMap?: string | undefined;
470
494
  }
471
495
  ];
472
496
  type ModuleTransformResult = {
473
497
  bytes: Uint8Array;
474
498
  parser: Language;
475
- sourceMap?: string;
499
+ sourceMap?: string | undefined;
476
500
  };
477
501
  export type ExitModuleImportHook = (specifier: string, packageLocation: string) => Promise<ThirdPartyStaticModuleInterface | undefined>;
478
502
  export type ExitModuleImportNowHook = (specifier: string, packageLocation: string) => ThirdPartyStaticModuleInterface | undefined;
@@ -508,11 +532,11 @@ type ParseArguments = [
508
532
  moduleLocation: string,
509
533
  packageLocation: string,
510
534
  options?: Partial<{
511
- sourceMap: string;
512
- sourceMapHook: SourceMapHook;
513
- sourceMapUrl: string;
514
- readPowers: ReadFn | ReadPowers;
515
- compartmentDescriptor: CompartmentDescriptor;
535
+ sourceMap: string | undefined;
536
+ sourceMapHook: SourceMapHook | undefined;
537
+ sourceMapUrl: string | undefined;
538
+ readPowers: ReadFn | ReadPowers | undefined;
539
+ compartmentDescriptor: CompartmentDescriptor | undefined;
516
540
  }> & ArchiveOnlyOption
517
541
  ];
518
542
  /**
@@ -522,7 +546,7 @@ export type ParseResult = {
522
546
  bytes: Uint8Array;
523
547
  parser: Language;
524
548
  record: FinalStaticModuleType;
525
- sourceMap?: string;
549
+ sourceMap?: string | undefined;
526
550
  };
527
551
  export type AsyncParseFn = (...args: ParseArguments) => Promise<ParseResult>;
528
552
  export type ParseFn = {
@@ -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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"}