This is a huge release, folks! Our last release was 12th Feb, so this covers the 3 month period since then. I finally caught up enough to attack some of the bigger issues in Grafast (specifically the "early exit" and "global dependencies" issues discussed at the first Grafast WG); this has required some breaking changes to the API but as always I've kept these to an absolute minimum; migration steps are outlined below.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/validation/rules/OverlappingFieldsCanBeMergedRule.js b/validation/rules/OverlappingFieldsCanBeMergedRule.js | |
index 3fd18139ada7a3e766c78725c8a05ad18a42cddd..ec3cc13ce8efc700f39a4d0fc0f96331b7708906 100644 | |
--- a/validation/rules/OverlappingFieldsCanBeMergedRule.js | |
+++ b/validation/rules/OverlappingFieldsCanBeMergedRule.js | |
@@ -180,6 +180,23 @@ function collectConflictsBetweenFieldsAndFragment(context, conflicts, cachedFiel | |
// and any fragment names found in the given fragment. | |
for (var i = 0; i < fragmentNames2.length; i++) { | |
+ // Memoize so two fragments are not compared for conflicts more than once. | |
+ const referencedFragmentName = fragmentNames2[i]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type User { | |
id: ID! | |
username: String* | |
avatarUrl: String | |
bio: String | |
friends: [User*]* | |
} | |
type User { | |
id: ID! | |
username: ~String |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
declare global { | |
namespace GraphileBuild { | |
interface PgCodecTags { | |
// This enables TypeScript autocomplete for our @group smart tag | |
group?: string | string[]; | |
} | |
interface Inflection { | |
// Our inflector to pick the name of the grouped type, e.g. `User` table | |
// type, and `address` group might produce `UserAddress` grouped type name | |
groupedTypeName(details: { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
((suffix) => {let abort = false; [...$$(`a[title$="${suffix}"]`)].map(el => {const checks = el.parentNode.parentNode.parentNode.querySelectorAll('.js-reviewed-checkbox');if (checks.length !== 1) { throw new Error("Script out of date?");} return checks[0]}).forEach((inpt, i) => setTimeout(() => {if (abort || inpt.checked) return; inpt.click();}, i * 1000))})(".mermaid") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
a = () => () => () => 2; | |
console.log(a``````); |
Hello, you've probably been sent here because you've found an issue in your usage of PostGraphile. I (Benjie) deal with a lot of support requests that have insufficient information for me to diagnose the problem, so I'll ask for a minimal reproduction. Making a minimal reproduction allows me to diagnose (and potentially fix!) the issue much more easily, and is also a valuable exercise for you during your debugging - who knows, maybe whilst attempting to create the reproduction you'll figure out what went wrong and fix your own issue?
To use this, please download the script locally, and then populate the DATABASE
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const swc = require("@swc/core"); | |
const chokidar = require("chokidar"); | |
const glob = require("glob"); | |
const { promises: fsp } = require("fs"); | |
const { basename, dirname } = require("path"); | |
const { createHash } = require("crypto"); | |
const mkdirp = require("mkdirp"); | |
const WATCH = process.argv[2] === "--watch"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
set -e | |
# What DB are we messing with? (THIS DB WILL BE OVERWRITTEN!) | |
DATABASE="timethor" | |
SCHEMA="main" | |
# Populate database | |
dropdb --if-exists "$DATABASE" | |
createdb "$DATABASE" |
NewerOlder