From 8f8dd9eb45c26359463510cacd6030e12845af0e Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Tue, 20 Oct 2020 20:25:51 +0300 Subject: [PATCH] Extension npm packaging preparations (#1103) Signed-off-by: Jari Kolehmainen --- extensions/example-extension/main.ts | 2 +- extensions/example-extension/page.tsx | 2 +- extensions/example-extension/renderer.ts | 2 +- extensions/example-extension/tsconfig.json | 2 +- .../example-extension/webpack.config.js | 4 +- extensions/telemetry/main.ts | 2 +- extensions/telemetry/package-lock.json | 113 +++++++++++++----- extensions/telemetry/package.json | 3 +- extensions/telemetry/renderer.tsx | 4 +- .../telemetry/src/telemetry-preference.tsx | 2 +- .../src/telemetry-preferences-store.ts | 2 +- extensions/telemetry/src/tracker.ts | 12 +- extensions/telemetry/tsconfig.json | 2 +- extensions/telemetry/webpack.config.js | 6 +- src/extensions/npm/main-extensions/.gitignore | 1 + .../npm/main-extensions/package.json | 15 +++ .../npm/renderer-extensions/.gitignore | 1 + .../npm/renderer-extensions/package.json | 15 +++ src/extensions/rollup.config.ts | 10 +- src/main/index.ts | 4 +- src/renderer/bootstrap.tsx | 4 +- 21 files changed, 144 insertions(+), 64 deletions(-) create mode 100644 src/extensions/npm/main-extensions/.gitignore create mode 100644 src/extensions/npm/main-extensions/package.json create mode 100644 src/extensions/npm/renderer-extensions/.gitignore create mode 100644 src/extensions/npm/renderer-extensions/package.json diff --git a/extensions/example-extension/main.ts b/extensions/example-extension/main.ts index e60540ac37..bcfa52325c 100644 --- a/extensions/example-extension/main.ts +++ b/extensions/example-extension/main.ts @@ -1,4 +1,4 @@ -import { LensMainExtension } from "@lens/extensions"; +import { LensMainExtension } from "@k8slens/main-extensions"; export default class ExampleExtensionMain extends LensMainExtension { onActivate() { diff --git a/extensions/example-extension/page.tsx b/extensions/example-extension/page.tsx index 5112ee8305..ed05b7500d 100644 --- a/extensions/example-extension/page.tsx +++ b/extensions/example-extension/page.tsx @@ -1,4 +1,4 @@ -import { Component, LensRendererExtension } from "@lens/ui-extensions"; +import { Component, LensRendererExtension } from "@k8slens/renderer-extensions"; import { CoffeeDoodle } from "react-open-doodles"; import path from "path"; import React from "react" diff --git a/extensions/example-extension/renderer.ts b/extensions/example-extension/renderer.ts index 8690b373fe..dbac7056cc 100644 --- a/extensions/example-extension/renderer.ts +++ b/extensions/example-extension/renderer.ts @@ -1,4 +1,4 @@ -import { Registry, LensRendererExtension } from "@lens/ui-extensions"; +import { Registry, LensRendererExtension } from "@k8slens/renderer-extensions"; import { examplePage, ExtensionIcon } from "./page" export default class ExampleExtension extends LensRendererExtension { diff --git a/extensions/example-extension/tsconfig.json b/extensions/example-extension/tsconfig.json index 08f5df036f..ac83e008db 100644 --- a/extensions/example-extension/tsconfig.json +++ b/extensions/example-extension/tsconfig.json @@ -16,7 +16,7 @@ "jsx": "react" }, "include": [ - "../../types", + "../../src/extensions/npm/**/*.d.ts", "./*.ts", "./*.tsx" ], diff --git a/extensions/example-extension/webpack.config.js b/extensions/example-extension/webpack.config.js index e63a93b78e..f6130b2d1f 100644 --- a/extensions/example-extension/webpack.config.js +++ b/extensions/example-extension/webpack.config.js @@ -17,7 +17,7 @@ module.exports = [ }, externals: [ { - "@lens/extensions": "var global.LensExtensions", + "@k8slens/main-extensions": "var global.LensMainExtensions", "mobx": "var global.Mobx", } ], @@ -46,7 +46,7 @@ module.exports = [ }, externals: [ { - "@lens/ui-extensions": "var global.LensExtensions", + "@k8slens/renderer-extensions": "var global.LensRendererExtensions", "react": "var global.React", "mobx": "var global.Mobx" } diff --git a/extensions/telemetry/main.ts b/extensions/telemetry/main.ts index 262980700f..de33a76e5c 100644 --- a/extensions/telemetry/main.ts +++ b/extensions/telemetry/main.ts @@ -1,4 +1,4 @@ -import { LensMainExtension } from "@lens/extensions"; +import { LensMainExtension } from "@k8slens/main-extensions"; import { telemetryPreferencesStore } from "./src/telemetry-preferences-store" import { tracker } from "./src/tracker"; diff --git a/extensions/telemetry/package-lock.json b/extensions/telemetry/package-lock.json index 1219363028..9c02993621 100644 --- a/extensions/telemetry/package-lock.json +++ b/extensions/telemetry/package-lock.json @@ -201,6 +201,7 @@ "version": "6.12.5", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz", "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==", + "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -274,6 +275,7 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, "requires": { "safer-buffer": "~2.1.0" } @@ -328,7 +330,8 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true }, "assign-symbols": { "version": "1.0.0", @@ -346,7 +349,8 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, "atob": { "version": "2.1.2", @@ -357,12 +361,14 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true }, "aws4": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", - "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==" + "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", + "dev": true }, "balanced-match": { "version": "1.0.0", @@ -435,6 +441,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, "requires": { "tweetnacl": "^0.14.3" } @@ -671,7 +678,8 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true }, "chalk": { "version": "2.4.2", @@ -778,6 +786,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -853,7 +862,8 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "create-ecdh": { "version": "4.0.4", @@ -929,6 +939,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -992,7 +1003,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, "des.js": { "version": "1.0.1", @@ -1045,6 +1057,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -1201,7 +1214,8 @@ "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true }, "extend-shallow": { "version": "3.0.2", @@ -1292,17 +1306,20 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "figgy-pudding": { "version": "3.5.2", @@ -1365,12 +1382,14 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -1431,6 +1450,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -1468,12 +1488,14 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true }, "har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, "requires": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -1592,6 +1614,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -1760,7 +1783,8 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true }, "is-windows": { "version": "1.0.2", @@ -1789,7 +1813,8 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true }, "js-tokens": { "version": "4.0.0", @@ -1800,7 +1825,8 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true }, "json-parse-better-errors": { "version": "1.0.2", @@ -1811,17 +1837,20 @@ "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true }, "json5": { "version": "1.0.1", @@ -1836,6 +1865,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -1979,12 +2009,14 @@ "mime-db": { "version": "1.44.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true }, "mime-types": { "version": "2.1.27", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, "requires": { "mime-db": "1.44.0" } @@ -2164,7 +2196,8 @@ "node-machine-id": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", - "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" + "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==", + "dev": true }, "normalize-path": { "version": "3.0.0", @@ -2176,7 +2209,8 @@ "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true }, "object-assign": { "version": "4.1.1", @@ -2349,7 +2383,8 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true }, "picomatch": { "version": "2.2.2", @@ -2416,7 +2451,8 @@ "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true }, "public-encrypt": { "version": "4.0.3", @@ -2476,12 +2512,14 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true }, "querystring": { "version": "0.2.0", @@ -2589,6 +2627,7 @@ "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -2655,7 +2694,8 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "safe-regex": { "version": "1.1.0", @@ -2669,7 +2709,8 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "schema-utils": { "version": "1.0.0", @@ -2905,6 +2946,7 @@ "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -3124,6 +3166,7 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -3158,6 +3201,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -3165,7 +3209,8 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true }, "typedarray": { "version": "0.0.6", @@ -3213,6 +3258,7 @@ "version": "0.4.23", "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.23.tgz", "integrity": "sha512-lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A==", + "dev": true, "requires": { "debug": "^4.1.1", "request": "^2.88.2", @@ -3223,6 +3269,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, "requires": { "ms": "2.1.2" } @@ -3230,7 +3277,8 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -3285,6 +3333,7 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, "requires": { "punycode": "^2.1.0" } @@ -3345,12 +3394,14 @@ "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", diff --git a/extensions/telemetry/package.json b/extensions/telemetry/package.json index 5d9a306299..564d627894 100644 --- a/extensions/telemetry/package.json +++ b/extensions/telemetry/package.json @@ -12,8 +12,7 @@ "build": "webpack --config webpack.config.js", "dev": "npm run build --watch" }, - "dependencies": { - }, + "dependencies": {}, "devDependencies": { "ts-loader": "^8.0.4", "typescript": "^4.0.3", diff --git a/extensions/telemetry/renderer.tsx b/extensions/telemetry/renderer.tsx index 6417488072..e380c80cca 100644 --- a/extensions/telemetry/renderer.tsx +++ b/extensions/telemetry/renderer.tsx @@ -1,4 +1,4 @@ -import { AppPreferenceRegistry, LensRendererExtension } from "@lens/ui-extensions"; +import { Registry, LensRendererExtension } from "@k8slens/renderer-extensions"; import { telemetryPreferencesStore } from "./src/telemetry-preferences-store" import { TelemetryPreferenceHint, TelemetryPreferenceInput } from "./src/telemetry-preference" import { tracker } from "./src/tracker" @@ -11,7 +11,7 @@ export default class TelemetryRendererExtension extends LensRendererExtension { await telemetryPreferencesStore.load() } - registerAppPreferences(registry: AppPreferenceRegistry) { + registerAppPreferences(registry: Registry.AppPreferenceRegistry) { this.disposers.push( registry.add({ title: "Telemetry & Usage Tracking", diff --git a/extensions/telemetry/src/telemetry-preference.tsx b/extensions/telemetry/src/telemetry-preference.tsx index caf95716cc..5cc0c73218 100644 --- a/extensions/telemetry/src/telemetry-preference.tsx +++ b/extensions/telemetry/src/telemetry-preference.tsx @@ -1,4 +1,4 @@ -import { Component } from "@lens/ui-extensions" +import { Component } from "@k8slens/renderer-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 dd8dee28be..ba64f2c704 100644 --- a/extensions/telemetry/src/telemetry-preferences-store.ts +++ b/extensions/telemetry/src/telemetry-preferences-store.ts @@ -1,4 +1,4 @@ -import { Store } from "@lens/extensions"; +import { Store } from "@k8slens/main-extensions"; import { toJS } from "mobx" export type TelemetryPreferencesModel = { diff --git a/extensions/telemetry/src/tracker.ts b/extensions/telemetry/src/tracker.ts index dba2fca4b7..35d93fec35 100644 --- a/extensions/telemetry/src/tracker.ts +++ b/extensions/telemetry/src/tracker.ts @@ -1,12 +1,12 @@ -import { Singleton, appEventBus, AppEvent } from "@lens/extensions" +import { EventBus, Util } from "@k8slens/main-extensions" import ua from "universal-analytics" import { machineIdSync } from "node-machine-id" import { telemetryPreferencesStore } from "./telemetry-preferences-store" -export class Tracker extends Singleton { +export class Tracker extends Util.Singleton { static readonly GA_ID = "UA-159377374-1" - protected eventHandlers: Array<(ev: AppEvent ) => void> = [] + protected eventHandlers: Array<(ev: EventBus.AppEvent ) => void> = [] protected started = false protected visitor: ua.Visitor protected machineId: string = null; @@ -31,11 +31,11 @@ export class Tracker extends Singleton { this.started = true - const handler = (ev: AppEvent) => { + const handler = (ev: EventBus.AppEvent) => { this.event(ev.name, ev.action, ev.params) } this.eventHandlers.push(handler) - appEventBus.addListener(handler) + EventBus.appEventBus.addListener(handler) } stop() { @@ -44,7 +44,7 @@ export class Tracker extends Singleton { this.started = false for (const handler of this.eventHandlers) { - appEventBus.removeListener(handler) + EventBus.appEventBus.removeListener(handler) } } diff --git a/extensions/telemetry/tsconfig.json b/extensions/telemetry/tsconfig.json index 69c833aa23..d62add616f 100644 --- a/extensions/telemetry/tsconfig.json +++ b/extensions/telemetry/tsconfig.json @@ -24,7 +24,7 @@ }, "include": [ "renderer.ts", - "../../types/", + "../../src/extensions/npm/**/*.d.ts", "src/**/*" ], } diff --git a/extensions/telemetry/webpack.config.js b/extensions/telemetry/webpack.config.js index 2d8ac739ef..1e45676da9 100644 --- a/extensions/telemetry/webpack.config.js +++ b/extensions/telemetry/webpack.config.js @@ -17,7 +17,7 @@ module.exports = [ }, externals: [ { - "@lens/extensions": "var global.LensExtensions", + "@k8slens/main-extensions": "var global.LensMainExtensions", "react": "var global.React", "mobx": "var global.Mobx" } @@ -48,8 +48,8 @@ module.exports = [ }, externals: [ { - "@lens/ui-extensions": "var global.LensExtensions", - "@lens/extensions": "var global.LensMainExtensions", + "@k8slens/renderer-extensions": "var global.LensRendererExtensions", + "@k8slens/main-extensions": "var global.LensMainExtensions", "react": "var global.React", "mobx": "var global.Mobx" } diff --git a/src/extensions/npm/main-extensions/.gitignore b/src/extensions/npm/main-extensions/.gitignore new file mode 100644 index 0000000000..2b33ba5bed --- /dev/null +++ b/src/extensions/npm/main-extensions/.gitignore @@ -0,0 +1 @@ +api.d.ts diff --git a/src/extensions/npm/main-extensions/package.json b/src/extensions/npm/main-extensions/package.json new file mode 100644 index 0000000000..cee7281140 --- /dev/null +++ b/src/extensions/npm/main-extensions/package.json @@ -0,0 +1,15 @@ +{ + "name": "@k8slens/main-extensions", + "productName": "Lens extensions", + "description": "Lens - The Kubernetes IDE: 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/npm/renderer-extensions/.gitignore b/src/extensions/npm/renderer-extensions/.gitignore new file mode 100644 index 0000000000..2b33ba5bed --- /dev/null +++ b/src/extensions/npm/renderer-extensions/.gitignore @@ -0,0 +1 @@ +api.d.ts diff --git a/src/extensions/npm/renderer-extensions/package.json b/src/extensions/npm/renderer-extensions/package.json new file mode 100644 index 0000000000..2c9b8d5efa --- /dev/null +++ b/src/extensions/npm/renderer-extensions/package.json @@ -0,0 +1,15 @@ +{ + "name": "@k8slens/renderer-extensions", + "productName": "Lens extensions", + "description": "Lens - The Kubernetes IDE: 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/rollup.config.ts b/src/extensions/rollup.config.ts index 4c90d1e232..02ebd9fd6e 100644 --- a/src/extensions/rollup.config.ts +++ b/src/extensions/rollup.config.ts @@ -7,16 +7,14 @@ import json from '@rollup/plugin-json'; import dts from "rollup-plugin-dts"; import ignoreImport from 'rollup-plugin-ignore-import' -// todo: generate extension-api.js bundle also with Rollup (?) - const config: RollupOptions = { input: "src/extensions/extension-api.ts", output: [ - { file: "types/extension-api.d.ts", format: "es", } + { file: "src/extensions/npm/main-extensions/api.d.ts", format: "es", } ], plugins: [ dts(), - dtsModuleWrap({ name: "@lens/extensions" }), + dtsModuleWrap({ name: "@k8slens/main-extensions" }), ignoreImport({ extensions: ['.scss'] }), json(), ], @@ -25,11 +23,11 @@ const config: RollupOptions = { const rendererConfig: RollupOptions = { input: "src/extensions/extension-renderer-api.ts", output: [ - { file: "types/extension-renderer-api.d.ts", format: "es", } + { file: "src/extensions/npm/renderer-extensions/api.d.ts", format: "es", } ], plugins: [ dts(), - dtsModuleWrap({ name: "@lens/ui-extensions" }), + dtsModuleWrap({ name: "@k8slens/renderer-extensions" }), ignoreImport({ extensions: ['.scss'] }), json(), ], diff --git a/src/main/index.ts b/src/main/index.ts index 6e12706a66..64aa2fd676 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 LensExtensions from "../extensions/extension-api"; +import * as LensMainExtensions from "../extensions/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 { - LensExtensions, + LensMainExtensions, Mobx } diff --git a/src/renderer/bootstrap.tsx b/src/renderer/bootstrap.tsx index 89e1ba505c..ee158da69d 100644 --- a/src/renderer/bootstrap.tsx +++ b/src/renderer/bootstrap.tsx @@ -2,7 +2,7 @@ import "./components/app.scss" import React from "react"; import * as Mobx from "mobx" import * as LensMainExtensions from "../extensions/extension-api" -import * as LensExtensions from "../extensions/extension-renderer-api" +import * as LensRendererExtensions from "../extensions/extension-renderer-api" import { render, unmountComponentAtNode } from "react-dom"; import { isMac } from "../common/vars"; import { userStore } from "../common/user-store"; @@ -20,7 +20,7 @@ type AppComponent = React.ComponentType & { export { React, Mobx, - LensExtensions, + LensRendererExtensions, LensMainExtensions }