development-tool-node

development build tasks for node.


Keywords
development, tool, gulp, typescript, node, babel
License
MIT
Install
npm install development-tool-node@2.1.0

Documentation

packaged development-tool-node

This repo is for distribution on npm. The source for this module is in the main repo. Please file issues and pull requests against that repo. This package use to develop kit for typescript node project development via gulp tasks.

Install

You can install this package either with npm.

npm

npm install development-tool-node

You can import modules:

import module

import * as gulp from 'gulp';
import  { Development } from 'development-tool';
import { INodeTaskOption } from 'development-tool-node';

Create development tool

Development.create(gulp, __dirname, {
    tasks:[
        <INodeTaskOption>{
            src: 'src',
            //testSrc: '...',
            //e2eSrc: '...',
            //watchSrc: '...'
            dist: 'lib',
            // buildDist:'build path',
            // releaseDist: 'release path',
            // depolyDist: 'depoly path'
            asserts:{
                json: 'src/**/*.json',
                css:'src/common/**/*.css',
                moduleBcss: ['src/moduleB/**/*.css'],
                moduleAcss: {
                    src: ['src/apath/**/*.css', 'src/bpath/**/*.css'],
                    dist:'dist path',
                    buildDist:'buildDist path',
                    releaseDist: 'release Distpath',
                    depolyDist: 'depoly Distpath'
                },
                ...
            },

            loader: 'development-tool-node',
             // add pipe works for module tasks.
            pipe(stream, ctx, dist, gulp){ ... }
            pipes: Pipe[] | (ctx, dist, gulp)=> Pipe[],
            output: OutputPipe[] | (stream, ctx, dist, gulp)=> OutputPipe[]
        }
    ]
});

Create development tool with addation sub tasks

Development.create(gulp, __dirname, {
    tasks:{
        src: 'src',
        //testSrc: '...',
        //e2eSrc: '...',
        //watchSrc: '...'
        dist: 'lib',
        // buildDist:'build path',
        // releaseDist: 'release path',
        // depolyDist: 'depoly path'
        loader: 'development-tool-node',
        tasks:[
            {
                src: 'files be dealt with',
                //testSrc: '...',
                //e2eSrc: '...',
                //watchSrc: '...'
                dist: 'dist path',
                // buildDist:'build path',
                // releaseDist: 'release path',
                // depolyDist: 'depoly path'
                loader:'development-tool-*' //the module must implement ITaskDefine.
            },
            {
                src: ['src/apath/**/*.css', 'src/bpath/**/*.css'],
                //testSrc: '...',
                //e2eSrc: '...',
                //watchSrc: '...'
                dist: 'dist path',
                // buildDist:'build path',
                // releaseDist: 'release path',
                // depolyDist: 'depoly path'
                loader: {
                    configModule: path.join(__dirname, './src/task.ts'), //the module must implement ITaskDefine.
                    dir: [path.join(__dirname, './src/mytasks')]
                },
                tasks: [
                    {
                        src: 'files be dealt with',
                        //testSrc: '...',
                        //e2eSrc: '...',
                        //watchSrc: '...'
                        dist: 'dist path',
                        // buildDist:'build path',
                        // releaseDist: 'release path',
                        // depolyDist: 'depoly path'
                        loader: {
                            //./src/mytasks folder must has module implement ITaskDefine.
                            dir: path.join(__dirname, './src/mytasks')
                        }
                    },
                    {
                        src: 'files be dealt with',
                        //testSrc: '...',
                        //e2eSrc: '...',
                        //watchSrc: '...'
                        dist: 'dist path',
                        // buildDist:'build path',
                        // releaseDist: 'release path',
                        // depolyDist: 'depoly path'
                        loader: {
                            module: path.join(__dirname, './src/mytasks/dosomething'),
                             // add pipe works for module tasks.
                            pipe(stream, ctx, dist, gulp){ ... }
                            pipes: Pipe[] | (ctx, dist, gulp)=> Pipe[],
                            output: OutputPipe[] | (stream, ctx, dist, gulp)=> OutputPipe[]
                            configModule: path.join(__dirname, './src/mytasks/config') //the module must implement ITaskDefine.
                        },
                        // also can add pipe works for module tasks here.
                        pipe(stream, ctx, dist, gulp){ ... }
                        pipes: Pipe[] | (ctx, dist, gulp)=> Pipe[],
                        output: OutputPipe[] | (stream, ctx, dist, gulp)=> OutputPipe[]
                    }
                ]
            }
            ...
        ]
    }
});

https://github.com/zhouhoujun/development-tool-node.git

Documentation

Documentation is available on the development-tool-node docs site.

License

MIT © Houjun