* 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>
* converting app-preferences to use di
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* address review comments and fix lint
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* use compact license header
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
- Add distinction between `getInstance` and `getInstanceOrCreate` since
it is not always possible to create an instance (since you might not
know the correct arguments)
- Remove all the `export const *Store = *Store.getInstance<*Store>();`
calls as it defeats the purpose of `Singleton`. Plus with the typing
changes the appropriate `*Store.getInstance()` is "short enough".
- Special case the two extension export facades to not need to use
`getInstanceOrCreate`. Plus since they are just facades it is always
possible to create them.
- Move some other types to be also `Singleton`'s: ExtensionLoader,
ExtensionDiscovery, ThemeStore, LocalizationStore, ...
- Fixed dev-run always using the same port with electron inspect
- Update Store documentation with new recommendations about creating
instances of singletons
- Fix all unit tests to create their dependent singletons
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* add no-unused-vars and no-unused-imports
* added quotes: double, and remove ignore pattern
* move itif and describeif into utils
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add @testing-library/jest-dom and @testing-library/react for writing test cases
* Make eslint check __mocks__/*.ts files
* Mock electron.ipcRenderer.on to prevent errors in React compoment test cases
* Mock <Trans /> from @lingui/macro as a component simplely returns children components
* Use optional chaining operator (?.) to avoid TypeError: Cannot read property 'replicas' of undefined
* Add jest-fetch-mock for mocking global.fetch, activate for all test cases in jest.setup.ts
* Add basic tests for <DeploymentScaleDialog /> to ensure it initialises/renders without errors
* Add +/- button for changing desired replicas, and its test cases
* Adjust the styles of +/- buttons container to make sure it aligns with the slider
* Refactor after rebase from master
* Use var defined in vars.scss
* Add flex align-center to slider-container and remove margin-top: -4px
* Use <Icon /> to replace <i/>
* Add flex gaps to plus-minus-container
Signed-off-by: Hung-Han (Henry) Chen <1474479+chenhunghan@users.noreply.github.com>
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <smalton@mirantis.com>
Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>