0.1.3 • Published 5 years ago
@pointdeb/devkit-builder v0.1.3
@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);
}