typesync 0.6.1 → 0.9.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/README.md +72 -7
- package/lib/cli-util.js +7 -5
- package/lib/cli-util.js.map +1 -1
- package/lib/cli.js +66 -42
- package/lib/cli.js.map +1 -1
- package/lib/config-service.d.ts +2 -0
- package/lib/config-service.js +96 -0
- package/lib/config-service.js.map +1 -0
- package/lib/globber.js +25 -8
- package/lib/globber.js.map +1 -1
- package/lib/npm-client.d.ts +4 -0
- package/lib/npm-client.js +49 -8
- package/lib/npm-client.js.map +1 -1
- package/lib/package-json-file-service.js +32 -14
- package/lib/package-json-file-service.js.map +1 -1
- package/lib/package-source.js +7 -5
- package/lib/package-source.js.map +1 -1
- package/lib/type-definition-source.js +17 -4
- package/lib/type-definition-source.js.map +1 -1
- package/lib/type-syncer.d.ts +2 -2
- package/lib/type-syncer.js +87 -48
- package/lib/type-syncer.js.map +1 -1
- package/lib/types.d.ts +20 -11
- package/lib/types.js +11 -0
- package/lib/types.js.map +1 -1
- package/lib/util.d.ts +6 -0
- package/lib/util.js +33 -6
- package/lib/util.js.map +1 -1
- package/package.json +23 -23
- package/CHANGELOG.md +0 -68
package/lib/npm-client.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
5
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
6
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) :
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
9
|
});
|
|
9
10
|
};
|
|
@@ -37,18 +38,58 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
37
38
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
38
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
39
40
|
};
|
|
40
|
-
var _this = this;
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.npmClient = exports.getNpmRegistry = void 0;
|
|
42
43
|
var axios_1 = __importDefault(require("axios"));
|
|
43
|
-
var
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
var child_process_1 = __importDefault(require("child_process"));
|
|
45
|
+
var util_1 = require("util");
|
|
46
|
+
var util_2 = require("./util");
|
|
47
|
+
var execAsync = (0, util_1.promisify)(child_process_1.default.exec);
|
|
48
|
+
/**
|
|
49
|
+
* Read registry from npm config.
|
|
50
|
+
*/
|
|
51
|
+
function getNpmRegistry() {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
53
|
+
var stdout;
|
|
54
|
+
return __generator(this, function (_a) {
|
|
55
|
+
switch (_a.label) {
|
|
56
|
+
case 0: return [4 /*yield*/, execAsync('npm config get registry')
|
|
57
|
+
/* istanbul ignore next */
|
|
58
|
+
];
|
|
59
|
+
case 1:
|
|
60
|
+
stdout = (_a.sent()).stdout;
|
|
61
|
+
/* istanbul ignore next */
|
|
62
|
+
return [2 /*return*/, stdout.trim() || 'https://registry.npmjs.org'];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
exports.getNpmRegistry = getNpmRegistry;
|
|
68
|
+
var getClient = (0, util_2.memoizeAsync)(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
69
|
+
var registryUrl;
|
|
70
|
+
return __generator(this, function (_a) {
|
|
71
|
+
switch (_a.label) {
|
|
72
|
+
case 0: return [4 /*yield*/, getNpmRegistry()];
|
|
73
|
+
case 1:
|
|
74
|
+
registryUrl = _a.sent();
|
|
75
|
+
return [2 /*return*/, axios_1.default.create({ baseURL: registryUrl })];
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}); });
|
|
46
79
|
/**
|
|
47
80
|
* Simple wrapper around the NPM API.
|
|
48
81
|
*/
|
|
49
82
|
exports.npmClient = {
|
|
50
|
-
getPackageManifest: function (name) { return __awaiter(
|
|
51
|
-
|
|
52
|
-
|
|
83
|
+
getPackageManifest: function (name) { return __awaiter(void 0, void 0, void 0, function () {
|
|
84
|
+
var client;
|
|
85
|
+
return __generator(this, function (_a) {
|
|
86
|
+
switch (_a.label) {
|
|
87
|
+
case 0: return [4 /*yield*/, getClient()];
|
|
88
|
+
case 1:
|
|
89
|
+
client = _a.sent();
|
|
90
|
+
return [2 /*return*/, client.get(name).then(function (r) { return r.data; })];
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}); },
|
|
53
94
|
};
|
|
54
95
|
//# sourceMappingURL=npm-client.js.map
|
package/lib/npm-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-client.js","sourceRoot":"","sources":["../src/npm-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"npm-client.js","sourceRoot":"","sources":["../src/npm-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAyB;AACzB,gEAAiC;AACjC,6BAAgC;AAChC,+BAAqC;AAErC,IAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,uBAAK,CAAC,IAAI,CAAC,CAAA;AAEvC;;GAEG;AACH,SAAsB,cAAc;;;;;wBACf,qBAAM,SAAS,CAAC,yBAAyB,CAAC;oBAC7D,0BAA0B;kBADmC;;oBAArD,MAAM,GAAK,CAAA,SAA0C,CAAA,OAA/C;oBACd,0BAA0B;oBAC1B,sBAAO,MAAM,CAAC,IAAI,EAAE,IAAI,4BAA4B,EAAA;;;;CACrD;AAJD,wCAIC;AAED,IAAM,SAAS,GAAG,IAAA,mBAAY,EAAC;;;;oBACT,qBAAM,cAAc,EAAE,EAAA;;gBAApC,WAAW,GAAG,SAAsB;gBAC1C,sBAAO,eAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAAA;;;KAC9C,CAAC,CAAA;AAEF;;GAEG;AACU,QAAA,SAAS,GAAG;IACvB,kBAAkB,EAAE,UAAO,IAAY;;;;wBACtB,qBAAM,SAAS,EAAE,EAAA;;oBAA1B,MAAM,GAAG,SAAiB;oBAChC,sBAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,EAAA;;;SAC5C;CACF,CAAA"}
|
|
@@ -1,9 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
28
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
29
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) :
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
31
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
32
|
});
|
|
9
33
|
};
|
|
@@ -34,23 +58,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
58
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
59
|
}
|
|
36
60
|
};
|
|
37
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
38
|
-
if (mod && mod.__esModule) return mod;
|
|
39
|
-
var result = {};
|
|
40
|
-
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
41
|
-
result["default"] = mod;
|
|
42
|
-
return result;
|
|
43
|
-
};
|
|
44
61
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
62
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
63
|
};
|
|
47
64
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
+
exports.createPackageJSONFileService = void 0;
|
|
48
66
|
var fs = __importStar(require("fs"));
|
|
49
67
|
var util_1 = require("./util");
|
|
50
68
|
var detect_indent_1 = __importDefault(require("detect-indent"));
|
|
51
|
-
var statAsync = util_1.promisify(fs.stat);
|
|
52
|
-
var readFileAsync = util_1.promisify(fs.readFile);
|
|
53
|
-
var writeFileAsync = util_1.promisify(fs.writeFile);
|
|
69
|
+
var statAsync = (0, util_1.promisify)(fs.stat);
|
|
70
|
+
var readFileAsync = (0, util_1.promisify)(fs.readFile);
|
|
71
|
+
var writeFileAsync = (0, util_1.promisify)(fs.writeFile);
|
|
54
72
|
function createPackageJSONFileService() {
|
|
55
73
|
var _this = this;
|
|
56
74
|
return {
|
|
@@ -72,7 +90,7 @@ function createPackageJSONFileService() {
|
|
|
72
90
|
case 0: return [4 /*yield*/, readFileContents(filePath)];
|
|
73
91
|
case 1:
|
|
74
92
|
contents = _a.sent();
|
|
75
|
-
indent = detect_indent_1.default(contents).indent;
|
|
93
|
+
indent = (0, detect_indent_1.default)(contents).indent;
|
|
76
94
|
trailingNewline = contents.length
|
|
77
95
|
? contents[contents.length - 1] === '\n'
|
|
78
96
|
: false;
|
|
@@ -83,7 +101,7 @@ function createPackageJSONFileService() {
|
|
|
83
101
|
return [2 /*return*/];
|
|
84
102
|
}
|
|
85
103
|
});
|
|
86
|
-
}); }
|
|
104
|
+
}); },
|
|
87
105
|
};
|
|
88
106
|
}
|
|
89
107
|
exports.createPackageJSONFileService = createPackageJSONFileService;
|
|
@@ -106,7 +124,7 @@ function assertFile(filePath) {
|
|
|
106
124
|
case 0: return [4 /*yield*/, existsAsync(filePath)];
|
|
107
125
|
case 1:
|
|
108
126
|
if (!(_a.sent())) {
|
|
109
|
-
throw new Error(filePath
|
|
127
|
+
throw new Error("".concat(filePath, " does not exist."));
|
|
110
128
|
}
|
|
111
129
|
return [2 /*return*/];
|
|
112
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json-file-service.js","sourceRoot":"","sources":["../src/package-json-file-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-json-file-service.js","sourceRoot":"","sources":["../src/package-json-file-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qCAAwB;AACxB,+BAAkC;AAClC,gEAAwC;AAExC,IAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,IAAI,CAAC,CAAA;AACpC,IAAM,aAAa,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;AAC5C,IAAM,cAAc,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,SAAS,CAAC,CAAA;AAE9C,SAAgB,4BAA4B;IAA5C,iBAoBC;IAnBC,OAAO;QACL,eAAe,EAAE,UAAO,QAAQ;;;;4BACb,qBAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAA;;wBAA3C,QAAQ,GAAG,SAAgC;wBACjD,sBAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAiB,EAAA;;;aAC5C;QACD,gBAAgB,EAAE,UAAO,QAAQ,EAAE,WAAW;;;;4BAC3B,qBAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAA;;wBAA3C,QAAQ,GAAG,SAAgC;wBACzC,MAAM,GAAK,IAAA,uBAAY,EAAC,QAAQ,CAAC,OAA3B,CAA2B;wBACnC,eAAe,GAAG,QAAQ,CAAC,MAAM;4BACrC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI;4BACxC,CAAC,CAAC,KAAK,CAAA;wBACH,IAAI,GAAG,IAAI,CAAC,SAAS,CACzB,WAAW,EACX,IAAI,EACJ,MAAM,CAAC,0BAA0B,IAAI,IAAI,CAC1C,CAAA;wBACD,qBAAM,cAAc,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAA;;wBAApE,SAAoE,CAAA;;;;aACrE;KACF,CAAA;AACH,CAAC;AApBD,oEAoBC;AAED,SAAe,gBAAgB,CAAC,QAAgB;;;;wBAC9C,qBAAM,UAAU,CAAC,QAAQ,CAAC,EAAA;;oBAA1B,SAA0B,CAAA;oBAC1B,sBAAO,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,CAAS,IAAK,OAAA,CAAC,CAAC,QAAQ,EAAE,EAAZ,CAAY,CAAC,EAAA;;;;CAC1E;AAED,SAAe,UAAU,CAAC,QAAgB;;;;wBAClC,qBAAM,WAAW,CAAC,QAAQ,CAAC,EAAA;;oBAAjC,IAAI,CAAC,CAAC,SAA2B,CAAC,EAAE;wBAClC,MAAM,IAAI,KAAK,CAAC,UAAG,QAAQ,qBAAkB,CAAC,CAAA;qBAC/C;;;;;CACF;AAED,SAAe,WAAW,CAAC,QAAgB;;;YACzC,sBAAO,SAAS,CAAC,QAAQ,CAAC;qBACvB,IAAI,CAAC,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC;qBAChB,KAAK,CAAC,UAAC,GAAG;oBACT,0BAA0B;oBAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;wBACzB,OAAO,KAAK,CAAA;qBACb;oBACD,0BAA0B;oBAC1B,MAAM,GAAG,CAAA;gBACX,CAAC,CAAC,EAAA;;;CACL"}
|
package/lib/package-source.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
5
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
6
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) :
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
9
|
});
|
|
9
10
|
};
|
|
@@ -35,6 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
36
|
}
|
|
36
37
|
};
|
|
37
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.createPackageSource = void 0;
|
|
38
40
|
var npm_client_1 = require("./npm-client");
|
|
39
41
|
var semver_1 = require("semver");
|
|
40
42
|
/**
|
|
@@ -57,7 +59,7 @@ function createPackageSource() {
|
|
|
57
59
|
var item = data.versions[v];
|
|
58
60
|
return {
|
|
59
61
|
version: item.version,
|
|
60
|
-
containsInternalTypings: !!item.types || !!item.typings
|
|
62
|
+
containsInternalTypings: !!item.types || !!item.typings,
|
|
61
63
|
};
|
|
62
64
|
});
|
|
63
65
|
return [2 /*return*/, {
|
|
@@ -65,12 +67,12 @@ function createPackageSource() {
|
|
|
65
67
|
latestVersion: data['dist-tags'].latest,
|
|
66
68
|
// Sort by version, highest version first.
|
|
67
69
|
versions: versions
|
|
68
|
-
.sort(function (left, right) { return semver_1.compare(left.version, right.version); })
|
|
69
|
-
.reverse()
|
|
70
|
+
.sort(function (left, right) { return (0, semver_1.compare)(left.version, right.version); })
|
|
71
|
+
.reverse(),
|
|
70
72
|
}];
|
|
71
73
|
}
|
|
72
74
|
});
|
|
73
|
-
}); }
|
|
75
|
+
}); },
|
|
74
76
|
};
|
|
75
77
|
}
|
|
76
78
|
exports.createPackageSource = createPackageSource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-source.js","sourceRoot":"","sources":["../src/package-source.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-source.js","sourceRoot":"","sources":["../src/package-source.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAAwC;AACxC,iCAAgC;AAEhC;;GAEG;AACH,SAAgB,mBAAmB;IAAnC,iBA2BC;IA1BC,OAAO;QACL;;WAEG;QACH,KAAK,EAAE,UAAO,IAAI;;;;4BACH,qBAAM,sBAAS,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAA;;wBAAnE,IAAI,GAAG,SAA4D;wBACnE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAC7C,UAAC,CAAC;4BACA,IAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;4BAC7B,OAAO;gCACL,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO;6BACxD,CAAA;wBACH,CAAC,CACF,CAAA;wBAED,sBAAO;gCACL,IAAI,EAAE,IAAI,CAAC,IAAI;gCACf,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM;gCACvC,0CAA0C;gCAC1C,QAAQ,EAAE,QAAQ;qCACf,IAAI,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAApC,CAAoC,CAAC;qCAC3D,OAAO,EAAE;6BACb,EAAA;;;aACF;KACF,CAAA;AACH,CAAC;AA3BD,kDA2BC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
5
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
6
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) :
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
9
|
});
|
|
9
10
|
};
|
|
@@ -38,6 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
39
40
|
};
|
|
40
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.createTypeDefinitionSource = void 0;
|
|
41
43
|
var axios_1 = __importDefault(require("axios"));
|
|
42
44
|
var typedefsUrl = 'https://typespublisher.blob.core.windows.net/typespublisher/data/search-index-min.json';
|
|
43
45
|
/**
|
|
@@ -53,16 +55,27 @@ function createTypeDefinitionSource() {
|
|
|
53
55
|
var data;
|
|
54
56
|
return __generator(this, function (_a) {
|
|
55
57
|
switch (_a.label) {
|
|
56
|
-
case 0: return [4 /*yield*/, axios_1.default
|
|
58
|
+
case 0: return [4 /*yield*/, axios_1.default
|
|
59
|
+
.get(typedefsUrl, {
|
|
60
|
+
timeout: 60000,
|
|
61
|
+
timeoutErrorMessage: 'Timed out while trying to fetch the type definitions.',
|
|
62
|
+
})
|
|
63
|
+
.then(function (x) { return x.data; })
|
|
64
|
+
/* istanbul ignore next */
|
|
65
|
+
];
|
|
57
66
|
case 1:
|
|
58
67
|
data = _a.sent();
|
|
68
|
+
/* istanbul ignore next */
|
|
69
|
+
if (!Array.isArray(data)) {
|
|
70
|
+
throw new Error('The type definitions endpoint did not return the expected shape.');
|
|
71
|
+
}
|
|
59
72
|
return [2 /*return*/, data.map(function (d) { return ({
|
|
60
73
|
typingsName: d.t,
|
|
61
|
-
isGlobal: d.g && d.g.length > 0
|
|
74
|
+
isGlobal: d.g && d.g.length > 0,
|
|
62
75
|
}); })];
|
|
63
76
|
}
|
|
64
77
|
});
|
|
65
|
-
}); }
|
|
78
|
+
}); },
|
|
66
79
|
};
|
|
67
80
|
}
|
|
68
81
|
exports.createTypeDefinitionSource = createTypeDefinitionSource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-definition-source.js","sourceRoot":"","sources":["../src/type-definition-source.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"type-definition-source.js","sourceRoot":"","sources":["../src/type-definition-source.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gDAAyB;AAEzB,IAAM,WAAW,GACf,wFAAwF,CAAA;AAE1F;;GAEG;AACH,SAAgB,0BAA0B;IAA1C,iBA2BC;IA1BC,OAAO;QACL;;WAEG;QACH,KAAK,EAAE;;;;4BACQ,qBAAM,eAAK;6BACrB,GAAG,CAAC,WAAW,EAAE;4BAChB,OAAO,EAAE,KAAK;4BACd,mBAAmB,EACjB,uDAAuD;yBAC1D,CAAC;6BACD,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAa,EAAf,CAAe,CAAC;wBAE/B,0BAA0B;sBAFK;;wBANzB,IAAI,GAAG,SAMkB;wBAE/B,0BAA0B;wBAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;4BACxB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAA;yBACF;wBAED,sBAAO,IAAI,CAAC,GAAG,CAAkB,UAAC,CAAM,IAAK,OAAA,CAAC;gCAC5C,WAAW,EAAE,CAAC,CAAC,CAAC;gCAChB,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;6BAChC,CAAC,EAH2C,CAG3C,CAAC,EAAA;;;aACJ;KACF,CAAA;AACH,CAAC;AA3BD,gEA2BC"}
|
package/lib/type-syncer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ITypeSyncer, IPackageJSONService, ITypeDefinitionSource, IPackageSource } from './types';
|
|
1
|
+
import { ITypeSyncer, IPackageJSONService, ITypeDefinitionSource, IPackageSource, IConfigService } from './types';
|
|
2
2
|
import { IGlobber } from './globber';
|
|
3
3
|
/**
|
|
4
4
|
* Creates a type syncer.
|
|
@@ -6,4 +6,4 @@ import { IGlobber } from './globber';
|
|
|
6
6
|
* @param packageJSONservice
|
|
7
7
|
* @param typeDefinitionSource
|
|
8
8
|
*/
|
|
9
|
-
export declare function createTypeSyncer(packageJSONService: IPackageJSONService, typeDefinitionSource: ITypeDefinitionSource, packageSource: IPackageSource, globber: IGlobber): ITypeSyncer;
|
|
9
|
+
export declare function createTypeSyncer(packageJSONService: IPackageJSONService, typeDefinitionSource: ITypeDefinitionSource, packageSource: IPackageSource, configService: IConfigService, globber: IGlobber): ITypeSyncer;
|
package/lib/type-syncer.js
CHANGED
|
@@ -11,10 +11,11 @@ var __assign = (this && this.__assign) || function () {
|
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
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); }); }
|
|
14
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
16
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
17
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
-
function step(result) { result.done ? resolve(result.value) :
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
19
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
20
|
});
|
|
20
21
|
};
|
|
@@ -45,7 +46,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
45
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
47
|
}
|
|
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
|
+
};
|
|
48
58
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
59
|
+
exports.createTypeSyncer = void 0;
|
|
60
|
+
var types_1 = require("./types");
|
|
49
61
|
var util_1 = require("./util");
|
|
50
62
|
var semver_1 = require("semver");
|
|
51
63
|
/**
|
|
@@ -54,38 +66,42 @@ var semver_1 = require("semver");
|
|
|
54
66
|
* @param packageJSONservice
|
|
55
67
|
* @param typeDefinitionSource
|
|
56
68
|
*/
|
|
57
|
-
function createTypeSyncer(packageJSONService, typeDefinitionSource, packageSource, globber) {
|
|
58
|
-
var fetchPackageInfo = util_1.memoizeAsync(packageSource.fetch);
|
|
69
|
+
function createTypeSyncer(packageJSONService, typeDefinitionSource, packageSource, configService, globber) {
|
|
70
|
+
var fetchPackageInfo = (0, util_1.memoizeAsync)(packageSource.fetch);
|
|
59
71
|
return {
|
|
60
|
-
sync: sync
|
|
72
|
+
sync: sync,
|
|
61
73
|
};
|
|
62
74
|
/**
|
|
63
75
|
* Syncs typings in the specified package.json.
|
|
64
76
|
*/
|
|
65
|
-
function sync(filePath,
|
|
66
|
-
if (opts === void 0) { opts = { dry: false }; }
|
|
77
|
+
function sync(filePath, flags) {
|
|
67
78
|
return __awaiter(this, void 0, void 0, function () {
|
|
68
|
-
var _a, file, allTypings, subPackages, syncedFiles;
|
|
79
|
+
var dryRun, _a, file, allTypings, syncOpts, subPackages, syncedFiles;
|
|
69
80
|
return __generator(this, function (_b) {
|
|
70
81
|
switch (_b.label) {
|
|
71
|
-
case 0:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
82
|
+
case 0:
|
|
83
|
+
dryRun = !!flags.dry;
|
|
84
|
+
return [4 /*yield*/, Promise.all([
|
|
85
|
+
packageJSONService.readPackageFile(filePath),
|
|
86
|
+
typeDefinitionSource.fetch(),
|
|
87
|
+
configService.readConfig(filePath, flags),
|
|
88
|
+
])];
|
|
75
89
|
case 1:
|
|
76
|
-
_a = _b.sent(), file = _a[0], allTypings = _a[1];
|
|
77
|
-
return [4 /*yield*/, Promise.all(util_1.ensureWorkspacesArray(file.packages)
|
|
90
|
+
_a = _b.sent(), file = _a[0], allTypings = _a[1], syncOpts = _a[2];
|
|
91
|
+
return [4 /*yield*/, Promise.all(__spreadArray(__spreadArray([], (0, util_1.ensureWorkspacesArray)(file.packages), true), (0, util_1.ensureWorkspacesArray)(file.workspaces), true).map(globber.globPackageFiles))
|
|
78
92
|
.then(util_1.flatten)
|
|
79
93
|
.then(util_1.uniq)];
|
|
80
94
|
case 2:
|
|
81
95
|
subPackages = _b.sent();
|
|
82
|
-
return [4 /*yield*/, Promise.all([
|
|
83
|
-
syncFile(filePath, file, allTypings,
|
|
84
|
-
]
|
|
96
|
+
return [4 /*yield*/, Promise.all(__spreadArray([
|
|
97
|
+
syncFile(filePath, file, allTypings, syncOpts, dryRun)
|
|
98
|
+
], subPackages.map(function (p) {
|
|
99
|
+
return syncFile(p, null, allTypings, syncOpts, dryRun);
|
|
100
|
+
}), true))];
|
|
85
101
|
case 3:
|
|
86
102
|
syncedFiles = _b.sent();
|
|
87
103
|
return [2 /*return*/, {
|
|
88
|
-
syncedFiles: syncedFiles
|
|
104
|
+
syncedFiles: syncedFiles,
|
|
89
105
|
}];
|
|
90
106
|
}
|
|
91
107
|
});
|
|
@@ -99,14 +115,14 @@ function createTypeSyncer(packageJSONService, typeDefinitionSource, packageSourc
|
|
|
99
115
|
* @param allTypings
|
|
100
116
|
* @param opts
|
|
101
117
|
*/
|
|
102
|
-
function syncFile(filePath, file, allTypings, opts) {
|
|
118
|
+
function syncFile(filePath, file, allTypings, opts, dryRun) {
|
|
103
119
|
return __awaiter(this, void 0, void 0, function () {
|
|
104
|
-
var
|
|
120
|
+
var ignoreDeps, ignorePackages, packageFile, _a, allPackages, allPackageNames, newTypings, used, devDepsToAdd, devDeps, unused;
|
|
105
121
|
var _this = this;
|
|
106
122
|
return __generator(this, function (_b) {
|
|
107
123
|
switch (_b.label) {
|
|
108
124
|
case 0:
|
|
109
|
-
|
|
125
|
+
ignoreDeps = opts.ignoreDeps, ignorePackages = opts.ignorePackages;
|
|
110
126
|
_a = file;
|
|
111
127
|
if (_a) return [3 /*break*/, 2];
|
|
112
128
|
return [4 /*yield*/, packageJSONService.readPackageFile(filePath)];
|
|
@@ -114,9 +130,15 @@ function createTypeSyncer(packageJSONService, typeDefinitionSource, packageSourc
|
|
|
114
130
|
_a = (_b.sent());
|
|
115
131
|
_b.label = 2;
|
|
116
132
|
case 2:
|
|
117
|
-
|
|
118
|
-
allPackages =
|
|
119
|
-
|
|
133
|
+
packageFile = _a;
|
|
134
|
+
allPackages = (0, util_1.flatten)((0, util_1.filterMap)(Object.values(types_1.IDependencySection), function (dep) {
|
|
135
|
+
if (ignoreDeps === null || ignoreDeps === void 0 ? void 0 : ignoreDeps.includes(dep)) {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
var section = getDependenciesBySection(packageFile, dep);
|
|
139
|
+
return getPackagesFromSection(section, ignorePackages);
|
|
140
|
+
}));
|
|
141
|
+
allPackageNames = (0, util_1.uniq)(allPackages.map(function (p) { return p.name; }));
|
|
120
142
|
newTypings = filterNewTypings(allPackageNames, allTypings);
|
|
121
143
|
used = [];
|
|
122
144
|
return [4 /*yield*/, Promise.all(newTypings.map(function (t) { return __awaiter(_this, void 0, void 0, function () {
|
|
@@ -125,7 +147,7 @@ function createTypeSyncer(packageJSONService, typeDefinitionSource, packageSourc
|
|
|
125
147
|
return __generator(this, function (_b) {
|
|
126
148
|
switch (_b.label) {
|
|
127
149
|
case 0:
|
|
128
|
-
typePackageInfoPromise = fetchPackageInfo(util_1.typed(t.typingsName));
|
|
150
|
+
typePackageInfoPromise = fetchPackageInfo((0, util_1.typed)(t.typingsName));
|
|
129
151
|
return [4 /*yield*/, fetchPackageInfo(t.codePackageName)];
|
|
130
152
|
case 1:
|
|
131
153
|
codePackageInfo = _b.sent();
|
|
@@ -145,17 +167,17 @@ function createTypeSyncer(packageJSONService, typeDefinitionSource, packageSourc
|
|
|
145
167
|
semverRangeSpecifier = getSemverRangeSpecifier(codePackage.version);
|
|
146
168
|
used.push(t);
|
|
147
169
|
return [2 /*return*/, (_a = {},
|
|
148
|
-
_a[util_1.typed(t.typingsName)] = semverRangeSpecifier + version,
|
|
170
|
+
_a[(0, util_1.typed)(t.typingsName)] = semverRangeSpecifier + version,
|
|
149
171
|
_a)];
|
|
150
172
|
}
|
|
151
173
|
});
|
|
152
174
|
}); })).then(util_1.mergeObjects)];
|
|
153
175
|
case 3:
|
|
154
176
|
devDepsToAdd = _b.sent();
|
|
155
|
-
devDeps =
|
|
177
|
+
devDeps = packageFile.devDependencies || /* istanbul ignore next */ {};
|
|
156
178
|
unused = getUnusedTypings(allPackageNames, devDeps, allTypings);
|
|
157
|
-
if (!!
|
|
158
|
-
return [4 /*yield*/, packageJSONService.writePackageFile(filePath, __assign({},
|
|
179
|
+
if (!!dryRun) return [3 /*break*/, 5];
|
|
180
|
+
return [4 /*yield*/, packageJSONService.writePackageFile(filePath, __assign(__assign({}, packageFile), { devDependencies: (0, util_1.orderObject)(__assign(__assign({}, devDepsToAdd), removeUnusedTypings(devDeps, unused))) }))];
|
|
159
181
|
case 4:
|
|
160
182
|
_b.sent();
|
|
161
183
|
_b.label = 5;
|
|
@@ -163,7 +185,7 @@ function createTypeSyncer(packageJSONService, typeDefinitionSource, packageSourc
|
|
|
163
185
|
filePath: filePath,
|
|
164
186
|
newTypings: used,
|
|
165
187
|
removedTypings: unused,
|
|
166
|
-
package:
|
|
188
|
+
package: packageFile,
|
|
167
189
|
}];
|
|
168
190
|
}
|
|
169
191
|
});
|
|
@@ -201,7 +223,7 @@ function getUnusedTypings(allPackageNames, devDependencies, allTypings) {
|
|
|
201
223
|
var result = [];
|
|
202
224
|
var _loop_2 = function (packageName) {
|
|
203
225
|
if (packageName.startsWith('@types/')) {
|
|
204
|
-
var codePackageName_1 = util_1.untyped(packageName);
|
|
226
|
+
var codePackageName_1 = (0, util_1.untyped)(packageName);
|
|
205
227
|
// Make sure the corresponding code package is in `allPackages`.
|
|
206
228
|
var hasCodePackageForTyping = allPackageNames.some(function (p) { return p === codePackageName_1; });
|
|
207
229
|
if (!hasCodePackageForTyping) {
|
|
@@ -225,7 +247,7 @@ function getUnusedTypings(allPackageNames, devDependencies, allTypings) {
|
|
|
225
247
|
* @param version
|
|
226
248
|
*/
|
|
227
249
|
function getClosestMatchingVersion(packageInfo, version) {
|
|
228
|
-
return (packageInfo.versions.find(function (v) { return semver_1.satisfies(v.version, version); }) ||
|
|
250
|
+
return (packageInfo.versions.find(function (v) { return (0, semver_1.satisfies)(v.version, version); }) ||
|
|
229
251
|
packageInfo.versions[0]);
|
|
230
252
|
}
|
|
231
253
|
/**
|
|
@@ -236,19 +258,19 @@ function getClosestMatchingVersion(packageInfo, version) {
|
|
|
236
258
|
*/
|
|
237
259
|
function filterNewTypings(allPackageNames, allTypings) {
|
|
238
260
|
var existingTypings = allPackageNames.filter(function (x) { return x.startsWith('@types/'); });
|
|
239
|
-
return util_1.filterMap(allPackageNames, function (p) {
|
|
261
|
+
return (0, util_1.filterMap)(allPackageNames, function (p) {
|
|
240
262
|
var typingsName = getTypingsName(p);
|
|
241
263
|
var typingsForPackage = allTypings.find(function (x) { return x.typingsName === typingsName; });
|
|
242
264
|
if (!typingsForPackage) {
|
|
243
265
|
// No typings available.
|
|
244
266
|
return false;
|
|
245
267
|
}
|
|
246
|
-
var fullTypingsPackage = util_1.typed(typingsForPackage.typingsName);
|
|
268
|
+
var fullTypingsPackage = (0, util_1.typed)(typingsForPackage.typingsName);
|
|
247
269
|
var alreadyHasTyping = existingTypings.some(function (t) { return t === fullTypingsPackage; });
|
|
248
270
|
if (alreadyHasTyping) {
|
|
249
271
|
return false;
|
|
250
272
|
}
|
|
251
|
-
return __assign({}, typingsForPackage, { codePackageName: p });
|
|
273
|
+
return __assign(__assign({}, typingsForPackage), { codePackageName: p });
|
|
252
274
|
});
|
|
253
275
|
}
|
|
254
276
|
/**
|
|
@@ -261,7 +283,7 @@ function getTypingsName(packageName) {
|
|
|
261
283
|
var scopeInfo = getPackageScope(packageName);
|
|
262
284
|
var typingsName = packageName;
|
|
263
285
|
if (scopeInfo && scopeInfo[0] !== 'types') {
|
|
264
|
-
typingsName = scopeInfo[0]
|
|
286
|
+
typingsName = "".concat(scopeInfo[0], "__").concat(scopeInfo[1]);
|
|
265
287
|
}
|
|
266
288
|
return typingsName;
|
|
267
289
|
}
|
|
@@ -279,22 +301,39 @@ function getPackageScope(packageName) {
|
|
|
279
301
|
return [matches[1], matches[2]];
|
|
280
302
|
}
|
|
281
303
|
/**
|
|
282
|
-
*
|
|
304
|
+
* Get packages from a dependency section
|
|
283
305
|
*
|
|
284
306
|
* @param section
|
|
307
|
+
* @param ignorePackages
|
|
285
308
|
*/
|
|
286
|
-
function getPackagesFromSection(section,
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
309
|
+
function getPackagesFromSection(section, ignorePackages) {
|
|
310
|
+
return (0, util_1.filterMap)(Object.keys(section), function (name) {
|
|
311
|
+
if (ignorePackages === null || ignorePackages === void 0 ? void 0 : ignorePackages.includes(name)) {
|
|
312
|
+
return false;
|
|
313
|
+
}
|
|
314
|
+
return { name: name, version: section[name] };
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Get dependencies from a package section
|
|
319
|
+
*
|
|
320
|
+
* @param file Package file
|
|
321
|
+
* @param section Package section, eg: dev, peer
|
|
322
|
+
*/
|
|
323
|
+
function getDependenciesBySection(file, section) {
|
|
324
|
+
var dependenciesSection = (function () {
|
|
325
|
+
switch (section) {
|
|
326
|
+
case types_1.IDependencySection.deps:
|
|
327
|
+
return file.dependencies;
|
|
328
|
+
case types_1.IDependencySection.dev:
|
|
329
|
+
return file.devDependencies;
|
|
330
|
+
case types_1.IDependencySection.optional:
|
|
331
|
+
return file.optionalDependencies;
|
|
332
|
+
case types_1.IDependencySection.peer:
|
|
333
|
+
return file.peerDependencies;
|
|
334
|
+
}
|
|
335
|
+
})();
|
|
336
|
+
return dependenciesSection !== null && dependenciesSection !== void 0 ? dependenciesSection : {};
|
|
298
337
|
}
|
|
299
338
|
var CARET = '^'.charCodeAt(0);
|
|
300
339
|
var TILDE = '~'.charCodeAt(0);
|
package/lib/type-syncer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-syncer.js","sourceRoot":"","sources":["../src/type-syncer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"type-syncer.js","sourceRoot":"","sources":["../src/type-syncer.ts"],"names":[],"mappings":"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"}
|