Repository: strawberry-graphql/strawberry

Issue:
Document all the scalars we have
One that's definitely missing is the JSON one, or at least it doesn't show up on the search (we do get an example of creating a custom JSON scalar though, which is misleading)

<!-- POLAR PLEDGE BADGE START -->
## Upvote & Fund

- We're using [Polar.sh](https://polar.sh/strawberry-graphql) so you can upvote and help fund this issue.
- We receive the funding once the issue is completed & confirmed by you.
- Thank you in advance for helping prioritize & fund our backlog.

<a href="https://polar.sh/strawberry-graphql/strawberry/issues/3404">
<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://polar.sh/api/github/strawberry-graphql/strawberry/issues/3404/pledge.svg?darkmode=1">
  <img alt="Fund with Polar" src="https://polar.sh/api/github/strawberry-graphql/strawberry/issues/3404/pledge.svg">
</picture>
</a>
<!-- POLAR PLEDGE BADGE END -->



Discussion:

Resolving patch:
diff --git a/strawberry/scalars.py b/strawberry/scalars.py
--- a/strawberry/scalars.py
+++ b/strawberry/scalars.py
@@ -16,10 +16,10 @@
     description=(
         "The `JSON` scalar type represents JSON values as specified by "
         "[ECMA-404]"
-        "(http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf)."
+        "(https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf)."
     ),
     specified_by_url=(
-        "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf"
+        "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf"
     ),
     serialize=lambda v: v,
     parse_value=lambda v: v,


Test patch:
diff --git a/tests/schema/test_scalars.py b/tests/schema/test_scalars.py
--- a/tests/schema/test_scalars.py
+++ b/tests/schema/test_scalars.py
@@ -176,9 +176,9 @@ def echo_json_nullable(data: Optional[JSON]) -> Optional[JSON]:
     expected_schema = dedent(
         '''
         """
-        The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
+        The `JSON` scalar type represents JSON values as specified by [ECMA-404](https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf).
         """
-        scalar JSON @specifiedBy(url: "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf")
+        scalar JSON @specifiedBy(url: "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf")
 
         type Query {
           echoJson(data: JSON!): JSON!
diff --git a/tests/test_forward_references.py b/tests/test_forward_references.py
--- a/tests/test_forward_references.py
+++ b/tests/test_forward_references.py
@@ -30,9 +30,9 @@ class MyType:
 
     expected_representation = '''
     """
-    The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
+    The `JSON` scalar type represents JSON values as specified by [ECMA-404](https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf).
     """
-    scalar JSON @specifiedBy(url: "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf")
+    scalar JSON @specifiedBy(url: "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf")
 
     type MyType {
       id: ID!
diff --git a/tests/test_printer/test_basic.py b/tests/test_printer/test_basic.py
--- a/tests/test_printer/test_basic.py
+++ b/tests/test_printer/test_basic.py
@@ -240,9 +240,9 @@ def search(self, input: MyInput) -> JSON:
 
     expected_type = """
     \"\"\"
-    The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
+    The `JSON` scalar type represents JSON values as specified by [ECMA-404](https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf).
     \"\"\"
-    scalar JSON @specifiedBy(url: "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf")
+    scalar JSON @specifiedBy(url: "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf")
 
     input MyInput {
       j: JSON! = {}
@@ -285,9 +285,9 @@ def search3(self, j: JSON = {"hello": {"nice": "world"}}) -> JSON:
 
     expected_type = """
     \"\"\"
-    The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
+    The `JSON` scalar type represents JSON values as specified by [ECMA-404](https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf).
     \"\"\"
-    scalar JSON @specifiedBy(url: "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf")
+    scalar JSON @specifiedBy(url: "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf")
 
     type Query {
       search(j: JSON! = {}): JSON!