Description
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 inPATH
, 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.
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