-
-
Notifications
You must be signed in to change notification settings - Fork 210
Port over all ember-template-lint rules that would be applicable for gjs/gts projects #2371
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Revert .github changes Remove attribute indentation rule. We have prettier for formatting concerns Port over gjs/gts relevant ember-template-lint
15d9f8d to
c0e3d77
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR ports ember-template-lint rules to eslint-plugin-ember to support gjs/gts projects. The goal is to enable projects without .hbs files to no longer need ember-template-lint as a separate dependency, consolidating template linting into ESLint.
Changes:
- Adds numerous template-* rules covering accessibility, best practices, deprecations, and style
- Introduces strict-gjs and strict-gts configurations
- Updates the rule generation script to support these new configurations
Reviewed changes
Copilot reviewed 298 out of 428 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/lib/rules/template-*.js | Test files for newly added template linting rules |
| lib/rules/template-*.js | Implementation of template linting rules ported from ember-template-lint |
| docs/rules/template-*.md | Documentation for each new rule |
| scripts/update-rules.js | Updated to generate strict-gjs and strict-gts rule configurations |
| lib/config/strict-gjs.js | New strict configuration for .gjs files |
| lib/config/strict-gts.js | New strict configuration for .gts files |
| lib/config-legacy/strict-gjs.js | Legacy format strict configuration for .gjs files |
| lib/config-legacy/strict-gts.js | Legacy format strict configuration for .gts files |
| lib/recommended-rules.js | Updated with new recommended template rules |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| strictGjs: true, | ||
| strictGts: true, |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The strictGjs and strictGts properties are defined inside the messages object but should be at the meta level. They should be moved outside of messages to be sibling properties of type, docs, schema, and messages.
| strictGjs: true, | ||
| strictGts: true, |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The strictGjs and strictGts properties are defined inside the messages object but should be at the meta level. They should be moved outside of messages to be sibling properties of type, docs, schema, and messages.
| strictGjs: true, | ||
| strictGts: true, |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The strictGjs and strictGts properties are defined inside the messages object but should be at the meta level. They should be moved outside of messages to be sibling properties of type, docs, schema, and messages.
| strictGjs: true, | ||
| strictGts: true, |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The strictGjs and strictGts properties are defined inside the messages object but should be at the meta level. They should be moved outside of messages to be sibling properties of type, docs, schema, and messages.
| strictGjs: true, | ||
| strictGts: true, |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The strictGjs and strictGts properties are defined inside the messages object but should be at the meta level. They should be moved outside of messages to be sibling properties of type, docs, schema, and messages.
| strictGjs: true, | ||
| strictGts: true, |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The strictGjs and strictGts properties are defined inside the messages object but should be at the meta level. They should be moved outside of messages to be sibling properties of type, docs, schema, and messages.
| strictGjs: true, | ||
| strictGts: true, |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The strictGjs and strictGts properties are defined inside the messages object but should be at the meta level. They should be moved outside of messages to be sibling properties of type, docs, schema, and messages.
| strictGjs: true, | ||
| strictGts: true, |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The strictGjs and strictGts properties are defined inside the messages object but should be at the meta level. They should be moved outside of messages to be sibling properties of type, docs, schema, and messages.
| strictGjs: true, | ||
| strictGts: true, |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The strictGjs and strictGts properties are defined inside the messages object but should be at the meta level. They should be moved outside of messages to be sibling properties of type, docs, schema, and messages.
| strictGjs: true, | ||
| strictGts: true, | ||
| }, |
Copilot
AI
Feb 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The strictGjs and strictGts properties are defined inside the docs object but should be at the meta level. They should be moved outside of docs to be sibling properties of type, docs, schema, and messages.
| strictGjs: true, | |
| strictGts: true, | |
| }, | |
| }, | |
| strictGjs: true, | |
| strictGts: true, |
Previously iterated on in #2365
In gjs/gts projects, after this PR is merged, projects without hbs will no longer need ember-template-lint.
And in the next major of eslint-plugin-ember, I propose all of these rules become default for gjs/gts files.
TODOs
template-prefix for all new rules