ngx-library-builder
v2.0.4
Published
To produce FESM, ES5, UMD, SCSS compiled packages that allows production of packages which can be further consumed by TypeScript, ES6, SCSS (or CSS) based applications especially angular-cli library applications
Readme
ngx-library-builder
Custom build for angular library projects to produce FESM, ES5, ES6, Typings, inlined templates, resources URL
Prerequisites
--libDir must contain two files tsconfig.es5.json and tsconfig.lib.json
With the tsconfig.es5.json must have "target": "es5".
And the tsconfig.lib.json must have "target": "es2015"
These must have angular compiler options flatModuleId and flatModuleOutFile as shown below.
"angularCompilerOptions": {
"annotateForClosureCompiler": true,
"strictMetadataEmit": true,
"skipTemplateCodegen": true,
"flatModuleOutFile": "example-lib.js",
"flatModuleId": "example-lib",
"genDir": "../../out-tsc/lib-gen-dir/"
} Usage CLI
--rootDir - This is your project's root --libDir - This is where the library code is present -
ngx-library-builder --rootDir ./example --libDir ./example/src/libUsage Programmatic (recommended)
npm install ngx-library-builder --save-devYour build-lib.js that you can run.
var ngxLibraryBuilder = require('ngx-library-builder/lib/builder');
var path = require('path');
var process = require('process');
ngxLibraryBuilder.build({rootFolder: path.resolve('.'), srcFolder : path.resolve('src', 'app')}).then(() => {
console.log('Build Completed Successfully ');
process.exit(0);
}).catch((error) => {
console.log('Build Failed ');
console.log(error);
process.exit(1);
});
