1 | var execSync = require('child_process').execSync;
|
2 | var exec = function (cmd) {
|
3 | execSync(cmd, {stdio: 'inherit'});
|
4 | };
|
5 |
|
6 | /* global jake, task, desc, publishTask */
|
7 |
|
8 | task('build', ['lint', 'clean', 'browserify', 'minify'], function () {
|
9 | console.log('Build completed.');
|
10 | });
|
11 |
|
12 | desc('Cleans browerified/minified files and package files');
|
13 | task('clean', ['clobber'], function () {
|
14 | jake.rmRf('./ejs.js');
|
15 | jake.rmRf('./ejs.min.js');
|
16 | console.log('Cleaned up compiled files.');
|
17 | });
|
18 |
|
19 | desc('Lints the source code');
|
20 | task('lint', function () {
|
21 | exec('./node_modules/.bin/eslint \"**/*.js\" Jakefile');
|
22 | console.log('Linting completed.');
|
23 | });
|
24 |
|
25 | task('browserify', function () {
|
26 | exec('./node_modules/browserify/bin/cmd.js --standalone ejs lib/ejs.js > ejs.js');
|
27 | console.log('Browserification completed.');
|
28 | });
|
29 |
|
30 | task('minify', function () {
|
31 | exec('./node_modules/uglify-js/bin/uglifyjs ejs.js > ejs.min.js');
|
32 | console.log('Minification completed.');
|
33 | });
|
34 |
|
35 | task('doc', function (dev) {
|
36 | jake.rmRf('out');
|
37 | var p = dev ? '-p' : '';
|
38 | exec('./node_modules/.bin/jsdoc ' + p + ' -c jsdoc.json lib/* docs/jsdoc/*');
|
39 | console.log('Documentation generated.');
|
40 | });
|
41 |
|
42 | task('docPublish', ['doc'], function () {
|
43 | console.log('Pushing docs to gh-pages...');
|
44 | exec('./node_modules/.bin/git-directory-deploy --directory out/');
|
45 | console.log('Docs published to gh-pages.');
|
46 | });
|
47 |
|
48 | task('test', ['lint'], function () {
|
49 | exec('./node_modules/.bin/mocha');
|
50 | });
|
51 |
|
52 | publishTask('ejs', ['build'], function () {
|
53 | this.packageFiles.include([
|
54 | 'Jakefile',
|
55 | 'README.md',
|
56 | 'LICENSE',
|
57 | 'package.json',
|
58 | 'ejs.js',
|
59 | 'ejs.min.js',
|
60 | 'lib/**',
|
61 | 'test/**'
|
62 | ]);
|
63 | });
|
64 |
|
65 | jake.Task.publish.on('complete', function () {
|
66 | console.log('Updating hosted docs...');
|
67 | console.log('If this fails, run jake docPublish to re-try.');
|
68 | jake.Task.docPublish.invoke();
|
69 | });
|