typesync 0.12.2 → 0.13.1

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,60 +1,4 @@
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
3
  exports.uniq = uniq;
60
4
  exports.filterMap = filterMap;
@@ -63,8 +7,6 @@ exports.mergeObjects = mergeObjects;
63
7
  exports.typed = typed;
64
8
  exports.untyped = untyped;
65
9
  exports.orderObject = orderObject;
66
- exports.promisify = promisify;
67
- exports.flatten = flatten;
68
10
  exports.memoizeAsync = memoizeAsync;
69
11
  exports.ensureWorkspacesArray = ensureWorkspacesArray;
70
12
  /**
@@ -73,15 +15,7 @@ exports.ensureWorkspacesArray = ensureWorkspacesArray;
73
15
  * @param source The source to filter
74
16
  */
75
17
  function uniq(source) {
76
- var seen = [];
77
- for (var _i = 0, source_1 = source; _i < source_1.length; _i++) {
78
- var s = source_1[_i];
79
- if (seen.includes(s)) {
80
- continue;
81
- }
82
- seen.push(s);
83
- }
84
- return seen;
18
+ return [...new Set(source)];
85
19
  }
86
20
  /**
87
21
  * Does a `map` and a `filter` in one pass.
@@ -90,11 +24,10 @@ function uniq(source) {
90
24
  * @param iteratee The iteratee.
91
25
  */
92
26
  function filterMap(source, iteratee) {
93
- var result = [];
94
- var index = 0;
95
- for (var _i = 0, source_2 = source; _i < source_2.length; _i++) {
96
- var item = source_2[_i];
97
- var mapped = iteratee(item, index++);
27
+ const result = [];
28
+ let index = 0;
29
+ for (const item of source) {
30
+ const mapped = iteratee(item, index++);
98
31
  if (mapped === false)
99
32
  continue;
100
33
  result.push(mapped);
@@ -107,9 +40,8 @@ function filterMap(source, iteratee) {
107
40
  * @param source
108
41
  */
109
42
  function shrinkObject(source) {
110
- var object = {};
111
- for (var key in source) {
112
- // tslint:disable-next-line
43
+ const object = {};
44
+ for (const key in source) {
113
45
  if (typeof source[key] !== 'undefined') {
114
46
  object[key] = source[key];
115
47
  }
@@ -122,7 +54,7 @@ function shrinkObject(source) {
122
54
  * @param source An array of objects to merge.
123
55
  */
124
56
  function mergeObjects(source) {
125
- return source.reduce(function (accum, next) { return (__assign(__assign({}, accum), next)); }, {});
57
+ return source.reduce((accum, next) => ({ ...accum, ...next }), {});
126
58
  }
127
59
  /**
128
60
  * Returns the assumed types package name.
@@ -131,24 +63,24 @@ function mergeObjects(source) {
131
63
  function typed(name) {
132
64
  // If the package is scoped, the typings scheme is slightly different.
133
65
  if (/^@.*?\//i.test(name)) {
134
- var splat = name.split('/');
135
- return "@types/".concat(splat[0].slice(1), "__").concat(splat[1]);
66
+ const splat = name.split('/');
67
+ return `@types/${splat[0].slice(1)}__${splat[1]}`;
136
68
  }
137
- return "@types/".concat(name);
69
+ return `@types/${name}`;
138
70
  }
139
71
  /**
140
72
  * Returns the assumed code package name based on a types package name.
141
73
  * @param name
142
74
  */
143
75
  function untyped(name) {
144
- var prefix = '@types/';
76
+ const prefix = '@types/';
145
77
  if (!name.startsWith(prefix)) {
146
78
  return name;
147
79
  }
148
80
  name = name.substring(prefix.length);
149
- var splat = name.split('__');
81
+ const splat = name.split('__');
150
82
  if (splat.length === 2) {
151
- return "@".concat(splat[0], "/").concat(splat[1]);
83
+ return `@${splat[0]}/${splat[1]}`;
152
84
  }
153
85
  return name;
154
86
  }
@@ -157,98 +89,37 @@ function untyped(name) {
157
89
  * @param source
158
90
  */
159
91
  function orderObject(source, comparer) {
160
- var keys = Object.keys(source).sort(comparer);
161
- var result = {};
162
- for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
163
- var key = keys_1[_i];
92
+ const keys = Object.keys(source).sort(comparer);
93
+ const result = {};
94
+ for (const key of keys) {
164
95
  result[key] = source[key];
165
96
  }
166
97
  return result;
167
98
  }
168
- /**
169
- * Promisifies the specified function.
170
- *
171
- * @param fn
172
- */
173
- function promisify(fn) {
174
- return function promisified() {
175
- var args = [];
176
- for (var _i = 0; _i < arguments.length; _i++) {
177
- args[_i] = arguments[_i];
178
- }
179
- return new Promise(function (resolve, reject) {
180
- fn.apply(void 0, __spreadArray(__spreadArray([], args, false), [function callback(err, result) {
181
- // Edge case with `fs.exists`.
182
- if (arguments.length === 1 && typeof err === 'boolean') {
183
- return resolve(err);
184
- }
185
- return !err ? resolve(result) : reject(err);
186
- }], false));
187
- });
188
- };
189
- }
190
- /**
191
- * Flattens a 2-dimensional array.
192
- *
193
- * @param source
194
- */
195
- function flatten(source) {
196
- var result = [];
197
- for (var _i = 0, source_3 = source; _i < source_3.length; _i++) {
198
- var items = source_3[_i];
199
- for (var _a = 0, items_1 = items; _a < items_1.length; _a++) {
200
- var item = items_1[_a];
201
- result.push(item);
202
- }
203
- }
204
- return result;
205
- }
206
99
  /**
207
100
  * Async memoize.
208
101
  *
209
102
  * @param fn
210
103
  */
211
104
  function memoizeAsync(fn) {
212
- var cache = new Map();
213
- function run() {
214
- var args = [];
215
- for (var _i = 0; _i < arguments.length; _i++) {
216
- 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;
217
113
  }
218
- return __awaiter(this, void 0, void 0, function () {
219
- var err_1;
220
- return __generator(this, function (_a) {
221
- switch (_a.label) {
222
- case 0:
223
- _a.trys.push([0, 2, , 3]);
224
- return [4 /*yield*/, fn.apply(void 0, args)];
225
- case 1: return [2 /*return*/, _a.sent()];
226
- case 2:
227
- err_1 = _a.sent();
228
- cache.delete(args[0]);
229
- throw err_1;
230
- case 3: return [2 /*return*/];
231
- }
232
- });
233
- });
234
114
  }
235
- return function () {
236
- var args = [];
237
- for (var _i = 0; _i < arguments.length; _i++) {
238
- args[_i] = arguments[_i];
115
+ return async function (...args) {
116
+ const key = args[0];
117
+ if (cache.has(key)) {
118
+ return cache.get(key);
239
119
  }
240
- return __awaiter(this, void 0, void 0, function () {
241
- var key, p;
242
- return __generator(this, function (_a) {
243
- key = args[0];
244
- if (cache.has(key)) {
245
- return [2 /*return*/, cache.get(key)];
246
- }
247
- p = run.apply(void 0, args);
248
- cache.set(key, p);
249
- return [2 /*return*/, p];
250
- });
251
- });
120
+ const p = run(...args);
121
+ cache.set(key, p);
122
+ return p;
252
123
  };
253
124
  }
254
125
  /**
@@ -263,8 +134,7 @@ 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;
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
3
  exports.getClosestMatchingVersion = getClosestMatchingVersion;
4
- var semver_1 = require("semver");
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,7 +26,7 @@ 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
31
  /**
32
32
  * Parses the version if possible.
@@ -1 +1 @@
1
- {"version":3,"file":"versioning.js","sourceRoot":"","sources":["../src/versioning.ts"],"names":[],"mappings":";;AASA,8DA2BC;AAnCD,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;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, ignored: IWorkspacesArray): 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,47 @@
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, ignored) => {
13
+ const [manifests, ignoredWorkspaces] = await Promise.all([
14
+ (async () => {
15
+ const workspaces = await getWorkspaces(packageJson, root);
16
+ const workspacesArray = (0, util_1.ensureWorkspacesArray)(workspaces);
17
+ const globbedArrays = await Promise.all(workspacesArray.map(async (workspace) => await globber.glob(root, workspace)));
18
+ return (0, util_1.uniq)(globbedArrays.flat());
19
+ })(),
20
+ (async () => {
21
+ const ignoredWorkspacesArrays = await Promise.all(ignored.map(async (ignoredWorkspace) => await globber.glob(root, ignoredWorkspace)));
22
+ return (0, util_1.uniq)(ignoredWorkspacesArrays.flat());
23
+ })(),
24
+ ]);
25
+ return manifests.filter((manifest) => !ignoredWorkspaces.includes(manifest));
26
+ },
27
+ };
28
+ async function getWorkspaces(packageJson, root) {
29
+ const packageJsonWorkspaces = packageJson.workspaces;
30
+ if (packageJsonWorkspaces !== undefined) {
31
+ return packageJsonWorkspaces;
32
+ }
33
+ return await getPnpmWorkspaces(root);
34
+ }
35
+ async function getPnpmWorkspaces(root) {
36
+ try {
37
+ const filePath = node_path_1.default.relative(root, 'pnpm-workspace.yaml');
38
+ const contents = await readFileContents(filePath);
39
+ const pnpmWorkspaces = js_yaml_1.default.load(contents);
40
+ return pnpmWorkspaces.packages;
41
+ }
42
+ catch {
43
+ return undefined;
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=workspace-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-resolver.js","sourceRoot":"","sources":["../src/workspace-resolver.ts"],"names":[],"mappings":";;;;;AA+FA,wEA8DC;AA7JD,0DAA4B;AAC5B,sDAA0B;AAG1B,iCAAoD;AA2FpD,SAAgB,8BAA8B,CAAC,EAC7C,gBAAgB,GAGjB;IACC,OAAO;QACL,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YAC3D,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvD,CAAC,KAAK,IAAI,EAAE;oBACV,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;oBACzD,MAAM,eAAe,GAAG,IAAA,4BAAqB,EAAC,UAAU,CAAC,CAAA;oBACzD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,eAAe,CAAC,GAAG,CACjB,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CACzD,CACF,CAAA;oBAED,OAAO,IAAA,WAAI,EAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;gBACnC,CAAC,CAAC,EAAE;gBACJ,CAAC,KAAK,IAAI,EAAE;oBACV,MAAM,uBAAuB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/C,OAAO,CAAC,GAAG,CACT,KAAK,EAAE,gBAAgB,EAAE,EAAE,CACzB,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAC7C,CACF,CAAA;oBAED,OAAO,IAAA,WAAI,EAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC7C,CAAC,CAAC,EAAE;aACL,CAAC,CAAA;YAEF,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACpD,CAAA;QACH,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.2",
3
+ "version": "0.13.1",
4
4
  "description": "Install missing TypeScript typings for your dependencies.",
5
5
  "engines": {
6
6
  "node": ">=16.0.0"
@@ -52,13 +52,15 @@
52
52
  "cosmiconfig": "^9.0.0",
53
53
  "detect-indent": "^6.0.0",
54
54
  "glob": "^10.4.2",
55
+ "js-yaml": "^4.1.0",
55
56
  "npm-registry-fetch": "^17.1.0",
56
57
  "ora": "^5.1.0",
57
58
  "semver": "^7.6.2"
58
59
  },
59
60
  "devDependencies": {
60
- "@types/glob": "^8.1.0",
61
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
65
  "@types/semver": "^7.5.8",
64
66
  "@typescript-eslint/eslint-plugin": "^7.15.0",
@@ -97,5 +99,6 @@
97
99
  "tsx",
98
100
  "js"
99
101
  ]
100
- }
102
+ },
103
+ "packageManager": "npm@8.19.4"
101
104
  }