Alexandre Vryghem
f14cd51678
117616: Allow CallExpressions like forwardRef in the standalone imports array as well
2025-05-16 18:13:51 +02:00
Alexandre Vryghem
f0a00aca95
117616: Added support to alias-import to disallow aliasing certain imports
2025-05-16 18:13:51 +02:00
Alexandre Vryghem
aed0460cfe
117616: Created custom sort-standalone-imports rule
2025-05-16 18:13:51 +02:00
Alexandre Vryghem
6017537107
117616: Fixed unique-decorators rule not working in IntelliJ because the decorator calls were registered every time the file was updated
2025-05-16 18:13:50 +02:00
Alexandre Vryghem
2d8fada3c4
117616: Created documentation for the custom lint options
2025-05-16 18:13:50 +02:00
Alexandre Vryghem
eb0572640b
117616: Ported themed-decorators rule
2025-05-16 18:13:50 +02:00
Alexandre Vryghem
598471913e
117616: Fixed unique-decorators rule to work across multiple files
...
Also moved the logic to filter out unwanted decorators to the ESLint's selector and fixed a typo
2025-05-16 18:13:50 +02:00
Yury Bondarenko
8ff5a23c40
117616: Fix rule creator call & add structure test case
2025-05-16 18:13:49 +02:00
Alexandre Vryghem
01c8c60624
117616: Ported unique-decorators rule
2025-05-16 18:13:49 +02:00
Alexandre Vryghem
4200357100
117616: Ported themed-wrapper-no-input-defaults rule
2025-05-16 18:13:49 +02:00
Alexandre Vryghem
39fec7ce64
117616: Replace all the usages of the import
2025-05-16 18:13:49 +02:00
Alexandre Vryghem
f10447b8d3
117616: Fixed alias-imports edge case where duplicate imports with different aliases were both kept
2025-05-16 18:13:49 +02:00
Alexandre Vryghem
abb03799e0
117616: Ported alias-imports rule
2025-05-16 18:13:48 +02:00
Jens Vannerum
ee83beae94
fix bug in lint rule, add docs for rule and update name so it's clear this is only for buttons currently
...
(cherry picked from commit 2380d4e751
)
2024-09-20 16:45:48 +02:00
Jens Vannerum
c249afdb3f
lint rule with autofix to disallow the disabled input on button elements
2024-09-18 13:09:25 +02:00
Alexandre Vryghem
5f922c06e0
Remove webpack@5.90.3 since it causes issues with the tests
...
This automatically removed some old eslint dependencies, which caused some conflicts in the custom linting plugin
2024-08-30 22:42:47 +02:00
Yury Bondarenko
3a0c964a49
Upgrade @angular-eslint & get rid of warning in tests
2024-04-25 12:50:38 +02:00
Yury Bondarenko
c4b32febc1
Explain themed-component-classes rule
2024-03-29 10:52:55 +01:00
Yury Bondarenko
515e5f00cf
Improve documentation
2024-03-29 10:46:20 +01:00
Yury Bondarenko
6051b82821
Automatically migrate to new themeable component convention
2024-03-28 18:33:46 +01:00
Yury Bondarenko
e40b6ae612
Update plugins to support standalone components
...
- ThemedComponent wrappers should always import their base component. This ensures that it's always enough to only import the wrapper when we use it.
- This implies that all themeable components must be standalone
→ added rules to enforce this
→ updated usage rule to improve declaration/import handling
2024-03-28 18:33:46 +01:00
Yury Bondarenko
568574585b
Workaround/document edge case where node can't be found by token
2024-03-21 10:35:04 +01:00
Yury Bondarenko
6e22b5376a
Make rules more type-safe
2024-03-21 10:11:04 +01:00
Yury Bondarenko
b0758c23e5
Enforce plugin structure and generate documentation
2024-03-21 10:11:04 +01:00
Yury Bondarenko
e83a0cd741
Fix lint lint issues
2024-03-21 10:11:04 +01:00
Yury Bondarenko
9a27db3835
Lint e2e tests, enforce selectors
2024-03-21 10:11:04 +01:00
Yury Bondarenko
13e9808df2
Don't enforce ThemedComponent selectors in test HTML
2024-03-21 10:11:04 +01:00
Yury Bondarenko
3937be13f2
Custom ESLint rules to enforce new ThemedComponent selector convention
...
The following cases are covered:
- ThemedComponent wrapper selectors must not start with ds-themed-
- Base component selectors must start with ds-base-
- Themed component selectors must start with ds-themed-
- The ThemedComponent wrapper must always be used in HTML
- The ThemedComponent wrapper must be used in TypeScript _where appropriate_:
- Required
- Explicit usages (e.g. modal instantiation, routing modules, ...)
- By.css selector queries (in order to align with the HTML rule)
- Unchecked
- Non-routing modules (to ensure the components can be declared)
- ViewChild hooks (since they need to attach to the underlying component)
All rules work with --fix to automatically migrate to the new convention
This covers most of the codebase, but minor manual adjustment are needed afterwards
2024-03-21 10:11:04 +01:00