UNPKG

1.8 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.getFilesAndMinify = getFilesAndMinify;
7exports.putFiles = putFiles;
8exports.runTasks = runTasks;
9
10var _fs = require('fs');
11
12var _fs2 = _interopRequireDefault(_fs);
13
14var _path = require('path');
15
16var _path2 = _interopRequireDefault(_path);
17
18var _ = require('../');
19
20var _2 = _interopRequireDefault(_);
21
22function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
24function getFilesAndMinify(argv, opts) {
25 argv.results = argv._.map(fileOrDir => {
26 if (_fs2.default.statSync(fileOrDir).isDirectory()) {
27 opts.logger.error('Directories are not supported.');
28 throw new Error('Input file is a Directory');
29 }
30 return fileOrDir;
31 }).map(file => ({
32 contents: String(_fs2.default.readFileSync(file)),
33 filename: file
34 })).map(_ref => {
35 let contents = _ref.contents;
36 let filename = _ref.filename;
37 return {
38 contents: (0, _2.default)(contents, argv),
39 filename: filename
40 };
41 });
42}
43
44function putFiles(argv, opts) {
45 argv.results.forEach(_ref2 => {
46 let contents = _ref2.contents;
47 let filename = _ref2.filename;
48
49 if (argv._.length === 1) {
50 if (argv.output) _fs2.default.writeFileSync(argv.output, contents);else opts.logger.log(contents);
51 } else {
52 if (argv.outputDir) {
53 const basename = _path2.default.basename(filename);
54 _fs2.default.writeFileSync(_path2.default.join(argv.outputDir, basename), contents);
55 } else {
56 opts.logger.error('Output Directory unspecified');
57 throw new Error('Output Directory unspecified');
58 }
59 }
60 });
61}
62
63function runTasks(argv, opts) {
64 const tasks = [getFilesAndMinify, putFiles];
65 tasks.forEach(task => task(argv, opts));
66}
\No newline at end of file