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

Merge remote-tracking branch 'origin/master' into mobx6-migration

# Conflicts:
#	extensions/kube-object-event-status/package-lock.json
#	extensions/metrics-cluster-feature/package-lock.json
#	extensions/node-menu/package-lock.json
#	extensions/node-menu/package.json
#	extensions/pod-menu/package-lock.json
#	extensions/pod-menu/package.json
This commit is contained in:
Roman 2021-05-19 12:50:11 +03:00
commit 9a702c46a6
20 changed files with 1266 additions and 684 deletions

View File

@ -125,6 +125,7 @@ docs:
clean-extensions:
$(foreach dir, $(wildcard $(EXTENSIONS_DIR)/*), rm -rf $(dir)/dist)
$(foreach dir, $(wildcard $(EXTENSIONS_DIR)/*), rm -rf $(dir)/node_modules)
$(foreach dir, $(wildcard $(EXTENSIONS_DIR)/*), rm $(dir)/*.tgz || true)
.PHONY: clean-npm
clean-npm:

View File

@ -10,7 +10,6 @@ The custom Lens UI elements that you can add include:
* [Cluster page menus](#clusterpagemenus)
* [Global pages](#globalpages)
* [Global page menus](#globalpagemenus)
* [Cluster features](#clusterfeatures)
* [App preferences](#apppreferences)
* [Status bar items](#statusbaritems)
* [KubeObject menu items](#kubeobjectmenuitems)

View File

@ -3,7 +3,6 @@
## Modules
* [App](modules/_core_api_app_.md)
* [ClusterFeature](modules/_core_api_cluster_feature_.md)
* [EventBus](modules/_core_api_event_bus_.md)
* [Store](modules/_core_api_stores_.md)
* [Util](modules/_core_api_utils_.md)

View File

@ -5,13 +5,38 @@
:root > * {
/* Footer */
--md-footer-bg-color: #3d90ce;
--md-footer-bg-color: #e8e8e8;
--md-footer-bg-color--dark: #cccdcf;
--md-footer-fg-color: #3d90ce;
--md-footer-fg-color--light: #fff;
/* Background */
--md-default-bg-color: #f1f1f1;
}
[data-md-color-scheme="slate"] {
/* Footer */
--md-footer-bg-color: #2e3136;
--md-footer-bg-color--dark: #262b2f;
--md-footer-fg-color: #3d90ce;
--md-footer-fg-color--light: #fff;
/* Background */
--md-default-bg-color: #1e2124;
}
.md-version__list {
overflow: auto;
}
.md-header-nav__title {
margin-left: 0;
}
.md-header__title {
margin-left: 0;
}
ul.video-list {
counter-reset: section;
list-style: none;

1
extensions/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*/*.tgz

View File

@ -1661,12 +1661,6 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
"dev": true
},
"json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
@ -1721,15 +1715,6 @@
"path-exists": "^3.0.0"
}
},
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dev": true,
"requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@ -1896,27 +1881,6 @@
"minimist": "^1.2.5"
}
},
"mobx": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/mobx/-/mobx-6.3.1.tgz",
"integrity": "sha512-by0VQNBltxLKcQ0uIz2h2mnVv1ZV0ief8mRRw+0k7mL2vSS3806rZg42bt8Vy78szaODtij/5iWIGvc46ZC3Cw==",
"dev": true
},
"mobx-react": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-7.2.0.tgz",
"integrity": "sha512-KHUjZ3HBmZlNnPd1M82jcdVsQRDlfym38zJhZEs33VxyVQTvL77hODCArq6+C1P1k/6erEeo2R7rpE7ZeOL7dg==",
"dev": true,
"requires": {
"mobx-react-lite": "^3.2.0"
}
},
"mobx-react-lite": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.2.0.tgz",
"integrity": "sha512-q5+UHIqYCOpBoFm/PElDuOhbcatvTllgRp3M1s+Hp5j0Z6XNgDbgqxawJ0ZAUEyKM8X1zs70PCuhAIzX1f4Q/g==",
"dev": true
},
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
@ -2326,16 +2290,6 @@
"safe-buffer": "^5.1.0"
}
},
"react": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
"integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
"dev": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
},
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",

View File

@ -8,10 +8,13 @@
"styles": []
},
"scripts": {
"build": "webpack --config webpack.config.js",
"dev": "npm run build --watch",
"build": "webpack && npm pack",
"dev": "webpack --watch",
"test": "echo NO TESTS"
},
"files": [
"dist/**/*"
],
"dependencies": {},
"devDependencies": {
"@k8slens/extensions": "file:../../src/extensions/npm/extensions",

View File

@ -42,7 +42,8 @@ module.exports = [
{
"@k8slens/extensions": "var global.LensExtensions",
"react": "var global.React",
"mobx": "var global.Mobx"
"mobx": "var global.Mobx",
"mobx-react": "var global.MobxReact"
}
],
resolve: {

File diff suppressed because it is too large Load Diff

View File

@ -8,10 +8,14 @@
"styles": []
},
"scripts": {
"build": "webpack --config webpack.config.js",
"dev": "npm run build --watch",
"test": "jest --passWithNoTests --env=jsdom src $@"
"build": "webpack && npm pack",
"dev": "webpack --watch",
"test": "jest --passWithNoTests --env=jsdom src $@",
"clean": "rm -rf dist/ && rm *.tgz"
},
"files": [
"dist/**/*"
],
"devDependencies": {
"@k8slens/extensions": "file:../../src/extensions/npm/extensions",
"react": "latest",
@ -22,5 +26,6 @@
"ts-loader": "^8.0.4",
"typescript": "^4.0.3",
"webpack": "^4.44.2"
}
},
"dependencies": {}
}

View File

@ -42,7 +42,8 @@ module.exports = [
{
"@k8slens/extensions": "var global.LensExtensions",
"react": "var global.React",
"mobx": "var global.Mobx"
"mobx": "var global.Mobx",
"mobx-react": "var global.MobxReact"
}
],
resolve: {

View File

@ -4037,15 +4037,6 @@
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
"dev": true
},
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dev": true,
"requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@ -4247,27 +4238,6 @@
"minimist": "^1.2.5"
}
},
"mobx": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/mobx/-/mobx-6.3.1.tgz",
"integrity": "sha512-by0VQNBltxLKcQ0uIz2h2mnVv1ZV0ief8mRRw+0k7mL2vSS3806rZg42bt8Vy78szaODtij/5iWIGvc46ZC3Cw==",
"dev": true
},
"mobx-react": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-7.2.0.tgz",
"integrity": "sha512-KHUjZ3HBmZlNnPd1M82jcdVsQRDlfym38zJhZEs33VxyVQTvL77hODCArq6+C1P1k/6erEeo2R7rpE7ZeOL7dg==",
"dev": true,
"requires": {
"mobx-react-lite": "^3.2.0"
}
},
"mobx-react-lite": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.2.0.tgz",
"integrity": "sha512-q5+UHIqYCOpBoFm/PElDuOhbcatvTllgRp3M1s+Hp5j0Z6XNgDbgqxawJ0ZAUEyKM8X1zs70PCuhAIzX1f4Q/g==",
"dev": true
},
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
@ -4918,16 +4888,6 @@
"safe-buffer": "^5.1.0"
}
},
"react": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
"integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
"dev": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
},
"react-is": {
"version": "17.0.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz",

View File

@ -8,17 +8,17 @@
"styles": []
},
"scripts": {
"build": "webpack --config webpack.config.js",
"dev": "npm run build --watch",
"build": "webpack && npm pack",
"dev": "webpack --watch",
"test": "jest --passWithNoTests --env=jsdom src $@"
},
"files": [
"dist/**/*"
],
"dependencies": {},
"devDependencies": {
"@k8slens/extensions": "file:../../src/extensions/npm/extensions",
"jest": "^26.6.3",
"react": "latest",
"mobx": "latest",
"mobx-react": "latest",
"ts-loader": "^8.0.4",
"typescript": "^4.0.3",
"webpack": "^4.44.2"

View File

@ -42,7 +42,8 @@ module.exports = [
{
"@k8slens/extensions": "var global.LensExtensions",
"react": "var global.React",
"mobx": "var global.Mobx"
"mobx": "var global.Mobx",
"mobx-react": "var global.MobxReact"
}
],
resolve: {

View File

@ -4674,15 +4674,6 @@
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
"dev": true
},
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dev": true,
"requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@ -4884,27 +4875,6 @@
"minimist": "^1.2.5"
}
},
"mobx": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/mobx/-/mobx-6.3.1.tgz",
"integrity": "sha512-by0VQNBltxLKcQ0uIz2h2mnVv1ZV0ief8mRRw+0k7mL2vSS3806rZg42bt8Vy78szaODtij/5iWIGvc46ZC3Cw==",
"dev": true
},
"mobx-react": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-7.2.0.tgz",
"integrity": "sha512-KHUjZ3HBmZlNnPd1M82jcdVsQRDlfym38zJhZEs33VxyVQTvL77hODCArq6+C1P1k/6erEeo2R7rpE7ZeOL7dg==",
"dev": true,
"requires": {
"mobx-react-lite": "^3.2.0"
}
},
"mobx-react-lite": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.2.0.tgz",
"integrity": "sha512-q5+UHIqYCOpBoFm/PElDuOhbcatvTllgRp3M1s+Hp5j0Z6XNgDbgqxawJ0ZAUEyKM8X1zs70PCuhAIzX1f4Q/g==",
"dev": true
},
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
@ -5555,16 +5525,6 @@
"safe-buffer": "^5.1.0"
}
},
"react": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
"integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
"dev": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
},
"react-is": {
"version": "17.0.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz",

View File

@ -8,17 +8,17 @@
"styles": []
},
"scripts": {
"build": "webpack --config webpack.config.js",
"dev": "npm run build --watch",
"build": "webpack && npm pack",
"dev": "webpack --watch",
"test": "jest --passWithNoTests --env=jsdom src $@"
},
"files": [
"dist/**/*"
],
"dependencies": {},
"devDependencies": {
"@k8slens/extensions": "file:../../src/extensions/npm/extensions",
"jest": "^26.6.3",
"react": "latest",
"mobx": "latest",
"mobx-react": "latest",
"ts-loader": "^8.0.4",
"typescript": "^4.0.3",
"webpack": "^4.44.2"

View File

@ -42,7 +42,8 @@ module.exports = [
{
"@k8slens/extensions": "var global.LensExtensions",
"react": "var global.React",
"mobx": "var global.Mobx"
"mobx": "var global.Mobx",
"mobx-react": "var global.MobxReact"
}
],
resolve: {

View File

@ -59,13 +59,13 @@ theme:
favicon: img/favicon.ico
logo: img/lens-logo-icon.svg
palette:
- scheme: default
toggle:
icon: material/toggle-switch
name: Switch to light mode
- scheme: slate
toggle:
icon: material/toggle-switch-off-outline
name: Switch to light mode
- scheme: default
toggle:
icon: material/toggle-switch
name: Switch to dark mode
features:
- toc.autohide

View File

@ -98,8 +98,8 @@
"from": "extensions/",
"to": "./extensions/",
"filter": [
"**/*.js*",
"**/*.yml*",
"**/*.tgz",
"**/package.json",
"!**/node_modules"
]
},

View File

@ -351,10 +351,13 @@ export class ExtensionDiscovery extends Singleton {
const manifest = await fse.readJson(manifestPath);
const installedManifestPath = this.getInstalledManifestPath(manifest.name);
const isEnabled = isBundled || ExtensionsStore.getInstance().isEnabled(installedManifestPath);
const extensionDir = path.dirname(manifestPath);
const npmPackage = path.join(extensionDir, `${manifest.name}-${manifest.version}.tgz`);
const absolutePath = (await fse.pathExists(npmPackage)) ? npmPackage : extensionDir;
return {
id: installedManifestPath,
absolutePath: path.dirname(manifestPath),
absolutePath,
manifestPath: installedManifestPath,
manifest,
isBundled,