turris-gulp-tasks
Turris.js common gulp tasks
Last updated 4 years ago by yamalight .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install turris-gulp-tasks 
SYNC missed versions from official npm registry.

Turris.js common gulp tasks

Provides basic gulp tasks for all your ES6 React applications and component needs.

Included things

  • build - compiles optimized (minified, deduped) commonjs version of your component with Webpack. Uses config.webpackConfig.production as configuration.
  • debug - compiles debug version of your component with Webpack, watches for changes and re-compiles when needed (until interrupted). Uses config.webpackConfig.debug as configuration.
  • server - uses express.js to statically serve folder specified in config.path at localhost:8080. Serves index.html for all non-existent requests to allow client-side routing. Allows access to express.js and express app via config.serverOverrides(app, express) function.
  • test - runs mocha tests starting from file specified at config.testEntryPoint.
  • cover - runs istanbul to generate test coverage from file specified at config.testEntryPoint.
  • esdoc - generates jsdoc-based documentation with esdoc using config file specified at config.esdocConfig.

Installation

Package can be installed using NPM:
npm install turris-gulp-tasks

Usage

Install, create a gulpfile.js in your project folder with the following code:

var gulp = require('turris-gulp-tasks')(require('./buildConfig.js'));
// load your custom tasks here
require('./gulp/my-task.js')(gulp);

gulp.task('default', ['debug', 'serve']);
gulp.task('test', ['test', 'cover']);

Build config file should example can be found below:

var path = require('path');

module.exports = {
    path: path.resolve(__dirname),
    rootPath: path.resolve(__dirname),
    esdocConfig: path.join(__dirname, 'esdoc.js'),
    webpackConfig: {
        debug: require('./webpack.config.js'),
        production: require('./webpack.config.prod.js'),
    },
    serverOverrides: function(app, express) {
        app.use(express.static(path.join(__dirname, 'dist')));
    },
    serverStart: function(server) {
        injectMyCode(server); // add things on top of server, e.g. websockets server
    },
    devServer: {
        proxy: {
            '/api/': 'http://localhost:8081' // default value, always appended if not passed from outside
        },
        headers: {
            'X-Custom': 'val' // your custom headers here
        }
    }.
};

Note that esdoc.js should export structure similar to esdoc.json described in esdoc manual, but with absolute paths (use path.join() to generate them).

License

MIT

Current Tags

  • 0.7.1                                ...           latest (4 years ago)

12 Versions

  • 0.7.1                                ...           4 years ago
  • 0.7.0                                ...           4 years ago
  • 0.6.0                                ...           4 years ago
  • 0.5.2                                ...           4 years ago
  • 0.5.1                                ...           4 years ago
  • 0.5.0                                ...           4 years ago
  • 0.4.3                                ...           4 years ago
  • 0.4.2                                ...           4 years ago
  • 0.4.1                                ...           4 years ago
  • 0.4.0                                ...           4 years ago
  • 0.3.0                                ...           4 years ago
  • 0.1.0                                ...           4 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 5
Last Day 0
Last Week 0
Last Month 1
Dependencies (29)
Dev Dependencies (0)
None
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |