@ms-cloudpack/package-utilities 2.2.2 → 2.3.1

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 (60) hide show
  1. package/CHANGELOG.json +55 -1
  2. package/CHANGELOG.md +22 -2
  3. package/lib/PackageDefinitions.d.ts +1 -2
  4. package/lib/PackageDefinitions.js.map +1 -1
  5. package/lib/addExportsMapEntry.d.ts +2 -3
  6. package/lib/addExportsMapEntry.js +1 -0
  7. package/lib/addExportsMapEntry.js.map +1 -1
  8. package/lib/createExportsMap.d.ts +2 -3
  9. package/lib/createExportsMap.js.map +1 -1
  10. package/lib/createResolveMap.js.map +1 -1
  11. package/lib/findResolveMapEntry.d.ts +1 -1
  12. package/lib/flattenExportsMap.d.ts +2 -2
  13. package/lib/flattenExportsMap.js +26 -32
  14. package/lib/flattenExportsMap.js.map +1 -1
  15. package/lib/getExportPathFromEntry.d.ts +2 -2
  16. package/lib/getExportPathFromEntry.js +16 -20
  17. package/lib/getExportPathFromEntry.js.map +1 -1
  18. package/lib/getExportsMap.d.ts +2 -3
  19. package/lib/getExportsMap.js.map +1 -1
  20. package/lib/tsdoc-metadata.json +1 -1
  21. package/package.json +5 -5
  22. package/lib/PackageDefinitions.test.d.ts +0 -1
  23. package/lib/PackageDefinitions.test.js +0 -89
  24. package/lib/PackageDefinitions.test.js.map +0 -1
  25. package/lib/addExportsMapEntry.test.d.ts +0 -1
  26. package/lib/addExportsMapEntry.test.js +0 -182
  27. package/lib/addExportsMapEntry.test.js.map +0 -1
  28. package/lib/createExportsMap.test.d.ts +0 -1
  29. package/lib/createExportsMap.test.js +0 -313
  30. package/lib/createExportsMap.test.js.map +0 -1
  31. package/lib/createImportMap.test.d.ts +0 -1
  32. package/lib/createImportMap.test.js +0 -155
  33. package/lib/createImportMap.test.js.map +0 -1
  34. package/lib/createResolveMap.test.d.ts +0 -1
  35. package/lib/createResolveMap.test.js +0 -263
  36. package/lib/createResolveMap.test.js.map +0 -1
  37. package/lib/detectModuleType.test.d.ts +0 -1
  38. package/lib/detectModuleType.test.js +0 -32
  39. package/lib/detectModuleType.test.js.map +0 -1
  40. package/lib/findFileInPackage.test.d.ts +0 -1
  41. package/lib/findFileInPackage.test.js +0 -112
  42. package/lib/findFileInPackage.test.js.map +0 -1
  43. package/lib/findResolveMapEntry.test.d.ts +0 -1
  44. package/lib/findResolveMapEntry.test.js +0 -68
  45. package/lib/findResolveMapEntry.test.js.map +0 -1
  46. package/lib/flattenExportsMap.test.d.ts +0 -1
  47. package/lib/flattenExportsMap.test.js +0 -207
  48. package/lib/flattenExportsMap.test.js.map +0 -1
  49. package/lib/getExportPathFromEntry.test.d.ts +0 -1
  50. package/lib/getExportPathFromEntry.test.js +0 -38
  51. package/lib/getExportPathFromEntry.test.js.map +0 -1
  52. package/lib/getExportsMap.test.d.ts +0 -1
  53. package/lib/getExportsMap.test.js +0 -30
  54. package/lib/getExportsMap.test.js.map +0 -1
  55. package/lib/isExternalPackage.test.d.ts +0 -1
  56. package/lib/isExternalPackage.test.js +0 -13
  57. package/lib/isExternalPackage.test.js.map +0 -1
  58. package/lib/resolve.test.d.ts +0 -1
  59. package/lib/resolve.test.js +0 -13
  60. package/lib/resolve.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"createImportMap.test.js","sourceRoot":"","sources":["../src/createImportMap.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC;AAC3B,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAE9C,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,QAA4B,CAAC;IAEjC,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,QAAQ,EAAE;YACZ,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,QAAQ,GAAG,SAAS,CAAC;SACtB;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,QAAQ,GAAG,MAAM,uBAAuB,CAAC;YACvC,cAAc,EAAE;gBACd,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,YAAY;aACnB;YACD,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;QAEH,MAAM,UAAU,GAAe;YAC7B,GAAG,EAAE;gBACH,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;aACf;SACF,CAAC;QAEF,MAAM,CAAC,MAAM,eAAe,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;KAM9E,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,UAAU,GAAe;YAC7B,GAAG,EAAE;gBACH,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,mBAAmB;gBACzB,UAAU,EAAE,EAAE;aACf;SACF,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC;YACtC,mBAAmB,EAAE;gBACnB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE;oBACP,GAAG,EAAE;wBACH,aAAa,EAAE,kBAAkB;wBACjC,OAAO,EAAE,cAAc;wBACvB,OAAO,EAAE,cAAc;qBACxB;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;OAM1F,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,UAAU,GAAe;YAC7B,GAAG,EAAE;gBACH,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,EAAE;aACf;SACF,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC;YACtC,MAAM,EAAE;gBACN,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE;oBACP,GAAG,EAAE;wBACH,aAAa,EAAE,kBAAkB;wBACjC,OAAO,EAAE,cAAc;wBACvB,OAAO,EAAE,cAAc;qBACxB;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;KAM5F,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,QAAQ,GAAG,MAAM,uBAAuB,CAAC;YACvC,cAAc,EAAE;gBACd,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,YAAY;aACnB;YACD,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;QAEH,MAAM,UAAU,GAAe;YAC7B,GAAG,EAAE;gBACH,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;aACf;SACF,CAAC;QAEF,MAAM,CAAC,MAAM,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;KAMrG,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,QAAQ,GAAG,MAAM,uBAAuB,CAAC;YACvC,cAAc,EAAE;gBACd,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,YAAY;aACnB;YACD,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;QAEH,MAAM,UAAU,GAAe;YAC7B,GAAG,EAAE;gBACH,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;aACf;SACF,CAAC;QAEF,MAAM,CACJ,MAAM,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE;YAC/C,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;SAClC,CAAC,CACH,CAAC,qBAAqB,CAAC;;;;;;KAMvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,263 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach } from '@jest/globals';
2
- import { slash } from '@ms-cloudpack/path-string-parsing';
3
- import path from 'path';
4
- import { createResolveMap } from './createResolveMap.js';
5
- import { filterJson } from './filterJson.js';
6
- import { testProject1Path, testProjectFluentPath, testRepoPath, testUninstalledProjectPath, testWithReact16Path, testWithReact17Path, testWithUnmetDependenciesPath, testWithUnmetPeerDependenciesPath, } from '../src/testPaths.js';
7
- import os from 'os';
8
- import { v4 as uuid } from 'uuid';
9
- import fs from 'fs';
10
- import { writeJson } from '@ms-cloudpack/json-utilities';
11
- import { fileURLToPath } from 'url';
12
- const { rm, mkdir, realpath } = fs.promises;
13
- const createResolveMapSafe = async (options) => {
14
- const resolveMap = await createResolveMap(options);
15
- return filterJson(resolveMap, 'path', (oldPath) => {
16
- return slash(path.relative(options.appPath, oldPath));
17
- });
18
- };
19
- const currentPath = path.dirname(fileURLToPath(import.meta.url));
20
- let tempFolderPath;
21
- /*
22
- * Helper which builds a temporary app install directory given a recursive array of [name, version, deps] recursive tuples.
23
- */
24
- const constructDependencies = async (dependency, appPath = tempFolderPath) => {
25
- const [name, version, deps] = dependency;
26
- await mkdir(appPath, { recursive: true });
27
- await writeJson(path.join(appPath, 'package.json'), {
28
- name,
29
- version,
30
- dependencies: deps?.reduce((acc, [name, version]) => ({ ...acc, [name]: version }), {}),
31
- });
32
- if (deps) {
33
- for (const dep of deps) {
34
- await constructDependencies(dep, path.join(appPath, 'node_modules', dep[0]));
35
- }
36
- }
37
- return appPath;
38
- };
39
- describe('createResolveMap', () => {
40
- beforeEach(async () => {
41
- tempFolderPath = path.join(os.tmpdir(), 'cloudpack-' + uuid());
42
- await mkdir(tempFolderPath, { recursive: true });
43
- tempFolderPath = await realpath(tempFolderPath);
44
- });
45
- afterEach(async () => {
46
- await rm(tempFolderPath, { recursive: true });
47
- });
48
- it('can create a resolve map', async () => {
49
- expect(await createResolveMapSafe({ appPath: testProject1Path })).toMatchInlineSnapshot(`
50
- {
51
- "b": {
52
- "name": "b",
53
- "path": "node_modules/b",
54
- "requiredBy": {
55
- "test-project-1@0.0.1": "^1.0.0",
56
- },
57
- "version": "1.0.0",
58
- },
59
- "c": {
60
- "name": "c",
61
- "path": "node_modules/c",
62
- "requiredBy": {
63
- "test-project-1@0.0.1": "^1.0.0",
64
- },
65
- "version": "1.0.0",
66
- },
67
- "test-project-1": {
68
- "name": "test-project-1",
69
- "path": "",
70
- "requiredBy": {},
71
- "version": "0.0.1",
72
- },
73
- }
74
- `);
75
- });
76
- it('can create a resolve map for a project with a fluent package', async () => {
77
- expect(await createResolveMapSafe({ appPath: testProjectFluentPath })).toMatchInlineSnapshot(`
78
- {
79
- "@fluentui/react": {
80
- "name": "@fluentui/react",
81
- "path": "node_modules/@fluentui/react",
82
- "requiredBy": {
83
- "test-project-fluent@1.0.0": "^8.42.0",
84
- },
85
- "version": "8.82.1",
86
- },
87
- "@fluentui/theme": {
88
- "name": "@fluentui/theme",
89
- "path": "node_modules/@fluentui/theme",
90
- "requiredBy": {
91
- "@fluentui/react@8.82.1": "^2.6.7",
92
- },
93
- "version": "2.6.7",
94
- },
95
- "@fluentui/utilities": {
96
- "name": "@fluentui/utilities",
97
- "path": "node_modules/@fluentui/utilities",
98
- "requiredBy": {
99
- "@fluentui/react@8.82.1": "^8.9.0",
100
- "@fluentui/theme@2.6.7": "^8.9.0",
101
- },
102
- "version": "8.9.0",
103
- },
104
- "test-project-fluent": {
105
- "name": "test-project-fluent",
106
- "path": "",
107
- "requiredBy": {},
108
- "version": "1.0.0",
109
- },
110
- }
111
- `);
112
- });
113
- it('prefers react 18 when most depend on it', async () => {
114
- expect(await createResolveMapSafe({
115
- appPath: await constructDependencies([
116
- 'testApp',
117
- '1.0.0',
118
- [
119
- ['library-a', '1.0.0', [['react', '17.0.0']]],
120
- ['library-b', '1.0.0', [['react', '18.0.0']]],
121
- ['react', '18.0.0'],
122
- ],
123
- ]),
124
- })).toMatchInlineSnapshot(`
125
- {
126
- "library-a": {
127
- "name": "library-a",
128
- "path": "node_modules/library-a",
129
- "requiredBy": {
130
- "testApp@1.0.0": "1.0.0",
131
- },
132
- "version": "1.0.0",
133
- },
134
- "library-b": {
135
- "name": "library-b",
136
- "path": "node_modules/library-b",
137
- "requiredBy": {
138
- "testApp@1.0.0": "1.0.0",
139
- },
140
- "version": "1.0.0",
141
- },
142
- "react": {
143
- "name": "react",
144
- "path": "node_modules/react",
145
- "requiredBy": {
146
- "library-b@1.0.0": "18.0.0",
147
- "testApp@1.0.0": "18.0.0",
148
- },
149
- "scopedVersions": {
150
- "17.0.0": {
151
- "name": "react",
152
- "path": "node_modules/library-a/node_modules/react",
153
- "requiredBy": {
154
- "library-a@1.0.0": "17.0.0",
155
- },
156
- "version": "17.0.0",
157
- },
158
- },
159
- "version": "18.0.0",
160
- },
161
- "testApp": {
162
- "name": "testApp",
163
- "path": "",
164
- "requiredBy": {},
165
- "version": "1.0.0",
166
- },
167
- }
168
- `);
169
- });
170
- it('prefers react 17 because it is most used transient dependency', async () => {
171
- const resolveMap = await createResolveMapSafe({
172
- appPath: await constructDependencies([
173
- 'testApp',
174
- '1.0.0',
175
- [
176
- ['library-a', '1.0.0', [['react', '17.0.0', []]]],
177
- ['library-b', '1.0.0', [['react', '17.0.0', []]]],
178
- ['library-c', '1.0.0', [['react', '18.0.0', []]]],
179
- ],
180
- ]),
181
- });
182
- expect(resolveMap['react'].version).toBe('17.0.0');
183
- });
184
- it('prefers react 18 because it is an app dependency', async () => {
185
- const resolveMap = await createResolveMapSafe({
186
- appPath: await constructDependencies([
187
- 'testApp',
188
- '1.0.0',
189
- [
190
- ['library-a', '1.0.0', [['react', '17.0.0', []]]],
191
- ['library-b', '1.0.0', [['react', '17.0.0', []]]],
192
- ['react', '18.0.0', []],
193
- ],
194
- ]),
195
- });
196
- expect(resolveMap['react'].version).toBe('18.0.0');
197
- });
198
- it('can support monorepo scenarios and resolve the repo react version', async () => {
199
- expect(await createResolveMapSafe({
200
- appPath: path.join(testRepoPath, 'packages/app-with-installed-react'),
201
- gitRootPath: testRepoPath,
202
- })).toMatchInlineSnapshot(`
203
- {
204
- "app-with-installed-react": {
205
- "name": "app-with-installed-react",
206
- "path": "",
207
- "requiredBy": {},
208
- "version": "1.0.0",
209
- },
210
- "react": {
211
- "name": "react",
212
- "path": "../../node_modules/react",
213
- "requiredBy": {
214
- "app-with-installed-react@1.0.0": "999.0.0",
215
- },
216
- "version": "999.0.0",
217
- },
218
- }
219
- `);
220
- });
221
- it('can throw when the monorepo is missing a semver required version of react using strict versioning checks', async () => {
222
- await expect(createResolveMapSafe({
223
- appPath: path.join(testRepoPath, 'packages/app-with-missing-react'),
224
- gitRootPath: testRepoPath,
225
- strictVersioning: true,
226
- })).rejects.toBeTruthy();
227
- });
228
- it(`can throw an error if a dependency is missing`, async () => {
229
- await expect(createResolveMapSafe({
230
- appPath: testUninstalledProjectPath,
231
- gitRootPath: testUninstalledProjectPath,
232
- })).rejects.toBeTruthy();
233
- });
234
- it(`can throw an error if appPath doesn't exist`, async () => {
235
- await expect(createResolveMapSafe({ appPath: path.join(testUninstalledProjectPath, 'does-not-exist') })).rejects.toBeTruthy();
236
- });
237
- it(`can throw an error if appPath exists but is missing package.json`, async () => {
238
- await expect(createResolveMapSafe({ appPath: currentPath })).rejects.toBeTruthy();
239
- });
240
- // In this test, react-dom has a peer dependency on react, and should be listed in requiredBy. Otherwise
241
- // when react-dom imports react, it will use the app's version (which is not what we want.)
242
- it(`can prefer react 16 but scope react 17`, async () => {
243
- expect(await createResolveMapSafe({ appPath: testWithReact16Path, additionalPaths: [testWithReact17Path] })).toMatchSnapshot();
244
- });
245
- it(`can prefer react 17 but scope react 16`, async () => {
246
- expect(await createResolveMapSafe({ appPath: testWithReact17Path, additionalPaths: [testWithReact16Path] })).toMatchSnapshot();
247
- });
248
- // it(`can prefer app dependencies that align with library semver requirements`, () => { });
249
- it(`can fail with an unmet dependency`, async () => {
250
- await expect(createResolveMapSafe({
251
- appPath: testWithUnmetDependenciesPath,
252
- gitRootPath: testWithUnmetDependenciesPath,
253
- })).rejects.toBeTruthy();
254
- });
255
- // Because repos depend on things which have unmet peers, we have to avoid failing when we can't resolve them.
256
- it(`can succeed with unmet peer dependencies`, async () => {
257
- expect(await createResolveMapSafe({
258
- appPath: testWithUnmetPeerDependenciesPath,
259
- gitRootPath: testWithUnmetPeerDependenciesPath,
260
- })).toMatchSnapshot();
261
- });
262
- });
263
- //# sourceMappingURL=createResolveMap.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createResolveMap.test.js","sourceRoot":"","sources":["../src/createResolveMap.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,32 +0,0 @@
1
- import { describe, it, expect } from '@jest/globals';
2
- import { fileURLToPath } from 'url';
3
- import { detectModuleType, detectModuleTypeFromSource } from './detectModuleType.js';
4
- import path from 'path';
5
- const currentPath = path.dirname(fileURLToPath(import.meta.url));
6
- describe('detectModuleTypeFromSource', () => {
7
- it('can infer esm from the presence of "import"', () => {
8
- expect(detectModuleTypeFromSource(`import react from 'react';`)).toBe('esm');
9
- });
10
- it('can infer esm from the presence of "export"', () => {
11
- expect(detectModuleTypeFromSource(`export const foo = 'foo';`)).toBe('esm');
12
- });
13
- it('can infer cjs from the presence of "require"', () => {
14
- expect(detectModuleTypeFromSource(`const path = require('path')`)).toBe('cjs');
15
- });
16
- it('can infer cjs from the presence of "module.exports"', () => {
17
- expect(detectModuleTypeFromSource(`module.exports = 'foo';`)).toBe('cjs');
18
- });
19
- it('can infer cjs from the presence of "exports."', () => {
20
- expect(detectModuleTypeFromSource(`exports.Emitter = 'foo';`)).toBe('cjs');
21
- });
22
- it('can infer cjs even if esm "import" exists in comments.', () => {
23
- expect(detectModuleTypeFromSource(`/* import react from 'react'; */ module.exports = 'foo';`)).toBe('cjs');
24
- });
25
- it('resolves to undefined if no patterns are detected', () => {
26
- expect(detectModuleTypeFromSource(`const hello = 'hello';`)).toBeUndefined();
27
- });
28
- it('resolves to undefined for missing source', async () => {
29
- expect(await detectModuleType(path.join(currentPath, 'does-not-exist.js'))).toBeUndefined();
30
- });
31
- });
32
- //# sourceMappingURL=detectModuleType.test.js.map
@@ -1 +0,0 @@
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,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,0BAA0B,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,0BAA0B,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,0BAA0B,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,0BAA0B,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,0BAA0B,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,0BAA0B,CAAC,0DAA0D,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,0BAA0B,CAAC,wBAAwB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,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 +0,0 @@
1
- export {};
@@ -1,112 +0,0 @@
1
- import { describe, it, expect, afterEach } from '@jest/globals';
2
- import { createTestFileStructure } from '@ms-cloudpack/test-utilities';
3
- import { findFileInPackage } from './findFileInPackage.js';
4
- import path from 'path';
5
- import fs from 'fs';
6
- const { rm } = fs.promises;
7
- describe('findFileInPackage', () => {
8
- let testPath;
9
- afterEach(async () => {
10
- if (testPath) {
11
- await rm(testPath, { recursive: true });
12
- testPath = undefined;
13
- }
14
- });
15
- it('can return undefined for missing files', async () => {
16
- testPath = await createTestFileStructure({});
17
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'foo.js' })).toEqual({});
18
- });
19
- it('can find a file in a package', async () => {
20
- testPath = await createTestFileStructure({ 'index.js': '', 'subpath/index.js': '' });
21
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'index.js' })).toEqual({
22
- filePath: './index.js',
23
- });
24
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'index' })).toEqual({ filePath: './index.js' });
25
- expect(await findFileInPackage({ packagePath: testPath, filePath: '.' })).toEqual({ filePath: './index.js' });
26
- expect(await findFileInPackage({ packagePath: testPath, filePath: '' })).toEqual({ filePath: './index.js' });
27
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'subpath/index.js' })).toEqual({
28
- filePath: './subpath/index.js',
29
- });
30
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'subpath/index' })).toEqual({
31
- filePath: './subpath/index.js',
32
- });
33
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'subpath/' })).toEqual({
34
- filePath: './subpath/index.js',
35
- });
36
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'subpath' })).toEqual({
37
- filePath: './subpath/index.js',
38
- });
39
- });
40
- it('can find an intermediate path in an internal unbuilt package with only source files', async () => {
41
- testPath = await createTestFileStructure({
42
- 'lib/index.js': '',
43
- 'src/ts.ts': '',
44
- 'src/bar/index.tsx': '',
45
- });
46
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'lib/index' })).toEqual({
47
- filePath: './lib/index.js',
48
- });
49
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'lib/ts' })).toEqual({
50
- filePath: './lib/ts.js',
51
- typesPath: './lib/ts.d.ts',
52
- sourcePath: './src/ts.ts',
53
- });
54
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'lib/ts.js' })).toEqual({
55
- filePath: './lib/ts.js',
56
- typesPath: './lib/ts.d.ts',
57
- sourcePath: './src/ts.ts',
58
- });
59
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'lib/bar' })).toEqual({
60
- filePath: './lib/bar/index.js',
61
- typesPath: './lib/bar/index.d.ts',
62
- sourcePath: './src/bar/index.tsx',
63
- });
64
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'lib/bar/index' })).toEqual({
65
- filePath: './lib/bar/index.js',
66
- typesPath: './lib/bar/index.d.ts',
67
- sourcePath: './src/bar/index.tsx',
68
- });
69
- expect(await findFileInPackage({ packagePath: testPath, filePath: 'lib/bar/index.js' })).toEqual({
70
- filePath: './lib/bar/index.js',
71
- typesPath: './lib/bar/index.d.ts',
72
- sourcePath: './src/bar/index.tsx',
73
- });
74
- });
75
- it('returns undefined for external packages with only source files', async () => {
76
- testPath = await createTestFileStructure({
77
- 'node_modules/foo/src/index.ts': '',
78
- 'node_modules/foo/src/bar/index.tsx': '',
79
- });
80
- const packagePath = path.join(testPath, 'node_modules/foo');
81
- expect(await findFileInPackage({ packagePath, filePath: 'lib/index.js' })).toEqual({});
82
- expect(await findFileInPackage({ packagePath, filePath: 'lib' })).toEqual({});
83
- expect(await findFileInPackage({ packagePath, filePath: 'lib/bar' })).toEqual({});
84
- expect(await findFileInPackage({ packagePath, filePath: 'lib/bar/index.tsx' })).toEqual({});
85
- });
86
- it('can find a nested package, such as rtl-css-js/core', async () => {
87
- testPath = await createTestFileStructure({
88
- 'node_modules/rtl-css-js/package.json': {
89
- main: 'dist/cjs/index.js',
90
- module: 'dist/esm/index.js',
91
- types: 'types.d.ts',
92
- },
93
- 'node_modules/rtl-css-js/dist/cjs/index.js': '',
94
- 'node_modules/rtl-css-js/dist/esm/index.js': '',
95
- 'node_modules/rtl-css-js/types.d.ts': '',
96
- 'node_modules/rtl-css-js/core/package.json': {
97
- main: '../dist/cjs/core.js',
98
- module: '../dist/esm/core.js',
99
- types: '../core.d.ts',
100
- },
101
- 'node_modules/rtl-css-js/dist/cjs/core.js': '',
102
- 'node_modules/rtl-css-js/dist/esm/core.js': '',
103
- 'node_modules/rtl-css-js/core.d.ts': '',
104
- });
105
- const packagePath = path.join(testPath, 'node_modules/rtl-css-js');
106
- expect(await findFileInPackage({ packagePath, filePath: './core' })).toEqual({
107
- filePath: './dist/esm/core.js',
108
- typesPath: './core.d.ts',
109
- });
110
- });
111
- });
112
- //# sourceMappingURL=findFileInPackage.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findFileInPackage.test.js","sourceRoot":"","sources":["../src/findFileInPackage.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,68 +0,0 @@
1
- import { describe, expect, it } from '@jest/globals';
2
- import { findResolveMapEntry } from './findResolveMapEntry.js';
3
- describe('findResolveMapEntry', () => {
4
- it('can find an entry', () => {
5
- const resolveMap = {
6
- bar: {
7
- name: 'bar',
8
- version: '1.0.0',
9
- path: 'bar',
10
- requiredBy: {
11
- foo: '1.0.0',
12
- },
13
- },
14
- };
15
- const definition = { name: 'foo', version: '1.0.0' };
16
- expect(findResolveMapEntry({ definition, packageName: 'bar', resolveMap })).toEqual(resolveMap.bar);
17
- });
18
- it('can find an entry with a scoped version', () => {
19
- const resolveMap = {
20
- bar: {
21
- name: 'bar',
22
- version: '1.0.0',
23
- path: 'bar/1',
24
- scopedVersions: {
25
- '1.0.1': {
26
- name: 'bar',
27
- version: '1.0.1',
28
- path: 'bar/2',
29
- requiredBy: {
30
- 'foo@1.0.0': '^1.0.0',
31
- },
32
- },
33
- },
34
- requiredBy: {},
35
- },
36
- };
37
- const definition = { name: 'foo', version: '1.0.0' };
38
- expect(findResolveMapEntry({ definition, packageName: 'bar', resolveMap })).toEqual(resolveMap.bar?.scopedVersions?.['1.0.1']);
39
- });
40
- it('can return undefined for missing entries', () => {
41
- const resolveMap = {
42
- bar: {
43
- name: 'bar',
44
- version: '1.0.0',
45
- path: 'bar',
46
- requiredBy: {
47
- foo: '1.0.0',
48
- },
49
- },
50
- };
51
- const definition = { name: 'foo', version: '1.0.0' };
52
- expect(findResolveMapEntry({ definition, packageName: 'baz', resolveMap })).toBeUndefined();
53
- });
54
- it('can find an entry without a definition', () => {
55
- const resolveMap = {
56
- bar: {
57
- name: 'bar',
58
- version: '1.0.0',
59
- path: 'bar',
60
- requiredBy: {
61
- foo: '1.0.0',
62
- },
63
- },
64
- };
65
- expect(findResolveMapEntry({ packageName: 'bar', resolveMap })).toEqual(resolveMap.bar);
66
- });
67
- });
68
- //# sourceMappingURL=findResolveMapEntry.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findResolveMapEntry.test.js","sourceRoot":"","sources":["../src/findResolveMapEntry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,UAAU,GAAe;YAC7B,GAAG,EAAE;gBACH,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE;oBACV,GAAG,EAAE,OAAO;iBACb;aACF;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAErD,MAAM,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,UAAU,GAAe;YAC7B,GAAG,EAAE;gBACH,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,OAAO;gBACb,cAAc,EAAE;oBACd,OAAO,EAAE;wBACP,IAAI,EAAE,KAAK;wBACX,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,OAAO;wBACb,UAAU,EAAE;4BACV,WAAW,EAAE,QAAQ;yBACtB;qBACF;iBACF;gBACD,UAAU,EAAE,EAAE;aACf;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAErD,MAAM,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CACjF,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,CAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,UAAU,GAAe;YAC7B,GAAG,EAAE;gBACH,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE;oBACV,GAAG,EAAE,OAAO;iBACb;aACF;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAErD,MAAM,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,UAAU,GAAe;YAC7B,GAAG,EAAE;gBACH,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE;oBACV,GAAG,EAAE,OAAO;iBACb;aACF;SACF,CAAC;QAEF,MAAM,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};