@ms-cloudpack/package-utilities 0.7.0 → 0.9.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 +67 -1
- package/CHANGELOG.md +27 -2
- package/lib/PackageDefinitions.d.ts +12 -0
- package/lib/PackageDefinitions.js +41 -0
- package/lib/PackageDefinitions.js.map +1 -0
- package/lib/PackageDefinitions.test.d.ts +1 -0
- package/lib/PackageDefinitions.test.js +89 -0
- package/lib/PackageDefinitions.test.js.map +1 -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 +25 -17
- package/lib/createImportMap.test.js.map +1 -1
- package/lib/createResolveMap.test.js +34 -33
- package/lib/createResolveMap.test.js.map +1 -1
- package/lib/detectModuleType.test.js +1 -0
- package/lib/detectModuleType.test.js.map +1 -1
- package/lib/evaluateImportsFromEntries.test.js +12 -11
- package/lib/evaluateImportsFromEntries.test.js.map +1 -1
- package/lib/getExportPathFromEntry.test.js +1 -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/getExportsMap.test.d.ts +1 -0
- package/lib/getExportsMap.test.js +260 -0
- package/lib/getExportsMap.test.js.map +1 -0
- package/lib/index.d.ts +3 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/isExternalPackage.test.js +1 -0
- package/lib/isExternalPackage.test.js.map +1 -1
- package/lib/parseImportString.test.js +1 -0
- package/lib/parseImportString.test.js.map +1 -1
- package/lib/resolve.test.js +1 -0
- package/lib/resolve.test.js.map +1 -1
- package/lib/resolveImportFromPackage.test.js +1 -0
- package/lib/resolveImportFromPackage.test.js.map +1 -1
- package/lib/resolvePackageEntries.js +4 -3
- package/lib/resolvePackageEntries.js.map +1 -1
- package/lib/resolvePackageEntries.test.js +6 -0
- package/lib/resolvePackageEntries.test.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +4 -4
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach } from '@jest/globals';
|
|
1
2
|
import { slash } from '@ms-cloudpack/path-utilities';
|
|
2
3
|
import path from 'path';
|
|
3
4
|
import { createResolveMap } from './createResolveMap.js';
|
|
@@ -48,27 +49,27 @@ describe('createResolveMap', () => {
|
|
|
48
49
|
});
|
|
49
50
|
it('can create a resolve map', async () => {
|
|
50
51
|
expect(await createResolveMapSafe({ appPath: testProject1Path })).toMatchInlineSnapshot(`
|
|
51
|
-
|
|
52
|
-
"b":
|
|
52
|
+
{
|
|
53
|
+
"b": {
|
|
53
54
|
"name": "b",
|
|
54
55
|
"path": "node_modules/b",
|
|
55
|
-
"requiredBy":
|
|
56
|
+
"requiredBy": {
|
|
56
57
|
"test-project-1@0.0.1": "^1.0.0",
|
|
57
58
|
},
|
|
58
59
|
"version": "1.0.0",
|
|
59
60
|
},
|
|
60
|
-
"c":
|
|
61
|
+
"c": {
|
|
61
62
|
"name": "c",
|
|
62
63
|
"path": "node_modules/c",
|
|
63
|
-
"requiredBy":
|
|
64
|
+
"requiredBy": {
|
|
64
65
|
"test-project-1@0.0.1": "^1.0.0",
|
|
65
66
|
},
|
|
66
67
|
"version": "1.0.0",
|
|
67
68
|
},
|
|
68
|
-
"test-project-1":
|
|
69
|
+
"test-project-1": {
|
|
69
70
|
"name": "test-project-1",
|
|
70
71
|
"path": "",
|
|
71
|
-
"requiredBy":
|
|
72
|
+
"requiredBy": {},
|
|
72
73
|
"version": "0.0.1",
|
|
73
74
|
},
|
|
74
75
|
}
|
|
@@ -76,36 +77,36 @@ describe('createResolveMap', () => {
|
|
|
76
77
|
});
|
|
77
78
|
it('can create a resolve map for a project with a fluent package', async () => {
|
|
78
79
|
expect(await createResolveMapSafe({ appPath: testProjectFluentPath })).toMatchInlineSnapshot(`
|
|
79
|
-
|
|
80
|
-
"@fluentui/react":
|
|
80
|
+
{
|
|
81
|
+
"@fluentui/react": {
|
|
81
82
|
"name": "@fluentui/react",
|
|
82
83
|
"path": "node_modules/@fluentui/react",
|
|
83
|
-
"requiredBy":
|
|
84
|
+
"requiredBy": {
|
|
84
85
|
"test-project-fluent@1.0.0": "^8.42.0",
|
|
85
86
|
},
|
|
86
87
|
"version": "8.82.1",
|
|
87
88
|
},
|
|
88
|
-
"@fluentui/theme":
|
|
89
|
+
"@fluentui/theme": {
|
|
89
90
|
"name": "@fluentui/theme",
|
|
90
91
|
"path": "node_modules/@fluentui/theme",
|
|
91
|
-
"requiredBy":
|
|
92
|
+
"requiredBy": {
|
|
92
93
|
"@fluentui/react@8.82.1": "^2.6.7",
|
|
93
94
|
},
|
|
94
95
|
"version": "2.6.7",
|
|
95
96
|
},
|
|
96
|
-
"@fluentui/utilities":
|
|
97
|
+
"@fluentui/utilities": {
|
|
97
98
|
"name": "@fluentui/utilities",
|
|
98
99
|
"path": "node_modules/@fluentui/utilities",
|
|
99
|
-
"requiredBy":
|
|
100
|
+
"requiredBy": {
|
|
100
101
|
"@fluentui/react@8.82.1": "^8.9.0",
|
|
101
102
|
"@fluentui/theme@2.6.7": "^8.9.0",
|
|
102
103
|
},
|
|
103
104
|
"version": "8.9.0",
|
|
104
105
|
},
|
|
105
|
-
"test-project-fluent":
|
|
106
|
+
"test-project-fluent": {
|
|
106
107
|
"name": "test-project-fluent",
|
|
107
108
|
"path": "",
|
|
108
|
-
"requiredBy":
|
|
109
|
+
"requiredBy": {},
|
|
109
110
|
"version": "1.0.0",
|
|
110
111
|
},
|
|
111
112
|
}
|
|
@@ -123,35 +124,35 @@ describe('createResolveMap', () => {
|
|
|
123
124
|
],
|
|
124
125
|
]),
|
|
125
126
|
})).toMatchInlineSnapshot(`
|
|
126
|
-
|
|
127
|
-
"library-a":
|
|
127
|
+
{
|
|
128
|
+
"library-a": {
|
|
128
129
|
"name": "library-a",
|
|
129
130
|
"path": "node_modules/library-a",
|
|
130
|
-
"requiredBy":
|
|
131
|
+
"requiredBy": {
|
|
131
132
|
"testApp@1.0.0": "1.0.0",
|
|
132
133
|
},
|
|
133
134
|
"version": "1.0.0",
|
|
134
135
|
},
|
|
135
|
-
"library-b":
|
|
136
|
+
"library-b": {
|
|
136
137
|
"name": "library-b",
|
|
137
138
|
"path": "node_modules/library-b",
|
|
138
|
-
"requiredBy":
|
|
139
|
+
"requiredBy": {
|
|
139
140
|
"testApp@1.0.0": "1.0.0",
|
|
140
141
|
},
|
|
141
142
|
"version": "1.0.0",
|
|
142
143
|
},
|
|
143
|
-
"react":
|
|
144
|
+
"react": {
|
|
144
145
|
"name": "react",
|
|
145
146
|
"path": "node_modules/react",
|
|
146
|
-
"requiredBy":
|
|
147
|
+
"requiredBy": {
|
|
147
148
|
"library-b@1.0.0": "18.0.0",
|
|
148
149
|
"testApp@1.0.0": "18.0.0",
|
|
149
150
|
},
|
|
150
|
-
"scopedVersions":
|
|
151
|
-
"17.0.0":
|
|
151
|
+
"scopedVersions": {
|
|
152
|
+
"17.0.0": {
|
|
152
153
|
"name": "react",
|
|
153
154
|
"path": "node_modules/library-a/node_modules/react",
|
|
154
|
-
"requiredBy":
|
|
155
|
+
"requiredBy": {
|
|
155
156
|
"library-a@1.0.0": "17.0.0",
|
|
156
157
|
},
|
|
157
158
|
"version": "17.0.0",
|
|
@@ -159,10 +160,10 @@ describe('createResolveMap', () => {
|
|
|
159
160
|
},
|
|
160
161
|
"version": "18.0.0",
|
|
161
162
|
},
|
|
162
|
-
"testApp":
|
|
163
|
+
"testApp": {
|
|
163
164
|
"name": "testApp",
|
|
164
165
|
"path": "",
|
|
165
|
-
"requiredBy":
|
|
166
|
+
"requiredBy": {},
|
|
166
167
|
"version": "1.0.0",
|
|
167
168
|
},
|
|
168
169
|
}
|
|
@@ -201,17 +202,17 @@ describe('createResolveMap', () => {
|
|
|
201
202
|
appPath: path.join(testRepoPath, 'packages/app-with-installed-react'),
|
|
202
203
|
gitRootPath: testRepoPath,
|
|
203
204
|
})).toMatchInlineSnapshot(`
|
|
204
|
-
|
|
205
|
-
"app-with-installed-react":
|
|
205
|
+
{
|
|
206
|
+
"app-with-installed-react": {
|
|
206
207
|
"name": "app-with-installed-react",
|
|
207
208
|
"path": "",
|
|
208
|
-
"requiredBy":
|
|
209
|
+
"requiredBy": {},
|
|
209
210
|
"version": "1.0.0",
|
|
210
211
|
},
|
|
211
|
-
"react":
|
|
212
|
+
"react": {
|
|
212
213
|
"name": "react",
|
|
213
214
|
"path": "../../node_modules/react",
|
|
214
|
-
"requiredBy":
|
|
215
|
+
"requiredBy": {
|
|
215
216
|
"app-with-installed-react@1.0.0": "999.0.0",
|
|
216
217
|
},
|
|
217
218
|
"version": "999.0.0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createResolveMap.test.js","sourceRoot":"","sources":["../src/createResolveMap.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createResolveMap.test.js","sourceRoot":"","sources":["../src/createResolveMap.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectModuleType.test.js","sourceRoot":"","sources":["../src/detectModuleType.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjE,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,CAAC,MAAM,0BAA0B,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,CAAC,MAAM,0BAA0B,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,CAAC,MAAM,0BAA0B,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,CAAC,MAAM,0BAA0B,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,CAAC,MAAM,0BAA0B,CAAC,0DAA0D,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,CAAC,MAAM,0BAA0B,CAAC,wBAAwB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"detectModuleType.test.js","sourceRoot":"","sources":["../src/detectModuleType.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjE,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,CAAC,MAAM,0BAA0B,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,CAAC,MAAM,0BAA0B,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,CAAC,MAAM,0BAA0B,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,CAAC,MAAM,0BAA0B,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,CAAC,MAAM,0BAA0B,CAAC,0DAA0D,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,CAAC,MAAM,0BAA0B,CAAC,wBAAwB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,35 +1,36 @@
|
|
|
1
|
+
import { describe, it, expect } from '@jest/globals';
|
|
1
2
|
import path from 'path';
|
|
2
3
|
import { evaluateImportsFromEntries } from './evaluateImportsFromEntries.js';
|
|
3
4
|
import { testProject1Path } from '../src/testPaths.js';
|
|
4
5
|
describe('evaluateImportsFromEntries', () => {
|
|
5
6
|
it('can evaluate exports map', async () => {
|
|
6
7
|
expect(await evaluateImportsFromEntries([path.join(testProject1Path, 'src/index.ts')])).toMatchInlineSnapshot(`
|
|
7
|
-
|
|
8
|
-
"exports":
|
|
9
|
-
"b":
|
|
10
|
-
"1.0.0":
|
|
11
|
-
".":
|
|
8
|
+
{
|
|
9
|
+
"exports": {
|
|
10
|
+
"b": {
|
|
11
|
+
"1.0.0": {
|
|
12
|
+
".": {
|
|
12
13
|
"count": 1,
|
|
13
14
|
"import": "./index.js",
|
|
14
15
|
},
|
|
15
|
-
"./subpath":
|
|
16
|
+
"./subpath": {
|
|
16
17
|
"count": 1,
|
|
17
18
|
"import": "./subpath.js",
|
|
18
19
|
},
|
|
19
|
-
"./subpath2":
|
|
20
|
+
"./subpath2": {
|
|
20
21
|
"count": 1,
|
|
21
22
|
"import": "./subpath2.js",
|
|
22
23
|
},
|
|
23
24
|
},
|
|
24
25
|
},
|
|
25
26
|
},
|
|
26
|
-
"stats":
|
|
27
|
-
"parseErrors":
|
|
27
|
+
"stats": {
|
|
28
|
+
"parseErrors": [],
|
|
28
29
|
"parsedSourceFiles": 6,
|
|
29
30
|
"uniqueImports": 3,
|
|
30
31
|
"uniquePackages": 1,
|
|
31
|
-
"unresolvedPackageImports":
|
|
32
|
-
"unresolvedPackages":
|
|
32
|
+
"unresolvedPackageImports": [],
|
|
33
|
+
"unresolvedPackages": [],
|
|
33
34
|
},
|
|
34
35
|
}
|
|
35
36
|
`);
|
|
@@ -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,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6B7G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"evaluateImportsFromEntries.test.js","sourceRoot":"","sources":["../src/evaluateImportsFromEntries.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,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 +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,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"}
|
|
1
|
+
{"version":3,"file":"getExportPathFromEntry.test.js","sourceRoot":"","sources":["../src/getExportPathFromEntry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,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 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { describe, it, expect } from '@jest/globals';
|
|
2
|
+
import { getExportsMap } from './getExportsMap.js';
|
|
3
|
+
describe('getExportsMap', () => {
|
|
4
|
+
it('can translate a package with no entries', async () => {
|
|
5
|
+
expect(getExportsMap({
|
|
6
|
+
name: 'a',
|
|
7
|
+
})).toMatchInlineSnapshot(`{}`);
|
|
8
|
+
});
|
|
9
|
+
it('can translate a package with an export map', async () => {
|
|
10
|
+
expect(getExportsMap({
|
|
11
|
+
name: 'a',
|
|
12
|
+
exports: {
|
|
13
|
+
'.': './foo.js',
|
|
14
|
+
},
|
|
15
|
+
})).toMatchInlineSnapshot(`
|
|
16
|
+
{
|
|
17
|
+
".": "./foo.js",
|
|
18
|
+
}
|
|
19
|
+
`);
|
|
20
|
+
});
|
|
21
|
+
it('can translate an exports map with an import', async () => {
|
|
22
|
+
expect(getExportsMap({
|
|
23
|
+
name: 'a',
|
|
24
|
+
exports: {
|
|
25
|
+
'.': {
|
|
26
|
+
import: './foo.js',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
})).toMatchInlineSnapshot(`
|
|
30
|
+
{
|
|
31
|
+
".": "./foo.js",
|
|
32
|
+
}
|
|
33
|
+
`);
|
|
34
|
+
});
|
|
35
|
+
it('can translate an exports map with an import', async () => {
|
|
36
|
+
expect(getExportsMap({
|
|
37
|
+
name: 'a',
|
|
38
|
+
exports: {
|
|
39
|
+
import: {
|
|
40
|
+
'.': './foo.js',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
})).toMatchInlineSnapshot(`
|
|
44
|
+
{
|
|
45
|
+
".": "./foo.js",
|
|
46
|
+
}
|
|
47
|
+
`);
|
|
48
|
+
});
|
|
49
|
+
it('can return an empty map with no matching conditions', async () => {
|
|
50
|
+
expect(getExportsMap({
|
|
51
|
+
name: 'a',
|
|
52
|
+
exports: {
|
|
53
|
+
notmatched: {
|
|
54
|
+
'.': './foo.js',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
})).toMatchInlineSnapshot(`{}`);
|
|
58
|
+
});
|
|
59
|
+
it('can prefer browser over import', async () => {
|
|
60
|
+
expect(getExportsMap({
|
|
61
|
+
name: 'a',
|
|
62
|
+
exports: {
|
|
63
|
+
'.': {
|
|
64
|
+
browser: './browser.js',
|
|
65
|
+
import: './import.js',
|
|
66
|
+
default: './default.js',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
})).toMatchInlineSnapshot(`
|
|
70
|
+
{
|
|
71
|
+
".": "./browser.js",
|
|
72
|
+
}
|
|
73
|
+
`);
|
|
74
|
+
});
|
|
75
|
+
it('return multiple matches', async () => {
|
|
76
|
+
expect(getExportsMap({
|
|
77
|
+
name: 'a',
|
|
78
|
+
exports: {
|
|
79
|
+
'.': {
|
|
80
|
+
browser: './browser.js',
|
|
81
|
+
import: './import.js',
|
|
82
|
+
default: './default.js',
|
|
83
|
+
},
|
|
84
|
+
'./foo': {
|
|
85
|
+
import: './foo.import.js',
|
|
86
|
+
default: './foo.default.js',
|
|
87
|
+
},
|
|
88
|
+
'./bar': {
|
|
89
|
+
default: './bar.default.js',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
})).toMatchInlineSnapshot(`
|
|
93
|
+
{
|
|
94
|
+
".": "./browser.js",
|
|
95
|
+
"./bar": "./bar.default.js",
|
|
96
|
+
"./foo": "./foo.import.js",
|
|
97
|
+
}
|
|
98
|
+
`);
|
|
99
|
+
});
|
|
100
|
+
it(`can short circuit traversal when a match is found`, () => {
|
|
101
|
+
expect(getExportsMap({
|
|
102
|
+
name: 'a',
|
|
103
|
+
exports: {
|
|
104
|
+
'.': {
|
|
105
|
+
browser: {
|
|
106
|
+
default: './browser.js',
|
|
107
|
+
},
|
|
108
|
+
import: {
|
|
109
|
+
default: './import.js',
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
})).toMatchInlineSnapshot(`
|
|
114
|
+
{
|
|
115
|
+
".": "./browser.js",
|
|
116
|
+
}
|
|
117
|
+
`);
|
|
118
|
+
});
|
|
119
|
+
it(`can handle an exports string`, () => {
|
|
120
|
+
expect(getExportsMap({
|
|
121
|
+
name: 'a',
|
|
122
|
+
exports: './foo.js',
|
|
123
|
+
})).toMatchInlineSnapshot(`
|
|
124
|
+
{
|
|
125
|
+
".": "./foo.js",
|
|
126
|
+
}
|
|
127
|
+
`);
|
|
128
|
+
});
|
|
129
|
+
it(`can prefer the browser entry over the default entry of the exports map`, () => {
|
|
130
|
+
expect(getExportsMap({
|
|
131
|
+
name: 'a',
|
|
132
|
+
browser: './browser.js',
|
|
133
|
+
exports: {
|
|
134
|
+
'.': {
|
|
135
|
+
import: './default.js',
|
|
136
|
+
require: './require.js',
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
})).toMatchInlineSnapshot(`
|
|
140
|
+
{
|
|
141
|
+
".": "./browser.js",
|
|
142
|
+
}
|
|
143
|
+
`);
|
|
144
|
+
});
|
|
145
|
+
it(`can leverage the module entry if the default entry is not found`, () => {
|
|
146
|
+
expect(getExportsMap({
|
|
147
|
+
name: 'a',
|
|
148
|
+
module: './module.js',
|
|
149
|
+
})).toMatchInlineSnapshot(`
|
|
150
|
+
{
|
|
151
|
+
".": "./module.js",
|
|
152
|
+
}
|
|
153
|
+
`);
|
|
154
|
+
});
|
|
155
|
+
it(`can leverage the main entry if the default entry is not found`, () => {
|
|
156
|
+
expect(getExportsMap({
|
|
157
|
+
name: 'a',
|
|
158
|
+
main: './main.js',
|
|
159
|
+
})).toMatchInlineSnapshot(`
|
|
160
|
+
{
|
|
161
|
+
".": "./main.js",
|
|
162
|
+
}
|
|
163
|
+
`);
|
|
164
|
+
});
|
|
165
|
+
it(`can fill in extensions when they're missing`, () => {
|
|
166
|
+
expect(getExportsMap({
|
|
167
|
+
name: 'a',
|
|
168
|
+
main: 'index',
|
|
169
|
+
})).toMatchInlineSnapshot(`
|
|
170
|
+
{
|
|
171
|
+
".": "./index.js",
|
|
172
|
+
}
|
|
173
|
+
`);
|
|
174
|
+
});
|
|
175
|
+
it(`can get only sass entries`, () => {
|
|
176
|
+
expect(getExportsMap({
|
|
177
|
+
name: 'a',
|
|
178
|
+
exports: {
|
|
179
|
+
'.': {
|
|
180
|
+
import: './index.js',
|
|
181
|
+
},
|
|
182
|
+
'./sass/references': {
|
|
183
|
+
sass: './sass/references.scss',
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
}, ['sass'])).toMatchInlineSnapshot(`
|
|
187
|
+
{
|
|
188
|
+
"./sass/references": "./sass/references.scss",
|
|
189
|
+
}
|
|
190
|
+
`);
|
|
191
|
+
});
|
|
192
|
+
it(`can ignore non-valid filenames`, () => {
|
|
193
|
+
expect(getExportsMap({
|
|
194
|
+
name: 'tslib',
|
|
195
|
+
exports: {
|
|
196
|
+
'.': {
|
|
197
|
+
module: './tslib.es6.js',
|
|
198
|
+
import: './modules/index.js',
|
|
199
|
+
default: './tslib.js',
|
|
200
|
+
},
|
|
201
|
+
'./': './',
|
|
202
|
+
},
|
|
203
|
+
})).toMatchInlineSnapshot(`
|
|
204
|
+
{
|
|
205
|
+
".": "./tslib.es6.js",
|
|
206
|
+
}
|
|
207
|
+
`);
|
|
208
|
+
});
|
|
209
|
+
it(`can ignore invalid filenames`, () => {
|
|
210
|
+
expect(getExportsMap({
|
|
211
|
+
name: 'tslib',
|
|
212
|
+
main: 'foo/',
|
|
213
|
+
})).toMatchInlineSnapshot(`{}`);
|
|
214
|
+
});
|
|
215
|
+
it(`can ignore wildcards in exports`, () => {
|
|
216
|
+
expect(getExportsMap({
|
|
217
|
+
name: 'foo',
|
|
218
|
+
exports: {
|
|
219
|
+
'./foo/': './foo/',
|
|
220
|
+
},
|
|
221
|
+
})).toMatchInlineSnapshot(`{}`);
|
|
222
|
+
});
|
|
223
|
+
it(`can find exports from browser-only packages like uuid@3.4.0`, () => {
|
|
224
|
+
expect(getExportsMap({
|
|
225
|
+
name: 'uuid',
|
|
226
|
+
browser: {
|
|
227
|
+
'./lib/rng.js': './lib/rng-browser.js',
|
|
228
|
+
'./lib/sha1.js': './lib/sha1-browser.js',
|
|
229
|
+
'./lib/md5.js': './lib/md5-browser.js',
|
|
230
|
+
},
|
|
231
|
+
})).toMatchInlineSnapshot(`
|
|
232
|
+
{
|
|
233
|
+
"./lib/md5.js": "./lib/md5-browser.js",
|
|
234
|
+
"./lib/rng.js": "./lib/rng-browser.js",
|
|
235
|
+
"./lib/sha1.js": "./lib/sha1-browser.js",
|
|
236
|
+
}
|
|
237
|
+
`);
|
|
238
|
+
});
|
|
239
|
+
// We found this case with @babel/runtime@7.18.9:
|
|
240
|
+
it(`can deal with arrays as values in the exports map`, () => {
|
|
241
|
+
expect(getExportsMap({
|
|
242
|
+
name: '@babel/runtime',
|
|
243
|
+
exports: {
|
|
244
|
+
'./helpers/extends': [
|
|
245
|
+
{
|
|
246
|
+
node: './helpers/extends.js',
|
|
247
|
+
import: './helpers/esm/extends.js',
|
|
248
|
+
default: './helpers/extends.js',
|
|
249
|
+
},
|
|
250
|
+
'./helpers/extends.js',
|
|
251
|
+
],
|
|
252
|
+
},
|
|
253
|
+
})).toMatchInlineSnapshot(`
|
|
254
|
+
{
|
|
255
|
+
"./helpers/extends": "./helpers/esm/extends.js",
|
|
256
|
+
}
|
|
257
|
+
`);
|
|
258
|
+
});
|
|
259
|
+
});
|
|
260
|
+
//# 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,6 @@
|
|
|
1
|
-
export { createResolveMap
|
|
1
|
+
export { createResolveMap } from './createResolveMap.js';
|
|
2
2
|
export { evaluateImportsFromEntries } from './evaluateImportsFromEntries.js';
|
|
3
|
+
export { PackageDefinitions, type PackageDefinitionTransform } from './PackageDefinitions.js';
|
|
3
4
|
export { getPackageDefinition } from './getPackageDefinition.js';
|
|
4
5
|
export { resolve } from './resolve.js';
|
|
5
6
|
export { resolveImportFromPackage, resolveImportFromPackagePath, type ResolveImportFromPackageOptions, } from './resolveImportFromPackagePath.js';
|
|
@@ -7,3 +8,4 @@ export { detectModuleType, type ModuleType } from './detectModuleType.js';
|
|
|
7
8
|
export { resolvePackageEntries } from './resolvePackageEntries.js';
|
|
8
9
|
export { isExternalPackage } from './isExternalPackage.js';
|
|
9
10
|
export { createImportMap, type ImportMap } from './createImportMap.js';
|
|
11
|
+
export type { ResolveMapEntry, ResolveMap } from './createResolveMap.js';
|