mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* wip: restructure to monorepo Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * refactor create-release-pr to a package Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * build fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * github workflow fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix typo Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * add webpack-env types to core Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix github workflows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * refactor/fix integration tests Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * lint fix Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * yarn run dev Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * eslint settings for vscode Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * move templates to right package Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * open-lens build fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * integration test fix Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix nx task dependencies Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * use bash shell for unit tests in test workflow Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix test:unit for windows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix win-ca webpack error in open-lens Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix win-ca webpack error in open-lens Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix build:app on windows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * remove ELECTRON_BUILDER_EXTRA_ARGS Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * sync src/ from master Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * remove Makefile from core Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
119 lines
2.8 KiB
TypeScript
119 lines
2.8 KiB
TypeScript
/**
|
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
*/
|
|
import MiniCssExtractPlugin from "mini-css-extract-plugin";
|
|
import { platform } from "os";
|
|
import path from "path";
|
|
import { DefinePlugin, optimize } from "webpack";
|
|
import main from "./main";
|
|
import renderer, { iconsAndImagesWebpackRules } from "./renderer";
|
|
import { buildDir } from "./vars";
|
|
|
|
const rendererConfig = renderer({ showVars: false });
|
|
|
|
const config = [
|
|
{
|
|
...main(),
|
|
entry: {
|
|
main: path.resolve(__dirname, "..", "src", "main", "library.ts"),
|
|
},
|
|
output: {
|
|
library: {
|
|
type: "commonjs2",
|
|
},
|
|
path: path.resolve(buildDir, "library"),
|
|
},
|
|
optimization: {
|
|
minimize: false,
|
|
},
|
|
module: {
|
|
parser: {
|
|
javascript: {
|
|
commonjsMagicComments: true,
|
|
},
|
|
},
|
|
rules: [
|
|
{
|
|
test: /\.node$/,
|
|
use: "node-loader",
|
|
},
|
|
{
|
|
test: /\.ts$/,
|
|
exclude: /node_modules/,
|
|
use: {
|
|
loader: "ts-loader",
|
|
options: {
|
|
compilerOptions: {
|
|
declaration: true,
|
|
sourceMap: false,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
...iconsAndImagesWebpackRules(),
|
|
],
|
|
},
|
|
plugins: [
|
|
new DefinePlugin({
|
|
CONTEXT_MATCHER_FOR_NON_FEATURES: `/\\.injectable(\\.${platform})?\\.tsx?$/`,
|
|
CONTEXT_MATCHER_FOR_FEATURES: `/\\/(main|common)\\/.+\\.injectable(\\.${platform})?\\.tsx?$/`,
|
|
}),
|
|
],
|
|
},
|
|
{
|
|
...main(),
|
|
name: "lens-app-common",
|
|
entry: {
|
|
common: path.resolve(__dirname, "..", "src", "common", "library.ts"),
|
|
},
|
|
output: {
|
|
publicPath: "",
|
|
library: {
|
|
type: "commonjs2",
|
|
},
|
|
path: path.resolve(buildDir, "library"),
|
|
},
|
|
optimization: {
|
|
minimize: false,
|
|
},
|
|
plugins: [],
|
|
},
|
|
{
|
|
...rendererConfig,
|
|
entry: {
|
|
renderer: path.resolve(__dirname, "..", "src", "renderer", "library.ts"),
|
|
},
|
|
output: {
|
|
library: {
|
|
type: "commonjs2",
|
|
},
|
|
path: path.resolve(buildDir, "library"),
|
|
},
|
|
optimization: {
|
|
minimize: false,
|
|
},
|
|
externals: [
|
|
...(rendererConfig.externals as any).filter(Boolean),
|
|
{
|
|
"monaco-editor": "commonjs monaco-editor",
|
|
},
|
|
],
|
|
plugins: [
|
|
new DefinePlugin({
|
|
CONTEXT_MATCHER_FOR_NON_FEATURES: `/\\.injectable(\\.${platform})?\\.tsx?$/`,
|
|
CONTEXT_MATCHER_FOR_FEATURES: `/\\/(renderer|common)\\/.+\\.injectable(\\.${platform})?\\.tsx?$/`,
|
|
}),
|
|
new MiniCssExtractPlugin({
|
|
filename: "[name].css",
|
|
runtime: false,
|
|
}),
|
|
new optimize.LimitChunkCountPlugin({
|
|
maxChunks: 1,
|
|
}),
|
|
],
|
|
},
|
|
];
|
|
|
|
export default config;
|