extensions-api -- expose public apis to extension via "module-alias" package

Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
Roman committed 2020-09-03 17:23:04 +03:00
1 parent a6a0a6eddf
commit a5533a5eb1
10 files changed
+31 -21

No files matched your search

@@ -1,4 +1,3 @@
// fixme: provide runtime import / webpack.resolve.alias / require.extensions (?)
import { LensExtension } from "@lens/extensions";
export default class ExampleExtension extends LensExtension {
@@ -11,7 +11,9 @@
"allowJs": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"resolveJsonModule": true
"resolveJsonModule": true,
"skipLibCheck": true,
"declaration": true
},
"include": [
"../extension-api.mock.d.ts",
-2
View File
@@ -1,5 +1,3 @@
// todo: auto-generate from ./extension-api.ts
// todo: remove when npm-available (with generated types)
declare module "@lens/extensions" {
export = LensExtensions
+2 -2
View File
@@ -1,4 +1,4 @@
// LensExtensions.api.js developer kit (Lens common components)
// Should be published to npm (with types declarations) and also available as built-in dependency
// Lens-extensions.api.js developer kit
// todo: generate types instead of extension-api.mock.d.ts
export * from "./extension"
+2 -9
View File
@@ -4,14 +4,6 @@ import { action, observable, when } from "mobx";
import extensionManifest from "./example-extension/package.json"
import logger from "../main/logger";
// TODO: extensions api
// * figure out how to expose/inject lens apis to extension:
// -- replace import "@lens" to real path to "build/Lens.js" or maybe "build/Lens-extensions.api.js"
// -- load extension via NodeJS.require() / webContents.executeJavaScript()
// * figure out how to re-use/provide-access from extension to its:
// -- npm dependencies
// -- folder assets/resources
export type ExtensionId = string;
export type ExtensionVersion = string | number;
export type ExtensionManifest = typeof extensionManifest & ExtensionModel;
@@ -49,7 +41,8 @@ export class LensExtension implements ExtensionModel {
}
async init() {
// todo
// todo: add more app/extension lifecycle hooks? e.g. onAppExit(), etc.
// todo: provide runtime dependencies
}
async install() {
View File
Whitespace-only changes.