Socket
Socket
Sign inDemoInstall

webpack-simple

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webpack-simple - npm Package Compare versions

Comparing version 1.3.2 to 1.4.0

34

index.js

@@ -127,2 +127,4 @@ const defaultJSExclude = [/\.json$/, /node_modules/];

const makeWebpackConfig = ({
js,
css,
entry,

@@ -134,13 +136,25 @@ output,

rules = defaultWebpackRules,
} = {}) => ({
mode,
entry,
output,
target,
devtool,
module: {
rules,
},
});
} = {}) => {
let customRules = rules;
if (js) {
customRules = rules.map(rule => (rule.test.test('.js') ? js : rule));
}
if (css) {
customRules = rules.map(rule => (rule.test.test('.css') ? css : rule));
}
return {
mode,
entry,
output,
target,
devtool,
module: {
rules: customRules,
},
};
};
module.exports = {

@@ -147,0 +161,0 @@ makeWebpackConfig,

{
"name": "webpack-simple",
"version": "1.3.2",
"version": "1.4.0",
"description": "Webpack Config - Simple defaults, extendable options",

@@ -14,3 +14,13 @@ "main": "index.js",

},
"keywords": [],
"husky": {
"hooks": {
"pre-push": "npm t"
}
},
"keywords": [
"webpack",
"config",
"react",
"babel"
],
"author": "",

@@ -22,5 +32,5 @@ "license": "ISC",

"homepage": "https://github.com/helloitsjoe/webpack-simple#readme",
"dependencies": {},
"devDependencies": {
"coveralls": "^3.0.4",
"husky": "^2.5.0",
"jest": "^24.7.1",

@@ -27,0 +37,0 @@ "prettier": "^1.16.4"

@@ -1,6 +0,6 @@

# Webpack Config
# Webpack Simple
Generates a webpack config with simple defaults and extendable options.
[![Build Status](https://travis-ci.com/helloitsjoe/webpack-simple.svg?branch=master)](https://travis-ci.com/helloitsjoe/webpack-simple)
[![Build Status](https://travis-ci.com/helloitsjoe/webpack-simple.svg?branch=master)](https://travis-ci.com/helloitsjoe/webpack-simple)
[![Coverage Status](https://coveralls.io/repos/github/helloitsjoe/webpack-simple/badge.svg?branch=master)](https://coveralls.io/github/helloitsjoe/webpack-simple?branch=master)

@@ -40,9 +40,11 @@ [![npm](https://img.shields.io/npm/v/webpack-simple.svg)](https://www.npmjs.com/package/webpack-simple)

exclude: [/.json$/, /node_modules/],
use: [{
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env', '@babel/preset-react'],
plugins: ['@babel/plugin-proposal-class-properties'],
use: [
{
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env', '@babel/preset-react'],
plugins: ['@babel/plugin-proposal-class-properties'],
},
},
}],
],
},

@@ -76,7 +78,55 @@ {

You can add or overwrite entire module rules, or just add/overwrite/modify the default JS/CSS loaders:
You can add or overwrite entire module rules:
```js
const { defaultWebpackRules } = require('webpack-simple');
const noBabelReactCSS = makeWebpackConfig({ rules: [] });
// TODO: More examples
const includeOtherRules = makeWebpackConfig({
rules: [...defaultWebpackRules, ...otherRules],
});
```
...or just add/overwrite/modify the default JS/CSS loaders:
```js
const { makeJS } = require('webpack-simple');
const customUse = [{ loader: 'other-loader', options: { foo: 'bar' } }];
const customJSConfig = makeWebpackConfig({ js: makeJS({ use: customUse }) });
const customCSSConfig = makeWebpackConfig({ css: makeCSS({ use: customUse }) });
```
The full config input options with defaults:
```js
makeWebpackConfig({
js, // Defaults to JS rule above
css, // Defaults to CSS rule above
rules, // Defaults to rules above
entry = undefined, // Falls back to Webpack's default: '/src/index.js'
output = undefined, // Falls back to Webpack's default '/dist/main.js'
devtool = undefined,
target = 'web',
mode = 'development',
})
```
The full list of module exports:
```js
module.exports = {
makeWebpackConfig,
makeJS,
makeCSS,
// Defaults provided so you can overwrite parts of them
defaultWebpackRules,
defaultBabelPlugins,
defaultBabelPresets,
defaultJSExclude,
defaultJSUse,
defaultCSSLoaderOptions,
defaultCSSUse,
};
```
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc