From f01ad11843b032af4bfbcc1d69d0c548ff11930d Mon Sep 17 00:00:00 2001 From: Ludy Date: Tue, 24 Jun 2025 00:15:05 +0200 Subject: [PATCH] chore: improve editor configuration, pre-commit hooks, and VSCode settings (#3780) # Description of Changes - Added `charset = utf-8` and defined `indent_size = 2` for `*.css`, `*.json`, `*.jsonc`, and `*.yml` in `.editorconfig` to ensure consistent formatting across file types. - Improved labeler rules in `.github/labeler-config-srvaroa.yml` by expanding path coverage for labeling Java and CI-related files. - Upgraded pre-commit hooks: - `ruff` from `v0.11.11` to `v0.12.0` - `gitleaks` from `v8.26.0` to `v8.27.2` - Updated `codespell` args to ignore new terms like `thirdParty`, `tabEl`, `tabEls`. - Enhanced `.vscode/settings.json` and `extensions.json`: - Added formatting rules for `json`, `jsonc`, `markdown`, `python`, and `gradle` files. - Included additional extensions for Markdown and Gradle. - Applied detailed HTML formatting preferences. --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .editorconfig | 21 ++++++++++++++++++ .github/labeler-config-srvaroa.yml | 5 ++++- .pre-commit-config.yaml | 6 ++--- .vscode/extensions.json | 3 ++- .vscode/settings.json | 35 +++++++++++++++++++++++++++++- 5 files changed, 64 insertions(+), 6 deletions(-) diff --git a/.editorconfig b/.editorconfig index ca0238887..d45455a7a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,6 +1,7 @@ root = true [*] +charset = utf-8 indent_style = space indent_size = 4 end_of_line = lf @@ -26,6 +27,26 @@ trim_trailing_whitespace = false [*.js] indent_size = 2 +[*.css] +# CSS files typically use an indent size of 2 spaces for better readability and alignment with community standards. +indent_size = 2 + [*.yaml] +# YAML files use an indent size of 2 spaces to maintain consistency with common YAML formatting practices. +indent_size = 2 insert_final_newline = false trim_trailing_whitespace = false + +[*.yml] +# YML files follow the same conventions as YAML files, using an indent size of 2 spaces. +indent_size = 2 +insert_final_newline = false +trim_trailing_whitespace = false + +[*.json] +# JSON files use an indent size of 2 spaces, which is the standard for JSON formatting. +indent_size = 2 + +[*.jsonc] +# JSONC (JSON with comments) files also follow the standard JSON formatting with an indent size of 2 spaces. +indent_size = 2 diff --git a/.github/labeler-config-srvaroa.yml b/.github/labeler-config-srvaroa.yml index 2fb9365e4..f8e66fab4 100644 --- a/.github/labeler-config-srvaroa.yml +++ b/.github/labeler-config-srvaroa.yml @@ -49,6 +49,7 @@ labels: - 'proprietary/src/main/resources/static/.*' - 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/.*' - 'stirling-pdf/src/main/java/stirling/software/SPDF/UI/.*' + - 'proprietary/src/main/java/stirling/software/proprietary/security/controller/web/.*' - label: 'Java' files: @@ -80,6 +81,7 @@ labels: - 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java' - 'stirling-pdf/src/main/java/stirling/software/SPDF/controller/api/.*' - 'stirling-pdf/src/main/java/stirling/software/SPDF/model/api/.*' + - 'proprietary/src/main/java/stirling/software/proprietary/security/controller/api/.*' - 'scripts/png_to_webp.py' - 'split_photos.py' - '.github/workflows/swagger.yml' @@ -97,7 +99,7 @@ labels: - 'Dockerfile' - 'Dockerfile.fat' - 'Dockerfile.ultra-lite' - - 'exampleYmlFiles/*.yml' + - 'exampleYmlFiles/.*.yml' - 'scripts/download-security-jar.sh' - 'scripts/init.sh' - 'scripts/init-without-ocr.sh' @@ -122,6 +124,7 @@ labels: - 'stirling-pdf/src/test/.*' - 'testing/.*' - '.github/workflows/scorecards.yml' + - 'exampleYmlFiles/test_cicd.yml' - label: 'Github' files: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b4b3841e6..5418deaea 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.11 + rev: v0.12.0 hooks: - id: ruff args: @@ -16,13 +16,13 @@ repos: hooks: - id: codespell args: - - --ignore-words-list= + - --ignore-words-list=thirdParty,tabEl,tabEls - --skip="./.*,*.csv,*.json,*.ambr" - --quiet-level=2 files: \.(html|css|js|py|md)$ exclude: (.vscode|.devcontainer|stirling-pdf/src/main/resources|Dockerfile|.*/pdfjs.*|.*/thirdParty.*|bootstrap.*|.*\.min\..*|.*diff\.js) - repo: https://github.com/gitleaks/gitleaks - rev: v8.26.0 + rev: v8.27.2 hooks: - id: gitleaks - repo: https://github.com/pre-commit/pre-commit-hooks diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 432bd0248..128af83ba 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -15,6 +15,7 @@ "ms-azuretools.vscode-docker", // Docker extension for Visual Studio Code "GitHub.copilot", // GitHub Copilot AI pair programmer for Visual Studio Code "GitHub.vscode-pull-request-github", // GitHub Pull Requests extension for Visual Studio Code - "charliermarsh.ruff" // Ruff code formatter for Python to follow the Ruff Style Guide + "charliermarsh.ruff", // Ruff code formatter for Python to follow the Ruff Style Guide + "yzhang.markdown-all-in-one", // Markdown All-in-One extension for enhanced Markdown editing ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index a2f0da613..3f272e18a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,6 +6,27 @@ "[java]": { "editor.defaultFormatter": "josevseb.google-java-format-for-vs-code" }, + "[jsonc]": { + "editor.defaultFormatter": "vscode.json-language-features" + }, + "[json]": { + "editor.defaultFormatter": "vscode.json-language-features" + }, + "[python]": { + "editor.defaultFormatter": "ms-python.black-formatter" + }, + "[gradle-kotlin-dsl]": { + "editor.defaultFormatter": "vscjava.vscode-gradle" + }, + "[markdown]": { + "editor.defaultFormatter": "yzhang.markdown-all-in-one" + }, + "[gradle-build]": { + "editor.defaultFormatter": "vscjava.vscode-gradle" + }, + "[gradle]": { + "editor.defaultFormatter": "vscjava.vscode-gradle" + }, "java.compile.nullAnalysis.mode": "automatic", "java.configuration.updateBuildConfiguration": "interactive", "java.format.enabled": true, @@ -86,9 +107,21 @@ "spring.initializr.defaultLanguage": "Java", "spring.initializr.defaultGroupId": "stirling.software.SPDF", "spring.initializr.defaultArtifactId": "SPDF", + "java.jdt.ls.lombokSupport.enabled": true, + "html.format.wrapLineLength": 127, + "html.format.enable": true, + "html.format.indentInnerHtml": true, + "html.format.unformatted": "script,style,textarea", + "html.format.contentUnformatted": "pre,code", + "html.format.extraLiners": "head,body,/html", + "html.format.wrapAttributes": "force", + "html.format.wrapAttributesIndentSize": 2, + "html.format.indentHandlebars": true, + "html.format.preserveNewLines": true, + "html.format.maxPreserveNewLines": 2, "java.project.sourcePaths": [ "stirling-pdf/src/main/java", "common/src/main/java", "proprietary/src/main/java" - ], + ] }