0.1.3 • Published 5 years ago

@pointdeb/devkit-builder v0.1.3

Weekly downloads
-
License
MIT
Repository
-
Last release
5 years ago

@pointdeb/devkit-builder

Automate project build with gulp task

Common tasks are:

  • launch postCommands
  • copy package.json and remove devDependencies and then make dependencies as peerDependencies
  • copy asset files
  • link project on dev environment otherwise update patch version

Installation

npm i -D @pointdeb/devkit-builder

Build common libraries

const { watch, series } = require('gulp');
const path = require('path');
const isDev = process.env.NODE_ENV === 'development';
const build = isDev ? require('@pointdeb/devkit-builder/library/dev') : require('@pointdeb/devkit-builder/library/prod');

const buildOptions = {
  preCommands: ["npm run build"],
  assets: ['README.md'],
  distPath: path.resolve('./dist'),
  rootDir: path.resolve('.')
};

const defaultTask = build(buildOptions);
exports.default = defaultTask;

exports.watch = () => {
  watch(['src/**/**', '*.json'], defaultTask);
}

Build angular libraries

const { watch, series } = require('gulp');
const path = require('path');
const isDev = process.env.NODE_ENV === 'development';
const build = isDev ? require('@pointdeb/devkit-builder/library/dev') : require('@pointdeb/devkit-builder/library/prod');

const projects = ["lib1", "lib2"];

const defaultTask = series((done) => {
  const projectBuilds = projects.map((project) => {
    return new Promise((resolve, reject) => {
      const buildOptions = {
        preCommands: [`ng build --project ${project}`],
        assets: [
          {
            'src/scss': 'scss'
          },
          'README.md'
        ],
        distPath: path.resolve(`./dist/${project}`),
        rootDir: path.resolve(`./projects/${project}`)
      }
      build(buildOptions)(resolve());
    });
  })
  Promise.all(projectBuilds).then(() => done());
});

exports.default = defaultTask;

exports.watch = () => {
  watch([...projects.map((p) => `projects/${p}/**/*`), '*.json'], defaultTask);
}