* Making apiBase injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert all of Helm functions to be DI
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Make PortForward's use of apiBase fully injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert all metric requests to be injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Replace resource applier with injectables
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Switch KubeJsonApi.forCluster to be injectable but do not use
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert the rest of shell sessions to be DI-ed
- This is a prerequesit for using the new
createKubeJsonApiForClusterInjectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Use new createKubeJsonApiForClusterInjectable for openNodeShellSession
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Make KubeconfigDialog injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove jest-fetch-mock and make fetch injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix tests with new global override
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add new injectable for create KubeJsonApi and JsonApi instances
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix showing-details-for-helm-release behavioural tests
- Remove HelmChartStore in favour of all injectables
- Create a model for UpgradeChartDockTab
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix show details and updating helm releases tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix residual typing issues related to metrics
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix crash on load due to circular dependency
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix create resource tab not working
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove legacy apiBase global
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Introduce and use isDebuggingInjectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Introduce and use windowLocationInjectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove global legacy apiKube
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Improve injectable filenames compared to the injectables inside
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove modifying input in requestActivePortForwardInjectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Introduce and use get(Milli)SecondsFromUnixEpochInjectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Switch to non-reactive way of gettting possible helm release versions
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix typo
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix bug in KubeApi constructor
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert all KubeApi related tests to use asyncFn
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix unit tests after introducing new injectables that have side effects
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix bad rebase causing tests to fail
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Improve expects for multiple field values
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix crash will looking up api refs
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix breaking change on KubeApi.list
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Better fix for formatting urls
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove injectable for time since we should just use useMockTime
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add happy path behavioural tests for upgrade chart tab
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove debug message
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix showing-details-for-helm-release tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix installing-helm-chart-from-new-tab tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix tests relating to hosted cluster id
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots to recent changes in master
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Reupdated upgrade chart new tab test snapshots
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix flakiness in unit test when using <Animated>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix flakiness and improve tests for DeleteClusterDialog
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix kubeconfig-sync tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix <Extensions> tests by removing mockFs and making everything injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix build issues
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix getElectronAppPathInjectable override not returning absolute paths
- Also fixes the listing-active-helm-repos-in-prefs tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Replace all uses of getAbsolutePath with joinPaths as it is more correct and less confusing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix opening application window tests by making override properly absolute
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots relating no longer using getAbsolutePath
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix and add behavioural tests for RenderDelay
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix extension discovery tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix test flakiness because of path side effects, propagate uses to as many places
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix extension-discovery tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add global override to fix some tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Rewrite and fix implementation of KubeconfigManager and its tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix tests by global override pathExists
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix unit tests failing on windows by using injectable verions of path functions
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Attempt to fix test timeout by using runInAction
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots after rebase
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots after rebase
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix tests after rebase
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix setupIpcMainHandlers usage
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
Co-authored-by: Iku-turso <mikko.aspiala@gmail.com>
* Fix: do not crop <Select/> single value
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix: do not crop namespace selector placeholder
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Align working dir input height with others
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Linter fix
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Turn on strict mode in tsconfig.json
- Add route, clusterRoute, and payloadValidatedClusterRoute helper
functions to improve types with backend routes
- Turn on the following new lints:
- react/jsx-first-prop-new-line
- react/jsx-wrap-multilines
- react/jsx-one-expression-per-line
- react/jsx-max-props-per-line
- react/jsx-indent
- react/jsx-indent-props
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix build
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Replace KubeObject scope strings with enum
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Revert package.json version changes
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* revert move hostedCluster(Id)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* change some type param names to be not single letters
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove copy-extension-themes
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* add new make clean action
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix build to not use webpack for generating types
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix kube-object-menu.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix select.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix catalog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* revert move fileNameMigration to index
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix ref logic error
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix log-resource-selector.test.tsx tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix dock-store.test.ts test by overriding createStorage to not touch file system
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix cluster.test.ts tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix kube=api.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fixed hotbar-store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix kubeconfig-manager.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix cluster-role-bindings/__tests__/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix role-bindings/__tests__/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix pods.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix delete-cluster-dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix daemonset.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix replicaset.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix statefulsets/dialog/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix replicasets/scale-dialog/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix deployments.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix deployments/scale/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix cronjob.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix stateful-set.api.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix deployment.api.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix api-manager.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix statefulset.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix job.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix pods.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix scroll-spy.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix hotbar-remove-command.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix catalog-entity-registry.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix welcome.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix verify-that-all-routes-have-route-component.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix pod-tolerations.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* better fix for previous 3 fixes, plus also select.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix kube-object-menu.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix app-paths.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix dock-tabs.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix isReactNode typing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix sub-title.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix drawer.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix list-layout.tsx and header.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix error-boundary.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix upgrade-chart/store.ts and dock-tab.store.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix install-chart/store.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix edit-resource/store.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix create-resource/store.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix namespace-select.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix namespace-select-filter.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix crd-list.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix wrong types for extensions
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix circular dependency
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix circular dependency on catalogCategoryRegistry
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix api-kube
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix type errors, most <Select /> errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fixing more type errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* some more fixing type errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* convert all KubeApis to injectable with legacy global backups
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* factor out into a common file all the exports
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* convert all KubeObjectStores to injectable with legacy global backups
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix lint
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove unused legacy KubeApi globals
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix bad previous commit
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* more crash fixing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* try and fix behavioural tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix sidebar-and-tab-navigation-for-core.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix sidebar-and-tab-navigation-for-extensions.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-using-application-menu.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix catalog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Make ThemeStore non-singleton and fix navigation-to-terminal-preferences.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* extensions.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix catalog-entity-registry.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-using-application-menu.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix log-resource-selector.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix dock-tabs.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix delete-cluster-dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-kubernetes-preferences.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-editor-preferences.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-proxy-preferences.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-using-application-menu.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-application-preferences.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix dock-store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix select.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix role-bindings/__tests__/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix hotbar-remove-command.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix cluster-role-bindings/__tests__/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-extension-specific-preferences.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-telemetry-preferences.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix closing-preferences.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-editor-preferences.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-proxy-preferences.test.ts
- Fix other type errors too
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* final tweaks
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add more tsconfig files, fix bug in <Catalog>
- Make all of history, navigation injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix type errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert all of kube-details-params/ and navigate/ to injectable
- This fixes a runtime error that was encountered during testing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix runtime errors on renderer
- remove all static uses of `createPageParam` (and then removed the
legacy global)
- Made LensRendererExtension and LensMainExtension just used
dependencies and not the getLegacyDi
- Fixed circular dep in extension-loader
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Move registerStore calls to after injectMany
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* replace all the rest of the legacy uses of apiManager
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix stack overflow and cycles in DI
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix NamespaceSelectFilter not opening
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix WizardStep and AddNamespaceDialog
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix KubeApi's not being registered
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* cleanup WindowManager
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Proper fix for Wizard, fix NamespaceStore.subscribe
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Rewrite withTooltip to be more type correct
- Fixes mobx related "too many recursive actions" error
- Change all the uses of withTooltips to be functional components
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add e2e test to cover kube api registration
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* cleanup internal-commands
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove cast in <Animate>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix command-palette e2e test
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix type error after rebase
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix test name
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix lint
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix code to help CodeQL scanner
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* update intree extension lock files
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix build-extensions picking wrong @types/react
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix tests from rebase
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix type error
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Make KubeconfigSyncManager more injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix crash in test mode for Dialog
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* make Select snapshots deterministic
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix new type error
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix kube-object.store.test.ts typing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix merge build issues
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix snapshots after merge
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix lint after merge
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* reexport BaseKubeJsonApiObjectMetadata
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix typo in terminalSpawningPool
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove duplicate license header
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix typo to waitUntilDefined
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove iter use from getLegacyGlobalDiForExtensionApi
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove complex createStorage override
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* override logger with mocks only when needed for tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove specialized overrideStore flags for getDiForUnitTesting
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove unnecessary | undefined types from the exactOptionalFieldTypes experiment
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* use more descriptive name for local test mocks
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove unnecessary addition to 'make clean' target
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove oddity of KubeObjectStore.getById(undefined) being allowed
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* rename KubeObject.getDescriptor in favour of name without fundemental JS meaning
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Simplify legacyRegisterApi when working in behaviour unit tests
- Don't emit within main environment as there should be no auto
registering there
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* change confusing variable name in ReactiveDuration
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* make visitor pattern more explicit for Entity contextMenuOpen
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* toggleDetails -> toggleKubeDetailsPane is more specific
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove outdated comment
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix bug where LensExtension dependencies are not set
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix tests from the revert of react 18
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix more tests from merge
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix typings with new is-compatible-extension tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* more type fixing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Revert in-tree extension versions
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Improve name of guarding injectable for stores and apis
- New name better implies that it is just a guard state and does not do
anything
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add helper for <Select>.isMulti for storing in a Set<Value>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix is-compatible-extension.test.ts types
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* - maintenance: upgrade react-select to latest version (5+)
- fix: props.styles was ignored and didn't passed to original react-select component from abstraction wrapper
* Implement a lot of technical requirements for behavioural unit tests
Note: the crux of this was to make routing env-agnostic, and not based on URLs as magic strings, but instead something type-enforced.
Note: extension-based routes comply to same exact interface by "late-registering" their routes when installed. Routes are just injectables.
Note: another chunk of global shared state is no more.
Note: a lot of explicit side effects have been cornered to injectables.
Note: a lot of stuff has become reactive as part if this.
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make a directory commonly available
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Require id for <Select /> to prevent non-deterministic renders
This was caused by global state in a 3rd party lib: "react-select".
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Specify id for all <Select /> to satisfy previous commit
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Prevent explicit side effect in component by using existing dependency instead
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract instantiation of "conf" as injectables for causing side effects
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Introduce a legacy-helper to make gradual refactoring of inheritors of Singleton easier
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make legacy unit tests for hotbar green and more simple by using the new legacy helper
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Temporarily kludge all unit tests green with a disclaimer about allowing side-effects
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove kludge in previous commit by explicitly permitting specific side effects where old unit tests require it
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Prevent old unit test with side effects from accessing file system
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Migrate to actual typing for di.permitSideEffects
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Prevent unit tests from failing because of non-standard method of HTML-element not present in js-dom
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Adapt integration tests to recent changes
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Fix code style
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Fix artifact from bad rebase
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Add a deprecation from a review comment
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove change that is not required
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant comment
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix code style
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant file
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix bad merge
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Improve variable name
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Tweak logger interface to be more descriptive
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make injecting legacy singleton always provide new instance
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove conditional typing when not needed
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Improve naming of variable
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove unnecessary code style changes
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove flag for causing side effects from too broad scope
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Override side-effects in unit test using injectable instead of monkey patching
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Flag some side-effects and add general overrides
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Fix unit tests in CI by removing explicit side-effect
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove explicit side-effect from getting default shell
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce abstraction for getting absolute paths
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using abstraction for getting absolute path to control explicit side effect
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce abstraction for joining paths
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using abstraction for joining paths to control explicit side effect
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix fake implementation for join paths
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix test after removing explicit side effect
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove explicit side effects from kubeconfig-syncs
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix arguments after removing explicit side effect
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make registrators not async for not being needed anymore
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make generalCatalogEntities non-observable, as there is no requirement
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove redundant code
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Simplify logic for registering general catalog entity sources
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add TODO
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Replace function for getting application menu items with reactive solution
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix typo in interface name
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove global shared state usages of hot bar store
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant enum
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
* attempt to upgrade webpack@5 and all relevant packages to latest version -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* debugging webpack@5 usage -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* - attempt to use "react-refresh-typescript" with webpack@5 thingy
- extending getTSLoader() to accept more options from ts-loader
Signed-off-by: Roman <ixrock@gmail.com>
* more fixes, updating webpack loaders
Signed-off-by: Roman <ixrock@gmail.com>
* merge-fixes, using internal webpack@5 asset handlers (type: "asset/*")
Signed-off-by: Roman <ixrock@gmail.com>
* fix: raw-loader / <Icon svg="./*">, updated mocked types for importing resources via webpack
Signed-off-by: Roman <ixrock@gmail.com>
* removing webpack-dev-server, clean up
Signed-off-by: Roman <ixrock@gmail.com>
* fix master-merge conflict
Signed-off-by: Roman <ixrock@gmail.com>
* fix/reverted: use sourceMap for styles
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* fix: loading svg icons inline as data-url (workaround for "?raw" as it fails in tests and "!!raw-loader!" seems doesn't work at all in webpack@5)
Signed-off-by: Roman <ixrock@gmail.com>
* attempt to use webpack-dev-server via node-api -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* attempt to use webpack-dev-server via node-api -- part 2
Signed-off-by: Roman <ixrock@gmail.com>
* fix: incorrect parsing svg-icon xml-content by <HotbarEntityIcon/>
Signed-off-by: Roman <ixrock@gmail.com>
* fix: more random fixes related to incorrect parsing svg-icon content, added static Icon.isSvg(content: string)
Signed-off-by: Roman <ixrock@gmail.com>
* attempt to fix: "Uncaught (in promise) DOMException: A network error occurred." when loading cluster frame -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* fix: loading cluster frame + error in loading terminal default font (which was causing network exception error and hidden cluster-view)
fix: proxying websockets (e.g. terminal)
Signed-off-by: Roman <ixrock@gmail.com>
* fix: wait lensProxy.listen() to obtain lensProxy.port for webpack-dev-server
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* fix unit tests
Signed-off-by: Roman <ixrock@gmail.com>
* reverted auto-formatted imports with 2 lines (.idea/webstorm)
Signed-off-by: Roman <ixrock@gmail.com>
* fix: handle warnings in main-process compilation files
Signed-off-by: Roman <ixrock@gmail.com>
* fix: handle warnings in "renderer" compilation
Signed-off-by: Roman <ixrock@gmail.com>
* fix: move app fonts preloading into html/css files, clean up
Signed-off-by: Roman <ixrock@gmail.com>
* update "webpack@5", "typescript@4.5" in bundled extensions / attempt to fix weird errors in build pipeline:
ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/common/catalog/catalog-category-registry.d.ts
6:27-35
[tsl] ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/common/catalog/catalog-category-registry.d.ts(6,28)
TS1005: ',' expected.
ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/renderer/components/select/select.d.ts
8:14-28
[tsl] ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/renderer/components/select/select.d.ts(8,15)
TS1005: ',' expected.
ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/renderer/api/catalog-entity-registry.d.ts
8:14-22
[tsl] ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/renderer/api/catalog-entity-registry.d.ts(8,15)
TS1005: ',' expected.
Signed-off-by: Roman <ixrock@gmail.com>
* fix: handle errors in bundled extensions compilation process
Signed-off-by: Roman <ixrock@gmail.com>
* fix: "webpack" not found in production
Signed-off-by: Roman <ixrock@gmail.com>
* fix: removed preloading fonts in template via <link preload> since it's not bundled with HtmlWebpackPlugin() anyway anda all fonts loaded via css @font-face rule
Signed-off-by: Roman <ixrock@gmail.com>
* apply HMR at least for css/styles and use manual page reload on app/scripts change
Signed-off-by: Roman <ixrock@gmail.com>
* use `react-refresh-typescript` and `@pmmmwh/react-refresh-webpack-plugin` to support HMR in most cases
Signed-off-by: Roman <ixrock@gmail.com>
* responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* revered extension version in package-lock.json (autoupdated on `make dev`)
Signed-off-by: Roman <ixrock@gmail.com>
* Fix detail views not watching child components
- Add subscribeStores calls to all relavent details
- Add support for tracking overlapping subscribes as an optimization
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Resolve PR comments
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Detect the adding of a namespace when selected namespaces change
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update debug log
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Check object instanceof on all detail panels
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix unit tests
- Remove prettier as snapShot testing is too tight of a bound
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* refactor kube api to common
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor more utils to common
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor more utils to common
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* switch to use node-fetch on both sides
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* improve logger
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix lint errors
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix/improve tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix node-fetch require error on prod build
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* preload fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* read serverAddress from apiBase
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
- Display previously selected namespaces at the top of the option list
when first opened
- Don't resort after every selection
- Automatically close the option list if no longer in multi-select mode
and have toggled at least one namespace
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Removing some props from passing to <input/>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing ns loadMetrics() this context
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
- If set (default = false) then the input will be trimmed of whitespace
before validation and before submit
- Use trim on all input's that use the systemName validator
Signed-off-by: Sebastian Malton <sebastian@malton.name>