eslint-plugin-yenz
v2.0.0
Published
Adds custom rules that Jens likes
Maintainers
Readme
eslint-plugin-yenz
Adds custom rules that Jens likes
Installation
yarn add eslint-plugin-yenz --devUsage
Flat Config (ESLint 8.21.0+)
// eslint.config.js
import yenz from 'eslint-plugin-yenz';
export default [
{
plugins: {
yenz,
},
rules: {
'yenz/type-ordering': 'error',
'yenz/no-loops': 'warn',
},
},
// Or use the recommended config
yenz.configs.recommended,
];Legacy Config (.eslintrc)
{
"plugins": ["yenz"],
"rules": {
"yenz/type-ordering": "error",
"yenz/no-loops": "warn"
}
}Rules
yenz/type-ordering
Ensures that null/undefined types are listed last in TypeScript union types.
yenz/no-loops
Disallows certain loop types (allows for...of and for...in loops).
Preset Configurations
recommended- Enables type-ordering as error, no-loops as warning- `
Release Procedure
- Open a new branch for your work.
- Make all changes in that branch.
- Run
yarn lintand resolve any errors. - Add code samples that intentionally fail your new or updated rules to confirm they are caught.
- Bump the version:
- For stable releases:
yarn version --major # or --minor or --patch - For pre-releases (alpha, beta, rc):
yarn version --prerelease --preid alpha # or beta, rc # Or for specific version bumps: yarn version --premajor --preid alpha # 2.1.0-alpha.1 -> 3.0.0-alpha.0 yarn version --preminor --preid beta # 2.1.0-alpha.1 -> 2.2.0-beta.0 yarn version --prepatch --preid rc # 2.1.0-alpha.1 -> 2.1.1-rc.0 - Commit and push your changes, then open a PR.
- For stable releases:
- After review, merge your branch into
main. - Publish the package:
- On the
mainbranch, pull the latest changes and run:- For stable releases:
yarn publish --non-interactive --access public - For pre-releases (alpha, beta, rc):
yarn publish --tag beta --non-interactive --access public # or alpha, rc
- For stable releases:
- This will publish the version already set in
package.json. - Do not run
yarn publishbefore merging tomain.
- On the
- Users can install pre-releases with:
yarn add eslint-plugin-yenz@beta # or @alpha, @rc - Tag the release in git if desired.
