├── .git2gus └── config.json ├── .github └── workflows │ ├── install.yml │ ├── monitoring.yml │ ├── notify-slack-on-pr-open.yml │ └── report.yml ├── .gitignore ├── .prettierignore ├── .vscode └── launch.json ├── CODEOWNERS ├── README.md ├── SECURITY.md ├── generateReadme.js └── repositories.json /.git2gus/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "productTag": "a1aB00000004Bx8IAE", 3 | "defaultBuild": "offcore.tooling.52" 4 | } -------------------------------------------------------------------------------- /.github/workflows/install.yml: -------------------------------------------------------------------------------- 1 | on: 2 | workflow_call: 3 | inputs: 4 | method: 5 | description: installation method ['tarball', 'npm', 'installer'] 6 | type: string 7 | required: true 8 | cli: 9 | description: cli to test ['sf'] 10 | type: string 11 | required: true 12 | channel: 13 | description: channel to test ['stable', 'stable-rc'] 14 | type: string 15 | default: stable 16 | required: false 17 | runs-on: 18 | description: runner name/label 19 | type: string 20 | required: true 21 | base: 22 | required: false 23 | type: string 24 | description: platform-cli (do not change) 25 | default: platform-cli 26 | 27 | jobs: 28 | install: 29 | env: 30 | AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}} 31 | AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}} 32 | outputs: 33 | metricName: count#${{inputs.base}}.${{ inputs.cli }}.${{ inputs.channel }}.${{ inputs.method }}.${{ steps.lowercaseOS.outputs.lowercase }}.success 34 | metricValue: ${{ steps.posix.outputs.metricValue || steps.windows.outputs.metricValue }} 35 | 36 | runs-on: ${{ inputs.runs-on }} 37 | steps: 38 | - uses: actions/checkout@v4 39 | - uses: actions/setup-node@v4 40 | with: 41 | node-version: lts/* 42 | - uses: salesforcecli/github-workflows/.github/actions/retry@main 43 | with: 44 | timeout_minutes: 60 45 | retry_wait_seconds: 60 46 | max_attempts: 5 47 | command: npm install -g @salesforce/plugin-release-management@latest 48 | - id: lowercaseOS 49 | uses: ASzc/change-string-case-action@0bb41b609de8e18205c8c2c586c9b23553f2c08e 50 | with: 51 | string: ${{ runner.os }} 52 | 53 | - run: sf-release cli:install:test --cli ${{ inputs.cli}} --method ${{ inputs.method }} --channel ${{ inputs.channel }} 54 | continue-on-error: true 55 | 56 | - if: steps.lowercaseOS.outputs.lowercase != 'windows' 57 | id: posix 58 | run: | 59 | echo "status is $(jq .status test-results.json)" 60 | status_num=$(jq .status test-results.json) 61 | [[ $status_num = 0 ]] && status="Passed" || status="Failed" 62 | echo "{metricValue}={$status}" >> $GITHUB_OUTPUT 63 | continue-on-error: true 64 | 65 | - if: steps.lowercaseOS.outputs.lowercase == 'windows' 66 | id: windows 67 | run: | 68 | $result = Get-Content 'test-results.json' | Out-String | ConvertFrom-Json 69 | $status = if ($result.status -eq 0) { "Passed" } else { "Failed" } 70 | echo "{metricValue}={$status}" >> $GITHUB_OUTPUT 71 | echo "status is $status" 72 | shell: pwsh 73 | continue-on-error: true 74 | 75 | report: 76 | needs: [install] 77 | uses: ./.github/workflows/report.yml 78 | with: 79 | metricName: ${{ needs.install.outputs.metricName }} 80 | metricValue: ${{ needs.install.outputs.metricValue }} 81 | secrets: inherit 82 | -------------------------------------------------------------------------------- /.github/workflows/monitoring.yml: -------------------------------------------------------------------------------- 1 | on: 2 | push: 3 | branches: 4 | - sm/gha 5 | workflow_dispatch: 6 | schedule: 7 | # every hour 8 | - cron: 50 4 * * * 9 | jobs: 10 | check: 11 | strategy: 12 | matrix: 13 | runs-on: [ubuntu-latest, windows-latest, macos-latest] 14 | cli: [sf] 15 | method: [tarball, npm, installer] 16 | channel: [stable, stable-rc] 17 | exclude: 18 | - runs-on: ubuntu-latest 19 | method: installer 20 | fail-fast: false 21 | uses: ./.github/workflows/install.yml 22 | with: 23 | method: ${{ matrix.method }} 24 | cli: ${{ matrix.cli }} 25 | channel: ${{ matrix.channel }} 26 | runs-on: ${{ matrix.runs-on }} 27 | secrets: inherit 28 | 29 | slack: 30 | needs: [check] 31 | if: always() && needs.check.result == 'failure' 32 | runs-on: ubuntu-latest 33 | steps: 34 | - uses: slackapi/slack-github-action@v1.26.0 35 | env: 36 | SLACK_WEBHOOK_URL: ${{ secrets.CLI_ALERTS_SLACK_WEBHOOK }} 37 | SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK 38 | with: 39 | payload: | 40 | { 41 | "text": "A READS monitoring job failed. See https://github.com/salesforcecli/status/actions for more information" 42 | } 43 | -------------------------------------------------------------------------------- /.github/workflows/notify-slack-on-pr-open.yml: -------------------------------------------------------------------------------- 1 | name: Pull Request Slack Notification 2 | 3 | on: 4 | pull_request: 5 | types: [opened, reopened] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Notify Slack on PR open 12 | env: 13 | WEBHOOK_URL: ${{ secrets.CLI_TEAM_SLACK_WEBHOOK_URL }} 14 | PULL_REQUEST_AUTHOR_ICON_URL: ${{ github.event.pull_request.user.avatar_url }} 15 | PULL_REQUEST_AUTHOR_NAME: ${{ github.event.pull_request.user.login }} 16 | PULL_REQUEST_AUTHOR_PROFILE_URL: ${{ github.event.pull_request.user.html_url }} 17 | PULL_REQUEST_BASE_BRANCH_NAME: ${{ github.event.pull_request.base.ref }} 18 | PULL_REQUEST_COMPARE_BRANCH_NAME: ${{ github.event.pull_request.head.ref }} 19 | PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number }} 20 | PULL_REQUEST_REPO: ${{ github.event.pull_request.head.repo.name }} 21 | PULL_REQUEST_TITLE: ${{ github.event.pull_request.title }} 22 | PULL_REQUEST_URL: ${{ github.event.pull_request.html_url }} 23 | uses: salesforcecli/github-workflows/.github/actions/prNotification@main 24 | -------------------------------------------------------------------------------- /.github/workflows/report.yml: -------------------------------------------------------------------------------- 1 | on: 2 | workflow_call: 3 | inputs: 4 | metricName: 5 | required: true 6 | type: string 7 | metricValue: 8 | required: true 9 | type: string 10 | 11 | jobs: 12 | report: 13 | runs-on: ubuntu-latest 14 | env: 15 | L2MET_SHUTTLE_URL: ${{ secrets.L2MET_SHUTTLE_URL }} 16 | steps: 17 | - run: | 18 | git clone https://github.com/heroku/heroku-buildpack-l2met-shuttle.git 19 | heroku-buildpack-l2met-shuttle/bin/compile . 20 | - run: heroku-buildpack-l2met-shuttle/support/start-l2met-shuttle echo "${{ inputs.metricName }}=0" 21 | if: ${{inputs.metricValue == 'Failed'}} 22 | - run: heroku-buildpack-l2met-shuttle/support/start-l2met-shuttle echo "${{ inputs.metricName }}=1" 23 | if: ${{inputs.metricValue == 'Passed'}} 24 | 25 | - name: fail the job 26 | if: ${{inputs.metricValue == 'Failed'}} 27 | uses: actions/github-script@v7 28 | with: 29 | script: | 30 | core.setFailed('${{ inputs.metricName }}') 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # -- CLEAN 2 | tmp/ 3 | # use yarn by default, so ignore npm 4 | package-lock.json 5 | 6 | # never checkin npm config 7 | .npmrc 8 | 9 | # debug logs 10 | npm-error.log 11 | yarn-error.log 12 | lerna-debug.log 13 | 14 | # compile source 15 | lib 16 | 17 | # test artifacts 18 | *xunit.xml 19 | *checkstyle.xml 20 | *unitcoverage 21 | .nyc_output 22 | coverage 23 | 24 | # generated docs 25 | docs 26 | 27 | # ignore sfdx-trust files 28 | *.tgz 29 | *.sig 30 | package.json.bak. 31 | 32 | # -- CLEAN ALL 33 | node_modules 34 | 35 | # -- 36 | # put files here you don't want cleaned with sf-clean 37 | 38 | # os specific files 39 | .DS_Store 40 | .idea 41 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | README.md -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "node", 9 | "request": "launch", 10 | "name": "Launch Program", 11 | "skipFiles": [ 12 | "/**" 13 | ], 14 | "program": "${workspaceFolder}/generateReadme.js" 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Techical writers will be added as reviewers on markdown changes. 2 | *.md @salesforcecli/cli-docs 3 | 4 | # Comment line immediately above ownership line is reserved for related other information. Please be careful while editing. 5 | #ECCN:Open Source 5D002 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Salesforce CLI Status 2 | 3 | A collection of [repositories](./repositories.json) used by the Salesforce CLI to list and monitor releases and packages health. 4 | 5 | *Do not modify the following sections manually. Make any changes to [repositories.json](./repositories.json) then run `node generateReadme.js`.* 6 | 7 | 8 | 9 | | Repository | Type | Package | Released | 10 | |------------|:----:|---------|----------| 11 | | [forcedotcom/cli](https://github.com/forcedotcom/cli) | ![type](https://img.shields.io/badge/%20-issues-white) | | | 12 | | [salesforcecli/cli](https://github.com/salesforcecli/cli) | ![type](https://img.shields.io/badge/%20-aggregator-lightgrey) | [![NPM](https://img.shields.io/npm/v/@salesforce/cli.svg?label=@salesforce/cli)](https://www.npmjs.com/package/@salesforce/cli) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/cli?color=ffc16b&label=%20) | 13 | | [salesforcecli/plugin-agent](https://github.com/salesforcecli/plugin-agent) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-agent.svg?label=@salesforce/plugin-agent)](https://www.npmjs.com/package/@salesforce/plugin-agent) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-agent?color=ffc16b&label=%20) | 14 | | [salesforcecli/plugin-apex](https://github.com/salesforcecli/plugin-apex) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-apex.svg?label=@salesforce/plugin-apex)](https://www.npmjs.com/package/@salesforce/plugin-apex) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-apex?color=ffc16b&label=%20) | 15 | | [salesforcecli/plugin-api](https://github.com/salesforcecli/plugin-api) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-api.svg?label=@salesforce/plugin-api)](https://www.npmjs.com/package/@salesforce/plugin-api) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-api?color=ffc16b&label=%20) | 16 | | [salesforcecli/plugin-auth](https://github.com/salesforcecli/plugin-auth) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-auth.svg?label=@salesforce/plugin-auth)](https://www.npmjs.com/package/@salesforce/plugin-auth) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-auth?color=ffc16b&label=%20) | 17 | | [salesforcecli/plugin-community](https://github.com/salesforcecli/plugin-community) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-community.svg?label=@salesforce/plugin-community)](https://www.npmjs.com/package/@salesforce/plugin-community) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-community?color=ffc16b&label=%20) | 18 | | [salesforcecli/plugin-dev](https://github.com/salesforcecli/plugin-dev) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-dev.svg?label=@salesforce/plugin-dev)](https://www.npmjs.com/package/@salesforce/plugin-dev) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-dev?color=ffc16b&label=%20) | 19 | | [salesforcecli/plugin-devops-center](https://github.com/salesforcecli/plugin-devops-center) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-devops-center.svg?label=@salesforce/plugin-devops-center)](https://www.npmjs.com/package/@salesforce/plugin-devops-center) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-devops-center?color=ffc16b&label=%20) | 20 | | [salesforcecli/plugin-info](https://github.com/salesforcecli/plugin-info) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-info.svg?label=@salesforce/plugin-info)](https://www.npmjs.com/package/@salesforce/plugin-info) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-info?color=ffc16b&label=%20) | 21 | | [salesforcecli/plugin-custom-metadata](https://github.com/salesforcecli/plugin-custom-metadata) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-custom-metadata.svg?label=@salesforce/plugin-custom-metadata)](https://www.npmjs.com/package/@salesforce/plugin-custom-metadata) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-custom-metadata?color=ffc16b&label=%20) | 22 | | [salesforcecli/plugin-data](https://github.com/salesforcecli/plugin-data) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-data.svg?label=@salesforce/plugin-data)](https://www.npmjs.com/package/@salesforce/plugin-data) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-data?color=ffc16b&label=%20) | 23 | | [salesforcecli/plugin-deploy-retrieve](https://github.com/salesforcecli/plugin-deploy-retrieve) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-deploy-retrieve.svg?label=@salesforce/plugin-deploy-retrieve)](https://www.npmjs.com/package/@salesforce/plugin-deploy-retrieve) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-deploy-retrieve?color=ffc16b&label=%20) | 24 | | [salesforcecli/plugin-env](https://github.com/salesforcecli/plugin-env) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-env.svg?label=@salesforce/plugin-env)](https://www.npmjs.com/package/@salesforce/plugin-env) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-env?color=ffc16b&label=%20) | 25 | | [salesforcecli/plugin-functions](https://github.com/salesforcecli/plugin-functions) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-functions.svg?label=@salesforce/plugin-functions)](https://www.npmjs.com/package/@salesforce/plugin-functions) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-functions?color=ffc16b&label=%20) | 26 | | [salesforcecli/plugin-limits](https://github.com/salesforcecli/plugin-limits) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-limits.svg?label=@salesforce/plugin-limits)](https://www.npmjs.com/package/@salesforce/plugin-limits) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-limits?color=ffc16b&label=%20) | 27 | | [salesforcecli/plugin-marketplace](https://github.com/salesforcecli/plugin-marketplace) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-marketplace.svg?label=@salesforce/plugin-marketplace)](https://www.npmjs.com/package/@salesforce/plugin-marketplace) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-marketplace?color=ffc16b&label=%20) | 28 | | [salesforcecli/plugin-org](https://github.com/salesforcecli/plugin-org) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-org.svg?label=@salesforce/plugin-org)](https://www.npmjs.com/package/@salesforce/plugin-org) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-org?color=ffc16b&label=%20) | 29 | | [salesforcecli/plugin-packaging](https://github.com/salesforcecli/plugin-packaging) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-packaging.svg?label=@salesforce/plugin-packaging)](https://www.npmjs.com/package/@salesforce/plugin-packaging) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-packaging?color=ffc16b&label=%20) | 30 | | [salesforcecli/plugin-release-management](https://github.com/salesforcecli/plugin-release-management) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-release-management.svg?label=@salesforce/plugin-release-management)](https://www.npmjs.com/package/@salesforce/plugin-release-management) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-release-management?color=ffc16b&label=%20) | 31 | | [salesforcecli/plugin-schema](https://github.com/salesforcecli/plugin-schema) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-schema.svg?label=@salesforce/plugin-schema)](https://www.npmjs.com/package/@salesforce/plugin-schema) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-schema?color=ffc16b&label=%20) | 32 | | [salesforcecli/plugin-settings](https://github.com/salesforcecli/plugin-settings) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-settings.svg?label=@salesforce/plugin-settings)](https://www.npmjs.com/package/@salesforce/plugin-settings) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-settings?color=ffc16b&label=%20) | 33 | | [salesforcecli/plugin-signups](https://github.com/salesforcecli/plugin-signups) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-signups.svg?label=@salesforce/plugin-signups)](https://www.npmjs.com/package/@salesforce/plugin-signups) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-signups?color=ffc16b&label=%20) | 34 | | [salesforcecli/plugin-sobject](https://github.com/salesforcecli/plugin-sobject) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-sobject.svg?label=@salesforce/plugin-sobject)](https://www.npmjs.com/package/@salesforce/plugin-sobject) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-sobject?color=ffc16b&label=%20) | 35 | | [salesforcecli/plugin-telemetry](https://github.com/salesforcecli/plugin-telemetry) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-telemetry.svg?label=@salesforce/plugin-telemetry)](https://www.npmjs.com/package/@salesforce/plugin-telemetry) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-telemetry?color=ffc16b&label=%20) | 36 | | [salesforcecli/plugin-templates](https://github.com/salesforcecli/plugin-templates) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-templates.svg?label=@salesforce/plugin-templates)](https://www.npmjs.com/package/@salesforce/plugin-templates) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-templates?color=ffc16b&label=%20) | 37 | | [salesforcecli/plugin-trust](https://github.com/salesforcecli/plugin-trust) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-trust.svg?label=@salesforce/plugin-trust)](https://www.npmjs.com/package/@salesforce/plugin-trust) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-trust?color=ffc16b&label=%20) | 38 | | [salesforcecli/plugin-user](https://github.com/salesforcecli/plugin-user) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/plugin-user.svg?label=@salesforce/plugin-user)](https://www.npmjs.com/package/@salesforce/plugin-user) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/plugin-user?color=ffc16b&label=%20) | 39 | | [forcedotcom/sfdx-scanner](https://github.com/forcedotcom/sfdx-scanner) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/sfdx-scanner.svg?label=@salesforce/sfdx-scanner)](https://www.npmjs.com/package/@salesforce/sfdx-scanner) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/sfdx-scanner?color=ffc16b&label=%20) | 40 | | [forcedotcom/change-case-management](https://github.com/forcedotcom/change-case-management) | ![type](https://img.shields.io/badge/%20-plugin-blue) | [![NPM](https://img.shields.io/npm/v/@salesforce/change-case-management.svg?label=@salesforce/change-case-management)](https://www.npmjs.com/package/@salesforce/change-case-management) | | 41 | | [salesforcecli/cli-plugins-testkit](https://github.com/salesforcecli/cli-plugins-testkit) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/cli-plugins-testkit.svg?label=@salesforce/cli-plugins-testkit)](https://www.npmjs.com/package/@salesforce/cli-plugins-testkit) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/cli-plugins-testkit?color=ffc16b&label=%20) | 42 | | [salesforcecli/source-testkit](https://github.com/salesforcecli/source-testkit) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/source-testkit.svg?label=@salesforce/source-testkit)](https://www.npmjs.com/package/@salesforce/source-testkit) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/source-testkit?color=ffc16b&label=%20) | 43 | | [salesforcecli/sf-plugins-core](https://github.com/salesforcecli/sf-plugins-core) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/sf-plugins-core.svg?label=@salesforce/sf-plugins-core)](https://www.npmjs.com/package/@salesforce/sf-plugins-core) | ![GitHub Release Date](https://img.shields.io/github/release-date/salesforcecli/sf-plugins-core?color=ffc16b&label=%20) | 44 | | [forcedotcom/salesforcedx-apex](https://github.com/forcedotcom/salesforcedx-apex) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/apex-node.svg?label=@salesforce/apex-node)](https://www.npmjs.com/package/@salesforce/apex-node) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/salesforcedx-apex?color=ffc16b&label=%20) | 45 | | [forcedotcom/salesforcedx-templates](https://github.com/forcedotcom/salesforcedx-templates) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/templates.svg?label=@salesforce/templates)](https://www.npmjs.com/package/@salesforce/templates) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/salesforcedx-templates?color=ffc16b&label=%20) | 46 | | [forcedotcom/dev-scripts](https://github.com/forcedotcom/dev-scripts) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/dev-scripts.svg?label=@salesforce/dev-scripts)](https://www.npmjs.com/package/@salesforce/dev-scripts) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/dev-scripts?color=ffc16b&label=%20) | 47 | | [forcedotcom/agents](https://github.com/forcedotcom/agents) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/agents.svg?label=@salesforce/agents)](https://www.npmjs.com/package/@salesforce/agents) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/agents?color=ffc16b&label=%20) | 48 | | [forcedotcom/packaging](https://github.com/forcedotcom/packaging) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/packaging.svg?label=@salesforce/packaging)](https://www.npmjs.com/package/@salesforce/packaging) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/packaging?color=ffc16b&label=%20) | 49 | | [forcedotcom/kit](https://github.com/forcedotcom/kit) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/kit.svg?label=@salesforce/kit)](https://www.npmjs.com/package/@salesforce/kit) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/kit?color=ffc16b&label=%20) | 50 | | [forcedotcom/sfdx-core](https://github.com/forcedotcom/sfdx-core) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/core.svg?label=@salesforce/core)](https://www.npmjs.com/package/@salesforce/core) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/sfdx-core?color=ffc16b&label=%20) | 51 | | [forcedotcom/source-deploy-retrieve](https://github.com/forcedotcom/source-deploy-retrieve) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/source-deploy-retrieve.svg?label=@salesforce/source-deploy-retrieve)](https://www.npmjs.com/package/@salesforce/source-deploy-retrieve) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/source-deploy-retrieve?color=ffc16b&label=%20) | 52 | | [forcedotcom/source-tracking](https://github.com/forcedotcom/source-tracking) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/source-tracking.svg?label=@salesforce/source-tracking)](https://www.npmjs.com/package/@salesforce/source-tracking) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/source-tracking?color=ffc16b&label=%20) | 53 | | [forcedotcom/telemetry](https://github.com/forcedotcom/telemetry) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/telemetry.svg?label=@salesforce/telemetry)](https://www.npmjs.com/package/@salesforce/telemetry) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/telemetry?color=ffc16b&label=%20) | 54 | | [forcedotcom/ts-types](https://github.com/forcedotcom/ts-types) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/ts-types.svg?label=@salesforce/ts-types)](https://www.npmjs.com/package/@salesforce/ts-types) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/ts-types?color=ffc16b&label=%20) | 55 | | [forcedotcom/schemas](https://github.com/forcedotcom/schemas) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/schemas.svg?label=@salesforce/schemas)](https://www.npmjs.com/package/@salesforce/schemas) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/schemas?color=ffc16b&label=%20) | 56 | | [forcedotcom/ts-sinon](https://github.com/forcedotcom/ts-sinon) | ![type](https://img.shields.io/badge/%20-library-yellowgreen) | [![NPM](https://img.shields.io/npm/v/@salesforce/ts-sinon.svg?label=@salesforce/ts-sinon)](https://www.npmjs.com/package/@salesforce/ts-sinon) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/ts-sinon?color=ffc16b&label=%20) | 57 | | [salesforcecli/plugin-template-sf](https://github.com/salesforcecli/plugin-template-sf) | ![type](https://img.shields.io/badge/%20-template-purple) | | | 58 | | [salesforcecli/plugin-template-sf-external](https://github.com/salesforcecli/plugin-template-sf-external) | ![type](https://img.shields.io/badge/%20-template-purple) | | | 59 | | [forcedotcom/prettier-config](https://github.com/forcedotcom/prettier-config) | ![type](https://img.shields.io/badge/%20-config-lightblue) | [![NPM](https://img.shields.io/npm/v/@salesforce/prettier-config.svg?label=@salesforce/prettier-config)](https://www.npmjs.com/package/@salesforce/prettier-config) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/prettier-config?color=ffc16b&label=%20) | 60 | | [forcedotcom/eslint-config-salesforce](https://github.com/forcedotcom/eslint-config-salesforce) | ![type](https://img.shields.io/badge/%20-config-lightblue) | [![NPM](https://img.shields.io/npm/v/eslint-config-salesforce.svg?label=eslint-config-salesforce)](https://www.npmjs.com/package/eslint-config-salesforce) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/eslint-config-salesforce?color=ffc16b&label=%20) | 61 | | [forcedotcom/eslint-config-salesforce-license](https://github.com/forcedotcom/eslint-config-salesforce-license) | ![type](https://img.shields.io/badge/%20-config-lightblue) | [![NPM](https://img.shields.io/npm/v/eslint-config-salesforce-license.svg?label=eslint-config-salesforce-license)](https://www.npmjs.com/package/eslint-config-salesforce-license) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/eslint-config-salesforce-license?color=ffc16b&label=%20) | 62 | | [forcedotcom/dev-config](https://github.com/forcedotcom/dev-config) | ![type](https://img.shields.io/badge/%20-config-lightblue) | [![NPM](https://img.shields.io/npm/v/@salesforce/dev-config.svg?label=@salesforce/dev-config)](https://www.npmjs.com/package/@salesforce/dev-config) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/dev-config?color=ffc16b&label=%20) | 63 | | [forcedotcom/eslint-config-salesforce-typescript](https://github.com/forcedotcom/eslint-config-salesforce-typescript) | ![type](https://img.shields.io/badge/%20-config-lightblue) | [![NPM](https://img.shields.io/npm/v/eslint-config-salesforce-typescript.svg?label=eslint-config-salesforce-typescript)](https://www.npmjs.com/package/eslint-config-salesforce-typescript) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/eslint-config-salesforce-typescript?color=ffc16b&label=%20) | 64 | | [salesforcecli/github-workflows](https://github.com/salesforcecli/github-workflows) | ![type](https://img.shields.io/badge/%20-GHA-orange) | | | 65 | | [forcedotcom/vscode-agents](https://github.com/forcedotcom/vscode-agents) | ![type](https://img.shields.io/badge/%20-Extension-red) | [![NPM](https://img.shields.io/npm/v/salesforcedx-vscode-agents.svg?label=salesforcedx-vscode-agents)](https://www.npmjs.com/package/salesforcedx-vscode-agents) | ![GitHub Release Date](https://img.shields.io/github/release-date/forcedotcom/vscode-agents?color=ffc16b&label=%20) | 66 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | ## Security 2 | 3 | Please report any security issue to [security@salesforce.com](mailto:security@salesforce.com) 4 | as soon as it is discovered. This library limits its runtime dependencies in 5 | order to reduce the total cost of ownership as much as can be, but all consumers 6 | should remain vigilant and have their security stakeholders review all third-party 7 | products (3PP) like this one and their dependencies. 8 | -------------------------------------------------------------------------------- /generateReadme.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | 3 | const repositories = require('./repositories.json'); 4 | const readme = fs.readFileSync('./README.md', 'utf8'); 5 | const HEADER = '\n'; 6 | const repositoryIndex = readme.indexOf(HEADER); 7 | 8 | 9 | const repoToTableRow = (repo) => { 10 | const url = repo.url; 11 | // Only supports github repositories right now 12 | const [_, ghOrg, ghRepoName] = url.match( 13 | /https:\/\/github.com\/(\w+)\/([\w_-]+)/ 14 | ); 15 | const slug = `${ghOrg}/${ghRepoName}`; 16 | const supportsReleases = 17 | typeof repo.supportsReleases === "boolean" ? repo.supportsReleases : true; 18 | 19 | const repository = `[${slug}](https://github.com/${slug})`; 20 | const type = repo.packages.map(getTypeBadge).join("
"); 21 | const packages = repo.packages.map(getPackageBadge).join("
"); 22 | const released = 23 | !repo.private && supportsReleases 24 | ? `![GitHub Release Date](https://img.shields.io/github/release-date/${slug}?color=ffc16b&label=%20)` 25 | : ""; 26 | 27 | const tableSegments = [repository, type, packages, released]; 28 | return `| ${tableSegments.join(" | ")} |`; 29 | }; 30 | 31 | const colorMap = new Map([ 32 | ['issues', 'white'], 33 | ['library', 'yellowgreen'], 34 | ['plugin', 'blue'], 35 | ['GHA', 'orange'], 36 | ['config', 'lightblue'], 37 | ['template', 'purple'], 38 | ['Extension', 'red'], 39 | ]) 40 | /** 41 | * Get the img.shield badge as . 42 | * @param {name: string, type: 'package' | 'library' } package 43 | */ 44 | function getTypeBadge(package) { 45 | const color = colorMap.get(package.type) ?? 'lightgrey'; 46 | return `![type](https://img.shields.io/badge/%20-${package.type}-${color})`; 47 | } 48 | 49 | /** 50 | * Get the img.shield badge as . 51 | * @param {name: string, type: 'package' | 'library' } package 52 | */ 53 | function getPackageBadge(package) { 54 | if(package.type !== 'GHA' && package.name) { 55 | return `[![NPM](https://img.shields.io/npm/v/${package.name}.svg?label=${package.name})](https://www.npmjs.com/package/${package.name})`; 56 | } 57 | } 58 | 59 | const contents = [ 60 | HEADER, 61 | "| Repository | Type | Package | Released |", 62 | "|------------|:----:|---------|----------|", 63 | ...repositories.map(repoToTableRow), 64 | ]; 65 | 66 | const newContents = readme.substring(0, repositoryIndex) + contents.join('\n') + '\n'; 67 | fs.writeFileSync('README.md', newContents, '') 68 | -------------------------------------------------------------------------------- /repositories.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://github.com/forcedotcom/cli", 4 | "supportsReleases": false, 5 | "packages": [ 6 | { 7 | "type": "issues" 8 | } 9 | ] 10 | }, 11 | { 12 | "url": "https://github.com/salesforcecli/cli", 13 | "packages": [ 14 | { 15 | "name": "@salesforce/cli", 16 | "type": "aggregator" 17 | } 18 | ] 19 | }, 20 | { 21 | "url": "https://github.com/salesforcecli/plugin-agent", 22 | "packages": [ 23 | { 24 | "name": "@salesforce/plugin-agent", 25 | "type": "plugin" 26 | } 27 | ] 28 | }, 29 | { 30 | "url": "https://github.com/salesforcecli/plugin-apex", 31 | "packages": [ 32 | { 33 | "name": "@salesforce/plugin-apex", 34 | "type": "plugin" 35 | } 36 | ] 37 | }, 38 | { 39 | "url": "https://github.com/salesforcecli/plugin-api", 40 | "packages": [ 41 | { 42 | "name": "@salesforce/plugin-api", 43 | "type": "plugin" 44 | } 45 | ] 46 | }, 47 | { 48 | "url": "https://github.com/salesforcecli/plugin-auth", 49 | "packages": [ 50 | { 51 | "name": "@salesforce/plugin-auth", 52 | "type": "plugin" 53 | } 54 | ] 55 | }, 56 | { 57 | "url": "https://github.com/salesforcecli/plugin-community", 58 | "packages": [ 59 | { 60 | "name": "@salesforce/plugin-community", 61 | "type": "plugin" 62 | } 63 | ] 64 | }, 65 | { 66 | "url": "https://github.com/salesforcecli/plugin-dev", 67 | "packages": [ 68 | { 69 | "name": "@salesforce/plugin-dev", 70 | "type": "plugin" 71 | } 72 | ] 73 | }, 74 | { 75 | "url": "https://github.com/salesforcecli/plugin-devops-center", 76 | "packages": [ 77 | { 78 | "name": "@salesforce/plugin-devops-center", 79 | "type": "plugin" 80 | } 81 | ] 82 | }, 83 | { 84 | "url": "https://github.com/salesforcecli/plugin-info", 85 | "packages": [ 86 | { 87 | "name": "@salesforce/plugin-info", 88 | "type": "plugin" 89 | } 90 | ] 91 | }, 92 | { 93 | "url": "https://github.com/salesforcecli/plugin-custom-metadata", 94 | "packages": [ 95 | { 96 | "name": "@salesforce/plugin-custom-metadata", 97 | "type": "plugin" 98 | } 99 | ] 100 | }, 101 | { 102 | "url": "https://github.com/salesforcecli/plugin-data", 103 | "packages": [ 104 | { 105 | "name": "@salesforce/plugin-data", 106 | "type": "plugin" 107 | } 108 | ] 109 | }, 110 | { 111 | "url": "https://github.com/salesforcecli/plugin-deploy-retrieve", 112 | "packages": [ 113 | { 114 | "name": "@salesforce/plugin-deploy-retrieve", 115 | "type": "plugin" 116 | } 117 | ] 118 | }, 119 | { 120 | "url": "https://github.com/salesforcecli/plugin-env", 121 | "packages": [ 122 | { 123 | "name": "@salesforce/plugin-env", 124 | "type": "plugin" 125 | } 126 | ] 127 | }, 128 | { 129 | "url": "https://github.com/salesforcecli/plugin-functions", 130 | "packages": [ 131 | { 132 | "name": "@salesforce/plugin-functions", 133 | "type": "plugin" 134 | } 135 | ] 136 | }, 137 | { 138 | "url": "https://github.com/salesforcecli/plugin-limits", 139 | "packages": [ 140 | { 141 | "name": "@salesforce/plugin-limits", 142 | "type": "plugin" 143 | } 144 | ] 145 | }, 146 | { 147 | "url": "https://github.com/salesforcecli/plugin-marketplace", 148 | "packages": [ 149 | { 150 | "name": "@salesforce/plugin-marketplace", 151 | "type": "plugin" 152 | } 153 | ] 154 | }, 155 | { 156 | "url": "https://github.com/salesforcecli/plugin-org", 157 | "packages": [ 158 | { 159 | "name": "@salesforce/plugin-org", 160 | "type": "plugin" 161 | } 162 | ] 163 | }, 164 | { 165 | "url": "https://github.com/salesforcecli/plugin-packaging", 166 | "packages": [ 167 | { 168 | "name": "@salesforce/plugin-packaging", 169 | "type": "plugin" 170 | } 171 | ] 172 | }, 173 | { 174 | "url": "https://github.com/salesforcecli/plugin-release-management", 175 | "packages": [ 176 | { 177 | "name": "@salesforce/plugin-release-management", 178 | "type": "plugin" 179 | } 180 | ] 181 | }, 182 | { 183 | "url": "https://github.com/salesforcecli/plugin-schema", 184 | "packages": [ 185 | { 186 | "name": "@salesforce/plugin-schema", 187 | "type": "plugin" 188 | } 189 | ] 190 | }, 191 | { 192 | "url": "https://github.com/salesforcecli/plugin-settings", 193 | "packages": [ 194 | { 195 | "name": "@salesforce/plugin-settings", 196 | "type": "plugin" 197 | } 198 | ] 199 | }, 200 | { 201 | "url": "https://github.com/salesforcecli/plugin-signups", 202 | "packages": [ 203 | { 204 | "name": "@salesforce/plugin-signups", 205 | "type": "plugin" 206 | } 207 | ] 208 | }, 209 | { 210 | "url": "https://github.com/salesforcecli/plugin-sobject", 211 | "packages": [ 212 | { 213 | "name": "@salesforce/plugin-sobject", 214 | "type": "plugin" 215 | } 216 | ] 217 | }, 218 | { 219 | "url": "https://github.com/salesforcecli/plugin-telemetry", 220 | "packages": [ 221 | { 222 | "name": "@salesforce/plugin-telemetry", 223 | "type": "plugin" 224 | } 225 | ] 226 | }, 227 | { 228 | "url": "https://github.com/salesforcecli/plugin-templates", 229 | "packages": [ 230 | { 231 | "name": "@salesforce/plugin-templates", 232 | "type": "plugin" 233 | } 234 | ] 235 | }, 236 | { 237 | "url": "https://github.com/salesforcecli/plugin-trust", 238 | "packages": [ 239 | { 240 | "name": "@salesforce/plugin-trust", 241 | "type": "plugin" 242 | } 243 | ] 244 | }, 245 | { 246 | "url": "https://github.com/salesforcecli/plugin-user", 247 | "packages": [ 248 | { 249 | "name": "@salesforce/plugin-user", 250 | "type": "plugin" 251 | } 252 | ] 253 | }, 254 | { 255 | "url": "https://github.com/forcedotcom/sfdx-scanner", 256 | "packages": [ 257 | { 258 | "name": "@salesforce/sfdx-scanner", 259 | "type": "plugin" 260 | } 261 | ] 262 | }, 263 | { 264 | "url": "https://github.com/forcedotcom/change-case-management", 265 | "packages": [ 266 | { 267 | "name": "@salesforce/change-case-management", 268 | "type": "plugin" 269 | } 270 | ], 271 | "private": true 272 | }, 273 | { 274 | "url": "https://github.com/salesforcecli/cli-plugins-testkit", 275 | "packages": [ 276 | { 277 | "name": "@salesforce/cli-plugins-testkit", 278 | "type": "library" 279 | } 280 | ] 281 | }, 282 | { 283 | "url": "https://github.com/salesforcecli/source-testkit", 284 | "packages": [ 285 | { 286 | "name": "@salesforce/source-testkit", 287 | "type": "library" 288 | } 289 | ] 290 | }, 291 | { 292 | "url": "https://github.com/salesforcecli/sf-plugins-core", 293 | "packages": [ 294 | { 295 | "name": "@salesforce/sf-plugins-core", 296 | "type": "library" 297 | } 298 | ] 299 | }, 300 | { 301 | "url": "https://github.com/forcedotcom/salesforcedx-apex", 302 | "packages": [ 303 | { 304 | "name": "@salesforce/apex-node", 305 | "type": "library" 306 | } 307 | ] 308 | }, 309 | { 310 | "url": "https://github.com/forcedotcom/salesforcedx-templates", 311 | "packages": [ 312 | { 313 | "name": "@salesforce/templates", 314 | "type": "library" 315 | } 316 | ] 317 | }, 318 | { 319 | "url": "https://github.com/forcedotcom/dev-scripts", 320 | "packages": [ 321 | { 322 | "name": "@salesforce/dev-scripts", 323 | "type": "library" 324 | } 325 | ] 326 | }, 327 | { 328 | "url": "https://github.com/forcedotcom/agents", 329 | "packages": [ 330 | { 331 | "name": "@salesforce/agents", 332 | "type": "library" 333 | } 334 | ] 335 | }, 336 | { 337 | "url": "https://github.com/forcedotcom/packaging", 338 | "packages": [ 339 | { 340 | "name": "@salesforce/packaging", 341 | "type": "library" 342 | } 343 | ] 344 | }, 345 | { 346 | "url": "https://github.com/forcedotcom/kit", 347 | "packages": [ 348 | { 349 | "name": "@salesforce/kit", 350 | "type": "library" 351 | } 352 | ] 353 | }, 354 | { 355 | "url": "https://github.com/forcedotcom/sfdx-core", 356 | "packages": [ 357 | { 358 | "name": "@salesforce/core", 359 | "type": "library" 360 | } 361 | ] 362 | }, 363 | { 364 | "url": "https://github.com/forcedotcom/source-deploy-retrieve", 365 | "packages": [ 366 | { 367 | "name": "@salesforce/source-deploy-retrieve", 368 | "type": "library" 369 | } 370 | ] 371 | }, 372 | { 373 | "url": "https://github.com/forcedotcom/source-tracking", 374 | "packages": [ 375 | { 376 | "name": "@salesforce/source-tracking", 377 | "type": "library" 378 | } 379 | ] 380 | }, 381 | { 382 | "url": "https://github.com/forcedotcom/telemetry", 383 | "packages": [ 384 | { 385 | "name": "@salesforce/telemetry", 386 | "type": "library" 387 | } 388 | ] 389 | }, 390 | { 391 | "url": "https://github.com/forcedotcom/ts-types", 392 | "packages": [ 393 | { 394 | "name": "@salesforce/ts-types", 395 | "type": "library" 396 | } 397 | ] 398 | }, 399 | { 400 | "url": "https://github.com/forcedotcom/schemas", 401 | "packages": [ 402 | { 403 | "name": "@salesforce/schemas", 404 | "type": "library" 405 | } 406 | ] 407 | }, 408 | { 409 | "url": "https://github.com/forcedotcom/ts-sinon", 410 | "packages": [ 411 | { 412 | "name": "@salesforce/ts-sinon", 413 | "type": "library" 414 | } 415 | ] 416 | }, 417 | { 418 | "url": "https://github.com/salesforcecli/plugin-template-sf", 419 | "supportsReleases": false, 420 | "packages" : [{"type": "template"}] 421 | }, 422 | { 423 | "url": "https://github.com/salesforcecli/plugin-template-sf-external", 424 | "supportsReleases": false, 425 | "packages": [ 426 | { 427 | "type": "template" 428 | } 429 | ] 430 | }, 431 | { 432 | "url": "https://github.com/forcedotcom/prettier-config", 433 | "packages": [ 434 | { 435 | "name": "@salesforce/prettier-config", 436 | "type": "config" 437 | } 438 | ] 439 | }, 440 | { 441 | "url": "https://github.com/forcedotcom/eslint-config-salesforce", 442 | "packages": [ 443 | { 444 | "name": "eslint-config-salesforce", 445 | "type": "config" 446 | } 447 | ] 448 | }, 449 | { 450 | "url": "https://github.com/forcedotcom/eslint-config-salesforce-license", 451 | "packages": [ 452 | { 453 | "name": "eslint-config-salesforce-license", 454 | "type": "config" 455 | } 456 | ] 457 | }, 458 | { 459 | "url": "https://github.com/forcedotcom/dev-config", 460 | "packages": [ 461 | { 462 | "name": "@salesforce/dev-config", 463 | "type": "config" 464 | } 465 | ] 466 | }, 467 | { 468 | "url": "https://github.com/forcedotcom/eslint-config-salesforce-typescript", 469 | "packages": [ 470 | { 471 | "name": "eslint-config-salesforce-typescript", 472 | "type": "config" 473 | } 474 | ] 475 | }, 476 | { 477 | "url": "https://github.com/salesforcecli/github-workflows", 478 | "packages": [ 479 | { 480 | "name": "salesforcecli/github-workflows", 481 | "type": "GHA" 482 | } 483 | ], 484 | "supportsReleases": false 485 | }, 486 | { 487 | "url": "https://github.com/forcedotcom/vscode-agents", 488 | "packages": [ 489 | { 490 | "name": "salesforcedx-vscode-agents", 491 | "type": "Extension" 492 | } 493 | ], 494 | "supportsReleases": true 495 | } 496 | ] 497 | --------------------------------------------------------------------------------