diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index fa231387..bdb86202 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -5,7 +5,7 @@ repos:
- id: check-json5
exclude: apps/frontend/src/content/api/strawberry.json
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.6.0
+ rev: v6.0.0
hooks:
- id: check-added-large-files
args: ["--maxkb=128"]
diff --git a/apps/frontend/src/content/docs/README.mdx b/apps/frontend/src/content/docs/README.mdx
index 7af4d94a..00816903 100644
--- a/apps/frontend/src/content/docs/README.mdx
+++ b/apps/frontend/src/content/docs/README.mdx
@@ -106,4 +106,4 @@ title: Strawberry docs
- [Deployment](/docs/operations/deployment)
- [Testing](/docs/operations/testing)
-- [Tracing](/docs/operations/tracing)
\ No newline at end of file
+- [Tracing](/docs/operations/tracing)
diff --git a/apps/frontend/src/content/docs/_test.mdx b/apps/frontend/src/content/docs/_test.mdx
index a5ef5f7b..9001600a 100644
--- a/apps/frontend/src/content/docs/_test.mdx
+++ b/apps/frontend/src/content/docs/_test.mdx
@@ -123,7 +123,7 @@ This is a warning. Something that you should be careful about.
## Blockquote
> This is a quote
->
+>
```mermaid
@@ -136,4 +136,4 @@ sequenceDiagram
Bob-->Alice: Checking with John...
Alice->John: Yes... John, how are you?
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/breaking-changes.mdx b/apps/frontend/src/content/docs/breaking-changes.mdx
index c3195b35..4b7c4bbd 100644
--- a/apps/frontend/src/content/docs/breaking-changes.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes.mdx
@@ -15,4 +15,4 @@ title: List of breaking changes and deprecations
- [Version 0.180.0 - 31 May 2023](/docs/breaking-changes/0.180.0)
- [Version 0.169.0 - 5 April 2023](/docs/breaking-changes/0.169.0)
- [Version 0.159.0 - 22 February 2023](/docs/breaking-changes/0.159.0)
-- [Version 0.146.0 - 5 December 2022](/docs/breaking-changes/0.146.0)
\ No newline at end of file
+- [Version 0.146.0 - 5 December 2022](/docs/breaking-changes/0.146.0)
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.146.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.146.0.mdx
index 577e5ffe..ecd5a876 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.146.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.146.0.mdx
@@ -62,4 +62,4 @@ The context value is now a dictionary instead of a custom class. This means that
you should access the context value using the `["key"]` syntax instead of the
`.key` syntax.
-The `.key` syntax is still supported but will be removed in future releases.
\ No newline at end of file
+The `.key` syntax is still supported but will be removed in future releases.
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.159.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.159.0.mdx
index 15898ad8..57bcc016 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.159.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.159.0.mdx
@@ -44,4 +44,4 @@ See the following table for a mapping between the old and new hooks.
| on_parsing_start | on_parse |
| on_parsing_end | on_parse |
| on_executing_start | on_execute |
-| on_executing_end | on_execute |
\ No newline at end of file
+| on_executing_end | on_execute |
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.169.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.169.0.mdx
index 1ce087a7..70e2c66e 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.169.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.169.0.mdx
@@ -29,4 +29,4 @@ If you're customizing this method you can change the signature to:
```python
async def get_root_value(self, request: Request) -> Any: ...
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.180.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.180.0.mdx
index f52aa01c..98c3d4e9 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.180.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.180.0.mdx
@@ -20,4 +20,4 @@ for `info.context["ws"]`, `info.context["request"]` and
If you still want to use the `.key` syntax, you can override `get_context()` to
return a custom dataclass there. See the Channels integration documentation for
-an example.
\ No newline at end of file
+an example.
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.213.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.213.0.mdx
index 419906a6..dd22489c 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.213.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.213.0.mdx
@@ -20,4 +20,4 @@ Here's an example of the changes:
-graphql_app = GraphQLRouter(schema, graphiql=False)
+graphql_app = GraphQLRouter(schema, graphql_ide=None)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.217.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.217.0.mdx
index 523efb5b..a96e22ca 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.217.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.217.0.mdx
@@ -27,4 +27,4 @@ class Query:
@strawberry.field(permission_classes=[IsAuthorized])
def name(self, a_key: str) -> str: # pragma: no cover
return "Erik"
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.233.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.233.0.mdx
index 43b4b6b3..28e0949c 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.233.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.233.0.mdx
@@ -26,4 +26,4 @@ class Product:
original_info = info._raw_info
return Product(upc=upc)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.236.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.236.0.mdx
index e7b6c941..5929949d 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.236.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.236.0.mdx
@@ -16,4 +16,4 @@ we missed something.
```bash
strawberry upgrade update-imports
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.240.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.240.0.mdx
index c14309a1..d7fd6bfb 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.240.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.240.0.mdx
@@ -33,4 +33,4 @@ async def subscribe(
root_value: Optional[Any] = None,
operation_name: Optional[str] = None,
) -> Union[AsyncGenerator[ExecutionResult, None], PreExecutionError]:
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.243.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.243.0.mdx
index d734d230..60c0aa59 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.243.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.243.0.mdx
@@ -50,4 +50,4 @@ from api.schema import schema
urlpatterns = [
path("graphql/", csrf_exempt(GraphQLView.as_view(schema=schema))),
]
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.249.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.249.0.mdx
index 17627b21..d5d25c8e 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.249.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.249.0.mdx
@@ -10,4 +10,4 @@ removed in favor of the official Sentry SDK integration.
To migrate, remove the `SentryTracingExtension` from your Strawberry schema and
then follow the
-[official Sentry SDK integration guide](https://docs.sentry.io/platforms/python/integrations/strawberry/).
\ No newline at end of file
+[official Sentry SDK integration guide](https://docs.sentry.io/platforms/python/integrations/strawberry/).
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.251.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.251.0.mdx
index 0a23460d..ea288d84 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.251.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.251.0.mdx
@@ -22,4 +22,4 @@ your method can handle the same inputs as the built-in `json.dumps` method:
```python
def encode_json(self, data: object) -> str: ...
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/breaking-changes/0.268.0.mdx b/apps/frontend/src/content/docs/breaking-changes/0.268.0.mdx
index ed287d9e..6028045e 100644
--- a/apps/frontend/src/content/docs/breaking-changes/0.268.0.mdx
+++ b/apps/frontend/src/content/docs/breaking-changes/0.268.0.mdx
@@ -70,4 +70,4 @@ use the following configuration:
schema = strawberry.Schema(
query=Query, config=StrawberryConfig(relay_use_legacy_global_id=True)
)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/cli/locate-definition.mdx b/apps/frontend/src/content/docs/cli/locate-definition.mdx
index c8b6b40a..4e81cf3d 100644
--- a/apps/frontend/src/content/docs/cli/locate-definition.mdx
+++ b/apps/frontend/src/content/docs/cli/locate-definition.mdx
@@ -40,4 +40,4 @@ script, e.g.:
```
You can then use the go to definition feature to navigate to the definition of a
-model or field.
\ No newline at end of file
+model or field.
diff --git a/apps/frontend/src/content/docs/codegen/query-codegen.mdx b/apps/frontend/src/content/docs/codegen/query-codegen.mdx
index 17aee743..572c88b5 100644
--- a/apps/frontend/src/content/docs/codegen/query-codegen.mdx
+++ b/apps/frontend/src/content/docs/codegen/query-codegen.mdx
@@ -176,4 +176,4 @@ class ConsolePlugin:
def on_end(self, result: CodegenResult) -> None:
"""This method typically persists the results from a single query to the output directory."""
...
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/codegen/schema-codegen.mdx b/apps/frontend/src/content/docs/codegen/schema-codegen.mdx
index a85ebaad..8ad7b0e9 100644
--- a/apps/frontend/src/content/docs/codegen/schema-codegen.mdx
+++ b/apps/frontend/src/content/docs/codegen/schema-codegen.mdx
@@ -43,4 +43,4 @@ class User:
schema = strawberry.Schema(query=Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/concepts/async.mdx b/apps/frontend/src/content/docs/concepts/async.mdx
index 279791bb..7c1a321e 100644
--- a/apps/frontend/src/content/docs/concepts/async.mdx
+++ b/apps/frontend/src/content/docs/concepts/async.mdx
@@ -28,4 +28,4 @@ class Query:
schema = strawberry.Schema(Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/concepts/typings.mdx b/apps/frontend/src/content/docs/concepts/typings.mdx
index 5267074e..e6fd37cd 100644
--- a/apps/frontend/src/content/docs/concepts/typings.mdx
+++ b/apps/frontend/src/content/docs/concepts/typings.mdx
@@ -155,4 +155,4 @@ safety and consistency.
Strawberry takes inspiration from these languages by requiring that all of its
types, fields, resolvers, and mutations declare the types of their arguments and
returns. Through this, the schema is generated in a standard and efficient way
-that aligns with the style-direction of Python and programming as a whole.
\ No newline at end of file
+that aligns with the style-direction of Python and programming as a whole.
diff --git a/apps/frontend/src/content/docs/django/README.mdx b/apps/frontend/src/content/docs/django/README.mdx
index 1c455aca..06d1d7e6 100644
--- a/apps/frontend/src/content/docs/django/README.mdx
+++ b/apps/frontend/src/content/docs/django/README.mdx
@@ -38,4 +38,4 @@ title: Strawberry Django docs
- [Channels](/docs/django/integrations/channels)
- [Choices Field](/docs/django/integrations/choices-field)
- [Django Guardian](/docs/django/integrations/guardian)
-- [Community Projects](/docs/django/community-projects)
\ No newline at end of file
+- [Community Projects](/docs/django/community-projects)
diff --git a/apps/frontend/src/content/docs/django/community-projects.mdx b/apps/frontend/src/content/docs/django/community-projects.mdx
index 4db53583..40dd6755 100644
--- a/apps/frontend/src/content/docs/django/community-projects.mdx
+++ b/apps/frontend/src/content/docs/django/community-projects.mdx
@@ -12,4 +12,4 @@ Those are some community maintained projects worth mentioning:
| [🐙 strawberry-django-extras](https://github.com/m4riok/strawberry-django-extras) | JWT Authentication, Input validation and permissions, mutation hooks and deeply nested CUD mutations |
If you want your integration to be listed here, send us a
-[Pull Request](https://github.com/strawberry-graphql/strawberry-django/pulls)
\ No newline at end of file
+[Pull Request](https://github.com/strawberry-graphql/strawberry-django/pulls)
diff --git a/apps/frontend/src/content/docs/django/faq.mdx b/apps/frontend/src/content/docs/django/faq.mdx
index 40aa81dc..919fba96 100644
--- a/apps/frontend/src/content/docs/django/faq.mdx
+++ b/apps/frontend/src/content/docs/django/faq.mdx
@@ -36,4 +36,4 @@ import strawberry.django
## Example project?
-See complete Django project from github repository folder [examples/django](https://github.com/strawberry-graphql/strawberry-django/tree/main/examples/django).
\ No newline at end of file
+See complete Django project from github repository folder [examples/django](https://github.com/strawberry-graphql/strawberry-django/tree/main/examples/django).
diff --git a/apps/frontend/src/content/docs/django/guide/authentication.mdx b/apps/frontend/src/content/docs/django/guide/authentication.mdx
index f0683134..7d50af30 100644
--- a/apps/frontend/src/content/docs/django/guide/authentication.mdx
+++ b/apps/frontend/src/content/docs/django/guide/authentication.mdx
@@ -10,7 +10,7 @@ title: Authentication
> recommended to use token authentication methods. JWT can be used with
> [strawberry-django-auth](https://github.com/nrbnlulu/strawberry-django-auth)
> lib.
->
+>
`strawberry_django` provides mutations to get authentication going right away.
@@ -46,4 +46,4 @@ class Mutation:
login: User = strawberry_django.auth.login()
logout = strawberry_django.auth.logout()
register: User = strawberry_django.auth.register(UserInput)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/django/guide/export-schema.mdx b/apps/frontend/src/content/docs/django/guide/export-schema.mdx
index f9f2db73..3f8adb27 100644
--- a/apps/frontend/src/content/docs/django/guide/export-schema.mdx
+++ b/apps/frontend/src/content/docs/django/guide/export-schema.mdx
@@ -6,7 +6,7 @@ title: Export Schema
> [!INFO]
> The `export_schema` management command provided here is specifically designed for use with `strawberry_django`. The [default Strawberry export command](https://strawberry.rocks/docs/guides/schema-export) won't work with `strawberry_django` schemas because `strawberry_django` extends the base functionality of Strawberry to integrate with Django models and queries. This command ensures proper schema export functionality.
->
+>
The `export_schema` management command allows you to export a GraphQL schema defined using the `strawberry_django` library. This command converts the schema definition to GraphQL schema definition language (SDL), which can then be saved to a file or printed to the console.
@@ -35,4 +35,4 @@ Here's an example of how to use the export_schema command:
python manage.py export_schema myapp.schema --path=output/schema.graphql
```
-In this example, the schema located at `myapp.schema` will be exported to the file `output/schema.graphql`.
\ No newline at end of file
+In this example, the schema located at `myapp.schema` will be exported to the file `output/schema.graphql`.
diff --git a/apps/frontend/src/content/docs/django/guide/fields.mdx b/apps/frontend/src/content/docs/django/guide/fields.mdx
index 7c229b71..c56f35e0 100644
--- a/apps/frontend/src/content/docs/django/guide/fields.mdx
+++ b/apps/frontend/src/content/docs/django/guide/fields.mdx
@@ -7,7 +7,7 @@ title: Defining Fields
> [!TIP]
> It is highly recommended to enable the [Query Optimizer Extension](/docs/django/guide/optimizer)
> for improved performance and avoid some common pitfalls (e.g. the `n+1` issue)
->
+>
Fields can be defined manually or `auto` type can be used for automatic type resolution. All basic field types and relation fields are supported out of the box. If you use a library that defines a custom field you will need to define an equivalent type such as `str`, `float`, `bool`, `int` or `id`.
@@ -34,7 +34,7 @@ class Fruit2:
> [Django's TextChoices/IntegerChoices](https://docs.djangoproject.com/en/4.2/ref/models/fields/#enumeration-types)
> it is recommended using the [django-choices-field](/docs/django/integrations/choices-field) integration
> enum handling.
->
+>
## Relationships
@@ -126,7 +126,7 @@ field_type_map.update({
> [!WARNING]
> These new keywords should be used with caution, as they may inadvertently lead to exposure of unwanted data. Especially with `fields="__all__"` or `exclude`, sensitive model attributes may be included and made available in the schema without your awareness.
->
+>
`strawberry_django.type` includes two optional keyword fields to help you populate fields from the Django model, `fields` and `exclude`.
@@ -196,4 +196,4 @@ class UserQuery:
```
In this example, each of the fields of the `UserType` will be automatically created by `CustomStrawberryDjangoField`,
-which may implement anything from custom pagination of relationships to altering the field permissions.
\ No newline at end of file
+which may implement anything from custom pagination of relationships to altering the field permissions.
diff --git a/apps/frontend/src/content/docs/django/guide/filters.mdx b/apps/frontend/src/content/docs/django/guide/filters.mdx
index 92178db2..f74eda6f 100644
--- a/apps/frontend/src/content/docs/django/guide/filters.mdx
+++ b/apps/frontend/src/content/docs/django/guide/filters.mdx
@@ -26,7 +26,7 @@ class Fruit:
> `foo: Optional[SomeType] = strawberry.UNSET`
> Above `auto` annotation is wrapped in `Optional` automatically.
> `UNSET` is automatically used for fields without `field` or with `strawberry_django.filter_field`.
->
+>
The code above would generate following schema:
@@ -47,7 +47,7 @@ input FruitFilter {
> from `relay.Node` and `GlobalID` for identifying objects, you might want to set
> `MAP_AUTO_ID_AS_GLOBAL_ID=True` in your [strawberry django settings](/docs/django/guide/settings)
> to make sure `auto` fields gets mapped to `GlobalID` on types and filters.
->
+>
## AND, OR, NOT, DISTINCT ...
@@ -249,38 +249,38 @@ class FruitFilter:
> [!WARNING]
> It is discouraged to use `queryset.filter()` directly. When using more
> complex filtering via `NOT`, `OR` & `AND` this might lead to undesired behaviour.
->
+>
> [!TIP]
->
+>
> #### process_filters
->
+>
> As seen above `strawberry_django.process_filters` function is exposed and can be
> reused in custom methods. Above it's used to resolve fields lookups
->
+>
> #### null values
->
+>
> By default `null` value is ignored for all filters & lookups. This applies to custom
> filter methods as well. Those won't even be called (you don't have to check for `None`).
> This can be modified using
> `strawberry_django.filter_field(filter_none=True)`
->
+>
> This also means that built in `exact` & `iExact` lookups cannot be used to filter for `None`
> and `isNull` have to be used explicitly.
->
+>
> #### value resolution
->
+>
> - `value` parameter of type `relay.GlobalID` is resolved to its `node_id` attribute
> - `value` parameter of type `Enum` is resolved to is's value
> - above types are converted in `lists` as well
->
+>
> resolution can modified via `strawberry_django.filter_field(resolve_value=...)`
->
+>
> - True - always resolve
> - False - never resolve
> - UNSET (default) - resolves for filters without custom method only
->
+>
The code above generates the following schema:
@@ -392,7 +392,7 @@ class FruitFilter:
> As seen above `strawberry_django.process_filters` function is exposed and can be
> reused in custom methods.
> For filter method `filter` `skip_object_order_method` was used to avoid endless recursion.
->
+>
## Adding filters to types
@@ -472,7 +472,7 @@ The previous version of filters can be enabled via [**USE_DEPRECATED_FILTERS**](
> [!WARNING]
> If **USE_DEPRECATED_FILTERS** is not set to `True` legacy custom filtering
> methods will be *not* be called.
->
+>
When using legacy filters it is important to use legacy
@@ -489,4 +489,4 @@ Migration process could be composed of these steps:
- enable **USE_DEPRECATED_FILTERS**
- gradually transform custom filter field methods to new version (do not forget to use old FilterLookup if applicable)
- gradually transform default `filter` methods
-- disable **USE_DEPRECATED_FILTERS** - ***This is breaking change***
\ No newline at end of file
+- disable **USE_DEPRECATED_FILTERS** - ***This is breaking change***
diff --git a/apps/frontend/src/content/docs/django/guide/legacy-ordering.mdx b/apps/frontend/src/content/docs/django/guide/legacy-ordering.mdx
index 43d6c9ab..f60e9739 100644
--- a/apps/frontend/src/content/docs/django/guide/legacy-ordering.mdx
+++ b/apps/frontend/src/content/docs/django/guide/legacy-ordering.mdx
@@ -5,7 +5,7 @@ title: Ordering
> [!WARNING]
> The legacy `@strawberry_django.order` implementation is only provided for backwards compatibility.
> You should prefer [Ordering](ordering) instead.
->
+>
# Order (Legacy)
@@ -28,7 +28,7 @@ class FruitOrder:
> In most cases order fields should have `Optional` annotations and default value `strawberry.UNSET`.
> Above `auto` annotation is wrapped in `Optional` automatically.
> `UNSET` is automatically used for fields without `field` or with `strawberry_django.order_field`.
->
+>
The code above generates the following schema:
@@ -87,14 +87,14 @@ class FruitOrder:
> [!WARNING]
> Do not use `queryset.order_by()` directly. Due to `order_by` not being chainable
> operation, changes applied this way would be overriden later.
->
+>
> [!TIP]
> The `strawberry_django.Ordering` type has convenient method `resolve` that can be used to
> convert field's name to appropriate `F` object with correctly applied `asc()`, `desc()` method
> with `nulls_first` and `nulls_last` arguments.
->
+>
The code above generates the following schema:
@@ -228,7 +228,7 @@ class FruitOrder:
> As seen above `strawberry_django.process_order` function is exposed and can be
> reused in custom methods.
> For order method `order` `skip_object_order_method` was used to avoid endless recursion.
->
+>
## Adding orderings to types
@@ -253,4 +253,4 @@ Orderings added into a field override the default order of this type.
@strawberry.type
class Query:
fruit: Fruit = strawberry_django.field(order=FruitOrder)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/django/guide/mutations.mdx b/apps/frontend/src/content/docs/django/guide/mutations.mdx
index 37073900..3fe33a0a 100644
--- a/apps/frontend/src/content/docs/django/guide/mutations.mdx
+++ b/apps/frontend/src/content/docs/django/guide/mutations.mdx
@@ -89,7 +89,7 @@ mutation {
> If all or most of your mutations use this behaviour, you can change the
> default behaviour for `handle_django_errors` by setting
> `MUTATIONS_DEFAULT_HANDLE_ERRORS=True` in your [strawberry django settings](/docs/django/guide/settings)
->
+>
## Input mutations
@@ -171,7 +171,7 @@ class Mutation:
> [!CAUTION]
> Filtering on mutations is discouraged as it can potentially alter your entire model collection if there are issues with the filters.
->
+>
Filters can be added to update and delete mutations. More information in the
@@ -204,4 +204,4 @@ class Mutation:
deleteFruits: list[Fruit] = mutations.delete(list[FruitPartialInput])
schema = strawberry.Schema(mutation=Mutation)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/django/guide/optimizer.mdx b/apps/frontend/src/content/docs/django/guide/optimizer.mdx
index a62ac7c2..4725883d 100644
--- a/apps/frontend/src/content/docs/django/guide/optimizer.mdx
+++ b/apps/frontend/src/content/docs/django/guide/optimizer.mdx
@@ -172,7 +172,7 @@ Song.objects.all().only(
> Even though `album__release_date` field was not selected here, it got selected
> in the prefetch query later. Since Django caches known objects, we have to select it here or
> else it would trigger extra queries latter.
->
+>
## Optimization hints
@@ -359,7 +359,7 @@ requested in the GraphQL query in the same way that it does normally.
> GraphQL interface type to filter out unwanted subtypes.
> Otherwise you might receive an error like
> `Abstract type 'ProjectType' must resolve to an Object type at runtime for field 'Query.projects'.`
->
+>
### Using Model-Utils InheritanceManager
@@ -420,7 +420,7 @@ in your schema.
> GraphQL interface type to filter out unwanted subtypes.
> Otherwise you might receive an error like
> `Abstract type 'ProjectType' must resolve to an Object type at runtime for field 'Query.projects'.`
->
+>
> [!NOTE]
@@ -430,7 +430,7 @@ in your schema.
> by default, which is different from the standard `objects`.
> Either change your base manager to also be an `InheritanceManager` or set Strawberry Django to use the default
> manager: `DjangoOptimizerExtension(prefetch_custom_queryset=True)`.
->
+>
### Custom polymorphic solution
@@ -491,4 +491,4 @@ class Query:
> [!WARNING]
> Make sure to add `get_queryset` to your interface type, to force the optimizer to use
> `prefetch_related`, otherwise this technique will not work for relation fields.
->
\ No newline at end of file
+>
diff --git a/apps/frontend/src/content/docs/django/guide/ordering.mdx b/apps/frontend/src/content/docs/django/guide/ordering.mdx
index 81d3be56..ab5f0977 100644
--- a/apps/frontend/src/content/docs/django/guide/ordering.mdx
+++ b/apps/frontend/src/content/docs/django/guide/ordering.mdx
@@ -23,7 +23,7 @@ class FruitOrder:
> In most cases ordering fields should have `Optional` annotations and default value `strawberry.UNSET`.
> Above `auto` annotation is wrapped in `Optional` automatically.
> `UNSET` is automatically used for fields without `field` or with `strawberry_django.order_field`.
->
+>
The code above generates the following schema:
@@ -84,14 +84,14 @@ class FruitOrder:
> [!WARNING]
> Do not use `queryset.order_by()` directly. Due to `order_by` not being chainable
> operation, changes applied this way would be overridden later.
->
+>
> [!TIP]
> The `strawberry_django.Ordering` type has convenient method `resolve` that can be used to
> convert field's name to appropriate `F` object with correctly applied `asc()`, `desc()` method
> with `nulls_first` and `nulls_last` arguments.
->
+>
The code above generates the following schema:
@@ -215,7 +215,7 @@ class FruitOrder:
> [!TIP]
> As seen above `strawberry_django.ordering.process_ordering_default` function is exposed and can be
> reused in custom methods. This provides the default ordering implementation.
->
+>
## Adding orderings to types
@@ -247,4 +247,4 @@ class Query:
The previous implementation (`@strawberry_django.order`) is still available, but deprecated and only provided to allow
backwards-compatible schemas. It can be used together with `@strawberry_django.ordering.ordering`, however clients
may only specify one or the other.
-You can still read the [documentation for it](legacy-ordering).
\ No newline at end of file
+You can still read the [documentation for it](legacy-ordering).
diff --git a/apps/frontend/src/content/docs/django/guide/pagination.mdx b/apps/frontend/src/content/docs/django/guide/pagination.mdx
index 663d04e1..86748e38 100644
--- a/apps/frontend/src/content/docs/django/guide/pagination.mdx
+++ b/apps/frontend/src/content/docs/django/guide/pagination.mdx
@@ -158,7 +158,7 @@ query {
> [!NOTE]
> OffsetPaginated follow the same rules for the default pagination limit, and can be configured
> in the same way as explained above.
->
+>
### Customizing queryset resolver
@@ -316,4 +316,4 @@ The following attributes/methods can be accessed in the `OffsetPaginated` class:
Another option for pagination is to use a
[relay style cursor pagination](https://graphql.org/learn/pagination). For this,
you can leverage the [relay integration](/docs/django/guide/relay) provided by strawberry
-to create a relay connection.
\ No newline at end of file
+to create a relay connection.
diff --git a/apps/frontend/src/content/docs/django/guide/permissions.mdx b/apps/frontend/src/content/docs/django/guide/permissions.mdx
index 7d1ce91b..5bccc4fc 100644
--- a/apps/frontend/src/content/docs/django/guide/permissions.mdx
+++ b/apps/frontend/src/content/docs/django/guide/permissions.mdx
@@ -84,7 +84,7 @@ Available options are:
> which supports resolving object permissions. This lib works out of the box with
> [django-guardian](https://django-guardian.readthedocs.io/en/stable/), so if you are
> using it you don't need to do anything else.
->
+>
## No Permission Handling
@@ -100,4 +100,4 @@ When the condition fails, the following will be returned on the field (following
## Custom Permissions Checking
You can create your own permission checking extension by subclassing
-`DjangoPermissionExtension` and implementing your own `resolve_for_user` method.
\ No newline at end of file
+`DjangoPermissionExtension` and implementing your own `resolve_for_user` method.
diff --git a/apps/frontend/src/content/docs/django/guide/queries.mdx b/apps/frontend/src/content/docs/django/guide/queries.mdx
index 7b04338b..0d3983f3 100644
--- a/apps/frontend/src/content/docs/django/guide/queries.mdx
+++ b/apps/frontend/src/content/docs/django/guide/queries.mdx
@@ -25,7 +25,7 @@ schema = strawberry.Schema(query=Query)
> [!TIP]
> You must name your query class "Query" or decorate it with `@strawberry.type(name="Query")` for the single query default primary filter to work
->
+>
-For the single queries (like `Fruit` above), Strawberry comes with a default primary key search filter in the GraphiQL interface. The query `Fruits` gets all the objects in the Fruits by default. To query specific sets of objects a filter need to be added in the `types.py` file.
\ No newline at end of file
+For the single queries (like `Fruit` above), Strawberry comes with a default primary key search filter in the GraphiQL interface. The query `Fruits` gets all the objects in the Fruits by default. To query specific sets of objects a filter need to be added in the `types.py` file.
diff --git a/apps/frontend/src/content/docs/django/guide/relay.mdx b/apps/frontend/src/content/docs/django/guide/relay.mdx
index 706cae8d..e0f2f005 100644
--- a/apps/frontend/src/content/docs/django/guide/relay.mdx
+++ b/apps/frontend/src/content/docs/django/guide/relay.mdx
@@ -60,7 +60,7 @@ You can also define your own `relay.NodeID` field and your resolve, in the same
> for identifying objects, you might want to set `MAP_AUTO_ID_AS_GLOBAL_ID=True`
> in your [strawberry django settings](/docs/django/guide/settings) to make sure `auto` fields gets
> mapped to `GlobalID` on types and filters.
->
+>
Also, this lib exposes a `strawberry_django.relay.DjangoListConnection`, which works
@@ -103,4 +103,4 @@ class Query:
@strawberry_django.connection(DjangoCursorConnection[FruitType])
def fruit_with_custom_resolver(self) -> list[Fruit]:
return Fruit.objects.all()
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/django/guide/resolvers.mdx b/apps/frontend/src/content/docs/django/guide/resolvers.mdx
index 1f54cab6..895f2c8f 100644
--- a/apps/frontend/src/content/docs/django/guide/resolvers.mdx
+++ b/apps/frontend/src/content/docs/django/guide/resolvers.mdx
@@ -108,4 +108,4 @@ class Query:
qs = strawberry_django.ordering.apply(filters, qs)
return qs
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/django/guide/settings.mdx b/apps/frontend/src/content/docs/django/guide/settings.mdx
index 58cb5f02..b27cc28b 100644
--- a/apps/frontend/src/content/docs/django/guide/settings.mdx
+++ b/apps/frontend/src/content/docs/django/guide/settings.mdx
@@ -105,4 +105,4 @@ STRAWBERRY_DJANGO = {
"PAGINATION_DEFAULT_LIMIT": 250,
"ALLOW_MUTATIONS_WITHOUT_FILTERS": True,
}
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/django/guide/subscriptions.mdx b/apps/frontend/src/content/docs/django/guide/subscriptions.mdx
index 5361cd50..2587df8a 100644
--- a/apps/frontend/src/content/docs/django/guide/subscriptions.mdx
+++ b/apps/frontend/src/content/docs/django/guide/subscriptions.mdx
@@ -120,4 +120,4 @@ You should see something like (where the count changes every .5s to a max of 9)
"count": 9
}
}
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/django/guide/types.mdx b/apps/frontend/src/content/docs/django/guide/types.mdx
index e464c9d9..1b4ccb9d 100644
--- a/apps/frontend/src/content/docs/django/guide/types.mdx
+++ b/apps/frontend/src/content/docs/django/guide/types.mdx
@@ -9,7 +9,7 @@ title: Defining Types
> [!NOTE]
> It is highly recommended to enable the [Query Optimizer Extension](/docs/django/guide/optimizer)
> for improved performance and avoid some common pitfalls (e.g. the `n+1` issue)
->
+>
Output types are generated from models. The `auto` type is used for field type auto resolution.
@@ -97,7 +97,7 @@ on [How to define Fields](/docs/django/guide/fields) for that.
> By doing this you are modifying all automatic `QuerySet` generation for any field
> that returns this type. Ideally you will want to define your own [resolver](/docs/django/guide/resolvers)
> instead, which gives you more control over it.
->
+>
By default, a `strawberry_django` type will get data from the default manager for its Django Model.
@@ -137,8 +137,8 @@ class Berry:
> [!NOTE]
> Another way of limiting this is by using the [PermissionExtension](/docs/django/guide/permissions)
> provided by this lib.
->
+>
The `kwargs` dictionary can include other parameters that were added in a `@strawberry.django.type` definition
-like [filters](/docs/django/guide/filters) or [pagination](/docs/django/guide/pagination).
\ No newline at end of file
+like [filters](/docs/django/guide/filters) or [pagination](/docs/django/guide/pagination).
diff --git a/apps/frontend/src/content/docs/django/guide/unit-testing.mdx b/apps/frontend/src/content/docs/django/guide/unit-testing.mdx
index 89e9436b..39711594 100644
--- a/apps/frontend/src/content/docs/django/guide/unit-testing.mdx
+++ b/apps/frontend/src/content/docs/django/guide/unit-testing.mdx
@@ -60,4 +60,4 @@ def test_me_authenticated(db):
}
```
-For more information how to apply these tests, take a look at the [source](https://github.com/strawberry-graphql/strawberry-django/blob/main/strawberry_django/test/client.py) and [this example](https://github.com/strawberry-graphql/strawberry-django/blob/main/tests/test_permissions.py#L49)
\ No newline at end of file
+For more information how to apply these tests, take a look at the [source](https://github.com/strawberry-graphql/strawberry-django/blob/main/strawberry_django/test/client.py) and [this example](https://github.com/strawberry-graphql/strawberry-django/blob/main/tests/test_permissions.py#L49)
diff --git a/apps/frontend/src/content/docs/django/guide/views.mdx b/apps/frontend/src/content/docs/django/guide/views.mdx
index 7e02b8a2..81bd2d39 100644
--- a/apps/frontend/src/content/docs/django/guide/views.mdx
+++ b/apps/frontend/src/content/docs/django/guide/views.mdx
@@ -40,4 +40,4 @@ from .schema import schema
urlpatterns = [
path('graphql', GraphQLView.as_view(schema=schema)),
]
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/django/index.mdx b/apps/frontend/src/content/docs/django/index.mdx
index 1fd80b51..e30569b1 100644
--- a/apps/frontend/src/content/docs/django/index.mdx
+++ b/apps/frontend/src/content/docs/django/index.mdx
@@ -29,9 +29,9 @@ We'll build an example database of fruit and their colours.
> You'll notice that for `Fruit.category`, we use `TextChoicesField` instead of `TextField(choices=...)`.
> This allows strawberry-django to automatically use an enum in the graphQL schema, instead of
> a string which would be the default behaviour for TextField.
->
+>
> See the [choices-field integration](/docs/django/integrations/choices-field) for more information.
->
+>
```python title="models.py"
@@ -82,9 +82,9 @@ which describes the shape of the data that can be queried from the GraphQL serve
> [!TIP]
> A key feature of `strawberry-graphql-django` is that it provides helpers to create types from django models,
> by automatically inferring types (and even documentation!!) from the model fields.
->
+>
> See the [fields guide](/docs/django/guide/fields) for more information.
->
+>
```python title="types.py"
@@ -114,17 +114,17 @@ Next we want to assemble the [schema](https://strawberry.rocks/docs/types/schema
> [!WARNING]
> You'll notice a familiar statement, `fruits: list[Fruit]`. We already used this statement in the previous step in `types.py`.
> Seeing it twice can be a point of confusion when you're first getting to grips with graph and strawberry.
->
+>
> The purpose here is similar but subtly different. Previously, the syntax defined that it was possible to make a query that **traverses** within the graph, from a Color to a list of Fruits.
> Here, the usage defines a [**root** query](https://strawberry.rocks/docs/general/queries) (a bit like an entrypoint into the graph).
->
+>
> [!TIP]
> We add the `DjangoOptimizerExtension` here. Don't worry about why for now, but you're almost certain to want it.
->
+>
> See the [optimizer guide](/docs/django/guide/optimizer) for more information.
->
+>
```python title="schema.py"
@@ -230,4 +230,4 @@ Using the interactive query tool, you can query for the fruits you added earlier
10. [Enable the Query Optimizer extension for performance improvement](/docs/django/guide/optimizer)
11. [Use the relay integration for advanced pagination and model refetching](/docs/django/guide/relay)
12. [Protect your fields using the Permission Extension](/docs/django/guide/permissions)
-13. [Write unit tests for your schema](/docs/django/guide/unit-testing)
\ No newline at end of file
+13. [Write unit tests for your schema](/docs/django/guide/unit-testing)
diff --git a/apps/frontend/src/content/docs/django/integrations/channels.mdx b/apps/frontend/src/content/docs/django/integrations/channels.mdx
index 2484ba52..37e7acf5 100644
--- a/apps/frontend/src/content/docs/django/integrations/channels.mdx
+++ b/apps/frontend/src/content/docs/django/integrations/channels.mdx
@@ -9,4 +9,4 @@ Strawberry provides an integration for
[subscriptions](/docs/django/guide/subscriptions) to be used with django.
Check the [official strawberry django docs](https://strawberry.rocks/docs/integrations/channels)
-for more information on how to use it.
\ No newline at end of file
+for more information on how to use it.
diff --git a/apps/frontend/src/content/docs/django/integrations/choices-field.mdx b/apps/frontend/src/content/docs/django/integrations/choices-field.mdx
index 71bf3803..21f95fc9 100644
--- a/apps/frontend/src/content/docs/django/integrations/choices-field.mdx
+++ b/apps/frontend/src/content/docs/django/integrations/choices-field.mdx
@@ -46,4 +46,4 @@ enum Status {
type Company {
status: Status
}
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/django/integrations/debug-toolbar.mdx b/apps/frontend/src/content/docs/django/integrations/debug-toolbar.mdx
index 4d67c622..bb03a603 100644
--- a/apps/frontend/src/content/docs/django/integrations/debug-toolbar.mdx
+++ b/apps/frontend/src/content/docs/django/integrations/debug-toolbar.mdx
@@ -31,4 +31,4 @@ MIDDLEWARE = [
]
```
-Finally, ensure app `"strawberry_django"` is added to your `INSTALLED_APPS` in Django settings.
\ No newline at end of file
+Finally, ensure app `"strawberry_django"` is added to your `INSTALLED_APPS` in Django settings.
diff --git a/apps/frontend/src/content/docs/django/integrations/guardian.mdx b/apps/frontend/src/content/docs/django/integrations/guardian.mdx
index 650af9c8..bd20b62d 100644
--- a/apps/frontend/src/content/docs/django/integrations/guardian.mdx
+++ b/apps/frontend/src/content/docs/django/integrations/guardian.mdx
@@ -8,4 +8,4 @@ This lib provides integration for per-object-permissions using
[django-guardian](https://django-guardian.readthedocs.io/en/stable/).
Check the [Permission Extension Guide](/docs/django/guide/permissions) for more information
-on how to use it.
\ No newline at end of file
+on how to use it.
diff --git a/apps/frontend/src/content/docs/editors/mypy.mdx b/apps/frontend/src/content/docs/editors/mypy.mdx
index 9bb6a6d1..7490746b 100644
--- a/apps/frontend/src/content/docs/editors/mypy.mdx
+++ b/apps/frontend/src/content/docs/editors/mypy.mdx
@@ -33,4 +33,4 @@ plugins = ["strawberry.ext.mypy_plugin"]
```
Once you have configured the settings, you can run `mypy` and you should be
-getting type checking errors.
\ No newline at end of file
+getting type checking errors.
diff --git a/apps/frontend/src/content/docs/editors/vscode.mdx b/apps/frontend/src/content/docs/editors/vscode.mdx
index 7dae650e..60751663 100644
--- a/apps/frontend/src/content/docs/editors/vscode.mdx
+++ b/apps/frontend/src/content/docs/editors/vscode.mdx
@@ -34,4 +34,4 @@ checking mode. At the moment strict mode is not supported.
Once you have configured the settings, you can restart VS Code and you should be
getting type checking errors in vscode.
-
\ No newline at end of file
+
diff --git a/apps/frontend/src/content/docs/errors.mdx b/apps/frontend/src/content/docs/errors.mdx
index b07bbf82..903e365f 100644
--- a/apps/frontend/src/content/docs/errors.mdx
+++ b/apps/frontend/src/content/docs/errors.mdx
@@ -53,4 +53,4 @@ pip install "strawberry-graphql[cli]"
```
If you want to disable the errors you can do so by setting the
-`STRAWBERRY_DISABLE_RICH_ERRORS` environment variable to `1`.
\ No newline at end of file
+`STRAWBERRY_DISABLE_RICH_ERRORS` environment variable to `1`.
diff --git a/apps/frontend/src/content/docs/errors/_template.mdx b/apps/frontend/src/content/docs/errors/_template.mdx
index 8cfeaaad..c8b44a2a 100644
--- a/apps/frontend/src/content/docs/errors/_template.mdx
+++ b/apps/frontend/src/content/docs/errors/_template.mdx
@@ -13,4 +13,4 @@ error:
import strawberry
schema = strawberry.Schema(query=Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/conflicting-arguments.mdx b/apps/frontend/src/content/docs/errors/conflicting-arguments.mdx
index c7f9ba3f..ef86425a 100644
--- a/apps/frontend/src/content/docs/errors/conflicting-arguments.mdx
+++ b/apps/frontend/src/content/docs/errors/conflicting-arguments.mdx
@@ -23,4 +23,4 @@ class Query:
self, root, parent: strawberry.Parent[str]
) -> str: # <-- self, root, and parent all identify the same input
return f"hello world"
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/duplicated-type-name.mdx b/apps/frontend/src/content/docs/errors/duplicated-type-name.mdx
index e1818de4..d81e655b 100644
--- a/apps/frontend/src/content/docs/errors/duplicated-type-name.mdx
+++ b/apps/frontend/src/content/docs/errors/duplicated-type-name.mdx
@@ -64,4 +64,4 @@ class Query:
schema = strawberry.Schema(query=Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/invalid-argument-type.mdx b/apps/frontend/src/content/docs/errors/invalid-argument-type.mdx
index bf8a4a77..0853289e 100644
--- a/apps/frontend/src/content/docs/errors/invalid-argument-type.mdx
+++ b/apps/frontend/src/content/docs/errors/invalid-argument-type.mdx
@@ -40,4 +40,4 @@ The latest [GraphQL specification](https://spec.graphql.org/October2021/)
doesn't allow using unions as arguments. There's currently an
[RFC for adding a `oneOf` directive](https://github.com/graphql/graphql-spec/pull/825)
that might work for your use case, but it's not yet implemented in the spec and
-Strawberry
\ No newline at end of file
+Strawberry
diff --git a/apps/frontend/src/content/docs/errors/invalid-superclass-interface.mdx b/apps/frontend/src/content/docs/errors/invalid-superclass-interface.mdx
index bf3374f9..8457fcd0 100644
--- a/apps/frontend/src/content/docs/errors/invalid-superclass-interface.mdx
+++ b/apps/frontend/src/content/docs/errors/invalid-superclass-interface.mdx
@@ -24,4 +24,4 @@ class SomeInterface:
@strawberry.input
class SomeInput(SomeInterface):
another_field: int
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/invalid-type-for-union-merge.mdx b/apps/frontend/src/content/docs/errors/invalid-type-for-union-merge.mdx
index d9e1ca82..2d2f178c 100644
--- a/apps/frontend/src/content/docs/errors/invalid-type-for-union-merge.mdx
+++ b/apps/frontend/src/content/docs/errors/invalid-type-for-union-merge.mdx
@@ -67,4 +67,4 @@ class Query:
schema = strawberry.Schema(query=Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/invalid-union-type.mdx b/apps/frontend/src/content/docs/errors/invalid-union-type.mdx
index c5c4f3ab..5fed90f3 100644
--- a/apps/frontend/src/content/docs/errors/invalid-union-type.mdx
+++ b/apps/frontend/src/content/docs/errors/invalid-union-type.mdx
@@ -65,4 +65,4 @@ class Query:
schema = strawberry.Schema(query=Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/missing-arguments-annotations.mdx b/apps/frontend/src/content/docs/errors/missing-arguments-annotations.mdx
index c05ce715..04c5fe32 100644
--- a/apps/frontend/src/content/docs/errors/missing-arguments-annotations.mdx
+++ b/apps/frontend/src/content/docs/errors/missing-arguments-annotations.mdx
@@ -43,4 +43,4 @@ class Query:
schema = strawberry.Schema(query=Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/missing-field-annotation.mdx b/apps/frontend/src/content/docs/errors/missing-field-annotation.mdx
index 0c358508..e4bbcf31 100644
--- a/apps/frontend/src/content/docs/errors/missing-field-annotation.mdx
+++ b/apps/frontend/src/content/docs/errors/missing-field-annotation.mdx
@@ -43,4 +43,4 @@ class Query:
schema = strawberry.Schema(query=Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/missing-return-annotation.mdx b/apps/frontend/src/content/docs/errors/missing-return-annotation.mdx
index a26e2809..b3e1d017 100644
--- a/apps/frontend/src/content/docs/errors/missing-return-annotation.mdx
+++ b/apps/frontend/src/content/docs/errors/missing-return-annotation.mdx
@@ -43,4 +43,4 @@ class Query:
schema = strawberry.Schema(query=Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/node-id-annotation.mdx b/apps/frontend/src/content/docs/errors/node-id-annotation.mdx
index 1919c097..d7237f25 100644
--- a/apps/frontend/src/content/docs/errors/node-id-annotation.mdx
+++ b/apps/frontend/src/content/docs/errors/node-id-annotation.mdx
@@ -53,4 +53,4 @@ from strawberry import relay
class Fruit(relay.Node):
code: relay.NodeID[str]
name: str
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/object-is-not-an-enum.mdx b/apps/frontend/src/content/docs/errors/object-is-not-an-enum.mdx
index 08dddba2..373ea8f3 100644
--- a/apps/frontend/src/content/docs/errors/object-is-not-an-enum.mdx
+++ b/apps/frontend/src/content/docs/errors/object-is-not-an-enum.mdx
@@ -49,4 +49,4 @@ class Query:
schema = strawberry.Schema(query=Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/object-is-not-class.mdx b/apps/frontend/src/content/docs/errors/object-is-not-class.mdx
index 4d1263bc..901f2259 100644
--- a/apps/frontend/src/content/docs/errors/object-is-not-class.mdx
+++ b/apps/frontend/src/content/docs/errors/object-is-not-class.mdx
@@ -48,4 +48,4 @@ class Query:
schema = strawberry.Schema(query=Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/permission-fail-silently-requires-optional.mdx b/apps/frontend/src/content/docs/errors/permission-fail-silently-requires-optional.mdx
index 6ca90d8e..96fee242 100644
--- a/apps/frontend/src/content/docs/errors/permission-fail-silently-requires-optional.mdx
+++ b/apps/frontend/src/content/docs/errors/permission-fail-silently-requires-optional.mdx
@@ -55,4 +55,4 @@ class Query:
schema = strawberry.Schema(query=Query)
```
-Alternatively, not using `fail_silently` might be a good design choice as well.
\ No newline at end of file
+Alternatively, not using `fail_silently` might be a good design choice as well.
diff --git a/apps/frontend/src/content/docs/errors/private-strawberry-field.mdx b/apps/frontend/src/content/docs/errors/private-strawberry-field.mdx
index f20a27a7..491718bf 100644
--- a/apps/frontend/src/content/docs/errors/private-strawberry-field.mdx
+++ b/apps/frontend/src/content/docs/errors/private-strawberry-field.mdx
@@ -54,4 +54,4 @@ class Query:
schema = strawberry.Schema(query=Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/relay-wrong-annotation.mdx b/apps/frontend/src/content/docs/errors/relay-wrong-annotation.mdx
index 4b2444f9..95b39c1f 100644
--- a/apps/frontend/src/content/docs/errors/relay-wrong-annotation.mdx
+++ b/apps/frontend/src/content/docs/errors/relay-wrong-annotation.mdx
@@ -68,4 +68,4 @@ class Query:
# The connection class is not a subclass of relay.Connection
@relay.connection(relay.Connection[MyType])
def my_type_conn_with_resolver2(self) -> List[MyType]: ...
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/relay-wrong-resolver-annotation.mdx b/apps/frontend/src/content/docs/errors/relay-wrong-resolver-annotation.mdx
index 823903b8..80c732dd 100644
--- a/apps/frontend/src/content/docs/errors/relay-wrong-resolver-annotation.mdx
+++ b/apps/frontend/src/content/docs/errors/relay-wrong-resolver-annotation.mdx
@@ -71,4 +71,4 @@ class Query:
will need to subclass the connection type and override its `resolve_node`
method to convert it to the correct type, as explained in the [relay
guide](../guides/relay).
-
\ No newline at end of file
+
diff --git a/apps/frontend/src/content/docs/errors/scalar-already-registered.mdx b/apps/frontend/src/content/docs/errors/scalar-already-registered.mdx
index 4686c390..0173fe93 100644
--- a/apps/frontend/src/content/docs/errors/scalar-already-registered.mdx
+++ b/apps/frontend/src/content/docs/errors/scalar-already-registered.mdx
@@ -68,4 +68,4 @@ class Query:
strawberry.Schema(Query)
-```
\ No newline at end of file
+```
diff --git a/apps/frontend/src/content/docs/errors/unresolved-field-type.mdx b/apps/frontend/src/content/docs/errors/unresolved-field-type.mdx
index 93c362d0..bc86a45c 100644
--- a/apps/frontend/src/content/docs/errors/unresolved-field-type.mdx
+++ b/apps/frontend/src/content/docs/errors/unresolved-field-type.mdx
@@ -53,4 +53,4 @@ schema = strawberry.Schema(query=Query)
Unfortunately, this won't work in cases where there's a circular dependency
between types. In this case, you can use `strawberry.LazyType`.
-
\ No newline at end of file
+
diff --git a/apps/frontend/src/content/docs/errors/unsupported-type.mdx b/apps/frontend/src/content/docs/errors/unsupported-type.mdx
index 6ccf84dd..6783c3a3 100644
--- a/apps/frontend/src/content/docs/errors/unsupported-type.mdx
+++ b/apps/frontend/src/content/docs/errors/unsupported-type.mdx
@@ -8,4 +8,4 @@ title: Unsupported Type Error
This error is thrown when trying to convert arguments with a type that
Strawberry doesn't know about. It shouldn't happen with normal usage of
-Strawberry.
\ No newline at end of file
+Strawberry.
diff --git a/apps/frontend/src/content/docs/extensions.mdx b/apps/frontend/src/content/docs/extensions.mdx
index dbebd662..968804df 100644
--- a/apps/frontend/src/content/docs/extensions.mdx
+++ b/apps/frontend/src/content/docs/extensions.mdx
@@ -16,4 +16,4 @@ extension based on a standard interface. Check out the
## Built-in extensions
-