diff --git a/.prettierignore b/.prettierignore index 349451b74c..ebb39d2d73 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,4 +4,5 @@ pnpm-lock.yaml !src/pages/blog/2024-04-11-announcing-new-graphql-website/index.mdx !src/pages/blog/2024-08-15-graphql-local-initiative.mdx !src/pages/community/foundation/community-grant.mdx +!src/pages/blog/2025-06-01-graphiql-4/index.mdx *.jpg diff --git a/.vscode/settings.json b/.vscode/settings.json index cb56bf9fab..02d49400e5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,5 +8,6 @@ "typescript.tsdk": "node_modules/typescript/lib", "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" - } + }, + "tailwindCSS.classFunctions": ["clsx"] } diff --git a/next.config.js b/next.config.js index bfd990f81e..24baa11c51 100644 --- a/next.config.js +++ b/next.config.js @@ -31,12 +31,38 @@ export default withLess( rule.test?.test?.(".svg"), ) - fileLoaderRule.exclude = ALLOWED_SVG_REGEX + fileLoaderRule.exclude = /\.svg$/i + + config.module.rules.push( + // All .svg from /icons/ and with ?svgr are going to be processed by @svgr/webpack + { + test: ALLOWED_SVG_REGEX, + use: ["@svgr/webpack"], + }, + { + test: /\.svg$/i, + exclude: ALLOWED_SVG_REGEX, + resourceQuery: /svgr/, + use: [ + { + loader: "@svgr/webpack", + options: { + dimensions: false, // **adds** viewBox. + }, + }, + ], + }, + // Otherwise, we use the default file loader + { + ...fileLoaderRule, + test: /\.svg$/i, + exclude: ALLOWED_SVG_REGEX, + resourceQuery: { + not: [...fileLoaderRule.resourceQuery.not, /svgr/], + }, + }, + ) - config.module.rules.push({ - test: ALLOWED_SVG_REGEX, - use: ["@svgr/webpack"], - }) return config }, output: "export", diff --git a/package.json b/package.json index 4b92b8bf88..b7d60df083 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "@graphql-tools/schema": "10.0.15", "@headlessui/react": "^1.7.17", "@radix-ui/react-radio-group": "^1.1.3", + "@tailwindcss/container-queries": "^0.1.1", "@tailwindcss/nesting": "0.0.0-insiders.565cd3e", "@tailwindcss/typography": "^0.5.10", "autoprefixer": "^10.4.17", @@ -39,6 +40,7 @@ "lucide-react": "^0.469.0", "markdown-to-jsx": "^7.4.0", "marked": "5.1.2", + "motion": "^12.11.0", "next": "^14.2.5", "next-image-export-optimizer": "^1.12.3", "next-query-params": "^5.0.0", @@ -53,6 +55,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "react-medium-image-zoom": "5.2.13", + "react-use-measure": "^2.1.7", "rss": "1.2.2", "server-only": "0.0.1", "string-similarity": "^4.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c830a6cbd2..c2cde5d2db 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,6 +22,9 @@ importers: '@radix-ui/react-radio-group': specifier: ^1.1.3 version: 1.2.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tailwindcss/container-queries': + specifier: ^0.1.1 + version: 0.1.1(tailwindcss@3.4.17) '@tailwindcss/nesting': specifier: 0.0.0-insiders.565cd3e version: 0.0.0-insiders.565cd3e(postcss@8.4.49) @@ -70,6 +73,9 @@ importers: marked: specifier: 5.1.2 version: 5.1.2 + motion: + specifier: ^12.11.0 + version: 12.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) next: specifier: ^14.2.5 version: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -112,6 +118,9 @@ importers: react-medium-image-zoom: specifier: 5.2.13 version: 5.2.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-use-measure: + specifier: ^2.1.7 + version: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) rss: specifier: 1.2.2 version: 1.2.2 @@ -1703,6 +1712,11 @@ packages: '@swc/helpers@0.5.5': resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} + '@tailwindcss/container-queries@0.1.1': + resolution: {integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==} + peerDependencies: + tailwindcss: '>=3.2.0' + '@tailwindcss/nesting@0.0.0-insiders.565cd3e': resolution: {integrity: sha512-WhHoFBx19TnH/c+xLwT/sxei6+4RpdfiyG3MYXfmLaMsADmVqBkF7B6lDalgZD9YdM459MF7DtxVbWkOrV7IaQ==} peerDependencies: @@ -2731,6 +2745,20 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + framer-motion@12.11.0: + resolution: {integrity: sha512-BaBPmkhaC2l0n619Kt1nQaxSdUdyyz5V1Z7EKJ1CcraOTZitgVx0RTbL8lmg2XesaFi6o8MPBIhkWDIvzDpGaQ==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -3596,6 +3624,26 @@ packages: mj-context-menu@0.6.1: resolution: {integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==} + motion-dom@12.11.0: + resolution: {integrity: sha512-CItkGYJenn5ZsbzTX0D9mE0UWdjdd9r535FrxEXhzR8Kwa9I2dLr1uhEJgQPWbgaIJ6i0sNFnf2T9NvVDWQVBw==} + + motion-utils@12.9.4: + resolution: {integrity: sha512-BW3I65zeM76CMsfh3kHid9ansEJk9Qvl+K5cu4DVHKGsI52n76OJ4z2CUJUV+Mn3uEP9k1JJA3tClG0ggSrRcg==} + + motion@12.11.0: + resolution: {integrity: sha512-1DIh+uBh2Ledv8VlJfveLuE+6tTAkLqRxhBHQSH6Ct8PxcZpUWY7z9E34L3LvnGbXp8u97hGSjeDsmvmVrjOeQ==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -4054,6 +4102,15 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-use-measure@2.1.7: + resolution: {integrity: sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==} + peerDependencies: + react: '>=16.13' + react-dom: '>=16.13' + peerDependenciesMeta: + react-dom: + optional: true + react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} @@ -6456,6 +6513,10 @@ snapshots: '@swc/counter': 0.1.3 tslib: 2.8.1 + '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.17)': + dependencies: + tailwindcss: 3.4.17 + '@tailwindcss/nesting@0.0.0-insiders.565cd3e(postcss@8.4.49)': dependencies: postcss: 8.4.49 @@ -7593,6 +7654,15 @@ snapshots: fraction.js@4.3.7: {} + framer-motion@12.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + motion-dom: 12.11.0 + motion-utils: 12.9.4 + tslib: 2.8.1 + optionalDependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -8886,6 +8956,20 @@ snapshots: mj-context-menu@0.6.1: {} + motion-dom@12.11.0: + dependencies: + motion-utils: 12.9.4 + + motion-utils@12.9.4: {} + + motion@12.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + framer-motion: 12.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + tslib: 2.8.1 + optionalDependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + mri@1.2.0: {} ms@2.1.2: {} @@ -9332,6 +9416,12 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + react-use-measure@2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) + react@18.3.1: dependencies: loose-envify: 1.4.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml deleted file mode 100644 index cac8a5aaf9..0000000000 --- a/pnpm-workspace.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - - "website" diff --git a/public/img/conf/Sponsors/Tyk.svg b/public/img/conf/Sponsors/Tyk.svg index 5d9487148a..06fa8b1397 100644 --- a/public/img/conf/Sponsors/Tyk.svg +++ b/public/img/conf/Sponsors/Tyk.svg @@ -1,18 +1,7 @@ - - - - - - - - - \ No newline at end of file + + + + + + diff --git a/src/app/colors.css b/src/app/colors.css new file mode 100644 index 0000000000..95ec008b24 --- /dev/null +++ b/src/app/colors.css @@ -0,0 +1,40 @@ +:root, +.light { + --color-pri-lighter: 319 100% 90%; + --color-pri-light: 318 100% 80%; + --color-pri-base: 319 100% 44.1%; + --color-pri-dark: 319 100% 30%; + --color-pri-darker: 319 100% 20%; + + --color-sec-lighter: 79 80% 90%; + --color-sec-light: 79 82% 80%; + --color-sec-base: 79 90% 65%; + --color-sec-dark: 79 98% 37%; + --color-sec-darker: 79 98% 23%; + + --color-neu-0: 0 0% 100%; + --color-neu-50: 75 57% 97%; + --color-neu-100: 75 15% 95%; + --color-neu-200: 77 14% 90%; + --color-neu-300: 76 14% 85%; + --color-neu-400: 77 14% 80%; + --color-neu-500: 74 14% 70%; + --color-neu-600: 76 15% 60%; + --color-neu-700: 76 15% 40%; + --color-neu-800: 77 14% 20%; + --color-neu-900: 75 15% 5%; +} + +.dark { + --color-neu-900: 0 0% 100%; + --color-neu-800: 75 57% 97%; + --color-neu-700: 75 15% 95%; + --color-neu-600: 77 14% 90%; + --color-neu-500: 76 14% 85%; + --color-neu-400: 77 14% 80%; + --color-neu-300: 74 14% 70%; + --color-neu-200: 76 15% 60%; + --color-neu-100: 76 15% 40%; + --color-neu-50: 77 14% 20%; + --color-neu-0: 75 15% 5%; +} diff --git a/src/app/conf/2023/layout.tsx b/src/app/conf/2023/layout.tsx index 4669949d2c..6b3f04a9db 100644 --- a/src/app/conf/2023/layout.tsx +++ b/src/app/conf/2023/layout.tsx @@ -4,6 +4,7 @@ import { Header } from "../_components/header" import { Footer } from "../_components/footer" import { GraphQLConf, HostedByGraphQLFoundation } from "@/icons" import NextLink from "next/link" +import { OldFontsStyleTag } from "../../fonts/old-fonts" export const metadata = { description: @@ -33,6 +34,7 @@ export default function ConfLayout({ const hover = "#c026d3" return ( <> + diff --git a/src/github-stats.json b/src/github-stats.json index 71fa63ef3e..0967ef424b 100644 --- a/src/github-stats.json +++ b/src/github-stats.json @@ -1,1274 +1 @@ -{ - "altair-graphql/altair": { - "hasCommitsInLast3Months": false, - "stars": 4981, - "formattedStars": "5k", - "license": "MIT License", - "lastRelease": "2024-03-02T23:05:31Z", - "formattedLastRelease": "3 weeks ago" - }, - "apache/apisix": { - "hasCommitsInLast3Months": false, - "stars": 13572, - "formattedStars": "14k", - "license": "Apache License 2.0", - "lastRelease": "2024-03-25T10:09:53Z", - "formattedLastRelease": "2 days ago" - }, - "apollographql/apollo-studio-community": { - "hasCommitsInLast3Months": false, - "stars": 247, - "formattedStars": "247", - "license": "Unknown", - "lastRelease": "", - "formattedLastRelease": "" - }, - "ChilliCream/hotchocolate": { - "hasCommitsInLast3Months": false, - "stars": 4852, - "formattedStars": "5k", - "license": "MIT License", - "lastRelease": "2024-03-26T20:29:04Z", - "formattedLastRelease": "20 hours ago" - }, - "dgraph-io/dgraph": { - "hasCommitsInLast3Months": false, - "stars": 20002, - "formattedStars": "20k", - "license": "Other", - "lastRelease": "2023-08-17T19:57:12Z", - "formattedLastRelease": "7 months ago" - }, - "yahoo/elide": { - "hasCommitsInLast3Months": false, - "stars": 984, - "formattedStars": "1k", - "license": "Other", - "lastRelease": "2024-03-23T17:37:05Z", - "formattedLastRelease": "3 days ago" - }, - "graphapi-io/resources": { - "hasCommitsInLast3Months": false, - "stars": 1, - "formattedStars": "1", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "hasura/graphql-engine": { - "hasCommitsInLast3Months": false, - "stars": 30748, - "formattedStars": "31k", - "license": "Apache License 2.0", - "lastRelease": "2024-03-24T15:06:36Z", - "formattedLastRelease": "3 days ago" - }, - "Kong/insomnia": { - "hasCommitsInLast3Months": false, - "stars": 32832, - "formattedStars": "33k", - "license": "Apache License 2.0", - "lastRelease": "2024-03-27T13:34:31Z", - "formattedLastRelease": "3 hours ago" - }, - "postmanlabs/postman-app-support": { - "hasCommitsInLast3Months": false, - "stars": 5729, - "formattedStars": "6k", - "license": "Unknown", - "lastRelease": "", - "formattedLastRelease": "" - }, - "prisma/prisma": { - "hasCommitsInLast3Months": false, - "stars": 36814, - "formattedStars": "37k", - "license": "Apache License 2.0", - "lastRelease": "2024-03-12T14:56:01Z", - "formattedLastRelease": "2 weeks ago" - }, - "stepzen-dev/examples": { - "hasCommitsInLast3Months": false, - "stars": 40, - "formattedStars": "40", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "TykTechnologies/tyk": { - "hasCommitsInLast3Months": false, - "stars": 9186, - "formattedStars": "9k", - "license": "Other", - "lastRelease": "2024-03-07T13:28:33Z", - "formattedLastRelease": "2 weeks ago" - }, - "twinlogix/typetta": { - "hasCommitsInLast3Months": false, - "stars": 98, - "formattedStars": "98", - "license": "Apache License 2.0", - "lastRelease": "2023-10-16T07:50:50Z", - "formattedLastRelease": "5 months ago" - }, - "webiny/webiny-js": { - "hasCommitsInLast3Months": false, - "stars": 7071, - "formattedStars": "7k", - "license": "Other", - "lastRelease": "2024-03-12T13:07:17Z", - "formattedLastRelease": "2 weeks ago" - }, - "ballerina-platform/module-ballerina-graphql": { - "hasCommitsInLast3Months": false, - "stars": 144, - "formattedStars": "144", - "license": "Apache License 2.0", - "lastRelease": "2024-02-21T06:14:48Z", - "formattedLastRelease": "1 month ago" - }, - "graphql-dotnet/graphql-client": { - "hasCommitsInLast3Months": false, - "stars": 598, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2024-03-20T13:07:11Z", - "formattedLastRelease": "1 week ago" - }, - "bkniffler/graphql-net-client": { - "hasCommitsInLast3Months": false, - "stars": 94, - "formattedStars": "94", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "sahb1239/SAHB.GraphQLClient": { - "hasCommitsInLast3Months": false, - "stars": 43, - "formattedStars": "43", - "license": "MIT License", - "lastRelease": "2020-05-17T10:50:58Z", - "formattedLastRelease": "3 years ago" - }, - "byme8/ZeroQL": { - "hasCommitsInLast3Months": false, - "stars": 238, - "formattedStars": "238", - "license": "MIT License", - "lastRelease": "2024-02-19T19:05:47Z", - "formattedLastRelease": "1 month ago" - }, - "EntityGraphQL/EntityGraphQL": { - "hasCommitsInLast3Months": false, - "stars": 376, - "formattedStars": "376", - "license": "MIT License", - "lastRelease": "2024-03-19T16:00:01Z", - "formattedLastRelease": "1 week ago" - }, - "graphql-dotnet/graphql-dotnet": { - "hasCommitsInLast3Months": false, - "stars": 5726, - "formattedStars": "6k", - "license": "MIT License", - "lastRelease": "2024-02-06T15:23:47Z", - "formattedLastRelease": "1 month ago" - }, - "chkimes/graphql-net": { - "hasCommitsInLast3Months": false, - "stars": 889, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "rivantsov/ngraphql": { - "hasCommitsInLast3Months": false, - "stars": 37, - "formattedStars": "37", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "graphql/libgraphqlparser": { - "hasCommitsInLast3Months": false, - "stars": 1055, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2017-10-16T21:47:42Z", - "formattedLastRelease": "6 years ago" - }, - "oliyh/re-graph": { - "hasCommitsInLast3Months": false, - "stars": 455, - "formattedStars": "455", - "license": "Unknown", - "lastRelease": "2022-07-20T09:24:02Z", - "formattedLastRelease": "1 year ago" - }, - "alumbra/alumbra": { - "hasCommitsInLast3Months": false, - "stars": 148, - "formattedStars": "148", - "license": "MIT License", - "lastRelease": "2017-06-12T12:14:25Z", - "formattedLastRelease": "6 years ago" - }, - "tendant/graphql-clj": { - "hasCommitsInLast3Months": false, - "stars": 282, - "formattedStars": "282", - "license": "Eclipse Public License 1.0", - "lastRelease": "", - "formattedLastRelease": "" - }, - "walmartlabs/lacinia": { - "hasCommitsInLast3Months": false, - "stars": 1798, - "formattedStars": "2k", - "license": "Other", - "lastRelease": "", - "formattedLastRelease": "" - }, - "burner/graphqld": { - "hasCommitsInLast3Months": false, - "stars": 34, - "formattedStars": "34", - "license": "GNU Lesser General Public License v3.0", - "lastRelease": "2023-12-15T16:28:51Z", - "formattedLastRelease": "3 months ago" - }, - "annkissam/common_graphql_client": { - "hasCommitsInLast3Months": false, - "stars": 43, - "formattedStars": "43", - "license": "MIT License", - "lastRelease": "2020-05-05T16:48:50Z", - "formattedLastRelease": "3 years ago" - }, - "uesteibar/neuron": { - "hasCommitsInLast3Months": false, - "stars": 322, - "formattedStars": "322", - "license": "Other", - "lastRelease": "", - "formattedLastRelease": "" - }, - "absinthe-graphql/absinthe": { - "hasCommitsInLast3Months": false, - "stars": 4211, - "formattedStars": "4k", - "license": "Other", - "lastRelease": "2021-09-28T21:41:45Z", - "formattedLastRelease": "2 years ago" - }, - "graphql-elixir/graphql": { - "hasCommitsInLast3Months": false, - "stars": 859, - "formattedStars": "1k", - "license": "Other", - "lastRelease": "2016-09-09T04:49:46Z", - "formattedLastRelease": "7 years ago" - }, - "dillonkearns/elm-graphql": { - "hasCommitsInLast3Months": false, - "stars": 775, - "formattedStars": "1k", - "license": "BSD 3-Clause \"New\" or \"Revised\" License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "jlouis/graphql-erlang": { - "hasCommitsInLast3Months": false, - "stars": 314, - "formattedStars": "314", - "license": "Other", - "lastRelease": "2018-06-22T12:35:43Z", - "formattedLastRelease": "5 years ago" - }, - "gql-dart/ferry": { - "hasCommitsInLast3Months": false, - "stars": 575, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "zino-app/graphql-flutter": { - "hasCommitsInLast3Months": false, - "stars": 3212, - "formattedStars": "3k", - "license": "MIT License", - "lastRelease": "2023-12-28T21:29:30Z", - "formattedLastRelease": "2 months ago" - }, - "Khan/genqlient": { - "hasCommitsInLast3Months": false, - "stars": 970, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2024-03-05T07:00:55Z", - "formattedLastRelease": "3 weeks ago" - }, - "hasura/go-graphql-client": { - "hasCommitsInLast3Months": false, - "stars": 366, - "formattedStars": "366", - "license": "MIT License", - "lastRelease": "2024-03-04T16:49:07Z", - "formattedLastRelease": "3 weeks ago" - }, - "shurcooL/graphql": { - "hasCommitsInLast3Months": false, - "stars": 684, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "machinebox/graphql": { - "hasCommitsInLast3Months": false, - "stars": 919, - "formattedStars": "1k", - "license": "Apache License 2.0", - "lastRelease": "2018-05-31T14:28:32Z", - "formattedLastRelease": "5 years ago" - }, - "99designs/gqlgen": { - "hasCommitsInLast3Months": false, - "stars": 9560, - "formattedStars": "10k", - "license": "MIT License", - "lastRelease": "2024-03-11T23:13:45Z", - "formattedLastRelease": "2 weeks ago" - }, - "andrewwphillips/eggql": { - "hasCommitsInLast3Months": false, - "stars": 32, - "formattedStars": "32", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "appointy/jaal": { - "hasCommitsInLast3Months": false, - "stars": 76, - "formattedStars": "76", - "license": "MIT License", - "lastRelease": "2020-04-18T08:53:19Z", - "formattedLastRelease": "3 years ago" - }, - "graph-gophers/graphql-go": { - "hasCommitsInLast3Months": false, - "stars": 4588, - "formattedStars": "5k", - "license": "BSD 2-Clause \"Simplified\" License", - "lastRelease": "2022-12-19T10:05:46Z", - "formattedLastRelease": "1 year ago" - }, - "graphql-go/graphql": { - "hasCommitsInLast3Months": false, - "stars": 9677, - "formattedStars": "10k", - "license": "MIT License", - "lastRelease": "2023-04-10T18:20:23Z", - "formattedLastRelease": "11 months ago" - }, - "graphql-go/relay": { - "hasCommitsInLast3Months": false, - "stars": 422, - "formattedStars": "422", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "samsarahq/thunder": { - "hasCommitsInLast3Months": false, - "stars": 1588, - "formattedStars": "2k", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "wundergraph/graphql-go-tools": { - "hasCommitsInLast3Months": false, - "stars": 628, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2023-10-12T13:16:31Z", - "formattedLastRelease": "5 months ago" - }, - "dosco/graphjin": { - "hasCommitsInLast3Months": false, - "stars": 2828, - "formattedStars": "3k", - "license": "Apache License 2.0", - "lastRelease": "2023-12-14T23:23:03Z", - "formattedLastRelease": "3 months ago" - }, - "grails/gorm-graphql": { - "hasCommitsInLast3Months": false, - "stars": 80, - "formattedStars": "80", - "license": "Apache License 2.0", - "lastRelease": "2023-12-08T10:48:05Z", - "formattedLastRelease": "3 months ago" - }, - "grooviter/gql": { - "hasCommitsInLast3Months": false, - "stars": 47, - "formattedStars": "47", - "license": "Apache License 2.0", - "lastRelease": "2022-12-07T00:50:33Z", - "formattedLastRelease": "1 year ago" - }, - "morpheusgraphql/morpheus-graphql": { - "hasCommitsInLast3Months": false, - "stars": 400, - "formattedStars": "400", - "license": "MIT License", - "lastRelease": "2023-04-27T20:20:22Z", - "formattedLastRelease": "11 months ago" - }, - "jasonsychau/graphql-w-persistent": { - "hasCommitsInLast3Months": false, - "stars": 10, - "formattedStars": "10", - "license": "Unknown", - "lastRelease": "", - "formattedLastRelease": "" - }, - "higherkindness/mu-haskell": { - "hasCommitsInLast3Months": false, - "stars": 325, - "formattedStars": "325", - "license": "Apache License 2.0", - "lastRelease": "2021-01-11T11:19:38Z", - "formattedLastRelease": "3 years ago" - }, - "apollographql/apollo-kotlin": { - "hasCommitsInLast3Months": false, - "stars": 3655, - "formattedStars": "4k", - "license": "MIT License", - "lastRelease": "2024-03-20T17:46:54Z", - "formattedLastRelease": "6 days ago" - }, - "ExpediaGroup/graphql-kotlin": { - "hasCommitsInLast3Months": false, - "stars": 1709, - "formattedStars": "2k", - "license": "Apache License 2.0", - "lastRelease": "2024-01-25T02:45:25Z", - "formattedLastRelease": "2 months ago" - }, - "americanexpress/nodes": { - "hasCommitsInLast3Months": false, - "stars": 305, - "formattedStars": "305", - "license": "Apache License 2.0", - "lastRelease": "2019-07-13T22:47:01Z", - "formattedLastRelease": "4 years ago" - }, - "graphql-java-generator/graphql-gradle-plugin-project": { - "hasCommitsInLast3Months": false, - "stars": 51, - "formattedStars": "51", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "graphql-calculator/graphql-calculator": { - "hasCommitsInLast3Months": false, - "stars": 104, - "formattedStars": "104", - "license": "Apache License 2.0", - "lastRelease": "2021-09-03T01:56:25Z", - "formattedLastRelease": "2 years ago" - }, - "graphql-java-kickstart/graphql-spring-boot": { - "hasCommitsInLast3Months": false, - "stars": 1502, - "formattedStars": "2k", - "license": "MIT License", - "lastRelease": "2023-12-07T11:07:47Z", - "formattedLastRelease": "3 months ago" - }, - "graphql-java/graphql-java": { - "hasCommitsInLast3Months": false, - "stars": 6020, - "formattedStars": "6k", - "license": "MIT License", - "lastRelease": "2024-03-26T05:23:07Z", - "formattedLastRelease": "1 day ago" - }, - "babyfish-ct/jimmer": { - "hasCommitsInLast3Months": false, - "stars": 615, - "formattedStars": "1k", - "license": "Apache License 2.0", - "lastRelease": "2024-03-24T23:34:18Z", - "formattedLastRelease": "2 days ago" - }, - "aPureBase/KGraphQL": { - "hasCommitsInLast3Months": false, - "stars": 292, - "formattedStars": "292", - "license": "MIT License", - "lastRelease": "2023-01-27T10:09:55Z", - "formattedLastRelease": "1 year ago" - }, - "eclipse/microprofile-graphql": { - "hasCommitsInLast3Months": false, - "stars": 94, - "formattedStars": "94", - "license": "Apache License 2.0", - "lastRelease": "2022-03-21T18:26:51Z", - "formattedLastRelease": "2 years ago" - }, - "netflix/dgs-framework": { - "hasCommitsInLast3Months": false, - "stars": 2962, - "formattedStars": "3k", - "license": "Apache License 2.0", - "lastRelease": "2024-03-19T16:41:26Z", - "formattedLastRelease": "1 week ago" - }, - "spring-projects/spring-graphql": { - "hasCommitsInLast3Months": false, - "stars": 1479, - "formattedStars": "1k", - "license": "Apache License 2.0", - "lastRelease": "2024-02-21T10:11:39Z", - "formattedLastRelease": "1 month ago" - }, - "neomatrixcode/Diana.jl": { - "hasCommitsInLast3Months": false, - "stars": 112, - "formattedStars": "112", - "license": "MIT License", - "lastRelease": "2022-08-16T03:22:22Z", - "formattedLastRelease": "1 year ago" - }, - "DeloitteDigitalAPAC/GraphQLClient.jl": { - "hasCommitsInLast3Months": false, - "stars": 46, - "formattedStars": "46", - "license": "Other", - "lastRelease": "2022-10-26T16:48:16Z", - "formattedLastRelease": "1 year ago" - }, - "apollographql/apollo-client": { - "hasCommitsInLast3Months": false, - "stars": 19177, - "formattedStars": "19k", - "license": "MIT License", - "lastRelease": "2024-03-22T19:44:35Z", - "formattedLastRelease": "4 days ago" - }, - "aws-amplify/amplify-js": { - "hasCommitsInLast3Months": false, - "stars": 9359, - "formattedStars": "9k", - "license": "Apache License 2.0", - "lastRelease": "2024-03-26T13:44:09Z", - "formattedLastRelease": "1 day ago" - }, - "Houfeng/gq-loader": { - "hasCommitsInLast3Months": false, - "stars": 59, - "formattedStars": "59", - "license": "Unknown", - "lastRelease": "", - "formattedLastRelease": "" - }, - "grafoojs/grafoo": { - "hasCommitsInLast3Months": false, - "stars": 274, - "formattedStars": "274", - "license": "MIT License", - "lastRelease": "2018-06-20T15:21:00Z", - "formattedLastRelease": "5 years ago" - }, - "badbatch/graphql-box": { - "hasCommitsInLast3Months": false, - "stars": 23, - "formattedStars": "23", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "nearform/graphql-hooks": { - "hasCommitsInLast3Months": false, - "stars": 1866, - "formattedStars": "2k", - "license": "Other", - "lastRelease": "2024-01-19T16:50:14Z", - "formattedLastRelease": "2 months ago" - }, - "graphql/graphql-http": { - "hasCommitsInLast3Months": false, - "stars": 274, - "formattedStars": "274", - "license": "MIT License", - "lastRelease": "2023-08-28T14:50:20Z", - "formattedLastRelease": "6 months ago" - }, - "jasonkuhrt/graphql-request": { - "hasCommitsInLast3Months": false, - "stars": 5623, - "formattedStars": "6k", - "license": "MIT License", - "lastRelease": "2020-05-29T13:00:56Z", - "formattedLastRelease": "3 years ago" - }, - "enisdenjo/graphql-sse": { - "hasCommitsInLast3Months": false, - "stars": 365, - "formattedStars": "365", - "license": "MIT License", - "lastRelease": "2023-12-20T12:22:07Z", - "formattedLastRelease": "3 months ago" - }, - "babyfish-ct/graphql-ts-client": { - "hasCommitsInLast3Months": false, - "stars": 142, - "formattedStars": "142", - "license": "MIT License", - "lastRelease": "2023-12-14T03:06:21Z", - "formattedLastRelease": "3 months ago" - }, - "enisdenjo/graphql-ws": { - "hasCommitsInLast3Months": false, - "stars": 1642, - "formattedStars": "2k", - "license": "MIT License", - "lastRelease": "2024-02-12T17:57:24Z", - "formattedLastRelease": "1 month ago" - }, - "hasura/graphqurl": { - "hasCommitsInLast3Months": false, - "stars": 3300, - "formattedStars": "3k", - "license": "Apache License 2.0", - "lastRelease": "", - "formattedLastRelease": "" - }, - "kadirahq/lokka": { - "hasCommitsInLast3Months": false, - "stars": 1531, - "formattedStars": "2k", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "choojs/nanographql": { - "hasCommitsInLast3Months": false, - "stars": 422, - "formattedStars": "422", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "facebook/relay": { - "hasCommitsInLast3Months": false, - "stars": 18149, - "formattedStars": "18k", - "license": "MIT License", - "lastRelease": "2024-01-23T16:49:06Z", - "formattedLastRelease": "2 months ago" - }, - "FormidableLabs/urql": { - "hasCommitsInLast3Months": false, - "stars": 8450, - "formattedStars": "8k", - "license": "MIT License", - "lastRelease": "2024-03-27T12:10:54Z", - "formattedLastRelease": "5 hours ago" - }, - "apollographql/apollo-server": { - "hasCommitsInLast3Months": false, - "stars": 13638, - "formattedStars": "14k", - "license": "MIT License", - "lastRelease": "2024-03-22T19:40:52Z", - "formattedLastRelease": "4 days ago" - }, - "graphql/graphql-js": { - "hasCommitsInLast3Months": false, - "stars": 19896, - "formattedStars": "20k", - "license": "MIT License", - "lastRelease": "2023-09-19T07:27:40Z", - "formattedLastRelease": "6 months ago" - }, - "dotansimha/graphql-yoga": { - "hasCommitsInLast3Months": false, - "stars": 7974, - "formattedStars": "8k", - "license": "MIT License", - "lastRelease": "2024-03-13T14:22:21Z", - "formattedLastRelease": "2 weeks ago" - }, - "mercurius-js/mercurius": { - "hasCommitsInLast3Months": false, - "stars": 2294, - "formattedStars": "2k", - "license": "MIT License", - "lastRelease": "2024-03-19T10:55:16Z", - "formattedLastRelease": "1 week ago" - }, - "networkimprov/brangr": { - "hasCommitsInLast3Months": false, - "stars": 1, - "formattedStars": "1", - "license": "Mozilla Public License 2.0", - "lastRelease": "2023-06-02T09:20:18Z", - "formattedLastRelease": "9 months ago" - }, - "hayes/giraphql": { - "hasCommitsInLast3Months": false, - "stars": 2211, - "formattedStars": "2k", - "license": "ISC License", - "lastRelease": "2024-03-05T19:54:00Z", - "formattedLastRelease": "3 weeks ago" - }, - "graphql/graphiql": { - "hasCommitsInLast3Months": false, - "stars": 15615, - "formattedStars": "16k", - "license": "MIT License", - "lastRelease": "2024-03-01T18:28:05Z", - "formattedLastRelease": "3 weeks ago" - }, - "Urigo/graphql-cli": { - "hasCommitsInLast3Months": false, - "stars": 1983, - "formattedStars": "2k", - "license": "MIT License", - "lastRelease": "2020-10-07T12:54:45Z", - "formattedLastRelease": "3 years ago" - }, - "dotansimha/graphql-code-generator": { - "hasCommitsInLast3Months": false, - "stars": 10596, - "formattedStars": "11k", - "license": "MIT License", - "lastRelease": "2024-03-27T11:16:28Z", - "formattedLastRelease": "6 hours ago" - }, - "kamilkisiela/graphql-config": { - "hasCommitsInLast3Months": false, - "stars": 1144, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2023-10-08T22:16:50Z", - "formattedLastRelease": "5 months ago" - }, - "dimaMachina/graphql-eslint/": { - "hasCommitsInLast3Months": false, - "stars": 756, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2023-08-29T17:53:28Z", - "formattedLastRelease": "6 months ago" - }, - "kamilkisiela/graphql-inspector": { - "hasCommitsInLast3Months": false, - "stars": 1600, - "formattedStars": "2k", - "license": "MIT License", - "lastRelease": "2023-11-29T13:09:10Z", - "formattedLastRelease": "3 months ago" - }, - "graphql/graphql-language-service": { - "hasCommitsInLast3Months": false, - "stars": 421, - "formattedStars": "421", - "license": "Unknown", - "lastRelease": "", - "formattedLastRelease": "" - }, - "n1ru4l/graphql-live-query": { - "hasCommitsInLast3Months": false, - "stars": 433, - "formattedStars": "433", - "license": "MIT License", - "lastRelease": "2022-07-29T09:27:53Z", - "formattedLastRelease": "1 year ago" - }, - "Urigo/graphql-mesh": { - "hasCommitsInLast3Months": false, - "stars": 3149, - "formattedStars": "3k", - "license": "MIT License", - "lastRelease": "2024-03-27T12:45:28Z", - "formattedLastRelease": "4 hours ago" - }, - "maticzav/graphql-middleware": { - "hasCommitsInLast3Months": false, - "stars": 1128, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2023-07-07T16:38:02Z", - "formattedLastRelease": "8 months ago" - }, - "Urigo/graphql-modules": { - "hasCommitsInLast3Months": false, - "stars": 1286, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2023-11-03T08:01:19Z", - "formattedLastRelease": "4 months ago" - }, - "Urigo/graphql-scalars": { - "hasCommitsInLast3Months": false, - "stars": 1830, - "formattedStars": "2k", - "license": "MIT License", - "lastRelease": "2024-03-18T14:47:27Z", - "formattedLastRelease": "1 week ago" - }, - "maticzav/graphql-shield": { - "hasCommitsInLast3Months": false, - "stars": 3507, - "formattedStars": "4k", - "license": "MIT License", - "lastRelease": "2022-11-22T19:08:37Z", - "formattedLastRelease": "1 year ago" - }, - "ardatan/graphql-tools": { - "hasCommitsInLast3Months": false, - "stars": 5272, - "formattedStars": "5k", - "license": "MIT License", - "lastRelease": "2024-03-23T13:50:38Z", - "formattedLastRelease": "4 days ago" - }, - "anvilco/graphql-introspection-tools": { - "hasCommitsInLast3Months": false, - "stars": 30, - "formattedStars": "30", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "graphile/postgraphile": { - "hasCommitsInLast3Months": false, - "stars": 12384, - "formattedStars": "12k", - "license": "Other", - "lastRelease": "2023-10-05T16:27:00Z", - "formattedLastRelease": "5 months ago" - }, - "Urigo/SOFA": { - "hasCommitsInLast3Months": false, - "stars": 1041, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2023-12-27T11:00:49Z", - "formattedLastRelease": "3 months ago" - }, - "anvilco/spectaql": { - "hasCommitsInLast3Months": false, - "stars": 1031, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "andreas/ocaml-graphql-server": { - "hasCommitsInLast3Months": false, - "stars": 623, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2022-07-08T16:26:45Z", - "formattedLastRelease": "1 year ago" - }, - "graphql-perl/graphql-perl": { - "hasCommitsInLast3Months": false, - "stars": 70, - "formattedStars": "70", - "license": "Unknown", - "lastRelease": "", - "formattedLastRelease": "" - }, - "api-platform/api-platform": { - "hasCommitsInLast3Months": false, - "stars": 8264, - "formattedStars": "8k", - "license": "MIT License", - "lastRelease": "2024-03-26T07:56:13Z", - "formattedLastRelease": "1 day ago" - }, - "GatoGraphQL/GatoGraphQL": { - "hasCommitsInLast3Months": false, - "stars": 349, - "formattedStars": "349", - "license": "GNU General Public License v2.0", - "lastRelease": "2024-03-27T06:49:09Z", - "formattedLastRelease": "10 hours ago" - }, - "infinityloop-dev/graphpinator": { - "hasCommitsInLast3Months": false, - "stars": 39, - "formattedStars": "39", - "license": "MIT License", - "lastRelease": "2023-11-13T10:08:26Z", - "formattedLastRelease": "4 months ago" - }, - "webonyx/graphql-php": { - "hasCommitsInLast3Months": false, - "stars": 4598, - "formattedStars": "5k", - "license": "MIT License", - "lastRelease": "2024-03-11T10:21:35Z", - "formattedLastRelease": "2 weeks ago" - }, - "ivome/graphql-relay-php": { - "hasCommitsInLast3Months": false, - "stars": 271, - "formattedStars": "271", - "license": "BSD 3-Clause \"New\" or \"Revised\" License", - "lastRelease": "2021-04-24T19:40:30Z", - "formattedLastRelease": "2 years ago" - }, - "overblog/GraphQLBundle": { - "hasCommitsInLast3Months": false, - "stars": 776, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2024-03-11T08:38:27Z", - "formattedLastRelease": "2 weeks ago" - }, - "thecodingmachine/graphqlite": { - "hasCommitsInLast3Months": false, - "stars": 551, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2024-03-20T05:52:53Z", - "formattedLastRelease": "1 week ago" - }, - "nuwave/lighthouse": { - "hasCommitsInLast3Months": false, - "stars": 3308, - "formattedStars": "3k", - "license": "MIT License", - "lastRelease": "2024-03-11T10:30:48Z", - "formattedLastRelease": "2 weeks ago" - }, - "railt/railt": { - "hasCommitsInLast3Months": false, - "stars": 360, - "formattedStars": "360", - "license": "MIT License", - "lastRelease": "2019-03-01T15:20:44Z", - "formattedLastRelease": "5 years ago" - }, - "kepawni/serge": { - "hasCommitsInLast3Months": false, - "stars": 5, - "formattedStars": "5", - "license": "GNU General Public License v3.0", - "lastRelease": "", - "formattedLastRelease": "" - }, - "leocavalcante/siler": { - "hasCommitsInLast3Months": false, - "stars": 1120, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2021-01-27T19:41:57Z", - "formattedLastRelease": "3 years ago" - }, - "wp-graphql/wp-graphql": { - "hasCommitsInLast3Months": false, - "stars": 3592, - "formattedStars": "4k", - "license": "GNU General Public License v3.0", - "lastRelease": "2024-03-14T22:13:00Z", - "formattedLastRelease": "1 week ago" - }, - "mirumee/ariadne-codegen": { - "hasCommitsInLast3Months": false, - "stars": 195, - "formattedStars": "195", - "license": "BSD 3-Clause \"New\" or \"Revised\" License", - "lastRelease": "2024-03-04T15:58:27Z", - "formattedLastRelease": "3 weeks ago" - }, - "graphql-python/gql": { - "hasCommitsInLast3Months": false, - "stars": 1449, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2024-02-08T22:50:50Z", - "formattedLastRelease": "1 month ago" - }, - "denisart/graphql-query": { - "hasCommitsInLast3Months": false, - "stars": 45, - "formattedStars": "45", - "license": "MIT License", - "lastRelease": "2024-02-19T13:45:58Z", - "formattedLastRelease": "1 month ago" - }, - "prisma-labs/python-graphql-client": { - "hasCommitsInLast3Months": false, - "stars": 155, - "formattedStars": "155", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "qlient-org/python-qlient": { - "hasCommitsInLast3Months": false, - "stars": 45, - "formattedStars": "45", - "license": "MIT License", - "lastRelease": "2022-07-29T16:10:08Z", - "formattedLastRelease": "1 year ago" - }, - "profusion/sgqlc": { - "hasCommitsInLast3Months": false, - "stars": 492, - "formattedStars": "492", - "license": "ISC License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "mirumee/ariadne": { - "hasCommitsInLast3Months": false, - "stars": 2130, - "formattedStars": "2k", - "license": "BSD 3-Clause \"New\" or \"Revised\" License", - "lastRelease": "2024-03-18T10:27:12Z", - "formattedLastRelease": "1 week ago" - }, - "yefeza/django-graphbox": { - "hasCommitsInLast3Months": false, - "stars": 9, - "formattedStars": "9", - "license": "MIT License", - "lastRelease": "2024-03-23T21:41:41Z", - "formattedLastRelease": "3 days ago" - }, - "graphql-python/graphene": { - "hasCommitsInLast3Months": false, - "stars": 7953, - "formattedStars": "8k", - "license": "MIT License", - "lastRelease": "2023-07-26T06:47:55Z", - "formattedLastRelease": "8 months ago" - }, - "strawberry-graphql/strawberry": { - "hasCommitsInLast3Months": false, - "stars": 3721, - "formattedStars": "4k", - "license": "MIT License", - "lastRelease": "2024-03-27T13:04:35Z", - "formattedLastRelease": "4 hours ago" - }, - "tartiflette/tartiflette": { - "hasCommitsInLast3Months": false, - "stars": 852, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2021-11-15T11:05:03Z", - "formattedLastRelease": "2 years ago" - }, - "ropensci/ghql": { - "hasCommitsInLast3Months": false, - "stars": 141, - "formattedStars": "141", - "license": "Other", - "lastRelease": "2020-02-24T18:15:36Z", - "formattedLastRelease": "4 years ago" - }, - "ohler55/agoo": { - "hasCommitsInLast3Months": false, - "stars": 882, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "rmosolgo/graphql-ruby": { - "hasCommitsInLast3Months": false, - "stars": 5323, - "formattedStars": "5k", - "license": "MIT License", - "lastRelease": "2021-02-12T12:11:53Z", - "formattedLastRelease": "3 years ago" - }, - "virtualshield/rails-graphql": { - "hasCommitsInLast3Months": false, - "stars": 165, - "formattedStars": "165", - "license": "MIT License", - "lastRelease": "2024-02-03T08:44:59Z", - "formattedLastRelease": "1 month ago" - }, - "obmarg/cynic": { - "hasCommitsInLast3Months": false, - "stars": 335, - "formattedStars": "335", - "license": "Mozilla Public License 2.0", - "lastRelease": "2024-03-25T15:31:57Z", - "formattedLastRelease": "2 days ago" - }, - "arthurkhlghatyan/gql-client-rs": { - "hasCommitsInLast3Months": false, - "stars": 47, - "formattedStars": "47", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "async-graphql/async-graphql": { - "hasCommitsInLast3Months": false, - "stars": 3196, - "formattedStars": "3k", - "license": "Apache License 2.0", - "lastRelease": "2022-11-28T06:30:57Z", - "formattedLastRelease": "1 year ago" - }, - "graphql-rust/juniper": { - "hasCommitsInLast3Months": false, - "stars": 5513, - "formattedStars": "6k", - "license": "Other", - "lastRelease": "2024-03-20T20:40:22Z", - "formattedLastRelease": "6 days ago" - }, - "ghostdogpr/caliban": { - "hasCommitsInLast3Months": false, - "stars": 930, - "formattedStars": "1k", - "license": "Apache License 2.0", - "lastRelease": "2024-03-03T01:02:04Z", - "formattedLastRelease": "3 weeks ago" - }, - "sangria-graphql/sangria": { - "hasCommitsInLast3Months": false, - "stars": 1963, - "formattedStars": "2k", - "license": "Apache License 2.0", - "lastRelease": "2024-02-01T10:01:14Z", - "formattedLastRelease": "1 month ago" - }, - "apollographql/apollo-ios": { - "hasCommitsInLast3Months": false, - "stars": 3814, - "formattedStars": "4k", - "license": "MIT License", - "lastRelease": "2024-03-22T20:36:20Z", - "formattedLastRelease": "4 days ago" - }, - "nerdsupremacist/Graphaello": { - "hasCommitsInLast3Months": false, - "stars": 494, - "formattedStars": "494", - "license": "MIT License", - "lastRelease": "2021-12-19T22:21:30Z", - "formattedLastRelease": "2 years ago" - }, - "funcompany/graphql-ios": { - "hasCommitsInLast3Months": false, - "stars": 62, - "formattedStars": "62", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "relatedcode/GraphQLite": { - "hasCommitsInLast3Months": false, - "stars": 5, - "formattedStars": "5", - "license": "MIT License", - "lastRelease": "2023-09-25T08:40:36Z", - "formattedLastRelease": "6 months ago" - }, - "maticzav/swift-graphql": { - "hasCommitsInLast3Months": false, - "stars": 588, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2024-01-14T13:56:07Z", - "formattedLastRelease": "2 months ago" - }, - "GraphQLSwift/Graphiti": { - "hasCommitsInLast3Months": false, - "stars": 522, - "formattedStars": "1k", - "license": "MIT License", - "lastRelease": "2023-11-15T02:54:16Z", - "formattedLastRelease": "4 months ago" - }, - "nerdsupremacist/GraphZahl": { - "hasCommitsInLast3Months": false, - "stars": 143, - "formattedStars": "143", - "license": "MIT License", - "lastRelease": "2021-05-17T12:51:10Z", - "formattedLastRelease": "2 years ago" - }, - "eerimoq/gqt": { - "hasCommitsInLast3Months": false, - "stars": 455, - "formattedStars": "455", - "license": "MIT License", - "lastRelease": "", - "formattedLastRelease": "" - }, - "Escape-Technologies/graphql-armor": { - "hasCommitsInLast3Months": false, - "stars": 455, - "formattedStars": "455", - "license": "MIT License", - "lastRelease": "2023-12-20T13:32:16Z", - "formattedLastRelease": "3 months ago" - }, - "microcks/microcks": { - "hasCommitsInLast3Months": false, - "stars": 1158, - "formattedStars": "1k", - "license": "Apache License 2.0", - "lastRelease": "", - "formattedLastRelease": "" - }, - "schemathesis/schemathesis": { - "hasCommitsInLast3Months": false, - "stars": 2058, - "formattedStars": "2k", - "license": "MIT License", - "lastRelease": "2024-03-21T22:25:47Z", - "formattedLastRelease": "5 days ago" - }, - "glideapps/quicktype": { - "hasCommitsInLast3Months": false, - "stars": 11378, - "formattedStars": "11k", - "license": "Apache License 2.0", - "lastRelease": "", - "formattedLastRelease": "" - }, - "wundergraph/wundergraph": { - "hasCommitsInLast3Months": false, - "stars": 2152, - "formattedStars": "2k", - "license": "Apache License 2.0", - "lastRelease": "2024-03-08T09:27:40Z", - "formattedLastRelease": "2 weeks ago" - }, - "ldebruijn/graphql-protect": { - "hasCommitsInLast3Months": true, - "stars": 24, - "formattedStars": "24", - "license": "MIT", - "lastRelease": "2024-08-28T11:28:00Z", - "formattedLastRelease": "2 weeks ago" - } -} +{} diff --git a/src/globals.css b/src/globals.css index 4d74f4b054..efca847c5b 100644 --- a/src/globals.css +++ b/src/globals.css @@ -503,3 +503,24 @@ div[id^="headlessui-menu-items"] { @apply text-xl; @apply dark:border-neutral-700/80; } + +.gql-focus-visible, +.gql-all-anchors-focusable a { + @apply focus-visible:outline focus-visible:outline-[3px] focus-visible:outline-offset-[5px] focus-visible:outline-neu-900; +} + +.gql-conf-container { + @apply mx-auto w-full max-w-[120rem]; +} + +.gql-conf-section { + @apply px-4 py-8 lg:px-12 xl:gap-x-24 xl:px-24 3xl:px-[240px]; +} + +.gql-conf-navbar-strip { + @apply relative [contain:paint] before:sticky before:top-0 before:z-[9] before:-mt-[var(--navbar-h)] before:block before:h-[var(--navbar-h)] before:w-full before:content-['']; +} + +:root { + --navbar-h: 70px; +} diff --git a/src/pages/blog/2025-05-15-governing-board-recap.md b/src/pages/blog/2025-05-15-governing-board-recap.md new file mode 100644 index 0000000000..13ce7ac04d --- /dev/null +++ b/src/pages/blog/2025-05-15-governing-board-recap.md @@ -0,0 +1,28 @@ +--- +title: 📣 April 2025 GraphQL Foundation Board Meeting Recap +tags: ["blog"] +date: 2025-05-15 +byline: GraphQL Governing Board +--- + +The GraphQL Foundation Governing Board met April 17 to discuss ongoing community efforts, technical progress, and upcoming events—read on for the highlights: + +### **🖥️ Website Redesign Underway** + +The first version of the new GraphQL.org design is live for community feedback on [GitHub](https://github.com/graphql/community-wg/issues/21#issuecomment-2766734209)! Championed by The Guild, the new site focuses on communicating GraphQL’s value to different types of users. Check it out on GitHub and [Figma](http://figma.com/proto/aPUvZDSxJfYDJtPd7GF2sB/GraphQL.org?page-id=10%3A13019&node-id=649-3367&viewport=-2607%2C336%2C0.13&t=eZKIRpRkrWRATgQb-9&scaling=scale-down&content-scaling=fixed&starting-point-node-id=649%3A3367&show-proto-sidebar=1)—your feedback is welcome. + +### **🌍 Planning GraphQL All-Hands** + +We had fabulous input and a great turn out for our first public board meeting, which was held at GraphQLConf 2024. We’re building on that idea with a plan to host twice-a-year **GraphQL All-Hands** sessions. These gatherings will celebrate progress, share strategic updates, and foster open discussion. The next one will take place at [GraphQLConf 2025](https://graphql.org/conf/2025/) this fall! + +### **📊 Community Survey Discussion** + +Several Board and community members are exploring a user survey to help shape technical priorities, improve documentation, and inform event content. The Board discussed options to help the effort start small and release iteratively—stay tuned! + +### **💸 Budget & Membership** + +We're exploring aligning our fiscal planning with GraphQLConf to better match our annual rhythm. We also celebrated progress on new community grants! 🎉 + +### **🎤 GraphQLConf 2025** + +We’re expanding community involvement in the CFP process by becoming a **Subject Matter Expert**—we’re looking for volunteers to help rank talks for the conference program. Also, we're proud to support an [ALS charity swim team](https://graphql.org/blog/graphql-stream-team/) happening before the conference. The CFP closed **May 12**. diff --git a/src/pages/blog/2025-05-31-graphiql-4/index.mdx b/src/pages/blog/2025-05-31-graphiql-4/index.mdx new file mode 100644 index 0000000000..ed8fd77d7f --- /dev/null +++ b/src/pages/blog/2025-05-31-graphiql-4/index.mdx @@ -0,0 +1,100 @@ +--- +title: GraphiQL 4.1 is Released +tags: [announcements, grants] +date: 2025-05-31 +byline: Dimitri Postolov +--- + +import { Callout } from "nextra/components" + +I'm thrilled to announce the release of **GraphiQL 4.1**! 🎉 + +Thanks to funding from the **GraphQL Foundation**, I'm working on migrating +GraphiQL to the Monaco code editor — a long-awaited update that's been on our +roadmap for years. + +> In fact, the [original issue](https://github.com/graphql/graphiql/issues/2326) +> was opened over **three years ago**! + +## Roadmap + +Migrating to the Monaco editor is a major milestone, and to ensure a smooth +transition for everyone, I've broken it down into several incremental releases: + +### GraphiQL 3.9 + +- Switched build system from Webpack to Vite +- Compiled the codebase using the new + [React Compiler](https://react.dev/learn/react-compiler) + +### GraphiQL 4 + +- Dropped support for React 16/17 +- Added support for React 19 +- Introduced a refreshed tabs UI +- New ESM-based CDN example +- Deprecated the legacy UMD CDN build + +### GraphiQL 4.1 _(This release)_ + +- Standalone Doc Explorer plugin +- Standalone History plugin +- Migrated state management from React context to + [zustand](https://zustand-demo.pmnd.rs) + +### GraphiQL 5 _(Coming Soon)_ + +- Migration from Codemirror to + [Monaco Editor](https://github.com/microsoft/monaco-editor) +- Replacing `codemirror-graphql` with + [`monaco-graphql`](https://github.com/graphql/graphiql/tree/main/packages/monaco-graphql) +- Support for comments in **Variables** and **Headers** editors +- New examples: **GraphiQL x Vite** and **GraphiQL x Next.js** + + + For the full roadmap, check out the [tracking issue on + GitHub](https://github.com/graphql/graphiql/issues/3874). + + +## What's New + +GraphiQL 4 serves as a gateway to the upcoming GraphiQL 5, which will be powered +by the Monaco editor, the same editor used in VSCode. Upgrading to GraphiQL 4 is +an essential step if you're already using React 19. + +We've extracted **Doc Explorer** and **History** into standalone plugins, +allowing full customization of GraphiQL's built-in plugins in the **GraphiQL +5**. + +Under the hood, we've replaced React context with zustand, making the internal +state management simpler and more maintainable, and enabling faster iteration on +new features. + +### Time to Say Goodbye to UMD Builds! + +With React 19, +[UMD builds have been removed](https://react.dev/blog/2024/04/25/react-19-upgrade-guide#umd-builds-removed). +The React team now recommends using ESM-based CDNs like +[esm.sh](https://esm.sh). + +We've updated the +[CDN example](https://github.com/graphql/graphiql/tree/main/examples/graphiql-cdn) +to show how to use GraphiQL with [esm.sh](https://esm.sh). + +### How to Update + +Follow the step-by-step guide in our +[GraphiQL 4 migration documentation](https://github.com/graphql/graphiql/blob/main/docs/migration/graphiql-4.0.0.md). + +## What's Next? + +The development of **GraphiQL 5** is almost complete! You can checkout the last +[Live Preview](https://deploy-preview-3234--graphiql-test.netlify.app). + +The official release is just around the corner — arriving later **this June**! + +## Stay Connected + +Follow me, **Dima Machina**, on [𝕏](https://x.com/dimaMachina_) and +[GitHub](https://github.com/dimaMachina) to stay up to date with the latest +updates! diff --git a/src/pages/learn/response.mdx b/src/pages/learn/response.mdx index 2eda073465..27f547f9d5 100644 --- a/src/pages/learn/response.mdx +++ b/src/pages/learn/response.mdx @@ -104,7 +104,7 @@ As with network calls to any type of API, network errors that are not specific t ## Extensions -The final top-level key allowed by the GraphQL specification in a response is the `extentions` key. This key is reserved for GraphQL implementations to provide additional information about the response and though it must be an object if present, there are no other restrictions on what it may contain. +The final top-level key allowed by the GraphQL specification in a response is the `extensions` key. This key is reserved for GraphQL implementations to provide additional information about the response and though it must be an object if present, there are no other restrictions on what it may contain. For example, some GraphQL servers may include telemetry data or information about rate limit consumption under this key. Note that what data is available in `extensions` and whether this data is available in production or development environments will depend entirely on the specific GraphQL implementation. @@ -120,4 +120,4 @@ To recap what we've learned about GraphQL response formats: - When a field error occurs during execution, there will be a description of the issue in the `errors` key and there may be partial data included with the `data` key - GraphQL implementations may include additional arbitrary information about the response in the `extensions` key -Now that you understand the different phases of a GraphQL request and how responses are provided to clients, head over to the [Introspection](/learn/introspection) page to learn about how a GraphQL server can query information about its own schema. \ No newline at end of file +Now that you understand the different phases of a GraphQL request and how responses are provided to clients, head over to the [Introspection](/learn/introspection) page to learn about how a GraphQL server can query information about its own schema. diff --git a/tailwind.config.ts b/tailwind.config.ts index 6a71eba9d0..639673a139 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -1,6 +1,8 @@ +import { fontFamily } from "tailwindcss/defaultTheme" import type { Config } from "tailwindcss" import typography from "@tailwindcss/typography" - +import plugin from "tailwindcss/plugin" +import containerQueries from "@tailwindcss/container-queries" const config: Config = { content: ["./src/**/*.{js,ts,jsx,tsx,mdx}", "./theme.config.tsx"], theme: { @@ -9,10 +11,59 @@ const config: Config = { padding: "1rem", }, extend: { + fontFamily: { + sans: [ + `var(--font-sans, ${fontFamily.sans.slice(0, 3).join(", ")})`, + ...fontFamily.sans, + ], + mono: [ + `var(--font-mono, ${fontFamily.mono.slice(0, 3).join(", ")})`, + ...fontFamily.mono, + ], + }, + screens: { + "3xl": "1920px", + }, colors: { primary: "#e10098", "conf-black": "#0e031c", black: "#1b1b1b", + + // #region new design system colors + "pri-lighter": "hsl(var(--color-pri-lighter) / )", + "pri-light": "hsl(var(--color-pri-light) / )", + "pri-base": "hsl(var(--color-pri-base) / )", + "pri-dark": "hsl(var(--color-pri-dark) / )", + "pri-darker": "hsl(var(--color-pri-darker) / )", + + "sec-lighter": "hsl(var(--color-sec-lighter) / )", + "sec-light": "hsl(var(--color-sec-light) / )", + "sec-base": "hsl(var(--color-sec-base) / )", + "sec-dark": "hsl(var(--color-sec-dark) / )", + "sec-darker": "hsl(var(--color-sec-darker) / )", + + // We're using 3-letter color names to avoid conflicting + // with the old `neutral` color. + "neu-0": "hsl(var(--color-neu-0) / )", + "neu-50": "hsl(var(--color-neu-50) / )", + "neu-100": "hsl(var(--color-neu-100) / )", + "neu-200": "hsl(var(--color-neu-200) / )", + "neu-300": "hsl(var(--color-neu-300) / )", + "neu-400": "hsl(var(--color-neu-400) / )", + "neu-500": "hsl(var(--color-neu-500) / )", + "neu-600": "hsl(var(--color-neu-600) / )", + "neu-700": "hsl(var(--color-neu-700) / )", + "neu-800": "hsl(var(--color-neu-800) / )", + "neu-900": "hsl(var(--color-neu-900) / )", + + blk: "#000", + + /** + * GraphQL Rhodamine as per the trademark guidelines + * https://www.graphql.org/brand/ + */ + rhodamine: "#e10098", + // #endregion new design system colors }, backgroundImage: { "gradient-radial": "radial-gradient(var(--tw-gradient-stops))", @@ -32,7 +83,101 @@ const config: Config = { }, }, }, - plugins: [typography], + plugins: [ + typography, + containerQueries, + plugin(({ addUtilities }) => { + // heading styles + addUtilities({ + ".typography-d1, .typography-h1, .typography-h2, .typography-h3": { + lineHeight: "1.2", + }, + ".typography-d1": { + fontSize: "48px", + "@screen lg": { + fontSize: "96px", + }, + }, + ".typography-h1": { + fontSize: "40px", + "@screen lg": { + fontSize: "72px", + }, + }, + ".typography-h2": { + fontSize: "32px", + "@screen md": { + fontSize: "48px", + }, + }, + ".typography-h3": { + fontSize: "24px", + "@screen md": { + fontSize: "32px", + }, + }, + }) + + // paragraph styles + addUtilities({ + ".typography-body-lg, .typography-body-md, .typography-body-sm, .typography-body-xs": + { + lineHeight: "1.5", + }, + ".typography-body-lg": { + fontSize: "16px", + "@screen md": { + fontSize: "20px", + }, + }, + ".typography-body-md": { + fontSize: "14px", + "@screen md": { + fontSize: "16px", + }, + }, + ".typography-body-sm": { + fontSize: "12px", + "@screen md": { + fontSize: "14px", + }, + }, + ".typography-body-xs": { + fontSize: "10px", + "@screen md": { + fontSize: "12px", + }, + }, + }) + + // other text styles + addUtilities({ + ".typography-button, .typography-tagline": { + fontSize: "16px", + lineHeight: "1", + }, + ".typography-tagline": { + textTransform: "uppercase", + }, + ".typography-menu": { + fontFamily: "var(--font-mono)", + fontSize: "14px", + lineHeight: "1", + textTransform: "uppercase", + }, + }) + + addUtilities({ + ".typography-link": { + color: "theme('colors.neu-800')", + textDecoration: "underline", + "&:hover": { + textDecoration: "none", + }, + }, + }) + }), + ], darkMode: ["class", 'html[class~="dark"]'], } export default config