Skip to content

Allow disabling LS005 (symlink) and LS007 (.exe) if the file is gitignored #894

Closed as duplicate of#344
@dankeboy36

Description

@dankeboy36

Describe the request

Hello, I’m developing a new Arduino library and using arduino-lint as part of my automated setup (via Node.js + npm). Some tools are downloaded locally into node_modules/, which is listed in my .gitignore. However, arduino-lint reports the following error:

ERROR: Symlink(s) found. Symlinks cause difficulties for Windows users. These block addition to the Arduino Library index:
  /myproject/node_modules/.bin/gat
  /myproject/node_modules/.bin/mkdirp
(Rule LS005)

This seems like a false positive — these files are gitignored and won’t be part of the final published library. A similar problem could happen with .exe files (LS007) if someone has gitignored build output.

Feature request

Would you consider allowing these rules (LS005 and LS007) to be disabled or skipped if the matching files are listed in .gitignore?

This change should be backward compatible:

  • If a library passed validation before, it did not contain .exe files or symlinks, so this change won’t affect it.
  • If a new library has .exe files or symlinks only in gitignored folders, they won’t be pushed to GitHub or published, so they can’t cause problems for the Library Manager.
  • If git is not available in PATH, the linter can log a warning and fall back to the current behavior (not skipping anything).
  • This assumes that git is available when the official Arduino Library Manager validation runs.

Describe the current behavior

Arduino Lint results in a validation error if a gitignored file contains symlinks

Arduino Lint version

1.3.0

Operating system

macOS

Operating system version

15.5

Additional context

I know from this comment that rule disabling is discouraged. But maybe skipping gitignored files could be an acceptable compromise? It would help projects use arduino-lint in strict mode, even if dev tools create symlinks or .exe files.

Ref: https://forum.arduino.cc/t/arduino-lint-false-positive-symlink-error-due-to-gitignored-node-modules/1392522/1

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest version
  • My request contains all necessary details

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions