mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* Add package for shared webpack configurations for Lens applications, Features and libraries Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Remove duplication from gitignores Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> --------- Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
77 lines
1.9 KiB
Markdown
77 lines
1.9 KiB
Markdown
# @k8slens/webpack
|
|
|
|
This package contains webpack configurations for Lens packages.
|
|
|
|
## Install
|
|
|
|
```
|
|
$ npm install @k8slens/webpack
|
|
```
|
|
|
|
## Features
|
|
|
|
### Configurations
|
|
|
|
### Node package
|
|
This configuration should be used when creating package that will be executed within **Node** environment.
|
|
|
|
**webpack.config.js**
|
|
```javascript
|
|
module.exports = require("@k8slens/webpack").configForNode;
|
|
```
|
|
### React package
|
|
This configuration should be used when creating package tha will be executed within **Browser** environment.
|
|
|
|
**webpack.config.js**
|
|
```javascript
|
|
module.exports = require("@k8slens/webpack").configForReact;
|
|
```
|
|
|
|
### Multi export package
|
|
|
|
This configuration should be used when package contains **multiple entrypoint** e.g. for different environments. You need to add `lensMultiExportConfig` to `package.json` with configuration. Note that also `exports` property needs to be set, but the correct values are generated from `lensMultiExportConfig` when using `lens-build` -script.
|
|
|
|
**webpack.config.js**
|
|
```javascript
|
|
const packageJson = require("./package.json");
|
|
|
|
module.exports = require("@k8slens/webpack").getMultiExportConfig(packageJson);
|
|
```
|
|
|
|
**package.json**
|
|
```json
|
|
{
|
|
"lensMultiExportConfig": {
|
|
"./main": {
|
|
"buildType": "node",
|
|
"entrypoint": "./src/main/index.ts"
|
|
},
|
|
"./renderer": {
|
|
"buildType": "react",
|
|
"entrypoint": "./src/renderer/index.ts"
|
|
}
|
|
},
|
|
|
|
"exports": {
|
|
"./main": {
|
|
"types": "./dist/main/index.d.ts",
|
|
"require": "./dist/main/index.js",
|
|
"import": "./dist/main/index.js",
|
|
"default": "./dist/main/index.js"
|
|
},
|
|
"./renderer": {
|
|
"types": "./dist/renderer/index.d.ts",
|
|
"require": "./dist/renderer/index.js",
|
|
"import": "./dist/renderer/index.js",
|
|
"default": "./dist/renderer/index.js"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Scripts
|
|
|
|
1. `lens-build` which builds the packages
|
|
2. `lens-remove-build` which removes the build directory from packages. It's useful for cleaning up.
|
|
|