diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index f66a5cf4..896c3e42 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -43,6 +43,7 @@ "extensions.autoUpdate": false, "extensions.autoCheckUpdates": false, "livePreview.portNumber": 3025, // arbitrary not to conflict with default 3000 Nuxt port number + "github.copilot.nextEditSuggestions.allowWhitespaceOnlyChanges": false, "[python]": { "editor.formatOnSave": true, "editor.defaultFormatter": "charliermarsh.ruff" @@ -60,5 +61,5 @@ "initializeCommand": "sh .devcontainer/initialize-command.sh", "onCreateCommand": "sh .devcontainer/on-create-command.sh", "postStartCommand": "sh .devcontainer/post-start-command.sh" - // Devcontainer context hash (do not manually edit this, it's managed by a pre-commit hook): 91cfa9eb # spellchecker:disable-line + // Devcontainer context hash (do not manually edit this, it's managed by a pre-commit hook): 183fe443 # spellchecker:disable-line } diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b1d14e54..66531bc6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -42,7 +42,7 @@ repos: # Reformatting (should generally come before any file format or other checks, because reformatting can change things) - repo: https://github.com/crate-ci/typos - rev: edb4e206047e89b93ebe08f1a2ccc3d581a70cc7 # frozen: v1 + rev: 6573587991823ef75e4d6ca97fe895f45e9f14e4 # frozen: v1 hooks: - id: typos exclude: | @@ -59,6 +59,7 @@ repos: (?x)^( .*/vendor_files/.*| .*tests/.*/__snapshots__/.*| + .*/openapi_codegen/.*| )$ - id: end-of-file-fixer # the XML formatter hook doesn't leave a blank line at the end, so excluding XML files from this hook to avoid conflicts @@ -70,6 +71,7 @@ repos: template/template/.copier-answers.yml.jinja| template/.copier-answers.yml.jinja| .*generated/graphql.ts| + .*/openapi_codegen/.*| .*tests/.*/__snapshots__/.*| .devcontainer/devcontainer-lock.json| .copier-answers.yml| @@ -86,6 +88,7 @@ repos: .*pyrightconfig.json| .*tsconfig.json| .*biome.jsonc| + .*/openapi_codegen/.*| .*tests/.*/__snapshots__/.*| .*/vendor_files/.*| )$ @@ -99,6 +102,7 @@ repos: exclude: | (?x)^( .*generated/graphql.ts| + .*/openapi_codegen/.*| .*/schema.graphql| .*pyrightconfig\.json| )$ @@ -125,6 +129,7 @@ repos: .*.jsonc| .*/vendor_files/.*| .*/schema.graphql| + .*/openapi_codegen/.*| .*generated/graphql.ts| template/.*| )$ @@ -184,7 +189,7 @@ repos: - id: check-case-conflict - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 83987cd6ad8943c7f029b500b14aaf82c00a01fa # frozen: 0.34.0 + rev: 83b816d020105076daac266dbf6bfed199a2da93 # frozen: 0.34.1 hooks: - id: check-github-workflows @@ -238,7 +243,7 @@ repos: description: Runs hadolint to lint Dockerfiles - repo: https://github.com/astral-sh/ruff-pre-commit - rev: a113f03edeabb71305f025e6e14bd2cd68660e29 # frozen: v0.13.1 + rev: f9351c924055bf6c7b4a4670237d3ce141e9f57c # frozen: v0.14.0 hooks: - id: ruff name: ruff-src @@ -248,6 +253,7 @@ repos: (?x)^( .*/graphql_codegen/.*| .*/openapi_codegen/.*| + template/.*| )$ - id: ruff name: ruff-tests @@ -257,6 +263,7 @@ repos: (?x)^( .*/graphql_codegen/.*| .*/openapi_codegen/.*| + template/.*| )$ - id: ruff-format exclude: | @@ -266,7 +273,7 @@ repos: )$ - repo: https://github.com/pylint-dev/pylint - rev: 98942ba4126a6fe1657bad77027bcc11016d16da # frozen: v3.3.8 + rev: 9a3035053154ba0c3ca3b300d6bc9fa72b95d552 # frozen: v4.0.1 hooks: - id: pylint name: pylint diff --git a/extensions/context.py b/extensions/context.py index 92d125d2..664cfb72 100644 --- a/extensions/context.py +++ b/extensions/context.py @@ -25,15 +25,15 @@ def hook(self, context: dict[Any, Any]) -> dict[Any, Any]: context["pytest_cov_version"] = "7.0.0" ####### context["sphinx_version"] = "8.1.3" - context["pulumi_version"] = "3.202.0" + context["pulumi_version"] = "3.203.0" context["pulumi_aws_version"] = "7.8.0" - context["pulumi_aws_native_version"] = "1.36.0" + context["pulumi_aws_native_version"] = "1.37.0" context["pulumi_command_version"] = "1.1.3" context["pulumi_github_version"] = "6.7.4" context["pulumi_okta_version"] = "6.0.0" context["boto3_version"] = "1.40.51" context["ephemeral_pulumi_deploy_version"] = "0.0.5" - context["pydantic_version"] = "2.12.0" + context["pydantic_version"] = "2.12.2" context["pyinstaller_version"] = "6.16.0" context["setuptools_version"] = "80.7.1" context["strawberry_graphql_version"] = "0.283.3" @@ -42,8 +42,9 @@ def hook(self, context: dict[Any, Any]) -> dict[Any, Any]: context["uvicorn_version"] = "0.37.0" context["lab_auto_pulumi_version"] = "0.1.17" context["ariadne_codegen_version"] = "0.15.2" - context["pytest_mock_version"] = "3.15.0" + context["pytest_mock_version"] = "3.15.1" context["uuid_utils_version"] = "0.11.0" + context["syrupy_version"] = "5.0.0" ####### context["node_version"] = "24.7.0" context["nuxt_ui_version"] = "^4.0.1" @@ -54,9 +55,9 @@ def hook(self, context: dict[Any, Any]) -> dict[Any, Any]: context["vue_version"] = "^3.5.21" context["vue_tsc_version"] = "^3.1.1" context["vue_devtools_api_version"] = "^8.0.0" - context["vue_router_version"] = "^4.5.1" + context["vue_router_version"] = "^4.6.0" context["dotenv_cli_version"] = "^10.0.0" - context["faker_version"] = "^10.0.0" + context["faker_version"] = "^10.1.0" context["vitest_version"] = "^3.2.4" context["eslint_version"] = "^9.37.0" context["nuxt_eslint_version"] = "^1.9.0" @@ -75,7 +76,8 @@ def hook(self, context: dict[Any, Any]) -> dict[Any, Any]: context["vue_test_utils_version"] = "^2.4.6" context["nuxt_test_utils_version"] = "3.19.1" context["vue_eslint_parser_version"] = "^10.1.3" - context["happy_dom_version"] = "^20.0.0" + context["happy_dom_version"] = "^20.0.2" + context["node_kiota_bundle_version"] = "1.0.0-preview.99" ####### # These are duplicated in the CI files for this repository context["gha_checkout"] = "v5.0.0" diff --git a/template/.devcontainer/devcontainer.json.jinja-base b/template/.devcontainer/devcontainer.json.jinja-base index 1ece7177..e8e318e5 100644 --- a/template/.devcontainer/devcontainer.json.jinja-base +++ b/template/.devcontainer/devcontainer.json.jinja-base @@ -31,7 +31,8 @@ "ms-vscode.live-server@0.5.2025051301", "MS-vsliveshare.vsliveshare@1.0.5905", "github.copilot@1.380.1802", - "github.copilot-chat@0.33.2025101401", + "github.copilot-chat@0.33.2025101401",{% endraw %}{% if install_claude_cli %}{% raw %} + "anthropic.claude-code@2.0.10",{% endraw %}{% endif %}{% raw %} // Python "ms-python.python@2025.17.2025100201", @@ -51,14 +52,14 @@ "samuelcolvin.jinjahtml@0.20.0", "tamasfe.even-better-toml@0.19.2", "emilast.LogFileHighlighter@3.3.3", - "esbenp.prettier-vscode@11.0.0"{% endraw %}{% if install_claude_cli %}{% raw %}, - "anthropic.claude-code@2.0.10"{% endraw %}{% endif %}{% raw %} + "esbenp.prettier-vscode@11.0.0" ], "settings": { "editor.accessibilitySupport": "off", // turn off sounds "extensions.autoUpdate": false, "extensions.autoCheckUpdates": false, "livePreview.portNumber": 3025, // arbitrary not to conflict with default 3000 Nuxt port number + "github.copilot.nextEditSuggestions.allowWhitespaceOnlyChanges": false, "[python]": { "editor.formatOnSave": true, "editor.defaultFormatter": "charliermarsh.ruff" diff --git a/template/extensions/context.py.jinja-base b/template/extensions/context.py.jinja-base index c3e7711f..b5ca82ee 100644 --- a/template/extensions/context.py.jinja-base +++ b/template/extensions/context.py.jinja-base @@ -39,6 +39,7 @@ class ContextUpdater(ContextHook): context["ariadne_codegen_version"] = "{{ ariadne_codegen_version }}" context["pytest_mock_version"] = "{{ pytest_mock_version }}" context["uuid_utils_version"] = "{{ uuid_utils_version }}" + context["syrupy_version"] = "{{ syrupy_version }}" context["node_version"] = "{{ node_version }}" context["nuxt_ui_version"] = "{{ nuxt_ui_version }}" @@ -71,6 +72,7 @@ class ContextUpdater(ContextHook): context["nuxt_test_utils_version"] = "{{ nuxt_test_utils_version }}" context["vue_eslint_parser_version"] = "{{ vue_eslint_parser_version }}" context["happy_dom_version"] = "{{ happy_dom_version }}" + context["node_kiota_bundle_version"] = "{{ node_kiota_bundle_version }}" context["gha_checkout"] = "{{ gha_checkout }}" context["gha_setup_python"] = "{{ gha_setup_python }}"