UNPKG

3.08 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.showConfig = exports.clearToDefault = exports.setConfig = void 0;
4const typescript_1 = require("typescript");
5const type_1 = require("./type");
6const defaultConfig = {
7 configFile: undefined,
8 input: {
9 files: [],
10 urls: [],
11 stdin: false,
12 },
13 outputFile: undefined,
14 target: typescript_1.ScriptTarget.Latest,
15 outputAST: false,
16 plugins: {},
17};
18let config = Object.assign({}, defaultConfig);
19function setConfig(input) {
20 config = Object.assign(config, input);
21}
22exports.setConfig = setConfig;
23function clearToDefault() {
24 setConfig(defaultConfig);
25}
26exports.clearToDefault = clearToDefault;
27async function showConfig(version, c) {
28 var _a, _b, _c;
29 console.log('Version: ' + version);
30 console.log('ConfigFile: ' + ((_b = (_a = c.configFile) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '"not set"'));
31 console.log();
32 console.log('Config:');
33 console.log(' input:');
34 if (c.input.files.length > 0) {
35 console.log(' files: ' + JSON.stringify(c.input.files));
36 }
37 if (c.input.urls.length > 0) {
38 console.log(' urls: ' + JSON.stringify(c.input.urls));
39 }
40 if (c.input.stdin) {
41 console.log(' stdin: true');
42 }
43 if (c.outputFile != null) {
44 console.log(' outputFile: ' + JSON.stringify(c.outputFile));
45 }
46 console.log(' target: ' + showScriptTarget(c.target));
47 if (c.outputAST) {
48 console.log(' outputAST: true');
49 }
50 console.log(' plugins:');
51 for (const [name, option] of Object.entries(c.plugins)) {
52 console.log(` ${name}: ${JSON.stringify(option)}`);
53 }
54 console.log();
55 const plugins = [];
56 for (const [name, option] of Object.entries(c.plugins)) {
57 const p = await (0, type_1.loadPlugin)(name, option);
58 if (p != null) {
59 plugins.push(p);
60 }
61 }
62 console.log('Plugins: count=' + plugins.length.toString());
63 for (const p of plugins) {
64 console.log(` ${p.meta.name}@${p.meta.version}: ${(_c = p.meta.description) !== null && _c !== void 0 ? _c : ''}`);
65 }
66 console.log();
67}
68exports.showConfig = showConfig;
69function showScriptTarget(target) {
70 switch (target) {
71 case typescript_1.ScriptTarget.ES3:
72 return 'ES3';
73 case typescript_1.ScriptTarget.ES5:
74 return 'ES5';
75 case typescript_1.ScriptTarget.ES2015:
76 return 'ES2015';
77 case typescript_1.ScriptTarget.ES2016:
78 return 'ES2016';
79 case typescript_1.ScriptTarget.ES2017:
80 return 'ES2017';
81 case typescript_1.ScriptTarget.ES2018:
82 return 'ES2018';
83 case typescript_1.ScriptTarget.ES2019:
84 return 'ES2019';
85 case typescript_1.ScriptTarget.ES2020:
86 return 'ES2020';
87 case typescript_1.ScriptTarget.ESNext:
88 return 'ESNext';
89 default:
90 return 'Latest';
91 }
92}
93exports.default = config;