Skip to content

Conversation

@IronGeek
Copy link
Contributor

@IronGeek IronGeek commented Jul 9, 2025

Description

This PR add the following changes to the multiline-comment-style rule:

1. Add support for exclamation comments

Exclamation comments are block comments which starts with an exclamation mark (/*! ... */).
AS IS using @stylistic/multiline-comment-style: ["error", "starred-block"] rule with the following code comment resulted in error:

Error: Expected a linebreak after '/*'

/*!
 * Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
 * Copyright (c) 2023-PRESENT ESLint Stylistic contributors
 *
 * Licensed under the MIT license. See LICENSE file in the project root for details.
 */

This PR addresses the issue so that the above code is valid.

2. Add new checkExclamation option for the separate-lines option.

Like JSDoc comment, by default, all exclamation comments are also ignored when bare-block and separate-lines option is used. This PR add a new checkExclamation option to the separate-lines option to toggle the exclamation comments exclusion from the separate-lines option.

With @stylistic/multiline-comment-style: ["error", "separate-lines", { checkExclamation: true }] the following code would result in error:

Error: Expected multiple line comments instead of a block comment

/*!
  Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
  Copyright (c) 2023-PRESENT ESLint Stylistic contributors

  Licensed under the MIT license. See LICENSE file in the project root for details.
*/

Linked Issues

Additional context

@9romise
Copy link
Member

9romise commented Jul 10, 2025

Hi! Thanks for tackling these improvements!

Could you split the PR into separate ones?

  1. exclamation comments support
  2. autofix behavior changes

This helps us maintain a cleaner version history and safer releases.

Also, could you add a short explanation about exclamation comments in the docs?

@IronGeek
Copy link
Contributor Author

IronGeek commented Jul 10, 2025

Hi! Thanks for tackling these improvements!

Could you split the PR into separate ones?

  1. exclamation comments support
  2. autofix behavior changes

This helps us maintain a cleaner version history and safer releases.

Also, could you add a short explanation about exclamation comments in the docs?

OK, I'll see what I can do...

@IronGeek IronGeek force-pushed the feat/exclamation-comments branch from 6c91344 to d607a2f Compare July 10, 2025 17:20
@IronGeek
Copy link
Contributor Author

@9romise I've rebased and split the PR to #876 and #881

@IronGeek
Copy link
Contributor Author

Also, could you add a short explanation about exclamation comments in the docs?

I'm sorry, I missed that. I've since added that explanation to the docs.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Jul 11, 2025

Open in StackBlitz

npm i https://pkg.pr.new/@stylistic/eslint-plugin@876
npm i https://pkg.pr.new/@eslint-stylistic/metadata@876

commit: c85239f

@codecov
Copy link

codecov bot commented Jul 11, 2025

Bundle Report

Changes will increase total bundle size by 831 bytes (0.11%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
@stylistic/eslint-plugin-esm 771.99kB 831 bytes (0.11%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: @stylistic/eslint-plugin-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
rules/multiline-comment-style.js 831 bytes 16.03kB 5.47% ⚠️

Files in rules/multiline-comment-style.js:

  • ./rules/multiline-comment-style/multiline-comment-style.ts → Total Size: 15.81kB

@codecov
Copy link

codecov bot commented Jul 11, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.68%. Comparing base (4a5fe59) to head (c85239f).
Report is 7 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #876   +/-   ##
=======================================
  Coverage   99.68%   99.68%           
=======================================
  Files          95       95           
  Lines       18090    18103   +13     
  Branches     4675     4681    +6     
=======================================
+ Hits        18033    18046   +13     
  Misses         57       57           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@9romise 9romise added this pull request to the merge queue Jul 16, 2025
Merged via the queue into eslint-stylistic:main with commit b2ece9f Jul 16, 2025
14 checks passed
argocd-diff-action-bot bot pushed a commit to argocd-diff-action/argocd-diff-action that referenced this pull request Aug 19, 2025
## [0.5.4](0.5.3...0.5.4) (2025-08-19)

### Build & Dependencies

* **deps-dev:** bump @stylistic/eslint-plugin from 4.2.0 to 5.2.2 ([#163](#163)) ([3ae28b0](3ae28b0)), closes [eslint-stylistic/eslint-stylistic#905](eslint-stylistic/eslint-stylistic#905) [eslint-stylistic/eslint-stylistic#907](eslint-stylistic/eslint-stylistic#907) [eslint-stylistic/eslint-stylistic#887](eslint-stylistic/eslint-stylistic#887) [eslint-stylistic/eslint-stylistic#903](eslint-stylistic/eslint-stylistic#903) [eslint-stylistic/eslint-stylistic#886](eslint-stylistic/eslint-stylistic#886) [eslint-stylistic/eslint-stylistic#829](eslint-stylistic/eslint-stylistic#829) [eslint-stylistic/eslint-stylistic#867](eslint-stylistic/eslint-stylistic#867) [eslint-stylistic/eslint-stylistic#796](eslint-stylistic/eslint-stylistic#796) [eslint-stylistic/eslint-stylistic#884](eslint-stylistic/eslint-stylistic#884) [eslint-stylistic/eslint-stylistic#863](eslint-stylistic/eslint-stylistic#863) [eslint-stylistic/eslint-stylistic#876](eslint-stylistic/eslint-stylistic#876) [eslint-stylistic/eslint-stylistic#873](eslint-stylistic/eslint-stylistic#873) [eslint-stylistic/eslint-stylistic#862](eslint-stylistic/eslint-stylistic#862) [eslint-stylistic/eslint-stylistic#883](eslint-stylistic/eslint-stylistic#883) [eslint-stylistic/eslint-stylistic#861](eslint-stylistic/eslint-stylistic#861) [#905](https://github.com/argocd-diff-action/argocd-diff-action/issues/905) [#907](https://github.com/argocd-diff-action/argocd-diff-action/issues/907) [#900](https://github.com/argocd-diff-action/argocd-diff-action/issues/900) [#903](https://github.com/argocd-diff-action/argocd-diff-action/issues/903) [#887](https://github.com/argocd-diff-action/argocd-diff-action/issues/887) [#897](https://github.com/argocd-diff-action/argocd-diff-action/issues/897) [#891](https://github.com/argocd-diff-action/argocd-diff-action/issues/891) [#886](https://github.com/argocd-diff-action/argocd-diff-action/issues/886) [#867](https://github.com/argocd-diff-action/argocd-diff-action/issues/867) [#884](https://github.com/argocd-diff-action/argocd-diff-action/issues/884) [#796](https://github.com/argocd-diff-action/argocd-diff-action/issues/796) [#863](https://github.com/argocd-diff-action/argocd-diff-action/issues/863) [#876](https://github.com/argocd-diff-action/argocd-diff-action/issues/876) [#873](https://github.com/argocd-diff-action/argocd-diff-action/issues/873) [#862](https://github.com/argocd-diff-action/argocd-diff-action/issues/862) [#829](https://github.com/argocd-diff-action/argocd-diff-action/issues/829) [#883](https://github.com/argocd-diff-action/argocd-diff-action/issues/883) [#908](https://github.com/argocd-diff-action/argocd-diff-action/issues/908) [#900](https://github.com/argocd-diff-action/argocd-diff-action/issues/900) [#888](https://github.com/argocd-diff-action/argocd-diff-action/issues/888) [#903](https://github.com/argocd-diff-action/argocd-diff-action/issues/903) [#897](https://github.com/argocd-diff-action/argocd-diff-action/issues/897) [#891](https://github.com/argocd-diff-action/argocd-diff-action/issues/891) [#887](https://github.com/argocd-diff-action/argocd-diff-action/issues/887) [#886](https://github.com/argocd-diff-action/argocd-diff-action/issues/886)
* **deps-dev:** bump the npm-development group with 6 updates ([#162](#162)) ([08d72b5](08d72b5)), closes [#19828](https://github.com/argocd-diff-action/argocd-diff-action/issues/19828) [#19882](https://github.com/argocd-diff-action/argocd-diff-action/issues/19882) [#19971](https://github.com/argocd-diff-action/argocd-diff-action/issues/19971) [#19877](https://github.com/argocd-diff-action/argocd-diff-action/issues/19877) [#19965](https://github.com/argocd-diff-action/argocd-diff-action/issues/19965) [#19932](https://github.com/argocd-diff-action/argocd-diff-action/issues/19932) [#19944](https://github.com/argocd-diff-action/argocd-diff-action/issues/19944) [#19937](https://github.com/argocd-diff-action/argocd-diff-action/issues/19937) [#19970](https://github.com/argocd-diff-action/argocd-diff-action/issues/19970) [#19964](https://github.com/argocd-diff-action/argocd-diff-action/issues/19964) [#19953](https://github.com/argocd-diff-action/argocd-diff-action/issues/19953) [#19960](https://github.com/argocd-diff-action/argocd-diff-action/issues/19960) [#19949](https://github.com/argocd-diff-action/argocd-diff-action/issues/19949) [#19919](https://github.com/argocd-diff-action/argocd-diff-action/issues/19919) [#19948](https://github.com/argocd-diff-action/argocd-diff-action/issues/19948) [#19943](https://github.com/argocd-diff-action/argocd-diff-action/issues/19943) [#19971](https://github.com/argocd-diff-action/argocd-diff-action/issues/19971) [#19877](https://github.com/argocd-diff-action/argocd-diff-action/issues/19877) [#19970](https://github.com/argocd-diff-action/argocd-diff-action/issues/19970) [#19965](https://github.com/argocd-diff-action/argocd-diff-action/issues/19965) [#19964](https://github.com/argocd-diff-action/argocd-diff-action/issues/19964) [#19953](https://github.com/argocd-diff-action/argocd-diff-action/issues/19953) [#19960](https://github.com/argocd-diff-action/argocd-diff-action/issues/19960) [#19932](https://github.com/argocd-diff-action/argocd-diff-action/issues/19932) [#19949](https://github.com/argocd-diff-action/argocd-diff-action/issues/19949) [#19828](https://github.com/argocd-diff-action/argocd-diff-action/issues/19828) [#19919](https://github.com/argocd-diff-action/argocd-diff-action/issues/19919) [#19882](https://github.com/argocd-diff-action/argocd-diff-action/issues/19882) [#19948](https://github.com/argocd-diff-action/argocd-diff-action/issues/19948) [#19944](https://github.com/argocd-diff-action/argocd-diff-action/issues/19944) [#19943](https://github.com/argocd-diff-action/argocd-diff-action/issues/19943) [#19937](https://github.com/argocd-diff-action/argocd-diff-action/issues/19937) [#15702](https://github.com/argocd-diff-action/argocd-diff-action/issues/15702) [#19828](https://github.com/argocd-diff-action/argocd-diff-action/issues/19828) [#19882](https://github.com/argocd-diff-action/argocd-diff-action/issues/19882) [#19971](https://github.com/argocd-diff-action/argocd-diff-action/issues/19971) [#19877](https://github.com/argocd-diff-action/argocd-diff-action/issues/19877) [#19965](https://github.com/argocd-diff-action/argocd-diff-action/issues/19965) [#19932](https://github.com/argocd-diff-action/argocd-diff-action/issues/19932) [#19944](https://github.com/argocd-diff-action/argocd-diff-action/issues/19944) [#19937](https://github.com/argocd-diff-action/argocd-diff-action/issues/19937) [#19970](https://github.com/argocd-diff-action/argocd-diff-action/issues/19970) [#19964](https://github.com/argocd-diff-action/argocd-diff-action/issues/19964) [#19953](https://github.com/argocd-diff-action/argocd-diff-action/issues/19953) [#19960](https://github.com/argocd-diff-action/argocd-diff-action/issues/19960) [#19949](https://github.com/argocd-diff-action/argocd-diff-action/issues/19949) [#19919](https://github.com/argocd-diff-action/argocd-diff-action/issues/19919) [#19948](https://github.com/argocd-diff-action/argocd-diff-action/issues/19948) [#19943](https://github.com/argocd-diff-action/argocd-diff-action/issues/19943) [#19971](https://github.com/argocd-diff-action/argocd-diff-action/issues/19971) [#19877](https://github.com/argocd-diff-action/argocd-diff-action/issues/19877) [#19970](https://github.com/argocd-diff-action/argocd-diff-action/issues/19970) [#19965](https://github.com/argocd-diff-action/argocd-diff-action/issues/19965) [#19964](https://github.com/argocd-diff-action/argocd-diff-action/issues/19964) [#19953](https://github.com/argocd-diff-action/argocd-diff-action/issues/19953) [#19960](https://github.com/argocd-diff-action/argocd-diff-action/issues/19960) [#19932](https://github.com/argocd-diff-action/argocd-diff-action/issues/19932) [#19949](https://github.com/argocd-diff-action/argocd-diff-action/issues/19949) [#19828](https://github.com/argocd-diff-action/argocd-diff-action/issues/19828) [#19919](https://github.com/argocd-diff-action/argocd-diff-action/issues/19919) [#19882](https://github.com/argocd-diff-action/argocd-diff-action/issues/19882) [#19948](https://github.com/argocd-diff-action/argocd-diff-action/issues/19948) [#19944](https://github.com/argocd-diff-action/argocd-diff-action/issues/19944) [#19943](https://github.com/argocd-diff-action/argocd-diff-action/issues/19943) [#19937](https://github.com/argocd-diff-action/argocd-diff-action/issues/19937) [#19971](https://github.com/argocd-diff-action/argocd-diff-action/issues/19971) [#19877](https://github.com/argocd-diff-action/argocd-diff-action/issues/19877) [#19970](https://github.com/argocd-diff-action/argocd-diff-action/issues/19970) [#19965](https://github.com/argocd-diff-action/argocd-diff-action/issues/19965) [#19964](https://github.com/argocd-diff-action/argocd-diff-action/issues/19964) [#19953](https://github.com/argocd-diff-action/argocd-diff-action/issues/19953) [#19960](https://github.com/argocd-diff-action/argocd-diff-action/issues/19960) [#15702](https://github.com/argocd-diff-action/argocd-diff-action/issues/15702) [#15702](https://github.com/argocd-diff-action/argocd-diff-action/issues/15702) [#11391](https://github.com/argocd-diff-action/argocd-diff-action/issues/11391) [#11397](https://github.com/argocd-diff-action/argocd-diff-action/issues/11397) [#11351](https://github.com/argocd-diff-action/argocd-diff-action/issues/11351) [#11412](https://github.com/argocd-diff-action/argocd-diff-action/issues/11412) [#11361](https://github.com/argocd-diff-action/argocd-diff-action/issues/11361) [#11329](https://github.com/argocd-diff-action/argocd-diff-action/issues/11329) [#11361](https://github.com/argocd-diff-action/argocd-diff-action/issues/11361) [#11412](https://github.com/argocd-diff-action/argocd-diff-action/issues/11412) [#11](#11) [#11412](https://github.com/argocd-diff-action/argocd-diff-action/issues/11412)
* **deps:** bump actions/checkout from 4 to 5 ([#170](#170)) ([a7d32d7](a7d32d7)), closes [actions/checkout#2226](actions/checkout#2226) [actions/checkout#2238](actions/checkout#2238) [actions/checkout#1971](actions/checkout#1971) [actions/checkout#1977](actions/checkout#1977) [actions/checkout#2043](actions/checkout#2043) [actions/checkout#2044](actions/checkout#2044) [actions/checkout#2194](actions/checkout#2194) [actions/checkout#2224](actions/checkout#2224) [actions/checkout#2236](actions/checkout#2236) [actions/checkout#2237](actions/checkout#2237) [actions/checkout#1971](actions/checkout#1971) [actions/checkout#1977](actions/checkout#1977) [actions/checkout#2043](actions/checkout#2043) [actions/checkout#2194](actions/checkout#2194) [actions/checkout#2236](actions/checkout#2236) [actions/checkout#1941](actions/checkout#1941) [actions/checkout#1946](actions/checkout#1946) [actions/checkout#1924](actions/checkout#1924) [actions/checkout#1919](actions/checkout#1919) [actions/checkout#2226](actions/checkout#2226) [actions/checkout#1971](actions/checkout#1971) [actions/checkout#1977](actions/checkout#1977) [actions/checkout#2043](actions/checkout#2043) [actions/checkout#2044](actions/checkout#2044) [actions/checkout#2194](actions/checkout#2194) [actions/checkout#2224](actions/checkout#2224) [actions/checkout#2236](actions/checkout#2236) [actions/checkout#1941](actions/checkout#1941) [actions/checkout#1946](actions/checkout#1946) [actions/checkout#1924](actions/checkout#1924) [actions/checkout#1180](actions/checkout#1180) [actions/checkout#1777](actions/checkout#1777) [actions/checkout#1872](actions/checkout#1872) [actions/checkout#1739](actions/checkout#1739) [actions/checkout#1697](actions/checkout#1697) [actions/checkout#1774](actions/checkout#1774) [actions/checkout#1776](actions/checkout#1776) [actions/checkout#1732](actions/checkout#1732) [actions/checkout#1703](actions/checkout#1703) [actions/checkout#1694](actions/checkout#1694) [actions/checkout#1696](actions/checkout#1696) [actions/checkout#1695](actions/checkout#1695) [actions/checkout#1707](actions/checkout#1707) [actions/checkout#1692](actions/checkout#1692) [actions/checkout#1688](actions/checkout#1688) [actions/checkout#1693](actions/checkout#1693) [actions/checkout#1643](actions/checkout#1643) [#2238](https://github.com/argocd-diff-action/argocd-diff-action/issues/2238) [#2226](https://github.com/argocd-diff-action/argocd-diff-action/issues/2226)
* **deps:** bump amannn/action-semantic-pull-request from 5 to 6 ([#169](#169)) ([56cfcc6](56cfcc6)), closes [#287](https://github.com/argocd-diff-action/argocd-diff-action/issues/287) [#287](https://github.com/argocd-diff-action/argocd-diff-action/issues/287) [#269](https://github.com/argocd-diff-action/argocd-diff-action/issues/269) [#262](https://github.com/argocd-diff-action/argocd-diff-action/issues/262) [#263](https://github.com/argocd-diff-action/argocd-diff-action/issues/263) [#261](https://github.com/argocd-diff-action/argocd-diff-action/issues/261) [#240](https://github.com/argocd-diff-action/argocd-diff-action/issues/240) [#229](https://github.com/argocd-diff-action/argocd-diff-action/issues/229) [#226](https://github.com/argocd-diff-action/argocd-diff-action/issues/226) [#208](https://github.com/argocd-diff-action/argocd-diff-action/issues/208) [#207](https://github.com/argocd-diff-action/argocd-diff-action/issues/207) [#205](https://github.com/argocd-diff-action/argocd-diff-action/issues/205) [#205](https://github.com/argocd-diff-action/argocd-diff-action/issues/205) [#289](https://github.com/argocd-diff-action/argocd-diff-action/issues/289) [#287](https://github.com/argocd-diff-action/argocd-diff-action/issues/287) [#286](https://github.com/argocd-diff-action/argocd-diff-action/issues/286) [#231](https://github.com/argocd-diff-action/argocd-diff-action/issues/231) [#281](https://github.com/argocd-diff-action/argocd-diff-action/issues/281) [#280](https://github.com/argocd-diff-action/argocd-diff-action/issues/280) [#276](https://github.com/argocd-diff-action/argocd-diff-action/issues/276) [#272](https://github.com/argocd-diff-action/argocd-diff-action/issues/272)

[skip release]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants