mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Restructure to monorepo (#6907)
* 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>
This commit is contained in:
1 parent
0066ca4ea2
commit
2657df2293
3321 files changed
+28699
-11447
No files matched your search
@@ -0,0 +1,2 @@
|
||||
dist/
|
||||
node_modules/
|
||||
@@ -0,0 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
export default {};
|
||||
@@ -0,0 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
export default {};
|
||||
@@ -0,0 +1,6 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
export default ""; // mostly path to bundled file or data-url (webpack)
|
||||
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
// This mock exists because library causes criminal side-effect on import
|
||||
export const autoUpdater = {};
|
||||
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
export default {
|
||||
require: jest.fn(),
|
||||
match: jest.fn(),
|
||||
app: {
|
||||
getVersion: jest.fn().mockReturnValue("3.0.0"),
|
||||
getLocale: jest.fn().mockRejectedValue("en"),
|
||||
getPath: jest.fn(() => "tmp"),
|
||||
},
|
||||
dialog: jest.fn(),
|
||||
ipcRenderer: {
|
||||
on: jest.fn(),
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
// This mock exists because library causes criminal side-effect on import
|
||||
export default {};
|
||||
@@ -0,0 +1,55 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import React from "react";
|
||||
|
||||
import type {
|
||||
DragDropContextProps,
|
||||
DraggableProps,
|
||||
DraggableProvidedDraggableProps,
|
||||
DroppableProps,
|
||||
DroppableProvidedProps,
|
||||
} from "react-beautiful-dnd";
|
||||
|
||||
export const DragDropContext = ({ children }: DragDropContextProps) => <>{ children }</>;
|
||||
export const Draggable = ({ children }: DraggableProps) => (
|
||||
<>
|
||||
{
|
||||
children(
|
||||
{
|
||||
draggableProps: {} as DraggableProvidedDraggableProps,
|
||||
innerRef: () => {},
|
||||
},
|
||||
{
|
||||
isDragging: false,
|
||||
isDropAnimating: false,
|
||||
},
|
||||
{
|
||||
draggableId: "some-mock-draggable-id",
|
||||
mode: "FLUID",
|
||||
source: {
|
||||
droppableId: "some-mock-droppable-id",
|
||||
index: 0,
|
||||
},
|
||||
},
|
||||
)
|
||||
}
|
||||
</>
|
||||
);
|
||||
export const Droppable = ({ children }: DroppableProps) => (
|
||||
<>
|
||||
{
|
||||
children(
|
||||
{
|
||||
droppableProps: {} as DroppableProvidedProps,
|
||||
innerRef: () => {},
|
||||
},
|
||||
{
|
||||
isDraggingOver: false,
|
||||
isUsingPlaceholder: false,
|
||||
},
|
||||
)
|
||||
}
|
||||
</>
|
||||
);
|
||||
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import React from "react";
|
||||
import type { Size } from "react-virtualized-auto-sizer";
|
||||
|
||||
export default ({ children } : { children: (size: Size) => React.ReactNode }) => {
|
||||
return (
|
||||
<div>
|
||||
{children({
|
||||
height: 420000,
|
||||
width: 100,
|
||||
})}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "@k8slens/extensions",
|
||||
"productName": "OpenLens extensions",
|
||||
"description": "OpenLens - Open Source Kubernetes IDE: extensions",
|
||||
"version": "6.4.0-alpha.2",
|
||||
"copyright": "© 2022 OpenLens Authors",
|
||||
"license": "MIT",
|
||||
"main": "dist/src/extension-api.js",
|
||||
"types": "dist/src/extension-api.d.ts",
|
||||
"files": [
|
||||
"dist/**/*.ts",
|
||||
"__mocks__/*.ts",
|
||||
"dist/**/*.js"
|
||||
],
|
||||
"author": {
|
||||
"name": "OpenLens Authors"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "yarn run webpack --config webpack/extensions.ts",
|
||||
"build-docs": "yarn run typedoc",
|
||||
"clean": "rm -rf dist/",
|
||||
"prepare:dev": "yarn run build"
|
||||
},
|
||||
"dependencies": {
|
||||
"@k8slens/open-lens": "^6.4.0-alpha.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^16.18.6",
|
||||
"@types/webpack": "^5.28.0",
|
||||
"@types/webpack-env": "^1.18.0",
|
||||
"@types/webpack-node-externals": "2.5.3",
|
||||
"css-loader": "^6.7.2",
|
||||
"node-loader": "^2.0.0",
|
||||
"style-loader": "^3.3.1",
|
||||
"ts-loader": "^9.4.2",
|
||||
"ts-node": "^10.9.1",
|
||||
"typedoc": "0.23.23",
|
||||
"typedoc-plugin-markdown": "^3.13.6",
|
||||
"typescript": "^4.9.4",
|
||||
"typescript-plugin-css-modules": "^4.1.1",
|
||||
"webpack": "^5.75.0",
|
||||
"webpack-cli": "^5.0.1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import { extensionApi as main } from "@k8slens/open-lens/main";
|
||||
import { extensionApi as renderer } from "@k8slens/open-lens/renderer";
|
||||
import { extensionApi as common } from "@k8slens/open-lens/common";
|
||||
|
||||
const Main = { ... main } as typeof main;
|
||||
const Renderer = { ...renderer } as typeof renderer;
|
||||
const Common = { ... common } as typeof common;
|
||||
|
||||
export {
|
||||
Main,
|
||||
Renderer,
|
||||
Common,
|
||||
};
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"extends": "../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"*": [
|
||||
"node_modules/*",
|
||||
"types/*"
|
||||
]
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"name": "typescript-plugin-css-modules",
|
||||
"options": {
|
||||
"namedExports": false
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
"src/**/*",
|
||||
"../core/types/*.d.ts",
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
"../core/src/"
|
||||
],
|
||||
"references": [
|
||||
{
|
||||
"path": "../core"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"readme": "../../docs/extensions/typedoc-readme.md.tpl",
|
||||
"name": "@k8slens/extensions",
|
||||
"out": "../../docs/extensions/api",
|
||||
"excludePrivate": true,
|
||||
"entryPointStrategy": "expand",
|
||||
"entryPoints": [
|
||||
"src/extension-api.ts",
|
||||
"../core/src/common/library.ts",
|
||||
"../core/src/main/library.ts",
|
||||
"../core/src/renderer/library.ts"
|
||||
],
|
||||
"hideBreadcrumbs": true,
|
||||
"disableSources": true,
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
|
||||
import path from "path";
|
||||
import type webpack from "webpack";
|
||||
|
||||
const isDevelopment = process.env.NODE_ENV !== "production";
|
||||
|
||||
export default function generateExtensionTypes(): webpack.Configuration {
|
||||
return {
|
||||
// Compile for Electron for renderer process
|
||||
// see <https://webpack.js.org/configuration/target/>
|
||||
target: "electron-renderer",
|
||||
entry: "./src/extension-api.ts",
|
||||
// this is the default mode, so we should make it explicit to silence the warning
|
||||
mode: isDevelopment ? "development" : "production",
|
||||
output: {
|
||||
filename: "extension-api.js",
|
||||
// need to be an absolute path
|
||||
path: path.resolve("./dist/"),
|
||||
// can be use in commonjs environments
|
||||
// e.g. require('@k8slens/extensions')
|
||||
libraryTarget: "commonjs",
|
||||
},
|
||||
cache: isDevelopment,
|
||||
optimization: {
|
||||
minimize: false, // speed up types compilation
|
||||
},
|
||||
ignoreWarnings: [
|
||||
/Critical dependency: the request of a dependency is an expression/, // see who is using request: "npm ls request"
|
||||
/require.extensions is not supported by webpack./, // handlebars
|
||||
],
|
||||
stats: "errors-warnings",
|
||||
externals: [
|
||||
"@k8slens/open-lens/common",
|
||||
"@k8slens/open-lens/main",
|
||||
"@k8slens/open-lens/renderer",
|
||||
],
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.node$/,
|
||||
loader: "ignore-loader",
|
||||
},
|
||||
{
|
||||
test: /\.tsx?$/,
|
||||
loader: "ts-loader",
|
||||
options: {
|
||||
// !! ts-loader will use tsconfig.json at folder root
|
||||
// !! changes in tsconfig.json may have side effects
|
||||
// !! on '@k8slens/extensions' module
|
||||
compilerOptions: {
|
||||
declaration: true, // output .d.ts
|
||||
sourceMap: false, // to override sourceMap: true in tsconfig.json
|
||||
outDir: path.resolve("./dist/"), // where the .d.ts should be located
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
resolve: {
|
||||
extensions: [".ts", ".tsx", ".js"],
|
||||
},
|
||||
plugins: [],
|
||||
};
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user