workspace-tools 0.29.1 → 0.30.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 +31 -1
- package/CHANGELOG.md +10 -2
- package/lib/lockfile/index.js +15 -2
- package/lib/lockfile/index.js.map +1 -1
- package/lib/lockfile/parseBerryLock.d.ts +2 -0
- package/lib/lockfile/parseBerryLock.js +35 -0
- package/lib/lockfile/parseBerryLock.js.map +1 -0
- package/lib/lockfile/types.d.ts +9 -0
- package/package.json +1 -1
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,37 @@
|
|
|
2
2
|
"name": "workspace-tools",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Wed, 15 Feb 2023 01:42:14 GMT",
|
|
6
|
+
"tag": "workspace-tools_v0.30.0",
|
|
7
|
+
"version": "0.30.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"author": "kchau@microsoft.com",
|
|
12
|
+
"package": "workspace-tools",
|
|
13
|
+
"commit": "8f67b8f2138e3ace2412da07071b5ee58c0ea304",
|
|
14
|
+
"comment": "Adds support for yarn 2+ (berry)"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Thu, 24 Nov 2022 08:01:54 GMT",
|
|
21
|
+
"tag": "workspace-tools_v0.29.1",
|
|
22
|
+
"version": "0.29.1",
|
|
23
|
+
"comments": {
|
|
24
|
+
"none": [
|
|
25
|
+
{
|
|
26
|
+
"author": "email not defined",
|
|
27
|
+
"package": "workspace-tools",
|
|
28
|
+
"commit": "15cab8e9dee71659c4dd7c2489769a17792ae06a",
|
|
29
|
+
"comment": "[fixtures] Update devDependency prettier"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"date": "Thu, 17 Nov 2022 01:23:58 GMT",
|
|
6
36
|
"tag": "workspace-tools_v0.29.1",
|
|
7
37
|
"version": "0.29.1",
|
|
8
38
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# Change Log - workspace-tools
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Wed, 15 Feb 2023 01:42:14 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.30.0
|
|
8
|
+
|
|
9
|
+
Wed, 15 Feb 2023 01:42:14 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- Adds support for yarn 2+ (berry) (kchau@microsoft.com)
|
|
14
|
+
|
|
7
15
|
## 0.29.1
|
|
8
16
|
|
|
9
|
-
Thu, 17 Nov 2022 01:23:
|
|
17
|
+
Thu, 17 Nov 2022 01:23:58 GMT
|
|
10
18
|
|
|
11
19
|
### Patches
|
|
12
20
|
|
package/lib/lockfile/index.js
CHANGED
|
@@ -28,12 +28,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
28
28
|
exports.queryLockFile = exports.nameAtVersion = exports.parseLockFile = void 0;
|
|
29
29
|
// NOTE: never place the import of lockfile implementation here, as it slows down the library as a whole
|
|
30
30
|
const fs_1 = __importDefault(require("fs"));
|
|
31
|
+
const path_1 = __importDefault(require("path"));
|
|
31
32
|
const nameAtVersion_1 = require("./nameAtVersion");
|
|
32
33
|
Object.defineProperty(exports, "nameAtVersion", { enumerable: true, get: function () { return nameAtVersion_1.nameAtVersion; } });
|
|
33
34
|
const paths_1 = require("../paths");
|
|
34
35
|
const parsePnpmLock_1 = require("./parsePnpmLock");
|
|
35
36
|
const parseNpmLock_1 = require("./parseNpmLock");
|
|
36
37
|
const readYaml_1 = require("./readYaml");
|
|
38
|
+
const parseBerryLock_1 = require("./parseBerryLock");
|
|
37
39
|
const memoization = {};
|
|
38
40
|
async function parseLockFile(packageRoot) {
|
|
39
41
|
const yarnLockPath = (0, paths_1.searchUp)(["yarn.lock", "common/config/rush/yarn.lock"], packageRoot);
|
|
@@ -42,9 +44,20 @@ async function parseLockFile(packageRoot) {
|
|
|
42
44
|
if (memoization[yarnLockPath]) {
|
|
43
45
|
return memoization[yarnLockPath];
|
|
44
46
|
}
|
|
45
|
-
const parseYarnLock = (await Promise.resolve().then(() => __importStar(require("@yarnpkg/lockfile")))).parse;
|
|
46
47
|
const yarnLock = fs_1.default.readFileSync(yarnLockPath, "utf-8");
|
|
47
|
-
const
|
|
48
|
+
const isBerry = yarnLock.includes("__metadata") || fs_1.default.existsSync(path_1.default.resolve(yarnLock.replace("yarn.lock", ".yarnrc.yml")));
|
|
49
|
+
let parsed = {
|
|
50
|
+
type: "success",
|
|
51
|
+
object: {},
|
|
52
|
+
};
|
|
53
|
+
if (isBerry) {
|
|
54
|
+
const yaml = (0, readYaml_1.readYaml)(yarnLockPath);
|
|
55
|
+
parsed = (0, parseBerryLock_1.parseBerryLock)(yaml);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
const parseYarnLock = (await Promise.resolve().then(() => __importStar(require("@yarnpkg/lockfile")))).parse;
|
|
59
|
+
parsed = parseYarnLock(yarnLock);
|
|
60
|
+
}
|
|
48
61
|
memoization[yarnLockPath] = parsed;
|
|
49
62
|
return parsed;
|
|
50
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lockfile/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wGAAwG;AACxG,4CAAoB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lockfile/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseBerryLock = void 0;
|
|
4
|
+
function parseBerryLock(yaml) {
|
|
5
|
+
var _a;
|
|
6
|
+
const results = {};
|
|
7
|
+
if (yaml) {
|
|
8
|
+
for (const [keySpec, descriptor] of Object.entries(yaml)) {
|
|
9
|
+
if (keySpec === "__metadata") {
|
|
10
|
+
continue;
|
|
11
|
+
}
|
|
12
|
+
const keys = keySpec.split(", ");
|
|
13
|
+
for (const key of keys) {
|
|
14
|
+
const normalizedKey = normalizeKey(key);
|
|
15
|
+
results[normalizedKey] = {
|
|
16
|
+
version: descriptor.version,
|
|
17
|
+
dependencies: (_a = descriptor.dependencies) !== null && _a !== void 0 ? _a : {},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
object: results,
|
|
24
|
+
type: "success",
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.parseBerryLock = parseBerryLock;
|
|
28
|
+
// normalizes the version range as a key lookup
|
|
29
|
+
function normalizeKey(key) {
|
|
30
|
+
if (key.includes("npm:")) {
|
|
31
|
+
return key.replace(/npm:/, "");
|
|
32
|
+
}
|
|
33
|
+
return key;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=parseBerryLock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseBerryLock.js","sourceRoot":"","sources":["../../src/lockfile/parseBerryLock.ts"],"names":[],"mappings":";;;AAEA,SAAgB,cAAc,CAAC,IAAmB;;IAChD,MAAM,OAAO,GAAsC,EAAE,CAAC;IAEtD,IAAI,IAAI,EAAE;QACR,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxD,IAAI,OAAO,KAAK,YAAY,EAAE;gBAC5B,SAAS;aACV;YAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACtB,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACxC,OAAO,CAAC,aAAa,CAAC,GAAG;oBACvB,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,YAAY,EAAE,MAAA,UAAU,CAAC,YAAY,mCAAI,EAAE;iBAC5C,CAAC;aACH;SACF;KACF;IAED,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,SAAS;KAChB,CAAC;AACJ,CAAC;AAzBD,wCAyBC;AAED,+CAA+C;AAC/C,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACxB,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KAChC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/lib/lockfile/types.d.ts
CHANGED