1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.showConfig = exports.clearToDefault = exports.setConfig = void 0;
|
4 | var tslib_1 = require("tslib");
|
5 | var typescript_1 = tslib_1.__importDefault(require("typescript"));
|
6 | var type_1 = require("./type");
|
7 | var defaultConfig = {
|
8 | input: {
|
9 | files: [],
|
10 | urls: [],
|
11 | stdin: false,
|
12 | },
|
13 | outputAST: false,
|
14 | target: typescript_1.default.ScriptTarget.Latest,
|
15 | plugins: {},
|
16 | };
|
17 | var config = Object.assign({}, defaultConfig);
|
18 | function setConfig(input) {
|
19 | config = Object.assign(config, input);
|
20 | }
|
21 | exports.setConfig = setConfig;
|
22 | function clearToDefault() {
|
23 | setConfig(defaultConfig);
|
24 | }
|
25 | exports.clearToDefault = clearToDefault;
|
26 | function showConfig(version, c) {
|
27 | return tslib_1.__awaiter(this, void 0, void 0, function () {
|
28 | var _a, _b, _c, name_1, option, plugins, _d, _e, _f, name_2, option, p, e_1_1, plugins_1, plugins_1_1, p;
|
29 | var e_2, _g, e_1, _h, e_3, _j;
|
30 | return tslib_1.__generator(this, function (_k) {
|
31 | switch (_k.label) {
|
32 | case 0:
|
33 | console.log('Version: ' + version);
|
34 | console.log('ConfigFile: ' + c.configFile);
|
35 | console.log();
|
36 | console.log('Config:');
|
37 | console.log(' input:');
|
38 | if (c.input.files.length > 0) {
|
39 | console.log(' files: ' + JSON.stringify(c.input.files));
|
40 | }
|
41 | if (c.input.urls.length > 0) {
|
42 | console.log(' urls: ' + JSON.stringify(c.input.urls));
|
43 | }
|
44 | if (c.input.stdin) {
|
45 | console.log(' stdin: true');
|
46 | }
|
47 | if (c.outputFile != null) {
|
48 | console.log(' outputFile: ' + JSON.stringify(c.outputFile));
|
49 | }
|
50 | console.log(' target: ' + showScriptTarget(c.target));
|
51 | if (c.outputAST) {
|
52 | console.log(' outputAST: true');
|
53 | }
|
54 | console.log(' plugins:');
|
55 | try {
|
56 | for (_a = tslib_1.__values(Object.entries(c.plugins)), _b = _a.next(); !_b.done; _b = _a.next()) {
|
57 | _c = tslib_1.__read(_b.value, 2), name_1 = _c[0], option = _c[1];
|
58 | console.log(" " + name_1 + ": " + JSON.stringify(option));
|
59 | }
|
60 | }
|
61 | catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
62 | finally {
|
63 | try {
|
64 | if (_b && !_b.done && (_g = _a.return)) _g.call(_a);
|
65 | }
|
66 | finally { if (e_2) throw e_2.error; }
|
67 | }
|
68 | console.log();
|
69 | plugins = [];
|
70 | _k.label = 1;
|
71 | case 1:
|
72 | _k.trys.push([1, 6, 7, 8]);
|
73 | _d = tslib_1.__values(Object.entries(c.plugins)), _e = _d.next();
|
74 | _k.label = 2;
|
75 | case 2:
|
76 | if (!!_e.done) return [3, 5];
|
77 | _f = tslib_1.__read(_e.value, 2), name_2 = _f[0], option = _f[1];
|
78 | return [4, type_1.loadPlugin(name_2, option)];
|
79 | case 3:
|
80 | p = _k.sent();
|
81 | if (p != null) {
|
82 | plugins.push(p);
|
83 | }
|
84 | _k.label = 4;
|
85 | case 4:
|
86 | _e = _d.next();
|
87 | return [3, 2];
|
88 | case 5: return [3, 8];
|
89 | case 6:
|
90 | e_1_1 = _k.sent();
|
91 | e_1 = { error: e_1_1 };
|
92 | return [3, 8];
|
93 | case 7:
|
94 | try {
|
95 | if (_e && !_e.done && (_h = _d.return)) _h.call(_d);
|
96 | }
|
97 | finally { if (e_1) throw e_1.error; }
|
98 | return [7];
|
99 | case 8:
|
100 | console.log('Plugins: count=' + plugins.length);
|
101 | try {
|
102 | for (plugins_1 = tslib_1.__values(plugins), plugins_1_1 = plugins_1.next(); !plugins_1_1.done; plugins_1_1 = plugins_1.next()) {
|
103 | p = plugins_1_1.value;
|
104 | console.log(" " + p.meta.name + "@" + p.meta.version + ": " + p.meta.description);
|
105 | }
|
106 | }
|
107 | catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
108 | finally {
|
109 | try {
|
110 | if (plugins_1_1 && !plugins_1_1.done && (_j = plugins_1.return)) _j.call(plugins_1);
|
111 | }
|
112 | finally { if (e_3) throw e_3.error; }
|
113 | }
|
114 | console.log();
|
115 | return [2];
|
116 | }
|
117 | });
|
118 | });
|
119 | }
|
120 | exports.showConfig = showConfig;
|
121 | function showScriptTarget(target) {
|
122 | switch (target) {
|
123 | case typescript_1.default.ScriptTarget.ES3:
|
124 | return 'ES3';
|
125 | case typescript_1.default.ScriptTarget.ES5:
|
126 | return 'ES5';
|
127 | case typescript_1.default.ScriptTarget.ES2015:
|
128 | return 'ES2015';
|
129 | case typescript_1.default.ScriptTarget.ES2016:
|
130 | return 'ES2016';
|
131 | case typescript_1.default.ScriptTarget.ES2017:
|
132 | return 'ES2017';
|
133 | case typescript_1.default.ScriptTarget.ES2018:
|
134 | return 'ES2018';
|
135 | case typescript_1.default.ScriptTarget.ES2019:
|
136 | return 'ES2019';
|
137 | case typescript_1.default.ScriptTarget.ES2020:
|
138 | return 'ES2020';
|
139 | case typescript_1.default.ScriptTarget.ESNext:
|
140 | return 'ESNext';
|
141 | default:
|
142 | return 'Latest';
|
143 | }
|
144 | }
|
145 | exports.default = config;
|
146 |
|
\ | No newline at end of file |