UNPKG

4.39 kBJavaScriptView Raw
1#!/usr/bin/env node
2(function (factory) {
3 if (typeof module === "object" && typeof module.exports === "object") {
4 var v = factory(require, exports);
5 if (v !== undefined) module.exports = v;
6 }
7 else if (typeof define === "function" && define.amd) {
8 define(["require", "exports", "child_process", "@theintern/common", "../lib/node/util", "../lib/common/util", "../index", "../lib/common/console"], factory);
9 }
10})(function (require, exports) {
11 "use strict";
12 Object.defineProperty(exports, "__esModule", { value: true });
13 var child_process_1 = require("child_process");
14 var common_1 = require("@theintern/common");
15 var util_1 = require("../lib/node/util");
16 var util_2 = require("../lib/common/util");
17 var index_1 = require("../index");
18 var console = require("../lib/common/console");
19 util_1.getConfig()
20 .then(function (_a) {
21 var config = _a.config, file = _a.file;
22 if (config.help) {
23 printHelp(config, file);
24 }
25 else if (config.showConfigs) {
26 console.log(util_2.getConfigDescription(config));
27 }
28 else {
29 if (!file) {
30 console.warn('No config file was loaded');
31 }
32 index_1.default.configure({ reporters: 'runner' });
33 index_1.default.configure(config);
34 if (index_1.default.environment === 'browser' &&
35 ((index_1.default.config.suites &&
36 index_1.default.config.suites.some(function (pattern) { return pattern.endsWith('.ts'); })) ||
37 (index_1.default.config.plugins &&
38 index_1.default.config.plugins.some(function (plugin) {
39 return plugin.script.endsWith('.ts');
40 })))) {
41 throw new Error('Loading TypeScript files is not supported in the browser');
42 }
43 return index_1.default.run();
44 }
45 })
46 .catch(function (error) {
47 if (!error.reported) {
48 try {
49 console.error(index_1.default.formatError(error));
50 }
51 catch (e) {
52 console.error(error);
53 }
54 }
55 common_1.global.process.exitCode = 1;
56 });
57 function printHelp(config, file) {
58 var $ = function (cmd) { return child_process_1.execSync(cmd, { encoding: 'utf8' }).trim(); };
59 var pkg = require('../package.json');
60 var npmVersion = $('npm -v');
61 var nodeVersion = $('node -v');
62 console.log("intern version " + pkg.version);
63 console.log("npm version " + npmVersion);
64 console.log("node version " + nodeVersion);
65 console.log();
66 console.log('Usage: intern [config=<file>] [showConfig|showConfigs] [options]');
67 console.log();
68 console.log(' config - path to a config file');
69 console.log(' showConfig - show the resolved config');
70 console.log(' showConfigs - show information about configFile');
71 console.log();
72 console.log("Options (set with 'option=value' or 'option'):\n");
73 var internConfig = index_1.default._config;
74 var opts = Object.keys(internConfig)
75 .map(function (key) {
76 return { name: key, value: JSON.stringify(internConfig[key]) };
77 })
78 .sort(function (a, b) {
79 if (a.name < b.name) {
80 return -1;
81 }
82 if (a.name > b.name) {
83 return 1;
84 }
85 return 0;
86 });
87 var width = opts.reduce(function (max, opt) { return Math.max(opt.name.length, max); }, 0);
88 for (var _i = 0, opts_1 = opts; _i < opts_1.length; _i++) {
89 var _a = opts_1[_i], name_1 = _a.name, value = _a.value;
90 var pad = Array(width - name_1.length + 1).join(' ');
91 console.log(" " + name_1 + pad + " - " + value);
92 }
93 if (file) {
94 console.log();
95 var description = util_2.getConfigDescription(config, ' ');
96 if (description) {
97 console.log("Using config file '" + file + "':\n");
98 console.log(description);
99 }
100 else {
101 console.log("Using config file '" + file + "'");
102 }
103 }
104 }
105});
106//# sourceMappingURL=intern.js.map
\No newline at end of file