"dependencies" are going to be added in the app.asar, which means that e.g. "electron" gets added.
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* fix: Dispose the kubeconfig watcher when application quits
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* fix: Dispose the extension watcher when application quits
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
---------
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce feature for assigning keyboard shortcuts
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Enable keyboard shortcuts automatically instead of requiring explicit listener to be used in the application
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Start using keyboard shortcuts feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update package-lock after rebase
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak scripts for a package
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce modifier for ctrl or command based on platform in use
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
---------
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix webpack config for react
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce package for discovering html elements in unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using discovery of html elements from package
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for starting react application inside the Feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Move stuff in application start to earlier timeslot having no real need to be done so late
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using react application root feature being more friendly to extending
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using more familiar pattern of higher order components for wrapping react application
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Adapt to more familiar pattern for higher order components
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Rename feature for clarity
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
---------
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add custom jest resolver to fix requiring "uuid" module
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update dependencies
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce test utils for rendering and running with thrown mobx reactions
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract startable-stoppable to NPM package
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract messaging to NPM package
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using startable-stoppable from NPM package
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using messaging from the Feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove old implementation of messaging
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make setupping app paths happen earlier in renderer
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix typo
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add kludge to make testing-library work properly from test-utils package
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix code style
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add lint:fix -root script
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix unrelated failing unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Turn of no-floating-promises from typescript linting for being broken
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make linting not happen for dist -directories
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make linting failures appear as failure
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Stop running prettier twice
It already gets ran as eslint-plugin.
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make CI run unit tests for all packages by consolidating name of NPM script
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add missing unit tests for coverage
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Skip coverage for test utils
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove check for coverage in packages which are not ready for it
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Stop collecting coverage from index.ts files them being indirections to the implementation
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Implement sending message to channel in main
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add missing feature dependencies
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add dummy implementations for requesting in main from renderer
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Re-enable communicating from main to cluster frames
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Ignore trivial files from coverage
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update package-lock
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract message-bridge to separate NPM package to prevent dev dependencies being in the production bundle
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract computed channel to own NPM package for clear dependencies
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate electron related stuff to a directory
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add missing publish configurations
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Ignore test implementation from coverage being not interesting
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
---------
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce an agnostic way to start application is the Feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce directory for application-packages
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove non agnostic timeslots from agnostic application
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce empty package for electron main specific stuff for Application Feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce electron-main specific timeslots
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update injectable version
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update README
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak export names to make them easier to import
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make starting of application synchronous for Electron main
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak versions in package jsons
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate name of feature file
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
---------
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
The cause for this was unknown, and was fixed by using "fork-ts-checker-webpack-plugin" instead of
"ts-loader".
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Iku-turso <mikko.aspiala@gmail.com>
* Add missing dev script
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Inline all shared scripts to make them work in all environments
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using deterministic fake for path.join in unit test
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make multi export config for webpack not fail when used in windows
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
---------
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce dummy package for application
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce application information token in application Feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using applicationInformationToken from application feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
---------
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add package for shared webpack configurations for Lens applications, Features and libraries
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove duplication from gitignores
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
---------
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add package for shared jest configurations for Lens applications, Features and libraries.
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add root level script for running unit tests in monorepo mindset
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Ignore coverage files from VCS
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
---------
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update injectable to make withInjectables have authentic React reconciliation
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make some dock tabs have primitive props to have them React reconcile properly
Currently tab objects that are stored in a storage change reference on every change of dock height, making them less usable as React prop for causing involuntary remounting.
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Replace static application window with ability to create as many as you wish
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Adapt tests for replacing static application window with ability to create as many as you wish and separate starting of main and window in behaviours
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make first render of application smaller in test that proves to be hard for CI
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Prevent opening of application if no new updates were downloaded when checking for updates using tray when application window is closed
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix getting initial value of sync box
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak naming of variable
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make tests for kube object status icon more realistic
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Start resolving kube object status texts on each re-render to mimic reactivity
Note: This is done due the current implementation exposed in Extension API expects it to work so. However, this is bad.
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using existing implementation for isDefined
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make sure release details are updates when opening details
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Relax filtering of resources to prevent crashing when release has installed resources in another namespace
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add Open Closed Principle compliant way to introduce global overrides without modification in getDiForUnitTesting
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Rework helm release details to fix multiple bugs
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant optional chaining
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Relax validator for installing charts
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak spacing between words in confirmation dialog
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add mocks for monaco editor and virtualized auto sizer to allow components to be rendered in unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Improve typing for a function
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove usage of shared global state from a component
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Provide a way to unit test usages of storages
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add way to get current value from select in behavioural unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Rework installation of helm charts to get rid of the majority of bugs
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update snapshots
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove technical test for being covered in behaviours
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Split behaviour to smaller pieces
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add tests accidentally removed back
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Mark functions causing side effects
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove behaviour covered by other behaviours
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak naming
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove unused dependency
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for cluster pages
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for kube object details
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Expose reactive way to hide kube object detail items in Extension API
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Expose reactive way to hide kube object menu items in Extension API
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Expose reactive way to hide kube object status items in Extension API
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Expose reactive way to hide workload overview detail items in Extension API
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Expose reactive way to disable pages in Extension API
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Expose a way to access active cluster from Extension API
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Deprecate "isEnabledForCluster" in favor of individual enabled or visible properties for each registration
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for cluster pages
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce kludge to make "isEnabledForCluster" work again for cluster page menus PART 2 (#5801)
* Kludge "isEnabledForCluster" work again for cluster page menus (sidebar items)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce kludge to make "isEnabledForCluster" work again for kube object status texts PART 3 (#5802)
* Kludge "isEnabledForCluster" work again for kube object status texts
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for kube object menu items (#5803)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce kludge to make "isEnabledForCluster" work again for workload overview details PART 5 (#5804)
* Kludge "isEnabledForCluster" work again for cluster page menus (sidebar items)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for kube object status texts
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for kube object menu items
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for workload overview details
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for kube object details (#5805)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove the auto-update status bar item for not being needed anymore
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make adding of new tray icons easier by complying to Open Closed Principle
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Start showing different tray icon when checking for updates
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Include placeholder icon for checking for updates
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add first keyframe for downloading spinner
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
* Make root frame child components comply with open closed principle and include it in the behavioural unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make cluster frame child components comply with open closed principle and include it in behavioural unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove duplication
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify test
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make a component more determistic in unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Mock uninterested, non-deterministic third party library in unit tests
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Optimize registration of injectables in unit tests to make tests faster
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update snapshots
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove import time side-effect causing memory leak
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce helper for advancing fake time
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce reactive now to kludge around global shared state in library
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Replace all usages of "now" from mobx-utils with our own kludge to get rid of shared global state between unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate all usages of advanceTimersByTime to make sure things happening based on timers are run correctly
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix incorrect expect in test
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Enable skipped unit test since prerequisites are done
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Re-export types for notifications store to revert accidental breaking change
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak exports for notifications to provide same API contract
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reorganize stuff to prevent circular dependencies
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Install injectable extension to allow injecting reactively many implementations
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using computedInjectMany over filtering injectMany based on enabled extensions for simplicity
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove await for not being needed
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Sort dependencies alphabetically
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make unit tests for tray behave correctly when item is disabled
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make multiple separators in tray originating from same extension not throw up
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>