Nebulous Program Mechanic
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



    Shared webpack config across RentPath apps.


    $ npm i --save webpack-config-rentpath


    The most minimal usage would be to create a webpack.config.js file in the root of your app with the following content:

    module.exports = require('webpack-config-rentpath').config

    If your app requires any webpack aliases (resolve.alias), create a separate file webpack-alias.config.js that exports the alias hash. The file will automatically be found and loaded by the base config. For example:

    module.exports = {
      "gallery": "gallery.js/dist",
      "login": "login/dist",
      "tealium": "tealium/dist/tagging.js"

    If your app requires Babel presets other than es2015, make sure to declare them in .babelrc in the root of your app. For example:

    { "presets": ["es2015", "react"] }

    If you require any other customizations, you will need to edit webpack.config.js such that it mutates the standard config before exporting it as described below.

    Extended configuration

    The config that this package exports is a base config reflecting RentPath's opinions. If your app has special needs, it can mutate the base config. For example:

    var config = require('webpack-config-rentpath').config
    // Add a loader 
    config.module.loaders.push({ test: /everestjs\/index.js$/, loader: "script-loader" })
    // Add a plugin 
    var webpack = require('webpack')
    config.plugins.push(new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /en/))
    module.exports = config

    If you need to make environment-specific config changes, you can take advantage of the appEnv variable that webpack-config-rentpath exports in addition to config. The value of appEnv is a string obtained from the environment variable APPLICATION_ENVIRONMENT and defaults to "production" if missing. For example:

    var webpackConfigRentpath = require('webpack-config-rentpath')
    var config = webpackConfigRentpath.config
    var appEnv = webpackConfigRentpath.appEnv
    if(appEnv == 'development') {
      // do some dev stuff 
    if(appEnv != 'development') {
      // do some non-dev stuff 
    if(appEnv == 'production') {
      // do some production stuff 
    module.exports = config


    • npm run compile - Compiles the module to disk (~/lib).
    • npm run compile:watch - Same as npm run compile but watches files for changes.
    • npm run lint - Lints all files.
    • npm run lint:fix - Lints all files and attempts to fix any issues.
    • npm run test - Runs unit tests.
    • npm run test:watch - Same as npm test but watches files for changes.
    • npm run test:cov - Generates a test coverage report.


    webpack-config-rentpath uses Commitizen to format commit messages.

    • Install it globally $ npm install -g commitizen Once you are ready to commit, follow the familiar github workflow, with a slight change.
    $ git add <files>
    $ git cz

    git cz will bring up the Commitizen commit prompt, follow the instructions, and $ git push as usual.

    This commit message format is used for semantic-release.




    npm i webpack-config-rentpath

    Downloadsweekly downloads







    last publish


    • avatar