mirror of
https://github.com/Raghu-Ch/angular-challenges.git
synced 2026-02-10 12:53:03 -05:00
docs: rework forbid-enum-md (#886)
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
---
|
||||
title: 🟢 Custom Eslint Rule
|
||||
description: Challenge 27 is about creating a custom Eslint Rule to forbid enums
|
||||
description: Challenge 27 is about creating a custom ESLint Rule to forbid enums
|
||||
author: thomas-laforge
|
||||
contributors:
|
||||
- tomalaforge
|
||||
- jdegand
|
||||
challengeNumber: 27
|
||||
sidebar:
|
||||
order: 12
|
||||
@@ -11,14 +12,16 @@ sidebar:
|
||||
|
||||
## Information
|
||||
|
||||
Eslint is an amazing tool that helps developers avoid simple mistakes and adhere to company style guides.
|
||||
ESLint is an amazing tool that helps developers avoid simple mistakes and adhere to company style guides.
|
||||
|
||||
In this first example, we will create a rule that forbids the use of enums. The rule will suggest using string unions instead of enums whenever you add an enum to your code. It is a straightforward rule for learning how to create rules.
|
||||
In this first example, we will create a rule that forbids the use of enums. The rule will suggest using string unions instead of enums whenever an enum is present in this repo's code. This is a straightforward rule for learning how to create rules.
|
||||
|
||||
You will also need to write tests to verify the rule's functionality.
|
||||
|
||||
To test the rule inside your project, add `"@nrwl/nx/workspace/forbidden-enum": "error"` to the `eslintrc.json` file and attempt to insert an enum into any project to witness the magic. 😇
|
||||
The `tools/eslint-rules` folder contains the starter code for this challenge.
|
||||
|
||||
To assist you with AST (Abstract Syntax Tree) definitions, you can visit the [AST explorer](https://astexplorer.net/) and use JavaScript, @typescript-eslint/parser, and Eslint-v8 as the transformation method. However, please note that you will only get the type information there. The transformation function may not work for TypeScript types since the editor is in JavaScript.
|
||||
To test the rule inside your project, add `"@nrwl/nx/workspace/forbidden-enum": "error"` to the `eslintrc.json`. You can navigate to Challenge 47, `Enums vs. Union Types', and you should immediately see an error.
|
||||
|
||||
You can also check this [repo](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin/src/rules) for eslint rule examples.
|
||||
To assist you with AST (Abstract Syntax Tree) definitions, you can visit the [AST Explorer](https://astexplorer.net/) and use `JavaScript`, `@typescript-eslint/parser`, and `ESLint-v8` as the transformation methods. However, please note that you will only get the `type` information there. The transformation function may not work for TypeScript types since the editor is in JavaScript.
|
||||
|
||||
You can also check this [repo](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin/src/rules) for ESLint rule examples.
|
||||
|
||||
Reference in New Issue
Block a user