@ms-cloudpack/package-utilities 0.15.0 → 0.16.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 +16 -1
- package/CHANGELOG.md +10 -2
- package/lib/addExportsMapEntry.js +30 -9
- package/lib/addExportsMapEntry.js.map +1 -1
- package/lib/addExportsMapEntry.test.js +43 -12
- package/lib/addExportsMapEntry.test.js.map +1 -1
- package/lib/getExportsMap.js +10 -1
- package/lib/getExportsMap.js.map +1 -1
- package/lib/{resolvePackageEntries.test.d.ts → getExportsMap.test.d.ts} +0 -0
- package/lib/getExportsMap.test.js +30 -0
- package/lib/getExportsMap.test.js.map +1 -0
- package/lib/{resolvePackageEntries.d.ts → getPackageEntries.d.ts} +1 -1
- package/lib/{resolvePackageEntries.js → getPackageEntries.js} +2 -2
- package/lib/getPackageEntries.js.map +1 -0
- package/lib/getPackageEntries.test.d.ts +1 -0
- package/lib/{resolvePackageEntries.test.js → getPackageEntries.test.js} +12 -15
- package/lib/getPackageEntries.test.js.map +1 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/parseImportString.js +4 -3
- package/lib/parseImportString.js.map +1 -1
- package/lib/parseImportString.test.js +10 -10
- package/lib/parseImportString.test.js.map +1 -1
- package/lib/safeRelativePath.js +1 -1
- package/lib/safeRelativePath.js.map +1 -1
- package/lib/safeRelativePath.test.js +3 -1
- package/lib/safeRelativePath.test.js.map +1 -1
- package/package.json +1 -1
- package/lib/resolvePackageEntries.js.map +0 -1
- package/lib/resolvePackageEntries.test.js.map +0 -1
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,22 @@
|
|
|
2
2
|
"name": "@ms-cloudpack/package-utilities",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "Wed, 12 Oct 2022
|
|
5
|
+
"date": "Wed, 12 Oct 2022 21:49:36 GMT",
|
|
6
|
+
"tag": "@ms-cloudpack/package-utilities_v0.16.0",
|
|
7
|
+
"version": "0.16.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"author": "dzearing@microsoft.com",
|
|
12
|
+
"package": "@ms-cloudpack/package-utilities",
|
|
13
|
+
"commit": "48a31cb7c0bbd9095fc246a95b453ed49acf7626",
|
|
14
|
+
"comment": "Tweaking how exports are generated for browser entries, fixing a variety of other issues."
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Wed, 12 Oct 2022 08:10:43 GMT",
|
|
6
21
|
"tag": "@ms-cloudpack/package-utilities_v0.15.0",
|
|
7
22
|
"version": "0.15.0",
|
|
8
23
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# Change Log - @ms-cloudpack/package-utilities
|
|
2
2
|
|
|
3
|
-
This log was last generated on Wed, 12 Oct 2022
|
|
3
|
+
This log was last generated on Wed, 12 Oct 2022 21:49:36 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.16.0
|
|
8
|
+
|
|
9
|
+
Wed, 12 Oct 2022 21:49:36 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- Tweaking how exports are generated for browser entries, fixing a variety of other issues. (dzearing@microsoft.com)
|
|
14
|
+
|
|
7
15
|
## 0.15.0
|
|
8
16
|
|
|
9
|
-
Wed, 12 Oct 2022 08:10:
|
|
17
|
+
Wed, 12 Oct 2022 08:10:43 GMT
|
|
10
18
|
|
|
11
19
|
### Minor changes
|
|
12
20
|
|
|
@@ -9,16 +9,27 @@ import { safeRelativePath } from './safeRelativePath.js';
|
|
|
9
9
|
export async function addExportsMapEntry(options) {
|
|
10
10
|
const { exports, packages, packagePath, importPath, entryPath, typesPath, condition = 'default' } = options;
|
|
11
11
|
const isInternal = !isExternalPackage(packagePath);
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
preferSource: isInternal,
|
|
15
|
-
ignoreExportsMap: true,
|
|
16
|
-
});
|
|
17
|
-
const intermediatePath = sourcePath && sourceToIntermediatePath(sourcePath);
|
|
12
|
+
let sourcePath;
|
|
13
|
+
let intermediatePath;
|
|
18
14
|
let resolvedTypesPath = typesPath;
|
|
19
|
-
|
|
15
|
+
if (isInternal) {
|
|
16
|
+
sourcePath = await resolveImportFromPackagePath(packagePath, entryPath || importPath, {
|
|
17
|
+
packages,
|
|
18
|
+
preferSource: isInternal,
|
|
19
|
+
ignoreExportsMap: true,
|
|
20
|
+
});
|
|
21
|
+
intermediatePath = sourcePath && sourceToIntermediatePath(sourcePath);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
intermediatePath = await resolveImportFromPackagePath(packagePath, entryPath || importPath, {
|
|
25
|
+
packages,
|
|
26
|
+
preferSource: false,
|
|
27
|
+
ignoreExportsMap: true,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
// If at this point we haven't found what we're looking for, don't change anything.
|
|
20
31
|
if (!intermediatePath) {
|
|
21
|
-
|
|
32
|
+
return;
|
|
22
33
|
}
|
|
23
34
|
// Discover d.ts if available.
|
|
24
35
|
if (!resolvedTypesPath) {
|
|
@@ -29,7 +40,17 @@ export async function addExportsMapEntry(options) {
|
|
|
29
40
|
resolvedTypesPath = potentialTypesPath;
|
|
30
41
|
}
|
|
31
42
|
}
|
|
32
|
-
const
|
|
43
|
+
const safeImportPath = safeRelativePath(importPath || '.');
|
|
44
|
+
let exportSet = exports[safeImportPath];
|
|
45
|
+
// If the value of this path is a string, convert it to an object.
|
|
46
|
+
if (typeof exportSet === 'string') {
|
|
47
|
+
exportSet = exports[safeImportPath] = {
|
|
48
|
+
default: exportSet,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
else if (!exportSet) {
|
|
52
|
+
exportSet = exports[safeImportPath] = {};
|
|
53
|
+
}
|
|
33
54
|
if (resolvedTypesPath) {
|
|
34
55
|
exportSet.types = safeRelativePath(resolvedTypesPath);
|
|
35
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addExportsMapEntry.js","sourceRoot":"","sources":["../src/addExportsMapEntry.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAQxC;IACC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;IAC5G,MAAM,UAAU,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACnD,
|
|
1
|
+
{"version":3,"file":"addExportsMapEntry.js","sourceRoot":"","sources":["../src/addExportsMapEntry.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAQxC;IACC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;IAC5G,MAAM,UAAU,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACnD,IAAI,UAA8B,CAAC;IACnC,IAAI,gBAAoC,CAAC;IACzC,IAAI,iBAAiB,GAAuB,SAAS,CAAC;IAEtD,IAAI,UAAU,EAAE;QACd,UAAU,GAAG,MAAM,4BAA4B,CAAC,WAAW,EAAE,SAAS,IAAI,UAAU,EAAE;YACpF,QAAQ;YACR,YAAY,EAAE,UAAU;YACxB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,gBAAgB,GAAG,UAAU,IAAI,wBAAwB,CAAC,UAAU,CAAC,CAAC;KACvE;SAAM;QACL,gBAAgB,GAAG,MAAM,4BAA4B,CAAC,WAAW,EAAE,SAAS,IAAI,UAAU,EAAE;YAC1F,QAAQ;YACR,YAAY,EAAE,KAAK;YACnB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;KACJ;IAED,mFAAmF;IACnF,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO;KACR;IAED,8BAA8B;IAC9B,IAAI,CAAC,iBAAiB,EAAE;QACtB,MAAM,kBAAkB,GAAG,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;QAChH,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,KAAK,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEhH,IACE,kBAAkB;YAClB,CAAC,CAAC,UAAU,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAC3G;YACA,iBAAiB,GAAG,kBAAkB,CAAC;SACxC;KACF;IAED,MAAM,cAAc,GAAG,gBAAgB,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;IAC3D,IAAI,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAExC,kEAAkE;IAClE,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG;YACpC,OAAO,EAAE,SAAS;SACnB,CAAC;KACH;SAAM,IAAI,CAAC,SAAS,EAAE;QACrB,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;KAC1C;IAED,IAAI,iBAAiB,EAAE;QACrB,SAAS,CAAC,KAAK,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;KACvD;IAED,SAAS,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC;IAExC,IAAI,UAAU,IAAI,UAAU,KAAK,gBAAgB,EAAE;QACjD,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;KACjD;AACH,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { describe, expect, it } from '@jest/globals';
|
|
2
2
|
import { addExportsMapEntry } from './addExportsMapEntry.js';
|
|
3
3
|
import { testProject1Path } from './testPaths.js';
|
|
4
|
+
import { createTestFileStructure } from '@ms-cloudpack/test-utilities';
|
|
5
|
+
import path from 'path';
|
|
4
6
|
describe('addExportsMapEntry', () => {
|
|
5
7
|
it('can add an entry to an empty exports map', async () => {
|
|
6
8
|
const exportsMap = {};
|
|
@@ -19,11 +21,26 @@ describe('addExportsMapEntry', () => {
|
|
|
19
21
|
}
|
|
20
22
|
`);
|
|
21
23
|
});
|
|
22
|
-
it('
|
|
24
|
+
it('can add a non-safe import path', async () => {
|
|
25
|
+
const exportsMap = {};
|
|
26
|
+
await addExportsMapEntry({
|
|
27
|
+
exports: exportsMap,
|
|
28
|
+
packagePath: testProject1Path,
|
|
29
|
+
importPath: 'lib/foo-sub1',
|
|
30
|
+
});
|
|
31
|
+
expect(exportsMap).toMatchInlineSnapshot(`
|
|
32
|
+
{
|
|
33
|
+
"./lib/foo-sub1": {
|
|
34
|
+
"default": "./lib/foo-sub1.js",
|
|
35
|
+
"source": "./src/foo-sub1.ts",
|
|
36
|
+
"types": "./lib/foo-sub1.d.ts",
|
|
37
|
+
},
|
|
38
|
+
}
|
|
39
|
+
`);
|
|
40
|
+
});
|
|
41
|
+
it('can add an entry to an existing exports map', async () => {
|
|
23
42
|
const exportsMap = {
|
|
24
|
-
'.':
|
|
25
|
-
default: './lib/index.js',
|
|
26
|
-
},
|
|
43
|
+
'.': './lib/index.js',
|
|
27
44
|
};
|
|
28
45
|
await addExportsMapEntry({
|
|
29
46
|
exports: exportsMap,
|
|
@@ -32,9 +49,7 @@ describe('addExportsMapEntry', () => {
|
|
|
32
49
|
});
|
|
33
50
|
expect(exportsMap).toMatchInlineSnapshot(`
|
|
34
51
|
{
|
|
35
|
-
".":
|
|
36
|
-
"default": "./lib/index.js",
|
|
37
|
-
},
|
|
52
|
+
".": "./lib/index.js",
|
|
38
53
|
"./lib/foo-sub1": {
|
|
39
54
|
"default": "./lib/foo-sub1.js",
|
|
40
55
|
"source": "./src/foo-sub1.ts",
|
|
@@ -43,13 +58,29 @@ describe('addExportsMapEntry', () => {
|
|
|
43
58
|
}
|
|
44
59
|
`);
|
|
45
60
|
});
|
|
46
|
-
it('can
|
|
61
|
+
it('can add an entry to an external package like the "debug" package', async () => {
|
|
47
62
|
const exportsMap = {};
|
|
48
|
-
await
|
|
63
|
+
const testPath = await createTestFileStructure({
|
|
64
|
+
'node_modules/debug/package.json': {
|
|
65
|
+
name: 'debug',
|
|
66
|
+
main: './src/index.js',
|
|
67
|
+
browser: './src/browser.js',
|
|
68
|
+
},
|
|
69
|
+
'node_modules/debug/src/index.js': '',
|
|
70
|
+
'node_modules/debug/src/browser.js': '',
|
|
71
|
+
});
|
|
72
|
+
await addExportsMapEntry({
|
|
49
73
|
exports: exportsMap,
|
|
50
|
-
packagePath:
|
|
51
|
-
importPath: '
|
|
52
|
-
})
|
|
74
|
+
packagePath: path.join(testPath, 'node_modules/debug'),
|
|
75
|
+
importPath: '.',
|
|
76
|
+
});
|
|
77
|
+
expect(exportsMap).toMatchInlineSnapshot(`
|
|
78
|
+
{
|
|
79
|
+
".": {
|
|
80
|
+
"default": "./src/browser.js",
|
|
81
|
+
},
|
|
82
|
+
}
|
|
83
|
+
`);
|
|
53
84
|
});
|
|
54
85
|
});
|
|
55
86
|
//# sourceMappingURL=addExportsMapEntry.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addExportsMapEntry.test.js","sourceRoot":"","sources":["../src/addExportsMapEntry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"addExportsMapEntry.test.js","sourceRoot":"","sources":["../src/addExportsMapEntry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,MAAM,kBAAkB,CAAC;YACvB,OAAO,EAAE,UAAU;YACnB,WAAW,EAAE,gBAAgB;YAC7B,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;KAQxC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,MAAM,kBAAkB,CAAC;YACvB,OAAO,EAAE,UAAU;YACnB,WAAW,EAAE,gBAAgB;YAC7B,UAAU,EAAE,cAAc;SAC3B,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;KAQxC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,UAAU,GAAY;YAC1B,GAAG,EAAE,gBAAgB;SACtB,CAAC;QAEF,MAAM,kBAAkB,CAAC;YACvB,OAAO,EAAE,UAAoD;YAC7D,WAAW,EAAE,gBAAgB;YAC7B,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;KASxC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,UAAU,GAA2C,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC;YAC7C,iCAAiC,EAAE;gBACjC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,kBAAkB;aAC5B;YACD,iCAAiC,EAAE,EAAE;YACrC,mCAAmC,EAAE,EAAE;SACxC,CAAC,CAAC;QAEH,MAAM,kBAAkB,CAAC;YACvB,OAAO,EAAE,UAAU;YACnB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC;YACtD,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC;;;;;;KAMxC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/lib/getExportsMap.js
CHANGED
|
@@ -6,6 +6,15 @@ export async function getExportsMap(packagePath, options = {}) {
|
|
|
6
6
|
if (!packageDefinition) {
|
|
7
7
|
throw new Error(`Package definition not found for ${packagePath}`);
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
let { exports } = packageDefinition;
|
|
10
|
+
// If the package definition doesn't have a full object-based exports map, create one.
|
|
11
|
+
if (typeof exports === 'string') {
|
|
12
|
+
exports = {
|
|
13
|
+
'.': {
|
|
14
|
+
default: exports,
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return exports || (await createExportsMap(packagePath, options));
|
|
10
19
|
}
|
|
11
20
|
//# sourceMappingURL=getExportsMap.js.map
|
package/lib/getExportsMap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExportsMap.js","sourceRoot":"","sources":["../src/getExportsMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,UAA6C,EAAE;IAE/C,MAAM,EAAE,QAAQ,GAAG,kBAAkB,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC;IAChE,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE1D,IAAI,CAAC,iBAAiB,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,WAAW,EAAE,CAAC,CAAC;KACpE;IAED,OAAO,iBAAiB,CAAC,OAAO,IAAI,CAAC,MAAM,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"getExportsMap.js","sourceRoot":"","sources":["../src/getExportsMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,UAA6C,EAAE;IAE/C,MAAM,EAAE,QAAQ,GAAG,kBAAkB,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC;IAChE,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE1D,IAAI,CAAC,iBAAiB,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,WAAW,EAAE,CAAC,CAAC;KACpE;IAED,IAAI,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC;IAEpC,sFAAsF;IACtF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,GAAG;YACR,GAAG,EAAE;gBACH,OAAO,EAAE,OAAO;aACjB;SACF,CAAC;KACH;IACD,OAAO,OAAO,IAAI,CAAC,MAAM,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { describe, it, expect } from '@jest/globals';
|
|
2
|
+
import { getExportsMap } from './getExportsMap.js';
|
|
3
|
+
import { PackageDefinitions } from './PackageDefinitions.js';
|
|
4
|
+
describe('getExportsMap', () => {
|
|
5
|
+
it('can resolve an exports map (default)', async () => {
|
|
6
|
+
const packages = new PackageDefinitions({
|
|
7
|
+
foo: {
|
|
8
|
+
exports: {
|
|
9
|
+
'.': './foo.js',
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
expect(await getExportsMap('foo', { packages })).toEqual({
|
|
14
|
+
'.': './foo.js',
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
it('can resolve an object from a string exports entry', async () => {
|
|
18
|
+
const packages = new PackageDefinitions({
|
|
19
|
+
foo: {
|
|
20
|
+
exports: './foo.js',
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
expect(await getExportsMap('foo', { packages })).toEqual({
|
|
24
|
+
'.': {
|
|
25
|
+
default: './foo.js',
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=getExportsMap.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getExportsMap.test.js","sourceRoot":"","sources":["../src/getExportsMap.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC;YACtC,GAAG,EAAE;gBACH,OAAO,EAAE;oBACP,GAAG,EAAE,UAAU;iBAChB;aACF;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,aAAa,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACvD,GAAG,EAAE,UAAU;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC;YACtC,GAAG,EAAE;gBACH,OAAO,EAAE,UAAU;aACpB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,aAAa,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACvD,GAAG,EAAE;gBACH,OAAO,EAAE,UAAU;aACpB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -3,6 +3,6 @@ import type { PackageDefinitions } from './PackageDefinitions.js';
|
|
|
3
3
|
* Given a package path, reads the exports from the package.json and returns a flattened array of entry files
|
|
4
4
|
* for bundling.
|
|
5
5
|
*/
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function getPackageEntries(packagePath: string, options?: {
|
|
7
7
|
packages?: PackageDefinitions;
|
|
8
8
|
}): Promise<string[]>;
|
|
@@ -4,8 +4,8 @@ import { flattenExportsMap } from './flattenExportsMap.js';
|
|
|
4
4
|
* Given a package path, reads the exports from the package.json and returns a flattened array of entry files
|
|
5
5
|
* for bundling.
|
|
6
6
|
*/
|
|
7
|
-
export async function
|
|
7
|
+
export async function getPackageEntries(packagePath, options = {}) {
|
|
8
8
|
const entries = new Set(Object.values(flattenExportsMap(await getExportsMap(packagePath, options))));
|
|
9
9
|
return Array.from(entries);
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=getPackageEntries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPackageEntries.js","sourceRoot":"","sources":["../src/getPackageEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,UAEI,EAAE;IAEN,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7G,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, it, expect } from '@jest/globals';
|
|
2
2
|
import { PackageDefinitions } from './PackageDefinitions.js';
|
|
3
|
-
import {
|
|
4
|
-
describe('
|
|
3
|
+
import { getPackageEntries } from './getPackageEntries.js';
|
|
4
|
+
describe('getPackageEntries', () => {
|
|
5
5
|
it('can resolve an exports map (default)', async () => {
|
|
6
6
|
const packages = new PackageDefinitions({
|
|
7
7
|
'node_modules/default': {
|
|
@@ -12,7 +12,7 @@ describe('resolvePackageEntries', () => {
|
|
|
12
12
|
},
|
|
13
13
|
},
|
|
14
14
|
});
|
|
15
|
-
expect(await
|
|
15
|
+
expect(await getPackageEntries('node_modules/default', { packages })).toEqual(['./lib/index.js']);
|
|
16
16
|
});
|
|
17
17
|
it('can resolve an exports map (import)', async () => {
|
|
18
18
|
const packages = new PackageDefinitions({
|
|
@@ -24,7 +24,7 @@ describe('resolvePackageEntries', () => {
|
|
|
24
24
|
},
|
|
25
25
|
},
|
|
26
26
|
});
|
|
27
|
-
expect(await
|
|
27
|
+
expect(await getPackageEntries('node_modules/default', { packages })).toEqual(['./lib/index.js']);
|
|
28
28
|
});
|
|
29
29
|
it('can resolve an exports map (string)', async () => {
|
|
30
30
|
const packages = new PackageDefinitions({
|
|
@@ -34,7 +34,7 @@ describe('resolvePackageEntries', () => {
|
|
|
34
34
|
},
|
|
35
35
|
},
|
|
36
36
|
});
|
|
37
|
-
expect(await
|
|
37
|
+
expect(await getPackageEntries('node_modules/default', { packages })).toEqual(['./lib/index.js']);
|
|
38
38
|
});
|
|
39
39
|
it('can resolve an exports map (multiple)', async () => {
|
|
40
40
|
const packages = new PackageDefinitions({
|
|
@@ -45,10 +45,7 @@ describe('resolvePackageEntries', () => {
|
|
|
45
45
|
},
|
|
46
46
|
},
|
|
47
47
|
});
|
|
48
|
-
expect(await
|
|
49
|
-
'./lib/index.js',
|
|
50
|
-
'./lib/foo.js',
|
|
51
|
-
]);
|
|
48
|
+
expect(await getPackageEntries('node_modules/default', { packages })).toEqual(['./lib/index.js', './lib/foo.js']);
|
|
52
49
|
});
|
|
53
50
|
it('can prefer module over main', async () => {
|
|
54
51
|
const packages = new PackageDefinitions({
|
|
@@ -57,7 +54,7 @@ describe('resolvePackageEntries', () => {
|
|
|
57
54
|
module: 'module.js',
|
|
58
55
|
},
|
|
59
56
|
});
|
|
60
|
-
expect(await
|
|
57
|
+
expect(await getPackageEntries('node_modules/default', { packages })).toEqual(['./module.js']);
|
|
61
58
|
});
|
|
62
59
|
it('can fall back to main', async () => {
|
|
63
60
|
const packages = new PackageDefinitions({
|
|
@@ -65,7 +62,7 @@ describe('resolvePackageEntries', () => {
|
|
|
65
62
|
main: 'main.js',
|
|
66
63
|
},
|
|
67
64
|
});
|
|
68
|
-
expect(await
|
|
65
|
+
expect(await getPackageEntries('node_modules/default', { packages })).toEqual(['./main.js']);
|
|
69
66
|
});
|
|
70
67
|
it('can dedupe redundant entries', async () => {
|
|
71
68
|
const packages = new PackageDefinitions({
|
|
@@ -76,7 +73,7 @@ describe('resolvePackageEntries', () => {
|
|
|
76
73
|
},
|
|
77
74
|
},
|
|
78
75
|
});
|
|
79
|
-
expect(await
|
|
76
|
+
expect(await getPackageEntries('node_modules/default', { packages })).toEqual(['./lib/index.js']);
|
|
80
77
|
});
|
|
81
78
|
it('can resolve an entry without an extension', async () => {
|
|
82
79
|
const packages = new PackageDefinitions({
|
|
@@ -84,7 +81,7 @@ describe('resolvePackageEntries', () => {
|
|
|
84
81
|
main: 'main',
|
|
85
82
|
},
|
|
86
83
|
});
|
|
87
|
-
expect(await
|
|
84
|
+
expect(await getPackageEntries('node_modules/default', { packages })).toEqual(['./main.js']);
|
|
88
85
|
});
|
|
89
86
|
it('ignores entries with trailing slashes', async () => {
|
|
90
87
|
const packages = new PackageDefinitions({
|
|
@@ -95,7 +92,7 @@ describe('resolvePackageEntries', () => {
|
|
|
95
92
|
},
|
|
96
93
|
},
|
|
97
94
|
});
|
|
98
|
-
expect(await
|
|
95
|
+
expect(await getPackageEntries('node_modules/default', { packages })).toEqual(['./lib/index.js']);
|
|
99
96
|
});
|
|
100
97
|
});
|
|
101
|
-
//# sourceMappingURL=
|
|
98
|
+
//# sourceMappingURL=getPackageEntries.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPackageEntries.test.js","sourceRoot":"","sources":["../src/getPackageEntries.test.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export { getExportsMap } from './getExportsMap.js';
|
|
|
9
9
|
export { createImportMap, type ImportMap } from './createImportMap.js';
|
|
10
10
|
export { resolve } from './resolve.js';
|
|
11
11
|
export { resolveImportFromPackage, resolveImportFromPackagePath, type ResolveImportFromPackageOptions, } from './resolveImportFromPackagePath.js';
|
|
12
|
-
export {
|
|
12
|
+
export { getPackageEntries } from './getPackageEntries.js';
|
|
13
13
|
export { detectModuleType, type ModuleType } from './detectModuleType.js';
|
|
14
14
|
export { isExternalPackage } from './isExternalPackage.js';
|
|
15
|
-
export { parseImportString } from './parseImportString.js';
|
|
15
|
+
export { parseImportString, type ImportStringResult } from './parseImportString.js';
|
package/lib/index.js
CHANGED
|
@@ -13,7 +13,7 @@ export { createImportMap } from './createImportMap.js';
|
|
|
13
13
|
// Import resolution utilities
|
|
14
14
|
export { resolve } from './resolve.js';
|
|
15
15
|
export { resolveImportFromPackage, resolveImportFromPackagePath, } from './resolveImportFromPackagePath.js';
|
|
16
|
-
export {
|
|
16
|
+
export { getPackageEntries } from './getPackageEntries.js';
|
|
17
17
|
// Other package utilities
|
|
18
18
|
export { detectModuleType } from './detectModuleType.js';
|
|
19
19
|
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;AAC3C,OAAO,EAAE,
|
|
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;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,0BAA0B;AAC1B,OAAO,EAAE,gBAAgB,EAAmB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAA2B,MAAM,wBAAwB,CAAC"}
|
package/lib/parseImportString.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { safeRelativePath } from './safeRelativePath.js';
|
|
1
2
|
export function parseImportString(importString = '') {
|
|
2
3
|
const matches = importString.match(/[/]?(@[-_a-z-A-Z0-9.]+\/[-_a-z-A-Z0-9.]+|[-_a-zA-Z0-9.]+)(@([-_a-zA-Z-0-9.]+))?(\/([-_/a-zA-Z0-9.]+))?/) || [];
|
|
3
4
|
return {
|
|
4
|
-
packageName: matches[1] ||
|
|
5
|
-
version: matches[3] ||
|
|
6
|
-
importPath: matches[5]
|
|
5
|
+
packageName: matches[1] || '.',
|
|
6
|
+
version: matches[3] || '',
|
|
7
|
+
importPath: safeRelativePath(matches[5]),
|
|
7
8
|
};
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=parseImportString.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseImportString.js","sourceRoot":"","sources":["../src/parseImportString.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parseImportString.js","sourceRoot":"","sources":["../src/parseImportString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQzD,MAAM,UAAU,iBAAiB,CAAC,YAAY,GAAG,EAAE;IACjD,MAAM,OAAO,GACX,YAAY,CAAC,KAAK,CAChB,wGAAwG,CACzG,IAAI,EAAE,CAAC;IAEV,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG;QAC9B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE;QACzB,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACzC,CAAC;AACJ,CAAC"}
|
|
@@ -2,41 +2,41 @@ import { describe, it, expect } from '@jest/globals';
|
|
|
2
2
|
import { parseImportString } from './parseImportString.js';
|
|
3
3
|
describe(`parseImportString`, () => {
|
|
4
4
|
it(`can parse a package import`, () => {
|
|
5
|
-
expect(parseImportString('package')).toEqual({ packageName: 'package', version:
|
|
5
|
+
expect(parseImportString('package')).toEqual({ packageName: 'package', version: '', importPath: '.' });
|
|
6
6
|
});
|
|
7
7
|
it(`can parse a package import with a scope`, () => {
|
|
8
8
|
expect(parseImportString('@scope/package')).toEqual({
|
|
9
9
|
packageName: '@scope/package',
|
|
10
|
-
version:
|
|
11
|
-
importPath:
|
|
10
|
+
version: '',
|
|
11
|
+
importPath: '.',
|
|
12
12
|
});
|
|
13
13
|
});
|
|
14
14
|
it(`can parse a package import with a scope and path`, () => {
|
|
15
15
|
expect(parseImportString('@scope/package/path/to/thing')).toEqual({
|
|
16
16
|
packageName: '@scope/package',
|
|
17
|
-
version:
|
|
18
|
-
importPath: 'path/to/thing',
|
|
17
|
+
version: '',
|
|
18
|
+
importPath: './path/to/thing',
|
|
19
19
|
});
|
|
20
20
|
});
|
|
21
21
|
it(`can parse a package import with a scope, version, and path`, () => {
|
|
22
22
|
expect(parseImportString('@scope/package@1234567890.1234567890.1234567890-abcdeABCDE/path/to/thing')).toEqual({
|
|
23
23
|
packageName: '@scope/package',
|
|
24
24
|
version: '1234567890.1234567890.1234567890-abcdeABCDE',
|
|
25
|
-
importPath: 'path/to/thing',
|
|
25
|
+
importPath: './path/to/thing',
|
|
26
26
|
});
|
|
27
27
|
});
|
|
28
28
|
it(`can handle package names with underscores`, () => {
|
|
29
29
|
expect(parseImportString('package_name')).toEqual({
|
|
30
30
|
packageName: 'package_name',
|
|
31
|
-
version:
|
|
32
|
-
importPath:
|
|
31
|
+
version: '',
|
|
32
|
+
importPath: '.',
|
|
33
33
|
});
|
|
34
34
|
});
|
|
35
35
|
it(`can handle package names with dashes`, () => {
|
|
36
36
|
expect(parseImportString('package-name')).toEqual({
|
|
37
37
|
packageName: 'package-name',
|
|
38
|
-
version:
|
|
39
|
-
importPath:
|
|
38
|
+
version: '',
|
|
39
|
+
importPath: '.',
|
|
40
40
|
});
|
|
41
41
|
});
|
|
42
42
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseImportString.test.js","sourceRoot":"","sources":["../src/parseImportString.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"parseImportString.test.js","sourceRoot":"","sources":["../src/parseImportString.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;YAClD,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,CAAC,CAAC,OAAO,CAAC;YAChE,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,iBAAiB;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,iBAAiB,CAAC,0EAA0E,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5G,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,6CAA6C;YACtD,UAAU,EAAE,iBAAiB;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;YAChD,WAAW,EAAE,cAAc;YAC3B,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;YAChD,WAAW,EAAE,cAAc;YAC3B,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/lib/safeRelativePath.js
CHANGED
|
@@ -3,7 +3,7 @@ import { slash } from '@ms-cloudpack/path-utilities';
|
|
|
3
3
|
* Ensures the give relative path starts with a ./
|
|
4
4
|
*/
|
|
5
5
|
export function safeRelativePath(originalPath) {
|
|
6
|
-
if (!originalPath) {
|
|
6
|
+
if (!originalPath || originalPath.length === 0 || originalPath === '.') {
|
|
7
7
|
return '.';
|
|
8
8
|
}
|
|
9
9
|
// Ensure we have the right slashes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeRelativePath.js","sourceRoot":"","sources":["../src/safeRelativePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAgC;IAC/D,IAAI,CAAC,YAAY,EAAE;
|
|
1
|
+
{"version":3,"file":"safeRelativePath.js","sourceRoot":"","sources":["../src/safeRelativePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAgC;IAC/D,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,KAAK,GAAG,EAAE;QACtE,OAAO,GAAG,CAAC;KACZ;IAED,oCAAoC;IACpC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IAEnC,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAChC,OAAO,GAAG,GAAG,YAAY,CAAC;KAC3B;SAAM,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACxC,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,KAAK,YAAY,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { describe, it, expect } from '@jest/globals';
|
|
2
2
|
import { safeRelativePath } from './safeRelativePath.js';
|
|
3
3
|
describe('safeRelativePath', () => {
|
|
4
|
-
it('can handle
|
|
4
|
+
it('can handle default import paths', () => {
|
|
5
5
|
expect(safeRelativePath(undefined)).toEqual('.');
|
|
6
|
+
expect(safeRelativePath('')).toEqual('.');
|
|
7
|
+
expect(safeRelativePath('.')).toEqual('.');
|
|
6
8
|
});
|
|
7
9
|
it('can handle an absolute path', () => {
|
|
8
10
|
expect(safeRelativePath('/foo/bar')).toEqual('./foo/bar');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeRelativePath.test.js","sourceRoot":"","sources":["../src/safeRelativePath.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"safeRelativePath.test.js","sourceRoot":"","sources":["../src/safeRelativePath.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolvePackageEntries.js","sourceRoot":"","sources":["../src/resolvePackageEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAmB,EACnB,UAEI,EAAE;IAEN,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7G,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolvePackageEntries.test.js","sourceRoot":"","sources":["../src/resolvePackageEntries.test.ts"],"names":[],"mappings":"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"}
|