@endo/compartment-mapper 1.5.0 → 1.6.1
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/LICENSE +1 -1
- package/README.md +278 -111
- package/SECURITY.md +2 -2
- package/bundle.d.ts +1 -1
- package/bundle.js +4 -1
- package/functor-lite.d.ts +3 -0
- package/functor-lite.d.ts.map +1 -0
- package/functor-lite.js +4 -0
- package/functor.d.ts +3 -0
- package/functor.d.ts.map +1 -0
- package/functor.js +4 -0
- package/index.d.ts +1 -1
- package/index.js +4 -1
- package/package.json +15 -11
- package/script-lite.d.ts +3 -0
- package/script-lite.d.ts.map +1 -0
- package/script-lite.js +4 -0
- package/script.d.ts +3 -0
- package/script.d.ts.map +1 -0
- package/script.js +4 -0
- package/src/archive-lite.d.ts +5 -5
- package/src/archive-lite.d.ts.map +1 -1
- package/src/archive-lite.js +1 -1
- package/src/archive.d.ts +5 -5
- package/src/archive.d.ts.map +1 -1
- package/src/archive.js +3 -1
- package/src/bundle-cjs.d.ts +12 -2
- package/src/bundle-cjs.d.ts.map +1 -1
- package/src/bundle-cjs.js +57 -28
- package/src/bundle-json.d.ts.map +1 -1
- package/src/bundle-json.js +2 -3
- package/src/bundle-lite.d.ts +91 -0
- package/src/bundle-lite.d.ts.map +1 -0
- package/src/bundle-lite.js +667 -0
- package/src/bundle-mjs.d.ts +13 -3
- package/src/bundle-mjs.d.ts.map +1 -1
- package/src/bundle-mjs.js +36 -19
- package/src/bundle.d.ts +48 -10
- package/src/bundle.d.ts.map +1 -1
- package/src/bundle.js +392 -126
- package/src/capture-lite.d.ts +1 -1
- package/src/capture-lite.d.ts.map +1 -1
- package/src/capture-lite.js +4 -2
- package/src/compartment-map.d.ts +1 -1
- package/src/compartment-map.d.ts.map +1 -1
- package/src/import-archive-lite.d.ts +2 -2
- package/src/import-archive-lite.d.ts.map +1 -1
- package/src/import-archive-lite.js +3 -1
- package/src/import-archive.d.ts +3 -3
- package/src/import-archive.d.ts.map +1 -1
- package/src/import-archive.js +3 -1
- package/src/import-hook.d.ts +3 -16
- package/src/import-hook.d.ts.map +1 -1
- package/src/import-hook.js +214 -116
- package/src/import-lite.d.ts +1 -1
- package/src/import-lite.d.ts.map +1 -1
- package/src/import-lite.js +7 -3
- package/src/import.d.ts.map +1 -1
- package/src/import.js +3 -1
- package/src/infer-exports.d.ts +5 -7
- package/src/infer-exports.d.ts.map +1 -1
- package/src/infer-exports.js +23 -8
- package/src/link.d.ts.map +1 -1
- package/src/link.js +4 -1
- package/src/map-parser.d.ts.map +1 -1
- package/src/map-parser.js +51 -5
- package/src/node-module-specifier.d.ts.map +1 -1
- package/src/node-module-specifier.js +3 -1
- package/src/node-modules.d.ts +4 -47
- package/src/node-modules.d.ts.map +1 -1
- package/src/node-modules.js +267 -148
- package/src/node-powers.d.ts +1 -1
- package/src/node-powers.d.ts.map +1 -1
- package/src/node-powers.js +3 -1
- package/src/parse-archive-cjs.d.ts +5 -1
- package/src/parse-archive-cjs.d.ts.map +1 -1
- package/src/parse-archive-cjs.js +11 -4
- package/src/parse-archive-mjs.d.ts +5 -1
- package/src/parse-archive-mjs.d.ts.map +1 -1
- package/src/parse-archive-mjs.js +3 -1
- package/src/parse-bytes.d.ts +5 -1
- package/src/parse-bytes.d.ts.map +1 -1
- package/src/parse-bytes.js +3 -1
- package/src/parse-cjs-shared-export-wrapper.d.ts.map +1 -1
- package/src/parse-cjs-shared-export-wrapper.js +5 -11
- package/src/parse-cjs.d.ts +5 -1
- package/src/parse-cjs.d.ts.map +1 -1
- package/src/parse-cjs.js +4 -2
- package/src/parse-json.d.ts +5 -2
- package/src/parse-json.d.ts.map +1 -1
- package/src/parse-mjs.d.ts +5 -1
- package/src/parse-mjs.d.ts.map +1 -1
- package/src/parse-mjs.js +2 -2
- package/src/parse-pre-cjs.d.ts +5 -1
- package/src/parse-pre-cjs.d.ts.map +1 -1
- package/src/parse-pre-cjs.js +3 -1
- package/src/parse-pre-mjs.d.ts +5 -1
- package/src/parse-pre-mjs.d.ts.map +1 -1
- package/src/parse-pre-mjs.js +3 -1
- package/src/parse-text.d.ts +5 -1
- package/src/parse-text.d.ts.map +1 -1
- package/src/parse-text.js +3 -1
- package/src/policy-format.d.ts +2 -1
- package/src/policy-format.d.ts.map +1 -1
- package/src/policy-format.js +5 -2
- package/src/policy.d.ts +2 -2
- package/src/policy.d.ts.map +1 -1
- package/src/policy.js +10 -11
- package/src/powers.d.ts +1 -1
- package/src/powers.d.ts.map +1 -1
- package/src/powers.js +3 -1
- package/src/search.d.ts +7 -12
- package/src/search.d.ts.map +1 -1
- package/src/search.js +32 -13
- package/src/types/compartment-map-schema.d.ts +8 -1
- package/src/types/compartment-map-schema.d.ts.map +1 -1
- package/src/types/compartment-map-schema.ts +8 -1
- package/src/types/external.d.ts +127 -17
- package/src/types/external.d.ts.map +1 -1
- package/src/types/external.ts +142 -17
- package/src/types/internal.d.ts +116 -29
- package/src/types/internal.d.ts.map +1 -1
- package/src/types/internal.ts +144 -31
- package/src/types/node-modules.d.ts +79 -0
- package/src/types/node-modules.d.ts.map +1 -0
- package/src/types/node-modules.ts +89 -0
- package/src/types/node-powers.d.ts +7 -5
- package/src/types/node-powers.d.ts.map +1 -1
- package/src/types/node-powers.ts +7 -5
- package/src/types/policy-schema.d.ts +3 -1
- package/src/types/policy-schema.d.ts.map +1 -1
- package/src/types/policy-schema.ts +3 -1
- package/src/types/policy.d.ts +3 -1
- package/src/types/policy.d.ts.map +1 -1
- package/src/types/policy.ts +3 -1
- package/src/types/powers.d.ts +5 -3
- package/src/types/powers.d.ts.map +1 -1
- package/src/types/powers.ts +5 -3
- package/src/types/typescript.d.ts +3 -1
- package/src/types/typescript.d.ts.map +1 -1
- package/src/types/typescript.ts +3 -1
- package/src/url.d.ts.map +1 -1
- package/src/url.js +3 -1
package/src/node-powers.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ export function makeWritePowers({ fs, url }: {
|
|
|
37
37
|
}): {
|
|
38
38
|
write: (location: string, data: Uint8Array) => Promise<void>;
|
|
39
39
|
};
|
|
40
|
-
export function makeNodeReadPowers(fs: FsInterface, crypto?: CryptoInterface
|
|
40
|
+
export function makeNodeReadPowers(fs: FsInterface, crypto?: CryptoInterface): ReadPowers;
|
|
41
41
|
export function makeNodeWritePowers(fs: FsInterface): WritePowers;
|
|
42
42
|
import type { FsInterface } from './types/node-powers.js';
|
|
43
43
|
import type { UrlInterface } from './types/node-powers.js';
|
package/src/node-powers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-powers.d.ts","sourceRoot":"","sources":["node-powers.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node-powers.d.ts","sourceRoot":"","sources":["node-powers.js"],"names":[],"mappings":"AA4LO,8DANJ;IAA0B,EAAE,EAApB,WAAW;IACS,GAAG;IACA,MAAM;IACR,IAAI;CACjC,GAAU,eAAe,GAAG,aAAa,CAoC3C;AAlKD;;;;;;;;;;;GAWG;AACH,2DANG;IAA0B,EAAE,EAApB,WAAW;IACS,GAAG;IACA,MAAM;IACR,IAAI;CACjC,GAAU,eAAe,CA0G3B;AAgDD;;;;;;;;GAQG;AACH,6CAHG;IAA0B,EAAE,EAApB,WAAW;IACS,GAAG;CAAC;sBAOtB,MAAM,QACN,UAAU;EAYtB;AA2BM,uCALI,WAAW,WACX,eAAe,GACb,UAAU,CAKtB;AAWM,wCAJI,WAAW,GACT,WAAW,CAKvB;iCApRS,wBAAwB;kCAAxB,wBAAwB;qCAAxB,wBAAwB;mCAAxB,wBAAwB;qCAexB,mBAAmB;mCAAnB,mBAAmB;gCAAnB,mBAAmB;iCAAnB,mBAAmB"}
|
package/src/node-powers.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Provides adapters for Compartment Mapper I/O to the corresponding
|
|
3
3
|
* Node.js implementations of those behaviors.
|
|
4
4
|
*
|
|
5
5
|
* The Compartment Mapper generalizes its I/O interface to allow for a wide
|
|
6
6
|
* variety of I/O providers, but especially for reading and writing from
|
|
7
7
|
* virtualized file systems like zip files.
|
|
8
|
+
*
|
|
9
|
+
* @module
|
|
8
10
|
*/
|
|
9
11
|
|
|
10
12
|
/**
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/** @type {ParseFn} */
|
|
2
2
|
export const parseArchiveCjs: ParseFn;
|
|
3
|
-
declare const _default:
|
|
3
|
+
declare const _default: {
|
|
4
|
+
parse: ParseFn;
|
|
5
|
+
heuristicImports: true;
|
|
6
|
+
synchronous: true;
|
|
7
|
+
};
|
|
4
8
|
export default _default;
|
|
5
9
|
import type { ParseFn } from './types.js';
|
|
6
10
|
//# sourceMappingURL=parse-archive-cjs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-archive-cjs.d.ts","sourceRoot":"","sources":["parse-archive-cjs.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-archive-cjs.d.ts","sourceRoot":"","sources":["parse-archive-cjs.js"],"names":[],"mappings":"AAoBA,sBAAsB;AACtB,8BADW,OAAO,CAkDhB;;;;;;;6BA/DyB,YAAY"}
|
package/src/parse-archive-cjs.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Provides language behavior for analyzing, pre-compiling, and storing
|
|
3
3
|
* CommonJS modules for an archive.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
4
6
|
*/
|
|
5
7
|
|
|
6
8
|
/** @import {ParseFn} from './types.js' */
|
|
@@ -22,9 +24,12 @@ export const parseArchiveCjs = (
|
|
|
22
24
|
_specifier,
|
|
23
25
|
location,
|
|
24
26
|
_packageLocation,
|
|
27
|
+
options = {},
|
|
25
28
|
) => {
|
|
26
29
|
const source = textDecoder.decode(bytes);
|
|
27
30
|
|
|
31
|
+
const { archiveOnly = false } = options;
|
|
32
|
+
|
|
28
33
|
const {
|
|
29
34
|
requires: imports,
|
|
30
35
|
exports,
|
|
@@ -35,18 +40,20 @@ export const parseArchiveCjs = (
|
|
|
35
40
|
exports.push('default');
|
|
36
41
|
}
|
|
37
42
|
|
|
38
|
-
|
|
43
|
+
let cjsFunctor = `(function (require, exports, module, __filename, __dirname) { 'use strict'; ${source} //*/\n})\n`;
|
|
39
44
|
|
|
40
45
|
const pre = textEncoder.encode(
|
|
41
46
|
JSON.stringify({
|
|
42
47
|
imports,
|
|
43
48
|
exports,
|
|
44
49
|
reexports,
|
|
45
|
-
source:
|
|
50
|
+
source: cjsFunctor,
|
|
46
51
|
}),
|
|
47
52
|
);
|
|
48
53
|
|
|
49
|
-
|
|
54
|
+
if (!archiveOnly) {
|
|
55
|
+
cjsFunctor = `${cjsFunctor}//# sourceURL=${location}\n`;
|
|
56
|
+
}
|
|
50
57
|
|
|
51
58
|
return {
|
|
52
59
|
parser: 'pre-cjs-json',
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/** @type {ParseFn} */
|
|
2
2
|
export const parseArchiveMjs: ParseFn;
|
|
3
|
-
declare const _default:
|
|
3
|
+
declare const _default: {
|
|
4
|
+
parse: ParseFn;
|
|
5
|
+
heuristicImports: false;
|
|
6
|
+
synchronous: true;
|
|
7
|
+
};
|
|
4
8
|
export default _default;
|
|
5
9
|
import type { ParseFn } from './types.js';
|
|
6
10
|
//# sourceMappingURL=parse-archive-mjs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-archive-mjs.d.ts","sourceRoot":"","sources":["parse-archive-mjs.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-archive-mjs.d.ts","sourceRoot":"","sources":["parse-archive-mjs.js"],"names":[],"mappings":"AAcA,sBAAsB;AACtB,8BADW,OAAO,CAqBhB;;;;;;;6BA5ByB,YAAY"}
|
package/src/parse-archive-mjs.js
CHANGED
package/src/parse-bytes.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/** @type {ParseFn} */
|
|
2
2
|
export const parseBytes: ParseFn;
|
|
3
|
-
declare const _default:
|
|
3
|
+
declare const _default: {
|
|
4
|
+
parse: ParseFn;
|
|
5
|
+
heuristicImports: false;
|
|
6
|
+
synchronous: true;
|
|
7
|
+
};
|
|
4
8
|
export default _default;
|
|
5
9
|
import type { ParseFn } from './types.js';
|
|
6
10
|
//# sourceMappingURL=parse-bytes.d.ts.map
|
package/src/parse-bytes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-bytes.d.ts","sourceRoot":"","sources":["parse-bytes.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-bytes.d.ts","sourceRoot":"","sources":["parse-bytes.js"],"names":[],"mappings":"AAkBA,sBAAsB;AACtB,yBADW,OAAO,CA0BhB;;;;;;;6BApCyB,YAAY"}
|
package/src/parse-bytes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-cjs-shared-export-wrapper.d.ts","sourceRoot":"","sources":["parse-cjs-shared-export-wrapper.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-cjs-shared-export-wrapper.d.ts","sourceRoot":"","sources":["parse-cjs-shared-export-wrapper.js"],"names":[],"mappings":"AA0CO,2CAPI,UAAU,GAAG,MAAM,GAAG,SAAS,YAC/B,MAAM,GACJ;IACR,QAAQ,EAAC,MAAM,GAAC,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAC,IAAI,CAAA;CACrB,CAgCH;AAmBM,uGAZJ;IAAmB,uBAAuB,EAAlC,MAAM;IACU,WAAW,EAA3B,WAAW;IACgB,eAAe,EAA1C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACX,QAAQ,EAAnB,MAAM;IAC8B,UAAU,EAA9C,MAAM,GAAG,UAAU,GAAG,SAAS;CACvC,GAAU;IACR,MAAM,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;IACzB,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,WAAW;IACvB,OAAO,WAAW;CACnB,CA2HH;gCA5MqC,YAAY;4BAAZ,YAAY"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Provides shared functionality for {@link parse-cjs.js} and {@link
|
|
3
3
|
* parse-archive-cjs.js} toward importing or archiving CommonJS as a virtual
|
|
4
4
|
* module source.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
5
7
|
*/
|
|
6
8
|
|
|
7
9
|
/** @import {ReadFn, ReadPowers} from './types.js' */
|
|
@@ -135,16 +137,7 @@ export const wrap = ({
|
|
|
135
137
|
},
|
|
136
138
|
});
|
|
137
139
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
const module = freeze({
|
|
141
|
-
get exports() {
|
|
142
|
-
return finalExports;
|
|
143
|
-
},
|
|
144
|
-
set exports(value) {
|
|
145
|
-
finalExports = value;
|
|
146
|
-
},
|
|
147
|
-
});
|
|
140
|
+
const module = { exports: originalExports };
|
|
148
141
|
|
|
149
142
|
/** @param {string} importSpecifier */
|
|
150
143
|
const require = importSpecifier => {
|
|
@@ -192,6 +185,7 @@ export const wrap = ({
|
|
|
192
185
|
freeze(require);
|
|
193
186
|
|
|
194
187
|
const afterExecute = () => {
|
|
188
|
+
const finalExports = module.exports; // in case it's a getter, only call it once
|
|
195
189
|
const exportsHaveBeenOverwritten = finalExports !== originalExports;
|
|
196
190
|
// Promotes keys from redefined module.export to top level namespace for import *
|
|
197
191
|
// Note: We could do it less consistently but closer to how node does it if we iterated over exports detected by
|
package/src/parse-cjs.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/** @type {ParseFn} */
|
|
2
2
|
export const parseCjs: ParseFn;
|
|
3
|
-
declare const _default:
|
|
3
|
+
declare const _default: {
|
|
4
|
+
parse: ParseFn;
|
|
5
|
+
heuristicImports: true;
|
|
6
|
+
synchronous: true;
|
|
7
|
+
};
|
|
4
8
|
export default _default;
|
|
5
9
|
import type { ParseFn } from './types.js';
|
|
6
10
|
//# sourceMappingURL=parse-cjs.d.ts.map
|
package/src/parse-cjs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-cjs.d.ts","sourceRoot":"","sources":["parse-cjs.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-cjs.d.ts","sourceRoot":"","sources":["parse-cjs.js"],"names":[],"mappings":"AAgBA,sBAAsB;AACtB,uBADW,OAAO,CA0DhB;;;;;;;6BAnEyB,YAAY"}
|
package/src/parse-cjs.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Provides language behavior (parser) for importing CommonJS as a
|
|
3
3
|
* virtual module source.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
4
6
|
*/
|
|
5
7
|
|
|
6
8
|
/** @import {ParseFn} from './types.js' */
|
|
@@ -41,7 +43,7 @@ export const parseCjs = (
|
|
|
41
43
|
*/
|
|
42
44
|
const execute = (moduleEnvironmentRecord, compartment, resolvedImports) => {
|
|
43
45
|
const functor = compartment.evaluate(
|
|
44
|
-
`(function (require, exports, module, __filename, __dirname) { ${source}
|
|
46
|
+
`(function (require, exports, module, __filename, __dirname) { 'use strict'; ${source} })\n`,
|
|
45
47
|
);
|
|
46
48
|
|
|
47
49
|
const { require, moduleExports, module, afterExecute } = wrap({
|
package/src/parse-json.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/** @type {ParseFn} */
|
|
2
2
|
export const parseJson: ParseFn;
|
|
3
|
-
declare const _default:
|
|
3
|
+
declare const _default: {
|
|
4
|
+
parse: ParseFn;
|
|
5
|
+
heuristicImports: false;
|
|
6
|
+
synchronous: true;
|
|
7
|
+
};
|
|
4
8
|
export default _default;
|
|
5
9
|
import type { ParseFn } from './types.js';
|
|
6
|
-
import type { ParserImplementation } from './types.js';
|
|
7
10
|
//# sourceMappingURL=parse-json.d.ts.map
|
package/src/parse-json.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-json.d.ts","sourceRoot":"","sources":["parse-json.js"],"names":[],"mappings":"AAmBA,sBAAsB;AACtB,wBADW,OAAO,CAqBhB
|
|
1
|
+
{"version":3,"file":"parse-json.d.ts","sourceRoot":"","sources":["parse-json.js"],"names":[],"mappings":"AAmBA,sBAAsB;AACtB,wBADW,OAAO,CAqBhB;;;;;;;6BApC8C,YAAY"}
|
package/src/parse-mjs.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/** @type {ParseFn} */
|
|
2
2
|
export const parseMjs: ParseFn;
|
|
3
|
-
declare const _default:
|
|
3
|
+
declare const _default: {
|
|
4
|
+
parse: ParseFn;
|
|
5
|
+
heuristicImports: false;
|
|
6
|
+
synchronous: true;
|
|
7
|
+
};
|
|
4
8
|
export default _default;
|
|
5
9
|
import type { ParseFn } from './types.js';
|
|
6
10
|
//# sourceMappingURL=parse-mjs.d.ts.map
|
package/src/parse-mjs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-mjs.d.ts","sourceRoot":"","sources":["parse-mjs.js"],"names":[],"mappings":"AAQA,sBAAsB;AACtB,uBADW,OAAO,CAqBhB
|
|
1
|
+
{"version":3,"file":"parse-mjs.d.ts","sourceRoot":"","sources":["parse-mjs.js"],"names":[],"mappings":"AAQA,sBAAsB;AACtB,uBADW,OAAO,CAqBhB;;;;;;;6BA3ByB,YAAY"}
|
package/src/parse-mjs.js
CHANGED
|
@@ -14,10 +14,10 @@ export const parseMjs = (
|
|
|
14
14
|
_packageLocation,
|
|
15
15
|
options = {},
|
|
16
16
|
) => {
|
|
17
|
-
const { sourceMap, sourceMapHook } = options;
|
|
17
|
+
const { sourceMap, sourceMapHook, archiveOnly = false } = options;
|
|
18
18
|
const source = textDecoder.decode(bytes);
|
|
19
19
|
const record = new ModuleSource(source, {
|
|
20
|
-
sourceUrl,
|
|
20
|
+
sourceUrl: archiveOnly ? undefined : sourceUrl,
|
|
21
21
|
sourceMap,
|
|
22
22
|
sourceMapUrl: sourceUrl,
|
|
23
23
|
sourceMapHook,
|
package/src/parse-pre-cjs.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/** @type {ParseFn} */
|
|
2
2
|
export const parsePreCjs: ParseFn;
|
|
3
|
-
declare const _default:
|
|
3
|
+
declare const _default: {
|
|
4
|
+
parse: ParseFn;
|
|
5
|
+
heuristicImports: true;
|
|
6
|
+
synchronous: true;
|
|
7
|
+
};
|
|
4
8
|
export default _default;
|
|
5
9
|
import type { ParseFn } from './types.js';
|
|
6
10
|
//# sourceMappingURL=parse-pre-cjs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-pre-cjs.d.ts","sourceRoot":"","sources":["parse-pre-cjs.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-pre-cjs.d.ts","sourceRoot":"","sources":["parse-pre-cjs.js"],"names":[],"mappings":"AAiBA,sBAAsB;AACtB,0BADW,OAAO,CAuDhB;;;;;;;6BA9DyB,YAAY"}
|
package/src/parse-pre-cjs.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Provides language-specific behavior for importing pre-compiled
|
|
3
3
|
* CommonJS.
|
|
4
4
|
* Pre-compiled CommonJS is a module in JSON format that describes its imports,
|
|
5
5
|
* exports, and source to execute in the presence of `require`, `module`, and
|
|
6
6
|
* `exports`.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
7
9
|
*/
|
|
8
10
|
|
|
9
11
|
/** @import {ParseFn} from './types.js' */
|
package/src/parse-pre-mjs.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/** @type {ParseFn} */
|
|
2
2
|
export const parsePreMjs: ParseFn;
|
|
3
|
-
declare const _default:
|
|
3
|
+
declare const _default: {
|
|
4
|
+
parse: ParseFn;
|
|
5
|
+
heuristicImports: false;
|
|
6
|
+
synchronous: true;
|
|
7
|
+
};
|
|
4
8
|
export default _default;
|
|
5
9
|
import type { ParseFn } from './types.js';
|
|
6
10
|
//# sourceMappingURL=parse-pre-mjs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-pre-mjs.d.ts","sourceRoot":"","sources":["parse-pre-mjs.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-pre-mjs.d.ts","sourceRoot":"","sources":["parse-pre-mjs.js"],"names":[],"mappings":"AAeA,sBAAsB;AACtB,0BADW,OAAO,CAsBhB;;;;;;;6BA5ByB,YAAY"}
|
package/src/parse-pre-mjs.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Provides language-specific behaviors for importing pre-compiled ESM.
|
|
3
3
|
* Pre-compiling or translating ESM from a module to a script with a
|
|
4
4
|
* calling-convention is necessary to prepare an archive so that it can be
|
|
5
5
|
* imported by the SES shim without entraining a dependency on Babel.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
6
8
|
*/
|
|
7
9
|
|
|
8
10
|
/** @import {ParseFn} from './types.js' */
|
package/src/parse-text.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/** @type {ParseFn} */
|
|
2
2
|
export const parseText: ParseFn;
|
|
3
|
-
declare const _default:
|
|
3
|
+
declare const _default: {
|
|
4
|
+
parse: ParseFn;
|
|
5
|
+
heuristicImports: false;
|
|
6
|
+
synchronous: true;
|
|
7
|
+
};
|
|
4
8
|
export default _default;
|
|
5
9
|
import type { ParseFn } from './types.js';
|
|
6
10
|
//# sourceMappingURL=parse-text.d.ts.map
|
package/src/parse-text.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-text.d.ts","sourceRoot":"","sources":["parse-text.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-text.d.ts","sourceRoot":"","sources":["parse-text.js"],"names":[],"mappings":"AAoBA,sBAAsB;AACtB,wBADW,OAAO,CAuBhB;;;;;;;6BAnCyB,YAAY"}
|
package/src/parse-text.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Provides language-behaviors for importing a module as a document
|
|
3
3
|
* that exports itself as a string based on a UTF-8 interpretation of the
|
|
4
4
|
* module's text.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
5
7
|
*/
|
|
6
8
|
|
|
7
9
|
/** @import {ParseFn} from './types.js' */
|
package/src/policy-format.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
export const WILDCARD_POLICY_VALUE: "any";
|
|
1
2
|
export function policyLookupHelper(packagePolicy: import("./types.js").PackagePolicy, field: "builtins" | "globals" | "packages", itemName: string): boolean | import("./types.js").AttenuationDefinition;
|
|
2
3
|
export function isAllowingEverything(policyValue: unknown): policyValue is import("./types.js").WildcardPolicy;
|
|
3
4
|
export function isAttenuationDefinition(allegedDefinition: unknown): allegedDefinition is import("./types.js").AttenuationDefinition;
|
|
4
5
|
export function getAttenuatorFromDefinition(attenuationDefinition: import("./types.js").AttenuationDefinition): import("./types.js").UnifiedAttenuationDefinition;
|
|
5
|
-
export function assertPackagePolicy(allegedPackagePolicy: unknown, path: string, url?: string
|
|
6
|
+
export function assertPackagePolicy(allegedPackagePolicy: unknown, path: string, url?: string): asserts allegedPackagePolicy is SomePackagePolicy | undefined;
|
|
6
7
|
export function assertPolicy(allegedPolicy: unknown): asserts allegedPolicy is (SomePolicy | undefined);
|
|
7
8
|
import type { SomePackagePolicy } from './types.js';
|
|
8
9
|
import type { SomePolicy } from './types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-format.d.ts","sourceRoot":"","sources":["policy-format.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"policy-format.d.ts","sourceRoot":"","sources":["policy-format.js"],"names":[],"mappings":"AAeA,oCAAqC,KAAK,CAAC;AAepC,kDALI,OAAO,YAAY,EAAE,aAAa,SAClC,UAAU,GAAC,SAAS,GAAC,UAAU,YAC/B,MAAM,GACJ,OAAO,GAAG,OAAO,YAAY,EAAE,qBAAqB,CAyBhE;AAQM,kDAHI,OAAO,GACL,WAAW,IAAI,OAAO,YAAY,EAAE,cAAc,CAGxB;AAOhC,2DAHI,OAAO,GACL,iBAAiB,IAAI,OAAO,YAAY,EAAE,qBAAqB,CAS3E;AAOM,mEAHI,OAAO,YAAY,EAAE,qBAAqB,GACxC,OAAO,YAAY,EAAE,4BAA4B,CAuB7D;AA0CM,0DALI,OAAO,QACP,MAAM,QACN,MAAM,GACJ,QAAQ,oBAAoB,IAAI,iBAAiB,GAAC,SAAS,CA4DvE;AAUM,4CAHI,OAAO,GACL,QAAQ,aAAa,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,CAgC7D;uCA7OgD,YAAY;gCAAZ,YAAY"}
|
package/src/policy-format.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Provides functions for enforcing compartment-map linkage and global
|
|
3
3
|
* variable policies for each compartment.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
4
6
|
*/
|
|
5
7
|
|
|
6
8
|
/** @import {SomePackagePolicy, SomePolicy} from './types.js' */
|
|
@@ -11,7 +13,8 @@ const q = JSON.stringify;
|
|
|
11
13
|
|
|
12
14
|
const ATTENUATOR_KEY = 'attenuate';
|
|
13
15
|
const ATTENUATOR_PARAMS_KEY = 'params';
|
|
14
|
-
const WILDCARD_POLICY_VALUE = 'any';
|
|
16
|
+
export const WILDCARD_POLICY_VALUE = 'any';
|
|
17
|
+
|
|
15
18
|
const POLICY_FIELDS_LOOKUP = /** @type {const} */ ([
|
|
16
19
|
'builtins',
|
|
17
20
|
'globals',
|
package/src/policy.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Const string to identify the internal attenuators compartment
|
|
3
3
|
*/
|
|
4
4
|
export const ATTENUATORS_COMPARTMENT: "<ATTENUATORS>";
|
|
5
|
-
export function detectAttenuators(policy?: Policy
|
|
5
|
+
export function detectAttenuators(policy?: Policy): Array<string>;
|
|
6
6
|
export function dependencyAllowedByPolicy(namingKit: PackageNamingKit, packagePolicy: PackagePolicy): boolean;
|
|
7
7
|
/**
|
|
8
8
|
* Returns the policy applicable to the canonicalName of the package
|
|
@@ -24,7 +24,7 @@ export function getPolicyForPackage(namingKit: PackageNamingKit, policy: SomePol
|
|
|
24
24
|
export function getPolicyForPackage(namingKit: PackageNamingKit, policy?: SomePolicy | undefined): SomePackagePolicy | undefined;
|
|
25
25
|
export function makeDeferredAttenuatorsProvider(compartments: Record<string, Compartment>, compartmentDescriptors: Record<string, CompartmentDescriptor>): DeferredAttenuatorsProvider;
|
|
26
26
|
export function attenuateGlobals(globalThis: object, globals: object, packagePolicy: PackagePolicy, attenuators: DeferredAttenuatorsProvider, pendingJobs: Array<Promise<any>>, name?: string): void;
|
|
27
|
-
export function enforceModulePolicy(specifier: string, compartmentDescriptor: CompartmentDescriptor, { exit, errorHint }?: EnforceModulePolicyOptions
|
|
27
|
+
export function enforceModulePolicy(specifier: string, compartmentDescriptor: CompartmentDescriptor, { exit, errorHint }?: EnforceModulePolicyOptions): void;
|
|
28
28
|
export function attenuateModuleHook(specifier: string, originalModuleRecord: import("ses").ThirdPartyStaticModuleInterface, policy: PackagePolicy, attenuators: DeferredAttenuatorsProvider): Promise<import("ses").ThirdPartyStaticModuleInterface>;
|
|
29
29
|
/**
|
|
30
30
|
* Options for {@link enforceModulePolicy}
|
package/src/policy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["policy.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["policy.js"],"names":[],"mappings":"AAkCA;;GAEG;AACH,sCAAuC,eAAe,CAAC;AAyDhD,2CAHI,MAAM,GACJ,KAAK,CAAC,MAAM,CAAC,CAezB;AA0BM,qDAJI,gBAAgB,iBAChB,aAAa,GACX,OAAO,CASnB;;;;;;;;;AAKE,+CACQ,gBAAgB,UAChB,UAAU,GACR,iBAAiB,CAC7B;;;;;;;;;AAKE,+CACQ,gBAAgB,oCAEd,iBAAiB,GAAC,SAAS,CACvC;AA+EM,8DAJI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,0BAC3B,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GACnC,2BAA2B,CA0CvC;AAoDM,6CARI,MAAM,WACN,MAAM,iBACN,aAAa,eACb,2BAA2B,eAC3B,KAAK,cAAS,SACd,MAAM,GACJ,IAAI,CAgDhB;AA2BM,+CAJI,MAAM,yBACN,qBAAqB,wBACrB,0BAA0B,QAgCpC;AAgDM,+CANI,MAAM,wBACN,OAAO,KAAK,EAAE,+BAA+B,UAC7C,aAAa,eACb,2BAA2B,GACzB,OAAO,CAAC,OAAO,KAAK,EAAE,+BAA+B,CAAC,CAyBlE;;;;;;;;;;;;;;4BApeS,YAAY;sCAAZ,YAAY;mCAAZ,YAAY;gCAAZ,YAAY;uCAAZ,YAAY;2CAAZ,YAAY;iDAAZ,YAAY"}
|
package/src/policy.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Provides mechanisms for interacting with Compartment Map runtime policies.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
3
5
|
*/
|
|
4
6
|
|
|
5
7
|
// @ts-check
|
|
@@ -171,10 +173,7 @@ export const getPolicyForPackage = (namingKit, policy) => {
|
|
|
171
173
|
}
|
|
172
174
|
const canonicalName = generateCanonicalName(namingKit);
|
|
173
175
|
if (canonicalName === ATTENUATORS_COMPARTMENT) {
|
|
174
|
-
return {
|
|
175
|
-
defaultAttenuator: policy.defaultAttenuator,
|
|
176
|
-
packages: 'any',
|
|
177
|
-
};
|
|
176
|
+
return { defaultAttenuator: policy.defaultAttenuator, packages: 'any' };
|
|
178
177
|
}
|
|
179
178
|
if (policy.resources && policy.resources[canonicalName] !== undefined) {
|
|
180
179
|
return policy.resources[canonicalName];
|
|
@@ -240,6 +239,7 @@ export const makeDeferredAttenuatorsProvider = (
|
|
|
240
239
|
compartments,
|
|
241
240
|
compartmentDescriptors,
|
|
242
241
|
) => {
|
|
242
|
+
/** @type {DeferredAttenuatorsProvider['import']} */
|
|
243
243
|
let importAttenuator;
|
|
244
244
|
let defaultAttenuator;
|
|
245
245
|
// Attenuators compartment is not created when there's no policy.
|
|
@@ -257,7 +257,7 @@ export const makeDeferredAttenuatorsProvider = (
|
|
|
257
257
|
// time of the import function being called.
|
|
258
258
|
/**
|
|
259
259
|
*
|
|
260
|
-
* @param {string} attenuatorSpecifier
|
|
260
|
+
* @param {string | null} attenuatorSpecifier
|
|
261
261
|
* @returns {Promise<Attenuator>}
|
|
262
262
|
*/
|
|
263
263
|
importAttenuator = async attenuatorSpecifier => {
|
|
@@ -267,15 +267,14 @@ export const makeDeferredAttenuatorsProvider = (
|
|
|
267
267
|
}
|
|
268
268
|
attenuatorSpecifier = defaultAttenuator;
|
|
269
269
|
}
|
|
270
|
-
const { namespace } =
|
|
271
|
-
|
|
270
|
+
const { namespace } = await compartments[ATTENUATORS_COMPARTMENT].import(
|
|
271
|
+
/** @type {string} */ (attenuatorSpecifier),
|
|
272
|
+
);
|
|
272
273
|
return namespace;
|
|
273
274
|
};
|
|
274
275
|
}
|
|
275
276
|
|
|
276
|
-
return {
|
|
277
|
-
import: importAttenuator,
|
|
278
|
-
};
|
|
277
|
+
return { import: importAttenuator };
|
|
279
278
|
};
|
|
280
279
|
|
|
281
280
|
/**
|
package/src/powers.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export function unpackReadPowers(powers: ReadFn | ReadPowers | MaybeReadPowers): MaybeReadPowers;
|
|
2
2
|
export function isReadNowPowers(value: ReadPowers | ReadFn | undefined): value is ReadNowPowers;
|
|
3
|
-
export function findInvalidReadNowPowersProps(value?:
|
|
3
|
+
export function findInvalidReadNowPowersProps(value?: ReadPowers | ReadFn): ReadNowPowersProp[];
|
|
4
4
|
import type { ReadFn } from './types.js';
|
|
5
5
|
import type { ReadPowers } from './types.js';
|
|
6
6
|
import type { MaybeReadPowers } from './types.js';
|
package/src/powers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powers.d.ts","sourceRoot":"","sources":["powers.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"powers.d.ts","sourceRoot":"","sources":["powers.js"],"names":[],"mappings":"AA+BO,yCAHI,MAAM,GAAG,UAAU,GAAG,eAAe,GACnC,eAAe,CAgC3B;AAiBM,uCAHI,UAAU,GAAC,MAAM,GAAC,SAAS,GACzB,KAAK,IAAI,aAAa,CAShC;AAWI,sDAHI,UAAU,GAAG,MAAM,GACjB,iBAAiB,EAAE,CAS/B;4BApFS,YAAY;gCAAZ,YAAY;qCAAZ,YAAY;mCAAZ,YAAY;uCAAZ,YAAY"}
|
package/src/powers.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* As the interface of the Compartment Mapper evolved, it became
|
|
3
3
|
* necessary to expand some function signatures that accepted a single power to
|
|
4
4
|
* one that accepted a powers object.
|
|
5
5
|
* This module provides functions for safely unpacking I/O capabilities and
|
|
6
6
|
* maintaining backward-compatibility with older accepted usage patterns.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
7
9
|
*/
|
|
8
10
|
|
|
9
11
|
/**
|
package/src/search.d.ts
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
export function searchDescriptor<T>(location: string, maybeReadDescriptor:
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}>;
|
|
7
|
-
export function search(readPowers: ReadFn | ReadPowers | MaybeReadPowers, moduleLocation: string): Promise<{
|
|
8
|
-
packageLocation: string;
|
|
9
|
-
packageDescriptorLocation: string;
|
|
10
|
-
packageDescriptorText: string;
|
|
11
|
-
moduleSpecifier: string;
|
|
12
|
-
}>;
|
|
1
|
+
export function searchDescriptor<T>(location: string, maybeReadDescriptor: MaybeReadDescriptorFn<T>, { log: _log }?: SearchDescriptorOptions): Promise<SearchDescriptorResult<T>>;
|
|
2
|
+
export function search(readPowers: ReadFn | ReadPowers | MaybeReadPowers, moduleLocation: string, { log }?: SearchOptions): Promise<SearchResult>;
|
|
3
|
+
import type { MaybeReadDescriptorFn } from './types.js';
|
|
4
|
+
import type { SearchDescriptorOptions } from './types.js';
|
|
5
|
+
import type { SearchDescriptorResult } from './types.js';
|
|
13
6
|
import type { ReadFn } from './types.js';
|
|
14
7
|
import type { ReadPowers } from './types.js';
|
|
15
8
|
import type { MaybeReadPowers } from './types.js';
|
|
9
|
+
import type { SearchOptions } from './types.js';
|
|
10
|
+
import type { SearchResult } from './types.js';
|
|
16
11
|
//# sourceMappingURL=search.d.ts.map
|
package/src/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["search.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["search.js"],"names":[],"mappings":"AAqDO,iCANM,CAAC,YACH,MAAM,uBACN,sBAAsB,CAAC,CAAC,kBACxB,uBAAuB,GACrB,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CA8B9C;AAgCM,mCALI,MAAM,GAAG,UAAU,GAAG,eAAe,kBACrC,MAAM,YACN,aAAa,GACX,OAAO,CAAC,YAAY,CAAC,CA0BjC;2CAxHS,YAAY;6CAAZ,YAAY;4CAAZ,YAAY;4BAAZ,YAAY;gCAAZ,YAAY;qCAAZ,YAAY;mCAAZ,YAAY;kCAAZ,YAAY"}
|