@ms-cloudpack/package-utilities 1.2.0 → 2.0.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.
- package/CHANGELOG.json +52 -1
- package/CHANGELOG.md +19 -2
- package/lib/addExportsMapEntry.d.ts +37 -7
- package/lib/addExportsMapEntry.js +35 -50
- package/lib/addExportsMapEntry.js.map +1 -1
- package/lib/addExportsMapEntry.test.js +107 -20
- package/lib/addExportsMapEntry.test.js.map +1 -1
- package/lib/createExportsMap.js +29 -47
- package/lib/createExportsMap.js.map +1 -1
- package/lib/createExportsMap.test.js +158 -46
- package/lib/createExportsMap.test.js.map +1 -1
- package/lib/createImportMap.test.js +27 -25
- package/lib/createImportMap.test.js.map +1 -1
- package/lib/findFileInPackage.d.ts +20 -0
- package/lib/findFileInPackage.js +71 -0
- package/lib/findFileInPackage.js.map +1 -0
- package/lib/{resolveImportFromPackage.test.d.ts → findFileInPackage.test.d.ts} +0 -0
- package/lib/findFileInPackage.test.js +95 -0
- package/lib/findFileInPackage.test.js.map +1 -0
- package/lib/findResolveMapEntry.d.ts +5 -1
- package/lib/findResolveMapEntry.js +4 -1
- package/lib/findResolveMapEntry.js.map +1 -1
- package/lib/findResolveMapEntry.test.js +19 -3
- package/lib/findResolveMapEntry.test.js.map +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +3 -3
- package/lib/resolveImportFromPackage.test.js +0 -163
- package/lib/resolveImportFromPackage.test.js.map +0 -1
- package/lib/resolveImportFromPackagePath.d.ts +0 -27
- package/lib/resolveImportFromPackagePath.js +0 -126
- package/lib/resolveImportFromPackagePath.js.map +0 -1
|
@@ -3,4 +3,8 @@ import type { PackageJson } from 'type-fest';
|
|
|
3
3
|
/**
|
|
4
4
|
* Helper which, given a definition/resolveMap/dependency name, returns the resolve map entry for the dependency.
|
|
5
5
|
*/
|
|
6
|
-
export declare function findResolveMapEntry(
|
|
6
|
+
export declare function findResolveMapEntry({ packageName, resolveMap, definition, }: {
|
|
7
|
+
packageName: string;
|
|
8
|
+
resolveMap: ResolveMap;
|
|
9
|
+
definition?: PackageJson;
|
|
10
|
+
}): ResolveMapEntry | undefined;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Helper which, given a definition/resolveMap/dependency name, returns the resolve map entry for the dependency.
|
|
3
3
|
*/
|
|
4
|
-
export function findResolveMapEntry(
|
|
4
|
+
export function findResolveMapEntry({ packageName, resolveMap, definition, }) {
|
|
5
5
|
const resolveEntry = resolveMap[packageName];
|
|
6
6
|
if (!resolveEntry) {
|
|
7
7
|
return undefined;
|
|
8
8
|
}
|
|
9
|
+
if (!definition) {
|
|
10
|
+
return resolveEntry;
|
|
11
|
+
}
|
|
9
12
|
const scopedEntry = Object.values(resolveEntry?.scopedVersions || {}).filter((e) => !!e.requiredBy[`${definition.name}@${definition.version}`])[0];
|
|
10
13
|
return scopedEntry || resolveEntry;
|
|
11
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findResolveMapEntry.js","sourceRoot":"","sources":["../src/findResolveMapEntry.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,mBAAmB,
|
|
1
|
+
{"version":3,"file":"findResolveMapEntry.js","sourceRoot":"","sources":["../src/findResolveMapEntry.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,WAAW,EACX,UAAU,EACV,UAAU,GAKX;IACC,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAE7C,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,CAC1E,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,CAClE,CAAC,CAAC,CAAC,CAAC;IAEL,OAAO,WAAW,IAAI,YAAY,CAAC;AACrC,CAAC"}
|
|
@@ -12,7 +12,8 @@ describe('findResolveMapEntry', () => {
|
|
|
12
12
|
},
|
|
13
13
|
},
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
const definition = { name: 'foo', version: '1.0.0' };
|
|
16
|
+
expect(findResolveMapEntry({ definition, packageName: 'bar', resolveMap })).toEqual(resolveMap.bar);
|
|
16
17
|
});
|
|
17
18
|
it('can find an entry with a scoped version', () => {
|
|
18
19
|
const resolveMap = {
|
|
@@ -33,7 +34,8 @@ describe('findResolveMapEntry', () => {
|
|
|
33
34
|
requiredBy: {},
|
|
34
35
|
},
|
|
35
36
|
};
|
|
36
|
-
|
|
37
|
+
const definition = { name: 'foo', version: '1.0.0' };
|
|
38
|
+
expect(findResolveMapEntry({ definition, packageName: 'bar', resolveMap })).toEqual(resolveMap.bar?.scopedVersions?.['1.0.1']);
|
|
37
39
|
});
|
|
38
40
|
it('can return undefined for missing entries', () => {
|
|
39
41
|
const resolveMap = {
|
|
@@ -46,7 +48,21 @@ describe('findResolveMapEntry', () => {
|
|
|
46
48
|
},
|
|
47
49
|
},
|
|
48
50
|
};
|
|
49
|
-
|
|
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);
|
|
50
66
|
});
|
|
51
67
|
});
|
|
52
68
|
//# sourceMappingURL=findResolveMapEntry.test.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
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,
|
|
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"}
|
package/lib/tsdoc-metadata.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/package-utilities",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
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.
|
|
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.
|
|
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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"}
|