docs/javascript-linting.md
src/platforms/wasm/The fast linter only checks for critical runtime issues:
no-debugger - Prevents debugger statements in productionno-eval - Prevents eval() security vulnerabilitiesNo style enforcement - focuses on critical issues only for maximum speed.
JavaScript linting follows a "fast only" policy:
Fast JavaScript linting is automatically installed during project setup:
# Installs everything including fast JS linting
./install
# Or manually install just JavaScript linting
uv run ci/setup-js-linting-fast.py
# Fast JavaScript linting (recommended)
bash .cache/js-tools/lint-js-fast
# Full project linting (includes JavaScript when available)
bash lint
# Comprehensive codebase analysis
uv run scripts/enhance-js-typing.py --approach summary
# Detailed linting issue breakdown
uv run scripts/enhance-js-typing.py --approach linting
# Performance issue identification
uv run scripts/enhance-js-typing.py --approach performance
# Add JSDoc type annotations to file
uv run scripts/enhance-js-typing.py --approach types --file src/platforms/wasm/compiler/index.js
# Generate ESLint configuration variants
uv run scripts/enhance-js-typing.py --approach configs
module.exports = {
env: {
browser: true,
es2022: true,
worker: true
},
parserOptions: {
ecmaVersion: 2022,
sourceType: "module"
},
rules: {
// Only critical runtime issues
"no-debugger": "error",
"no-eval": "error"
}
};
module.exports = {
env: {
browser: true,
es2022: true,
worker: true
},
parserOptions: {
ecmaVersion: 2022,
sourceType: "module"
},
rules: {
// Critical issues
"no-debugger": "error",
"no-eval": "error",
// Code quality
"eqeqeq": "error",
"prefer-const": "error",
"no-var": "error",
"no-await-in-loop": "error",
"guard-for-in": "error",
"camelcase": "warn",
"default-param-last": "warn"
}
};
bash lint by defaultIf you see "JavaScript linting tools not found":
# Install fast linting
uv run ci/setup-js-linting-fast.py
# Verify installation
bash .cache/js-tools/lint-js-fast
If linting is slow:
.js-tools/rm -rf .js-tools && uv run ci/setup-js-linting-fast.pyIf linting fails:
.js-tools/.eslintrc.js.js-tools/node_modules/.bin/eslintbash .cache/js-tools/lint-js-fastThe fast linting setup creates:
.js-tools/node/ - Node.js binary.js-tools/node_modules/ - ESLint installation.js-tools/.eslintrc.js - ESLint configuration.js-tools/package.json - Node.js package definition.cache/js-tools/lint-js-fast - Fast linting scriptbash lint for comprehensive project linting