@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.
- package/CHANGELOG.json +52 -1
- package/CHANGELOG.md +30 -2
- package/README.md +3 -0
- package/lib/cleanEntry.d.ts +1 -0
- package/lib/cleanEntry.js +11 -0
- package/lib/cleanEntry.js.map +1 -0
- package/lib/createImportMap.js +19 -22
- package/lib/createImportMap.js.map +1 -1
- package/lib/createImportMap.test.js +8 -1
- package/lib/createImportMap.test.js.map +1 -1
- package/lib/evaluateImportsFromEntries.js +0 -3
- package/lib/evaluateImportsFromEntries.js.map +1 -1
- package/lib/evaluateImportsFromEntries.test.js +30 -1
- package/lib/evaluateImportsFromEntries.test.js.map +1 -1
- package/lib/getExportPathFromEntry.js +1 -1
- package/lib/getExportPathFromEntry.js.map +1 -1
- package/lib/getExportPathFromEntry.test.js +7 -0
- package/lib/getExportPathFromEntry.test.js.map +1 -1
- package/lib/getExportsMap.d.ts +5 -0
- package/lib/getExportsMap.js +75 -0
- package/lib/getExportsMap.js.map +1 -0
- package/lib/{getInstalledPackages.test.d.ts → getExportsMap.test.d.ts} +0 -0
- package/lib/getExportsMap.test.js +259 -0
- package/lib/getExportsMap.test.js.map +1 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.js.map +1 -1
- package/lib/resolve.d.ts +6 -0
- package/lib/resolve.js +6 -0
- package/lib/resolve.js.map +1 -1
- package/lib/resolve.test.js +1 -1
- package/lib/resolveImportFromPackagePath.js +0 -1
- package/lib/resolveImportFromPackagePath.js.map +1 -1
- package/lib/resolvePackageEntries.js +14 -17
- package/lib/resolvePackageEntries.js.map +1 -1
- package/lib/resolvePackageEntries.test.js +12 -0
- package/lib/resolvePackageEntries.test.js.map +1 -1
- package/lib/testPaths.d.ts +1 -0
- package/lib/testPaths.js +1 -0
- package/lib/testPaths.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +2 -2
- package/lib/getInstalledPackages.d.ts +0 -44
- package/lib/getInstalledPackages.js +0 -85
- package/lib/getInstalledPackages.js.map +0 -1
- package/lib/getInstalledPackages.test.js +0 -14
- 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": "
|
|
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
|
|
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:
|
|
37
|
+
Fri, 05 Aug 2022 08:12:21 GMT
|
|
10
38
|
|
|
11
39
|
### Minor changes
|
|
12
40
|
|
package/README.md
ADDED
|
@@ -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"}
|
package/lib/createImportMap.js
CHANGED
|
@@ -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
|
|
18
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
if (
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
-
|
|
46
|
-
|
|
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":"
|
|
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/
|
|
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":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD,MAAM,eAAe,GAAG,wBAAwB,CAAC;AACjD,MAAM,oBAAoB,GAAoB,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAE9G,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,UAAU,GAAe;YAC7B,CAAC,EAAE,oBAAoB;SACxB,CAAC;QACF,MAAM,QAAQ,GAAgC;YAC5C,QAAQ,EAAE;gBACR,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,OAAO;aACjB;SACF,CAAC;QAEF,MAAM,CAAC,MAAM,eAAe,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;KAM1F,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,UAAU,GAAe;YAC7B,CAAC,EAAE,oBAAoB;SACxB,CAAC;QACF,MAAM,QAAQ,GAAgC;YAC5C,QAAQ,EAAE;gBACR,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,eAAe;aACtB;SACF,CAAC;QAEF,MAAM,CAAC,MAAM,eAAe,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC
|
|
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":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,WAAkC,MAAM,eAAe,CAAC;AAE/D,OAAO,WAA8B,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC;AAEjC,8DAA8D;AAC9D,MAAM,QAAQ,GAAI,WAAmB,CAAC,OAAc,CAAC;AAgBrD,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAExE,SAAS,aAAa,CAAC,UAAkB;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,CAAC,WAAW,EAAE;QAChB,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE;YAClC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,EAAE;gBACnC,OAAO,UAAU,GAAG,GAAG,CAAC;aACzB;SACF;KACF;SAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;QACrD,OAAO,UAAU,CAAC;KACnB;AACH,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAiB,EACjB,UAAuB,EACvB,aAA6B,EAAE;IAE/B,MAAM,iBAAiB,GAAa,CAAC,GAAG,OAAO,CAAC,CAAC;IACjD,MAAM,YAAY,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;YAC/E,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAClC;IACH,CAAC,CAAC;IACF,MAAM,KAAK,GAAoC;QAC7C,iBAAiB,EAAE,CAAC;QACpB,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,CAAC;QAChB,cAAc,EAAE,CAAC;QACjB,kBAAkB,EAAE,EAAE;QACtB,wBAAwB,EAAE,EAAE;KAC7B,CAAC;IAEF,+CAA+C;IAC/C,OAAO,iBAAiB,CAAC,MAAM,EAAE;QAC/B,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAY,CAAC;QAElD,
|
|
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')])).
|
|
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,
|
|
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;
|
|
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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"}
|
|
File without changes
|
|
@@ -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
|
|
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,
|
|
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) => {
|
package/lib/resolve.js.map
CHANGED
|
@@ -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"}
|
package/lib/resolve.test.js
CHANGED
|
@@ -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
|
|
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":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAc3D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,WAAmB,EACnB,aAAsB,EACtB,UAA2C,EAAE;IAE7C,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAElE,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,
|
|
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 (
|
|
6
|
-
for (const entry of Object.values(
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
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;
|
|
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;
|
|
1
|
+
{"version":3,"file":"resolvePackageEntries.test.js","sourceRoot":"","sources":["../src/resolvePackageEntries.test.ts"],"names":[],"mappings":"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"}
|
package/lib/testPaths.d.ts
CHANGED
|
@@ -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
|
package/lib/testPaths.js.map
CHANGED
|
@@ -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"}
|
package/lib/tsdoc-metadata.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/package-utilities",
|
|
3
|
-
"version": "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
|
|
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"}
|