@ms-cloudpack/package-utilities 1.2.0 → 1.2.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.
package/lib/index.d.ts CHANGED
@@ -4,10 +4,9 @@ export type { ResolveMapEntry, ResolveMap } from './createResolveMap.js';
4
4
  export { findResolveMapEntry } from './findResolveMapEntry.js';
5
5
  export { flattenExportsMap } from './flattenExportsMap.js';
6
6
  export { createExportsMap } from './createExportsMap.js';
7
- export { addExportsMapEntry } from './addExportsMapEntry.js';
7
+ export { addExportsMapEntry, type AddExportsMapEntryOptions } from './addExportsMapEntry.js';
8
8
  export { getExportsMap } from './getExportsMap.js';
9
9
  export { createImportMap, type ImportMap } from './createImportMap.js';
10
10
  export { resolve } from './resolve.js';
11
- export { resolveImportFromPackage, resolveImportFromPackagePath, type ResolveImportFromPackageOptions, } from './resolveImportFromPackagePath.js';
12
11
  export { detectModuleType, type ModuleType } from './detectModuleType.js';
13
12
  export { isExternalPackage } from './isExternalPackage.js';
package/lib/index.js CHANGED
@@ -12,7 +12,6 @@ export { getExportsMap } from './getExportsMap.js';
12
12
  export { createImportMap } from './createImportMap.js';
13
13
  // Import resolution utilities
14
14
  export { resolve } from './resolve.js';
15
- export { resolveImportFromPackage, resolveImportFromPackagePath, } from './resolveImportFromPackagePath.js';
16
15
  // Other package utilities
17
16
  export { detectModuleType } from './detectModuleType.js';
18
17
  export { isExternalPackage } from './isExternalPackage.js';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,kBAAkB,EAAmC,MAAM,yBAAyB,CAAC;AAE9F,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,kCAAkC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAqB;AACrB,OAAO,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAEvE,8BAA8B;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAE7B,MAAM,mCAAmC,CAAC;AAE3C,0BAA0B;AAC1B,OAAO,EAAE,gBAAgB,EAAmB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,kBAAkB,EAAmC,MAAM,yBAAyB,CAAC;AAE9F,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,kCAAkC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAkC,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAqB;AACrB,OAAO,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAEvE,8BAA8B;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,0BAA0B;AAC1B,OAAO,EAAE,gBAAgB,EAAmB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.33.5"
8
+ "packageVersion": "7.33.6"
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": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Utilities for resolving/parsing packages and their imports.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -17,7 +17,7 @@
17
17
  "@babel/traverse": "^7.16.10",
18
18
  "@ms-cloudpack/json-utilities": "^0.0.4",
19
19
  "@ms-cloudpack/package-overrides": "^0.2.0",
20
- "@ms-cloudpack/path-utilities": "^1.1.0",
20
+ "@ms-cloudpack/path-utilities": "^1.1.1",
21
21
  "@ms-cloudpack/path-string-parsing": "^1.0.0",
22
22
  "merge": "^2.1.1",
23
23
  "resolve": "^1.22.0"
@@ -26,7 +26,7 @@
26
26
  "@ms-cloudpack/scripts": "*",
27
27
  "@ms-cloudpack/eslint-config-base": "*",
28
28
  "@types/resolve": "1.20.2",
29
- "@babel/types": "7.20.0"
29
+ "@babel/types": "7.20.2"
30
30
  },
31
31
  "scripts": {
32
32
  "api:update": "cloudpack-scripts api-update",
@@ -1,163 +0,0 @@
1
- import { describe, it, expect } from '@jest/globals';
2
- import { resolveImportFromPackage, resolveImportFromPackagePath } from './resolveImportFromPackagePath.js';
3
- import { testProject2Path, testProject3Path } from '../src/testPaths.js';
4
- const defaultPackageDefinition = {
5
- name: 'package',
6
- version: '1.0.0',
7
- };
8
- describe('resolveImportFromPackagePath', () => {
9
- it('can resolve a main entry', async () => {
10
- expect(await resolveImportFromPackagePath(testProject2Path)).toEqual('./lib/module.js');
11
- });
12
- it('can resolve a source entry', async () => {
13
- expect(await resolveImportFromPackagePath(testProject2Path, undefined, { preferSource: true })).toEqual('./src/module.ts');
14
- });
15
- });
16
- describe('resolveImportFromPackage', () => {
17
- it('can resolve a main entry', async () => {
18
- expect(await resolveImportFromPackage(testProject2Path, {
19
- ...defaultPackageDefinition,
20
- main: './lib/main.js',
21
- }, '')).toEqual('./lib/main.js');
22
- });
23
- it('can resolve a main entry using a period for the importPath', async () => {
24
- expect(await resolveImportFromPackage(testProject2Path, {
25
- ...defaultPackageDefinition,
26
- main: './lib/main.js',
27
- }, '.')).toEqual('./lib/main.js');
28
- });
29
- it('can resolve a main entry from a sub-package', async () => {
30
- expect(await resolveImportFromPackage(testProject3Path, {
31
- ...defaultPackageDefinition,
32
- main: './lib/main.js',
33
- }, '/core')).toEqual('./lib/core-module.js');
34
- });
35
- it('can fall back to a subfolder', async () => {
36
- expect(await resolveImportFromPackage(testProject2Path, {
37
- ...defaultPackageDefinition,
38
- main: 'build',
39
- })).toEqual('./build/index.js');
40
- });
41
- it('can resolve a module entry', async () => {
42
- expect(await resolveImportFromPackage(testProject2Path, {
43
- ...defaultPackageDefinition,
44
- main: './lib/main.js',
45
- module: './lib/module.js',
46
- }, '')).toEqual('./lib/module.js');
47
- });
48
- it('can resolve a string exports entry', async () => {
49
- expect(await resolveImportFromPackage(testProject2Path, {
50
- ...defaultPackageDefinition,
51
- main: './lib/main.js',
52
- module: './lib/module.js',
53
- exports: './lib/exports.js',
54
- }, '')).toEqual('./lib/exports.js');
55
- });
56
- it('can resolve a default string exports entry', async () => {
57
- expect(await resolveImportFromPackage(testProject2Path, {
58
- ...defaultPackageDefinition,
59
- main: './lib/main.js',
60
- module: './lib/module.js',
61
- exports: {
62
- default: 'lib/exports-default.js',
63
- },
64
- }, '')).toEqual('./lib/exports-default.js');
65
- });
66
- it('can resolve a default map exports entry', async () => {
67
- expect(await resolveImportFromPackage(testProject2Path, {
68
- ...defaultPackageDefinition,
69
- main: './lib/main.js',
70
- module: './lib/module.js',
71
- exports: {
72
- '.': './lib/exports.js',
73
- },
74
- }, '')).toEqual('./lib/exports.js');
75
- });
76
- it('can resolve a default map exports entry with default', async () => {
77
- expect(await resolveImportFromPackage(testProject2Path, {
78
- ...defaultPackageDefinition,
79
- main: './lib/main.js',
80
- module: './lib/module.js',
81
- exports: {
82
- '.': {
83
- default: './lib/exports-default.js',
84
- },
85
- },
86
- }, '')).toEqual('./lib/exports-default.js');
87
- });
88
- it('can resolve a default map exports entry with import', async () => {
89
- expect(await resolveImportFromPackage(testProject2Path, {
90
- ...defaultPackageDefinition,
91
- main: './lib/main.js',
92
- module: './lib/module.js',
93
- exports: {
94
- '.': {
95
- require: './lib/exports-require.js',
96
- import: './lib/exports-import.js',
97
- default: './lib/exports-default.js',
98
- },
99
- },
100
- }, '')).toEqual('./lib/exports-import.js');
101
- });
102
- it('can resolve a path mapped in the exports map', async () => {
103
- expect(await resolveImportFromPackage(testProject2Path, {
104
- ...defaultPackageDefinition,
105
- main: './lib/main.js',
106
- module: './lib/module.js',
107
- exports: {
108
- '.': {
109
- require: './lib/exports-require.js',
110
- import: './lib/exports-import.js',
111
- default: './lib/exports-default.js',
112
- },
113
- './lib/Button': {
114
- require: './lib/exports-button-require.js',
115
- import: './lib/exports-button-import.js',
116
- default: './lib/exports-button-default.js',
117
- },
118
- },
119
- }, 'lib/Button')).toEqual('./lib/exports-button-import.js');
120
- });
121
- it('can resolve a source file exports map', async () => {
122
- expect(await resolveImportFromPackage(testProject2Path, {
123
- ...defaultPackageDefinition,
124
- exports: './lib/tsx.js',
125
- }, '', { preferSource: true })).toEqual('./src/tsx.tsx');
126
- });
127
- it('can remap imports using browser overrides (preferSource)', async () => {
128
- expect(await resolveImportFromPackage(testProject2Path, {
129
- ...defaultPackageDefinition,
130
- browser: {
131
- './lib/main.js': './lib/tsx.js',
132
- },
133
- main: 'lib/main.js',
134
- }, '', { preferSource: true })).toEqual('./src/tsx.tsx');
135
- });
136
- it('can remap deep imports (preferSource)', async () => {
137
- expect(await resolveImportFromPackage(testProject2Path, {
138
- ...defaultPackageDefinition,
139
- }, 'lib/tsx', { preferSource: true })).toEqual('./src/tsx.tsx');
140
- });
141
- it('can remap deep imports with an exports map (preferSource)', async () => {
142
- expect(await resolveImportFromPackage(testProject2Path, {
143
- ...defaultPackageDefinition,
144
- exports: {
145
- './lib/tsx': 'lib/main.js',
146
- },
147
- }, 'lib/tsx', { preferSource: true })).toEqual('./src/main.ts');
148
- });
149
- // package example: supports color
150
- it('can handle a package with only a browser entry', async () => {
151
- expect(await resolveImportFromPackage(testProject2Path, {
152
- ...defaultPackageDefinition,
153
- browser: './lib/main',
154
- }, '')).toBe('./lib/main.js');
155
- });
156
- it('can treat an import path of "." like a default package import', async () => {
157
- expect(await resolveImportFromPackage(testProject2Path, {
158
- ...defaultPackageDefinition,
159
- main: './lib/main',
160
- }, '.')).toEqual('./lib/main.js');
161
- });
162
- });
163
- //# sourceMappingURL=resolveImportFromPackage.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveImportFromPackage.test.js","sourceRoot":"","sources":["../src/resolveImportFromPackage.test.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import { PackageDefinitions } from './PackageDefinitions.js';
2
- import type { PackageJson } from 'type-fest';
3
- /**
4
- * Options for the resolveImportFromPackage(Path) apis.
5
- */
6
- export interface ResolveImportFromPackageOptions {
7
- /**
8
- * Prefer source paths over intermediate paths. For example, if the `main` entry resolves to
9
- * "lib/index.js", and "src/index.tsx" exists, prefer that.
10
- */
11
- preferSource?: boolean;
12
- /**
13
- * If true, resolve the path to a physical file rather than respecting exports entries.
14
- */
15
- ignoreExportsMap?: boolean;
16
- packages?: PackageDefinitions;
17
- }
18
- /**
19
- * Resolves a requested import path from a package located at the given path, returns a path relative
20
- * to the package, or undefined if no match was found.
21
- */
22
- export declare function resolveImportFromPackagePath(packagePath: string, requestedPath?: string, options?: ResolveImportFromPackageOptions): Promise<string | undefined>;
23
- /**
24
- * Resolves a requested import path from a package. Note that this is not a full import path, but rather
25
- * a path relative to the package. This is used to resolve the path to a file within a package.
26
- */
27
- export declare function resolveImportFromPackage(packagePath: string, packageDefinition: PackageJson, importPath?: string, options?: ResolveImportFromPackageOptions): Promise<string | undefined>;
@@ -1,126 +0,0 @@
1
- import path from 'path';
2
- import { intermediateToSourcePath, isFile, isFolder } from '@ms-cloudpack/path-utilities';
3
- import { PackageDefinitions } from './PackageDefinitions.js';
4
- import { getExportPathFromEntry } from './getExportPathFromEntry.js';
5
- import { isExternalPackage } from './isExternalPackage.js';
6
- import { slash, safeRelativePath } from '@ms-cloudpack/path-string-parsing';
7
- const defaultIndexPath = './index.js';
8
- /**
9
- * Resolves a requested import path from a package located at the given path, returns a path relative
10
- * to the package, or undefined if no match was found.
11
- */
12
- export async function resolveImportFromPackagePath(packagePath, requestedPath, options = {}) {
13
- const { packages = PackageDefinitions.getInstance() } = options;
14
- const packageDefinition = await packages.get(packagePath);
15
- if (!packageDefinition) {
16
- return requestedPath;
17
- }
18
- return resolveImportFromPackage(packagePath, packageDefinition, requestedPath, options);
19
- }
20
- /**
21
- * Resolves a requested import path from a package. Note that this is not a full import path, but rather
22
- * a path relative to the package. This is used to resolve the path to a file within a package.
23
- */
24
- export async function resolveImportFromPackage(packagePath, packageDefinition, importPath, options = {}) {
25
- // Normalize import path
26
- if (importPath && importPath !== '.') {
27
- importPath = safeRelativePath(importPath);
28
- }
29
- else {
30
- importPath = undefined;
31
- }
32
- const { packages = PackageDefinitions.getInstance() } = options;
33
- const originalPackagePath = packagePath;
34
- const fullRequestedPath = path.join(packagePath, importPath || '');
35
- // If the requested subfolder has a package.json, treat it as a sub-package.
36
- // (some npm packages have nested package.json files!)
37
- if (importPath && isFolder(fullRequestedPath)) {
38
- const subPackageDefinition = await packages.get(fullRequestedPath);
39
- if (subPackageDefinition) {
40
- packageDefinition = subPackageDefinition;
41
- packagePath = fullRequestedPath;
42
- importPath = undefined;
43
- }
44
- }
45
- // Build a list of intermediate file candidates.
46
- let candidates = [];
47
- const { exports } = packageDefinition;
48
- // If we have an exports map, this takes priority in resolution.
49
- if (exports && !options.ignoreExportsMap) {
50
- let exportPath;
51
- if (!exportPath) {
52
- exportPath = getExportPathFromEntry(exports, importPath);
53
- }
54
- if (exportPath) {
55
- candidates.push(exportPath);
56
- }
57
- }
58
- else {
59
- // We don't have an exports map. Consider main entries.
60
- if (!importPath) {
61
- candidates.push(packageDefinition.module, packageDefinition.main, defaultIndexPath);
62
- }
63
- else {
64
- candidates.push(importPath);
65
- }
66
- const { browser } = packageDefinition;
67
- if (browser) {
68
- // If the package has browser re-mappings, respect them.
69
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
70
- let safeBrowser = {};
71
- if (typeof browser === 'object') {
72
- safeBrowser = Object.keys(browser || {}).reduce((acc, key) => {
73
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
74
- acc[safeRelativePath(key)] = safeRelativePath(browser[key]);
75
- return acc;
76
- }, {});
77
- }
78
- else if (typeof browser === 'string') {
79
- safeBrowser = {
80
- [safeRelativePath(packageDefinition.module || packageDefinition.main || defaultIndexPath)]: safeRelativePath(browser),
81
- };
82
- }
83
- // Push browser overrides into candidates.
84
- candidates = candidates.reduce((p, n) => {
85
- if (n) {
86
- const candidate = safeRelativePath(n);
87
- if (safeBrowser[candidate]) {
88
- p.push(safeBrowser[candidate]);
89
- }
90
- else {
91
- p.push(candidate);
92
- }
93
- }
94
- return p;
95
- }, []);
96
- }
97
- }
98
- // Ensure we can handle missing extensions and fall back to js
99
- for (let i = 0; i < candidates.length; i++) {
100
- const candidate = candidates[i];
101
- if (candidate && path.extname(candidate) !== '.js') {
102
- candidates.splice(i + 1, 0, candidate + '.js');
103
- candidates.splice(i + 2, 0, candidate + '/index.js');
104
- }
105
- }
106
- // (optional) Add source paths if we prefer source files to intermediate files.
107
- const preferSource = options.preferSource && !isExternalPackage(packagePath);
108
- if (preferSource) {
109
- candidates = [
110
- ...candidates.map((c) => c && intermediateToSourcePath(c, packagePath)).filter(Boolean),
111
- ...candidates,
112
- ];
113
- }
114
- // Search candidates for first match.
115
- const foundPath = candidates.find((candidatePath) => candidatePath && isFile(path.join(packagePath, candidatePath)));
116
- if (!foundPath && path.basename(importPath || '').indexOf('chunk-') !== 0) {
117
- console.log(`Couldn't resolve import ("${packagePath}", importPath="${importPath}", preferSource=${!!preferSource}), Tried:\n${candidates
118
- .map((c) => ` "${c}"`)
119
- .join('\n')}`);
120
- }
121
- if (!foundPath) {
122
- return undefined;
123
- }
124
- return './' + slash(path.relative(originalPackagePath, path.join(packagePath, foundPath || importPath || '')));
125
- }
126
- //# sourceMappingURL=resolveImportFromPackagePath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveImportFromPackagePath.js","sourceRoot":"","sources":["../src/resolveImportFromPackagePath.ts"],"names":[],"mappings":"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"}