https://github.com/terrierscript/downgrade-webpack-loader-config
https://github.com/terrierscript/downgrade-webpack-loader-config
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/terrierscript/downgrade-webpack-loader-config
- Owner: terrierscript
- License: mit
- Created: 2016-12-08T12:45:35.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-14T22:52:26.000Z (almost 9 years ago)
- Last Synced: 2025-02-11T07:16:04.161Z (12 months ago)
- Language: JavaScript
- Size: 18.6 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# downgrade-webpack-loader-config
> Downgrade webpack v2 config to v1 loadable
## Install
```
$ npm install -D downgrade-webpack-loader-config
```
## Use case (When I use this package?)
* Prepare for upgrade webpack v2.
* Some sub tools compatibility (i.e. storybook)
## Exmaple
### Usage
```js
const downgrade = require('downgrade-webpack-loader-config')
const webpack2Conf = require('../webpack.config') // webpack v2 config
const loaderConf = downgrade(webpack2Conf.module.rules)
// webpack v1 compatible config
module.exports = {
module: loaderConf,
}
```
### Input / Output
```js
const downgrade = require('downgrade-webpack-loader-config')
const v2Config = [
{
test: /.js?$/,
use: ['babel-loader'],
exclude: /node_modules/
},
{
test: /.js?$/,
enforce: "post",
use: ['eslint-loader'],
},
{
test: /\.css$/,
use: [
{ loader: 'style-loader' },
{ loader: 'css-loader', options: { modules: true } },
{ loader: 'postcss-loader' }
]
},
{
test: /\.(png|jpeg|svg)$/,
use: [
"url-loader"
]
}
]
const output = downgrade(v2Config)
assert.deepEqual(output, {
loaders: [
{ test: /.js?$/, loader: 'babel-loader' },
{ test: /\.css$/, loader: 'style-loader' },
{ test: /\.css$/,
loader: 'css-loader',
query: { modules: true }
},
{ test: /\.css$/, loader: 'postcss-loader' },
{ test: /\.(png|jpeg|svg)$/, loader: 'url-loader' }
],
"postLoaders": [
{ "test": /.js?$/, "loader": "eslint-loader" }
]
})
// => assert OK
```
## References
* https://webpack.js.org/guides/migrating/#module-loaders-is-now-module-rules