initial commit
This commit is contained in:
56
libraries/FastLED/ci/js/README.md
Normal file
56
libraries/FastLED/ci/js/README.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# FastLED JavaScript Linting Tools
|
||||
|
||||
This directory contains JavaScript linting tools for the FastLED project, using Node.js + ESLint for **fast** JavaScript validation.
|
||||
|
||||
|
||||
### Via Main Lint Script (Recommended)
|
||||
|
||||
```bash
|
||||
# JavaScript linting is included by default (fast only!)
|
||||
bash lint
|
||||
```
|
||||
|
||||
## Setup
|
||||
|
||||
The fast JavaScript linter is automatically installed during project setup:
|
||||
|
||||
```bash
|
||||
# Installs everything including fast JS linting
|
||||
./install
|
||||
```
|
||||
|
||||
Or manually install just the JavaScript linter:
|
||||
|
||||
```bash
|
||||
uv run ci/setup-js-linting-fast.py
|
||||
```
|
||||
|
||||
This will:
|
||||
- Download Node.js binary to `.js-tools/node/`
|
||||
- Install ESLint to `.js-tools/node_modules/`
|
||||
- Create ESLint configuration in `.js-tools/.eslintrc.js`
|
||||
- Create fast linting script `.cache/js-tools/lint-js-fast`
|
||||
|
||||
## Philosophy: Fast Only
|
||||
|
||||
**JavaScript linting follows a "fast only" policy:**
|
||||
- ✅ **Fast linting available**: Uses Node.js + ESLint (~0.9 seconds)
|
||||
- ⚠️ **Fast linting unavailable**: Skips JavaScript linting entirely
|
||||
- ❌ **No slow fallback**: Fast linting or no linting at all
|
||||
|
||||
## Configuration
|
||||
|
||||
The fast linter only checks for **critical runtime issues**:
|
||||
- `no-debugger` - Prevents debugger statements in production
|
||||
- `no-eval` - Prevents eval() security vulnerabilities
|
||||
|
||||
**No style enforcement** - focuses on critical issues only for maximum speed.
|
||||
|
||||
## Integration
|
||||
|
||||
JavaScript linting is included by default in `bash lint` when fast linting is available.
|
||||
|
||||
## Performance
|
||||
|
||||
- **Fast linting**: ~0.9 seconds (53x faster than previous solution)
|
||||
- **Total lint time**: ~1.6 seconds (Python + C++ + JavaScript)
|
||||
Reference in New Issue
Block a user