@endo/compartment-mapper 1.4.0 → 1.6.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 (93) hide show
  1. package/README.md +292 -111
  2. package/bundle.d.ts +1 -1
  3. package/bundle.js +4 -1
  4. package/functor-lite.d.ts +3 -0
  5. package/functor-lite.d.ts.map +1 -0
  6. package/functor-lite.js +4 -0
  7. package/functor.d.ts +3 -0
  8. package/functor.d.ts.map +1 -0
  9. package/functor.js +4 -0
  10. package/import-archive-all-parsers.d.ts +2 -0
  11. package/import-archive-all-parsers.d.ts.map +1 -0
  12. package/import-archive-all-parsers.js +1 -0
  13. package/index.d.ts +1 -1
  14. package/index.js +4 -1
  15. package/package.json +14 -5
  16. package/script-lite.d.ts +3 -0
  17. package/script-lite.d.ts.map +1 -0
  18. package/script-lite.js +4 -0
  19. package/script.d.ts +3 -0
  20. package/script.d.ts.map +1 -0
  21. package/script.js +4 -0
  22. package/src/archive-lite.d.ts +2 -4
  23. package/src/archive-lite.d.ts.map +1 -1
  24. package/src/archive-lite.js +16 -192
  25. package/src/archive.d.ts.map +1 -1
  26. package/src/archive.js +8 -0
  27. package/src/bundle-cjs.d.ts +1 -1
  28. package/src/bundle-cjs.d.ts.map +1 -1
  29. package/src/bundle-cjs.js +57 -28
  30. package/src/bundle-json.d.ts.map +1 -1
  31. package/src/bundle-json.js +2 -3
  32. package/src/bundle-lite.d.ts +91 -0
  33. package/src/bundle-lite.d.ts.map +1 -0
  34. package/src/bundle-lite.js +668 -0
  35. package/src/bundle-mjs.d.ts +2 -2
  36. package/src/bundle-mjs.d.ts.map +1 -1
  37. package/src/bundle-mjs.js +36 -19
  38. package/src/bundle.d.ts +48 -10
  39. package/src/bundle.d.ts.map +1 -1
  40. package/src/bundle.js +399 -127
  41. package/src/capture-lite.d.ts.map +1 -1
  42. package/src/capture-lite.js +10 -188
  43. package/src/digest.d.ts +5 -0
  44. package/src/digest.d.ts.map +1 -0
  45. package/src/digest.js +235 -0
  46. package/src/import-archive-all-parsers.d.ts +11 -0
  47. package/src/import-archive-all-parsers.d.ts.map +1 -0
  48. package/src/import-archive-all-parsers.js +29 -0
  49. package/src/import-archive-lite.d.ts.map +1 -1
  50. package/src/import-archive-lite.js +4 -0
  51. package/src/import-hook.d.ts +3 -16
  52. package/src/import-hook.d.ts.map +1 -1
  53. package/src/import-hook.js +11 -18
  54. package/src/import-lite.d.ts.map +1 -1
  55. package/src/import-lite.js +7 -2
  56. package/src/import.d.ts.map +1 -1
  57. package/src/import.js +2 -0
  58. package/src/link.d.ts.map +1 -1
  59. package/src/link.js +2 -0
  60. package/src/map-parser.d.ts.map +1 -1
  61. package/src/map-parser.js +4 -1
  62. package/src/node-modules.d.ts +4 -47
  63. package/src/node-modules.d.ts.map +1 -1
  64. package/src/node-modules.js +157 -131
  65. package/src/parse-archive-cjs.d.ts.map +1 -1
  66. package/src/parse-archive-cjs.js +8 -3
  67. package/src/parse-cjs-shared-export-wrapper.d.ts.map +1 -1
  68. package/src/parse-cjs-shared-export-wrapper.js +2 -10
  69. package/src/parse-cjs.js +1 -1
  70. package/src/parse-mjs.js +2 -2
  71. package/src/policy.d.ts.map +1 -1
  72. package/src/policy.js +4 -7
  73. package/src/search.d.ts +6 -12
  74. package/src/search.d.ts.map +1 -1
  75. package/src/search.js +29 -12
  76. package/src/types/compartment-map-schema.d.ts +5 -0
  77. package/src/types/compartment-map-schema.d.ts.map +1 -1
  78. package/src/types/compartment-map-schema.ts +5 -0
  79. package/src/types/external.d.ts +159 -12
  80. package/src/types/external.d.ts.map +1 -1
  81. package/src/types/external.ts +180 -12
  82. package/src/types/internal.d.ts +86 -13
  83. package/src/types/internal.d.ts.map +1 -1
  84. package/src/types/internal.ts +107 -13
  85. package/src/types/node-modules.d.ts +79 -0
  86. package/src/types/node-modules.d.ts.map +1 -0
  87. package/src/types/node-modules.ts +89 -0
  88. package/src/types/node-powers.d.ts +4 -4
  89. package/src/types/node-powers.d.ts.map +1 -1
  90. package/src/types/node-powers.ts +4 -4
  91. package/src/types/powers.d.ts +2 -2
  92. package/src/types/powers.d.ts.map +1 -1
  93. package/src/types/powers.ts +2 -2
@@ -0,0 +1,79 @@
1
+ import type { Language, LanguageForExtension } from './compartment-map-schema.js';
2
+ import type { LogOptions } from './external.js';
3
+ import type { PackageDescriptor } from './internal.js';
4
+ export type CommonDependencyDescriptors = Record<string, {
5
+ spec: string;
6
+ alias: string;
7
+ }>;
8
+ export type GraphPackageOptions = {
9
+ preferredPackageLogicalPathMap?: Map<string, string[]>;
10
+ logicalPath?: string[];
11
+ commonDependencyDescriptors?: CommonDependencyDescriptors;
12
+ } & LogOptions;
13
+ export type GraphPackagesOptions = LogOptions;
14
+ export type GatherDependencyOptions = {
15
+ childLogicalPath?: string[];
16
+ /**
17
+ * If `true` the dependency is optional
18
+ */
19
+ optional?: boolean;
20
+ /**
21
+ * Dependencies added to _all_ packages
22
+ */
23
+ commonDependencyDescriptors?: CommonDependencyDescriptors;
24
+ } & LogOptions;
25
+ export interface Node {
26
+ /**
27
+ * Informative compartment label based on the package name and version (if available)
28
+ */
29
+ label: string;
30
+ /**
31
+ * Package name
32
+ */
33
+ name: string;
34
+ path: Array<string>;
35
+ logicalPath: Array<string>;
36
+ /**
37
+ * `true` if the package's {@link PackageDescriptor} has an `exports` field
38
+ */
39
+ explicitExports: boolean;
40
+ internalAliases: Record<string, string>;
41
+ externalAliases: Record<string, string>;
42
+ /**
43
+ * The name of the original package's parent directory, for reconstructing
44
+ * a sourceURL that is likely to converge with the original location in an IDE.
45
+ */
46
+ sourceDirname: string;
47
+ /**
48
+ * An object whose keys are the thing being imported, and the values are the
49
+ * names of the matching module (relative to the containing package's root;
50
+ * i.e. the URL that was used as the key of graph).
51
+ *
52
+ * The values are the keys of other {@link Node Nodes} in the {@link Graph}.
53
+ */
54
+ dependencyLocations: Record<string, string>;
55
+ parsers: LanguageForExtension;
56
+ types: Record<string, Language>;
57
+ }
58
+ /**
59
+ * The graph is an intermediate object model that the functions of this module
60
+ * build by exploring the `node_modules` tree dropped by tools like npm and
61
+ * consumed by tools like Node.js.
62
+ * This gets translated finally into a compartment map.
63
+ */
64
+ export type Graph = Record<string, Node>;
65
+ export interface LanguageOptions {
66
+ commonjsLanguageForExtension: LanguageForExtension;
67
+ moduleLanguageForExtension: LanguageForExtension;
68
+ workspaceCommonjsLanguageForExtension: LanguageForExtension;
69
+ workspaceModuleLanguageForExtension: LanguageForExtension;
70
+ languages: Set<string>;
71
+ }
72
+ /**
73
+ * Object result of `findPackage()`
74
+ */
75
+ export interface PackageDetails {
76
+ packageLocation: string;
77
+ packageDescriptor: PackageDescriptor;
78
+ }
79
+ //# sourceMappingURL=node-modules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-modules.d.ts","sourceRoot":"","sources":["node-modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,MAAM,EACN;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAChC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,8BAA8B,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;CAC3D,GAAG,UAAU,CAAC;AAEf,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE9C,MAAM,MAAM,uBAAuB,GAAG;IACpC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;CAC3D,GAAG,UAAU,CAAC;AAEf,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAEzC,MAAM,WAAW,eAAe;IAC9B,4BAA4B,EAAE,oBAAoB,CAAC;IACnD,0BAA0B,EAAE,oBAAoB,CAAC;IACjD,qCAAqC,EAAE,oBAAoB,CAAC;IAC5D,mCAAmC,EAAE,oBAAoB,CAAC;IAC1D,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC"}
@@ -0,0 +1,89 @@
1
+ import type {
2
+ Language,
3
+ LanguageForExtension,
4
+ } from './compartment-map-schema.js';
5
+ import type { LogOptions } from './external.js';
6
+ import type { PackageDescriptor } from './internal.js';
7
+
8
+ export type CommonDependencyDescriptors = Record<
9
+ string,
10
+ { spec: string; alias: string }
11
+ >;
12
+
13
+ export type GraphPackageOptions = {
14
+ preferredPackageLogicalPathMap?: Map<string, string[]>;
15
+ logicalPath?: string[];
16
+ commonDependencyDescriptors?: CommonDependencyDescriptors;
17
+ } & LogOptions;
18
+
19
+ export type GraphPackagesOptions = LogOptions;
20
+
21
+ export type GatherDependencyOptions = {
22
+ childLogicalPath?: string[];
23
+ /**
24
+ * If `true` the dependency is optional
25
+ */
26
+ optional?: boolean;
27
+ /**
28
+ * Dependencies added to _all_ packages
29
+ */
30
+ commonDependencyDescriptors?: CommonDependencyDescriptors;
31
+ } & LogOptions;
32
+
33
+ export interface Node {
34
+ /**
35
+ * Informative compartment label based on the package name and version (if available)
36
+ */
37
+ label: string;
38
+ /**
39
+ * Package name
40
+ */
41
+ name: string;
42
+ path: Array<string>;
43
+ logicalPath: Array<string>;
44
+ /**
45
+ * `true` if the package's {@link PackageDescriptor} has an `exports` field
46
+ */
47
+ explicitExports: boolean;
48
+ internalAliases: Record<string, string>;
49
+ externalAliases: Record<string, string>;
50
+ /**
51
+ * The name of the original package's parent directory, for reconstructing
52
+ * a sourceURL that is likely to converge with the original location in an IDE.
53
+ */
54
+ sourceDirname: string;
55
+ /**
56
+ * An object whose keys are the thing being imported, and the values are the
57
+ * names of the matching module (relative to the containing package's root;
58
+ * i.e. the URL that was used as the key of graph).
59
+ *
60
+ * The values are the keys of other {@link Node Nodes} in the {@link Graph}.
61
+ */
62
+ dependencyLocations: Record<string, string>;
63
+ parsers: LanguageForExtension;
64
+ types: Record<string, Language>;
65
+ }
66
+
67
+ /**
68
+ * The graph is an intermediate object model that the functions of this module
69
+ * build by exploring the `node_modules` tree dropped by tools like npm and
70
+ * consumed by tools like Node.js.
71
+ * This gets translated finally into a compartment map.
72
+ */
73
+ export type Graph = Record<string, Node>;
74
+
75
+ export interface LanguageOptions {
76
+ commonjsLanguageForExtension: LanguageForExtension;
77
+ moduleLanguageForExtension: LanguageForExtension;
78
+ workspaceCommonjsLanguageForExtension: LanguageForExtension;
79
+ workspaceModuleLanguageForExtension: LanguageForExtension;
80
+ languages: Set<string>;
81
+ }
82
+
83
+ /**
84
+ * Object result of `findPackage()`
85
+ */
86
+ export interface PackageDetails {
87
+ packageLocation: string;
88
+ packageDescriptor: PackageDescriptor;
89
+ }
@@ -15,10 +15,10 @@ export type FsInterface = {
15
15
  * The portion of the "node:url" module needed to normalize paths to fully
16
16
  * qualified file URLs, as used by the compartment mapper internally.
17
17
  */
18
- export type UrlInterface = {
19
- fileURLToPath: (location: string | URL) => string;
20
- pathToFileURL: (location: string) => URL;
21
- };
18
+ export interface UrlInterface {
19
+ fileURLToPath: typeof import('node:url').fileURLToPath;
20
+ pathToFileURL: typeof import('node:url').pathToFileURL;
21
+ }
22
22
  /**
23
23
  * The portion of the "node:path" module needed to support dynamic-require for
24
24
  * a module specifier that is an absolute path.
@@ -1 +1 @@
1
- {"version":3,"file":"node-powers.d.ts","sourceRoot":"","sources":["node-powers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,gCAAgC;AAChC,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE;QACR,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;KACrD,CAAC;IACF,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,CAAC;CAChD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,KAAK,MAAM,CAAC;IAClD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,CAAC;CAC1C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM;QAEZ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC;KACpC,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"node-powers.d.ts","sourceRoot":"","sources":["node-powers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,gCAAgC;AAChC,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE;QACR,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;KACrD,CAAC;IACF,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,CAAC;CAChD,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,cAAc,UAAU,EAAE,aAAa,CAAC;IACvD,aAAa,EAAE,cAAc,UAAU,EAAE,aAAa,CAAC;CACxD;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM;QAEZ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC;KACpC,CAAC;CACH,CAAC"}
@@ -19,10 +19,10 @@ export type FsInterface = {
19
19
  * The portion of the "node:url" module needed to normalize paths to fully
20
20
  * qualified file URLs, as used by the compartment mapper internally.
21
21
  */
22
- export type UrlInterface = {
23
- fileURLToPath: (location: string | URL) => string;
24
- pathToFileURL: (location: string) => URL;
25
- };
22
+ export interface UrlInterface {
23
+ fileURLToPath: typeof import('node:url').fileURLToPath;
24
+ pathToFileURL: typeof import('node:url').pathToFileURL;
25
+ }
26
26
 
27
27
  /**
28
28
  * The portion of the "node:path" module needed to support dynamic-require for
@@ -52,8 +52,8 @@ export type ReadNowFn = (location: string) => Uint8Array;
52
52
  */
53
53
  export type MaybeReadNowFn = (location: string) => Uint8Array | undefined;
54
54
  export type HashFn = (bytes: Uint8Array) => string;
55
- export type FileURLToPathFn = (location: string | URL) => string;
56
- export type PathToFileURLFn = (location: string) => URL;
55
+ export type FileURLToPathFn = typeof import('node:url').fileURLToPath;
56
+ export type PathToFileURLFn = typeof import('node:url').pathToFileURL;
57
57
  export type RequireResolveFn = (fromLocation: string, specifier: string, options?: {
58
58
  paths?: string[];
59
59
  } | undefined) => any;
@@ -1 +1 @@
1
- {"version":3,"file":"powers.d.ts","sourceRoot":"","sources":["powers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"powers.d.ts","sourceRoot":"","sources":["powers.ts"],"names":[],"mappings":"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"}
@@ -69,9 +69,9 @@ export type MaybeReadNowFn = (location: string) => Uint8Array | undefined;
69
69
 
70
70
  export type HashFn = (bytes: Uint8Array) => string;
71
71
 
72
- export type FileURLToPathFn = (location: string | URL) => string;
72
+ export type FileURLToPathFn = typeof import('node:url').fileURLToPath;
73
73
 
74
- export type PathToFileURLFn = (location: string) => URL;
74
+ export type PathToFileURLFn = typeof import('node:url').pathToFileURL;
75
75
 
76
76
  export type RequireResolveFn = (
77
77
  fromLocation: string,