Overview
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.
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:
I will open sourcing this extension on my github page after running a few more tests.
Comments/Suggestions
Let me know what you think or if you have suggestions let me know. Would you be interested in using this?
Sounds very promising and a big time saver!
Very cool, @John McBride ! I think VSCode should have IPM extension.
There is another helpful app I'm using for similar purposes which IMO has a better UI - ZPM-Explorer by @Henrique Dias and @José Pereira . Maybe you could borrow some functionality.
Looks interesting, but that project still needs to be installed on the iris system. IMO I was something that is independent of the IRIS platform and is tightly integrated into a development environment. Which is why I built it into VSCode. I don't want to have to install and entire app on infrastructure to make it work.
If that solution works for you workflow, its a great option as well
Just my .02
nice extension app
Another approach to this is the extension I wrote about here.