UNPKG

data-collection.js

Version:

Simple collection classes that can be used in JS/Node.

87 lines (68 loc) 1.94 kB
//TODO start using symlinks for gulp const path = require('path'); const { series, parallel, src, dest } = require('gulp'); const mocha = require('gulp-mocha'); const webpack = require('webpack-stream'); const babel = require('gulp-babel'); const gulpJsdoc2md = require('gulp-jsdoc-to-markdown'); const rename = require('gulp-rename'); const mocha_config = { reporter: 'progress' }; const webpack_config = { output : { path: path.resolve(__dirname, 'dist'), filename: 'data-collection.bundle.js' }, devtool: 'source-map' }; const babel_config = { presets: ['@babel/env'], sourceMap : true, filename : 'test.min.js' }; function resolve_path(){ } function unit_tests() { return src('test/test.js').pipe(mocha(mocha_config)); } function load_tests(cb){ console.log('completed load tests'); cb(); } function bundle() { return src('index.js') .pipe(webpack(webpack_config)) .pipe(dest('dist/')); } function transpile(){ return src('dist/data-collection.bundle.js') .pipe(babel(babel_config)) .pipe(dest('dist/min')) } function minify(cb) { console.log('minify'); cb(); } function build_js_docs(){ return src('lib/**/*.js') .pipe(gulpJsdoc2md(/*{ template: fs.readFileSync('./README.hbs', 'utf8') }*/)) .on('error', function (err) { console.error("js docs construction failed"); }) .pipe(rename(function (path) { path.extname = '.md' })) .pipe(dest('docs')); } function build_index_doc(){ } const test = series(unit_tests, load_tests); const build = series(bundle, transpile, minify); const document = series(build_js_docs, build_index_doc); const parallel_processes = parallel(build, document); exports.test_min = unit_tests; exports.test = test; exports.build = build; exports.document = document; exports.default = series(test, parallel_processes);