UNPKG

5.85 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.showConfig = exports.clearToDefault = exports.setConfig = void 0;
4var tslib_1 = require("tslib");
5var typescript_1 = tslib_1.__importDefault(require("typescript"));
6var type_1 = require("./type");
7var defaultConfig = {
8 input: {
9 files: [],
10 urls: [],
11 stdin: false,
12 },
13 outputAST: false,
14 target: typescript_1.default.ScriptTarget.Latest,
15 plugins: {},
16};
17var config = Object.assign({}, defaultConfig);
18function setConfig(input) {
19 config = Object.assign(config, input);
20}
21exports.setConfig = setConfig;
22function clearToDefault() {
23 setConfig(defaultConfig);
24}
25exports.clearToDefault = clearToDefault;
26function 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}
120exports.showConfig = showConfig;
121function showScriptTarget(target) {
122 switch (target) {
123 case typescript_1.default.ScriptTarget.ES3: return 'ES3';
124 case typescript_1.default.ScriptTarget.ES5: return 'ES5';
125 case typescript_1.default.ScriptTarget.ES2015: return 'ES2015';
126 case typescript_1.default.ScriptTarget.ES2016: return 'ES2016';
127 case typescript_1.default.ScriptTarget.ES2017: return 'ES2017';
128 case typescript_1.default.ScriptTarget.ES2018: return 'ES2018';
129 case typescript_1.default.ScriptTarget.ES2019: return 'ES2019';
130 case typescript_1.default.ScriptTarget.ES2020: return 'ES2020';
131 case typescript_1.default.ScriptTarget.ESNext: return 'ESNext';
132 default: return 'Latest';
133 }
134}
135exports.default = config;
136//# sourceMappingURL=config.js.map
\No newline at end of file