semantic-release-vsce

Semantic release plugin for Visual Stuio Code extensions
Add config to package.json
Use semantic-release-vsce
as part of verifyConditions
and publish
.
For getLastRelease
you should use @semantic-release/git
(instead of the default npm implementation).
{
"scripts": {
"semantic-release": "semantic-release"
},
"release": {
"verifyConditions": ["semantic-release-vsce", "@semantic-release/github"],
"getLastRelease": "@semantic-release/git",
"publish": [
{
"path": "semantic-release-vsce",
"packageVsix": "your-extension.vsix"
},
{
"path": "@semantic-release/github",
"assets": "your-extension.vsix"
}
]
},
"devDependencies": {
"@semantic-release/git": "^2.0.0",
"semantic-release": "^12.0.0",
"semantic-release-vsce": "^2.0.0",
}
}
If packageVsix
is set, will also generate a .vsix file at the set file path after publishing.
It is recommended to upload this to your GitHub release page so your users can easily rollback to an earlier version if a version ever introduces a bad bug.
Travis example
Secret environment variables: VSCE_TOKEN
Example:
cache:
directories:
- ~/.npm
script:
- npm test
stages:
- test
- name: release
if: branch = master AND type = push AND fork = false
jobs:
include:
- stage: release
language: node_js
node_js: '8'
script: npm run semantic-release