1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

single package ftw

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
Jari Kolehmainen 2020-10-21 13:13:50 +03:00
parent 95e5d615e8
commit 03b1d0ffc4
22 changed files with 30 additions and 76 deletions

View File

@ -1,4 +1,4 @@
import { LensMainExtension } from "@k8slens/core-extensions"; import { LensMainExtension } from "@k8slens/extensions";
export default class ExampleExtensionMain extends LensMainExtension { export default class ExampleExtensionMain extends LensMainExtension {
onActivate() { onActivate() {

View File

@ -1,5 +1,4 @@
import { LensRendererExtension } from "@k8slens/core-extensions"; import { LensRendererExtension, Component } from "@k8slens/extensions";
import { Component } from "@k8slens/renderer-extensions";
import { CoffeeDoodle } from "react-open-doodles"; import { CoffeeDoodle } from "react-open-doodles";
import path from "path"; import path from "path";
import React from "react" import React from "react"

View File

@ -1,4 +1,4 @@
import { LensRendererExtension, Registry } from "@k8slens/core-extensions"; import { LensRendererExtension, Registry } from "@k8slens/extensions";
import { ExamplePage, ExampleIcon } from "./page" import { ExamplePage, ExampleIcon } from "./page"
import React from "react" import React from "react"

View File

@ -17,7 +17,7 @@ module.exports = [
}, },
externals: [ externals: [
{ {
"@k8slens/core-extensions": "var global.LensCoreExtensions", "@k8slens/extensions": "var global.LensExtensions",
"mobx": "var global.Mobx", "mobx": "var global.Mobx",
"react": "var global.React" "react": "var global.React"
} }
@ -47,8 +47,7 @@ module.exports = [
}, },
externals: [ externals: [
{ {
"@k8slens/renderer-extensions": "var global.LensRendererExtensions", "@k8slens/extensions": "var global.LensExtensions",
"@k8slens/core-extensions": "var global.LensCoreExtensions",
"react": "var global.React", "react": "var global.React",
"mobx": "var global.Mobx" "mobx": "var global.Mobx"
} }

View File

@ -1,4 +1,4 @@
import { LensMainExtension } from "@k8slens/core-extensions"; import { LensMainExtension } from "@k8slens/extensions";
import { telemetryPreferencesStore } from "./src/telemetry-preferences-store" import { telemetryPreferencesStore } from "./src/telemetry-preferences-store"
import { tracker } from "./src/tracker"; import { tracker } from "./src/tracker";

View File

@ -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 { telemetryPreferencesStore } from "./src/telemetry-preferences-store"
import { TelemetryPreferenceHint, TelemetryPreferenceInput } from "./src/telemetry-preference" import { TelemetryPreferenceHint, TelemetryPreferenceInput } from "./src/telemetry-preference"
import { tracker } from "./src/tracker" import { tracker } from "./src/tracker"

View File

@ -1,4 +1,4 @@
import { Component } from "@k8slens/renderer-extensions" import { Component } from "@k8slens/extensions"
import React from "react" import React from "react"
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { TelemetryPreferencesStore } from "./telemetry-preferences-store" import { TelemetryPreferencesStore } from "./telemetry-preferences-store"

View File

@ -1,4 +1,4 @@
import { Store } from "@k8slens/core-extensions"; import { Store } from "@k8slens/extensions";
import { toJS } from "mobx" import { toJS } from "mobx"
export type TelemetryPreferencesModel = { export type TelemetryPreferencesModel = {

View File

@ -1,4 +1,4 @@
import { EventBus, Util } from "@k8slens/core-extensions" import { EventBus, Util } from "@k8slens/extensions"
import ua from "universal-analytics" import ua from "universal-analytics"
import { machineIdSync } from "node-machine-id" import { machineIdSync } from "node-machine-id"
import { telemetryPreferencesStore } from "./telemetry-preferences-store" import { telemetryPreferencesStore } from "./telemetry-preferences-store"

View File

@ -17,7 +17,7 @@ module.exports = [
}, },
externals: [ externals: [
{ {
"@k8slens/core-extensions": "var global.LensCoreExtensions", "@k8slens/extensions": "var global.LensExtensions",
"react": "var global.React", "react": "var global.React",
"mobx": "var global.Mobx" "mobx": "var global.Mobx"
} }
@ -48,8 +48,7 @@ module.exports = [
}, },
externals: [ externals: [
{ {
"@k8slens/renderer-extensions": "var global.LensRendererExtensions", "@k8slens/extensions": "var global.LensExtensions",
"@k8slens/core-extensions": "var global.LensCoreExtensions",
"react": "var global.React", "react": "var global.React",
"mobx": "var global.Mobx", "mobx": "var global.Mobx",
"mobx-react": "var global.MobxReact" "mobx-react": "var global.MobxReact"

View File

@ -56,13 +56,17 @@ export class BaseStore<T = any> extends Singleton {
...confOptions, ...confOptions,
projectName: "lens", projectName: "lens",
projectVersion: getAppVersion(), projectVersion: getAppVersion(),
cwd: (app || remote.app).getPath("userData"), cwd: this.storePath(),
}); });
logger.info(`[STORE]: LOADED from ${this.storeConfig.path}`); logger.info(`[STORE]: LOADED from ${this.storeConfig.path}`);
this.fromStore(this.storeConfig.store); this.fromStore(this.storeConfig.store);
this.isLoaded = true; this.isLoaded = true;
} }
protected storePath() {
return (app || remote.app).getPath("userData")
}
protected async saveToFile(model: T) { protected async saveToFile(model: T) {
logger.info(`[STORE]: SAVING ${this.name}`); logger.info(`[STORE]: SAVING ${this.name}`);
// todo: update when fixed https://github.com/sindresorhus/conf/issues/114 // todo: update when fixed https://github.com/sindresorhus/conf/issues/114

View File

@ -0,0 +1,2 @@
export * from "./core-extension-api"
export * from "./renderer-extension-api"

View File

@ -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
}
}

View File

@ -1,7 +1,7 @@
{ {
"name": "@k8slens/core-extensions", "name": "@k8slens/extensions",
"productName": "Lens core extensions", "productName": "Lens extensions",
"description": "Lens - The Kubernetes IDE: core extensions", "description": "Lens - The Kubernetes IDE: extensions",
"version": "0.0.0", "version": "0.0.0",
"copyright": "© 2020, Mirantis, Inc.", "copyright": "© 2020, Mirantis, Inc.",
"license": "MIT", "license": "MIT",

View File

@ -1 +0,0 @@
api.d.ts

View File

@ -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"
}
}

View File

@ -0,0 +1 @@
export { navigate } from "../../renderer/navigation"

View File

@ -1,6 +1,3 @@
// Lens-extensions api developer's kit
export type { LensExtensionRuntimeEnv } from "./lens-renderer-runtime"
// APIs // APIs
import * as Component from "./renderer-api/components" import * as Component from "./renderer-api/components"
import * as K8sApi from "./renderer-api/k8s-api" import * as K8sApi from "./renderer-api/k8s-api"

View File

@ -8,26 +8,13 @@ import dts from "rollup-plugin-dts";
import ignoreImport from 'rollup-plugin-ignore-import' import ignoreImport from 'rollup-plugin-ignore-import'
const config: RollupOptions = { const config: RollupOptions = {
input: "src/extensions/core-extension-api.ts", input: "src/extensions/extension-api.ts",
output: [ output: [
{ file: "src/extensions/npm/core-extensions/api.d.ts", format: "es", } { file: "src/extensions/npm/core-extensions/api.d.ts", format: "es", }
], ],
plugins: [ plugins: [
dts(), dts(),
dtsModuleWrap({ name: "@k8slens/core-extensions" }), dtsModuleWrap({ name: "@k8slens/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" }),
ignoreImport({ extensions: ['.scss'] }), ignoreImport({ extensions: ['.scss'] }),
json(), json(),
], ],
@ -67,4 +54,4 @@ function dtsModuleWrap({ name }: { name: string }): Plugin {
} }
} }
export default [config, rendererConfig]; export default [config];

View File

@ -17,7 +17,7 @@ import { clusterStore } from "../common/cluster-store"
import { userStore } from "../common/user-store"; import { userStore } from "../common/user-store";
import { workspaceStore } from "../common/workspace-store"; import { workspaceStore } from "../common/workspace-store";
import { appEventBus } from "../common/event-bus" 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 { extensionManager } from "../extensions/extension-manager";
import { extensionLoader } from "../extensions/extension-loader"; import { extensionLoader } from "../extensions/extension-loader";
import { getLensRuntime } from "../extensions/lens-runtime"; import { getLensRuntime } from "../extensions/lens-runtime";
@ -25,7 +25,7 @@ import logger from "./logger"
import * as Mobx from "mobx" import * as Mobx from "mobx"
export { export {
LensCoreExtensions, LensExtensions,
Mobx Mobx
} }

View File

@ -2,8 +2,7 @@ import "./components/app.scss"
import React from "react"; import React from "react";
import * as Mobx from "mobx" import * as Mobx from "mobx"
import * as MobxReact from "mobx-react" import * as MobxReact from "mobx-react"
import * as LensCoreExtensions from "../extensions/core-extension-api" import * as LensExtensions from "../extensions/extension-api"
import * as LensRendererExtensions from "../extensions/renderer-extension-api"
import { render, unmountComponentAtNode } from "react-dom"; import { render, unmountComponentAtNode } from "react-dom";
import { isMac } from "../common/vars"; import { isMac } from "../common/vars";
import { userStore } from "../common/user-store"; import { userStore } from "../common/user-store";
@ -22,8 +21,7 @@ export {
React, React,
Mobx, Mobx,
MobxReact, MobxReact,
LensRendererExtensions, LensExtensions
LensCoreExtensions
} }
export async function bootstrap(App: AppComponent) { export async function bootstrap(App: AppComponent) {