# @ufly/wpk-cfg

> webpack5 config core

Latest version **0.7.26** (published 2022-12-05) · BSD-2-Clause license · 0 weekly downloads

## Install

```sh
npm install @ufly/wpk-cfg
pnpm add @ufly/wpk-cfg
yarn add @ufly/wpk-cfg
bun add @ufly/wpk-cfg
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.7.26 |
| Published | 2022-12-05 |
| First published | 2022-11-30 |
| Weekly downloads | 0 |
| License | BSD-2-Clause |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 27 |
| Unpacked size | 10.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Author | lamovv |
| Maintainers | lamo |
| Keywords | webpack5, config, core |

## Links

- npm: https://www.npmjs.com/package/@ufly/wpk-cfg
- Repository: https://github.com/lamovv/ufly
- Issues: https://github.com/lamovv/ufly/issues
- npm.io page: https://npm.io/package/@ufly/wpk-cfg

## Dependencies (27)

- [less](https://npm.io/package/less.md) ^4.1.3
- [sass](https://npm.io/package/sass.md) ^1.56.1
- [webpack](https://npm.io/package/webpack.md) >=5
- [glob-all](https://npm.io/package/glob-all.md) ^3.3.1
- [@swc/core](https://npm.io/package/@swc/core.md) ^1.3.20
- [css-loader](https://npm.io/package/css-loader.md) ^6.7.2
- [swc-loader](https://npm.io/package/swc-loader.md) ^0.2.3
- [@babel/core](https://npm.io/package/@babel/core.md) ^7.20.5
- [less-loader](https://npm.io/package/less-loader.md) ^11.1.0
- [sass-loader](https://npm.io/package/sass-loader.md) ^13.2.0
- [webpack-cli](https://npm.io/package/webpack-cli.md) >=4
- [babel-loader](https://npm.io/package/babel-loader.md) ^9.1.0
- [style-loader](https://npm.io/package/style-loader.md) ^3.3.1
- [react-refresh](https://npm.io/package/react-refresh.md) ^0.14.0
- [webpack-chain](https://npm.io/package/webpack-chain.md) ^6.5.1
- [esbuild-loader](https://npm.io/package/esbuild-loader.md) ^2.20.0
- [@babel/preset-env](https://npm.io/package/@babel/preset-env.md) ^7.20.2
- [source-map-loader](https://npm.io/package/source-map-loader.md) ^4.0.0
- [webpack-dev-server](https://npm.io/package/webpack-dev-server.md) >=4
- [@babel/preset-react](https://npm.io/package/@babel/preset-react.md) ^7.18.6
- [copy-webpack-plugin](https://npm.io/package/copy-webpack-plugin.md) ^11.0.0
- [html-webpack-plugin](https://npm.io/package/html-webpack-plugin.md) ^5.5.0
- [mini-css-extract-plugin](https://npm.io/package/mini-css-extract-plugin.md) ^2.7.0
- [@babel/preset-typescript](https://npm.io/package/@babel/preset-typescript.md) ^7.18.6
- [css-minimizer-webpack-plugin](https://npm.io/package/css-minimizer-webpack-plugin.md) ^4.2.2
- [@pmmmwh/react-refresh-webpack-plugin](https://npm.io/package/@pmmmwh/react-refresh-webpack-plugin.md) ^0.5.10
- [html-webpack-inject-attributes-plugin](https://npm.io/package/html-webpack-inject-attributes-plugin.md) ^1.0.6

## Alternatives

- [jsforce](https://npm.io/package/jsforce.md) — 851.2K weekly downloads
- [react-native-qrcode-svg](https://npm.io/package/react-native-qrcode-svg.md) — 693.5K weekly downloads
- [@salesforce/plugin-data](https://npm.io/package/@salesforce/plugin-data.md) — 394.9K weekly downloads
- [@backstage/plugin-search-common](https://npm.io/package/@backstage/plugin-search-common.md) — 308.5K weekly downloads
- [@chain-registry/types](https://npm.io/package/@chain-registry/types.md) — 38.4K weekly downloads

## Recent versions

- 0.7.26 (latest) — 2022-12-05
- 0.7.25 — 2022-12-01
- 0.7.24 — 2022-12-01
- 0.7.23 — 2022-11-30
- 0.1.1 — 2022-11-30
- 0.1.0 — 2022-11-30

## README

# `wpk-cfg`

> webpack config

## Usage

```js
const { entry, mainChain, devChain } = require('@ufly/wpk-cfg');

const isProduction = process.env.NODE_ENV == 'production';

if (isProduction) {
  const publicPath = '/dist/';
  mainChain
    .output
    .publicPath(publicPath)
    .end()
} else {
  const cert = {
    //...
  };
  devChain.devServer.https(cert);
}

const webpackChain = isProduction ? mainChain : devChain;
const config = webpackChain.toConfig();

module.exports = config;
```

##### 支持的环境变量

- `COMPILE=swc|babel`：指定编译器
  - `swc`【默认值】，使用 `swc-loader`
  - `babel`，使用 `babel-loader`

- `CSS_MINIMIZER=esbuild|css`：指定 CSS minimizer
  - `esbuild`【默认值】，使用 `ESBuildMinifyPlugin`
  - `css`，使用 `css-minimizer-webpack-plugin`

示例如下：

```json
{
  "scripts": {
    "dev": "webpack serve",
    "build": "cross-env NODE_ENV=production webpack --mode=production",
    
    "dev": "cross-env CSS_MINIMIZER=css COMPILE=babel webpack serve",
    "build": "cross-env NODE_ENV=production CSS_MINIMIZER=css COMPILE=babel webpack --mode=production",
  }
}
```

---
_Source: https://npm.io/package/@ufly/wpk-cfg · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
