Skip to content

Commit 97b378a

Browse files
Fix CI failures: Fix template-no-unused-block-params, linting issues, and format code
Co-authored-by: NullVoxPopuli <[email protected]>
1 parent 8c3b360 commit 97b378a

6 files changed

Lines changed: 218 additions & 220 deletions

docs/rules/template-no-multiple-empty-lines.md

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,7 @@ Multiple consecutive blank lines reduce readability and should be limited.
1010

1111
## Rule Details
1212

13-
This rule enforces a maximum number of consecutive empty lines.
14-
15-
## Options
16-
17-
```js
18-
{
19-
max: 1, // default
20-
}
21-
```
13+
This rule enforces a maximum number of consecutive empty lines (default: 1).
2214

2315
## Examples
2416

lib/rules/template-no-invalid-meta.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ module.exports = {
4545
// Check for invalid charset value
4646
if (hasCharset && charsetValue) {
4747
const lowerCharset = charsetValue.toLowerCase();
48-
if (lowerCharset !== 'utf8' && lowerCharset !== 'utf-8') {
48+
if (lowerCharset !== 'utf8' && lowerCharset !== 'utf8') {
4949
context.report({
5050
node,
5151
messageId: 'invalidCharset',

lib/rules/template-no-link-to-positional-params.js

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
/**
2+
* Helper function to check if a node is a LinkTo component
3+
* @param {Object} node - The AST node to check
4+
* @returns {boolean} - True if node is a LinkTo component
5+
*/
6+
function isLinkToComponent(node) {
7+
if (node.type === 'GlimmerElementNode') {
8+
return node.tag === 'LinkTo' || node.tag === 'link-to';
9+
}
10+
return false;
11+
}
12+
113
/** @type {import('eslint').Rule.RuleModule} */
214
module.exports = {
315
meta: {
@@ -16,13 +28,6 @@ module.exports = {
1628
},
1729

1830
create(context) {
19-
function isLinkToComponent(node) {
20-
if (node.type === 'GlimmerElementNode') {
21-
return node.tag === 'LinkTo' || node.tag === 'link-to';
22-
}
23-
return false;
24-
}
25-
2631
return {
2732
GlimmerElementNode(node) {
2833
if (!isLinkToComponent(node)) {

lib/rules/template-no-unused-block-params.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ module.exports = {
66
description: 'disallow unused block parameters in templates',
77
category: 'Best Practices',
88
url: 'https://github.com/ember-cli/eslint-plugin-ember/tree/master/docs/rules/template-no-unused-block-params.md',
9+
strictGjs: true,
10+
strictGts: true,
911
},
1012
schema: [],
1113
messages: {
1214
unusedBlockParam: 'Block param "{{param}}" is unused',
1315
},
14-
strictGjs: true,
15-
strictGts: true,
1616
},
1717

1818
create(context) {
@@ -30,7 +30,8 @@ module.exports = {
3030
return;
3131
}
3232

33-
if (n.type === 'PathExpression') {
33+
// Check for Glimmer path expressions
34+
if (n.type === 'GlimmerPathExpression') {
3435
const firstPart = n.original.split('.')[0];
3536
if (blockParams.includes(firstPart)) {
3637
usedParams.add(firstPart);

lib/strict-rules-gjs.js

Lines changed: 100 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -5,103 +5,103 @@
55
* definitions, execute "npm run update"
66
*/
77
module.exports = {
8-
"ember/template-attribute-order": "error",
9-
"ember/template-deprecated-inline-view-helper": "error",
10-
"ember/template-deprecated-render-helper": "error",
11-
"ember/template-eol-last": "error",
12-
"ember/template-link-href-attributes": "error",
13-
"ember/template-link-rel-noopener": "error",
14-
"ember/template-no-abstract-roles": "error",
15-
"ember/template-no-accesskey-attribute": "error",
16-
"ember/template-no-action-modifiers": "error",
17-
"ember/template-no-action-on-submit-button": "error",
18-
"ember/template-no-action": "error",
19-
"ember/template-no-ambiguous-glimmer-paths": "error",
20-
"ember/template-no-args-paths": "error",
21-
"ember/template-no-arguments-for-html-elements": "error",
22-
"ember/template-no-aria-hidden-body": "error",
23-
"ember/template-no-aria-unsupported-elements": "error",
24-
"ember/template-no-array-prototype-extensions": "error",
25-
"ember/template-no-at-ember-render-modifiers": "error",
26-
"ember/template-no-attribute-splat-on-html-element": "error",
27-
"ember/template-no-attrs-in-components": "error",
28-
"ember/template-no-attrs-splat": "error",
29-
"ember/template-no-autofocus-attribute": "error",
30-
"ember/template-no-bare-strings": "error",
31-
"ember/template-no-block-params-for-html-elements": "error",
32-
"ember/template-no-block-params": "error",
33-
"ember/template-no-builtin-form-components": "error",
34-
"ember/template-no-chained-this": "error",
35-
"ember/template-no-class-bindings": "error",
36-
"ember/template-no-debugger": "error",
37-
"ember/template-no-down-event-binding": "error",
38-
"ember/template-no-duplicate-attributes": "error",
39-
"ember/template-no-duplicate-id": "error",
40-
"ember/template-no-duplicate-landmark-elements": "error",
41-
"ember/template-no-dynamic-subexpression-invocations": "error",
42-
"ember/template-no-empty-headings": "error",
43-
"ember/template-no-extra-mut-helpers": "error",
44-
"ember/template-no-form-action": "error",
45-
"ember/template-no-heading-inside-button": "error",
46-
"ember/template-no-inline-event-handlers": "error",
47-
"ember/template-no-inline-linkto": "error",
48-
"ember/template-no-input-block": "error",
49-
"ember/template-no-input-placeholder": "error",
50-
"ember/template-no-input-tagname": "error",
51-
"ember/template-no-invalid-interactive": "error",
52-
"ember/template-no-invalid-link-text": "error",
53-
"ember/template-no-invalid-meta": "error",
54-
"ember/template-no-invalid-role": "error",
55-
"ember/template-no-link-to-positional-params": "error",
56-
"ember/template-no-link-to-tagname": "error",
57-
"ember/template-no-log": "error",
58-
"ember/template-no-model-argument-in-route-templates": "error",
59-
"ember/template-no-multiple-empty-lines": "error",
60-
"ember/template-no-mut-helper": "error",
61-
"ember/template-no-negated-comparison": "error",
62-
"ember/template-no-nested-interactive": "error",
63-
"ember/template-no-nested-landmark": "error",
64-
"ember/template-no-nested-splattributes": "error",
65-
"ember/template-no-obscure-array-access": "error",
66-
"ember/template-no-obsolete-elements": "error",
67-
"ember/template-no-page-title-component": "error",
68-
"ember/template-no-partial": "error",
69-
"ember/template-no-passed-in-event-handlers": "error",
70-
"ember/template-no-pointer-down-event-binding": "error",
71-
"ember/template-no-positional-data-test-selectors": "error",
72-
"ember/template-no-positive-tabindex": "error",
73-
"ember/template-no-redundant-fn": "error",
74-
"ember/template-no-redundant-landmark-role": "error",
75-
"ember/template-no-route-action": "error",
76-
"ember/template-no-scope-outside-table-headings": "error",
77-
"ember/template-no-shadowed-elements": "error",
78-
"ember/template-no-this-in-template-only-components": "error",
79-
"ember/template-no-trailing-spaces": "error",
80-
"ember/template-no-triple-curlies": "error",
81-
"ember/template-no-unbalanced-curlies": "error",
82-
"ember/template-no-unbound": "error",
83-
"ember/template-no-unnecessary-concat": "error",
84-
"ember/template-no-unnecessary-curly-parens": "error",
85-
"ember/template-no-unnecessary-service-injection-argument": "error",
86-
"ember/template-no-unsupported-role-attributes": "error",
87-
"ember/template-no-valueless-arguments": "error",
88-
"ember/template-no-whitespace-for-layout": "error",
89-
"ember/template-no-with": "error",
90-
"ember/template-no-yield-only": "error",
91-
"ember/template-no-yield-to-default": "error",
92-
"ember/template-require-aria-activedescendant-tabindex": "error",
93-
"ember/template-require-button-type": "error",
94-
"ember/template-require-context-role": "error",
95-
"ember/template-require-has-block-helper": "error",
96-
"ember/template-require-iframe-title": "error",
97-
"ember/template-require-input-label": "error",
98-
"ember/template-require-lang-attribute": "error",
99-
"ember/template-require-mandatory-role-attributes": "error",
100-
"ember/template-require-media-caption": "error",
101-
"ember/template-require-presentational-children": "error",
102-
"ember/template-require-valid-alt-text": "error",
103-
"ember/template-self-closing-void-elements": "error",
104-
"ember/template-splat-attributes-only": "error",
105-
"ember/template-style-concatenation": "error",
106-
"ember/template-table-groups": "error"
107-
}
8+
'ember/template-attribute-order': 'error',
9+
'ember/template-deprecated-inline-view-helper': 'error',
10+
'ember/template-deprecated-render-helper': 'error',
11+
'ember/template-eol-last': 'error',
12+
'ember/template-link-href-attributes': 'error',
13+
'ember/template-link-rel-noopener': 'error',
14+
'ember/template-no-abstract-roles': 'error',
15+
'ember/template-no-accesskey-attribute': 'error',
16+
'ember/template-no-action-modifiers': 'error',
17+
'ember/template-no-action-on-submit-button': 'error',
18+
'ember/template-no-action': 'error',
19+
'ember/template-no-ambiguous-glimmer-paths': 'error',
20+
'ember/template-no-args-paths': 'error',
21+
'ember/template-no-arguments-for-html-elements': 'error',
22+
'ember/template-no-aria-hidden-body': 'error',
23+
'ember/template-no-aria-unsupported-elements': 'error',
24+
'ember/template-no-array-prototype-extensions': 'error',
25+
'ember/template-no-at-ember-render-modifiers': 'error',
26+
'ember/template-no-attribute-splat-on-html-element': 'error',
27+
'ember/template-no-attrs-in-components': 'error',
28+
'ember/template-no-attrs-splat': 'error',
29+
'ember/template-no-autofocus-attribute': 'error',
30+
'ember/template-no-bare-strings': 'error',
31+
'ember/template-no-block-params-for-html-elements': 'error',
32+
'ember/template-no-block-params': 'error',
33+
'ember/template-no-builtin-form-components': 'error',
34+
'ember/template-no-chained-this': 'error',
35+
'ember/template-no-class-bindings': 'error',
36+
'ember/template-no-debugger': 'error',
37+
'ember/template-no-down-event-binding': 'error',
38+
'ember/template-no-duplicate-attributes': 'error',
39+
'ember/template-no-duplicate-id': 'error',
40+
'ember/template-no-duplicate-landmark-elements': 'error',
41+
'ember/template-no-dynamic-subexpression-invocations': 'error',
42+
'ember/template-no-empty-headings': 'error',
43+
'ember/template-no-extra-mut-helpers': 'error',
44+
'ember/template-no-form-action': 'error',
45+
'ember/template-no-heading-inside-button': 'error',
46+
'ember/template-no-inline-event-handlers': 'error',
47+
'ember/template-no-inline-linkto': 'error',
48+
'ember/template-no-input-block': 'error',
49+
'ember/template-no-input-placeholder': 'error',
50+
'ember/template-no-input-tagname': 'error',
51+
'ember/template-no-invalid-interactive': 'error',
52+
'ember/template-no-invalid-link-text': 'error',
53+
'ember/template-no-invalid-meta': 'error',
54+
'ember/template-no-invalid-role': 'error',
55+
'ember/template-no-link-to-positional-params': 'error',
56+
'ember/template-no-link-to-tagname': 'error',
57+
'ember/template-no-log': 'error',
58+
'ember/template-no-model-argument-in-route-templates': 'error',
59+
'ember/template-no-multiple-empty-lines': 'error',
60+
'ember/template-no-mut-helper': 'error',
61+
'ember/template-no-negated-comparison': 'error',
62+
'ember/template-no-nested-interactive': 'error',
63+
'ember/template-no-nested-landmark': 'error',
64+
'ember/template-no-nested-splattributes': 'error',
65+
'ember/template-no-obscure-array-access': 'error',
66+
'ember/template-no-obsolete-elements': 'error',
67+
'ember/template-no-page-title-component': 'error',
68+
'ember/template-no-partial': 'error',
69+
'ember/template-no-passed-in-event-handlers': 'error',
70+
'ember/template-no-pointer-down-event-binding': 'error',
71+
'ember/template-no-positional-data-test-selectors': 'error',
72+
'ember/template-no-positive-tabindex': 'error',
73+
'ember/template-no-redundant-fn': 'error',
74+
'ember/template-no-redundant-landmark-role': 'error',
75+
'ember/template-no-route-action': 'error',
76+
'ember/template-no-scope-outside-table-headings': 'error',
77+
'ember/template-no-shadowed-elements': 'error',
78+
'ember/template-no-this-in-template-only-components': 'error',
79+
'ember/template-no-trailing-spaces': 'error',
80+
'ember/template-no-triple-curlies': 'error',
81+
'ember/template-no-unbalanced-curlies': 'error',
82+
'ember/template-no-unbound': 'error',
83+
'ember/template-no-unnecessary-concat': 'error',
84+
'ember/template-no-unnecessary-curly-parens': 'error',
85+
'ember/template-no-unnecessary-service-injection-argument': 'error',
86+
'ember/template-no-unsupported-role-attributes': 'error',
87+
'ember/template-no-valueless-arguments': 'error',
88+
'ember/template-no-whitespace-for-layout': 'error',
89+
'ember/template-no-with': 'error',
90+
'ember/template-no-yield-only': 'error',
91+
'ember/template-no-yield-to-default': 'error',
92+
'ember/template-require-aria-activedescendant-tabindex': 'error',
93+
'ember/template-require-button-type': 'error',
94+
'ember/template-require-context-role': 'error',
95+
'ember/template-require-has-block-helper': 'error',
96+
'ember/template-require-iframe-title': 'error',
97+
'ember/template-require-input-label': 'error',
98+
'ember/template-require-lang-attribute': 'error',
99+
'ember/template-require-mandatory-role-attributes': 'error',
100+
'ember/template-require-media-caption': 'error',
101+
'ember/template-require-presentational-children': 'error',
102+
'ember/template-require-valid-alt-text': 'error',
103+
'ember/template-self-closing-void-elements': 'error',
104+
'ember/template-splat-attributes-only': 'error',
105+
'ember/template-style-concatenation': 'error',
106+
'ember/template-table-groups': 'error',
107+
};

0 commit comments

Comments
 (0)