All Projects → felipecrs → semantic-release-vsce

felipecrs / semantic-release-vsce

Licence: MIT License
semantic-release plugin to package and publish VS Code extensions

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to semantic-release-vsce

gitlab-config
🦊 Semantic-release shareable config for GitLab
Stars: ✭ 36 (+50%)
Mutual labels:  semantic-release
sv4git
Semantic version and conventional commits for git
Stars: ✭ 33 (+37.5%)
Mutual labels:  semantic-release
vscode-save-and-run
Visual Studio Code extension to run commands whenever a file is saved https://marketplace.visualstudio.com/items?itemName=wk-j.save-and-run
Stars: ✭ 31 (+29.17%)
Mutual labels:  vscode
typescript-npm-package-template
Boilerplate to kickstart creating an npm package using TypeScript
Stars: ✭ 122 (+408.33%)
Mutual labels:  semantic-release
cra-template-unicorn
🦄 The full template of create-react-app with typescript, redux-toolkit, react-redux, react-router for Single Page Application!
Stars: ✭ 56 (+133.33%)
Mutual labels:  semantic-release
lerna-semantic-release
📦:🛠✨💥 – fully automated package publishing
Stars: ✭ 651 (+2612.5%)
Mutual labels:  semantic-release
semantic-release-slack-bot
📦 🚀 A slack bot for semantic-release notifying release statuses
Stars: ✭ 92 (+283.33%)
Mutual labels:  semantic-release
vscode-requirejs
Provides goto definition functionality for require js modules.
Stars: ✭ 20 (-16.67%)
Mutual labels:  vscode
go-semantic-release
automatic release
Stars: ✭ 34 (+41.67%)
Mutual labels:  semantic-release
vscode-leetcode-cpp-debug
Debug support for LeetCode with C++
Stars: ✭ 14 (-41.67%)
Mutual labels:  vscode
generator-bunny
🐰 Jumpstart node module, like a bunny!
Stars: ✭ 13 (-45.83%)
Mutual labels:  semantic-release
simple-commit-message
Simple commit message wizard and validator; works with commitizen and pre-git
Stars: ✭ 21 (-12.5%)
Mutual labels:  semantic-release
vscode-less
🔌 Less intellisense for Variables and Mixins in all Less files.
Stars: ✭ 21 (-12.5%)
Mutual labels:  vscode
semantic-release
📦🚀 Fully automated version management and package publishing
Stars: ✭ 29 (+20.83%)
Mutual labels:  semantic-release
vscode-note
a simple note-taking extension for vscode.
Stars: ✭ 29 (+20.83%)
Mutual labels:  vscode
github-post-release
Forms release changelog and posts a note to each referenced issues after semantic release publishes a new module version
Stars: ✭ 18 (-25%)
Mutual labels:  semantic-release
ci-publish
Poor man's semantic release utility. Let the CI do the `npm publish` step after the build passes
Stars: ✭ 30 (+25%)
Mutual labels:  semantic-release
awesome-devcontainers
A curated list of awesome tools and resources about dev containers for common programming languages and technology stacks to boost your developer productivity 🚀
Stars: ✭ 165 (+587.5%)
Mutual labels:  vscode
vscode-clangd
Visual Studio Code extension for clangd
Stars: ✭ 248 (+933.33%)
Mutual labels:  vscode
vscode-snazzy-theme
🎨 VS Code theme based on hyper-snazzy with bright colors
Stars: ✭ 16 (-33.33%)
Mutual labels:  vscode

semantic-release-vsce

semantic-release plugin to package and publish VS Code extensions.

npm downloads ci dependencies peerDependencies semantic-release

Add config to package.json

Use semantic-release-vsce as part of verifyConditions and publish.

{
  "scripts": {
    "semantic-release": "semantic-release"
  },
  "release": {
    "verifyConditions": [
      "semantic-release-vsce",
      "@semantic-release/github"
    ],
    "prepare": {
      "path": "semantic-release-vsce",
      "packageVsix": true
    },
    "publish": [
      "semantic-release-vsce",
      {
        "path": "@semantic-release/github",
        "assets": "*.vsix"
      }
    ]
  },
  "devDependencies": {
    "semantic-release": "^17.0.0",
    "semantic-release-vsce": "^2.1.0",
  }
}

If packageVsix is set, will also generate a .vsix file at the set file path after publishing. If is a string, it will be used as value for --out of vsce package. 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.

Publishing to OpenVSX

Publishing extensions to OpenVSX using this plugin is easy:

  1. Get a valid personal access token with the correct privileges to the publisher namespace in OpenVSX. In order to get the personal access token, check this page.

  2. Configure the OVSX_PAT environment variable in your CI with the token that you created.

  3. Enjoy! The plugin will automatically detect the environment variable and it will publish to OpenVSX, no additional configuration is needed.

Working with older versions

This example is for semantic-release v15.
Prior to v15, prepare was part of publish - if you are using v14, you must pass the packageVsix option to publish instead.
Prior to v13, you had to override getLastRelease to use @semantic-release/git instead of the default @semantic-release/npm. This is no longer needed.

Travis example

Secret environment variables: VSCE_PAT

Example:

# .travis.yml

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: '10.18'
      script: npm run semantic-release
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].