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/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.ensureWorkspacesArray = exports.memoizeAsync = exports.flatten = exports.promisify = exports.orderObject = exports.untyped = exports.typed = exports.mergeObjects = exports.shrinkObject = exports.filterMap = exports.uniq = void 0;
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
- var seen = [];
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
- var result = [];
85
- var index = 0;
86
- for (var _i = 0, source_2 = source; _i < source_2.length; _i++) {
87
- var item = source_2[_i];
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
- var object = {};
103
- for (var key in source) {
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(function (accum, next) { return (__assign(__assign({}, accum), next)); }, {});
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
- var splat = name.split('/');
129
- return "@types/".concat(splat[0].slice(1), "__").concat(splat[1]);
66
+ const splat = name.split('/');
67
+ return `@types/${splat[0].slice(1)}__${splat[1]}`;
130
68
  }
131
- return "@types/".concat(name);
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
- var prefix = '@types/';
76
+ const prefix = '@types/';
140
77
  if (!name.startsWith(prefix)) {
141
78
  return name;
142
79
  }
143
80
  name = name.substring(prefix.length);
144
- var splat = name.split('__');
81
+ const splat = name.split('__');
145
82
  if (splat.length === 2) {
146
- return "@".concat(splat[0], "/").concat(splat[1]);
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
- var keys = Object.keys(source).sort(comparer);
157
- var result = {};
158
- for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
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
- var cache = new Map();
212
- function run() {
213
- var args = [];
214
- for (var _i = 0; _i < arguments.length; _i++) {
215
- args[_i] = arguments[_i];
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
- var args = [];
236
- for (var _i = 0; _i < arguments.length; _i++) {
237
- args[_i] = arguments[_i];
115
+ return async function (...args) {
116
+ const key = args[0];
117
+ if (cache.has(key)) {
118
+ return cache.get(key);
238
119
  }
239
- return __awaiter(this, void 0, void 0, function () {
240
- var key, p;
241
- return __generator(this, function (_a) {
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
- // tslint:disable-next-line
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":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,14 @@
1
- import { IPackageVersionInfo } from './types';
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[], version: string): 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 = void 0;
4
- var semver_1 = require("semver");
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
- var parsedVersion = parseVersion(version);
12
+ const parsedVersion = parseVersion(version);
13
13
  if (!parsedVersion) {
14
14
  return availableVersions[0];
15
15
  }
16
- var bestMatch = availableVersions.find(function (v) {
17
- var parsedAvailableVersion = parseVersion(v.version);
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 || availableVersions[0];
29
+ return bestMatch ?? availableVersions[0];
30
30
  }
31
- exports.getClosestMatchingVersion = getClosestMatchingVersion;
32
31
  /**
33
32
  * Parses the version if possible.
34
33
  *
@@ -1 +1 @@
1
- {"version":3,"file":"versioning.js","sourceRoot":"","sources":["../src/versioning.ts"],"names":[],"mappings":";;;AACA,iCAA8B;AAE9B;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,iBAAwC,EACxC,OAAe;IAEf,IAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAC7B,CAAC;IAED,IAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAC,CAAC;QACzC,IAAM,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;AA3BD,8DA2BC;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"}
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.12.1",
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": "^9.0.0",
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.3.10",
55
- "npm-registry-fetch": "^16.1.0",
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.5.4"
58
+ "semver": "^7.6.2"
58
59
  },
59
60
  "devDependencies": {
60
- "@types/glob": "^8.1.0",
61
- "@types/jest": "^29.5.11",
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.6",
64
- "@typescript-eslint/eslint-plugin": "^6.17.0",
65
- "@typescript-eslint/parser": "^6.17.0",
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.0.2",
70
- "prettier": "^3.1.1",
71
- "rimraf": "^5.0.5",
72
- "ts-jest": "^29.1.1",
73
- "typescript": "^5.3.3"
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
  }