@ms-cloudpack/package-utilities 2.3.0 → 2.3.2
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/lib/testPaths.d.ts +0 -3
- package/lib/testPaths.js +0 -3
- package/lib/testPaths.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +5 -5
- package/CHANGELOG.json +0 -1024
- package/CHANGELOG.md +0 -373
- package/lib/PackageDefinitions.test.d.ts +0 -1
- package/lib/PackageDefinitions.test.js +0 -89
- package/lib/PackageDefinitions.test.js.map +0 -1
- package/lib/addExportsMapEntry.test.d.ts +0 -1
- package/lib/addExportsMapEntry.test.js +0 -182
- package/lib/addExportsMapEntry.test.js.map +0 -1
- package/lib/createExportsMap.test.d.ts +0 -1
- package/lib/createExportsMap.test.js +0 -313
- package/lib/createExportsMap.test.js.map +0 -1
- package/lib/createImportMap.test.d.ts +0 -1
- package/lib/createImportMap.test.js +0 -155
- package/lib/createImportMap.test.js.map +0 -1
- package/lib/createResolveMap.test.d.ts +0 -1
- package/lib/createResolveMap.test.js +0 -263
- package/lib/createResolveMap.test.js.map +0 -1
- package/lib/detectModuleType.test.d.ts +0 -1
- package/lib/detectModuleType.test.js +0 -32
- package/lib/detectModuleType.test.js.map +0 -1
- package/lib/findFileInPackage.test.d.ts +0 -1
- package/lib/findFileInPackage.test.js +0 -112
- package/lib/findFileInPackage.test.js.map +0 -1
- package/lib/findResolveMapEntry.test.d.ts +0 -1
- package/lib/findResolveMapEntry.test.js +0 -68
- package/lib/findResolveMapEntry.test.js.map +0 -1
- package/lib/flattenExportsMap.test.d.ts +0 -1
- package/lib/flattenExportsMap.test.js +0 -207
- package/lib/flattenExportsMap.test.js.map +0 -1
- package/lib/getExportPathFromEntry.test.d.ts +0 -1
- package/lib/getExportPathFromEntry.test.js +0 -38
- package/lib/getExportPathFromEntry.test.js.map +0 -1
- package/lib/getExportsMap.test.d.ts +0 -1
- package/lib/getExportsMap.test.js +0 -30
- package/lib/getExportsMap.test.js.map +0 -1
- package/lib/isExternalPackage.test.d.ts +0 -1
- package/lib/isExternalPackage.test.js +0 -13
- package/lib/isExternalPackage.test.js.map +0 -1
- package/lib/resolve.test.d.ts +0 -1
- package/lib/resolve.test.js +0 -13
- package/lib/resolve.test.js.map +0 -1
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, afterEach } from '@jest/globals';
|
|
2
|
-
import { createExportsMap } from './createExportsMap.js';
|
|
3
|
-
import { createTestFileStructure } from '@ms-cloudpack/test-utilities';
|
|
4
|
-
import fs from 'fs';
|
|
5
|
-
const { rm } = fs.promises;
|
|
6
|
-
describe('createExportsMap', () => {
|
|
7
|
-
let packagePath;
|
|
8
|
-
afterEach(async () => {
|
|
9
|
-
if (packagePath) {
|
|
10
|
-
await rm(packagePath, { recursive: true });
|
|
11
|
-
packagePath = undefined;
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
it('can return a blank import map for something with nothing to export', async () => {
|
|
15
|
-
packagePath = await createTestFileStructure({
|
|
16
|
-
'package.json': {},
|
|
17
|
-
});
|
|
18
|
-
expect(await createExportsMap(packagePath)).toEqual({});
|
|
19
|
-
});
|
|
20
|
-
it('can generate an exports map for a package with an implicit index.js file', async () => {
|
|
21
|
-
packagePath = await createTestFileStructure({
|
|
22
|
-
'package.json': {},
|
|
23
|
-
'index.js': '',
|
|
24
|
-
});
|
|
25
|
-
expect(await createExportsMap(packagePath)).toEqual({
|
|
26
|
-
'.': {
|
|
27
|
-
default: './index.js',
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
it('can generate an exports map for a package with a main export as esm', async () => {
|
|
32
|
-
packagePath = await createTestFileStructure({
|
|
33
|
-
'package.json': {
|
|
34
|
-
type: 'module',
|
|
35
|
-
},
|
|
36
|
-
'index.js': '',
|
|
37
|
-
});
|
|
38
|
-
const exportsMap = await createExportsMap(packagePath);
|
|
39
|
-
expect(exportsMap).toEqual({
|
|
40
|
-
'.': {
|
|
41
|
-
import: './index.js',
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
it('can generate an exports map for a package with a main export as cjs and types', async () => {
|
|
46
|
-
packagePath = await createTestFileStructure({
|
|
47
|
-
'package.json': { main: 'main', types: 'main.d.ts' },
|
|
48
|
-
'main.js': '',
|
|
49
|
-
'main.d.ts': '',
|
|
50
|
-
});
|
|
51
|
-
expect(await createExportsMap(packagePath)).toMatchInlineSnapshot(`
|
|
52
|
-
{
|
|
53
|
-
".": {
|
|
54
|
-
"default": "./main.js",
|
|
55
|
-
"types": "./main.d.ts",
|
|
56
|
-
},
|
|
57
|
-
}
|
|
58
|
-
`);
|
|
59
|
-
});
|
|
60
|
-
it('can generate an exports map for a package with a module export', async () => {
|
|
61
|
-
packagePath = await createTestFileStructure({
|
|
62
|
-
'package.json': { module: 'module', types: 'module.d.ts' },
|
|
63
|
-
'module.js': '',
|
|
64
|
-
'module.d.ts': '',
|
|
65
|
-
});
|
|
66
|
-
expect(await createExportsMap(packagePath)).toMatchInlineSnapshot(`
|
|
67
|
-
{
|
|
68
|
-
".": {
|
|
69
|
-
"import": "./module.js",
|
|
70
|
-
"types": "./module.d.ts",
|
|
71
|
-
},
|
|
72
|
-
}
|
|
73
|
-
`);
|
|
74
|
-
});
|
|
75
|
-
it('can generate an exports map for a package with a main, module, and browser entry', async () => {
|
|
76
|
-
packagePath = await createTestFileStructure({
|
|
77
|
-
'package.json': {
|
|
78
|
-
name: 'browser-export',
|
|
79
|
-
main: 'main.js',
|
|
80
|
-
module: 'module.js',
|
|
81
|
-
browser: 'browser.js',
|
|
82
|
-
},
|
|
83
|
-
'main.js': '',
|
|
84
|
-
'module.js': '',
|
|
85
|
-
'browser.js': '',
|
|
86
|
-
});
|
|
87
|
-
expect(await createExportsMap(packagePath)).toMatchInlineSnapshot(`
|
|
88
|
-
{
|
|
89
|
-
".": {
|
|
90
|
-
"browser": "./browser.js",
|
|
91
|
-
"default": "./main.js",
|
|
92
|
-
"import": "./module.js",
|
|
93
|
-
},
|
|
94
|
-
}
|
|
95
|
-
`);
|
|
96
|
-
});
|
|
97
|
-
it('can expand browser mappings into additional entries', async () => {
|
|
98
|
-
packagePath = await createTestFileStructure({
|
|
99
|
-
'package.json': {
|
|
100
|
-
name: 'browser-export',
|
|
101
|
-
main: 'main',
|
|
102
|
-
browser: {
|
|
103
|
-
main: 'browser.js',
|
|
104
|
-
foo: 'foo-browser.js',
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
'main.js': '',
|
|
108
|
-
'foo.js': '',
|
|
109
|
-
'foo-browser.js': '',
|
|
110
|
-
'browser.js': '',
|
|
111
|
-
});
|
|
112
|
-
expect(await createExportsMap(packagePath)).toMatchInlineSnapshot(`
|
|
113
|
-
{
|
|
114
|
-
".": {
|
|
115
|
-
"browser": "./browser.js",
|
|
116
|
-
"default": "./main.js",
|
|
117
|
-
},
|
|
118
|
-
"./foo": {
|
|
119
|
-
"browser": "./foo-browser.js",
|
|
120
|
-
},
|
|
121
|
-
}
|
|
122
|
-
`);
|
|
123
|
-
});
|
|
124
|
-
it('can generate an exports map for a package with a type/source exports', async () => {
|
|
125
|
-
packagePath = await createTestFileStructure({
|
|
126
|
-
'package.json': {
|
|
127
|
-
name: 'browser-export',
|
|
128
|
-
typings: './lib/index.d.ts',
|
|
129
|
-
module: './lib/index.js',
|
|
130
|
-
},
|
|
131
|
-
'lib/index.js': '',
|
|
132
|
-
'lib/index.d.ts': '',
|
|
133
|
-
'src/index.tsx': '',
|
|
134
|
-
});
|
|
135
|
-
expect(await createExportsMap(packagePath)).toMatchInlineSnapshot(`
|
|
136
|
-
{
|
|
137
|
-
".": {
|
|
138
|
-
"import": "./lib/index.js",
|
|
139
|
-
"source": "./src/index.tsx",
|
|
140
|
-
"types": "./lib/index.d.ts",
|
|
141
|
-
},
|
|
142
|
-
}
|
|
143
|
-
`);
|
|
144
|
-
});
|
|
145
|
-
it('can generate an exports map for an internal unbuilt package', async () => {
|
|
146
|
-
packagePath = await createTestFileStructure({
|
|
147
|
-
'package.json': {
|
|
148
|
-
name: 'browser-export',
|
|
149
|
-
typings: './lib/index.d.ts',
|
|
150
|
-
module: './lib/index.js',
|
|
151
|
-
},
|
|
152
|
-
'src/index.tsx': '',
|
|
153
|
-
});
|
|
154
|
-
expect(await createExportsMap(packagePath)).toMatchInlineSnapshot(`
|
|
155
|
-
{
|
|
156
|
-
".": {
|
|
157
|
-
"import": "./lib/index.js",
|
|
158
|
-
"source": "./src/index.tsx",
|
|
159
|
-
"types": "./lib/index.d.ts",
|
|
160
|
-
},
|
|
161
|
-
}
|
|
162
|
-
`);
|
|
163
|
-
});
|
|
164
|
-
it('can generate an exports map and ignore a browser entry does not exist', async () => {
|
|
165
|
-
packagePath = await createTestFileStructure({
|
|
166
|
-
'package.json': {
|
|
167
|
-
main: 'main.js',
|
|
168
|
-
module: 'module.js',
|
|
169
|
-
browser: 'browser.js',
|
|
170
|
-
},
|
|
171
|
-
'main.js': '',
|
|
172
|
-
'module.js': '',
|
|
173
|
-
});
|
|
174
|
-
expect(await createExportsMap(packagePath)).toMatchInlineSnapshot(`
|
|
175
|
-
{
|
|
176
|
-
".": {
|
|
177
|
-
"default": "./main.js",
|
|
178
|
-
"import": "./module.js",
|
|
179
|
-
},
|
|
180
|
-
}
|
|
181
|
-
`);
|
|
182
|
-
});
|
|
183
|
-
it('can generate an exports map for an external package with implicit type exports', async () => {
|
|
184
|
-
packagePath = await createTestFileStructure({
|
|
185
|
-
'package.json': {
|
|
186
|
-
main: 'lib/main.js',
|
|
187
|
-
typings: 'typings/main.d.ts',
|
|
188
|
-
},
|
|
189
|
-
'lib/main.js': '',
|
|
190
|
-
'typings/main.d.ts': '',
|
|
191
|
-
});
|
|
192
|
-
expect(await createExportsMap(packagePath)).toMatchInlineSnapshot(`
|
|
193
|
-
{
|
|
194
|
-
".": {
|
|
195
|
-
"default": "./lib/main.js",
|
|
196
|
-
"types": "./typings/main.d.ts",
|
|
197
|
-
},
|
|
198
|
-
}
|
|
199
|
-
`);
|
|
200
|
-
});
|
|
201
|
-
it(`can find exports from browser-only packages like uuid@3.4.0`, async () => {
|
|
202
|
-
packagePath = await createTestFileStructure({
|
|
203
|
-
'package.json': {
|
|
204
|
-
name: 'uuid',
|
|
205
|
-
browser: {
|
|
206
|
-
'./lib/rng.js': './lib/rng-browser.js',
|
|
207
|
-
'./lib/sha1.js': './lib/sha1-browser.js',
|
|
208
|
-
'./lib/md5.js': './lib/md5-browser.js',
|
|
209
|
-
},
|
|
210
|
-
},
|
|
211
|
-
'lib/rng.js': '',
|
|
212
|
-
'lib/sha1.js': '',
|
|
213
|
-
'lib/md5.js': '',
|
|
214
|
-
'lib/rng-browser.js': '',
|
|
215
|
-
'lib/sha1-browser.js': '',
|
|
216
|
-
'lib/md5-browser.js': '',
|
|
217
|
-
});
|
|
218
|
-
const exportsMap = (await createExportsMap(packagePath));
|
|
219
|
-
expect(typeof exportsMap).toEqual('object');
|
|
220
|
-
expect(exportsMap?.['.']).toBeUndefined();
|
|
221
|
-
expect(exportsMap).toMatchInlineSnapshot(`
|
|
222
|
-
{
|
|
223
|
-
"./lib/md5": {
|
|
224
|
-
"browser": "./lib/md5-browser.js",
|
|
225
|
-
},
|
|
226
|
-
"./lib/rng": {
|
|
227
|
-
"browser": "./lib/rng-browser.js",
|
|
228
|
-
},
|
|
229
|
-
"./lib/sha1": {
|
|
230
|
-
"browser": "./lib/sha1-browser.js",
|
|
231
|
-
},
|
|
232
|
-
}
|
|
233
|
-
`);
|
|
234
|
-
expect(Object.keys(exportsMap).length).toBeGreaterThan(0);
|
|
235
|
-
});
|
|
236
|
-
it(`can build an exports map for styled components`, async () => {
|
|
237
|
-
packagePath = await createTestFileStructure({
|
|
238
|
-
'package.json': {
|
|
239
|
-
name: 'styled-components',
|
|
240
|
-
main: 'dist/sc.cjs.js',
|
|
241
|
-
module: 'dist/sc.esm.js',
|
|
242
|
-
browser: {
|
|
243
|
-
'./dist/sc.esm.js': './dist/sc.browser.esm.js',
|
|
244
|
-
'./dist/sc.cjs.js': './dist/sc.browser.cjs.js',
|
|
245
|
-
},
|
|
246
|
-
},
|
|
247
|
-
'dist/sc.cjs.js': '',
|
|
248
|
-
'dist/sc.esm.js': '',
|
|
249
|
-
'dist/sc.browser.cjs.js': '',
|
|
250
|
-
'dist/sc.browser.esm.js': '',
|
|
251
|
-
});
|
|
252
|
-
expect(await createExportsMap(packagePath)).toMatchInlineSnapshot(`
|
|
253
|
-
{
|
|
254
|
-
".": {
|
|
255
|
-
"browser": "./dist/sc.browser.esm.js",
|
|
256
|
-
"default": "./dist/sc.cjs.js",
|
|
257
|
-
"import": "./dist/sc.esm.js",
|
|
258
|
-
},
|
|
259
|
-
"./dist/sc.cjs": {
|
|
260
|
-
"browser": "./dist/sc.browser.cjs.js",
|
|
261
|
-
},
|
|
262
|
-
}
|
|
263
|
-
`);
|
|
264
|
-
});
|
|
265
|
-
it(`can build an exports map for a CRA TS scenario`, async () => {
|
|
266
|
-
packagePath = await createTestFileStructure({
|
|
267
|
-
'package.json': {},
|
|
268
|
-
'src/index.tsx': '',
|
|
269
|
-
});
|
|
270
|
-
const exportsMap = await createExportsMap(packagePath);
|
|
271
|
-
expect(Object.keys(exportsMap).length).toBeGreaterThan(0);
|
|
272
|
-
expect(exportsMap).toMatchInlineSnapshot(`
|
|
273
|
-
{
|
|
274
|
-
".": {
|
|
275
|
-
"default": "./lib/index.js",
|
|
276
|
-
"source": "./src/index.tsx",
|
|
277
|
-
"types": "./lib/index.d.ts",
|
|
278
|
-
},
|
|
279
|
-
}
|
|
280
|
-
`);
|
|
281
|
-
});
|
|
282
|
-
it(`can build an exports map for a CRA JS scenario`, async () => {
|
|
283
|
-
packagePath = await createTestFileStructure({
|
|
284
|
-
'package.json': {},
|
|
285
|
-
'src/index.js': '',
|
|
286
|
-
});
|
|
287
|
-
const exportsMap = await createExportsMap(packagePath);
|
|
288
|
-
expect(exportsMap).toMatchInlineSnapshot(`
|
|
289
|
-
{
|
|
290
|
-
".": {
|
|
291
|
-
"default": "./lib/index.js",
|
|
292
|
-
"source": "./src/index.js",
|
|
293
|
-
"types": "./lib/index.d.ts",
|
|
294
|
-
},
|
|
295
|
-
}
|
|
296
|
-
`);
|
|
297
|
-
});
|
|
298
|
-
it(`can find a root index file.`, async () => {
|
|
299
|
-
packagePath = await createTestFileStructure({
|
|
300
|
-
'package.json': {},
|
|
301
|
-
'index.js': '',
|
|
302
|
-
});
|
|
303
|
-
const exportsMap = await createExportsMap(packagePath);
|
|
304
|
-
expect(exportsMap).toMatchInlineSnapshot(`
|
|
305
|
-
{
|
|
306
|
-
".": {
|
|
307
|
-
"default": "./index.js",
|
|
308
|
-
},
|
|
309
|
-
}
|
|
310
|
-
`);
|
|
311
|
-
});
|
|
312
|
-
});
|
|
313
|
-
//# sourceMappingURL=createExportsMap.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createExportsMap.test.js","sourceRoot":"","sources":["../src/createExportsMap.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, afterEach } from '@jest/globals';
|
|
2
|
-
import { createTestFileStructure } from '@ms-cloudpack/test-utilities';
|
|
3
|
-
import { createImportMap } from './createImportMap.js';
|
|
4
|
-
import { PackageDefinitions } from './PackageDefinitions.js';
|
|
5
|
-
import fs from 'fs';
|
|
6
|
-
const { rm } = fs.promises;
|
|
7
|
-
const defaultServer = 'http://localhost:8080';
|
|
8
|
-
describe('createImportMap', () => {
|
|
9
|
-
let testPath;
|
|
10
|
-
afterEach(async () => {
|
|
11
|
-
if (testPath) {
|
|
12
|
-
await rm(testPath, { recursive: true });
|
|
13
|
-
testPath = undefined;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
it('can generate an import map for a package with a main', async () => {
|
|
17
|
-
testPath = await createTestFileStructure({
|
|
18
|
-
'package.json': {
|
|
19
|
-
name: 'foo',
|
|
20
|
-
version: '1.0.0',
|
|
21
|
-
main: './index.js',
|
|
22
|
-
},
|
|
23
|
-
'index.js': '',
|
|
24
|
-
});
|
|
25
|
-
const resolveMap = {
|
|
26
|
-
foo: {
|
|
27
|
-
name: 'foo',
|
|
28
|
-
version: '1.0.0',
|
|
29
|
-
path: testPath,
|
|
30
|
-
requiredBy: {},
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
expect(await createImportMap(resolveMap, defaultServer)).toMatchInlineSnapshot(`
|
|
34
|
-
{
|
|
35
|
-
"imports": {
|
|
36
|
-
"foo": "http://localhost:8080/foo@1.0.0/v0/bundled/index.js",
|
|
37
|
-
},
|
|
38
|
-
}
|
|
39
|
-
`);
|
|
40
|
-
});
|
|
41
|
-
it('can return an unbundled entry for external packages with browser-esm', async () => {
|
|
42
|
-
const resolveMap = {
|
|
43
|
-
foo: {
|
|
44
|
-
name: 'foo',
|
|
45
|
-
version: '1.0.0',
|
|
46
|
-
path: '/node_modules/foo',
|
|
47
|
-
requiredBy: {},
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
const packages = new PackageDefinitions({
|
|
51
|
-
'/node_modules/foo': {
|
|
52
|
-
name: 'foo',
|
|
53
|
-
version: '1.0.0',
|
|
54
|
-
exports: {
|
|
55
|
-
'.': {
|
|
56
|
-
'browser-esm': './browser-esm.js',
|
|
57
|
-
browser: './browser.js',
|
|
58
|
-
default: './default.js',
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
});
|
|
63
|
-
expect(await createImportMap(resolveMap, defaultServer, { packages })).toMatchInlineSnapshot(`
|
|
64
|
-
{
|
|
65
|
-
"imports": {
|
|
66
|
-
"foo": "http://localhost:8080/foo@1.0.0/v0/unbundled/browser-esm.js",
|
|
67
|
-
},
|
|
68
|
-
}
|
|
69
|
-
`);
|
|
70
|
-
});
|
|
71
|
-
it('can return a bundled entry for internal packages with browser-esm', async () => {
|
|
72
|
-
const resolveMap = {
|
|
73
|
-
foo: {
|
|
74
|
-
name: 'foo',
|
|
75
|
-
version: '1.0.0',
|
|
76
|
-
path: '/foo',
|
|
77
|
-
requiredBy: {},
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
const packages = new PackageDefinitions({
|
|
81
|
-
'/foo': {
|
|
82
|
-
name: 'foo',
|
|
83
|
-
version: '1.0.0',
|
|
84
|
-
exports: {
|
|
85
|
-
'.': {
|
|
86
|
-
'browser-esm': './browser-esm.js',
|
|
87
|
-
browser: './browser.js',
|
|
88
|
-
default: './default.js',
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
expect(await createImportMap(resolveMap, defaultServer, { packages })).toMatchInlineSnapshot(`
|
|
94
|
-
{
|
|
95
|
-
"imports": {
|
|
96
|
-
"foo": "http://localhost:8080/foo@1.0.0/v0/bundled/browser.js",
|
|
97
|
-
},
|
|
98
|
-
}
|
|
99
|
-
`);
|
|
100
|
-
});
|
|
101
|
-
it('can generate an import map for a package and append a refresh version', async () => {
|
|
102
|
-
testPath = await createTestFileStructure({
|
|
103
|
-
'package.json': {
|
|
104
|
-
name: 'foo',
|
|
105
|
-
version: '1.0.0',
|
|
106
|
-
main: './index.js',
|
|
107
|
-
},
|
|
108
|
-
'index.js': '',
|
|
109
|
-
});
|
|
110
|
-
const resolveMap = {
|
|
111
|
-
foo: {
|
|
112
|
-
name: 'foo',
|
|
113
|
-
version: '1.0.0',
|
|
114
|
-
path: testPath,
|
|
115
|
-
requiredBy: {},
|
|
116
|
-
},
|
|
117
|
-
};
|
|
118
|
-
expect(await createImportMap(resolveMap, defaultServer, { sessionVersion: 3 })).toMatchInlineSnapshot(`
|
|
119
|
-
{
|
|
120
|
-
"imports": {
|
|
121
|
-
"foo": "http://localhost:8080/foo@1.0.0/v3/bundled/index.js",
|
|
122
|
-
},
|
|
123
|
-
}
|
|
124
|
-
`);
|
|
125
|
-
});
|
|
126
|
-
it('can generate an import map for a package and append a refresh and task version', async () => {
|
|
127
|
-
testPath = await createTestFileStructure({
|
|
128
|
-
'package.json': {
|
|
129
|
-
name: 'foo',
|
|
130
|
-
version: '1.0.0',
|
|
131
|
-
main: './index.js',
|
|
132
|
-
},
|
|
133
|
-
'index.js': '',
|
|
134
|
-
});
|
|
135
|
-
const resolveMap = {
|
|
136
|
-
foo: {
|
|
137
|
-
name: 'foo',
|
|
138
|
-
version: '1.0.0',
|
|
139
|
-
path: testPath,
|
|
140
|
-
requiredBy: {},
|
|
141
|
-
},
|
|
142
|
-
};
|
|
143
|
-
expect(await createImportMap(resolveMap, defaultServer, {
|
|
144
|
-
sessionVersion: 3,
|
|
145
|
-
targetVersions: { [testPath]: 2 },
|
|
146
|
-
})).toMatchInlineSnapshot(`
|
|
147
|
-
{
|
|
148
|
-
"imports": {
|
|
149
|
-
"foo": "http://localhost:8080/foo@1.0.0/v3.2/bundled/index.js",
|
|
150
|
-
},
|
|
151
|
-
}
|
|
152
|
-
`);
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
|
-
//# sourceMappingURL=createImportMap.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createImportMap.test.js","sourceRoot":"","sources":["../src/createImportMap.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|