@ms-cloudpack/package-utilities 0.6.0 → 0.8.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 (46) hide show
  1. package/CHANGELOG.json +52 -1
  2. package/CHANGELOG.md +30 -2
  3. package/README.md +3 -0
  4. package/lib/cleanEntry.d.ts +1 -0
  5. package/lib/cleanEntry.js +11 -0
  6. package/lib/cleanEntry.js.map +1 -0
  7. package/lib/createImportMap.js +19 -22
  8. package/lib/createImportMap.js.map +1 -1
  9. package/lib/createImportMap.test.js +8 -1
  10. package/lib/createImportMap.test.js.map +1 -1
  11. package/lib/evaluateImportsFromEntries.js +0 -3
  12. package/lib/evaluateImportsFromEntries.js.map +1 -1
  13. package/lib/evaluateImportsFromEntries.test.js +30 -1
  14. package/lib/evaluateImportsFromEntries.test.js.map +1 -1
  15. package/lib/getExportPathFromEntry.js +1 -1
  16. package/lib/getExportPathFromEntry.js.map +1 -1
  17. package/lib/getExportPathFromEntry.test.js +7 -0
  18. package/lib/getExportPathFromEntry.test.js.map +1 -1
  19. package/lib/getExportsMap.d.ts +5 -0
  20. package/lib/getExportsMap.js +75 -0
  21. package/lib/getExportsMap.js.map +1 -0
  22. package/lib/{getInstalledPackages.test.d.ts → getExportsMap.test.d.ts} +0 -0
  23. package/lib/getExportsMap.test.js +259 -0
  24. package/lib/getExportsMap.test.js.map +1 -0
  25. package/lib/index.d.ts +2 -2
  26. package/lib/index.js.map +1 -1
  27. package/lib/resolve.d.ts +6 -0
  28. package/lib/resolve.js +6 -0
  29. package/lib/resolve.js.map +1 -1
  30. package/lib/resolve.test.js +1 -1
  31. package/lib/resolveImportFromPackagePath.js +0 -1
  32. package/lib/resolveImportFromPackagePath.js.map +1 -1
  33. package/lib/resolvePackageEntries.js +14 -17
  34. package/lib/resolvePackageEntries.js.map +1 -1
  35. package/lib/resolvePackageEntries.test.js +12 -0
  36. package/lib/resolvePackageEntries.test.js.map +1 -1
  37. package/lib/testPaths.d.ts +1 -0
  38. package/lib/testPaths.js +1 -0
  39. package/lib/testPaths.js.map +1 -1
  40. package/lib/tsdoc-metadata.json +1 -1
  41. package/package.json +2 -2
  42. package/lib/getInstalledPackages.d.ts +0 -44
  43. package/lib/getInstalledPackages.js +0 -85
  44. package/lib/getInstalledPackages.js.map +0 -1
  45. package/lib/getInstalledPackages.test.js +0 -14
  46. package/lib/getInstalledPackages.test.js.map +0 -1
package/CHANGELOG.json CHANGED
@@ -2,7 +2,58 @@
2
2
  "name": "@ms-cloudpack/package-utilities",
3
3
  "entries": [
4
4
  {
5
- "date": "Fri, 05 Aug 2022 08:12:06 GMT",
5
+ "date": "Wed, 24 Aug 2022 08:14:22 GMT",
6
+ "tag": "@ms-cloudpack/package-utilities_v0.8.0",
7
+ "version": "0.8.0",
8
+ "comments": {
9
+ "minor": [
10
+ {
11
+ "author": "dzearing@microsoft.com",
12
+ "package": "@ms-cloudpack/package-utilities",
13
+ "commit": "3ba31149f7ca723c11f75bca3cc036e93887cd25",
14
+ "comment": "Adding getExportsMap utility plus tests to update how importMaps are generated. Integrated into the workflow."
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@ms-cloudpack/package-utilities",
19
+ "comment": "Bump @ms-cloudpack/package-overrides to v0.1.0",
20
+ "commit": "3ba31149f7ca723c11f75bca3cc036e93887cd25"
21
+ }
22
+ ]
23
+ }
24
+ },
25
+ {
26
+ "date": "Tue, 16 Aug 2022 08:12:03 GMT",
27
+ "tag": "@ms-cloudpack/package-utilities_v0.7.0",
28
+ "version": "0.7.0",
29
+ "comments": {
30
+ "minor": [
31
+ {
32
+ "author": "dzearing@microsoft.com",
33
+ "package": "@ms-cloudpack/package-utilities",
34
+ "commit": "2187bf0fedddd542358718315866fcb6255cfcf2",
35
+ "comment": "Removing unused code."
36
+ }
37
+ ]
38
+ }
39
+ },
40
+ {
41
+ "date": "Fri, 12 Aug 2022 08:12:39 GMT",
42
+ "tag": "@ms-cloudpack/package-utilities_v0.6.1",
43
+ "version": "0.6.1",
44
+ "comments": {
45
+ "patch": [
46
+ {
47
+ "author": "dzearing@microsoft.com",
48
+ "package": "@ms-cloudpack/package-utilities",
49
+ "commit": "06b0e23a9cff634baf090a7310f9af625ca3922e",
50
+ "comment": "* evaluateImportsFromEntries: removing console logging\n* getExportPathFromEntry: adding \"module\" to the default list of conditions to use when deriving entry paths.\n* resolveImportFromPackagePath: removing console logging\n* resolvePackageEntries: if the browser entry is a string, resolve that over main or module."
51
+ }
52
+ ]
53
+ }
54
+ },
55
+ {
56
+ "date": "Fri, 05 Aug 2022 08:12:21 GMT",
6
57
  "tag": "@ms-cloudpack/package-utilities_v0.6.0",
7
58
  "version": "0.6.0",
8
59
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,40 @@
1
1
  # Change Log - @ms-cloudpack/package-utilities
2
2
 
3
- This log was last generated on Fri, 05 Aug 2022 08:12:06 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 24 Aug 2022 08:14:22 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.8.0
8
+
9
+ Wed, 24 Aug 2022 08:14:22 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - Adding getExportsMap utility plus tests to update how importMaps are generated. Integrated into the workflow. (dzearing@microsoft.com)
14
+ - Bump @ms-cloudpack/package-overrides to v0.1.0
15
+
16
+ ## 0.7.0
17
+
18
+ Tue, 16 Aug 2022 08:12:03 GMT
19
+
20
+ ### Minor changes
21
+
22
+ - Removing unused code. (dzearing@microsoft.com)
23
+
24
+ ## 0.6.1
25
+
26
+ Fri, 12 Aug 2022 08:12:39 GMT
27
+
28
+ ### Patches
29
+
30
+ - * evaluateImportsFromEntries: removing console logging
31
+ * getExportPathFromEntry: adding "module" to the default list of conditions to use when deriving entry paths.
32
+ * resolveImportFromPackagePath: removing console logging
33
+ * resolvePackageEntries: if the browser entry is a string, resolve that over main or module. (dzearing@microsoft.com)
34
+
7
35
  ## 0.6.0
8
36
 
9
- Fri, 05 Aug 2022 08:12:06 GMT
37
+ Fri, 05 Aug 2022 08:12:21 GMT
10
38
 
11
39
  ### Minor changes
12
40
 
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # @ms-cloudpack/package-utilities
2
+
3
+ Provides utilities for reading package definitions and extracting information from them, such as resolve maps and import maps.
@@ -0,0 +1 @@
1
+ export declare function cleanEntry(entryName: string): string;
@@ -0,0 +1,11 @@
1
+ import path from 'path';
2
+ export function cleanEntry(entryName) {
3
+ if (path.extname(entryName) === '') {
4
+ entryName += '.js';
5
+ }
6
+ if (!entryName.startsWith('./')) {
7
+ entryName = `./${entryName}`;
8
+ }
9
+ return entryName;
10
+ }
11
+ //# sourceMappingURL=cleanEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanEntry.js","sourceRoot":"","sources":["../src/cleanEntry.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE;QAClC,SAAS,IAAI,KAAK,CAAC;KACpB;IAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC/B,SAAS,GAAG,KAAK,SAAS,EAAE,CAAC;KAC9B;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,9 +1,10 @@
1
- import path from 'path';
2
- import { slash } from '@ms-cloudpack/path-utilities';
3
1
  import { getPackageDefinition } from './getPackageDefinition.js';
4
- import { getExportPathFromEntry } from './getExportPathFromEntry.js';
5
2
  import { merge } from 'merge';
3
+ import { getExportsMap } from './getExportsMap.js';
4
+ import fs from 'fs';
5
+ import path from 'path';
6
6
  export async function createImportMap(resolveMap, bundleServerUrl, packageDefinitions) {
7
+ var _a, _b;
7
8
  const importMap = {
8
9
  imports: {},
9
10
  };
@@ -13,12 +14,10 @@ export async function createImportMap(resolveMap, bundleServerUrl, packageDefini
13
14
  // Initialize scopes
14
15
  importMap.scopes ?? (importMap.scopes = {});
15
16
  for (const scopedEntry of Object.values(resolveEntry.scopedVersions)) {
17
+ const importMapForEntry = await getImportMapFromEntry(scopedEntry, bundleServerUrl, packageDefinitions);
16
18
  for (const requiredById of Object.keys(scopedEntry.requiredBy)) {
17
- const requiredByUrl = `${bundleServerUrl}/${requiredById}/`;
18
- importMap.scopes[requiredByUrl] = {
19
- ...importMap.scopes[requiredByUrl],
20
- ...(await getImportMapFromEntry(scopedEntry, bundleServerUrl, packageDefinitions)),
21
- };
19
+ const scopes = ((_a = importMap.scopes)[_b = `${bundleServerUrl}/${requiredById}/`] ?? (_a[_b] = {}));
20
+ merge(scopes, importMapForEntry);
22
21
  }
23
22
  }
24
23
  }
@@ -28,23 +27,21 @@ export async function createImportMap(resolveMap, bundleServerUrl, packageDefini
28
27
  async function getImportMapFromEntry(entry, bundleServerUrl, packageDefinitions) {
29
28
  const importMap = {};
30
29
  const definition = packageDefinitions?.[entry.path] || (await getPackageDefinition(entry.path, true));
31
- if (definition) {
32
- const { name = '' } = definition;
33
- const baseUrl = `${bundleServerUrl}/${definition.name}@${definition.version}/`;
34
- if (definition.exports) {
35
- for (const [exportKey, exportEntry] of Object.entries(definition.exports)) {
36
- const importAlias = slash(path.join(name, exportKey));
37
- if (!importMap[importAlias]) {
38
- const exportPath = getExportPathFromEntry(exportEntry);
39
- if (exportPath) {
40
- importMap[importAlias] = new URL(exportPath, baseUrl).href;
41
- }
42
- }
30
+ // Only add packages wtih names that aren't typings packages.
31
+ if (definition?.name && !definition.name.startsWith('@types/')) {
32
+ const exportsMap = getExportsMap(definition);
33
+ if (Object.keys(exportsMap).length === 0) {
34
+ // Best effort exports map.
35
+ if (fs.existsSync(path.join(entry.path, 'index.js'))) {
36
+ exportsMap['.'] = './index.js';
43
37
  }
44
38
  }
45
- else {
46
- importMap[name] = new URL(definition.module || definition.main || 'index.js', baseUrl).href;
39
+ const packagePrefix = `${definition.name}@${definition.version}/`;
40
+ const baseUrl = `${bundleServerUrl}/${packagePrefix}`;
41
+ for (const [exportName, exportPath] of Object.entries(exportsMap)) {
42
+ importMap[exportName.replace('.', definition.name)] = new URL(exportPath, baseUrl).href;
47
43
  }
44
+ importMap[definition.name + '/'] = baseUrl;
48
45
  }
49
46
  return importMap;
50
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createImportMap.js","sourceRoot":"","sources":["../src/createImportMap.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAQ9B,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAsB,EACtB,eAAuB,EACvB,kBAAgD;IAEhD,MAAM,SAAS,GAAc;QAC3B,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACpD,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,qBAAqB,CAAC,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAEzG,IAAI,YAAY,CAAC,cAAc,EAAE;YAC/B,oBAAoB;YACpB,SAAS,CAAC,MAAM,KAAhB,SAAS,CAAC,MAAM,GAAK,EAAE,EAAC;YAExB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;gBACpE,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE;oBAC9D,MAAM,aAAa,GAAG,GAAG,eAAe,IAAI,YAAY,GAAG,CAAC;oBAE5D,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG;wBAChC,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;wBAClC,GAAG,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;qBACnF,CAAC;iBACH;aACF;SACF;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,KAAsB,EACtB,eAAuB,EACvB,kBAAgD;IAEhD,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEtG,IAAI,UAAU,EAAE;QACd,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC;QACjC,MAAM,OAAO,GAAG,GAAG,eAAe,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC;QAE/E,IAAI,UAAU,CAAC,OAAO,EAAE;YACtB,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;gBACzE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAEtD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;oBAC3B,MAAM,UAAU,GAAuB,sBAAsB,CAAC,WAAW,CAAC,CAAC;oBAE3E,IAAI,UAAU,EAAE;wBACd,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;qBAC5D;iBACF;aACF;SACF;aAAM;YACL,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;SAC7F;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"createImportMap.js","sourceRoot":"","sources":["../src/createImportMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAOxB,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAsB,EACtB,eAAuB,EACvB,kBAAgD;;IAEhD,MAAM,SAAS,GAAc;QAC3B,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACpD,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,qBAAqB,CAAC,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAEzG,IAAI,YAAY,CAAC,cAAc,EAAE;YAC/B,oBAAoB;YACpB,SAAS,CAAC,MAAM,KAAhB,SAAS,CAAC,MAAM,GAAK,EAAE,EAAC;YAExB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;gBACpE,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;gBAExG,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE;oBAC9D,MAAM,MAAM,GAAG,OAAC,SAAS,CAAC,MAAM,OAAC,GAAG,eAAe,IAAI,YAAY,GAAG,eAAM,EAAE,EAAC,CAAC;oBAChF,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;iBAClC;aACF;SACF;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,KAAsB,EACtB,eAAuB,EACvB,kBAAgD;IAEhD,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEtG,6DAA6D;IAC7D,IAAI,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QAC9D,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,2BAA2B;YAE3B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE;gBACpD,UAAU,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;aAChC;SACF;QACD,MAAM,aAAa,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC;QAClE,MAAM,OAAO,GAAG,GAAG,eAAe,IAAI,aAAa,EAAE,CAAC;QAEtD,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACjE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;SACzF;QAED,SAAS,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC;KAC5C;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -15,7 +15,7 @@ describe('createImportMap', () => {
15
15
  expect(await createImportMap(resolveMap, bundleServerUrl, packages)).toMatchInlineSnapshot(`
16
16
  Object {
17
17
  "imports": Object {
18
- "a": "http://localhost:12345/a@1.0.0/index.js",
18
+ "a/": "http://localhost:12345/a@1.0.0/",
19
19
  },
20
20
  }
21
21
  `);
@@ -35,6 +35,7 @@ describe('createImportMap', () => {
35
35
  Object {
36
36
  "imports": Object {
37
37
  "a": "http://localhost:12345/a@1.0.0/foo/main.js",
38
+ "a/": "http://localhost:12345/a@1.0.0/",
38
39
  },
39
40
  }
40
41
  `);
@@ -54,6 +55,7 @@ describe('createImportMap', () => {
54
55
  Object {
55
56
  "imports": Object {
56
57
  "a": "http://localhost:12345/a@1.0.0/foo/module.js",
58
+ "a/": "http://localhost:12345/a@1.0.0/",
57
59
  },
58
60
  }
59
61
  `);
@@ -74,6 +76,7 @@ describe('createImportMap', () => {
74
76
  Object {
75
77
  "imports": Object {
76
78
  "a": "http://localhost:12345/a@1.0.0/foo/module.js",
79
+ "a/": "http://localhost:12345/a@1.0.0/",
77
80
  },
78
81
  }
79
82
  `);
@@ -95,6 +98,7 @@ describe('createImportMap', () => {
95
98
  Object {
96
99
  "imports": Object {
97
100
  "a": "http://localhost:12345/a@1.0.0/foo/string.js",
101
+ "a/": "http://localhost:12345/a@1.0.0/",
98
102
  },
99
103
  }
100
104
  `);
@@ -116,6 +120,7 @@ describe('createImportMap', () => {
116
120
  Object {
117
121
  "imports": Object {
118
122
  "a": "http://localhost:12345/a@1.0.0/foo/default.js",
123
+ "a/": "http://localhost:12345/a@1.0.0/",
119
124
  },
120
125
  }
121
126
  `);
@@ -140,6 +145,7 @@ describe('createImportMap', () => {
140
145
  Object {
141
146
  "imports": Object {
142
147
  "a": "http://localhost:12345/a@1.0.0/foo/import.js",
148
+ "a/": "http://localhost:12345/a@1.0.0/",
143
149
  },
144
150
  }
145
151
  `);
@@ -167,6 +173,7 @@ describe('createImportMap', () => {
167
173
  Object {
168
174
  "imports": Object {
169
175
  "a": "http://localhost:12345/a@1.0.0/foo/import.js",
176
+ "a/": "http://localhost:12345/a@1.0.0/",
170
177
  "a/lib/Button": "http://localhost:12345/a@1.0.0/lib/Button.js",
171
178
  },
172
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createImportMap.test.js","sourceRoot":"","sources":["../src/createImportMap.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createImportMap.test.js","sourceRoot":"","sources":["../src/createImportMap.test.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,6 @@ export async function evaluateImportsFromEntries(entries, resolveMap, allExports
43
43
  // Skip entry file paths we've already visited.
44
44
  while (entriesToEvaluate.length) {
45
45
  const entry = entriesToEvaluate.shift();
46
- console.log(`${entriesToEvaluate.length}: Adding ${entry}`);
47
46
  if (visitedPaths.has(entry)) {
48
47
  continue;
49
48
  }
@@ -145,14 +144,12 @@ export async function evaluateImportsFromEntries(entries, resolveMap, allExports
145
144
  // Not a package. Traverse source if needed.
146
145
  const relativeSourcePath = resolveSource(path.resolve(path.dirname(entry), importValue));
147
146
  if (relativeSourcePath) {
148
- // console.log(`Adding ${relativeSourcePath}, "${importValue}"`);
149
147
  addEntry(relativeSourcePath);
150
148
  }
151
149
  }
152
150
  }
153
151
  }
154
152
  }
155
- console.log(stats);
156
153
  return { exports: allExports, stats };
157
154
  }
158
155
  //# sourceMappingURL=evaluateImportsFromEntries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluateImportsFromEntries.js","sourceRoot":"","sources":["../src/evaluateImportsFromEntries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluateImportsFromEntries.js","sourceRoot":"","sources":["../src/evaluateImportsFromEntries.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,36 @@ import { evaluateImportsFromEntries } from './evaluateImportsFromEntries.js';
3
3
  import { testProject1Path } from '../src/testPaths.js';
4
4
  describe('evaluateImportsFromEntries', () => {
5
5
  it('can evaluate exports map', async () => {
6
- expect(await evaluateImportsFromEntries([path.join(testProject1Path, 'src/index.ts')])).toMatchSnapshot();
6
+ expect(await evaluateImportsFromEntries([path.join(testProject1Path, 'src/index.ts')])).toMatchInlineSnapshot(`
7
+ Object {
8
+ "exports": Object {
9
+ "b": Object {
10
+ "1.0.0": Object {
11
+ ".": Object {
12
+ "count": 1,
13
+ "import": "./index.js",
14
+ },
15
+ "./subpath": Object {
16
+ "count": 1,
17
+ "import": "./subpath.js",
18
+ },
19
+ "./subpath2": Object {
20
+ "count": 1,
21
+ "import": "./subpath2.js",
22
+ },
23
+ },
24
+ },
25
+ },
26
+ "stats": Object {
27
+ "parseErrors": Array [],
28
+ "parsedSourceFiles": 6,
29
+ "uniqueImports": 3,
30
+ "uniquePackages": 1,
31
+ "unresolvedPackageImports": Array [],
32
+ "unresolvedPackages": Array [],
33
+ },
34
+ }
35
+ `);
7
36
  });
8
37
  });
9
38
  //# sourceMappingURL=evaluateImportsFromEntries.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluateImportsFromEntries.test.js","sourceRoot":"","sources":["../src/evaluateImportsFromEntries.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,CAAC,MAAM,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IAC5G,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"evaluateImportsFromEntries.test.js","sourceRoot":"","sources":["../src/evaluateImportsFromEntries.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,CAAC,MAAM,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6B7G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Given an export map entry, return the esm entry string value. (Parses arrays, maps, has a fallback system.)
3
3
  */
4
- export function getExportPathFromEntry(exportEntry, importPath = '.', conditions = ['browser', 'import', 'default']) {
4
+ export function getExportPathFromEntry(exportEntry, importPath = '.', conditions = ['browser', 'import', 'module', 'default']) {
5
5
  let exportPath = undefined;
6
6
  if (exportEntry) {
7
7
  if (typeof exportEntry === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"getExportPathFromEntry.js","sourceRoot":"","sources":["../src/getExportPathFromEntry.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmC,EACnC,UAAU,GAAG,GAAG,EAChB,UAAU,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;IAE7C,IAAI,UAAU,GAAG,SAAS,CAAC;IAE3B,IAAI,WAAW,EAAE;QACf,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,OAAO,WAAW,CAAC;SACpB;aAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC9B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;oBAC9B,UAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;oBAClE,IAAI,UAAU,EAAE;wBACd,OAAO,UAAU,CAAC;qBACnB;iBACF;aACF;iBAAM;gBACL,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;oBACtD,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,UAAU,EAAE;wBAClD,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;wBACnE,IAAI,UAAU,EAAE;4BACd,OAAO,UAAU,CAAC;yBACnB;qBACF;iBACF;aACF;SACF;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"getExportPathFromEntry.js","sourceRoot":"","sources":["../src/getExportPathFromEntry.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmC,EACnC,UAAU,GAAG,GAAG,EAChB,UAAU,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;IAEvD,IAAI,UAAU,GAAG,SAAS,CAAC;IAE3B,IAAI,WAAW,EAAE;QACf,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,OAAO,WAAW,CAAC;SACpB;aAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC9B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;oBAC9B,UAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;oBAClE,IAAI,UAAU,EAAE;wBACd,OAAO,UAAU,CAAC;qBACnB;iBACF;aACF;iBAAM;gBACL,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;oBACtD,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,UAAU,EAAE;wBAClD,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;wBACnE,IAAI,UAAU,EAAE;4BACd,OAAO,UAAU,CAAC;yBACnB;qBACF;iBACF;aACF;SACF;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -11,6 +11,13 @@ describe('getExportPathFromEntry', () => {
11
11
  require: 'require',
12
12
  })).toEqual('browser');
13
13
  });
14
+ it('prioritizes module over others', () => {
15
+ expect(getExportPathFromEntry({
16
+ module: 'module',
17
+ default: 'default',
18
+ require: 'require',
19
+ })).toEqual('module');
20
+ });
14
21
  it('falls back to import path if browser is missing', () => {
15
22
  expect(getExportPathFromEntry({
16
23
  import: 'import',
@@ -1 +1 @@
1
- {"version":3,"file":"getExportPathFromEntry.test.js","sourceRoot":"","sources":["../src/getExportPathFromEntry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CACJ,sBAAsB,CAAC;YACrB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;SACnB,CAAC,CACH,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CACJ,sBAAsB,CAAC;YACrB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;SACnB,CAAC,CACH,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CACJ,sBAAsB,CAAC;YACrB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;SACnB,CAAC,CACH,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CACJ,sBAAsB,CACpB;YACE,GAAG,EAAE;gBACH,MAAM,EAAE,gBAAgB;aACzB;YACD,OAAO,EAAE;gBACP,MAAM,EAAE,cAAc;aACvB;SACF,EACD,OAAO,CACR,CACF,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"getExportPathFromEntry.test.js","sourceRoot":"","sources":["../src/getExportPathFromEntry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CACJ,sBAAsB,CAAC;YACrB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;SACnB,CAAC,CACH,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CACJ,sBAAsB,CAAC;YACrB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;SACnB,CAAC,CACH,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CACJ,sBAAsB,CAAC;YACrB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;SACnB,CAAC,CACH,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CACJ,sBAAsB,CAAC;YACrB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;SACnB,CAAC,CACH,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CACJ,sBAAsB,CACpB;YACE,GAAG,EAAE;gBACH,MAAM,EAAE,gBAAgB;aACzB;YACD,OAAO,EAAE;gBACP,MAAM,EAAE,cAAc;aACvB;SACF,EACD,OAAO,CACR,CACF,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { PackageJson } from 'type-fest';
2
+ /**
3
+ * Given a package definition and applicable conditions, return a flat map of package import to physical (relative) path.
4
+ */
5
+ export declare function getExportsMap(definition: PackageJson, conditions?: string[]): Record<string, string>;
@@ -0,0 +1,75 @@
1
+ import path from 'path';
2
+ import { cleanEntry } from './cleanEntry.js';
3
+ /**
4
+ * Given a package definition and applicable conditions, return a flat map of package import to physical (relative) path.
5
+ */
6
+ export function getExportsMap(definition, conditions = ['browser', 'import', 'module', 'default']) {
7
+ const exportsMap = {};
8
+ if (typeof definition.browser === 'string') {
9
+ exportsMap['.'] = cleanEntry(definition.browser);
10
+ }
11
+ extractExports(definition.exports, conditions, exportsMap);
12
+ // if we haven't found a default export, fall back to module or main
13
+ if (!exportsMap['.']) {
14
+ if (typeof definition.module === 'string') {
15
+ addExportsEntry(exportsMap, '.', definition.module);
16
+ }
17
+ else if (typeof definition.main === 'string') {
18
+ addExportsEntry(exportsMap, '.', definition.main);
19
+ }
20
+ }
21
+ // At this point we should consider browser overrides.
22
+ if (definition.browser && typeof definition.browser === 'object') {
23
+ for (const [fromPath, toPath] of Object.entries(definition.browser)) {
24
+ // NOTE: I'm not sure this is entirely correct; browser overrides should be replacing the keys we've already
25
+ // extracted from exports. But certain packages like uuid@3.4 don't have exports map but do have browser overrides.
26
+ // In this case, the expected behavior is that the consumer deeply imports a file path like "uuid/lib/md5" which would
27
+ // be translated to the browser flavor via the remapping.
28
+ if (toPath) {
29
+ exportsMap[fromPath] = cleanEntry(toPath);
30
+ }
31
+ }
32
+ }
33
+ return exportsMap;
34
+ }
35
+ function extractExports(exports, conditions, exportsMap = {}, importMatch = '.') {
36
+ if (exports) {
37
+ if (typeof exports === 'string') {
38
+ addExportsEntry(exportsMap, importMatch, exports);
39
+ }
40
+ else if (typeof exports === 'object') {
41
+ if (Array.isArray(exports)) {
42
+ for (const exportEntry of exports) {
43
+ extractExports(exportEntry, conditions, exportsMap, importMatch);
44
+ }
45
+ }
46
+ else {
47
+ for (const [key, value] of Object.entries(exports)) {
48
+ if (key.startsWith('.')) {
49
+ importMatch = key;
50
+ }
51
+ else if (!conditions.includes(key)) {
52
+ continue;
53
+ }
54
+ if (typeof value === 'string') {
55
+ if (!exportsMap[importMatch]) {
56
+ addExportsEntry(exportsMap, importMatch, value);
57
+ }
58
+ }
59
+ else {
60
+ extractExports(value, conditions, exportsMap, importMatch);
61
+ }
62
+ }
63
+ }
64
+ }
65
+ }
66
+ return exportsMap;
67
+ }
68
+ function addExportsEntry(exportsMap, key, value) {
69
+ const basename = path.basename(value);
70
+ const isFilename = basename !== '' && basename !== '.' && !value.endsWith('/');
71
+ if (!exportsMap[key] && isFilename && key.indexOf('*') === -1 && !key.endsWith('/') && value.indexOf('*') === -1) {
72
+ exportsMap[key] = cleanEntry(value);
73
+ }
74
+ }
75
+ //# sourceMappingURL=getExportsMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExportsMap.js","sourceRoot":"","sources":["../src/getExportsMap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,259 @@
1
+ import { getExportsMap } from './getExportsMap.js';
2
+ describe('getExportsMap', () => {
3
+ it('can translate a package with no entries', async () => {
4
+ expect(getExportsMap({
5
+ name: 'a',
6
+ })).toMatchInlineSnapshot(`Object {}`);
7
+ });
8
+ it('can translate a package with an export map', async () => {
9
+ expect(getExportsMap({
10
+ name: 'a',
11
+ exports: {
12
+ '.': './foo.js',
13
+ },
14
+ })).toMatchInlineSnapshot(`
15
+ Object {
16
+ ".": "./foo.js",
17
+ }
18
+ `);
19
+ });
20
+ it('can translate an exports map with an import', async () => {
21
+ expect(getExportsMap({
22
+ name: 'a',
23
+ exports: {
24
+ '.': {
25
+ import: './foo.js',
26
+ },
27
+ },
28
+ })).toMatchInlineSnapshot(`
29
+ Object {
30
+ ".": "./foo.js",
31
+ }
32
+ `);
33
+ });
34
+ it('can translate an exports map with an import', async () => {
35
+ expect(getExportsMap({
36
+ name: 'a',
37
+ exports: {
38
+ import: {
39
+ '.': './foo.js',
40
+ },
41
+ },
42
+ })).toMatchInlineSnapshot(`
43
+ Object {
44
+ ".": "./foo.js",
45
+ }
46
+ `);
47
+ });
48
+ it('can return an empty map with no matching conditions', async () => {
49
+ expect(getExportsMap({
50
+ name: 'a',
51
+ exports: {
52
+ notmatched: {
53
+ '.': './foo.js',
54
+ },
55
+ },
56
+ })).toMatchInlineSnapshot(`Object {}`);
57
+ });
58
+ it('can prefer browser over import', async () => {
59
+ expect(getExportsMap({
60
+ name: 'a',
61
+ exports: {
62
+ '.': {
63
+ browser: './browser.js',
64
+ import: './import.js',
65
+ default: './default.js',
66
+ },
67
+ },
68
+ })).toMatchInlineSnapshot(`
69
+ Object {
70
+ ".": "./browser.js",
71
+ }
72
+ `);
73
+ });
74
+ it('return multiple matches', async () => {
75
+ expect(getExportsMap({
76
+ name: 'a',
77
+ exports: {
78
+ '.': {
79
+ browser: './browser.js',
80
+ import: './import.js',
81
+ default: './default.js',
82
+ },
83
+ './foo': {
84
+ import: './foo.import.js',
85
+ default: './foo.default.js',
86
+ },
87
+ './bar': {
88
+ default: './bar.default.js',
89
+ },
90
+ },
91
+ })).toMatchInlineSnapshot(`
92
+ Object {
93
+ ".": "./browser.js",
94
+ "./bar": "./bar.default.js",
95
+ "./foo": "./foo.import.js",
96
+ }
97
+ `);
98
+ });
99
+ it(`can short circuit traversal when a match is found`, () => {
100
+ expect(getExportsMap({
101
+ name: 'a',
102
+ exports: {
103
+ '.': {
104
+ browser: {
105
+ default: './browser.js',
106
+ },
107
+ import: {
108
+ default: './import.js',
109
+ },
110
+ },
111
+ },
112
+ })).toMatchInlineSnapshot(`
113
+ Object {
114
+ ".": "./browser.js",
115
+ }
116
+ `);
117
+ });
118
+ it(`can handle an exports string`, () => {
119
+ expect(getExportsMap({
120
+ name: 'a',
121
+ exports: './foo.js',
122
+ })).toMatchInlineSnapshot(`
123
+ Object {
124
+ ".": "./foo.js",
125
+ }
126
+ `);
127
+ });
128
+ it(`can prefer the browser entry over the default entry of the exports map`, () => {
129
+ expect(getExportsMap({
130
+ name: 'a',
131
+ browser: './browser.js',
132
+ exports: {
133
+ '.': {
134
+ import: './default.js',
135
+ require: './require.js',
136
+ },
137
+ },
138
+ })).toMatchInlineSnapshot(`
139
+ Object {
140
+ ".": "./browser.js",
141
+ }
142
+ `);
143
+ });
144
+ it(`can leverage the module entry if the default entry is not found`, () => {
145
+ expect(getExportsMap({
146
+ name: 'a',
147
+ module: './module.js',
148
+ })).toMatchInlineSnapshot(`
149
+ Object {
150
+ ".": "./module.js",
151
+ }
152
+ `);
153
+ });
154
+ it(`can leverage the main entry if the default entry is not found`, () => {
155
+ expect(getExportsMap({
156
+ name: 'a',
157
+ main: './main.js',
158
+ })).toMatchInlineSnapshot(`
159
+ Object {
160
+ ".": "./main.js",
161
+ }
162
+ `);
163
+ });
164
+ it(`can fill in extensions when they're missing`, () => {
165
+ expect(getExportsMap({
166
+ name: 'a',
167
+ main: 'index',
168
+ })).toMatchInlineSnapshot(`
169
+ Object {
170
+ ".": "./index.js",
171
+ }
172
+ `);
173
+ });
174
+ it(`can get only sass entries`, () => {
175
+ expect(getExportsMap({
176
+ name: 'a',
177
+ exports: {
178
+ '.': {
179
+ import: './index.js',
180
+ },
181
+ './sass/references': {
182
+ sass: './sass/references.scss',
183
+ },
184
+ },
185
+ }, ['sass'])).toMatchInlineSnapshot(`
186
+ Object {
187
+ "./sass/references": "./sass/references.scss",
188
+ }
189
+ `);
190
+ });
191
+ it(`can ignore non-valid filenames`, () => {
192
+ expect(getExportsMap({
193
+ name: 'tslib',
194
+ exports: {
195
+ '.': {
196
+ module: './tslib.es6.js',
197
+ import: './modules/index.js',
198
+ default: './tslib.js',
199
+ },
200
+ './': './',
201
+ },
202
+ })).toMatchInlineSnapshot(`
203
+ Object {
204
+ ".": "./tslib.es6.js",
205
+ }
206
+ `);
207
+ });
208
+ it(`can ignore invalid filenames`, () => {
209
+ expect(getExportsMap({
210
+ name: 'tslib',
211
+ main: 'foo/',
212
+ })).toMatchInlineSnapshot(`Object {}`);
213
+ });
214
+ it(`can ignore wildcards in exports`, () => {
215
+ expect(getExportsMap({
216
+ name: 'foo',
217
+ exports: {
218
+ './foo/': './foo/',
219
+ },
220
+ })).toMatchInlineSnapshot(`Object {}`);
221
+ });
222
+ it(`can find exports from browser-only packages like uuid@3.4.0`, () => {
223
+ expect(getExportsMap({
224
+ name: 'uuid',
225
+ browser: {
226
+ './lib/rng.js': './lib/rng-browser.js',
227
+ './lib/sha1.js': './lib/sha1-browser.js',
228
+ './lib/md5.js': './lib/md5-browser.js',
229
+ },
230
+ })).toMatchInlineSnapshot(`
231
+ Object {
232
+ "./lib/md5.js": "./lib/md5-browser.js",
233
+ "./lib/rng.js": "./lib/rng-browser.js",
234
+ "./lib/sha1.js": "./lib/sha1-browser.js",
235
+ }
236
+ `);
237
+ });
238
+ // We found this case with @babel/runtime@7.18.9:
239
+ it(`can deal with arrays as values in the exports map`, () => {
240
+ expect(getExportsMap({
241
+ name: '@babel/runtime',
242
+ exports: {
243
+ './helpers/extends': [
244
+ {
245
+ node: './helpers/extends.js',
246
+ import: './helpers/esm/extends.js',
247
+ default: './helpers/extends.js',
248
+ },
249
+ './helpers/extends.js',
250
+ ],
251
+ },
252
+ })).toMatchInlineSnapshot(`
253
+ Object {
254
+ "./helpers/extends": "./helpers/esm/extends.js",
255
+ }
256
+ `);
257
+ });
258
+ });
259
+ //# sourceMappingURL=getExportsMap.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExportsMap.test.js","sourceRoot":"","sources":["../src/getExportsMap.test.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- export { createResolveMap, type ResolveMapEntry, type ResolveMap } from './createResolveMap.js';
2
- export { type InstalledPackagesResult } from './getInstalledPackages.js';
1
+ export { createResolveMap } from './createResolveMap.js';
3
2
  export { evaluateImportsFromEntries } from './evaluateImportsFromEntries.js';
4
3
  export { getPackageDefinition } from './getPackageDefinition.js';
5
4
  export { resolve } from './resolve.js';
@@ -8,3 +7,4 @@ export { detectModuleType, type ModuleType } from './detectModuleType.js';
8
7
  export { resolvePackageEntries } from './resolvePackageEntries.js';
9
8
  export { isExternalPackage } from './isExternalPackage.js';
10
9
  export { createImportMap, type ImportMap } from './createImportMap.js';
10
+ export type { ResolveMapEntry, ResolveMap } from './createResolveMap.js';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyC,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAE7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAE7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC"}
package/lib/resolve.d.ts CHANGED
@@ -1 +1,7 @@
1
+ /**
2
+ * Resolves a package path given the parent path.
3
+ * @param packageName - The package name.
4
+ * @param parentPath - The parent path.
5
+ * @returns The resolved absolute package path.
6
+ */
1
7
  export declare function resolve(packageName: string, parentPath: string): Promise<string | undefined>;
package/lib/resolve.js CHANGED
@@ -1,5 +1,11 @@
1
1
  import path from 'path';
2
2
  import resolvePackage from 'resolve';
3
+ /**
4
+ * Resolves a package path given the parent path.
5
+ * @param packageName - The package name.
6
+ * @param parentPath - The parent path.
7
+ * @returns The resolved absolute package path.
8
+ */
3
9
  export async function resolve(packageName, parentPath) {
4
10
  const packageRootImport = path.join(packageName, 'package.json');
5
11
  return new Promise((success) => {
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,cAAc,MAAM,SAAS,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,WAAmB,EAAE,UAAkB;IACnE,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAEjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI;YACF,cAAc,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;gBACxG,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;oBACxB,OAAO,CAAC,SAAS,CAAC,CAAC;iBACpB;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;iBACrC;YACH,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,SAAS,CAAC,CAAC;SACpB;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,cAAc,MAAM,SAAS,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,WAAmB,EAAE,UAAkB;IACnE,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAEjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI;YACF,cAAc,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;gBACxG,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;oBACxB,OAAO,CAAC,SAAS,CAAC,CAAC;iBACpB;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;iBACrC;YACH,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,SAAS,CAAC,CAAC;SACpB;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -5,7 +5,7 @@ describe('resolve', () => {
5
5
  it('finds an installed path to a package', async () => {
6
6
  expect(await resolve('@ms-cloudpack/path-utilities', currentPath)).toContain('path-utilities');
7
7
  });
8
- it('returns undefined for unfound packages', async () => {
8
+ it('returns undefined for missing packages', async () => {
9
9
  expect(await resolve('@ms-cloudpack/does-not-exist', currentPath)).toBeUndefined();
10
10
  });
11
11
  });
@@ -10,7 +10,6 @@ import { isExternalPackage } from './isExternalPackage.js';
10
10
  export async function resolveImportFromPackagePath(packagePath, requestedPath, options = {}) {
11
11
  const packageDefinition = await getPackageDefinition(packagePath);
12
12
  if (!packageDefinition) {
13
- console.log(`Couldn't load definition for "${packagePath}"`);
14
13
  return requestedPath;
15
14
  }
16
15
  return resolveImportFromPackage(packagePath, packageDefinition, requestedPath, options);
@@ -1 +1 @@
1
- {"version":3,"file":"resolveImportFromPackagePath.js","sourceRoot":"","sources":["../src/resolveImportFromPackagePath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveImportFromPackagePath.js","sourceRoot":"","sources":["../src/resolveImportFromPackagePath.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,32 @@
1
1
  import { getExportPathFromEntry } from './getExportPathFromEntry.js';
2
+ import { cleanEntry } from './cleanEntry.js';
2
3
  export function resolvePackageEntries(packageDefinition) {
3
4
  const entries = new Set();
5
+ const { browser, exports } = packageDefinition;
4
6
  // if exports are available, leverage them.
5
- if (packageDefinition.exports) {
6
- for (const entry of Object.values(packageDefinition.exports)) {
7
+ if (exports) {
8
+ for (const entry of Object.values(exports)) {
7
9
  const entryPath = getExportPathFromEntry(entry);
8
10
  if (entryPath) {
9
- entries.add(entryPath);
11
+ entries.add(cleanEntry(entryPath));
10
12
  }
11
13
  }
12
14
  }
15
+ else if (typeof browser === 'string') {
16
+ entries.add(browser);
17
+ }
13
18
  else {
14
19
  const defaultEntryPath = packageDefinition.module || packageDefinition.main || './index.js';
15
20
  if (defaultEntryPath) {
16
- entries.add(defaultEntryPath);
21
+ entries.add(cleanEntry(defaultEntryPath));
17
22
  }
18
23
  }
19
- // filter based on browser mapping if available
20
- // eslint-disable-next-line etc/no-deprecated
21
- const browser = packageDefinition.browser;
22
- switch (typeof browser) {
23
- case 'string':
24
- entries.add(browser);
25
- break;
26
- case 'object':
27
- for (const [fromPath, toPath] of Object.entries(browser)) {
28
- if (entries.has(fromPath) && toPath) {
29
- entries.add(toPath);
30
- }
24
+ if (typeof browser === 'object') {
25
+ for (const [fromPath, toPath] of Object.entries(browser)) {
26
+ if (entries.has(fromPath) && toPath) {
27
+ entries.add(cleanEntry(toPath));
31
28
  }
32
- break;
29
+ }
33
30
  }
34
31
  return Array.from(entries);
35
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolvePackageEntries.js","sourceRoot":"","sources":["../src/resolvePackageEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,MAAM,UAAU,qBAAqB,CAAC,iBAA8B;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,2CAA2C;IAC3C,IAAI,iBAAiB,CAAC,OAAO,EAAE;QAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;YAC5D,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAEhD,IAAI,SAAS,EAAE;gBACb,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aACxB;SACF;KACF;SAAM;QACL,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,IAAI,YAAY,CAAC;QAC5F,IAAI,gBAAgB,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;SAC/B;KACF;IAED,+CAA+C;IAC/C,6CAA6C;IAC7C,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC;IAC1C,QAAQ,OAAO,OAAO,EAAE;QACtB,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM;QAER,KAAK,QAAQ;YACX,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACxD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE;oBACnC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBACrB;aACF;YAED,MAAM;KACT;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"resolvePackageEntries.js","sourceRoot":"","sources":["../src/resolvePackageEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,UAAU,qBAAqB,CAAC,iBAA8B;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC;IAE/C,2CAA2C;IAC3C,IAAI,OAAO,EAAE;QACX,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YAC1C,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAEhD,IAAI,SAAS,EAAE;gBACb,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACpC;SACF;KACF;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KACtB;SAAM;QACL,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,IAAI,YAAY,CAAC;QAE5F,IAAI,gBAAgB,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;SAC3C;KACF;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACxD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE;gBACnC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;aACjC;SACF;KACF;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,4 +1,6 @@
1
+ import { getPackageDefinition } from './getPackageDefinition.js';
1
2
  import { resolvePackageEntries } from './resolvePackageEntries.js';
3
+ import { testNodeFetchPath } from './testPaths.js';
2
4
  const defaultPackage = {
3
5
  name: 'default',
4
6
  version: '1.0.0',
@@ -74,5 +76,15 @@ describe('resolvePackageEntries', () => {
74
76
  },
75
77
  })).toEqual(['./lib/index.js']);
76
78
  });
79
+ it('can resolve node-fetch entries', async () => {
80
+ expect(resolvePackageEntries((await getPackageDefinition(testNodeFetchPath)))).toEqual([
81
+ './browser.js',
82
+ ]);
83
+ });
84
+ it('can resolve an entry without an extension', async () => {
85
+ expect(resolvePackageEntries({
86
+ main: 'index',
87
+ })).toEqual(['./index.js']);
88
+ });
77
89
  });
78
90
  //# sourceMappingURL=resolvePackageEntries.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolvePackageEntries.test.js","sourceRoot":"","sources":["../src/resolvePackageEntries.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,OAAO,EAAE,gBAAgB;iBAC1B;aACF;SACF,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,MAAM,EAAE,gBAAgB;iBACzB;aACF;SACF,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,OAAO,EAAE;gBACP,GAAG,EAAE,gBAAgB;aACtB;SACF,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,KAAK,EAAE,kBAAkB;oBACzB,MAAM,EAAE,gBAAgB;iBACzB;aACF;SACF,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,OAAO,EAAE;gBACP,GAAG,EAAE,gBAAgB;gBACrB,OAAO,EAAE,cAAc;aACxB;SACF,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,eAAe;SACtB,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,IAAI,EAAE,eAAe;SACtB,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,OAAO,EAAE;gBACP,GAAG,EAAE,gBAAgB;gBACrB,OAAO,EAAE,gBAAgB;aAC1B;SACF,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"resolvePackageEntries.test.js","sourceRoot":"","sources":["../src/resolvePackageEntries.test.ts"],"names":[],"mappings":"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"}
@@ -8,3 +8,4 @@ export declare const testWithReact16Path: string;
8
8
  export declare const testWithReact17Path: string;
9
9
  export declare const testWithUnmetDependenciesPath: string;
10
10
  export declare const testWithUnmetPeerDependenciesPath: string;
11
+ export declare const testNodeFetchPath: string;
package/lib/testPaths.js CHANGED
@@ -10,4 +10,5 @@ export const testWithReact16Path = path.join(testScenariosPath, 'test-with-react
10
10
  export const testWithReact17Path = path.join(testScenariosPath, 'test-with-react-17');
11
11
  export const testWithUnmetDependenciesPath = path.join(testScenariosPath, 'test-with-unmet-dependencies');
12
12
  export const testWithUnmetPeerDependenciesPath = path.join(testScenariosPath, 'test-with-unmet-peer-dependencies');
13
+ export const testNodeFetchPath = path.join(testScenariosPath, 'node-fetch');
13
14
  //# sourceMappingURL=testPaths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testPaths.js","sourceRoot":"","sources":["../src/testPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;AACjH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CAAC;AAC1G,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,mCAAmC,CAAC,CAAC"}
1
+ {"version":3,"file":"testPaths.js","sourceRoot":"","sources":["../src/testPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;AACjH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CAAC;AAC1G,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,mCAAmC,CAAC,CAAC;AACnH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC"}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.29.0"
8
+ "packageVersion": "7.29.3"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/package-utilities",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Utilities for resolving/parsing packages and their imports.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -16,7 +16,7 @@
16
16
  "@babel/parser": "^7.16.12",
17
17
  "@babel/traverse": "^7.16.10",
18
18
  "@ms-cloudpack/json-utilities": "^0.0.3",
19
- "@ms-cloudpack/package-overrides": "^0.0.2",
19
+ "@ms-cloudpack/package-overrides": "^0.1.0",
20
20
  "@ms-cloudpack/path-utilities": "^0.3.1",
21
21
  "resolve": "^1.22.0"
22
22
  },
@@ -1,44 +0,0 @@
1
- import type { PackageJson } from 'type-fest';
2
- export declare type PackageReference = {
3
- name: string;
4
- version: string;
5
- requiredVersion?: string;
6
- path?: PackageReference[];
7
- };
8
- export declare type InstalledPackagesResult = {
9
- installedPackages: {
10
- [packageName: string]: {
11
- [version: string]: {
12
- path: string;
13
- requiredBy: PackageReference[];
14
- };
15
- };
16
- };
17
- stats?: {
18
- totalPackageNames: number;
19
- totalInstalled: number;
20
- packagesWithDuplicates: number;
21
- };
22
- };
23
- /**
24
- * Traverses a package folder and uses standard node package resolution to resolve the on-disk location
25
- * of all dependencies. The map returned follows this format:
26
- *
27
- * {
28
- * [packageName]: {
29
- * [packageVersion]: {
30
- * path: '/path/to/package',
31
- * requiredBy: [
32
- * { name, version, path, requiredVersion },
33
- * ...
34
- * ],
35
- * // If the same package version is installed in multiple locations, we track this.
36
- * duplicates: [
37
- * { ... }
38
- * ]
39
- * }
40
- * }
41
- * }
42
- *
43
- */
44
- export declare function getInstalledPackages(appPaths: string | string[], installedPackages?: InstalledPackagesResult['installedPackages'], ancestors?: PackageReference[], visited?: Record<string, PackageJson>): Promise<InstalledPackagesResult>;
@@ -1,85 +0,0 @@
1
- import { getPackageDefinition } from './getPackageDefinition.js';
2
- import { resolve } from './resolve.js';
3
- /**
4
- * Traverses a package folder and uses standard node package resolution to resolve the on-disk location
5
- * of all dependencies. The map returned follows this format:
6
- *
7
- * {
8
- * [packageName]: {
9
- * [packageVersion]: {
10
- * path: '/path/to/package',
11
- * requiredBy: [
12
- * { name, version, path, requiredVersion },
13
- * ...
14
- * ],
15
- * // If the same package version is installed in multiple locations, we track this.
16
- * duplicates: [
17
- * { ... }
18
- * ]
19
- * }
20
- * }
21
- * }
22
- *
23
- */
24
- export async function getInstalledPackages(appPaths, installedPackages = {}, ancestors = [], visited = {}) {
25
- let stats = undefined;
26
- appPaths = Array.isArray(appPaths) ? appPaths : [appPaths];
27
- for (const appPath of appPaths) {
28
- const definition = await getPackageDefinition(appPath, true);
29
- if (definition?.dependencies && definition.name && definition.version) {
30
- for (const [dependencyName, requiredVersion] of Object.entries(definition.dependencies)) {
31
- // Grab the path to the dependency.
32
- const dependencyPath = await resolve(dependencyName, appPath);
33
- if (dependencyPath) {
34
- // It's installed. What version is this?
35
- const dependencyDefinition = visited[dependencyPath] || (await getPackageDefinition(dependencyPath));
36
- if (!dependencyDefinition) {
37
- throw new Error(`Unable to resolve dependency at path "${dependencyPath}"`);
38
- }
39
- const { version: dependencyVersion = '' } = dependencyDefinition;
40
- // Ensure that the entry in the results is initialized.
41
- installedPackages[dependencyName] = installedPackages[dependencyName] || {};
42
- installedPackages[dependencyName][dependencyVersion] = installedPackages[dependencyName][dependencyVersion] || {
43
- path: dependencyPath,
44
- requiredBy: [],
45
- };
46
- // Add this package to the requiredBy list.
47
- installedPackages[dependencyName][dependencyVersion].requiredBy.push({
48
- name: definition.name,
49
- version: definition.version,
50
- requiredVersion,
51
- path: ancestors,
52
- });
53
- // If we haven't yet visited this dependency, track the definition and traverse its dependencies.
54
- if (!visited[dependencyPath]) {
55
- visited[dependencyPath] = dependencyDefinition;
56
- await getInstalledPackages(dependencyPath, installedPackages, [
57
- ...ancestors,
58
- {
59
- name: dependencyName,
60
- version: dependencyVersion,
61
- },
62
- ], visited);
63
- }
64
- }
65
- else {
66
- // It's required, but not installed.
67
- console.log(`The package "${dependencyName}@${requiredVersion}" was required but not installed.`, ancestors);
68
- }
69
- }
70
- }
71
- if (ancestors.length === 0) {
72
- const packageNames = Object.keys(installedPackages);
73
- stats = {
74
- totalPackageNames: packageNames.length,
75
- totalInstalled: packageNames.reduce((val, name) => val + Object.keys(installedPackages[name]).length, 0),
76
- packagesWithDuplicates: packageNames.reduce((val, name) => val + (Object.keys(installedPackages[name]).length > 1 ? 1 : 0), 0),
77
- };
78
- }
79
- }
80
- return {
81
- installedPackages,
82
- stats,
83
- };
84
- }
85
- //# sourceMappingURL=getInstalledPackages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getInstalledPackages.js","sourceRoot":"","sources":["../src/getInstalledPackages.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import path from 'path';
2
- import { slash } from '@ms-cloudpack/path-utilities';
3
- import { getInstalledPackages } from './getInstalledPackages.js';
4
- import { filterJson } from './filterJson.js';
5
- import { testProject1Path } from '../src/testPaths.js';
6
- async function getInstalledPackagesSafe(installPath) {
7
- return filterJson(await getInstalledPackages(installPath), 'path', (oldPath) => slash(path.relative(installPath, oldPath)));
8
- }
9
- describe('getInstalledPackages', () => {
10
- it('can get installed packages', async () => {
11
- expect(await getInstalledPackagesSafe(testProject1Path)).toMatchSnapshot();
12
- });
13
- });
14
- //# sourceMappingURL=getInstalledPackages.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getInstalledPackages.test.js","sourceRoot":"","sources":["../src/getInstalledPackages.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,KAAK,UAAU,wBAAwB,CAAC,WAAmB;IACzD,OAAO,UAAU,CAAC,MAAM,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAC7E,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,CAAC,MAAM,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}