Commit graph

23 commits

Author SHA1 Message Date
Holt Skinner
469f30eb53
feat: add nbqa linter for jupyter notebooks () 2024-12-20 19:13:16 +00:00
Marco Ferrari
6b60f4c968
fix: define command options function before use ()
Define functions in linterCommands.sh to avoid the need of exporting
them. Without this fix, a command that sourced linterCommands.sh would
not be able to find these functions, such as AddOptionsToCommand.

Fix 
2024-11-27 14:33:40 +01:00
Marco Ferrari
5d6e3fcecc
feat: lint commit messages with commitlint ()
Add support to run Commitlint against commit messages. It supports the
current modes:

- Lint the commit message of the last commit
- Lint the commit messages of the pushed commits in case there is more
  than one pushed commit

This commit also removes stuff that we used to run commitlint as a
standalone tool because we can now use the commitlint instance that
Super-linter ships:

- lint-commit steps in lint-commit the GitHub Actions workflow
- lint-commit Make target
- commitlint and its dependencies in package.json and package-lock.json
2024-09-19 08:53:13 +00:00
Marco Ferrari
e0d8b4fb2f
feat: implement a linter to check git conflicts ()
Implement a linter to check if files contain Git conflict
markers or whitespace errors.
2024-09-05 08:02:36 +02:00
Marco Ferrari
05d4d4e128
feat: allow passing custom options to rust clippy ()
Define the RUST_CLIPPY_COMMAND_OPTIONS variable to allow passing
arbitrary options to the command that runs RUST_CLIPPY.

Fix the ARM test case that just failed because of its apiVersion just
expired.

Close 
2024-08-31 14:51:28 +02:00
Marco Ferrari
ad0ff68c52
fix: correctly load custom linter commands ()
Linters affected:

- actionlint
- Kubeconform
- Perlcritic

Also:

- Update package-lock.json to update some vulnerable dependencies.
- Mount dependency files to where the dependency manager expects them so
  it's easier to update vulnerable dependencies.

Fix 
2024-08-30 12:03:08 +02:00
Nito Buendia
5b13acee46
feat: add pyink as a Python formatter () 2024-08-27 15:00:51 +00:00
Marco Ferrari
9f193cc3c0
feat: format JSONC and JSON5 with prettier () 2024-08-16 17:15:05 +02:00
Marco Ferrari
8ceae0f304
feat: lint and format dotnet solutions ()
Close 
2024-08-16 16:23:52 +02:00
Marco Ferrari
1d12a31fce
feat: prettier for additional languages ()
- CSS, Sass, SCSS
- HTML
- JSON
- JSX
- GraphQL
- Vue
- YAML
2024-08-15 11:46:02 +02:00
Marco Ferrari
48d5391b7b
fix!: remove sql-lint ()
sql-lint is unmaintained, and its dependencies are impacted by several
vulnerabilities.
2024-08-14 17:30:46 +02:00
Marco Ferrari
8dc1475a3a
feat: allow customizing gitleaks log level () 2024-08-14 14:54:16 +02:00
Marco Ferrari
40410c2d60
fix: use cargo clippy instead of cargo-clippy ()
The cargo-clippy command has been depreacted since Cargo
v1.78.0. This is needed to unblock the implementation of fix mode.
2024-08-11 23:18:33 +02:00
Marco Ferrari
6fdc091361
feat: local fix mode ()
Certain linters and formatters support fixing linting and formatting
issues (fix mode). Before this change, Super-linter runs linters and
formatters in a mode that doesn't modify the source code in any way
(check only mode).

With this change, Super-linter supports running linters and formatters
in fix mode if explicitly requested by the configuration. If the
configuration includes a variable named FIX_<language_name>,
Super-linters modifies the command to run the linter or formatter for
<language_name> to enable fix mode.

The modifications to the linter or formatter command that Super-linter
applies depend on what is the default for a particular linter: it either
removes or adds options to the command to run the linter or formatter.
2024-08-07 15:36:16 +02:00
Marco Ferrari
0dbe144336
feat: support ignore_gitignored_files with jscpd ()
Add the --gitignore option to LINTER_COMMANDS_ARRAY_JSCPD when
IGNORE_GITIGNORED_FILES=true. Users can also set the gitignore options
in the Jscpd configuration file, but with this change we make Jscpd
automatically respecting that.
2024-08-05 10:15:40 +02:00
Marco Ferrari
c46346c774
chore: remove clippy script, run clippy directly ()
Remove clippy.sh script and run cargo-clippy directly. The script was
needed because when we introduced cargo-clippy, Super-linter didn't have
a way to customize the working directory when running linters and
formatters. Now, we can use GNU Parallel to handle that case.

This will unblock the work to do to implement  (pass custom options
to cargo-clippy).
2024-08-02 13:24:43 +02:00
Marco Ferrari
5be4926633
feat: remove no-eslintrc and simplify eslint conf ()
- Remove --no-eslintrc to simplify the upgrade path to ESlint >= v9,
  because v9 defaults to aonther configuration file format.
- Simplify the default ESlint configuration removing options that have
  been deprecated, or that are equal to the default ones.

Close 
2024-07-11 12:54:14 +02:00
Marco Ferrari
c26430f868
feat: support arbitrary shellcheck config paths ()
- Support passing an arbitrary path to the shellcheck configuration file
  with the BASH_CONFIG_FILE_NAME variable. This brings shellcheck in
  line with other linters that support configuration files.
- Enable shellcheck external sources using a directive in the
  configuration file, so users can eventually override it if not needed.
- Export command configuration variables that subprocesses might need.

Close 
2024-04-25 19:47:55 +00:00
Masaya Suzuki
69249882f3
feat: support GoReleaser () 2024-04-15 12:38:25 +00:00
Ümit Büyükulcay
0ae4572874
feat: add clang-format style configuration () 2024-04-11 14:59:47 +02:00
Junya Okabe
e71a37d49d
feat: add depndency ()
feat: configure ruff

feat: update the orchestration scripts

feat: update the test suite

docs: update README

feat: add test cases for ruff

fix: CI error

chore: del .github/linters/.ruff.toml

fix: CI error

fix: README

update: LINTER_NAMES_ARRAY

fix: Dockerfile

fix: .github/linters/.jscpd.json

fix: test files

fix: del version_command
2024-04-10 12:02:28 +00:00
Benjamin Wuethrich
95aabd4cfa
feat(bash-exec): add option to ignore shell library files ()
Introduce a new configuration variable, BASH_EXEC_IGNORE_LIBRARIES. If
set to true, the behaviour of bash-exec is modified: if a shell file has
a file extension and no shebang line, it is ignored, i.e., allowed to be
non-executable. This allows files that are only every sourced from other
shell files, acting as libraries and not executables, to have no
executable bit set without failing the bash-exec linter.
2024-02-27 18:17:22 +00:00
Marco Ferrari
99e41ce451
feat: run linters in parallel () 2024-01-30 19:24:55 +00:00