Ask questionsDocument publishing foam-vscode
This message is copied from a private channel in Discord (if you have access, you can view here).
As for publishing, you can use lerna to publish all packages in lockstep.
First bump the package version by running this in the monorepo root:
yarn lerna version <major|minor|patch>
That will bump the version numbers of all packages, and their internal references, so for example foam-vscode will point to the new version of foam-core etc.
It will also push a tag to github. If you want to dry run this locally without pushing, you can run
yarn lerna version minor --no-git-tag-version --no-push
When you're ready to publish, you can do:
yarn lerna publish
Once the npm packages are published, you can package up the vscode extension with the following command in the
foam-vscode
directory:yarn package-extension
The
vsce
tool does not understand yarn monorepos, so what this will do is usenpm
to install the package, which requires thefoam-core
dependency to have already been published to npm. I know this is ass backwards, since if you discover that something is wrong in the packaged extension, you'll need to fix whatever issue there is and then republish the packages to npm, which will again bump the version number and cause potentially dead versions in the registry. If you want to avoid that, you can first create an alpha version with creating a prerelease version, e.g.0.4.1-alpha.0
, with:yarn lerna publish <premajor|preminor|prepatch|prerelease>
Anyway, once you've gotten a nicely packaged vsix file, you can install and test it locally:
code --install-extension foam-vscode-0.4.1.vsix
If everything is fine, you can then publish the vsix file to marketplace:
vsce publish --packagePath foam-vscode-0.4.1.vsix
That should probably be documented, and the process could be improved, but that's what it is now :man_shrugging:
Two things I wanted to note here:
Answer
questions
jsjoeio
I can help with this if you want @riccardoferretti - feel free to assign to me after sharing your notes!
Related questions