node package manager
Painless code sharing. npm Orgs help your team discover, share, and reuse code. Create a free org »

webpack-config-ca

CA Technologies Webpack configuration

Greenkeeper badge Build Status codecov dependencies devDependency Status Commitizen friendly

Overview

Extensible configuration for Webpack projects at CA. This module is intended to be used in all CA JavaScript applications that require resource bundling.

Installation

$ npm install --save-dev webpack webpack-dev-server webpack-config webpack-config-ca

Usage

Basic usage

  1. paste the following two lines of code in your webpack.config.js:
import Config from 'webpack-config';
 
export default new Config().extend('ca');
  1. Then add the build and start scripts to your package.json:
"scripts": {
  "build": "webpack -d",
  "start": "webpack-dev-server -d"
}
  1. Start the webpack development server from the terminal:
npm start

Custom Webpack settings

You can also fine-tune aspects of the configuration and extend other webpack configurations:

import Config from 'webpack-config';
 
export default new Config().extend('ca').merge({
  output: {
    path: '/build',
  },
});

Important Flags:

  • hot: (true|false) for hot reloading
  • linting: (true|false) for eslint and flow support - will use .eslintrc & .flowconfig from your project folder

Advanced usage

import webpack from 'webpack';
import Config from 'webpack-config';
 
export default new Config().extend(
  'ca/lib/base',
  'ca/lib/eslint',
).merge({
  plugins: [
    new webpack.optimize.AggressiveMergingPlugin(),
  ],
});

Demos

How Can You Contribute

Your contributions are welcome and much appreciated. To learn more, see the Contribution Guidelines.

This project supports commitizen. You can use npm run commit to run the local instance of commitizen or git cz if you have it installed globally.

Alternatively, if you are simply using git commit, you must follow this format: git commit -m "<type>: <subject>"

License

Copyright (c) 2017 CA. All rights reserved. This software may be modified and distributed under the terms of the MIT license. To learn more, see the License.