UNPKG

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