diff --git a/.commitlintrc.yml b/.commitlintrc.yml index 9d61732..a9c9a50 100644 --- a/.commitlintrc.yml +++ b/.commitlintrc.yml @@ -7,20 +7,20 @@ extends: rules: # Type enum - allowed commit types type-enum: - - 2 # Level: error + - 2 # Level: error - always - # Allowed types: - - feat # New feature - - fix # Bug fix - - docs # Documentation only changes - - style # Code style changes (formatting, missing semi-colons, etc) - - refactor # Code refactoring (neither fixes a bug nor adds a feature) - - perf # Performance improvements - - test # Adding or updating tests - - build # Changes to build system or dependencies - - ci # CI/CD configuration changes - - chore # Other changes that don't modify src or test files - - revert # Revert a previous commit + - feat # New feature + - fix # Bug fix + - docs # Documentation only changes + - style # Code style changes (formatting, missing semi-colons, etc) + - refactor # Code refactoring (neither fixes a bug nor adds a feature) + - perf # Performance improvements + - test # Adding or updating tests + - build # Changes to build system or dependencies + - ci # CI/CD configuration changes + - chore # Other changes that don't modify src or test files + - revert # Revert a previous commit # Type case should be lowercase type-case: @@ -62,17 +62,17 @@ rules: # Body should have a blank line before it body-leading-blank: - - 1 # Warning level + - 1 # Warning level - always # Footer should have a blank line before it footer-leading-blank: - - 1 # Warning level + - 1 # Warning level - always # Body max line length body-max-line-length: - - 1 # Warning level + - 1 # Warning level - always - 100 diff --git a/.github/workflows/commit-lint.yml b/.github/workflows/commit-lint.yml index e765427..621f9e9 100644 --- a/.github/workflows/commit-lint.yml +++ b/.github/workflows/commit-lint.yml @@ -39,7 +39,7 @@ jobs: - name: Checkout code uses: actions/checkout@v4 with: - fetch-depth: 0 # Fetch all history for all branches and tags + fetch-depth: 0 # Fetch all history for all branches and tags - name: Setup Node.js uses: actions/setup-node@v4 diff --git a/.github/workflows/preview-changelog.yml b/.github/workflows/preview-changelog.yml index 91dac6e..abebae7 100644 --- a/.github/workflows/preview-changelog.yml +++ b/.github/workflows/preview-changelog.yml @@ -17,11 +17,11 @@ jobs: needs: generate steps: - - name: Display changelog preview - run: | - echo "==========================================" - echo "CHANGELOG PREVIEW" - echo "==========================================" - echo "" - echo "${{ needs.generate.outputs.changelog }}" - shell: bash + - name: Display changelog preview + run: | + echo "==========================================" + echo "CHANGELOG PREVIEW" + echo "==========================================" + echo "" + echo "${{ needs.generate.outputs.changelog }}" + shell: bash diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 10e23ae..e20a54e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -73,7 +73,8 @@ jobs: #github #githubactions #devops #automation embed_url: https://github.com/marketplace/actions/visual-studio-marketplace-publisher embed_title: Visual Studio Marketplace Publisher - embed_description: Publish your Visual Studio extensions to the marketplace with ease! + embed_description: + Publish your Visual Studio extensions to the marketplace with ease! secrets: BLUESKY_USERNAME: ${{ secrets.BLUESKY_USERNAME }} BLUESKY_APP_PASSWORD: ${{ secrets.BLUESKY_APP_PASSWORD }} @@ -93,7 +94,8 @@ jobs: #github #githubactions #devops #automation article_url: https://github.com/marketplace/actions/visual-studio-marketplace-publisher article_title: Visual Studio Marketplace Publisher - article_description: Publish your Visual Studio extensions to the marketplace with ease! + article_description: + Publish your Visual Studio extensions to the marketplace with ease! secrets: LINKEDIN_ACCESS_TOKEN: ${{ secrets.LINKEDIN_ACCESS_TOKEN }} LINKEDIN_CLIENT_ID: ${{ secrets.LINKEDIN_CLIENT_ID }} diff --git a/CLAUDE.md b/CLAUDE.md index f149288..7e1c866 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,20 +1,28 @@ # CLAUDE.md -This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. +This file provides guidance to Claude Code (claude.ai/code) when working with +code in this repository. ## Critical Rules **These rules override all other instructions:** -1. **NEVER commit directly to main** - Always create a feature branch and submit a pull request +1. **NEVER commit directly to main** - Always create a feature branch and submit + a pull request 2. **Conventional commits** - Format: `type(scope): description` -3. **GitHub Issues for TODOs** - Use `gh` CLI to manage issues, no local TODO files. Use conventional commit format for issue titles +3. **GitHub Issues for TODOs** - Use `gh` CLI to manage issues, no local TODO + files. Use conventional commit format for issue titles 4. **Pull Request titles** - Use conventional commit format (same as commits) -5. **Branch naming** - Use format: `type/scope/short-description` (e.g., `feat/action/new-input`) +5. **Branch naming** - Use format: `type/scope/short-description` (e.g., + `feat/action/new-input`) 6. **Working an issue** - Always create a new branch from an updated main branch -7. **Check branch status before pushing** - Verify the remote tracking branch still exists. If a PR was merged/deleted, create a new branch from main instead -8. **No co-authors** - Do not add co-author information on commits or pull requests -9. **No "generated by" statements** - Do not add generated-by statements on pull requests +7. **Check branch status before pushing** - Verify the remote tracking branch + still exists. If a PR was merged/deleted, create a new branch from main + instead +8. **No co-authors** - Do not add co-author information on commits or pull + requests +9. **No "generated by" statements** - Do not add generated-by statements on pull + requests --- @@ -29,22 +37,23 @@ gh issue close ### Conventional Commit Types -| Type | Description | -|------|-------------| -| `feat` | New feature | -| `fix` | Bug fix | -| `docs` | Documentation only | +| Type | Description | +| ---------- | ------------------------------------------------------- | +| `feat` | New feature | +| `fix` | Bug fix | +| `docs` | Documentation only | | `refactor` | Code change that neither fixes a bug nor adds a feature | -| `test` | Adding or updating tests | -| `chore` | Maintenance tasks | -| `perf` | Performance improvement | -| `ci` | CI/CD changes | +| `test` | Adding or updating tests | +| `chore` | Maintenance tasks | +| `perf` | Performance improvement | +| `ci` | CI/CD changes | --- ## Project Overview -GitHub Action to publish Visual Studio extensions to the Visual Studio Marketplace. This action only runs on Windows-based runners. +GitHub Action to publish Visual Studio extensions to the Visual Studio +Marketplace. This action only runs on Windows-based runners. ## Commands @@ -70,12 +79,14 @@ npm run bundle # Format + package This is a single-file TypeScript GitHub Action: - `src/index.ts` - The entire action logic: + 1. Validates Windows platform requirement 2. Resolves paths for publish manifest and VSIX file 3. Locates Visual Studio installation via `vswhere.exe` 4. Runs `VsixPublisher.exe` to publish the extension -- `action.yml` - Action metadata defining inputs (`marketplace-pat`, `publish-manifest-path`, `vsix-path`, `vs-version`, `vs-prerelease`) +- `action.yml` - Action metadata defining inputs (`marketplace-pat`, + `publish-manifest-path`, `vsix-path`, `vs-version`, `vs-prerelease`) - `dist/index.js` - Bundled output (committed, built with `@vercel/ncc`) - `__tests__/index.test.ts` - Jest tests diff --git a/README.md b/README.md index c159b84..f621f8b 100644 --- a/README.md +++ b/README.md @@ -6,23 +6,25 @@ 📦 Publish your Visual Studio extensions to the marketplace with ease! -This GitHub Action publishes your Visual Studio extension (.vsix) to the Visual Studio Marketplace. +This GitHub Action publishes your Visual Studio extension (.vsix) to the Visual +Studio Marketplace. ## 🚀 Usage -You can use the Visual Studio Marketplace Publisher GitHub Action by configuring a YAML-based workflow file, e.g. `.github/workflows/deploy.yml`. +You can use the Visual Studio Marketplace Publisher GitHub Action by configuring +a YAML-based workflow file, e.g. `.github/workflows/deploy.yml`. > ⚠️ **Note:** This action only works on a Windows-based runner. ## 📥 Inputs -| Input | Required | Description | -|-------|----------|-------------| -| `marketplace-pat` | Yes | Your Personal Access Token for the Visual Studio Marketplace | -| `publish-manifest-path` | Yes | Path to your publish manifest (JSON file) | -| `vsix-path` | Yes | Path to the local VSIX package to publish | -| `vs-version` | No | Version of Visual Studio tooling to use (default: `latest`) | -| `vs-prerelease` | No | Allow pre-release Visual Studio tooling (default: `false`) | +| Input | Required | Description | +| ----------------------- | -------- | ------------------------------------------------------------ | +| `marketplace-pat` | Yes | Your Personal Access Token for the Visual Studio Marketplace | +| `publish-manifest-path` | Yes | Path to your publish manifest (JSON file) | +| `vsix-path` | Yes | Path to the local VSIX package to publish | +| `vs-version` | No | Version of Visual Studio tooling to use (default: `latest`) | +| `vs-prerelease` | No | Allow pre-release Visual Studio tooling (default: `false`) | ## 📋 Example @@ -49,7 +51,9 @@ steps: ## 👥 Contributors -[![CalvinAllen](https://avatars.githubusercontent.com/u/41448698?v=4&s=64)](https://github.com/CalvinAllen) + +[![CalvinAllen](https://avatars.githubusercontent.com/u/41448698?v=4&s=64)](https://github.com/CalvinAllen) + ## 📄 License