Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request
Category
Tests
Feature/Issue Description
Q: Please give a brief summary of your feature/fix
A:
Implements GitHub Actions workflow for JavaScript linting (Issue #2306) with hybrid approach: blocking job lints changed files only, non-blocking job reports on entire codebase. Prevents new technical debt while enabling gradual improvement of existing 6,500+ lint errors.
Q: Give a technical rundown of what you have changed (if applicable)
A:
Created
.eslintrc.jsonwith configuration tailored for BeEF's legacy codebase:env: browser, es6: false- browser globals enabled, no ES6 for IE compatibilityecmaVersion: 5- parses ES5 syntax (pre-let/const/promises) to support older browserseslint:recommended- baseline rules without strict enforcementignorePatterns- excludes vendor libraries incore/main/client/lib/**globals- defines BeEF framework globals (beef, jQuery/$/$j, MobileEsp, evercookie, etc.)Created
.github/workflows/eslint.ymlwith two parallel jobs:lint-changed-files: Detects changed.jsfiles viatj-actions/changed-files@v45, runs ESLint, blocks PR on errorslint-all-files: Lints entire codebase withcontinue-on-error: true, report-only (non-blocking)Updated
package.jsonscripts:npm run lintandnpm run lint:fixaccept file arguments for flexible local testingFile pattern:
**/*.jswith exclusions fornode_modules,core/main/client/lib,*.min.jsTest
Q: Describe your test cases, what you have covered and if there are any use cases that still need addressing.
A:
test-lint.jswith auto-fixable and non-fixable errors, verifiednpm run lint test-lint.jsandnpm run lint:fix test-lint.jswork correctly