Overview
The extension and source code are now available
After having some discussions at Global Summit and using a lot of package managers in my day to day development (npm,nuget,Chocolatey, etc) in addition to recently using the InterSystems Package Manager for some CICD process I'm building using Intersystems IRIS and IRIS 4 Health, I wanted an easy and integrated way to search/view/install packages related to the Intersystems tech stack.
I recently built a VSCode extension for IPM repositories that I will be open sourcing and publishing to the marketplace but wanted create this post to get some feedback from the community.
Download Information
You can download the extension within VSCode or at https://marketplace.visualstudio.com/items?itemName=extensionsbyjohn.ipm.... Just search for ipm.explorer
Github respository
Click here for the github repository
Video
https://www.youtube.com/embed/MutZ0PhBrw8
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
Initial Screen
Some features in the extension:
- VSCode setting for defining multiple repositories
- Activity Bar Icon/Explorer View
- List of packages in custom view
- List/Open github repository configured in package
- Details for package in a custom view
- Copy ZPM install command for use in IRIS terminal
Setup/Settings:
When you first start the extension, you will need to configure it. You can do this by accessing the settings.json file and adding something like the following.
"ipm.repositories": [
{
"name":"Public IPM",
"url":"https://pm.community.intersystems.com"
},
{
"name":"Internal Packages",
"url":"https://[insert private repo here]"
},
{
"name":"Test Packages",
"url":"https://[insert private repo here]"
}
]
JSONJSON
Screenshots:
Ideas/Future
After building this and working with the API, I'd like to propose a couple updates that potentially could be added to the manifest/API for packages to make integrations like this a little easier
- License field: (This will let the users know if the package license is compatable with their usage)
- Logo: encoded image for the package. Allow the developer of the package to specify an image
- Readme: Allow the developer of the package to include a readme markdown file in the package. This can then be displayed in the details section of the extension.
- Author: Include the author of the package (can be displayed the details view)
- Verified: Allow for an author to be verified. For example Intersystems could be a verified author
Open Source:
Click here for the github repository
Comments/Suggestions
Let me know what you think or if you have suggestions let me know. Would you be interested in using this?