├── .all-contributorsrc ├── .eslintignore ├── .eslintrc ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md ├── actions │ ├── build-cache │ │ └── action.yml │ └── install-deps │ │ └── action.yml ├── dependabot.yml └── workflows │ └── build.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .vscode └── launch.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── Formula └── auto.rb ├── LICENSE ├── README.md ├── auto.config.ts ├── auto.gif ├── docs ├── components │ ├── get-started-button.js │ ├── home.js │ └── label.js ├── css │ └── syntax-highlighting-overrides.css ├── generate-command-docs.js ├── next.config.js ├── pages │ ├── _app.js │ ├── _document.js │ ├── blog.js │ ├── blog │ │ ├── both-worlds.mdx │ │ ├── npm-canary-scope.mdx │ │ ├── pr-in-progress.mdx │ │ ├── using-shipit.mdx │ │ ├── v8.mdx │ │ └── why.mdx │ ├── docs │ │ ├── _sidebar.mdx │ │ ├── build-platforms │ │ │ ├── circleci.mdx │ │ │ ├── github-actions.mdx │ │ │ ├── jenkins.mdx │ │ │ └── travis.mdx │ │ ├── configuration │ │ │ ├── autorc.mdx │ │ │ ├── non-npm.mdx │ │ │ ├── plugins.mdx │ │ │ └── troubleshooting.mdx │ │ ├── extras │ │ │ ├── changelog.md │ │ │ ├── create-labels.md │ │ │ ├── label.md │ │ │ ├── next.md │ │ │ ├── release.md │ │ │ ├── shipit.md │ │ │ └── version.md │ │ ├── index.mdx │ │ ├── plugins │ │ │ ├── changelog-hooks.mdx │ │ │ ├── configuration-hooks.mdx │ │ │ ├── hook-api-docs.mdx │ │ │ ├── init-hooks.mdx │ │ │ ├── log-parse-hooks.mdx │ │ │ ├── release-lifecycle-hooks.mdx │ │ │ ├── writing-plugins.mdx │ │ │ └── writing-publishing-plugins.mdx │ │ └── welcome │ │ │ ├── getting-started.mdx │ │ │ └── quick-merge.mdx │ └── index.mdx └── public │ ├── add-label.png │ ├── changelog-example.png │ ├── complete-auto.png │ ├── dark-logo-large.png │ ├── dark-logo-small.png │ ├── default-auto.png │ ├── favicon-dark.png │ ├── favicon.png │ ├── hook-overview.png │ ├── jenkins-next-branches.png │ ├── light-logo-large.png │ ├── light-logo-small.png │ ├── logo-dark.svg │ ├── logo-large-dark.png │ ├── logo-large.png │ ├── logo.svg │ ├── manifest.json │ ├── merge.png │ ├── monochrome-logo-large.png │ ├── monochrome-logo-small.png │ ├── next-branch.png │ ├── open-pr.png │ ├── pr-to-pr.png │ ├── readme-logo.png │ └── release-example.png ├── formula-template.rb ├── lerna.json ├── os-project-logo.svg ├── package.json ├── packages ├── bot-list │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── cli │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── bundle.test.ts.snap │ │ ├── args.test.ts │ │ ├── bundle.test.ts │ │ ├── config.test.ts │ │ └── main.test.ts │ ├── package.json │ ├── scripts │ │ └── inject-version.js │ ├── src │ │ ├── bin │ │ │ └── auto.ts │ │ ├── index.ts │ │ ├── parse-args.ts │ │ └── run.ts │ └── tsconfig.json ├── core │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ ├── auto.test.ts.snap │ │ │ │ ├── changelog.test.ts.snap │ │ │ │ ├── git.test.ts.snap │ │ │ │ ├── log-parse.test.ts.snap │ │ │ │ ├── match-sha-to-pr.test.ts.snap │ │ │ │ ├── release.test.ts.snap │ │ │ │ └── validate-config.test.ts.snap │ │ │ ├── auto-canary-local.test.ts │ │ │ ├── auto-ci-base-branch.test.ts │ │ │ ├── auto-comment.test.ts │ │ │ ├── auto-env.test.ts │ │ │ ├── auto-git-user-in-ci.test.ts │ │ │ ├── auto-in-pr-ci.test.ts │ │ │ ├── auto-make-changelog.test.ts │ │ │ ├── auto.test.ts │ │ │ ├── changelog.test.ts │ │ │ ├── config.test.ts │ │ │ ├── determine-next-version.test.ts │ │ │ ├── get-current-branch.test.ts │ │ │ ├── get-remote.test.ts │ │ │ ├── git.test.ts │ │ │ ├── github-responses │ │ │ │ ├── bad-credentials.json │ │ │ │ └── pr-labels.json │ │ │ ├── log-parse.test.ts │ │ │ ├── major-version-branches.test.ts │ │ │ ├── make-commit-from-msg.ts │ │ │ ├── match-sha-to-pr.test.ts │ │ │ ├── next.test.ts │ │ │ ├── release.test.ts │ │ │ ├── remote.test.ts │ │ │ ├── semver.test.ts │ │ │ └── validate-config.test.ts │ │ ├── auto-args.ts │ │ ├── auto.ts │ │ ├── changelog.ts │ │ ├── config.ts │ │ ├── git.ts │ │ ├── init.ts │ │ ├── log-parse.ts │ │ ├── match-sha-to-pr.ts │ │ ├── plugins │ │ │ ├── __tests__ │ │ │ │ └── filter-non-pull-request.test.ts │ │ │ └── filter-non-pull-request.ts │ │ ├── release.ts │ │ ├── semver.ts │ │ ├── types.ts │ │ ├── utils │ │ │ ├── __tests__ │ │ │ │ ├── __snapshots__ │ │ │ │ │ └── load-plugin.test.ts.snap │ │ │ │ ├── exec-promise.test.ts │ │ │ │ ├── get-lerna-packages.test.ts │ │ │ │ ├── get-repository.test.ts │ │ │ │ ├── load-plugin-canary.test.ts │ │ │ │ ├── load-plugin-windows.test.ts │ │ │ │ ├── load-plugin.test.ts │ │ │ │ ├── test-plugin-malformed.js │ │ │ │ ├── test-plugin.ts │ │ │ │ ├── test.js │ │ │ │ ├── try-require.test.ts │ │ │ │ └── verify-auth.test.ts │ │ │ ├── exec-promise.ts │ │ │ ├── get-current-branch.ts │ │ │ ├── get-lerna-packages.ts │ │ │ ├── get-repository.ts │ │ │ ├── git-reset.ts │ │ │ ├── in-folder.ts │ │ │ ├── is-binary.ts │ │ │ ├── load-plugins.ts │ │ │ ├── logger.ts │ │ │ ├── make-hooks.ts │ │ │ ├── omit.ts │ │ │ ├── test-config │ │ │ │ ├── package.json │ │ │ │ ├── some-other-plugin.js │ │ │ │ └── some-plugin.js │ │ │ ├── try-require.ts │ │ │ └── verify-auth.ts │ │ └── validate-config.ts │ └── tsconfig.json └── package-json-utils │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src │ ├── index.test.ts │ └── index.ts │ └── tsconfig.json ├── patches ├── @atomictech+rehype-toc+3.1.2.patch └── next-ignite+0.10.11.patch ├── plugins ├── all-contributors │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── all-contributors.test.ts.snap │ │ └── all-contributors.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── brew │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── brew.test.ts.snap │ │ └── brew.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── chrome │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── cocoapods │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── cocoapods.test.ts │ ├── package.json │ ├── src │ │ ├── index.ts │ │ └── utilities.ts │ └── tsconfig.json ├── conventional-commits │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── conventional-commits.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── crates │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── crates.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── docker │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── docker.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── exec │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── exec.test.ts.snap │ │ └── exec.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── first-time-contributor │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── first-time-contributor.test.ts.snap │ │ └── first-time-contributor.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── gem │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── gem.test.ts.snap │ │ └── gem.test.ts │ ├── package.json │ ├── src │ │ ├── index.ts │ │ └── utils.ts │ └── tsconfig.json ├── gh-pages │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── gh-pages.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── git-tag │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── git-tag.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── gradle │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── gradle.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── jira │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── jira.test.ts.snap │ │ └── jira.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── magic-zero │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── magic-zero.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── maven │ ├── .snyk │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── maven.test.ts │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── maven.ts │ │ └── native-version-update.ts │ └── tsconfig.json ├── microsoft-teams │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── index.test.ts.snap │ │ └── index.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── npm │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ ├── monorepo-log.test.ts.snap │ │ │ └── npm.test.ts.snap │ │ ├── monorepo-log.test.ts │ │ ├── npm-next.test.ts │ │ ├── npm.test.ts │ │ └── set-npm-token.test.ts │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── set-npm-token.ts │ │ └── utils.ts │ └── tsconfig.json ├── omit-commits │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── omit-commits.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── omit-release-notes │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── omit-release-notes.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── pr-body-labels │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── pr-body-labels.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── protected-branch │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── protected-branch.test.ts │ ├── doc │ │ ├── branch-protection-1.png │ │ └── branch-protection-2.png │ ├── package.json │ ├── src │ │ ├── GitOperator.ts │ │ └── index.ts │ └── tsconfig.json ├── released │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── released-label.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── s3 │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── s3.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── sbt │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── sbt.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── slack │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── slack.test.ts.snap │ │ └── slack.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── twitter │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── __snapshots__ │ │ │ └── twitter.test.ts.snap │ │ └── twitter.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── upload-assets │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ ├── test-assets │ │ │ ├── macos │ │ │ ├── test-2.txt │ │ │ └── test.txt │ │ ├── upload-assets-ci.test.ts │ │ └── upload-assets.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── version-file │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ │ └── version-file.test.ts │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json └── vscode │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__ │ └── vscode.test.ts │ ├── package.json │ ├── src │ ├── index.ts │ └── utils.ts │ └── tsconfig.json ├── scripts ├── auto-update-curl-version.js ├── create-package.js ├── create-plugin.js ├── generate-cofingurable-args.js ├── jest-setup.js ├── template-package │ ├── README.md │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json └── template-plugin │ ├── README.md │ ├── __tests__ │ └── {{kebab}}.test.ts │ ├── package.json │ ├── src │ └── index.ts │ └── tsconfig.json ├── tsconfig.dev.json ├── tsconfig.json ├── typings ├── all-contributors.d.ts ├── dot-properties.d.ts ├── endent.d.ts ├── fromentries.d.ts ├── get-monorepo-packages.d.ts ├── import-cwd.d.ts ├── module-alias.d.ts ├── node-pom-parser.d.ts ├── parse-author.d.ts ├── requireg.d.ts └── tweet-tweet.d.ts └── yarn.lock /.eslintignore: -------------------------------------------------------------------------------- 1 | **/node_modules 2 | **/dist -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: "" 5 | labels: bug 6 | assignees: "" 7 | --- 8 | 9 | **Describe the bug** 10 | 11 | 12 | 13 | **To Reproduce** 14 | 15 | 16 | 17 | 18 | 19 | **Expected behavior** 20 | 21 | 22 | 23 | **Screenshots** 24 | 25 | 26 | 27 | **Environment information:** 28 | 29 | 30 | 31 | ```txt 32 | 33 | ``` 34 | 35 | **Additional context** 36 | 37 | 38 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: "" 5 | labels: enhancement 6 | assignees: "" 7 | --- 8 | 9 | **Is your feature request related to a problem? Please describe.** 10 | 11 | 12 | 13 | **Describe the solution you'd like** 14 | 15 | 16 | 17 | **Describe alternatives you've considered** 18 | 19 | 20 | 21 | **Additional context** 22 | 23 | 24 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # What Changed 2 | 3 | ## Why 4 | 5 | Todo: 6 | 7 | - [ ] Add tests 8 | - [ ] Add docs 9 | 10 | ## Change Type 11 | 12 | Indicate the type of change your pull request is: 13 | 14 | - [ ] `documentation` 15 | - [ ] `patch` 16 | - [ ] `minor` 17 | - [ ] `major` 18 | -------------------------------------------------------------------------------- /.github/actions/build-cache/action.yml: -------------------------------------------------------------------------------- 1 | name: "Build Cache" 2 | description: build cache 3 | 4 | runs: 5 | using: "composite" 6 | steps: 7 | - name: build cache 8 | uses: actions/cache@v3 9 | with: 10 | path: | 11 | node_modules 12 | packages/*/node_modules 13 | plugins/*/node_modules 14 | packages/*/dist 15 | plugins/*/dist 16 | */cli/binary 17 | key: ${{ github.run_id }} 18 | restore-keys: ${{ github.run_id }} 19 | -------------------------------------------------------------------------------- /.github/actions/install-deps/action.yml: -------------------------------------------------------------------------------- 1 | name: "Setup" 2 | description: Setup action 3 | 4 | runs: 5 | using: "composite" 6 | steps: 7 | - name: Use nodejs 8 | uses: actions/setup-node@v3 9 | with: 10 | node-version: 16.18 11 | 12 | - name: restore workspace cache 13 | uses: actions/cache@v3 14 | id: node_modules 15 | with: 16 | path: | 17 | node_modules 18 | packages/*/node_modules 19 | key: node-modules-${{ runner.os }}-${{ hashFiles('yarn.lock', 'patches/*.patch') }} 20 | restore-keys: | 21 | node-modules-${{ runner.os }}- 22 | 23 | - run: yarn install --frozen-lockfile --network-timeout 9000000 24 | if: steps.node_modules.outputs.cache-hit != 'true' 25 | shell: bash 26 | 27 | - name: restore pkg cache 28 | uses: actions/cache@v3 29 | id: pkg 30 | with: 31 | path: ~/.pkg-cache 32 | key: pkg-cache-${{ runner.os }}-${{ hashFiles('yarn.lock') }} 33 | restore-keys: | 34 | pkg-cache-${{ runner.os }}- 35 | 36 | - name: Install pkg node binaries 37 | if: steps.pkg.outputs.cache-hit != 'true' 38 | shell: bash 39 | run: | 40 | yarn pkg-fetch -n node16 -p macos -a x64 41 | yarn pkg-fetch -n node16 -p win -a x64 42 | yarn pkg-fetch -n node16 -p linux -a x64 43 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: npm 4 | directory: "/" 5 | schedule: 6 | interval: weekly 7 | time: "13:00" 8 | open-pull-requests-limit: 10 9 | labels: 10 | - dependencies 11 | ignore: 12 | - dependency-name: log-symbols 13 | versions: 14 | - 4.1.0 15 | - dependency-name: jsdom 16 | versions: 17 | - 16.5.2 18 | - dependency-name: type-fest 19 | versions: 20 | - 1.0.1 21 | - dependency-name: eslint-config-xo 22 | versions: 23 | - 0.35.0 24 | - dependency-name: "@types/jsdom" 25 | versions: 26 | - 16.2.9 27 | - dependency-name: "@fortawesome/fontawesome-svg-core" 28 | versions: 29 | - 1.2.34 30 | - 1.2.35 31 | - dependency-name: next-ignite 32 | versions: 33 | - 0.10.7 34 | - 0.10.8 35 | - dependency-name: "@typescript-eslint/eslint-plugin" 36 | versions: 37 | - 4.15.2 38 | - 4.16.1 39 | - 4.17.0 40 | - dependency-name: eslint-plugin-jest 41 | versions: 42 | - 24.1.5 43 | - 24.1.9 44 | - 24.2.1 45 | - dependency-name: "@octokit/rest" 46 | versions: 47 | - 18.3.0 48 | - 18.3.1 49 | - 18.3.4 50 | - dependency-name: ts-jest 51 | versions: 52 | - 26.5.2 53 | - dependency-name: typescript 54 | versions: 55 | - 4.1.3 56 | - 4.2.2 57 | - dependency-name: eslint-plugin-jsdoc 58 | versions: 59 | - 32.2.0 60 | - dependency-name: vsce 61 | versions: 62 | - 1.85.1 63 | - dependency-name: "@types/node" 64 | versions: 65 | - 14.14.25 66 | - 14.14.26 67 | - 14.14.28 68 | - 14.14.31 69 | - dependency-name: eslint-config-prettier 70 | versions: 71 | - 7.2.0 72 | - dependency-name: "@typescript-eslint/parser" 73 | versions: 74 | - 4.14.2 75 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.yarnpkg.com 2 | package-lock = false -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | scripts/template-plugin/ 2 | CHANGELOG.md 3 | coverage 4 | .next 5 | .mdx-data 6 | docs/out 7 | docs/generated 8 | dist/ 9 | test-plugin-malformed.js 10 | lerna.json -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "type": "node", 6 | "request": "launch", 7 | "name": "Jest All", 8 | "program": "${workspaceFolder}/node_modules/.bin/jest", 9 | "args": ["--runInBand"], 10 | "console": "integratedTerminal", 11 | "internalConsoleOptions": "neverOpen", 12 | "disableOptimisticBPs": true, 13 | "windows": { 14 | "program": "${workspaceFolder}/node_modules/jest/bin/jest" 15 | } 16 | }, 17 | { 18 | "type": "node", 19 | "request": "launch", 20 | "name": "Jest Current File", 21 | "program": "${workspaceFolder}/node_modules/.bin/jest", 22 | "args": ["${relativeFile}", "--coverage", "false"], 23 | "console": "integratedTerminal", 24 | "internalConsoleOptions": "neverOpen", 25 | "disableOptimisticBPs": true, 26 | "windows": { 27 | "program": "${workspaceFolder}/node_modules/jest/bin/jest" 28 | } 29 | } 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | Open source projects are “living.” Contributions in the form of issues and pull requests are welcomed and encouraged. When you contribute, you explicitly say you are part of the community and abide by its Code of Conduct. 2 | 3 | # The Code 4 | 5 | At Intuit, we foster a kind, respectful, harassment-free cooperative community. Our open source community works to: 6 | 7 | - Be kind and respectful; 8 | - Act as a global community; 9 | - Conduct ourselves professionally. 10 | 11 | As members of this community, we will not tolerate behaviors including, but not limited to: 12 | 13 | - Violent threats or language; 14 | - Discriminatory or derogatory jokes or language; 15 | - Public or private harassment of any kind; 16 | - Other conduct considered inappropriate in a professional setting. 17 | 18 | ## Reporting Concerns 19 | 20 | If you see someone violating the Code of Conduct please email TechOpenSource@intuit.com 21 | 22 | ## Scope 23 | 24 | This code of conduct applies to: 25 | 26 | All repos and communities for Intuit-managed projects, whether or not the text is included in a Intuit-managed project’s repository; 27 | 28 | Individuals or teams representing projects in official capacity, such as via official social media channels or at in-person meetups. 29 | 30 | ## Attribution 31 | 32 | This Code of Conduct is partly inspired by and based on those of Amazon, CocoaPods, GitHub, Microsoft, thoughtbot, and on the Contributor Covenant version 1.4.1. 33 | -------------------------------------------------------------------------------- /Formula/auto.rb: -------------------------------------------------------------------------------- 1 | class Auto < Formula 2 | desc "Generate releases based on semantic version labels on pull requests." 3 | homepage "https://intuit.github.io/auto" 4 | url "https://github.com/intuit/auto/releases/download/v11.3.0/auto-macos.gz" 5 | version "v11.3.0" 6 | sha256 "c7527afe74d8469b3c52fb2c753cec7dbed5d9a7618fa9231697af0d76c00a77" 7 | 8 | def install 9 | libexec.install Dir["*"] 10 | bin.install libexec/"auto-macos" 11 | mv bin/"auto-macos", bin/"auto" 12 | end 13 | 14 | test do 15 | system bin/"auto", "--version" 16 | end 17 | end -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2018 Intuit 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 14 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 15 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 16 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 17 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 18 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 19 | OR OTHER DEALINGS IN THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /auto.config.ts: -------------------------------------------------------------------------------- 1 | import { AutoRc } from "./packages/core"; 2 | 3 | import { INpmConfig } from "./plugins/npm"; 4 | import { IBrewPluginOptions } from "./plugins/brew"; 5 | // import { IGhPagesPluginOptions } from "./plugins/gh-pages"; 6 | import { IAllContributorsPluginOptions } from "./plugins/all-contributors"; 7 | 8 | const npmOptions: INpmConfig = { 9 | exact: true, 10 | canaryScope: "@auto-canary", 11 | }; 12 | 13 | const allContributorsOptions: IAllContributorsPluginOptions = { 14 | types: { 15 | plugin: "**/plugin/**/*", 16 | code: ["**/src/**/*", "**/package.json", "**/tsconfig.json"], 17 | }, 18 | }; 19 | 20 | const brewOptions: IBrewPluginOptions = { 21 | executable: "./packages/cli/binary/auto-macos.gz", 22 | name: "auto", 23 | }; 24 | 25 | /** Auto configuration */ 26 | export default function rc(): AutoRc { 27 | return { 28 | plugins: [ 29 | [ 30 | "protected-branch", 31 | { 32 | releaseTemporaryBranchPrefix: "protected-release-", 33 | requiredStatusChecks: ["WIP", "build", "test", "lint"], 34 | }, 35 | ], 36 | [ 37 | "upload-assets", 38 | [ 39 | "./packages/cli/binary/auto-linux.gz", 40 | "./packages/cli/binary/auto-macos.gz", 41 | "./packages/cli/binary/auto-win.exe.gz", 42 | ], 43 | ], 44 | ["npm", npmOptions], 45 | "released", 46 | "first-time-contributor", 47 | "pr-body-labels", 48 | "./scripts/auto-update-curl-version.js", 49 | ["all-contributors", allContributorsOptions], 50 | ["brew", brewOptions], 51 | ], 52 | labels: [ 53 | { 54 | name: "blog-post", 55 | changelogTitle: "📚 Blog Post", 56 | releaseType: "none", 57 | }, 58 | ], 59 | }; 60 | } 61 | -------------------------------------------------------------------------------- /auto.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intuit/auto/27b93e34871e1fa99e9807d17e0854d6bc22f34d/auto.gif -------------------------------------------------------------------------------- /docs/components/get-started-button.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | /** A button that routes the user to the getting started page */ 4 | export const GetStarted = () => ( 5 | 9 | Get Started 🎉 10 | 11 | ); 12 | -------------------------------------------------------------------------------- /docs/components/label.js: -------------------------------------------------------------------------------- 1 | /** A GitHub style label */ 2 | export const Label = ({ children, color, className }) => ( 3 | 7 | {children} 8 | 9 | ); 10 | -------------------------------------------------------------------------------- /docs/css/syntax-highlighting-overrides.css: -------------------------------------------------------------------------------- 1 | .token.operator, 2 | .token.entity, 3 | .token.url, 4 | .language-css .token.string, 5 | .style .token.string { 6 | background: none; 7 | } 8 | 9 | * { 10 | text-shadow: none !important; 11 | } 12 | 13 | #ignite .toc ol li { 14 | list-style-type: disc; 15 | } 16 | -------------------------------------------------------------------------------- /docs/next.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/no-var-requires */ 2 | const toc = require("@atomictech/rehype-toc"); 3 | 4 | const withIgnite = require("next-ignite/next")({ 5 | repo: "intuit/auto", 6 | name: "auto", 7 | url: "https://intuit.github.io/auto", 8 | rehypePlugins: [[toc, { placeholder: "{{TOC}}" }]], 9 | }); 10 | 11 | module.exports = withIgnite(); 12 | -------------------------------------------------------------------------------- /docs/pages/_app.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import App from "next/app"; 3 | import { MDXProvider } from "@mdx-js/react"; 4 | import { igniteComponents } from "next-ignite"; 5 | import SimpleReactLightbox, { SRLWrapper } from "simple-react-lightbox"; 6 | import { config } from "@fortawesome/fontawesome-svg-core"; 7 | import "@fortawesome/fontawesome-svg-core/styles.css"; 8 | 9 | import "next-ignite/dist/main.css"; 10 | import "../css/syntax-highlighting-overrides.css"; 11 | 12 | // Tell Font Awesome to skip adding the CSS automatically since it's being imported above 13 | config.autoAddCss = false; 14 | 15 | const components = { 16 | ...igniteComponents, 17 | img: (props) => { 18 | if (props.alt?.includes("Logo")) { 19 | return ; 20 | } 21 | 22 | return ( 23 | 24 | 36 | 40 | 41 | 42 | ); 43 | }, 44 | }; 45 | 46 | function MyApp({ Component, pageProps }) { 47 | return ( 48 | 49 | 50 | 51 | ); 52 | } 53 | 54 | export default MyApp; 55 | -------------------------------------------------------------------------------- /docs/pages/_document.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Document, { Html, Head, Main, NextScript } from "next/document"; 3 | 4 | class MyDocument extends Document { 5 | render() { 6 | return ( 7 | 8 | 9 | 33 |