1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/docs/extensions/extension-migration.md
Jim Ehrismann da8017a0ee beefed up migration details
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
2021-06-17 08:43:20 -04:00

1.8 KiB

Lens v4 to v5 Extension Migration Notes

  • Lens v5 inspects the version of the extension to ensure it is compatible. The package.json for your extension must have an "engines" field specifying the lens version that your extension is targeted for, e.g:
	"engines": {
		"lens": "^5.0.0-beta.7"
	},
  • Types and components have been reorganized, many have been grouped by process (Main and Renderer) plus those not specific to a process (Common). For example the LensMainExtension class is now referred to by Main.LensExtension. See the API Refernce for the new organization.
  • The globalPageMenus field of the Renderer extension class (now Renderer.LensExtension) is removed. Global pages can still be made accessible via the application menus and the status bar, as well as from the newly added Welcome menu.
  • The clusterFeatures field of the Renderer extension class (now Renderer.LensExtension) is removed. Cluster features can still be implemented but Lens no longer dictates how the feature's lifecycle (install/upgrade/uninstall) is managed. Renderer.K8sApi.ResourceStack provides the functionality to input and apply kubernetes resources to a cluster. It is up to the extension developer to manage the lifecycle (i.e. done automatically by the extension or allow the end-user to control via a Renderer.LensExtension.entitySettings entry).
  • Lens v5 now relies on mobx 6 for state management. Extensions that use mobx will need to be modified to work with mobx 6. See Migrating from Mobx 4/5 for specific details.

For an example of an existing extension that is compatible with Lens v5 see the Lens Resource Map Extension