1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/packages/infrastructure/webpack
Sebastian Malton 2b721ab1c9 Release 6.5.0-alpha.9
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-05-04 13:32:56 -07:00
..
bin feat: Introduce reusable script to build using webpack 2023-05-03 09:31:24 +03:00
src feat: Make pushing linkables happen automatically when using re-usable build script 2023-05-03 09:31:24 +03:00
CHANGELOG.md Release 6.5.0-alpha.9 2023-05-04 13:32:56 -07:00
do-webpack-build.ts feat: Introduce reusable script to build using webpack 2023-05-03 09:31:24 +03:00
index.ts feat: Introduce reusable script to build using webpack 2023-05-03 09:31:24 +03:00
jest.config.js chore: Disable coverage check for webpack package being not interesting 2023-05-03 09:31:24 +03:00
package.json Release 6.5.0-alpha.9 2023-05-04 13:32:56 -07:00
README.md Add package for sharing webpack configurations for upcoming Features (#7199) 2023-02-22 12:28:07 +02:00
tsconfig.json chore: Consolidate infrastructure of webpack to ts to make it scriptable 2023-05-03 09:31:24 +03:00
webpack.config.ts chore: Consolidate infrastructure of webpack to ts to make it scriptable 2023-05-03 09:31:24 +03:00

@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

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

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

const packageJson = require("./package.json");

module.exports = require("@k8slens/webpack").getMultiExportConfig(packageJson);

package.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.