From 03b1d0ffc46c4183517a5de2cb79aa9a4456094b Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Wed, 21 Oct 2020 13:13:50 +0300 Subject: [PATCH] single package ftw Signed-off-by: Jari Kolehmainen --- extensions/example-extension/main.ts | 2 +- extensions/example-extension/page.tsx | 3 +-- extensions/example-extension/renderer.tsx | 2 +- .../example-extension/webpack.config.js | 5 ++--- extensions/telemetry/main.ts | 2 +- extensions/telemetry/renderer.tsx | 2 +- .../telemetry/src/telemetry-preference.tsx | 2 +- .../src/telemetry-preferences-store.ts | 2 +- extensions/telemetry/src/tracker.ts | 2 +- extensions/telemetry/webpack.config.js | 5 ++--- src/common/base-store.ts | 6 +++++- src/extensions/extension-api.ts | 2 ++ src/extensions/lens-renderer-runtime.ts | 16 ---------------- .../.gitignore | 0 .../package.json | 6 +++--- .../npm/renderer-extensions/.gitignore | 1 - .../npm/renderer-extensions/package.json | 15 --------------- src/extensions/renderer-api/navigation.ts | 1 + src/extensions/renderer-extension-api.ts | 3 --- src/extensions/rollup.config.ts | 19 +++---------------- src/main/index.ts | 4 ++-- src/renderer/bootstrap.tsx | 6 ++---- 22 files changed, 30 insertions(+), 76 deletions(-) create mode 100644 src/extensions/extension-api.ts delete mode 100644 src/extensions/lens-renderer-runtime.ts rename src/extensions/npm/{core-extensions => extensions}/.gitignore (100%) rename src/extensions/npm/{core-extensions => extensions}/package.json (58%) delete mode 100644 src/extensions/npm/renderer-extensions/.gitignore delete mode 100644 src/extensions/npm/renderer-extensions/package.json create mode 100644 src/extensions/renderer-api/navigation.ts diff --git a/extensions/example-extension/main.ts b/extensions/example-extension/main.ts index b5b413053b..2f0a926769 100644 --- a/extensions/example-extension/main.ts +++ b/extensions/example-extension/main.ts @@ -1,4 +1,4 @@ -import { LensMainExtension } from "@k8slens/core-extensions"; +import { LensMainExtension } from "@k8slens/extensions"; export default class ExampleExtensionMain extends LensMainExtension { onActivate() { diff --git a/extensions/example-extension/page.tsx b/extensions/example-extension/page.tsx index a824119702..fbb91848a9 100644 --- a/extensions/example-extension/page.tsx +++ b/extensions/example-extension/page.tsx @@ -1,5 +1,4 @@ -import { LensRendererExtension } from "@k8slens/core-extensions"; -import { Component } from "@k8slens/renderer-extensions"; +import { LensRendererExtension, Component } from "@k8slens/extensions"; import { CoffeeDoodle } from "react-open-doodles"; import path from "path"; import React from "react" diff --git a/extensions/example-extension/renderer.tsx b/extensions/example-extension/renderer.tsx index d6e6b92aaa..4ad620c209 100644 --- a/extensions/example-extension/renderer.tsx +++ b/extensions/example-extension/renderer.tsx @@ -1,4 +1,4 @@ -import { LensRendererExtension, Registry } from "@k8slens/core-extensions"; +import { LensRendererExtension, Registry } from "@k8slens/extensions"; import { ExamplePage, ExampleIcon } from "./page" import React from "react" diff --git a/extensions/example-extension/webpack.config.js b/extensions/example-extension/webpack.config.js index cd9c646f0d..89e84e3125 100644 --- a/extensions/example-extension/webpack.config.js +++ b/extensions/example-extension/webpack.config.js @@ -17,7 +17,7 @@ module.exports = [ }, externals: [ { - "@k8slens/core-extensions": "var global.LensCoreExtensions", + "@k8slens/extensions": "var global.LensExtensions", "mobx": "var global.Mobx", "react": "var global.React" } @@ -47,8 +47,7 @@ module.exports = [ }, externals: [ { - "@k8slens/renderer-extensions": "var global.LensRendererExtensions", - "@k8slens/core-extensions": "var global.LensCoreExtensions", + "@k8slens/extensions": "var global.LensExtensions", "react": "var global.React", "mobx": "var global.Mobx" } diff --git a/extensions/telemetry/main.ts b/extensions/telemetry/main.ts index 0317b191f9..f0d231316d 100644 --- a/extensions/telemetry/main.ts +++ b/extensions/telemetry/main.ts @@ -1,4 +1,4 @@ -import { LensMainExtension } from "@k8slens/core-extensions"; +import { LensMainExtension } from "@k8slens/extensions"; import { telemetryPreferencesStore } from "./src/telemetry-preferences-store" import { tracker } from "./src/tracker"; diff --git a/extensions/telemetry/renderer.tsx b/extensions/telemetry/renderer.tsx index 0b6b267b35..3988e97097 100644 --- a/extensions/telemetry/renderer.tsx +++ b/extensions/telemetry/renderer.tsx @@ -1,4 +1,4 @@ -import { LensRendererExtension, Registry } from "@k8slens/core-extensions"; +import { LensRendererExtension, Registry } from "@k8slens/extensions"; import { telemetryPreferencesStore } from "./src/telemetry-preferences-store" import { TelemetryPreferenceHint, TelemetryPreferenceInput } from "./src/telemetry-preference" import { tracker } from "./src/tracker" diff --git a/extensions/telemetry/src/telemetry-preference.tsx b/extensions/telemetry/src/telemetry-preference.tsx index 5cc0c73218..122d722a81 100644 --- a/extensions/telemetry/src/telemetry-preference.tsx +++ b/extensions/telemetry/src/telemetry-preference.tsx @@ -1,4 +1,4 @@ -import { Component } from "@k8slens/renderer-extensions" +import { Component } from "@k8slens/extensions" import React from "react" import { observer } from "mobx-react"; import { TelemetryPreferencesStore } from "./telemetry-preferences-store" diff --git a/extensions/telemetry/src/telemetry-preferences-store.ts b/extensions/telemetry/src/telemetry-preferences-store.ts index df1dcc224b..732ad91524 100644 --- a/extensions/telemetry/src/telemetry-preferences-store.ts +++ b/extensions/telemetry/src/telemetry-preferences-store.ts @@ -1,4 +1,4 @@ -import { Store } from "@k8slens/core-extensions"; +import { Store } from "@k8slens/extensions"; import { toJS } from "mobx" export type TelemetryPreferencesModel = { diff --git a/extensions/telemetry/src/tracker.ts b/extensions/telemetry/src/tracker.ts index 0344808647..ed23253bd6 100644 --- a/extensions/telemetry/src/tracker.ts +++ b/extensions/telemetry/src/tracker.ts @@ -1,4 +1,4 @@ -import { EventBus, Util } from "@k8slens/core-extensions" +import { EventBus, Util } from "@k8slens/extensions" import ua from "universal-analytics" import { machineIdSync } from "node-machine-id" import { telemetryPreferencesStore } from "./telemetry-preferences-store" diff --git a/extensions/telemetry/webpack.config.js b/extensions/telemetry/webpack.config.js index c3453c31a6..f13f54f9fd 100644 --- a/extensions/telemetry/webpack.config.js +++ b/extensions/telemetry/webpack.config.js @@ -17,7 +17,7 @@ module.exports = [ }, externals: [ { - "@k8slens/core-extensions": "var global.LensCoreExtensions", + "@k8slens/extensions": "var global.LensExtensions", "react": "var global.React", "mobx": "var global.Mobx" } @@ -48,8 +48,7 @@ module.exports = [ }, externals: [ { - "@k8slens/renderer-extensions": "var global.LensRendererExtensions", - "@k8slens/core-extensions": "var global.LensCoreExtensions", + "@k8slens/extensions": "var global.LensExtensions", "react": "var global.React", "mobx": "var global.Mobx", "mobx-react": "var global.MobxReact" diff --git a/src/common/base-store.ts b/src/common/base-store.ts index f476965736..f29d35d877 100644 --- a/src/common/base-store.ts +++ b/src/common/base-store.ts @@ -56,13 +56,17 @@ export class BaseStore extends Singleton { ...confOptions, projectName: "lens", projectVersion: getAppVersion(), - cwd: (app || remote.app).getPath("userData"), + cwd: this.storePath(), }); logger.info(`[STORE]: LOADED from ${this.storeConfig.path}`); this.fromStore(this.storeConfig.store); this.isLoaded = true; } + protected storePath() { + return (app || remote.app).getPath("userData") + } + protected async saveToFile(model: T) { logger.info(`[STORE]: SAVING ${this.name}`); // todo: update when fixed https://github.com/sindresorhus/conf/issues/114 diff --git a/src/extensions/extension-api.ts b/src/extensions/extension-api.ts new file mode 100644 index 0000000000..17bb510ea3 --- /dev/null +++ b/src/extensions/extension-api.ts @@ -0,0 +1,2 @@ +export * from "./core-extension-api" +export * from "./renderer-extension-api" diff --git a/src/extensions/lens-renderer-runtime.ts b/src/extensions/lens-renderer-runtime.ts deleted file mode 100644 index 9849a46f4f..0000000000 --- a/src/extensions/lens-renderer-runtime.ts +++ /dev/null @@ -1,16 +0,0 @@ -// Lens extension runtime params available to renderer extensions after activation - -import logger from "../main/logger"; -import { navigate } from "../renderer/navigation"; - -export interface LensExtensionRuntimeEnv { - logger: typeof logger; - navigate: typeof navigate; -} - -export function getLensRuntime(): LensExtensionRuntimeEnv { - return { - logger, - navigate - } -} diff --git a/src/extensions/npm/core-extensions/.gitignore b/src/extensions/npm/extensions/.gitignore similarity index 100% rename from src/extensions/npm/core-extensions/.gitignore rename to src/extensions/npm/extensions/.gitignore diff --git a/src/extensions/npm/core-extensions/package.json b/src/extensions/npm/extensions/package.json similarity index 58% rename from src/extensions/npm/core-extensions/package.json rename to src/extensions/npm/extensions/package.json index 765722a059..7097629539 100644 --- a/src/extensions/npm/core-extensions/package.json +++ b/src/extensions/npm/extensions/package.json @@ -1,7 +1,7 @@ { - "name": "@k8slens/core-extensions", - "productName": "Lens core extensions", - "description": "Lens - The Kubernetes IDE: core extensions", + "name": "@k8slens/extensions", + "productName": "Lens extensions", + "description": "Lens - The Kubernetes IDE: extensions", "version": "0.0.0", "copyright": "© 2020, Mirantis, Inc.", "license": "MIT", diff --git a/src/extensions/npm/renderer-extensions/.gitignore b/src/extensions/npm/renderer-extensions/.gitignore deleted file mode 100644 index 2b33ba5bed..0000000000 --- a/src/extensions/npm/renderer-extensions/.gitignore +++ /dev/null @@ -1 +0,0 @@ -api.d.ts diff --git a/src/extensions/npm/renderer-extensions/package.json b/src/extensions/npm/renderer-extensions/package.json deleted file mode 100644 index 1fe6245e63..0000000000 --- a/src/extensions/npm/renderer-extensions/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "@k8slens/renderer-extensions", - "productName": "Lens renderer extensions", - "description": "Lens - The Kubernetes IDE: renderer extensions", - "version": "0.0.0", - "copyright": "© 2020, Mirantis, Inc.", - "license": "MIT", - "files": [ - "api.d.ts" - ], - "author": { - "name": "Mirantis, Inc.", - "email": "info@k8slens.dev" - } -} diff --git a/src/extensions/renderer-api/navigation.ts b/src/extensions/renderer-api/navigation.ts new file mode 100644 index 0000000000..a29df152ee --- /dev/null +++ b/src/extensions/renderer-api/navigation.ts @@ -0,0 +1 @@ +export { navigate } from "../../renderer/navigation" diff --git a/src/extensions/renderer-extension-api.ts b/src/extensions/renderer-extension-api.ts index 4442b52e99..d96c45b845 100644 --- a/src/extensions/renderer-extension-api.ts +++ b/src/extensions/renderer-extension-api.ts @@ -1,6 +1,3 @@ -// Lens-extensions api developer's kit -export type { LensExtensionRuntimeEnv } from "./lens-renderer-runtime" - // APIs import * as Component from "./renderer-api/components" import * as K8sApi from "./renderer-api/k8s-api" diff --git a/src/extensions/rollup.config.ts b/src/extensions/rollup.config.ts index fb6273572c..cf66a4d344 100644 --- a/src/extensions/rollup.config.ts +++ b/src/extensions/rollup.config.ts @@ -8,26 +8,13 @@ import dts from "rollup-plugin-dts"; import ignoreImport from 'rollup-plugin-ignore-import' const config: RollupOptions = { - input: "src/extensions/core-extension-api.ts", + input: "src/extensions/extension-api.ts", output: [ { file: "src/extensions/npm/core-extensions/api.d.ts", format: "es", } ], plugins: [ dts(), - dtsModuleWrap({ name: "@k8slens/core-extensions" }), - ignoreImport({ extensions: ['.scss'] }), - json(), - ], -}; - -const rendererConfig: RollupOptions = { - input: "src/extensions/renderer-extension-api.ts", - output: [ - { file: "src/extensions/npm/renderer-extensions/api.d.ts", format: "es", } - ], - plugins: [ - dts(), - dtsModuleWrap({ name: "@k8slens/renderer-extensions" }), + dtsModuleWrap({ name: "@k8slens/extensions" }), ignoreImport({ extensions: ['.scss'] }), json(), ], @@ -67,4 +54,4 @@ function dtsModuleWrap({ name }: { name: string }): Plugin { } } -export default [config, rendererConfig]; +export default [config]; diff --git a/src/main/index.ts b/src/main/index.ts index 541605799d..adc5cc229e 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -17,7 +17,7 @@ import { clusterStore } from "../common/cluster-store" import { userStore } from "../common/user-store"; import { workspaceStore } from "../common/workspace-store"; import { appEventBus } from "../common/event-bus" -import * as LensCoreExtensions from "../extensions/core-extension-api"; +import * as LensExtensions from "../extensions/core-extension-api"; import { extensionManager } from "../extensions/extension-manager"; import { extensionLoader } from "../extensions/extension-loader"; import { getLensRuntime } from "../extensions/lens-runtime"; @@ -25,7 +25,7 @@ import logger from "./logger" import * as Mobx from "mobx" export { - LensCoreExtensions, + LensExtensions, Mobx } diff --git a/src/renderer/bootstrap.tsx b/src/renderer/bootstrap.tsx index b85eda5cfc..bcbc9fb5a1 100644 --- a/src/renderer/bootstrap.tsx +++ b/src/renderer/bootstrap.tsx @@ -2,8 +2,7 @@ import "./components/app.scss" import React from "react"; import * as Mobx from "mobx" import * as MobxReact from "mobx-react" -import * as LensCoreExtensions from "../extensions/core-extension-api" -import * as LensRendererExtensions from "../extensions/renderer-extension-api" +import * as LensExtensions from "../extensions/extension-api" import { render, unmountComponentAtNode } from "react-dom"; import { isMac } from "../common/vars"; import { userStore } from "../common/user-store"; @@ -22,8 +21,7 @@ export { React, Mobx, MobxReact, - LensRendererExtensions, - LensCoreExtensions + LensExtensions } export async function bootstrap(App: AppComponent) {