@ms-cloudpack/package-utilities 0.5.1 → 0.7.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 (49) hide show
  1. package/CHANGELOG.json +46 -1
  2. package/CHANGELOG.md +29 -2
  3. package/README.md +3 -0
  4. package/lib/createImportMap.js +5 -2
  5. package/lib/createImportMap.js.map +1 -1
  6. package/lib/createImportMap.test.js +1 -1
  7. package/lib/createResolveMap.d.ts +3 -4
  8. package/lib/createResolveMap.js +52 -29
  9. package/lib/createResolveMap.js.map +1 -1
  10. package/lib/createResolveMap.test.js +236 -9
  11. package/lib/createResolveMap.test.js.map +1 -1
  12. package/lib/detectModuleType.js +8 -1
  13. package/lib/detectModuleType.js.map +1 -1
  14. package/lib/detectModuleType.test.js +7 -1
  15. package/lib/detectModuleType.test.js.map +1 -1
  16. package/lib/evaluateImportsFromEntries.js +0 -3
  17. package/lib/evaluateImportsFromEntries.js.map +1 -1
  18. package/lib/evaluateImportsFromEntries.test.js +30 -1
  19. package/lib/evaluateImportsFromEntries.test.js.map +1 -1
  20. package/lib/findPackagePath.d.ts +1 -1
  21. package/lib/findPackagePath.js +13 -5
  22. package/lib/findPackagePath.js.map +1 -1
  23. package/lib/getExportPathFromEntry.js +1 -1
  24. package/lib/getExportPathFromEntry.js.map +1 -1
  25. package/lib/getExportPathFromEntry.test.js +7 -0
  26. package/lib/getExportPathFromEntry.test.js.map +1 -1
  27. package/lib/index.d.ts +0 -1
  28. package/lib/index.js.map +1 -1
  29. package/lib/resolve.d.ts +6 -0
  30. package/lib/resolve.js +6 -0
  31. package/lib/resolve.js.map +1 -1
  32. package/lib/resolve.test.js +1 -1
  33. package/lib/resolveImportFromPackagePath.js +0 -1
  34. package/lib/resolveImportFromPackagePath.js.map +1 -1
  35. package/lib/resolvePackageEntries.js +11 -15
  36. package/lib/resolvePackageEntries.js.map +1 -1
  37. package/lib/resolvePackageEntries.test.js +7 -0
  38. package/lib/resolvePackageEntries.test.js.map +1 -1
  39. package/lib/testPaths.d.ts +8 -0
  40. package/lib/testPaths.js +8 -0
  41. package/lib/testPaths.js.map +1 -1
  42. package/lib/tsdoc-metadata.json +1 -1
  43. package/package.json +1 -1
  44. package/lib/getInstalledPackages.d.ts +0 -44
  45. package/lib/getInstalledPackages.js +0 -85
  46. package/lib/getInstalledPackages.js.map +0 -1
  47. package/lib/getInstalledPackages.test.d.ts +0 -1
  48. package/lib/getInstalledPackages.test.js +0 -14
  49. package/lib/getInstalledPackages.test.js.map +0 -1
@@ -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":"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"}
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')])).toMatchSnapshot();
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,eAAe,EAAE,CAAC;IAC5G,CAAC,CAAC,CAAC;AACL,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 +1 @@
1
- export declare function findPackagePath(dependencyName: string, cwd: string): string;
1
+ export declare function findPackagePath(dependencyName: string, versionRequirement: string | undefined, cwd: string, gitRootPath?: string, isOptional?: boolean): Promise<string | undefined>;
@@ -1,14 +1,22 @@
1
1
  import path from 'path';
2
2
  import fs from 'fs';
3
- export function findPackagePath(dependencyName, cwd) {
3
+ import semver from 'semver';
4
+ import { getPackageDefinition } from './getPackageDefinition.js';
5
+ const { realpath } = fs.promises;
6
+ export async function findPackagePath(dependencyName, versionRequirement, cwd, gitRootPath, isOptional) {
4
7
  let packagePath = cwd;
5
- while (path.dirname(packagePath) !== packagePath) {
8
+ do {
6
9
  const resolvedPath = path.join(packagePath, 'node_modules', dependencyName);
7
- if (fs.existsSync(path.join(resolvedPath, 'package.json'))) {
8
- return fs.realpathSync(resolvedPath);
10
+ const definition = await getPackageDefinition(resolvedPath, true);
11
+ if (definition?.version && (!versionRequirement || semver.satisfies(definition.version, versionRequirement))) {
12
+ return await realpath(resolvedPath);
9
13
  }
14
+ // We haven't found it. Try to move up a directory.
10
15
  packagePath = path.dirname(packagePath);
16
+ } while ((!gitRootPath || packagePath.length >= gitRootPath.length) && path.dirname(packagePath) !== packagePath);
17
+ if (!isOptional) {
18
+ throw new Error(`Could not resolve dependency "${dependencyName}@${versionRequirement}" from "${cwd}"`);
11
19
  }
12
- throw new Error(`Could not resolve "${dependencyName}" from "${cwd}"`);
20
+ return undefined;
13
21
  }
14
22
  //# sourceMappingURL=findPackagePath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findPackagePath.js","sourceRoot":"","sources":["../src/findPackagePath.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,UAAU,eAAe,CAAC,cAAsB,EAAE,GAAW;IACjE,IAAI,WAAW,GAAG,GAAG,CAAC;IAEtB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,WAAW,EAAE;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAE5E,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,EAAE;YAC1D,OAAO,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;SACtC;QAED,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;KACzC;IAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,cAAc,WAAW,GAAG,GAAG,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"findPackagePath.js","sourceRoot":"","sources":["../src/findPackagePath.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,cAAsB,EACtB,kBAAsC,EACtC,GAAW,EACX,WAAoB,EACpB,UAAoB;IAEpB,IAAI,WAAW,GAAG,GAAG,CAAC;IAEtB,GAAG;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAElE,IAAI,UAAU,EAAE,OAAO,IAAI,CAAC,CAAC,kBAAkB,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE;YAC5G,OAAO,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;SACrC;QAED,mDAAmD;QACnD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;KACzC,QAAQ,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,WAAW,EAAE;IAElH,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,cAAc,IAAI,kBAAkB,WAAW,GAAG,GAAG,CAAC,CAAC;KACzG;IAED,OAAO,SAAS,CAAC;AACnB,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;IAE7C,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"}
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"}
package/lib/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export { createResolveMap, type ResolveMapEntry, type ResolveMap } from './createResolveMap.js';
2
- export { type InstalledPackagesResult } from './getInstalledPackages.js';
3
2
  export { evaluateImportsFromEntries } from './evaluateImportsFromEntries.js';
4
3
  export { getPackageDefinition } from './getPackageDefinition.js';
5
4
  export { resolve } from './resolve.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,EAAyC,MAAM,uBAAuB,CAAC;AAEhG,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyC,MAAM,uBAAuB,CAAC;AAChG,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) => {
@@ -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"}
@@ -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 unfound packages', async () => {
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":"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"}
1
+ {"version":3,"file":"resolveImportFromPackagePath.js","sourceRoot":"","sources":["../src/resolveImportFromPackagePath.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,31 @@
1
1
  import { getExportPathFromEntry } from './getExportPathFromEntry.js';
2
2
  export function resolvePackageEntries(packageDefinition) {
3
3
  const entries = new Set();
4
+ const { browser, exports } = packageDefinition;
4
5
  // if exports are available, leverage them.
5
- if (packageDefinition.exports) {
6
- for (const entry of Object.values(packageDefinition.exports)) {
6
+ if (exports) {
7
+ for (const entry of Object.values(exports)) {
7
8
  const entryPath = getExportPathFromEntry(entry);
8
9
  if (entryPath) {
9
10
  entries.add(entryPath);
10
11
  }
11
12
  }
12
13
  }
14
+ else if (typeof browser === 'string') {
15
+ entries.add(browser);
16
+ }
13
17
  else {
14
18
  const defaultEntryPath = packageDefinition.module || packageDefinition.main || './index.js';
15
19
  if (defaultEntryPath) {
16
20
  entries.add(defaultEntryPath);
17
21
  }
18
22
  }
19
- // filter based on browser mapping if available
20
- // eslint-disable-next-line etc/no-deprecated
21
- const browser = packageDefinition.browser;
22
- switch (typeof browser) {
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
- }
23
+ if (typeof browser === 'object') {
24
+ for (const [fromPath, toPath] of Object.entries(browser)) {
25
+ if (entries.has(fromPath) && toPath) {
26
+ entries.add(toPath);
31
27
  }
32
- break;
28
+ }
33
29
  }
34
30
  return Array.from(entries);
35
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolvePackageEntries.js","sourceRoot":"","sources":["../src/resolvePackageEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,MAAM,UAAU,qBAAqB,CAAC,iBAA8B;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,2CAA2C;IAC3C,IAAI,iBAAiB,CAAC,OAAO,EAAE;QAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;YAC5D,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAEhD,IAAI,SAAS,EAAE;gBACb,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aACxB;SACF;KACF;SAAM;QACL,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,IAAI,YAAY,CAAC;QAC5F,IAAI,gBAAgB,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;SAC/B;KACF;IAED,+CAA+C;IAC/C,6CAA6C;IAC7C,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC;IAC1C,QAAQ,OAAO,OAAO,EAAE;QACtB,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM;QAER,KAAK,QAAQ;YACX,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACxD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE;oBACnC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBACrB;aACF;YAED,MAAM;KACT;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"resolvePackageEntries.js","sourceRoot":"","sources":["../src/resolvePackageEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,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,SAAS,CAAC,CAAC;aACxB;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,gBAAgB,CAAC,CAAC;SAC/B;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,MAAM,CAAC,CAAC;aACrB;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,10 @@ 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
+ });
77
84
  });
78
85
  //# 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;AAEnE,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,OAAO,EAAE,gBAAgB;iBAC1B;aACF;SACF,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,MAAM,EAAE,gBAAgB;iBACzB;aACF;SACF,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,OAAO,EAAE;gBACP,GAAG,EAAE,gBAAgB;aACtB;SACF,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,KAAK,EAAE,kBAAkB;oBACzB,MAAM,EAAE,gBAAgB;iBACzB;aACF;SACF,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,OAAO,EAAE;gBACP,GAAG,EAAE,gBAAgB;gBACrB,OAAO,EAAE,cAAc;aACxB;SACF,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,eAAe;SACtB,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,IAAI,EAAE,eAAe;SACtB,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CACJ,qBAAqB,CAAC;YACpB,GAAG,cAAc;YACjB,OAAO,EAAE;gBACP,GAAG,EAAE,gBAAgB;gBACrB,OAAO,EAAE,gBAAgB;aAC1B;SACF,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"resolvePackageEntries.test.js","sourceRoot":"","sources":["../src/resolvePackageEntries.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
1
  export declare const testScenariosPath: string;
2
2
  export declare const testProject1Path: string;
3
3
  export declare const testProject2Path: string;
4
+ export declare const testProjectFluentPath: string;
5
+ export declare const testUninstalledProjectPath: string;
6
+ export declare const testRepoPath: string;
7
+ export declare const testWithReact16Path: string;
8
+ export declare const testWithReact17Path: string;
9
+ export declare const testWithUnmetDependenciesPath: string;
10
+ export declare const testWithUnmetPeerDependenciesPath: string;
11
+ export declare const testNodeFetchPath: string;
package/lib/testPaths.js CHANGED
@@ -3,4 +3,12 @@ import path from 'path';
3
3
  export const testScenariosPath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../test-scenarios');
4
4
  export const testProject1Path = path.resolve(testScenariosPath, 'test-project-1');
5
5
  export const testProject2Path = path.join(testScenariosPath, 'test-project-2');
6
+ export const testProjectFluentPath = path.join(testScenariosPath, 'test-project-fluent');
7
+ export const testUninstalledProjectPath = path.join(testScenariosPath, 'test-uninstalled-project');
8
+ export const testRepoPath = path.join(testScenariosPath, 'test-repo');
9
+ export const testWithReact16Path = path.join(testScenariosPath, 'test-with-react-16');
10
+ export const testWithReact17Path = path.join(testScenariosPath, 'test-with-react-17');
11
+ export const testWithUnmetDependenciesPath = path.join(testScenariosPath, 'test-with-unmet-dependencies');
12
+ export const testWithUnmetPeerDependenciesPath = path.join(testScenariosPath, 'test-with-unmet-peer-dependencies');
13
+ export const testNodeFetchPath = path.join(testScenariosPath, 'node-fetch');
6
14
  //# sourceMappingURL=testPaths.js.map
@@ -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"}
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"}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.28.7"
8
+ "packageVersion": "7.29.2"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/package-utilities",
3
- "version": "0.5.1",
3
+ "version": "0.7.0",
4
4
  "description": "Utilities for resolving/parsing packages and their imports.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -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 +0,0 @@
1
- export {};
@@ -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"}