📖 Scenario: You are working on a small Deno project that includes a simple script. You want to ensure your code follows good style and quality rules before sharing it with others.
🎯 Goal: Learn how to set up and run deno lint to check your Deno script for code quality issues.
📋 What You'll Learn
Create a simple Deno script file named app.ts with a function and a call
Add a configuration file deno.json to customize lint rules
Run deno lint to check the script for linting errors
Fix a lint warning by updating the code
💡 Why This Matters
🌍 Real World
Using <code>deno lint</code> helps keep your Deno code clean and consistent, which is important when working on projects with others or preparing code for production.
💼 Career
Many software development jobs require writing clean, maintainable code. Knowing how to use linting tools like <code>deno lint</code> is a valuable skill for ensuring code quality and following team coding standards.
Progress0 / 4 steps
1
Create a simple Deno script
Create a file named app.ts and write a function called greet that takes a name parameter and returns the string `Hello, ${name}!`. Then call greet with the argument "World" and store the result in a variable called message.
Deno
Hint
Define a function with function greet(name: string): string and use a template string to return the greeting.
2
Add a deno.json configuration file
Create a file named deno.json and add a lint section with rules that disables the no-explicit-any rule by setting it to false.
Deno
Hint
The deno.json file is a JSON file where you add a lint object with rules inside.
3
Run deno lint on the script
Run the command deno lint app.ts in your terminal to check the app.ts file for linting errors.
Deno
Hint
Use your terminal or command prompt to run deno lint app.ts.
4
Fix a lint warning by updating the code
If deno lint reports a warning about an unused variable, update the code by adding console.log(message); after the message variable declaration to use it.
Deno
Hint
Use console.log(message); to use the variable and remove the lint warning.
Practice
(1/5)
1. What is the main purpose of running deno lint on your code?
easy
A. To execute the code and show output
B. To find and report code style and potential error issues
C. To compile the code into a binary
D. To install external dependencies automatically
Solution
Step 1: Understand what linting means
Linting is a process that checks code for style and possible mistakes without running it.
Step 2: Identify what deno lint does
deno lint scans your code files and reports style issues or errors to improve code quality.
Final Answer:
To find and report code style and potential error issues -> Option B
Quick Check:
Linting = Find code issues [OK]
Hint: Lint checks code style and errors, not execution or compilation [OK]
Common Mistakes:
Confusing lint with running or compiling code
Thinking lint installs dependencies
Assuming lint fixes all errors automatically
2. Which command correctly runs the linter on all files in the current folder and subfolders?
easy
A. deno lint --fix
B. deno run lint
C. deno lint .
D. deno lint --all
Solution
Step 1: Identify the command to lint files
The command deno lint followed by a path runs lint on that path.
Step 2: Understand the meaning of '.' in commands
Using '.' means current directory and all files inside it recursively.
Final Answer:
deno lint . -> Option C
Quick Check:
Lint current folder = deno lint . [OK]
Hint: Use dot (.) to lint current folder and subfolders [OK]
Common Mistakes:
Using 'deno run lint' which is invalid
Assuming '--all' is a valid flag for deno lint
Confusing '--fix' as a way to run lint only
3. Given this code snippet in example.ts:
const unusedVar = 5;
console.log("Hello Deno!");
What will deno lint example.ts report?
medium
A. Error: unused variable 'unusedVar'
B. Warning: missing semicolon
C. Syntax error on line 1
D. No issues found
Solution
Step 1: Analyze the code for lint issues
The variable unusedVar is declared but never used, which is a common lint warning.
Step 2: Understand what deno lint reports
Deno lint reports unused variables as errors or warnings to improve code quality.
Final Answer:
Error: unused variable 'unusedVar' -> Option A
Quick Check:
Unused variable = lint error [OK]
Hint: Unused variables cause lint errors, check variable usage [OK]
Common Mistakes:
Thinking no issues appear if code runs
Confusing lint errors with syntax errors
Expecting semicolon warnings when not configured
4. You run deno lint and get errors about unused imports. Which fix will resolve this?
medium
A. Ignore the errors and continue running the code
B. Add --fix flag to automatically remove unused imports
C. Rename the imports to different variable names
D. Remove the unused import lines from the code
Solution
Step 1: Understand what unused import errors mean
Unused imports are lines importing modules or variables that are never used in the code.
Step 2: Identify the correct fix
Removing those unused import lines cleans the code and fixes the lint errors. The --fix flag does not always remove imports automatically.
Final Answer:
Remove the unused import lines from the code -> Option D
Quick Check:
Remove unused imports to fix lint errors [OK]
Hint: Delete unused imports manually; --fix may not remove them [OK]
Common Mistakes:
Assuming --fix always removes unused imports
Ignoring lint errors thinking code still runs
Renaming imports without using them
5. You want to automatically fix some lint issues in your project folder. Which command should you run?
hard
A. deno lint --fix ./
B. deno lint --auto-fix ./
C. deno lint fix ./
D. deno lint --correct ./
Solution
Step 1: Recall the flag for automatic fixing in deno lint
The correct flag to fix some lint issues automatically is --fix.
Step 2: Confirm the command syntax
The command deno lint --fix ./ runs lint on the current folder and applies automatic fixes where possible.
Final Answer:
deno lint --fix ./ -> Option A
Quick Check:
Use --fix flag to auto-correct lint issues [OK]
Hint: Use --fix flag with deno lint to auto-correct issues [OK]
Common Mistakes:
Using incorrect flags like --auto-fix or --correct
Typing 'deno lint fix' without dashes
Not specifying the folder or file to lint
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.