typesync 0.12.1 → 0.13.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/lib/cli-util.d.ts +1 -1
- package/lib/cli-util.js +26 -75
- package/lib/cli-util.js.map +1 -1
- package/lib/cli.js +81 -153
- package/lib/cli.js.map +1 -1
- package/lib/config-service.d.ts +10 -1
- package/lib/config-service.js +37 -73
- package/lib/config-service.js.map +1 -1
- package/lib/fs-utils.d.ts +1 -0
- package/lib/fs-utils.js +28 -0
- package/lib/fs-utils.js.map +1 -0
- package/lib/globber.d.ts +4 -4
- package/lib/globber.js +8 -8
- package/lib/globber.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/package-json-file-service.d.ts +14 -1
- package/lib/package-json-file-service.js +15 -117
- package/lib/package-json-file-service.js.map +1 -1
- package/lib/package-source.d.ts +21 -1
- package/lib/package-source.js +31 -77
- package/lib/package-source.js.map +1 -1
- package/lib/type-syncer.d.ts +7 -3
- package/lib/type-syncer.js +132 -187
- package/lib/type-syncer.js.map +1 -1
- package/lib/types.d.ts +7 -70
- package/lib/types.js.map +1 -1
- package/lib/util.d.ts +4 -16
- package/lib/util.js +42 -173
- package/lib/util.js.map +1 -1
- package/lib/versioning.d.ts +8 -2
- package/lib/versioning.js +6 -7
- package/lib/versioning.js.map +1 -1
- package/lib/workspace-resolver.d.ts +78 -0
- package/lib/workspace-resolver.js +38 -0
- package/lib/workspace-resolver.js.map +1 -0
- package/package.json +19 -16
package/lib/util.js
CHANGED
|
@@ -1,79 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
50
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
51
|
-
if (ar || !(i in from)) {
|
|
52
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
53
|
-
ar[i] = from[i];
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
57
|
-
};
|
|
58
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
59
|
-
exports.
|
|
3
|
+
exports.uniq = uniq;
|
|
4
|
+
exports.filterMap = filterMap;
|
|
5
|
+
exports.shrinkObject = shrinkObject;
|
|
6
|
+
exports.mergeObjects = mergeObjects;
|
|
7
|
+
exports.typed = typed;
|
|
8
|
+
exports.untyped = untyped;
|
|
9
|
+
exports.orderObject = orderObject;
|
|
10
|
+
exports.memoizeAsync = memoizeAsync;
|
|
11
|
+
exports.ensureWorkspacesArray = ensureWorkspacesArray;
|
|
60
12
|
/**
|
|
61
13
|
* Returns unique items.
|
|
62
14
|
*
|
|
63
15
|
* @param source The source to filter
|
|
64
16
|
*/
|
|
65
17
|
function uniq(source) {
|
|
66
|
-
|
|
67
|
-
for (var _i = 0, source_1 = source; _i < source_1.length; _i++) {
|
|
68
|
-
var s = source_1[_i];
|
|
69
|
-
if (seen.includes(s)) {
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
seen.push(s);
|
|
73
|
-
}
|
|
74
|
-
return seen;
|
|
18
|
+
return [...new Set(source)];
|
|
75
19
|
}
|
|
76
|
-
exports.uniq = uniq;
|
|
77
20
|
/**
|
|
78
21
|
* Does a `map` and a `filter` in one pass.
|
|
79
22
|
*
|
|
@@ -81,43 +24,38 @@ exports.uniq = uniq;
|
|
|
81
24
|
* @param iteratee The iteratee.
|
|
82
25
|
*/
|
|
83
26
|
function filterMap(source, iteratee) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
for (
|
|
87
|
-
|
|
88
|
-
var mapped = iteratee(item, index++);
|
|
27
|
+
const result = [];
|
|
28
|
+
let index = 0;
|
|
29
|
+
for (const item of source) {
|
|
30
|
+
const mapped = iteratee(item, index++);
|
|
89
31
|
if (mapped === false)
|
|
90
32
|
continue;
|
|
91
33
|
result.push(mapped);
|
|
92
34
|
}
|
|
93
35
|
return result;
|
|
94
36
|
}
|
|
95
|
-
exports.filterMap = filterMap;
|
|
96
37
|
/**
|
|
97
38
|
* Remove blank attributes in a object.
|
|
98
39
|
*
|
|
99
40
|
* @param source
|
|
100
41
|
*/
|
|
101
42
|
function shrinkObject(source) {
|
|
102
|
-
|
|
103
|
-
for (
|
|
104
|
-
// tslint:disable-next-line
|
|
43
|
+
const object = {};
|
|
44
|
+
for (const key in source) {
|
|
105
45
|
if (typeof source[key] !== 'undefined') {
|
|
106
46
|
object[key] = source[key];
|
|
107
47
|
}
|
|
108
48
|
}
|
|
109
49
|
return object;
|
|
110
50
|
}
|
|
111
|
-
exports.shrinkObject = shrinkObject;
|
|
112
51
|
/**
|
|
113
52
|
* Merges a sequence of objects into a single object using `reduce`.
|
|
114
53
|
*
|
|
115
54
|
* @param source An array of objects to merge.
|
|
116
55
|
*/
|
|
117
56
|
function mergeObjects(source) {
|
|
118
|
-
return source.reduce(
|
|
57
|
+
return source.reduce((accum, next) => ({ ...accum, ...next }), {});
|
|
119
58
|
}
|
|
120
|
-
exports.mergeObjects = mergeObjects;
|
|
121
59
|
/**
|
|
122
60
|
* Returns the assumed types package name.
|
|
123
61
|
* @param name Package name
|
|
@@ -125,132 +63,65 @@ exports.mergeObjects = mergeObjects;
|
|
|
125
63
|
function typed(name) {
|
|
126
64
|
// If the package is scoped, the typings scheme is slightly different.
|
|
127
65
|
if (/^@.*?\//i.test(name)) {
|
|
128
|
-
|
|
129
|
-
return
|
|
66
|
+
const splat = name.split('/');
|
|
67
|
+
return `@types/${splat[0].slice(1)}__${splat[1]}`;
|
|
130
68
|
}
|
|
131
|
-
return
|
|
69
|
+
return `@types/${name}`;
|
|
132
70
|
}
|
|
133
|
-
exports.typed = typed;
|
|
134
71
|
/**
|
|
135
72
|
* Returns the assumed code package name based on a types package name.
|
|
136
73
|
* @param name
|
|
137
74
|
*/
|
|
138
75
|
function untyped(name) {
|
|
139
|
-
|
|
76
|
+
const prefix = '@types/';
|
|
140
77
|
if (!name.startsWith(prefix)) {
|
|
141
78
|
return name;
|
|
142
79
|
}
|
|
143
80
|
name = name.substring(prefix.length);
|
|
144
|
-
|
|
81
|
+
const splat = name.split('__');
|
|
145
82
|
if (splat.length === 2) {
|
|
146
|
-
return
|
|
83
|
+
return `@${splat[0]}/${splat[1]}`;
|
|
147
84
|
}
|
|
148
85
|
return name;
|
|
149
86
|
}
|
|
150
|
-
exports.untyped = untyped;
|
|
151
87
|
/**
|
|
152
88
|
* Orders an object.
|
|
153
89
|
* @param source
|
|
154
90
|
*/
|
|
155
91
|
function orderObject(source, comparer) {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
for (
|
|
159
|
-
var key = keys_1[_i];
|
|
92
|
+
const keys = Object.keys(source).sort(comparer);
|
|
93
|
+
const result = {};
|
|
94
|
+
for (const key of keys) {
|
|
160
95
|
result[key] = source[key];
|
|
161
96
|
}
|
|
162
97
|
return result;
|
|
163
98
|
}
|
|
164
|
-
exports.orderObject = orderObject;
|
|
165
|
-
/**
|
|
166
|
-
* Promisifies the specified function.
|
|
167
|
-
*
|
|
168
|
-
* @param fn
|
|
169
|
-
*/
|
|
170
|
-
function promisify(fn) {
|
|
171
|
-
return function promisified() {
|
|
172
|
-
var args = [];
|
|
173
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
174
|
-
args[_i] = arguments[_i];
|
|
175
|
-
}
|
|
176
|
-
return new Promise(function (resolve, reject) {
|
|
177
|
-
fn.apply(void 0, __spreadArray(__spreadArray([], args, false), [function callback(err, result) {
|
|
178
|
-
// Edge case with `fs.exists`.
|
|
179
|
-
if (arguments.length === 1 && typeof err === 'boolean') {
|
|
180
|
-
return resolve(err);
|
|
181
|
-
}
|
|
182
|
-
return !err ? resolve(result) : reject(err);
|
|
183
|
-
}], false));
|
|
184
|
-
});
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
exports.promisify = promisify;
|
|
188
|
-
/**
|
|
189
|
-
* Flattens a 2-dimensional array.
|
|
190
|
-
*
|
|
191
|
-
* @param source
|
|
192
|
-
*/
|
|
193
|
-
function flatten(source) {
|
|
194
|
-
var result = [];
|
|
195
|
-
for (var _i = 0, source_3 = source; _i < source_3.length; _i++) {
|
|
196
|
-
var items = source_3[_i];
|
|
197
|
-
for (var _a = 0, items_1 = items; _a < items_1.length; _a++) {
|
|
198
|
-
var item = items_1[_a];
|
|
199
|
-
result.push(item);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
return result;
|
|
203
|
-
}
|
|
204
|
-
exports.flatten = flatten;
|
|
205
99
|
/**
|
|
206
100
|
* Async memoize.
|
|
207
101
|
*
|
|
208
102
|
* @param fn
|
|
209
103
|
*/
|
|
210
104
|
function memoizeAsync(fn) {
|
|
211
|
-
|
|
212
|
-
function run() {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
105
|
+
const cache = new Map();
|
|
106
|
+
async function run(...args) {
|
|
107
|
+
try {
|
|
108
|
+
return await fn(...args);
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
cache.delete(args[0]);
|
|
112
|
+
throw err;
|
|
216
113
|
}
|
|
217
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
218
|
-
var err_1;
|
|
219
|
-
return __generator(this, function (_a) {
|
|
220
|
-
switch (_a.label) {
|
|
221
|
-
case 0:
|
|
222
|
-
_a.trys.push([0, 2, , 3]);
|
|
223
|
-
return [4 /*yield*/, fn.apply(void 0, args)];
|
|
224
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
225
|
-
case 2:
|
|
226
|
-
err_1 = _a.sent();
|
|
227
|
-
cache.delete(args[0]);
|
|
228
|
-
throw err_1;
|
|
229
|
-
case 3: return [2 /*return*/];
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
});
|
|
233
114
|
}
|
|
234
|
-
return function () {
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
115
|
+
return async function (...args) {
|
|
116
|
+
const key = args[0];
|
|
117
|
+
if (cache.has(key)) {
|
|
118
|
+
return cache.get(key);
|
|
238
119
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
key = args[0];
|
|
243
|
-
if (cache.has(key)) {
|
|
244
|
-
return [2 /*return*/, cache.get(key)];
|
|
245
|
-
}
|
|
246
|
-
p = run.apply(void 0, args);
|
|
247
|
-
cache.set(key, p);
|
|
248
|
-
return [2 /*return*/, p];
|
|
249
|
-
});
|
|
250
|
-
});
|
|
120
|
+
const p = run(...args);
|
|
121
|
+
cache.set(key, p);
|
|
122
|
+
return p;
|
|
251
123
|
};
|
|
252
124
|
}
|
|
253
|
-
exports.memoizeAsync = memoizeAsync;
|
|
254
125
|
/**
|
|
255
126
|
* Ensures that we have a valid workspaces array.
|
|
256
127
|
*
|
|
@@ -263,11 +134,9 @@ function ensureWorkspacesArray(data) {
|
|
|
263
134
|
if (!Array.isArray(data)) {
|
|
264
135
|
return ensureWorkspacesArray(data.packages);
|
|
265
136
|
}
|
|
266
|
-
|
|
267
|
-
if (!data.every(function (s) { return typeof s === 'string'; })) {
|
|
137
|
+
if (!data.every((s) => typeof s === 'string')) {
|
|
268
138
|
return [];
|
|
269
139
|
}
|
|
270
140
|
return data;
|
|
271
141
|
}
|
|
272
|
-
exports.ensureWorkspacesArray = ensureWorkspacesArray;
|
|
273
142
|
//# sourceMappingURL=util.js.map
|
package/lib/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/lib/versioning.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Version descriptor for versions returned in remote package info.
|
|
3
|
+
*/
|
|
4
|
+
export interface IPackageVersionInfo {
|
|
5
|
+
version: string;
|
|
6
|
+
containsInternalTypings: boolean;
|
|
7
|
+
}
|
|
2
8
|
/**
|
|
3
9
|
* Gets the closest matching package version info.
|
|
4
10
|
*
|
|
5
11
|
* @param availableVersions
|
|
6
12
|
* @param version
|
|
7
13
|
*/
|
|
8
|
-
export declare function getClosestMatchingVersion(availableVersions: IPackageVersionInfo
|
|
14
|
+
export declare function getClosestMatchingVersion(availableVersions: Array<IPackageVersionInfo>, version: string): IPackageVersionInfo;
|
package/lib/versioning.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getClosestMatchingVersion =
|
|
4
|
-
|
|
3
|
+
exports.getClosestMatchingVersion = getClosestMatchingVersion;
|
|
4
|
+
const semver_1 = require("semver");
|
|
5
5
|
/**
|
|
6
6
|
* Gets the closest matching package version info.
|
|
7
7
|
*
|
|
@@ -9,12 +9,12 @@ var semver_1 = require("semver");
|
|
|
9
9
|
* @param version
|
|
10
10
|
*/
|
|
11
11
|
function getClosestMatchingVersion(availableVersions, version) {
|
|
12
|
-
|
|
12
|
+
const parsedVersion = parseVersion(version);
|
|
13
13
|
if (!parsedVersion) {
|
|
14
14
|
return availableVersions[0];
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const bestMatch = availableVersions.find((v) => {
|
|
17
|
+
const parsedAvailableVersion = parseVersion(v.version);
|
|
18
18
|
if (!parsedAvailableVersion) {
|
|
19
19
|
return false;
|
|
20
20
|
}
|
|
@@ -26,9 +26,8 @@ function getClosestMatchingVersion(availableVersions, version) {
|
|
|
26
26
|
}
|
|
27
27
|
return true;
|
|
28
28
|
});
|
|
29
|
-
return bestMatch
|
|
29
|
+
return bestMatch ?? availableVersions[0];
|
|
30
30
|
}
|
|
31
|
-
exports.getClosestMatchingVersion = getClosestMatchingVersion;
|
|
32
31
|
/**
|
|
33
32
|
* Parses the version if possible.
|
|
34
33
|
*
|
package/lib/versioning.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versioning.js","sourceRoot":"","sources":["../src/versioning.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"versioning.js","sourceRoot":"","sources":["../src/versioning.ts"],"names":[],"mappings":";;AAgBA,8DA2BC;AA3CD,mCAA8B;AAU9B;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,iBAA6C,EAC7C,OAAe;IAEf,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7C,MAAM,sBAAsB,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,aAAa,CAAC,KAAK,KAAK,sBAAsB,CAAC,KAAK,EAAE,CAAC;YACzD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,aAAa,CAAC,KAAK,KAAK,sBAAsB,CAAC,KAAK,EAAE,CAAC;YACzD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,OAAO,SAAS,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAA,cAAK,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;AACrC,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AACzC,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type * as fsUtils from './fs-utils';
|
|
2
|
+
import { IGlobber } from './globber';
|
|
3
|
+
import type { IPackageFile } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Service for fetching monorepo workspaces in a standardized format in package-manager-agnostic way.
|
|
6
|
+
* It is used to allow syncing all types in a workspace when run from the root of a monorepo.
|
|
7
|
+
*/
|
|
8
|
+
export interface IWorkspaceResolverService {
|
|
9
|
+
/**
|
|
10
|
+
* Reads, parses, and normalizes a workspaces configuration from the following files, in this order:
|
|
11
|
+
* - `package.json` `workspaces` field, as an array of globs.
|
|
12
|
+
* - `package.json` `workspaces` field, as an object with a `projects` field, which is an array of globs.
|
|
13
|
+
* - `pnpm-workspace.yaml` `packages` field, as an array of globs.
|
|
14
|
+
*
|
|
15
|
+
* Path is relative to the current working directory.
|
|
16
|
+
*/
|
|
17
|
+
getWorkspaces(packageJson: IPackageFile, root: string, globber: IGlobber): Promise<IWorkspacesArray>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* @example
|
|
21
|
+
* ```json
|
|
22
|
+
* "workspaces": [
|
|
23
|
+
* "packages/*",
|
|
24
|
+
* ]
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export type IWorkspacesArray = Array<string>;
|
|
28
|
+
/**
|
|
29
|
+
* @example
|
|
30
|
+
* ```yaml
|
|
31
|
+
* projects:
|
|
32
|
+
* - 'packages/*'
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export interface IWorkspacesObject {
|
|
36
|
+
packages: IWorkspacesArray;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @see {@link IWorkspacesArray}
|
|
40
|
+
*/
|
|
41
|
+
export type NpmWorkspacesConfig = IWorkspacesArray;
|
|
42
|
+
/**
|
|
43
|
+
* Yarn is a special snowflake.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```json
|
|
47
|
+
* "workspaces": {
|
|
48
|
+
* "packages": [
|
|
49
|
+
* "packages/*",
|
|
50
|
+
* ],
|
|
51
|
+
* "nohoist": []
|
|
52
|
+
* }
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export type YarnWorkspacesConfig = IWorkspacesArray | (IWorkspacesObject & {
|
|
56
|
+
nohoist?: Array<string>;
|
|
57
|
+
});
|
|
58
|
+
/**
|
|
59
|
+
* The contents of a `pnpm-workspace.yaml` file.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```yaml
|
|
63
|
+
* packages:
|
|
64
|
+
* - 'packages/*'
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export type PnpmWorkspacesConfig = IWorkspacesObject;
|
|
68
|
+
/**
|
|
69
|
+
* @see {@link IWorkspacesArray}
|
|
70
|
+
*/
|
|
71
|
+
export type BunWorkspacesConfig = IWorkspacesArray;
|
|
72
|
+
/**
|
|
73
|
+
* Section in `package.json` representing workspaces.
|
|
74
|
+
*/
|
|
75
|
+
export type IWorkspacesSection = NpmWorkspacesConfig | YarnWorkspacesConfig | BunWorkspacesConfig;
|
|
76
|
+
export declare function createWorkspaceResolverService({ readFileContents, }: {
|
|
77
|
+
readFileContents: typeof fsUtils.readFileContents;
|
|
78
|
+
}): IWorkspaceResolverService;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createWorkspaceResolverService = createWorkspaceResolverService;
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
9
|
+
const util_1 = require("./util");
|
|
10
|
+
function createWorkspaceResolverService({ readFileContents, }) {
|
|
11
|
+
return {
|
|
12
|
+
getWorkspaces: async (packageJson, root, globber) => {
|
|
13
|
+
const workspaces = await getWorkspaces(packageJson, root);
|
|
14
|
+
const workspacesArray = (0, util_1.ensureWorkspacesArray)(workspaces);
|
|
15
|
+
const manifests = await Promise.all(workspacesArray.map(async (workspace) => await globber.globPackageFiles(workspace)));
|
|
16
|
+
return (0, util_1.uniq)(manifests.flat());
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
async function getWorkspaces(packageJson, root) {
|
|
20
|
+
const packageJsonWorkspaces = packageJson.workspaces;
|
|
21
|
+
if (packageJsonWorkspaces !== undefined) {
|
|
22
|
+
return packageJsonWorkspaces;
|
|
23
|
+
}
|
|
24
|
+
return await getPnpmWorkspaces(root);
|
|
25
|
+
}
|
|
26
|
+
async function getPnpmWorkspaces(root) {
|
|
27
|
+
try {
|
|
28
|
+
const filePath = node_path_1.default.relative(root, 'pnpm-workspace.yaml');
|
|
29
|
+
const contents = await readFileContents(filePath);
|
|
30
|
+
const pnpmWorkspaces = js_yaml_1.default.load(contents);
|
|
31
|
+
return pnpmWorkspaces.packages;
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=workspace-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-resolver.js","sourceRoot":"","sources":["../src/workspace-resolver.ts"],"names":[],"mappings":";;;;;AA8FA,wEA6CC;AA3ID,0DAA4B;AAC5B,sDAA0B;AAG1B,iCAAoD;AA0FpD,SAAgB,8BAA8B,CAAC,EAC7C,gBAAgB,GAGjB;IACC,OAAO;QACL,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YAClD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;YACzD,MAAM,eAAe,GAAG,IAAA,4BAAqB,EAAC,UAAU,CAAC,CAAA;YAEzD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,eAAe,CAAC,GAAG,CACjB,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAC/D,CACF,CAAA;YAED,OAAO,IAAA,WAAI,EAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;QAC/B,CAAC;KACF,CAAA;IAED,KAAK,UAAU,aAAa,CAC1B,WAAyB,EACzB,IAAY;QAEZ,MAAM,qBAAqB,GAAG,WAAW,CAAC,UAAU,CAAA;QACpD,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,qBAAqB,CAAA;QAC9B,CAAC;QAED,OAAO,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,UAAU,iBAAiB,CAC9B,IAAY;QAEZ,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,mBAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAA;YAC3D,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;YACjD,MAAM,cAAc,GAAG,iBAAI,CAAC,IAAI,CAAC,QAAQ,CAAyB,CAAA;YAElE,OAAO,cAAc,CAAC,QAAQ,CAAA;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typesync",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Install missing TypeScript typings for your dependencies.",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16.0.0"
|
|
@@ -47,30 +47,32 @@
|
|
|
47
47
|
},
|
|
48
48
|
"homepage": "https://github.com/jeffijoe/typesync#readme",
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"awilix": "^
|
|
50
|
+
"awilix": "^10.0.2",
|
|
51
51
|
"chalk": "^4.1.2",
|
|
52
52
|
"cosmiconfig": "^9.0.0",
|
|
53
53
|
"detect-indent": "^6.0.0",
|
|
54
|
-
"glob": "^10.
|
|
55
|
-
"
|
|
54
|
+
"glob": "^10.4.2",
|
|
55
|
+
"js-yaml": "^4.1.0",
|
|
56
|
+
"npm-registry-fetch": "^17.1.0",
|
|
56
57
|
"ora": "^5.1.0",
|
|
57
|
-
"semver": "^7.
|
|
58
|
+
"semver": "^7.6.2"
|
|
58
59
|
},
|
|
59
60
|
"devDependencies": {
|
|
60
|
-
"@types/
|
|
61
|
-
"@types/
|
|
61
|
+
"@types/jest": "^29.5.12",
|
|
62
|
+
"@types/js-yaml": "~4.0.9 || ~4.1.0",
|
|
63
|
+
"@types/node": "~16.18.102",
|
|
62
64
|
"@types/npm-registry-fetch": "^8.0.7",
|
|
63
|
-
"@types/semver": "^7.5.
|
|
64
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
65
|
-
"@typescript-eslint/parser": "^
|
|
65
|
+
"@types/semver": "^7.5.8",
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "^7.15.0",
|
|
67
|
+
"@typescript-eslint/parser": "^7.15.0",
|
|
66
68
|
"eslint": "^8.51.0",
|
|
67
69
|
"eslint-config-prettier": "^9.0.0",
|
|
68
70
|
"jest": "^29.7.0",
|
|
69
|
-
"nodemon": "^3.
|
|
70
|
-
"prettier": "^3.
|
|
71
|
-
"rimraf": "^5.0.
|
|
72
|
-
"ts-jest": "^29.1.
|
|
73
|
-
"typescript": "^5.
|
|
71
|
+
"nodemon": "^3.1.4",
|
|
72
|
+
"prettier": "^3.3.2",
|
|
73
|
+
"rimraf": "^5.0.7",
|
|
74
|
+
"ts-jest": "^29.1.5",
|
|
75
|
+
"typescript": "^5.5.3"
|
|
74
76
|
},
|
|
75
77
|
"jest": {
|
|
76
78
|
"testEnvironment": "node",
|
|
@@ -97,5 +99,6 @@
|
|
|
97
99
|
"tsx",
|
|
98
100
|
"js"
|
|
99
101
|
]
|
|
100
|
-
}
|
|
102
|
+
},
|
|
103
|
+
"packageManager": "npm@8.19.4"
|
|
101
104
|
}
|