diff options
author | Minteck <contact@minteck.org> | 2022-11-28 17:14:38 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-11-28 17:14:38 +0100 |
commit | 18efd30a263ec0d79a26a82cbd8c90c9f81056b7 (patch) | |
tree | aea01bf3506dda706719fc68eb37b77ed9ef3fe8 /node_modules/ejs/jakefile.js | |
download | autoreport-mane.tar.gz autoreport-mane.tar.bz2 autoreport-mane.zip |
Diffstat (limited to 'node_modules/ejs/jakefile.js')
-rw-r--r-- | node_modules/ejs/jakefile.js | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/node_modules/ejs/jakefile.js b/node_modules/ejs/jakefile.js new file mode 100644 index 0000000..7f60105 --- /dev/null +++ b/node_modules/ejs/jakefile.js @@ -0,0 +1,88 @@ +var fs = require('fs'); +var path = require('path'); +var execSync = require('child_process').execSync; +var exec = function (cmd) { + execSync(cmd, {stdio: 'inherit'}); +}; + +/* global jake, task, desc, publishTask */ + +task('build', ['lint', 'clean', 'browserify', 'minify'], function () { + console.log('Build completed.'); +}); + +desc('Cleans browerified/minified files and package files'); +task('clean', ['clobber'], function () { + jake.rmRf('./ejs.js'); + jake.rmRf('./ejs.min.js'); + console.log('Cleaned up compiled files.'); +}); + +desc('Lints the source code'); +task('lint', ['clean'], function () { + var epath = path.join('./node_modules/.bin/eslint'); + exec(epath+' "**/*.js"'); + console.log('Linting completed.'); +}); + +task('browserify', function () { + var epath = path.join('./node_modules/browserify/bin/cmd.js'); + exec(epath+' --standalone ejs lib/ejs.js > ejs.js'); + console.log('Browserification completed.'); +}); + +task('minify', function () { + var epath = path.join('./node_modules/uglify-js/bin/uglifyjs'); + exec(epath+' ejs.js > ejs.min.js'); + console.log('Minification completed.'); +}); + +desc('Generates the EJS API docs for the public API'); +task('doc', function () { + jake.rmRf('out'); + var epath = path.join('./node_modules/.bin/jsdoc'); + exec(epath+' --verbose -c jsdoc.json lib/* docs/jsdoc/*'); + console.log('Documentation generated in ./out.'); +}); + +desc('Generates the EJS API docs for the public and private API'); +task('devdoc', function () { + jake.rmRf('out'); + var epath = path.join('./node_modules/.bin/jsdoc'); + exec(epath+' --verbose -p -c jsdoc.json lib/* docs/jsdoc/*'); + console.log('Documentation generated in ./out.'); +}); + +desc('Publishes the EJS API docs'); +task('docPublish', ['doc'], function () { + fs.writeFileSync('out/CNAME', 'api.ejs.co'); + console.log('Pushing docs to gh-pages...'); + var epath = path.join('./node_modules/.bin/git-directory-deploy'); + exec(epath+' --directory out/'); + console.log('Docs published to gh-pages.'); +}); + +desc('Runs the EJS test suite'); +task('test', ['lint'], function () { + exec(path.join('./node_modules/.bin/mocha')); +}); + +publishTask('ejs', ['build'], function () { + this.packageFiles.include([ + 'jakefile.js', + 'README.md', + 'LICENSE', + 'package.json', + 'ejs.js', + 'ejs.min.js', + 'lib/**', + 'bin/**', + 'usage.txt' + ]); +}); + +jake.Task.publish.on('complete', function () { + console.log('Updating hosted docs...'); + console.log('If this fails, run jake docPublish to re-try.'); + jake.Task.docPublish.invoke(); +}); |