├── .gitattributes ├── .github ├── CODEOWNERS.md └── workflows │ ├── deploy.yml │ └── signature-assistant.yml ├── .gitignore ├── .husky ├── .gitattributes └── commit-msg ├── .nvmrc ├── .prettierignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── TRADEMARK ├── commitlint.config.mjs ├── eslint.config.mjs ├── lib ├── eslint.mjs ├── index.mjs ├── legacy │ ├── es6.mjs │ ├── index.mjs │ ├── node.mjs │ └── react.mjs └── prettier.mjs ├── package-lock.json ├── package.json ├── prettier.config.mjs ├── release.config.js ├── renovate.json5 └── test ├── __snapshots__ └── eslint.test.mjs.snap ├── eslint.test.mjs └── recommended ├── eslint.config.mjs ├── plain.bad.mjs ├── plain.bad.ts ├── plain.good.mjs ├── plain.good.ts ├── react.bad.jsx ├── react.good.jsx └── tsconfig.json /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js text eol=lf 2 | *.json text eol=lf 3 | *.json5 text eol=lf 4 | 5 | .gitattributes text eol=lf 6 | -------------------------------------------------------------------------------- /.github/CODEOWNERS.md: -------------------------------------------------------------------------------- 1 | @scratchfoundation/scratch-engineering 2 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: Build eslint-config-scratch 2 | 3 | on: 4 | push: 5 | permissions: 6 | contents: write # publish a GitHub release 7 | pages: write # deploy to GitHub Pages 8 | issues: write # comment on released issues 9 | pull-requests: write # comment on released pull requests 10 | jobs: 11 | build-eslint: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 15 | - uses: wagoid/commitlint-github-action@b948419dd99f3fd78a6548d48f94e3df7f6bf3ed # v6 16 | - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4 17 | with: 18 | cache: 'npm' 19 | node-version-file: '.nvmrc' 20 | - name: Info 21 | run: | 22 | cat < rule mapping ([d010853](https://github.com/scratchfoundation/eslint-config-scratch/commit/d01085335cbe81df389a18e590120a3c5085ecfa)) 96 | * disable jsdoc/require-jsdoc ([7d7b277](https://github.com/scratchfoundation/eslint-config-scratch/commit/7d7b277676c772cafeb157b87d0f3205a81f7792)) 97 | * don't try to check types in JS ([329b4de](https://github.com/scratchfoundation/eslint-config-scratch/commit/329b4de61c81be7c2fddd965a08cb2b73017089a)) 98 | * fix linting for code blocks inside Markdown ([152673f](https://github.com/scratchfoundation/eslint-config-scratch/commit/152673ff3918a0f68e2401595c68f06c49eac711)) 99 | * re-enable jsdoc checks ([40c86c9](https://github.com/scratchfoundation/eslint-config-scratch/commit/40c86c94ca7d3dfa713d139fa28ef4b544b1b131)) 100 | 101 | 102 | * refactor!: simplify and flatten configurations ([a7dda10](https://github.com/scratchfoundation/eslint-config-scratch/commit/a7dda101f27c3099f024f1eb53533ee3cc97194f)) 103 | 104 | 105 | ### Features 106 | 107 | * better type help, esp. with makeEslintConfig ([497bd28](https://github.com/scratchfoundation/eslint-config-scratch/commit/497bd2880ba7640966e5f87fc3d4bd5b482eb303)) 108 | 109 | 110 | ### BREAKING CHANGES 111 | 112 | * Configurations are now returned as objects, like most 113 | shared ESLint configurations. The `make*Config` functions are no more. 114 | Also, everything is now exported through one file. 115 | 116 | ## [10.0.14](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.13...v10.0.14) (2025-05-03) 117 | 118 | 119 | ### Bug Fixes 120 | 121 | * **deps:** update dependency @babel/eslint-parser to v7.27.1 ([#230](https://github.com/scratchfoundation/eslint-config-scratch/issues/230)) ([cb5cbe2](https://github.com/scratchfoundation/eslint-config-scratch/commit/cb5cbe29e017a67ceb967b9ed716a1360a740d61)) 122 | 123 | ## [10.0.13](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.12...v10.0.13) (2025-05-01) 124 | 125 | 126 | ### Bug Fixes 127 | 128 | * **deps:** update dependency typescript-eslint to v8.31.1 ([#229](https://github.com/scratchfoundation/eslint-config-scratch/issues/229)) ([1eaf5da](https://github.com/scratchfoundation/eslint-config-scratch/commit/1eaf5da752acd1c036a87321d2192059ca2697ea)) 129 | 130 | ## [10.0.12](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.11...v10.0.12) (2025-04-28) 131 | 132 | 133 | ### Bug Fixes 134 | 135 | * **deps:** update dependency eslint-plugin-jsdoc to v50.6.11 ([#227](https://github.com/scratchfoundation/eslint-config-scratch/issues/227)) ([dae3867](https://github.com/scratchfoundation/eslint-config-scratch/commit/dae3867c423b7e38cfe1e80249b37c9340c8c590)) 136 | 137 | ## [10.0.11](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.10...v10.0.11) (2025-04-26) 138 | 139 | 140 | ### Bug Fixes 141 | 142 | * **deps:** update dependency eslint-plugin-jsdoc to v50.6.10 ([#226](https://github.com/scratchfoundation/eslint-config-scratch/issues/226)) ([f4e570d](https://github.com/scratchfoundation/eslint-config-scratch/commit/f4e570d9249b66eb1f3aec6b18e39e5fbc23a216)) 143 | 144 | ## [10.0.10](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.9...v10.0.10) (2025-04-25) 145 | 146 | 147 | ### Bug Fixes 148 | 149 | * **deps:** update dependency typescript-eslint to v8.31.0 ([#225](https://github.com/scratchfoundation/eslint-config-scratch/issues/225)) ([dc3a2c1](https://github.com/scratchfoundation/eslint-config-scratch/commit/dc3a2c11298902f78cf02fa048e69337222d4516)) 150 | 151 | ## [10.0.9](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.8...v10.0.9) (2025-04-25) 152 | 153 | 154 | ### Bug Fixes 155 | 156 | * **deps:** update eslint monorepo to v9.25.1 ([#224](https://github.com/scratchfoundation/eslint-config-scratch/issues/224)) ([733b10c](https://github.com/scratchfoundation/eslint-config-scratch/commit/733b10c979f45c184aa5e4fd992de87c649826c6)) 157 | 158 | ## [10.0.8](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.7...v10.0.8) (2025-04-21) 159 | 160 | 161 | ### Bug Fixes 162 | 163 | * **deps:** update eslint monorepo to v9.25.0 ([#223](https://github.com/scratchfoundation/eslint-config-scratch/issues/223)) ([9aee248](https://github.com/scratchfoundation/eslint-config-scratch/commit/9aee2486e4229cd05db59319541561b11ae91c76)) 164 | 165 | ## [10.0.7](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.6...v10.0.7) (2025-04-18) 166 | 167 | 168 | ### Bug Fixes 169 | 170 | * **deps:** update dependency typescript-eslint to v8.30.1 ([#222](https://github.com/scratchfoundation/eslint-config-scratch/issues/222)) ([54fe3f3](https://github.com/scratchfoundation/eslint-config-scratch/commit/54fe3f31d0a1b87eafcdd06ccf8b80490491dda7)) 171 | 172 | ## [10.0.6](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.5...v10.0.6) (2025-04-15) 173 | 174 | 175 | ### Bug Fixes 176 | 177 | * **deps:** update dependency @eslint-community/eslint-plugin-eslint-comments to v4.5.0 ([#221](https://github.com/scratchfoundation/eslint-config-scratch/issues/221)) ([c9593ef](https://github.com/scratchfoundation/eslint-config-scratch/commit/c9593ef8b48922aafeab22bb3735b3ec23978864)) 178 | 179 | ## [10.0.5](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.4...v10.0.5) (2025-04-13) 180 | 181 | 182 | ### Bug Fixes 183 | 184 | * **deps:** update dependency eslint-config-prettier to v10.1.2 ([#220](https://github.com/scratchfoundation/eslint-config-scratch/issues/220)) ([0e1a175](https://github.com/scratchfoundation/eslint-config-scratch/commit/0e1a175339867b53bb96fe7386d6c55b18aac5ca)) 185 | 186 | ## [10.0.4](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.3...v10.0.4) (2025-04-12) 187 | 188 | 189 | ### Bug Fixes 190 | 191 | * **deps:** update dependency typescript-eslint to v8.29.1 ([#219](https://github.com/scratchfoundation/eslint-config-scratch/issues/219)) ([de54ce3](https://github.com/scratchfoundation/eslint-config-scratch/commit/de54ce3dcf0effb8566ff13563769596cc1291fc)) 192 | 193 | ## [10.0.3](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.2...v10.0.3) (2025-04-08) 194 | 195 | 196 | ### Bug Fixes 197 | 198 | * **deps:** update eslint monorepo to v9.24.0 ([#218](https://github.com/scratchfoundation/eslint-config-scratch/issues/218)) ([16deebf](https://github.com/scratchfoundation/eslint-config-scratch/commit/16deebf868641e830282e5aff535e073b54a5f18)) 199 | 200 | ## [10.0.2](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.1...v10.0.2) (2025-04-07) 201 | 202 | 203 | ### Bug Fixes 204 | 205 | * **deps:** update dependency eslint-plugin-react to v7.37.5 ([#217](https://github.com/scratchfoundation/eslint-config-scratch/issues/217)) ([2162790](https://github.com/scratchfoundation/eslint-config-scratch/commit/2162790b8f96d2f6d91b06f7a3a992af58664f8e)) 206 | 207 | ## [10.0.1](https://github.com/scratchfoundation/eslint-config-scratch/compare/v10.0.0...v10.0.1) (2025-04-03) 208 | 209 | 210 | ### Bug Fixes 211 | 212 | * **deps:** update dependency typescript-eslint to v8.29.0 ([#216](https://github.com/scratchfoundation/eslint-config-scratch/issues/216)) ([ef09db4](https://github.com/scratchfoundation/eslint-config-scratch/commit/ef09db4bc4d2771d4e625ec788ea914a5a284d90)) 213 | 214 | # [10.0.0](https://github.com/scratchfoundation/eslint-config-scratch/compare/v9.1.0...v10.0.0) (2025-03-31) 215 | 216 | 217 | * chore!: major version bump for next-gen style rules ([3687676](https://github.com/scratchfoundation/eslint-config-scratch/commit/368767667304775ef75e5c440cf9958f94e0b0a1)) 218 | 219 | 220 | ### BREAKING CHANGES 221 | 222 | * There have been several major style changes since 223 | v9.0.9, and they were accidentally released as v9.1.0 at first. This 224 | commit is meant to force a bump to v10. 225 | 226 | # [9.1.0](https://github.com/scratchfoundation/eslint-config-scratch/compare/v9.0.9...v9.1.0) (2025-03-31) 227 | 228 | 229 | ### Features 230 | 231 | * enable linting MD and HTML files ([a95140a](https://github.com/scratchfoundation/eslint-config-scratch/commit/a95140a52cffca0614d13751fe5cf9594d045b75)) 232 | 233 | ## [9.0.9](https://github.com/scratchfoundation/eslint-config-scratch/compare/v9.0.8...v9.0.9) (2024-09-11) 234 | 235 | 236 | ### Bug Fixes 237 | 238 | * **deps:** update dependency scratch-semantic-release-config to v1.0.16 ([190ff6a](https://github.com/scratchfoundation/eslint-config-scratch/commit/190ff6ae024a0d74a06ee4f9d8e35e73c158fbae)) 239 | 240 | ## [9.0.8](https://github.com/scratchfoundation/eslint-config-scratch/compare/v9.0.7...v9.0.8) (2024-02-24) 241 | 242 | 243 | ### Bug Fixes 244 | 245 | * **deps:** update dependency scratch-semantic-release-config to v1.0.14 ([f24087d](https://github.com/scratchfoundation/eslint-config-scratch/commit/f24087db83f2ac4f783290bb14475b3df642a96e)) 246 | 247 | ## [9.0.7](https://github.com/scratchfoundation/eslint-config-scratch/compare/v9.0.6...v9.0.7) (2024-02-22) 248 | 249 | 250 | ### Bug Fixes 251 | 252 | * **deps:** update dependency scratch-semantic-release-config to v1.0.13 ([5e5c2f4](https://github.com/scratchfoundation/eslint-config-scratch/commit/5e5c2f4b92c2029cf007647e05a40b876b6c7e7d)) 253 | 254 | ## [9.0.6](https://github.com/scratchfoundation/eslint-config-scratch/compare/v9.0.5...v9.0.6) (2024-02-22) 255 | 256 | 257 | ### Bug Fixes 258 | 259 | * **deps:** update dependency scratch-semantic-release-config to v1.0.12 ([df25de6](https://github.com/scratchfoundation/eslint-config-scratch/commit/df25de63a20e92f959abd923fb899db688dae0f8)) 260 | 261 | ## [9.0.5](https://github.com/scratchfoundation/eslint-config-scratch/compare/v9.0.4...v9.0.5) (2024-02-22) 262 | 263 | 264 | ### Bug Fixes 265 | 266 | * **deps:** update dependency scratch-semantic-release-config to v1.0.11 ([a8dd4a9](https://github.com/scratchfoundation/eslint-config-scratch/commit/a8dd4a9bebc9fd21a2b8b983fa71a5c8bf665d12)) 267 | 268 | ## [9.0.4](https://github.com/scratchfoundation/eslint-config-scratch/compare/v9.0.3...v9.0.4) (2024-02-21) 269 | 270 | 271 | ### Bug Fixes 272 | 273 | * **deps:** update dependency scratch-semantic-release-config to v1.0.10 ([7d54925](https://github.com/scratchfoundation/eslint-config-scratch/commit/7d54925d6fff02699f1690a6596b131083683978)) 274 | 275 | ## [9.0.3](https://github.com/LLK/eslint-config-scratch/compare/v9.0.2...v9.0.3) (2023-07-01) 276 | 277 | 278 | ### Bug Fixes 279 | 280 | * **deps:** update dependency scratch-semantic-release-config to v1.0.8 ([0edb9d4](https://github.com/LLK/eslint-config-scratch/commit/0edb9d44e390e1ca607c207d4a38a6ebddcf9071)) 281 | 282 | ## [9.0.2](https://github.com/LLK/eslint-config-scratch/compare/v9.0.1...v9.0.2) (2023-03-27) 283 | 284 | 285 | ### Bug Fixes 286 | 287 | * **deps:** update dependency scratch-semantic-release-config to v1.0.7 ([ac7f20c](https://github.com/LLK/eslint-config-scratch/commit/ac7f20c9f998237dccaf21258bdfeca84956c3fb)) 288 | 289 | ## [9.0.1](https://github.com/LLK/eslint-config-scratch/compare/v9.0.0...v9.0.1) (2023-03-23) 290 | 291 | 292 | ### Bug Fixes 293 | 294 | * **deps:** update dependency scratch-semantic-release-config to v1.0.6 ([82b06e0](https://github.com/LLK/eslint-config-scratch/commit/82b06e07d09a79dcd5f72739ca21eb1f03b793df)) 295 | 296 | # [9.0.0](https://github.com/LLK/eslint-config-scratch/compare/v8.0.0...v9.0.0) (2022-10-13) 297 | 298 | 299 | ### Bug Fixes 300 | 301 | * **deps:** fix eslint-plugin-react dep conflict ([cacb72c](https://github.com/LLK/eslint-config-scratch/commit/cacb72c2281b99b5b3f7462256451443ae98e1bb)) 302 | 303 | 304 | ### BREAKING CHANGES 305 | 306 | * **deps:** now requires eslint@^8 307 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) Scratch Foundation 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 9 | 10 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 11 | 12 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Scratch ESLint config 2 | 3 | `eslint-config-scratch` defines `eslint` and `prettier` rules for Scratch Javascript and TypeScript projects. 4 | Generally speaking, this configuration uses `prettier` for code style and formatting and `eslint` to flag potential 5 | mistakes and encourage code that's easier to read and understand. 6 | 7 | ## Quick Start 8 | 9 | Install the config along with its peer dependencies, `eslint` and `prettier`: 10 | 11 | ```bash 12 | npm install -D eslint-config-scratch eslint@^9 prettier@^3 13 | ``` 14 | 15 | Add `eslint.config.mjs` to your project root. 16 | 17 | For a TypeScript project, you can add `languageOptions` to enable type checking: 18 | 19 | ```js 20 | // myProjectRoot/eslint.config.mjs 21 | import { eslintConfigScratch } from 'eslint-config-scratch' 22 | 23 | export default eslintConfigScratch.config(eslintConfigScratch.recommended, { 24 | languageOptions: { 25 | parserOptions: { 26 | projectService: true, 27 | tsconfigRootDir: import.meta.dirname, 28 | }, 29 | }, 30 | }) 31 | ``` 32 | 33 | For a JavaScript project, it might look like this: 34 | 35 | ```js 36 | // myProjectRoot/eslint.config.mjs 37 | import { eslintConfigScratch } from 'eslint-config-scratch' 38 | 39 | export default eslintConfigScratch.recommended 40 | ``` 41 | 42 | The function `eslintConfigScratch.config` is a re-export of the `config` function from `typescript-eslint`, and helps 43 | with merging and extending configurations. 44 | 45 | Add `prettier.config.mjs` to your project root as well: 46 | 47 | ```js 48 | // myProjectRoot/prettier.config.mjs 49 | import { prettierConfigScratch } from 'eslint-config-scratch' 50 | 51 | export default prettierConfigScratch.recommended 52 | ``` 53 | 54 | Finally, add scripts like these to your `package.json`: 55 | 56 | ```json 57 | "scripts": { 58 | "format": "prettier --write . && eslint --fix", 59 | "lint": "eslint && prettier --check .", 60 | } 61 | ``` 62 | 63 | ## Basic Configuration 64 | 65 | The `eslintConfigScratch.config` is a re-export of the `config` function from `typescript-eslint`. Full documentation 66 | is available here: . 67 | 68 | The `config` function can be used to add or override rules, plugins, and other configuration options. For example: 69 | 70 | ```js 71 | // myProjectRoot/eslint.config.mjs 72 | import { eslintConfigScratch } from 'eslint-config-scratch' 73 | import { globalIgnores } from 'eslint/config' 74 | import globals from 'globals' 75 | 76 | export default eslintConfigScratch.config( 77 | eslintConfigScratch.recommended, 78 | { 79 | languageOptions: { 80 | globals: { 81 | ...globals.node, 82 | MY_CUSTOM_GLOBAL: 'readonly', 83 | }, 84 | parserOptions: { 85 | projectService: true, 86 | tsconfigRootDir: import.meta.dirname, 87 | }, 88 | }, 89 | }, 90 | // Ignore all files in the dist directory 91 | globalIgnores(['dist/**/*']), 92 | ) 93 | ``` 94 | 95 | ## Granular Configuration 96 | 97 | The `eslintConfigScratch` object contains granular configurations as well: 98 | 99 | - `recommendedTypeFree`: A configuration suitable for contexts without type information, such as a JavaScript project. 100 | - `recommendedTypeChecked`: A configuration suitable for contexts with type information, such as a TypeScript project. 101 | You must provide extra configuration to `parserOptions` to enable type checking. See here: 102 | 103 | 104 | The `recommended` configuration is a combination of the two, and should be suitable for most projects. Features 105 | requiring type information are enabled for TypeScript files, and features that don't require type information are 106 | enabled for all files. 107 | 108 | ## Legacy Styles 109 | 110 | Scratch used very different styling rules in `eslint-config-scratch@^9` and below. If you need to use those rules, you 111 | can use these legacy configurations: 112 | 113 | - `eslintConfigScratch.legacy.base`: Legacy base configuration, not configured for any particular environment 114 | - `eslintConfigScratch.legacy.es6`: Legacy rules for targeting Scratch's supported web browsers 115 | - `eslintConfigScratch.legacy.node`: Legacy rules for targeting Node.js 116 | - `eslintConfigScratch.legacy.react`: Legacy rules for targeting Scratch's supported web browsers with React 117 | 118 | New projects should not use these rule sets. They may disappear in the future. Scratch did not use Prettier at this 119 | time, so there is no legacy Prettier configuration. 120 | 121 | Legacy Scratch projects usually `extend` more than one of these at a time, and potentially a different set per 122 | subdirectory. To do that in this new flat configuration format: 123 | 124 | ```js 125 | // scratch-gui/eslint.config.mjs 126 | import { eslintConfigScratch } from 'eslint-config-scratch' 127 | import { globalIgnores } from 'eslint/config' 128 | import globals from 'globals' 129 | 130 | export default eslintConfigScratch.config( 131 | eslintConfigScratch.legacy.base, 132 | eslintConfigScratch.legacy.es6, 133 | { 134 | files: ['src/**/*.js', 'src/**/*.jsx'], 135 | extends: [eslintConfigScratch.legacy.react], 136 | languageOptions: { 137 | globals: globals.browser, 138 | }, 139 | rules: { 140 | // ...customized rules for `src/`... 141 | }, 142 | // ...other settings for `src/`... 143 | }, 144 | // ...settings for `test/`, etc... 145 | globalIgnores(['dist/**/*']), 146 | ) 147 | ``` 148 | 149 | ## Committing 150 | 151 | This project uses [semantic release](https://github.com/semantic-release/semantic-release) 152 | to ensure version bumps follow semver so that projects using the config don't 153 | break unexpectedly. 154 | 155 | In order to automatically determine the type of version bump necessary, semantic 156 | release expects commit messages to be formatted following 157 | [conventional-changelog](https://github.com/bcoe/conventional-changelog-standard/blob/master/convention.md). 158 | 159 | ```raw 160 | (): 161 | 162 | 163 | 164 |