Skip to content

microsoft/vscode-vsce

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

* spelling: extension

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: github

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: gitlab

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: overridden

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: statistics

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
8c1b1a0

Git stats

Files

Permalink
Failed to load latest commit information.

vsce

The Visual Studio Code Extension Manager

ci Version Conventional Commits

Requirements

Or simply Docker.

Linux

In order to save credentials safely, this project uses keytar which uses libsecret, which you may need to install before publishing extensions. Setting the VSCE_STORE=file environment variable will revert back to the file credential store. Using the VSCE_PAT environment variable will also avoid using keytar.

Depending on your distribution, you will need to run the following command:

  • Debian/Ubuntu: sudo apt-get install libsecret-1-dev
  • Alpine: apk add libsecret
  • Red Hat-based: sudo yum install libsecret-devel
  • Arch Linux: sudo pacman -S libsecret

Usage

Install vsce globally:

npm install --global vsce

Verify the installation:

vsce --version

vsce is meant to be mainly used as a command line tool. It can also be used a library since it exposes a small API. When using vsce as a library be sure to sanitize any user input used in API calls, as a security measurement.

Usage via Docker

You can also build a container for running vsce:

$ DOCKER_BUILDKIT=1 docker build --tag vsce "https://github.com/microsoft/vscode-vsce.git#main"

Validate the container:

docker run --rm -it vsce --version

Publish your local extension:

docker run --rm -it -v "$(pwd)":/workspace vsce publish

Configuration

You can configure the behavior of vsce by using CLI flags (run vsce --help to list them all). Example:

vsce publish --baseImagesUrl https://my.custom/base/images/url

Or you can also set them in the package.json, so that you avoid having to retype the common options again. Example:

// package.json
{
  "vsce": {
    "baseImagesUrl": "https://my.custom/base/images/url"
    "dependencies": true,
    "yarn": false
  }
}

Development

First clone this repository, then:

$ npm install

$ npm run watch:build # or `watch:test` to also build tests

Once the watcher is up and running, you can run out of sources with:

node vsce

This project uses semantic-release and commit messages must follow the Conventional Commits spec. This allows us to effortlessly automate releases.

About

This tool assists in packaging and publishing Visual Studio Code extensions.

Read the Documentation on the VS Code website.