Article
· Jul 10 2m read

VSCode extension for IPM (Intersystems Package Manager)

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]"
        }
    ]

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?

Discussion (3)4
Log in or sign up to continue

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