@tony.ganchev/eslint-plugin-header 3.4.3 → 3.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -79,8 +79,14 @@ consistent header structures. Notable adopters include:
79
79
     
80
80
  [![Salesforce](https://github.com/forcedotcom.png?size=48)](./docs/consumers.md#salesforce)
81
81
     
82
+ [![Google](https://github.com/google.png?size=48)](./docs/consumers.md#google)
83
+    
82
84
  [![Angular](https://github.com/angular.png?size=48)](./docs/consumers.md#angular)
83
85
     
86
+ [![Broadcom](https://github.com/broadcom.png?size=48)](./docs/consumers.md#broadcom)
87
+    
88
+ [![VMware](https://github.com/vmware.png?size=48)](./docs/consumers.md#vmware)
89
+    
84
90
  [![Amazon](https://github.com/aws.png?size=48)](./docs/consumers.md#amazon)
85
91
     
86
92
  [![Amazon Cloudscape Design System](https://github.com/cloudscape-design.png?size=48)](./docs/consumers.md#cloudscape-design-system)
@@ -95,6 +101,8 @@ consistent header structures. Notable adopters include:
95
101
     
96
102
  [![FlowCrypt Browser Extensions](https://github.com/flowcrypt.png?size=48)](./docs/consumers.md#flowcrypt)
97
103
     
104
+ [![Frontify](https://github.com/Frontify.png?size=48)](./docs/consumers.md#frontify)
105
+    
98
106
  [![Cratis](https://github.com/Cratis.png?size=48)](./docs/consumers.md#cratis)
99
107
     
100
108
  [![Mysten Labs](https://github.com/MystenLabs.png?size=48)](./docs/consumers.md#mysten-labs)
@@ -1630,20 +1638,25 @@ migrate to _\@tony.ganchev/eslint-plugin-header_.
1630
1638
 
1631
1639
  ### Compared to [eslint-plugin-notice](https://github.com/earl-man/eslint-plugin-notice)
1632
1640
 
1633
- _eslint-plugin-notice_ is another alternative that uses a template-based approach
1634
- (powered by Lodash templates) to manage headers. This makes it quite powerful for
1635
- dynamic content but also brings in more dependencies and a more complex
1636
- configuration schema that doesn't always feel "native" to the new ESLint Flat
1637
- Config era.
1641
+ _eslint-plugin-notice_ is another alternative that uses a template-based
1642
+ approach (powered by Lodash templates) to manage headers. This makes it quite
1643
+ powerful for dynamic content but also brings in more dependencies and a more
1644
+ complex configuration schema that doesn't always feel "native" to the new ESLint
1645
+ Flat Config era.
1638
1646
 
1639
1647
  Key differences:
1640
1648
 
1649
+ - **Compatibility**: _eslint-plugin-notice_ **does not support ESLint 10** and
1650
+ **does not provide TypeScript bindings**.
1651
+ - **Support**: _eslint-plugin-notice_ has **not seen its code updated in 2
1652
+ years** and has pull request published by the project's owner dangling for
1653
+ over 2 years.
1641
1654
  - **Philosophy**: _\@tony.ganchev/eslint-plugin-header_ focuses on a zero-bloat,
1642
1655
  native ESLint feel with first-class support for Flat Config and TypeScript.
1643
- - **ESLint 9/10**: Our plugin is built from the ground up to support the latest
1644
- ESLint versions and their core features.
1656
+ The project offers much more features and includes a much larger list of
1657
+ supported languages.
1645
1658
  - **Languages**: We provide native support for linting headers in HTML, CSS,
1646
- and Markdown via their respective ESLint ecosystem plugins.
1659
+ Vue, Svelte, YAML, Markdown via their respective ESLint plugins and parsers.
1647
1660
  - **Simplicity**: No need for external template engines or complex variable
1648
1661
  mappings. Use standard JavaScript template literals in your `eslint.config.ts`
1649
1662
  to handle dynamic years or other variables.
@@ -35,7 +35,6 @@ const { lineEndingOptions, commentTypeOptions, schema } = require("./header.sche
35
35
  /**
36
36
  * @import { JSSyntaxElement, Linter, Rule, SourceCode } from "eslint"
37
37
  * @import { Comment, SourceLocation } from "estree"
38
- * @import { ViolationReport } from "@eslint/core";
39
38
  * @typedef {Rule.NodeListener} NodeListener
40
39
  * @typedef {Rule.ReportFixer} ReportFixer
41
40
  * @typedef {Rule.RuleFixer} RuleFixer
@@ -708,19 +707,14 @@ class CommentMatcher {
708
707
  this.language = language;
709
708
  }
710
709
 
711
- /**
712
- * @typedef {ViolationReport<JSSyntaxElement, string>} ViolationReportBad
713
- * @typedef {ViolationReportBad & { messageId: string }} ViolationReportEx
714
- */
715
-
716
710
  /**
717
711
  * Performs a validation of a comment against a header matching
718
712
  * configuration.
719
713
  * @param {CommentEx[]} leadingComments The block comment or sequence of
720
714
  * line comments to test.
721
715
  * @param {SourceCode} sourceCode The source code AST.
722
- * @returns {ViolationReportEx | null} If set a
723
- * violation report to pass back to ESLint or interpret as necessary.
716
+ * @returns {Rule.ReportDescriptor | null} If set a violation report to pass
717
+ * back to ESLint or interpret as necessary.
724
718
  */
725
719
  validate(leadingComments, sourceCode) {
726
720
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tony.ganchev/eslint-plugin-header",
3
- "version": "3.4.3",
3
+ "version": "3.4.4",
4
4
  "description": "The native ESLint 9/10 header plugin. A zero-bloat, drop-in replacement for 'eslint-plugin-header' with first-class Flat Config & TypeScript support. Auto-fix Copyright, License, and banner comments in JavaScript, TypeScript, Vue, Svelte, CSS, HTML, YAML, and Markdown files. Supports oxlint.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -18,30 +18,29 @@
18
18
  "CONTRIBUTING.md"
19
19
  ],
20
20
  "devDependencies": {
21
- "@eslint/core": "^1.2.0",
22
21
  "@eslint/css": "^1.1.0",
23
22
  "@eslint/js": "^10.0.1",
24
23
  "@eslint/markdown": "^8.0.1",
25
- "@html-eslint/eslint-plugin": "^0.58.1",
24
+ "@html-eslint/eslint-plugin": "^0.59.0",
26
25
  "@stylistic/eslint-plugin": "^5.10.0",
27
26
  "@types/estree": "^1.0.8",
28
27
  "@types/json-schema": "^7.0.15",
29
- "@types/node": "^25.5.2",
28
+ "@types/node": "^25.6.0",
30
29
  "c8": "^11.0.0",
31
- "eslint": "^10.2.0",
30
+ "eslint": "^10.2.1",
32
31
  "eslint-plugin-eslint-plugin": "^7.3.2",
33
32
  "eslint-plugin-jsdoc": "^62.9.0",
34
33
  "eslint-plugin-n": "^17.24.0",
35
- "eslint-plugin-svelte": "^3.17.0",
36
- "eslint-plugin-vue": "^10.8.0",
34
+ "eslint-plugin-svelte": "^3.17.1",
35
+ "eslint-plugin-vue": "^10.9.0",
37
36
  "eslint-plugin-yml": "^3.3.1",
38
- "globals": "^17.4.0",
37
+ "globals": "^17.5.0",
39
38
  "markdownlint-cli": "^0.48.0",
40
39
  "mocha": "12.0.0-beta-10",
41
40
  "svelte-eslint-parser": "^1.6.0",
42
41
  "testdouble": "^3.20.2",
43
- "typescript": "^6.0.2",
44
- "typescript-eslint": "^8.58.0",
42
+ "typescript": "^6.0.3",
43
+ "typescript-eslint": "^8.59.0",
45
44
  "vue-eslint-parser": "^10.4.0"
46
45
  },
47
46
  "peerDependencies": {
@@ -1 +1 @@
1
- {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../lib/rules/header.js"],"names":[],"mappings":"2BAsCa,iBAAiB;0BACjB,gBAAgB;wBAChB,cAAc;0BACd,gBAAgB;;;;;yBAIhB,IAAI,GAAG,MAAM;;;;;;;;;;aAOZ,MAAM,GAAG,MAAM;;;;;;;;;;;;yBAOhB,MAAM,GAAG,MAAM,GAAG,iBAAiB;;;;;0BAGnC,UAAU,GAAG,UAAU,EAAE;;;;;;+BAEzB,IAAI,GAAG,MAAM,GAAG,SAAS;;;;;6BAGzB;IAAE,WAAW,CAAC,EAAE,gBAAgB,CAAA;CAAE;;;;;0BAElC,OAAO,GAAG,MAAM;;;;;;;;;;UAOf,MAAM;;;;;;;;;;;;;;;iBASN,WAAW;;;;;;WACX,UAAU,EAAE;;;;;;;;;;;;cAQZ,CAAC,eAAe,GAAG,YAAY,CAAC,EAAE;;;;;;;;;;;;;;;;;;YAclC,eAAe,GAAG,YAAY;;;;;;;;;;;;;;;;;4BAU/B,4BAA4B,GAAG,cAAc;oCAK7C,CAAC,QAAQ,EAAE,MAAM,CAAC;4CAClB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC;iCAE5C,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;yCACvC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC;yCAEjE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC;iDAEzD,CACV,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,cAAc,CACvB;;;;+BACS,CAAC,aAAa,CAAC,GACvB,qBAAqB,GACrB,6BAA6B,GAC7B,kBAAkB,GAClB,0BAA0B,GAC1B,0BAA0B,GAC1B,kCAAkC;;;;;+BAK1B,iBAAiB,gBAAgB,CAAC;oBAiClC,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;UAKf,SAAS,GAAG,OAAO,GAAG,MAAM;;;;WAC5B,MAAM;;;;WACN,KAAK;;;;SACL,cAAc;;;;;;;oBAKd,MAAM;;;;;kBAEN,MAAM;;;;;;;oBAMN,MAAM;;;;;;;;;;;;;;;;;;;AAmxBpB,8BAA8B;AAC9B,0BADW,eAAe,CA2TxB;AA3sBF,2EAA2E;AAC3E,+BADW,MAAM,CAAC,MAAM,EAAE;IAAE,WAAW,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAC,CAAC,CAC3C;0BA3iBkC,QAAQ;4BAAR,QAAQ;oCAC1B,QAAQ"}
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../lib/rules/header.js"],"names":[],"mappings":"2BAqCa,iBAAiB;0BACjB,gBAAgB;wBAChB,cAAc;0BACd,gBAAgB;;;;;yBAIhB,IAAI,GAAG,MAAM;;;;;;;;;;aAOZ,MAAM,GAAG,MAAM;;;;;;;;;;;;yBAOhB,MAAM,GAAG,MAAM,GAAG,iBAAiB;;;;;0BAGnC,UAAU,GAAG,UAAU,EAAE;;;;;;+BAEzB,IAAI,GAAG,MAAM,GAAG,SAAS;;;;;6BAGzB;IAAE,WAAW,CAAC,EAAE,gBAAgB,CAAA;CAAE;;;;;0BAElC,OAAO,GAAG,MAAM;;;;;;;;;;UAOf,MAAM;;;;;;;;;;;;;;;iBASN,WAAW;;;;;;WACX,UAAU,EAAE;;;;;;;;;;;;cAQZ,CAAC,eAAe,GAAG,YAAY,CAAC,EAAE;;;;;;;;;;;;;;;;;;YAclC,eAAe,GAAG,YAAY;;;;;;;;;;;;;;;;;4BAU/B,4BAA4B,GAAG,cAAc;oCAK7C,CAAC,QAAQ,EAAE,MAAM,CAAC;4CAClB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC;iCAE5C,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;yCACvC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC;yCAEjE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC;iDAEzD,CACV,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,cAAc,CACvB;;;;+BACS,CAAC,aAAa,CAAC,GACvB,qBAAqB,GACrB,6BAA6B,GAC7B,kBAAkB,GAClB,0BAA0B,GAC1B,0BAA0B,GAC1B,kCAAkC;;;;;+BAK1B,iBAAiB,gBAAgB,CAAC;oBAiClC,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;UAKf,SAAS,GAAG,OAAO,GAAG,MAAM;;;;WAC5B,MAAM;;;;WACN,KAAK;;;;SACL,cAAc;;;;;;;oBAKd,MAAM;;;;;kBAEN,MAAM;;;;;;;oBAMN,MAAM;;;;;;;;;;;;;;;;;;;AA8wBpB,8BAA8B;AAC9B,0BADW,eAAe,CA2TxB;AAtsBF,2EAA2E;AAC3E,+BADW,MAAM,CAAC,MAAM,EAAE;IAAE,WAAW,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAC,CAAC,CAC3C;0BA1iBkC,QAAQ;4BAAR,QAAQ;oCAC1B,QAAQ"}