@ms-cloudpack/package-utilities 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.json +31 -1
  2. package/CHANGELOG.md +18 -2
  3. package/lib/PackageDefinitions.d.ts +1 -0
  4. package/lib/PackageDefinitions.js +2 -1
  5. package/lib/PackageDefinitions.js.map +1 -1
  6. package/lib/createExportsMap.d.ts +12 -0
  7. package/lib/createExportsMap.js +105 -0
  8. package/lib/createExportsMap.js.map +1 -0
  9. package/lib/{evaluateImportsFromEntries.test.d.ts → createExportsMap.test.d.ts} +0 -0
  10. package/lib/createExportsMap.test.js +131 -0
  11. package/lib/createExportsMap.test.js.map +1 -0
  12. package/lib/createImportMap.d.ts +7 -2
  13. package/lib/createImportMap.js +49 -29
  14. package/lib/createImportMap.js.map +1 -1
  15. package/lib/createImportMap.test.js +44 -157
  16. package/lib/createImportMap.test.js.map +1 -1
  17. package/lib/createResolveMap.test.js +6 -5
  18. package/lib/createResolveMap.test.js.map +1 -1
  19. package/lib/{getFlattenedExportsMap.d.ts → flattenExportsMap.d.ts} +4 -1
  20. package/lib/flattenExportsMap.js +67 -0
  21. package/lib/flattenExportsMap.js.map +1 -0
  22. package/lib/{generateExportsMap.test.d.ts → flattenExportsMap.test.d.ts} +0 -0
  23. package/lib/flattenExportsMap.test.js +185 -0
  24. package/lib/flattenExportsMap.test.js.map +1 -0
  25. package/lib/getExportPathFromEntry.js +2 -1
  26. package/lib/getExportPathFromEntry.js.map +1 -1
  27. package/lib/getExportPathFromEntry.test.js +0 -8
  28. package/lib/getExportPathFromEntry.test.js.map +1 -1
  29. package/lib/getExportsMap.d.ts +5 -0
  30. package/lib/getExportsMap.js +11 -0
  31. package/lib/getExportsMap.js.map +1 -0
  32. package/lib/index.d.ts +2 -3
  33. package/lib/index.js +2 -3
  34. package/lib/index.js.map +1 -1
  35. package/lib/resolveImportFromPackage.test.js +22 -7
  36. package/lib/resolveImportFromPackage.test.js.map +1 -1
  37. package/lib/resolveImportFromPackagePath.d.ts +8 -5
  38. package/lib/resolveImportFromPackagePath.js +55 -43
  39. package/lib/resolveImportFromPackagePath.js.map +1 -1
  40. package/lib/resolvePackageEntries.d.ts +8 -2
  41. package/lib/resolvePackageEntries.js +8 -37
  42. package/lib/resolvePackageEntries.js.map +1 -1
  43. package/lib/resolvePackageEntries.test.js +76 -77
  44. package/lib/resolvePackageEntries.test.js.map +1 -1
  45. package/lib/safeRelativePath.d.ts +4 -0
  46. package/lib/safeRelativePath.js +19 -0
  47. package/lib/safeRelativePath.js.map +1 -0
  48. package/lib/{getFlattenedExportsMap.test.d.ts → safeRelativePath.test.d.ts} +0 -0
  49. package/lib/safeRelativePath.test.js +17 -0
  50. package/lib/safeRelativePath.test.js.map +1 -0
  51. package/package.json +2 -2
  52. package/lib/evaluateImportsFromEntries.d.ts +0 -31
  53. package/lib/evaluateImportsFromEntries.js +0 -151
  54. package/lib/evaluateImportsFromEntries.js.map +0 -1
  55. package/lib/evaluateImportsFromEntries.test.js +0 -39
  56. package/lib/evaluateImportsFromEntries.test.js.map +0 -1
  57. package/lib/generateExportsMap.d.ts +0 -9
  58. package/lib/generateExportsMap.js +0 -80
  59. package/lib/generateExportsMap.js.map +0 -1
  60. package/lib/generateExportsMap.test.js +0 -100
  61. package/lib/generateExportsMap.test.js.map +0 -1
  62. package/lib/getFlattenedExportsMap.js +0 -77
  63. package/lib/getFlattenedExportsMap.js.map +0 -1
  64. package/lib/getFlattenedExportsMap.test.js +0 -270
  65. package/lib/getFlattenedExportsMap.test.js.map +0 -1
@@ -1,270 +0,0 @@
1
- import { describe, it, expect } from '@jest/globals';
2
- import { getFlattenedExportsMap } from './getFlattenedExportsMap.js';
3
- describe('getFlattenedExportsMap', () => {
4
- it('can translate a package with no entries', () => {
5
- expect(getFlattenedExportsMap({
6
- name: 'a',
7
- })).toMatchInlineSnapshot(`{}`);
8
- });
9
- it('can translate a package with an export map', () => {
10
- expect(getFlattenedExportsMap({
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', () => {
22
- expect(getFlattenedExportsMap({
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', () => {
36
- expect(getFlattenedExportsMap({
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', () => {
50
- expect(getFlattenedExportsMap({
51
- name: 'a',
52
- exports: {
53
- notmatched: {
54
- '.': './foo.js',
55
- },
56
- },
57
- })).toMatchInlineSnapshot(`{}`);
58
- });
59
- it('can prefer browser over import', () => {
60
- expect(getFlattenedExportsMap({
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', () => {
76
- expect(getFlattenedExportsMap({
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(getFlattenedExportsMap({
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(getFlattenedExportsMap({
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(getFlattenedExportsMap({
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(getFlattenedExportsMap({
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(getFlattenedExportsMap({
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(getFlattenedExportsMap({
167
- name: 'a',
168
- main: 'index',
169
- })).toMatchInlineSnapshot(`
170
- {
171
- ".": "./index.js",
172
- }
173
- `);
174
- });
175
- it(`can get only sass entries`, () => {
176
- expect(getFlattenedExportsMap({
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(getFlattenedExportsMap({
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(getFlattenedExportsMap({
211
- name: 'tslib',
212
- main: 'foo/',
213
- })).toMatchInlineSnapshot(`{}`);
214
- });
215
- it(`can ignore wildcards in exports`, () => {
216
- expect(getFlattenedExportsMap({
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(getFlattenedExportsMap({
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(getFlattenedExportsMap({
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
- it(`avoids returning a default entry if an exports map doesn't include it`, () => {
260
- const exportsMap = getFlattenedExportsMap({
261
- name: 'a',
262
- main: 'index.js',
263
- exports: {
264
- './foo': './foo.js',
265
- },
266
- });
267
- expect(exportsMap['.']).toBeUndefined();
268
- });
269
- });
270
- //# sourceMappingURL=getFlattenedExportsMap.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFlattenedExportsMap.test.js","sourceRoot":"","sources":["../src/getFlattenedExportsMap.test.ts"],"names":[],"mappings":"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"}