@ms-cloudpack/package-utilities 0.10.0 → 0.12.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 +45 -1
- package/CHANGELOG.md +23 -2
- package/lib/createImportMap.js +2 -2
- package/lib/createImportMap.js.map +1 -1
- package/lib/detectModuleType.js +1 -1
- package/lib/detectModuleType.js.map +1 -1
- package/lib/detectModuleType.test.js +10 -7
- package/lib/detectModuleType.test.js.map +1 -1
- package/lib/generateExportsMap.d.ts +9 -0
- package/lib/generateExportsMap.js +80 -0
- package/lib/generateExportsMap.js.map +1 -0
- package/lib/{getExportsMap.test.d.ts → generateExportsMap.test.d.ts} +0 -0
- package/lib/generateExportsMap.test.js +100 -0
- package/lib/generateExportsMap.test.js.map +1 -0
- package/lib/{getExportsMap.d.ts → getFlattenedExportsMap.d.ts} +1 -1
- package/lib/{getExportsMap.js → getFlattenedExportsMap.js} +2 -2
- package/lib/getFlattenedExportsMap.js.map +1 -0
- package/lib/getFlattenedExportsMap.test.d.ts +1 -0
- package/lib/{getExportsMap.test.js → getFlattenedExportsMap.test.js} +22 -22
- package/lib/getFlattenedExportsMap.test.js.map +1 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +2 -2
- package/lib/getExportsMap.js.map +0 -1
- package/lib/getExportsMap.test.js.map +0 -1
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,51 @@
|
|
|
2
2
|
"name": "@ms-cloudpack/package-utilities",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Thu, 22 Sep 2022 08:14:56 GMT",
|
|
6
|
+
"tag": "@ms-cloudpack/package-utilities_v0.12.0",
|
|
7
|
+
"version": "0.12.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"author": "dzearing@microsoft.com",
|
|
12
|
+
"package": "@ms-cloudpack/package-utilities",
|
|
13
|
+
"commit": "5ba5810615e506deaa0621b12efbdc27356484fa",
|
|
14
|
+
"comment": "Adding generateExportsMap api."
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Wed, 21 Sep 2022 08:15:19 GMT",
|
|
21
|
+
"tag": "@ms-cloudpack/package-utilities_v0.11.0",
|
|
22
|
+
"version": "0.11.0",
|
|
23
|
+
"comments": {
|
|
24
|
+
"patch": [
|
|
25
|
+
{
|
|
26
|
+
"author": "dzearing@microsoft.com",
|
|
27
|
+
"package": "@ms-cloudpack/package-utilities",
|
|
28
|
+
"commit": "2a4b0a12d70f4314815226c1e3f552c484cfb350",
|
|
29
|
+
"comment": "Modules with \"exports.foo =\" are now correctly detected as cjs."
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"minor": [
|
|
33
|
+
{
|
|
34
|
+
"author": "dzearing@microsoft.com",
|
|
35
|
+
"package": "@ms-cloudpack/package-utilities",
|
|
36
|
+
"commit": "c2c5d7663c6e19d3bc349173bf59671d37ef20ed",
|
|
37
|
+
"comment": "Renaming `getExportsMap` to `getFlattenedExportsMap`."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"author": "beachball",
|
|
41
|
+
"package": "@ms-cloudpack/package-utilities",
|
|
42
|
+
"comment": "Bump @ms-cloudpack/path-utilities to v0.5.0",
|
|
43
|
+
"commit": "edaf39b3a641d469b5238c446b23e25399714ebd"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"date": "Tue, 06 Sep 2022 08:17:50 GMT",
|
|
6
50
|
"tag": "@ms-cloudpack/package-utilities_v0.10.0",
|
|
7
51
|
"version": "0.10.0",
|
|
8
52
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,33 @@
|
|
|
1
1
|
# Change Log - @ms-cloudpack/package-utilities
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Thu, 22 Sep 2022 08:14:56 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.12.0
|
|
8
|
+
|
|
9
|
+
Thu, 22 Sep 2022 08:14:56 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- Adding generateExportsMap api. (dzearing@microsoft.com)
|
|
14
|
+
|
|
15
|
+
## 0.11.0
|
|
16
|
+
|
|
17
|
+
Wed, 21 Sep 2022 08:15:19 GMT
|
|
18
|
+
|
|
19
|
+
### Minor changes
|
|
20
|
+
|
|
21
|
+
- Renaming `getExportsMap` to `getFlattenedExportsMap`. (dzearing@microsoft.com)
|
|
22
|
+
- Bump @ms-cloudpack/path-utilities to v0.5.0
|
|
23
|
+
|
|
24
|
+
### Patches
|
|
25
|
+
|
|
26
|
+
- Modules with "exports.foo =" are now correctly detected as cjs. (dzearing@microsoft.com)
|
|
27
|
+
|
|
7
28
|
## 0.10.0
|
|
8
29
|
|
|
9
|
-
Tue, 06 Sep 2022 08:17:
|
|
30
|
+
Tue, 06 Sep 2022 08:17:50 GMT
|
|
10
31
|
|
|
11
32
|
### Minor changes
|
|
12
33
|
|
package/lib/createImportMap.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PackageDefinitions } from './PackageDefinitions.js';
|
|
2
2
|
import { merge } from 'merge';
|
|
3
|
-
import {
|
|
3
|
+
import { getFlattenedExportsMap } from './getFlattenedExportsMap.js';
|
|
4
4
|
import fs from 'fs';
|
|
5
5
|
import path from 'path';
|
|
6
6
|
export async function createImportMap(resolveMap, bundleServerUrl, packageDefinitions) {
|
|
@@ -29,7 +29,7 @@ async function getImportMapFromEntry(entry, bundleServerUrl, packageDefinitions)
|
|
|
29
29
|
const definition = packageDefinitions?.[entry.path] || (await PackageDefinitions.getInstance().get(entry.path));
|
|
30
30
|
// Only add packages wtih names that aren't typings packages.
|
|
31
31
|
if (definition?.name && !definition.name.startsWith('@types/')) {
|
|
32
|
-
const exportsMap =
|
|
32
|
+
const exportsMap = getFlattenedExportsMap(definition);
|
|
33
33
|
if (Object.keys(exportsMap).length === 0) {
|
|
34
34
|
// Best effort exports map.
|
|
35
35
|
if (fs.existsSync(path.join(entry.path, 'index.js'))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createImportMap.js","sourceRoot":"","sources":["../src/createImportMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createImportMap.js","sourceRoot":"","sources":["../src/createImportMap.ts"],"names":[],"mappings":"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"}
|
package/lib/detectModuleType.js
CHANGED
|
@@ -14,7 +14,7 @@ export async function detectModuleTypeFromSource(source) {
|
|
|
14
14
|
if (content.match(/(import *)|(import {)|(export {)|(export \*)|(export (default )?[_a-zA-Z0-9]+)|(export [a-zA-Z]+ from)/)) {
|
|
15
15
|
result = 'esm';
|
|
16
16
|
}
|
|
17
|
-
else if (content.match(/
|
|
17
|
+
else if (content.match(/module\.exports[ =]+|exports\.|require\(['"]+/)) {
|
|
18
18
|
result = 'cjs';
|
|
19
19
|
}
|
|
20
20
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectModuleType.js","sourceRoot":"","sources":["../src/detectModuleType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC;AAEjC,SAAS,cAAc,CAAC,MAAc;IACpC,kDAAkD;IAClD,OAAO,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,iBAAiB;AACjF,CAAC;AAID;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAAc;IAC7D,IAAI,MAA8B,CAAC;IAEnC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvC,IACE,OAAO,CAAC,KAAK,CACX,wGAAwG,CACzG,EACD;QACA,MAAM,GAAG,KAAK,CAAC;KAChB;SAAM,IAAI,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"detectModuleType.js","sourceRoot":"","sources":["../src/detectModuleType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC;AAEjC,SAAS,cAAc,CAAC,MAAc;IACpC,kDAAkD;IAClD,OAAO,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,iBAAiB;AACjF,CAAC;AAID;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAAc;IAC7D,IAAI,MAA8B,CAAC;IAEnC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvC,IACE,OAAO,CAAC,KAAK,CACX,wGAAwG,CACzG,EACD;QACA,MAAM,GAAG,KAAK,CAAC;KAChB;SAAM,IAAI,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,EAAE;QACzE,MAAM,GAAG,KAAK,CAAC;KAChB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,IAAI,MAAc,CAAC;IAEnB,IAAI;QACF,MAAM,GAAG,MAAM,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC9D;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,MAAM,0BAA0B,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -4,25 +4,28 @@ import { detectModuleType, detectModuleTypeFromSource } from './detectModuleType
|
|
|
4
4
|
import path from 'path';
|
|
5
5
|
const currentPath = path.dirname(fileURLToPath(import.meta.url));
|
|
6
6
|
describe('detectModuleTypeFromSource', () => {
|
|
7
|
-
it('can
|
|
7
|
+
it('can infer esm from the presence of "import"', async () => {
|
|
8
8
|
expect(await detectModuleTypeFromSource(`import react from 'react';`)).toBe('esm');
|
|
9
9
|
});
|
|
10
|
-
it('can
|
|
10
|
+
it('can infer esm from the presence of "export"', async () => {
|
|
11
11
|
expect(await detectModuleTypeFromSource(`export const foo = 'foo';`)).toBe('esm');
|
|
12
12
|
});
|
|
13
|
-
it('can
|
|
13
|
+
it('can infer cjs from the presence of "require"', async () => {
|
|
14
14
|
expect(await detectModuleTypeFromSource(`const path = require('path')`)).toBe('cjs');
|
|
15
15
|
});
|
|
16
|
-
it('can
|
|
16
|
+
it('can infer cjs from the presence of "module.exports"', async () => {
|
|
17
17
|
expect(await detectModuleTypeFromSource(`module.exports = 'foo';`)).toBe('cjs');
|
|
18
18
|
});
|
|
19
|
-
it('can
|
|
19
|
+
it('can infer cjs from the presence of "exports."', async () => {
|
|
20
|
+
expect(await detectModuleTypeFromSource(`exports.Emitter = 'foo';`)).toBe('cjs');
|
|
21
|
+
});
|
|
22
|
+
it('can infer cjs even if esm "import" exists in comments.', async () => {
|
|
20
23
|
expect(await detectModuleTypeFromSource(`/* import react from 'react'; */ module.exports = 'foo';`)).toBe('cjs');
|
|
21
24
|
});
|
|
22
|
-
it('
|
|
25
|
+
it('resolves to undefined if no patterns are detected', async () => {
|
|
23
26
|
expect(await detectModuleTypeFromSource(`const hello = 'hello';`)).toBeUndefined();
|
|
24
27
|
});
|
|
25
|
-
it('
|
|
28
|
+
it('resolves to undefined for missing source', async () => {
|
|
26
29
|
expect(await detectModuleType(path.join(currentPath, 'does-not-exist.js'))).toBeUndefined();
|
|
27
30
|
});
|
|
28
31
|
});
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,KAAK,IAAI,EAAE;QAC3D,MAAM,CAAC,MAAM,0BAA0B,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,CAAC,MAAM,0BAA0B,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,CAAC,MAAM,0BAA0B,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,CAAC,MAAM,0BAA0B,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,CAAC,MAAM,0BAA0B,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,CAAC,MAAM,0BAA0B,CAAC,0DAA0D,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,CAAC,MAAM,0BAA0B,CAAC,wBAAwB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACrF,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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PackageJson } from 'type-fest';
|
|
2
|
+
/**
|
|
3
|
+
* Given a package path, generates an export map for the package.
|
|
4
|
+
*/
|
|
5
|
+
export declare function generateExportsMap(packagePath: string): Promise<PackageJson.Exports>;
|
|
6
|
+
/**
|
|
7
|
+
* Given an exports map and details about an import path, adds the entry.
|
|
8
|
+
*/
|
|
9
|
+
export declare function addExportsMapEntry(exports: PackageJson.Exports, importPath: string | undefined, packagePath: string, entryPath: string | undefined, typesPath?: string): Promise<void>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { isFile, slash } from '@ms-cloudpack/path-utilities';
|
|
3
|
+
import { PackageDefinitions } from './PackageDefinitions.js';
|
|
4
|
+
import { isExternalPackage } from './isExternalPackage.js';
|
|
5
|
+
import { resolveImportFromPackagePath } from './resolveImportFromPackagePath.js';
|
|
6
|
+
/**
|
|
7
|
+
* Given a package path, generates an export map for the package.
|
|
8
|
+
*/
|
|
9
|
+
export async function generateExportsMap(packagePath) {
|
|
10
|
+
const definition = await PackageDefinitions.getInstance().get(packagePath);
|
|
11
|
+
if (!definition) {
|
|
12
|
+
throw new Error(`Package definition not found for ${packagePath}`);
|
|
13
|
+
}
|
|
14
|
+
const { main, module, browser } = definition;
|
|
15
|
+
const hasRootIndexJs = isFile(path.join(packagePath, 'index.js'));
|
|
16
|
+
const exports = definition.exports || {};
|
|
17
|
+
const types = definition.types || definition.typings;
|
|
18
|
+
if (!(main || module || browser || hasRootIndexJs)) {
|
|
19
|
+
return exports;
|
|
20
|
+
}
|
|
21
|
+
if (hasRootIndexJs) {
|
|
22
|
+
await addExportsMapEntry(exports, undefined, packagePath, 'index.js', types);
|
|
23
|
+
}
|
|
24
|
+
await addExportsMapEntry(exports, undefined, packagePath, main, types);
|
|
25
|
+
await addExportsMapEntry(exports, undefined, packagePath, module, types);
|
|
26
|
+
if (browser && typeof browser === 'string') {
|
|
27
|
+
await addExportsMapEntry(exports, undefined, packagePath, browser, types);
|
|
28
|
+
}
|
|
29
|
+
return exports;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Given an exports map and details about an import path, adds the entry.
|
|
33
|
+
*/
|
|
34
|
+
export async function addExportsMapEntry(exports, importPath, packagePath, entryPath, typesPath) {
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
const packageExports = exports;
|
|
37
|
+
if (!entryPath) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
entryPath = safeRelativePath(entryPath);
|
|
41
|
+
const intermediatePath = await resolveImportFromPackagePath(packagePath, importPath || entryPath);
|
|
42
|
+
if (!intermediatePath) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const isInternal = !isExternalPackage(packagePath);
|
|
46
|
+
const sourcePath = isInternal
|
|
47
|
+
? await resolveImportFromPackagePath(packagePath, importPath, { preferSource: true })
|
|
48
|
+
: undefined;
|
|
49
|
+
const potentialTypesPath = path.extname(intermediatePath) === '.js' && intermediatePath.replace('.js', '.d.ts');
|
|
50
|
+
const isTypeScriptSource = sourcePath && ['.ts', '.tsx', '.mts', '.cts'].indexOf(path.extname(sourcePath)) >= 0;
|
|
51
|
+
if (!typesPath &&
|
|
52
|
+
potentialTypesPath &&
|
|
53
|
+
((isInternal && isTypeScriptSource) || (!isInternal && isFile(path.join(packagePath, potentialTypesPath))))) {
|
|
54
|
+
typesPath = potentialTypesPath;
|
|
55
|
+
}
|
|
56
|
+
packageExports[importPath || '.'] = {
|
|
57
|
+
...(typesPath && { types: safeRelativePath(typesPath) }),
|
|
58
|
+
default: intermediatePath,
|
|
59
|
+
...(sourcePath && sourcePath !== intermediatePath && { source: sourcePath }),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Ensures the give relative path starts with a ./
|
|
64
|
+
*/
|
|
65
|
+
function safeRelativePath(originalPath) {
|
|
66
|
+
if (!originalPath) {
|
|
67
|
+
return '.';
|
|
68
|
+
}
|
|
69
|
+
// Don't modify absolute paths.
|
|
70
|
+
if (path.isAbsolute(originalPath)) {
|
|
71
|
+
return originalPath;
|
|
72
|
+
}
|
|
73
|
+
// Ensure we have the right slashes.
|
|
74
|
+
originalPath = slash(originalPath);
|
|
75
|
+
if (originalPath.startsWith('./')) {
|
|
76
|
+
return originalPath;
|
|
77
|
+
}
|
|
78
|
+
return `./${originalPath}`;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=generateExportsMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateExportsMap.js","sourceRoot":"","sources":["../src/generateExportsMap.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { describe, it, expect } from '@jest/globals';
|
|
2
|
+
import { generateExportsMap } from './generateExportsMap.js';
|
|
3
|
+
import { testScenariosPath } from './testPaths.js';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
const testGenerateExportsPath = path.join(testScenariosPath, 'test-generate-exports');
|
|
6
|
+
describe('generateExportsMap', () => {
|
|
7
|
+
it('can return a blank import map for something with nothing to export', async () => {
|
|
8
|
+
expect(await generateExportsMap(path.join(testGenerateExportsPath, 'no-exports'))).toEqual({});
|
|
9
|
+
});
|
|
10
|
+
it('can generate an exports map for a package with an implicit index.js file', async () => {
|
|
11
|
+
expect(await generateExportsMap(path.join(testGenerateExportsPath, 'implicit-export'))).toMatchInlineSnapshot(`
|
|
12
|
+
{
|
|
13
|
+
".": {
|
|
14
|
+
"default": "./index.js",
|
|
15
|
+
},
|
|
16
|
+
}
|
|
17
|
+
`);
|
|
18
|
+
});
|
|
19
|
+
it('can generate an exports map for a package with a main export as esm', async () => {
|
|
20
|
+
expect(await generateExportsMap(path.join(testGenerateExportsPath, 'main-export-esm'))).toMatchInlineSnapshot(`
|
|
21
|
+
{
|
|
22
|
+
".": {
|
|
23
|
+
"default": "./main.js",
|
|
24
|
+
},
|
|
25
|
+
}
|
|
26
|
+
`);
|
|
27
|
+
});
|
|
28
|
+
it('can generate an exports map for a package with a main export as cjs', async () => {
|
|
29
|
+
expect(await generateExportsMap(path.join(testGenerateExportsPath, 'main-export-cjs'))).toMatchInlineSnapshot(`
|
|
30
|
+
{
|
|
31
|
+
".": {
|
|
32
|
+
"default": "./main.js",
|
|
33
|
+
},
|
|
34
|
+
}
|
|
35
|
+
`);
|
|
36
|
+
});
|
|
37
|
+
it('can generate an exports map for a package with a main export as cjs and types', async () => {
|
|
38
|
+
expect(await generateExportsMap(path.join(testGenerateExportsPath, 'main-export-cjs-types')))
|
|
39
|
+
.toMatchInlineSnapshot(`
|
|
40
|
+
{
|
|
41
|
+
".": {
|
|
42
|
+
"default": "./main.js",
|
|
43
|
+
"types": "./index.d.ts",
|
|
44
|
+
},
|
|
45
|
+
}
|
|
46
|
+
`);
|
|
47
|
+
});
|
|
48
|
+
it('can generate an exports map for a package with a module export', async () => {
|
|
49
|
+
expect(await generateExportsMap(path.join(testGenerateExportsPath, 'module-export'))).toMatchInlineSnapshot(`
|
|
50
|
+
{
|
|
51
|
+
".": {
|
|
52
|
+
"default": "./module.js",
|
|
53
|
+
},
|
|
54
|
+
}
|
|
55
|
+
`);
|
|
56
|
+
});
|
|
57
|
+
it('can generate an exports map for a package with a browser export', async () => {
|
|
58
|
+
expect(await generateExportsMap(path.join(testGenerateExportsPath, 'browser-export'))).toMatchInlineSnapshot(`
|
|
59
|
+
{
|
|
60
|
+
".": {
|
|
61
|
+
"default": "./browser.js",
|
|
62
|
+
},
|
|
63
|
+
}
|
|
64
|
+
`);
|
|
65
|
+
});
|
|
66
|
+
it('can generate an exports map for a package with a type/source exports', async () => {
|
|
67
|
+
expect(await generateExportsMap(path.join(testGenerateExportsPath, 'sources-export'))).toMatchInlineSnapshot(`
|
|
68
|
+
{
|
|
69
|
+
".": {
|
|
70
|
+
"default": "./lib/index.js",
|
|
71
|
+
"source": "./src/index.tsx",
|
|
72
|
+
"types": "./lib/index.d.ts",
|
|
73
|
+
},
|
|
74
|
+
}
|
|
75
|
+
`);
|
|
76
|
+
});
|
|
77
|
+
it('can generate an exports map for an internal unbuilt package', async () => {
|
|
78
|
+
expect(await generateExportsMap(path.join(testGenerateExportsPath, 'main-export-unbuilt'))).toMatchInlineSnapshot(`
|
|
79
|
+
{
|
|
80
|
+
".": {
|
|
81
|
+
"default": "./lib/index.js",
|
|
82
|
+
"source": "./src/index.ts",
|
|
83
|
+
"types": "./lib/index.d.ts",
|
|
84
|
+
},
|
|
85
|
+
}
|
|
86
|
+
`);
|
|
87
|
+
});
|
|
88
|
+
it('can generate an exports map for an external package with implicit type exports', async () => {
|
|
89
|
+
expect(await generateExportsMap(path.join(testGenerateExportsPath, 'node_modules/ext-esm-types')))
|
|
90
|
+
.toMatchInlineSnapshot(`
|
|
91
|
+
{
|
|
92
|
+
".": {
|
|
93
|
+
"default": "./lib/main.js",
|
|
94
|
+
"types": "./lib/main.d.ts",
|
|
95
|
+
},
|
|
96
|
+
}
|
|
97
|
+
`);
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=generateExportsMap.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateExportsMap.test.js","sourceRoot":"","sources":["../src/generateExportsMap.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;AAEtF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;KAM7G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;KAM7G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;KAM7G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAC,CAAC;aAC1F,qBAAqB,CAAC;;;;;;;KAOxB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;KAM3G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;KAM5G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;KAQ5G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;KAQjH,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,4BAA4B,CAAC,CAAC,CAAC;aAC/F,qBAAqB,CAAC;;;;;;;KAOxB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -2,4 +2,4 @@ import type { PackageJson } from 'type-fest';
|
|
|
2
2
|
/**
|
|
3
3
|
* Given a package definition and applicable conditions, return a flat map of package import to physical (relative) path.
|
|
4
4
|
*/
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function getFlattenedExportsMap(definition: PackageJson, conditions?: string[]): Record<string, string>;
|
|
@@ -3,7 +3,7 @@ import { cleanEntry } from './cleanEntry.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Given a package definition and applicable conditions, return a flat map of package import to physical (relative) path.
|
|
5
5
|
*/
|
|
6
|
-
export function
|
|
6
|
+
export function getFlattenedExportsMap(definition, conditions = ['browser', 'import', 'module', 'default']) {
|
|
7
7
|
const exportsMap = {};
|
|
8
8
|
if (typeof definition.browser === 'string') {
|
|
9
9
|
exportsMap['.'] = cleanEntry(definition.browser);
|
|
@@ -72,4 +72,4 @@ function addExportsEntry(exportsMap, key, value) {
|
|
|
72
72
|
exportsMap[key] = cleanEntry(value);
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
//# sourceMappingURL=
|
|
75
|
+
//# sourceMappingURL=getFlattenedExportsMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFlattenedExportsMap.js","sourceRoot":"","sources":["../src/getFlattenedExportsMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { describe, it, expect } from '@jest/globals';
|
|
2
|
-
import {
|
|
3
|
-
describe('
|
|
2
|
+
import { getFlattenedExportsMap } from './getFlattenedExportsMap.js';
|
|
3
|
+
describe('getFlattenedExportsMap', () => {
|
|
4
4
|
it('can translate a package with no entries', async () => {
|
|
5
|
-
expect(
|
|
5
|
+
expect(getFlattenedExportsMap({
|
|
6
6
|
name: 'a',
|
|
7
7
|
})).toMatchInlineSnapshot(`{}`);
|
|
8
8
|
});
|
|
9
9
|
it('can translate a package with an export map', async () => {
|
|
10
|
-
expect(
|
|
10
|
+
expect(getFlattenedExportsMap({
|
|
11
11
|
name: 'a',
|
|
12
12
|
exports: {
|
|
13
13
|
'.': './foo.js',
|
|
@@ -19,7 +19,7 @@ describe('getExportsMap', () => {
|
|
|
19
19
|
`);
|
|
20
20
|
});
|
|
21
21
|
it('can translate an exports map with an import', async () => {
|
|
22
|
-
expect(
|
|
22
|
+
expect(getFlattenedExportsMap({
|
|
23
23
|
name: 'a',
|
|
24
24
|
exports: {
|
|
25
25
|
'.': {
|
|
@@ -33,7 +33,7 @@ describe('getExportsMap', () => {
|
|
|
33
33
|
`);
|
|
34
34
|
});
|
|
35
35
|
it('can translate an exports map with an import', async () => {
|
|
36
|
-
expect(
|
|
36
|
+
expect(getFlattenedExportsMap({
|
|
37
37
|
name: 'a',
|
|
38
38
|
exports: {
|
|
39
39
|
import: {
|
|
@@ -47,7 +47,7 @@ describe('getExportsMap', () => {
|
|
|
47
47
|
`);
|
|
48
48
|
});
|
|
49
49
|
it('can return an empty map with no matching conditions', async () => {
|
|
50
|
-
expect(
|
|
50
|
+
expect(getFlattenedExportsMap({
|
|
51
51
|
name: 'a',
|
|
52
52
|
exports: {
|
|
53
53
|
notmatched: {
|
|
@@ -57,7 +57,7 @@ describe('getExportsMap', () => {
|
|
|
57
57
|
})).toMatchInlineSnapshot(`{}`);
|
|
58
58
|
});
|
|
59
59
|
it('can prefer browser over import', async () => {
|
|
60
|
-
expect(
|
|
60
|
+
expect(getFlattenedExportsMap({
|
|
61
61
|
name: 'a',
|
|
62
62
|
exports: {
|
|
63
63
|
'.': {
|
|
@@ -73,7 +73,7 @@ describe('getExportsMap', () => {
|
|
|
73
73
|
`);
|
|
74
74
|
});
|
|
75
75
|
it('return multiple matches', async () => {
|
|
76
|
-
expect(
|
|
76
|
+
expect(getFlattenedExportsMap({
|
|
77
77
|
name: 'a',
|
|
78
78
|
exports: {
|
|
79
79
|
'.': {
|
|
@@ -98,7 +98,7 @@ describe('getExportsMap', () => {
|
|
|
98
98
|
`);
|
|
99
99
|
});
|
|
100
100
|
it(`can short circuit traversal when a match is found`, () => {
|
|
101
|
-
expect(
|
|
101
|
+
expect(getFlattenedExportsMap({
|
|
102
102
|
name: 'a',
|
|
103
103
|
exports: {
|
|
104
104
|
'.': {
|
|
@@ -117,7 +117,7 @@ describe('getExportsMap', () => {
|
|
|
117
117
|
`);
|
|
118
118
|
});
|
|
119
119
|
it(`can handle an exports string`, () => {
|
|
120
|
-
expect(
|
|
120
|
+
expect(getFlattenedExportsMap({
|
|
121
121
|
name: 'a',
|
|
122
122
|
exports: './foo.js',
|
|
123
123
|
})).toMatchInlineSnapshot(`
|
|
@@ -127,7 +127,7 @@ describe('getExportsMap', () => {
|
|
|
127
127
|
`);
|
|
128
128
|
});
|
|
129
129
|
it(`can prefer the browser entry over the default entry of the exports map`, () => {
|
|
130
|
-
expect(
|
|
130
|
+
expect(getFlattenedExportsMap({
|
|
131
131
|
name: 'a',
|
|
132
132
|
browser: './browser.js',
|
|
133
133
|
exports: {
|
|
@@ -143,7 +143,7 @@ describe('getExportsMap', () => {
|
|
|
143
143
|
`);
|
|
144
144
|
});
|
|
145
145
|
it(`can leverage the module entry if the default entry is not found`, () => {
|
|
146
|
-
expect(
|
|
146
|
+
expect(getFlattenedExportsMap({
|
|
147
147
|
name: 'a',
|
|
148
148
|
module: './module.js',
|
|
149
149
|
})).toMatchInlineSnapshot(`
|
|
@@ -153,7 +153,7 @@ describe('getExportsMap', () => {
|
|
|
153
153
|
`);
|
|
154
154
|
});
|
|
155
155
|
it(`can leverage the main entry if the default entry is not found`, () => {
|
|
156
|
-
expect(
|
|
156
|
+
expect(getFlattenedExportsMap({
|
|
157
157
|
name: 'a',
|
|
158
158
|
main: './main.js',
|
|
159
159
|
})).toMatchInlineSnapshot(`
|
|
@@ -163,7 +163,7 @@ describe('getExportsMap', () => {
|
|
|
163
163
|
`);
|
|
164
164
|
});
|
|
165
165
|
it(`can fill in extensions when they're missing`, () => {
|
|
166
|
-
expect(
|
|
166
|
+
expect(getFlattenedExportsMap({
|
|
167
167
|
name: 'a',
|
|
168
168
|
main: 'index',
|
|
169
169
|
})).toMatchInlineSnapshot(`
|
|
@@ -173,7 +173,7 @@ describe('getExportsMap', () => {
|
|
|
173
173
|
`);
|
|
174
174
|
});
|
|
175
175
|
it(`can get only sass entries`, () => {
|
|
176
|
-
expect(
|
|
176
|
+
expect(getFlattenedExportsMap({
|
|
177
177
|
name: 'a',
|
|
178
178
|
exports: {
|
|
179
179
|
'.': {
|
|
@@ -190,7 +190,7 @@ describe('getExportsMap', () => {
|
|
|
190
190
|
`);
|
|
191
191
|
});
|
|
192
192
|
it(`can ignore non-valid filenames`, () => {
|
|
193
|
-
expect(
|
|
193
|
+
expect(getFlattenedExportsMap({
|
|
194
194
|
name: 'tslib',
|
|
195
195
|
exports: {
|
|
196
196
|
'.': {
|
|
@@ -207,13 +207,13 @@ describe('getExportsMap', () => {
|
|
|
207
207
|
`);
|
|
208
208
|
});
|
|
209
209
|
it(`can ignore invalid filenames`, () => {
|
|
210
|
-
expect(
|
|
210
|
+
expect(getFlattenedExportsMap({
|
|
211
211
|
name: 'tslib',
|
|
212
212
|
main: 'foo/',
|
|
213
213
|
})).toMatchInlineSnapshot(`{}`);
|
|
214
214
|
});
|
|
215
215
|
it(`can ignore wildcards in exports`, () => {
|
|
216
|
-
expect(
|
|
216
|
+
expect(getFlattenedExportsMap({
|
|
217
217
|
name: 'foo',
|
|
218
218
|
exports: {
|
|
219
219
|
'./foo/': './foo/',
|
|
@@ -221,7 +221,7 @@ describe('getExportsMap', () => {
|
|
|
221
221
|
})).toMatchInlineSnapshot(`{}`);
|
|
222
222
|
});
|
|
223
223
|
it(`can find exports from browser-only packages like uuid@3.4.0`, () => {
|
|
224
|
-
expect(
|
|
224
|
+
expect(getFlattenedExportsMap({
|
|
225
225
|
name: 'uuid',
|
|
226
226
|
browser: {
|
|
227
227
|
'./lib/rng.js': './lib/rng-browser.js',
|
|
@@ -238,7 +238,7 @@ describe('getExportsMap', () => {
|
|
|
238
238
|
});
|
|
239
239
|
// We found this case with @babel/runtime@7.18.9:
|
|
240
240
|
it(`can deal with arrays as values in the exports map`, () => {
|
|
241
|
-
expect(
|
|
241
|
+
expect(getFlattenedExportsMap({
|
|
242
242
|
name: '@babel/runtime',
|
|
243
243
|
exports: {
|
|
244
244
|
'./helpers/extends': [
|
|
@@ -257,4 +257,4 @@ describe('getExportsMap', () => {
|
|
|
257
257
|
`);
|
|
258
258
|
});
|
|
259
259
|
});
|
|
260
|
-
//# sourceMappingURL=
|
|
260
|
+
//# sourceMappingURL=getFlattenedExportsMap.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFlattenedExportsMap.test.js","sourceRoot":"","sources":["../src/getFlattenedExportsMap.test.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { createResolveMap } from './createResolveMap.js';
|
|
2
2
|
export { evaluateImportsFromEntries } from './evaluateImportsFromEntries.js';
|
|
3
3
|
export { PackageDefinitions, type PackageDefinitionTransform } from './PackageDefinitions.js';
|
|
4
|
-
export {
|
|
4
|
+
export { getFlattenedExportsMap } from './getFlattenedExportsMap.js';
|
|
5
|
+
export { generateExportsMap, addExportsMapEntry } from './generateExportsMap.js';
|
|
5
6
|
export { resolve } from './resolve.js';
|
|
6
7
|
export { resolveImportFromPackage, resolveImportFromPackagePath, type ResolveImportFromPackageOptions, } from './resolveImportFromPackagePath.js';
|
|
7
8
|
export { detectModuleType, type ModuleType } from './detectModuleType.js';
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { createResolveMap } from './createResolveMap.js';
|
|
2
2
|
export { evaluateImportsFromEntries } from './evaluateImportsFromEntries.js';
|
|
3
3
|
export { PackageDefinitions } from './PackageDefinitions.js';
|
|
4
|
-
export {
|
|
4
|
+
export { getFlattenedExportsMap } from './getFlattenedExportsMap.js';
|
|
5
|
+
export { generateExportsMap, addExportsMapEntry } from './generateExportsMap.js';
|
|
5
6
|
export { resolve } from './resolve.js';
|
|
6
7
|
export { resolveImportFromPackage, resolveImportFromPackagePath, } from './resolveImportFromPackagePath.js';
|
|
7
8
|
export { detectModuleType } from './detectModuleType.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,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAmC,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAmC,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACjF,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/tsdoc-metadata.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/package-utilities",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.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.3",
|
|
19
19
|
"@ms-cloudpack/package-overrides": "^0.1.0",
|
|
20
|
-
"@ms-cloudpack/path-utilities": "^0.
|
|
20
|
+
"@ms-cloudpack/path-utilities": "^0.5.0",
|
|
21
21
|
"resolve": "^1.22.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
package/lib/getExportsMap.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getExportsMap.js","sourceRoot":"","sources":["../src/getExportsMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getExportsMap.test.js","sourceRoot":"","sources":["../src/getExportsMap.test.ts"],"names":[],"mappings":"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"}
|