Skip to content
This repository was archived by the owner on May 1, 2020. It is now read-only.

Commit 6313e99

Browse files
committed
refactor(util): break apart util module
1 parent 081a8aa commit 6313e99

16 files changed

+507
-433
lines changed

src/clean.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
import { BuildContext, generateContext, Logger } from './util';
1+
import { BuildContext } from './util/interfaces';
2+
import { generateContext } from './util/config';
23
import { emptyDirSync } from 'fs-extra';
4+
import { Logger } from './util/logger';
35

46

57
export function clean(context?: BuildContext) {

src/cleancss.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { join } from 'path';
2-
3-
import { BuildContext, generateContext, fillConfigDefaults, Logger, readFileAsync, TaskInfo, writeFileAsync } from './util';
2+
import { BuildContext, TaskInfo } from './util/interfaces';
3+
import { generateContext, fillConfigDefaults } from './util/config';
4+
import { Logger } from './util/logger';
5+
import { readFileAsync, writeFileAsync } from './util/helpers';
46
import * as cleanCss from 'clean-css';
57

8+
69
export function cleancss(context?: BuildContext, cleanCssConfig?: CleanCssConfig) {
710
context = generateContext(context);
811
cleanCssConfig = fillConfigDefaults(context, cleanCssConfig, CLEANCSS_TASK_INFO);
@@ -24,7 +27,7 @@ export function cleancss(context?: BuildContext, cleanCssConfig?: CleanCssConfig
2427
return logger.finish();
2528

2629
}).catch((err: Error) => {
27-
logger.fail(err, err.message);
30+
logger.fail(err);
2831
return Promise.reject(err);
2932
});
3033
}

src/closure.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
import { BuildContext, generateContext, fillConfigDefaults, Logger, TaskInfo } from './util';
1+
import { BuildContext, TaskInfo } from './util/interfaces';
2+
import { generateContext, fillConfigDefaults } from './util/config';
3+
import { Logger } from './util/logger';
24

35

46
export function closure(context?: BuildContext, closureConfig?: ClosureConfig) {

src/copy.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
import { BuildContext, BuildOptions, fillConfigDefaults, generateContext, Logger, replacePathVars, TaskInfo } from './util';
1+
import { BuildContext, BuildOptions, TaskInfo } from './util/interfaces';
2+
import { fillConfigDefaults, generateContext, replacePathVars } from './util/config';
23
import { copy as fsCopy } from 'fs-extra';
4+
import { Logger } from './util/logger';
35

46

57
export function copy(context?: BuildContext, copyConfig?: CopyConfig) {
@@ -10,6 +12,7 @@ export function copy(context?: BuildContext, copyConfig?: CopyConfig) {
1012

1113
return runCopy(context, copyConfig).then(() => {
1214
return logger.finish();
15+
1316
}).catch((err: Error) => {
1417
logger.fail(err);
1518
return Promise.reject(err);

src/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ export { sass, sassUpdate } from './sass';
1010
export { transpile } from './transpile';
1111
export { uglifyjs } from './uglifyjs';
1212
export { watch } from './watch';
13-
export * from './util';
13+
export * from './util/config';
14+
export * from './util/helpers';
15+
export * from './util/interfaces';
1416

1517

1618
export function run(task: string) {

src/lint.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
import { BuildContext, generateContext, getConfigValueDefaults, getNodeBinExecutable, Logger, TaskInfo } from './util';
2-
import { join } from 'path';
31
import { access } from 'fs';
2+
import { BuildContext, TaskInfo } from './util/interfaces';
3+
import { generateContext, getConfigValueDefaults, getNodeBinExecutable } from './util/config';
4+
import { join } from 'path';
5+
import { Logger } from './util/logger';
46

57

68
export function lint(context?: BuildContext, tsConfigPath?: string) {

src/minify.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import { BuildContext } from './util/interfaces';
12
import { cleancss } from './cleancss';
23
import { closure, isClosureSupported } from './closure';
3-
import { BuildContext, generateContext, Logger } from './util';
4+
import { generateContext } from './util/config';
5+
import { Logger } from './util/logger';
46
import { uglifyjs } from './uglifyjs';
57

68

@@ -25,6 +27,7 @@ export function minify(context?: BuildContext) {
2527

2628
return Promise.all(promises).then(() => {
2729
return logger.finish();
30+
2831
}).catch((err: Error) => {
2932
logger.fail(err);
3033
return Promise.reject(err);

src/sass.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { basename, dirname, join, sep } from 'path';
2-
import { BuildContext, BuildOptions, fillConfigDefaults, generateContext, generateBuildOptions, Logger, replacePathVars, TaskInfo } from './util';
2+
import { BuildContext, BuildOptions, TaskInfo } from './util/interfaces';
3+
import { fillConfigDefaults, generateContext, generateBuildOptions, replacePathVars } from './util/config';
34
import { getModulePathsCache } from './bundle';
5+
import { Logger } from './util/logger';
46
import { readdirSync, writeFile } from 'fs';
57

68

src/spec/util.spec.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
import { BuildContext, generateContext, generateBuildOptions, getConfigValueDefaults, fillConfigDefaults } from '../util';
2-
import { addArgv, setEnvVar, setProcessArgs, setProcessEnv, setCwd } from '../util';
1+
import { BuildContext } from '../util/interfaces';
2+
import { generateContext, generateBuildOptions, getConfigValueDefaults, fillConfigDefaults } from '../util/config';
3+
import { addArgv, setProcessEnvVar, setProcessArgs, setProcessEnv, setCwd } from '../util/config';
4+
35

46
describe('util', () => {
57

@@ -43,30 +45,30 @@ describe('util', () => {
4345
addArgv('fullArgValue');
4446
addArgv('-s');
4547
addArgv('shortArgValue');
46-
setEnvVar('npm_package_config_envVar', 'myNPMConfigVal');
47-
setEnvVar('envVar', 'myProcessEnvVar');
48+
setProcessEnvVar('npm_package_config_envVar', 'myNPMConfigVal');
49+
setProcessEnvVar('envVar', 'myProcessEnvVar');
4850
const val = getConfigValueDefaults('--full', '-s', 'envVar', 'defaultValue', context);
4951
expect(val).toEqual('fullArgValue');
5052
});
5153

5254
it('should get arg short value', () => {
5355
addArgv('-s');
5456
addArgv('shortArgValue');
55-
setEnvVar('npm_package_config_envVar', 'myNPMConfigVal');
56-
setEnvVar('envVar', 'myProcessEnvVar');
57+
setProcessEnvVar('npm_package_config_envVar', 'myNPMConfigVal');
58+
setProcessEnvVar('envVar', 'myProcessEnvVar');
5759
const val = getConfigValueDefaults('--full', '-s', 'envVar', 'defaultValue', context);
5860
expect(val).toEqual('shortArgValue');
5961
});
6062

6163
it('should get npm config value', () => {
62-
setEnvVar('npm_package_config_envVar', 'myNPMConfigVal');
63-
setEnvVar('envVar', 'myProcessEnvVar');
64+
setProcessEnvVar('npm_package_config_envVar', 'myNPMConfigVal');
65+
setProcessEnvVar('envVar', 'myProcessEnvVar');
6466
const val = getConfigValueDefaults('--full', '-s', 'envVar', 'defaultValue', context);
6567
expect(val).toEqual('myNPMConfigVal');
6668
});
6769

6870
it('should get envVar value', () => {
69-
setEnvVar('envVar', 'myProcessEnvVar');
71+
setProcessEnvVar('envVar', 'myProcessEnvVar');
7072
const val = getConfigValueDefaults('--full', '-s', 'envVar', 'defaultValue', context);
7173
expect(val).toEqual('myProcessEnvVar');
7274
});

src/uglifyjs.ts

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
import { BuildContext, TaskInfo } from './util/interfaces';
2+
import { fillConfigDefaults, generateContext } from './util/config';
13
import { join } from 'path';
4+
import { Logger } from './util/logger';
5+
import { writeFileAsync } from './util/helpers';
26
import * as uglify from 'uglify-js';
3-
import { BuildContext, generateContext, fillConfigDefaults, Logger, TaskInfo, writeFileAsync } from './util';
7+
48

59
export function uglifyjs(context?: BuildContext, uglifyJsConfig?: UglifyJsConfig) {
610
context = generateContext(context);
@@ -10,38 +14,46 @@ export function uglifyjs(context?: BuildContext, uglifyJsConfig?: UglifyJsConfig
1014

1115
return runUglify(context, uglifyJsConfig).then(() => {
1216
return logger.finish();
17+
1318
}).catch((err: Error) => {
1419
logger.fail(err);
1520
return Promise.reject(err);
1621
});
1722
}
1823

24+
1925
function runUglify(context: BuildContext, uglifyJsConfig: UglifyJsConfig): Promise<any> {
2026
try {
2127
// provide a full path for the config options
2228
uglifyJsConfig.sourceFile = join(context.buildDir, uglifyJsConfig.sourceFile);
2329
uglifyJsConfig.inSourceMap = join(context.buildDir, uglifyJsConfig.inSourceMap);
2430
uglifyJsConfig.destFileName = join(context.buildDir, uglifyJsConfig.destFileName);
31+
2532
const minifiedOutputPath = join(context.buildDir, uglifyJsConfig.outSourceMap);
2633
const minifyOutput: uglify.MinifyOutput = runUglifyInternal(uglifyJsConfig);
27-
let writeFilePromises: Promise<any>[] = [];
28-
writeFilePromises.push(writeFileAsync(uglifyJsConfig.destFileName, minifyOutput.code));
29-
writeFilePromises.push(writeFileAsync(minifiedOutputPath, minifyOutput.map));
34+
35+
const writeFilePromises: Promise<any>[] = [
36+
writeFileAsync(uglifyJsConfig.destFileName, minifyOutput.code),
37+
writeFileAsync(minifiedOutputPath, minifyOutput.map)
38+
];
39+
3040
return Promise.all(writeFilePromises);
41+
3142
} catch (ex) {
3243
return Promise.reject(ex);
3344
}
3445
}
3546

36-
function runUglifyInternal(uglifyJsConfig: UglifyJsConfig): uglify.MinifyOutput {
3747

48+
function runUglifyInternal(uglifyJsConfig: UglifyJsConfig): uglify.MinifyOutput {
3849
return uglify.minify(uglifyJsConfig.sourceFile, {
3950
compress: uglifyJsConfig.compress,
4051
mangle: uglifyJsConfig.mangle,
4152
outSourceMap: uglifyJsConfig.outSourceMap
4253
});
4354
}
4455

56+
4557
const UGLIFY_TASK_INFO: TaskInfo = {
4658
fullArgConfig: '--uglifyjs',
4759
shortArgConfig: '-u',

0 commit comments

Comments
 (0)