diff --git a/graphile/graphile-misc-plugins/CHANGELOG.md b/graphile/graphile-misc-plugins/CHANGELOG.md
deleted file mode 100644
index ecbdc4685..000000000
--- a/graphile/graphile-misc-plugins/CHANGELOG.md
+++ /dev/null
@@ -1,55 +0,0 @@
-# Change Log
-
-All notable changes to this project will be documented in this file.
-See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-
-## [1.4.4](https://github.com/constructive-io/constructive/compare/graphile-misc-plugins@1.4.3...graphile-misc-plugins@1.4.4) (2026-03-15)
-
-**Note:** Version bump only for package graphile-misc-plugins
-
-## [1.4.3](https://github.com/constructive-io/constructive/compare/graphile-misc-plugins@1.4.2...graphile-misc-plugins@1.4.3) (2026-03-15)
-
-### Bug Fixes
-
-- add null guards for relation lookups in custom-inflector ([47450f5](https://github.com/constructive-io/constructive/commit/47450f5058192558d842a8024f83cf07ce6509b4))
-- align all graphile ecosystem deps to latest compatible pinned RC versions ([d3f7761](https://github.com/constructive-io/constructive/commit/d3f7761182e0470cf992028155d1a5fa00cf9211))
-
-## [1.4.2](https://github.com/constructive-io/constructive/compare/graphile-misc-plugins@1.4.1...graphile-misc-plugins@1.4.2) (2026-03-12)
-
-**Note:** Version bump only for package graphile-misc-plugins
-
-## [1.4.1](https://github.com/constructive-io/constructive/compare/graphile-misc-plugins@1.3.0...graphile-misc-plugins@1.4.1) (2026-03-12)
-
-**Note:** Version bump only for package graphile-misc-plugins
-
-# [1.4.0](https://github.com/constructive-io/constructive/compare/graphile-misc-plugins@1.3.0...graphile-misc-plugins@1.4.0) (2026-03-12)
-
-**Note:** Version bump only for package graphile-misc-plugins
-
-# [1.3.0](https://github.com/constructive-io/constructive/compare/graphile-misc-plugins@1.2.1...graphile-misc-plugins@1.3.0) (2026-03-12)
-
-**Note:** Version bump only for package graphile-misc-plugins
-
-## [1.2.1](https://github.com/constructive-io/constructive/compare/graphile-misc-plugins@1.2.0...graphile-misc-plugins@1.2.1) (2026-03-04)
-
-**Note:** Version bump only for package graphile-misc-plugins
-
-# [1.2.0](https://github.com/constructive-io/constructive/compare/graphile-misc-plugins@1.1.1...graphile-misc-plugins@1.2.0) (2026-03-04)
-
-### Features
-
-- replace manual identifier quoting with @pgsql/quotes across all plugins ([8a42a33](https://github.com/constructive-io/constructive/commit/8a42a33ccfcdbba146f2136c70152fd300ee2876))
-
-## [1.1.1](https://github.com/constructive-io/constructive/compare/graphile-misc-plugins@1.1.0...graphile-misc-plugins@1.1.1) (2026-02-25)
-
-### Bug Fixes
-
-- pin all Graphile ecosystem RC versions and sync inconsistencies ([8f553c1](https://github.com/constructive-io/constructive/commit/8f553c10d0bdc868bc1ac34136a6dfdab76f61b5))
-
-# [1.1.0](https://github.com/constructive-io/constructive/compare/graphile-misc-plugins@1.0.1...graphile-misc-plugins@1.1.0) (2026-02-24)
-
-**Note:** Version bump only for package graphile-misc-plugins
-
-## 1.0.1 (2026-02-24)
-
-**Note:** Version bump only for package graphile-misc-plugins
diff --git a/graphile/graphile-misc-plugins/README.md b/graphile/graphile-misc-plugins/README.md
deleted file mode 100644
index 4dbc508d5..000000000
--- a/graphile/graphile-misc-plugins/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# graphile-misc-plugins
-
-
-
-
-
-
-
-
-
-
-
-
-
-Miscellaneous PostGraphile v5 plugins for Constructive: inflection, conflict detection, meta-schema, type mappings, public-key signature, and more.
diff --git a/graphile/graphile-misc-plugins/jest.config.js b/graphile/graphile-misc-plugins/jest.config.js
deleted file mode 100644
index 057a9420e..000000000
--- a/graphile/graphile-misc-plugins/jest.config.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/** @type {import('ts-jest').JestConfigWithTsJest} */
-module.exports = {
- preset: 'ts-jest',
- testEnvironment: 'node',
- transform: {
- '^.+\\.tsx?$': [
- 'ts-jest',
- {
- babelConfig: false,
- tsconfig: 'tsconfig.json',
- },
- ],
- },
- transformIgnorePatterns: [`/node_modules/*`],
- testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$',
- moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
- modulePathIgnorePatterns: ['dist/*']
-};
diff --git a/graphile/graphile-misc-plugins/package.json b/graphile/graphile-misc-plugins/package.json
deleted file mode 100644
index 322ba4b09..000000000
--- a/graphile/graphile-misc-plugins/package.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "name": "graphile-misc-plugins",
- "version": "1.4.4",
- "author": "Constructive ",
- "description": "Miscellaneous PostGraphile v5 plugins: inflection, conflict detection, meta-schema, type mappings, and more",
- "main": "index.js",
- "module": "esm/index.js",
- "types": "index.d.ts",
- "homepage": "https://github.com/constructive-io/constructive",
- "license": "MIT",
- "publishConfig": {
- "access": "public",
- "directory": "dist"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/constructive-io/constructive"
- },
- "bugs": {
- "url": "https://github.com/constructive-io/constructive/issues"
- },
- "scripts": {
- "clean": "makage clean",
- "prepack": "npm run build",
- "build": "makage build",
- "build:dev": "makage build --dev",
- "lint": "eslint . --fix",
- "test": "jest",
- "test:watch": "jest --watch"
- },
- "dependencies": {
- "@graphile-contrib/pg-many-to-many": "2.0.0-rc.2",
- "@pgsql/quotes": "^17.1.0",
- "graphile-utils": "5.0.0-rc.8",
- "inflekt": "^0.3.3",
- "pg": "^8.20.0",
- "pg-query-context": "workspace:^"
- },
- "peerDependencies": {
- "grafast": "1.0.0-rc.9",
- "graphile-build": "5.0.0-rc.6",
- "graphile-build-pg": "5.0.0-rc.8",
- "graphile-config": "1.0.0-rc.6",
- "graphql": "16.13.0",
- "pg-sql2": "5.0.0-rc.5"
- },
- "devDependencies": {
- "@types/node": "^22.19.11",
- "makage": "^0.1.10"
- },
- "keywords": [
- "postgraphile",
- "graphile",
- "constructive",
- "plugin",
- "inflection",
- "meta-schema",
- "postgres",
- "graphql"
- ]
-}
diff --git a/graphile/graphile-misc-plugins/src/index.ts b/graphile/graphile-misc-plugins/src/index.ts
deleted file mode 100644
index b38adc43a..000000000
--- a/graphile/graphile-misc-plugins/src/index.ts
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * graphile-misc-plugins
- *
- * Miscellaneous PostGraphile v5 plugins: inflection, conflict detection,
- * meta-schema, type mappings, public-key signature, and more.
- */
-
-// Minimal preset - PostGraphile without Node/Relay features
-export { MinimalPreset } from './minimal-preset';
-
-// Custom inflector using inflekt library
-export {
- InflektPlugin,
- InflektPreset,
- CustomInflectorPlugin,
- CustomInflectorPreset,
-} from './custom-inflector';
-
-// Conflict detector for multi-schema setups
-export {
- ConflictDetectorPlugin,
- ConflictDetectorPreset,
-} from './conflict-detector';
-
-// Inflector logger for debugging
-export {
- InflectorLoggerPlugin,
- InflectorLoggerPreset,
-} from './inflector-logger';
-
-// Enable filtering on all columns (not just indexed)
-export {
- EnableAllFilterColumnsPlugin,
- EnableAllFilterColumnsPreset,
-} from './enable-all-filter-columns';
-
-// Many-to-many with opt-in behavior
-export {
- ManyToManyOptInPlugin,
- ManyToManyOptInPreset,
-} from './many-to-many-preset';
-
-// Primary key only lookups (disable non-PK unique constraints)
-export {
- createUniqueLookupPlugin,
- PrimaryKeyOnlyPlugin,
- NoUniqueLookupPlugin,
- PrimaryKeyOnlyPreset,
- NoUniqueLookupPreset,
-} from './primary-key-only';
-export type { UniqueLookupOptions } from './primary-key-only';
-
-// Meta schema plugin for introspection (tables, fields, indexes, constraints)
-export {
- MetaSchemaPlugin,
- MetaSchemaPreset,
-} from './meta-schema';
-
-// PG type mappings for custom PostgreSQL types (email, url, etc.)
-export {
- PgTypeMappingsPlugin,
- PgTypeMappingsPreset,
-} from './pg-type-mappings';
-export type { TypeMapping } from './pg-type-mappings';
-
-// Public key signature plugin for crypto authentication
-export { PublicKeySignature } from './PublicKeySignature';
-export type { PublicKeyChallengeConfig } from './PublicKeySignature';
-
-// Internal exports for testing
-export { _pgTypeToGqlType, _buildFieldMeta, _cachedTablesMeta } from './meta-schema';
diff --git a/graphile/graphile-misc-plugins/tsconfig.esm.json b/graphile/graphile-misc-plugins/tsconfig.esm.json
deleted file mode 100644
index f624f9670..000000000
--- a/graphile/graphile-misc-plugins/tsconfig.esm.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "outDir": "dist/esm",
- "module": "ESNext"
- }
-}
diff --git a/graphile/graphile-misc-plugins/tsconfig.json b/graphile/graphile-misc-plugins/tsconfig.json
deleted file mode 100644
index 9c8a7d7c1..000000000
--- a/graphile/graphile-misc-plugins/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "../../tsconfig.json",
- "compilerOptions": {
- "outDir": "dist",
- "rootDir": "src"
- },
- "include": ["src/**/*"]
-}
diff --git a/graphile/graphile-misc-plugins/__tests__/PublicKeySignature.test.ts b/graphile/graphile-settings/__tests__/PublicKeySignature.test.ts
similarity index 93%
rename from graphile/graphile-misc-plugins/__tests__/PublicKeySignature.test.ts
rename to graphile/graphile-settings/__tests__/PublicKeySignature.test.ts
index 651466740..431afccad 100644
--- a/graphile/graphile-misc-plugins/__tests__/PublicKeySignature.test.ts
+++ b/graphile/graphile-settings/__tests__/PublicKeySignature.test.ts
@@ -1,5 +1,5 @@
-import { PublicKeySignature } from '../src/PublicKeySignature';
-import type { PublicKeyChallengeConfig } from '../src/PublicKeySignature';
+import { PublicKeySignature } from '../src/plugins/PublicKeySignature';
+import type { PublicKeyChallengeConfig } from '../src/plugins/PublicKeySignature';
const defaultConfig: PublicKeyChallengeConfig = {
schema: 'app_private',
@@ -41,7 +41,7 @@ describe('PublicKeySignature plugin factory', () => {
});
it('default export matches named export', async () => {
- const mod = await import('../src/PublicKeySignature');
+ const mod = await import('../src/plugins/PublicKeySignature');
expect(mod.default).toBe(mod.PublicKeySignature);
});
});
diff --git a/graphile/graphile-misc-plugins/__tests__/__snapshots__/meta-schema.test.ts.snap b/graphile/graphile-settings/__tests__/__snapshots__/meta-schema.test.ts.snap
similarity index 100%
rename from graphile/graphile-misc-plugins/__tests__/__snapshots__/meta-schema.test.ts.snap
rename to graphile/graphile-settings/__tests__/__snapshots__/meta-schema.test.ts.snap
diff --git a/graphile/graphile-misc-plugins/__tests__/meta-schema.test.ts b/graphile/graphile-settings/__tests__/meta-schema.test.ts
similarity index 99%
rename from graphile/graphile-misc-plugins/__tests__/meta-schema.test.ts
rename to graphile/graphile-settings/__tests__/meta-schema.test.ts
index fb09922e5..6ad52365b 100644
--- a/graphile/graphile-misc-plugins/__tests__/meta-schema.test.ts
+++ b/graphile/graphile-settings/__tests__/meta-schema.test.ts
@@ -3,7 +3,7 @@ import {
_pgTypeToGqlType,
_buildFieldMeta,
_cachedTablesMeta,
-} from '../src/meta-schema';
+} from '../src/plugins/meta-schema';
import {
parse,
print,
diff --git a/graphile/graphile-settings/__tests__/required-input-plugin.test.ts b/graphile/graphile-settings/__tests__/required-input-plugin.test.ts
new file mode 100644
index 000000000..e0efee781
--- /dev/null
+++ b/graphile/graphile-settings/__tests__/required-input-plugin.test.ts
@@ -0,0 +1,340 @@
+import { GraphQLNonNull, GraphQLString, GraphQLInt } from 'graphql';
+import { RequiredInputPlugin, RequiredInputPreset } from '../src/plugins/required-input-plugin';
+
+// ---------------------------------------------------------------------------
+// Helpers
+// ---------------------------------------------------------------------------
+
+function createMockAttribute(name: string, opts: Record = {}) {
+ return {
+ codec: { name: 'text' },
+ notNull: false,
+ hasDefault: false,
+ extensions: opts.extensions || {},
+ ...opts,
+ };
+}
+
+function createMockCodec(
+ name: string,
+ attributes: Record,
+) {
+ return {
+ name,
+ attributes,
+ isAnonymous: false,
+ extensions: { pg: { schemaName: 'app_public' } },
+ };
+}
+
+function createMockBuild() {
+ return {
+ graphql: { GraphQLNonNull },
+ inflection: {
+ attribute({ attributeName }: { attributeName: string }) {
+ // Simple camelCase conversion: snake_case -> camelCase
+ return attributeName.replace(/_([a-z])/g, (_: string, c: string) => c.toUpperCase());
+ },
+ },
+ extend(base: Record, extra: Record, _hint: string) {
+ return { ...base, ...extra };
+ },
+ };
+}
+
+function callHook(
+ fields: Record,
+ build: any,
+ scope: Record,
+) {
+ const hook = RequiredInputPlugin.schema!.hooks!.GraphQLInputObjectType_fields as (
+ fields: Record,
+ build: any,
+ context: { scope: Record },
+ ) => Record;
+ return hook(fields, build, { scope });
+}
+
+// ---------------------------------------------------------------------------
+// Tests
+// ---------------------------------------------------------------------------
+
+describe('RequiredInputPlugin', () => {
+ it('exports a valid plugin object', () => {
+ expect(RequiredInputPlugin).toBeDefined();
+ expect(RequiredInputPlugin.name).toBe('RequiredInputPlugin');
+ expect(RequiredInputPlugin.version).toBe('1.0.0');
+ expect(RequiredInputPlugin.schema).toBeDefined();
+ expect(RequiredInputPlugin.schema!.hooks).toBeDefined();
+ expect(RequiredInputPlugin.schema!.hooks!.GraphQLInputObjectType_fields).toBeDefined();
+ });
+
+ it('wraps @requiredInput tagged field with NonNull in mutation input', () => {
+ const codec = createMockCodec('membership', {
+ id: createMockAttribute('id', { notNull: true, hasDefault: true }),
+ grantor_id: createMockAttribute('grantor_id', {
+ extensions: { tags: { requiredInput: true } },
+ }),
+ name: createMockAttribute('name'),
+ });
+
+ const fields = {
+ id: { type: GraphQLString },
+ grantorId: { type: GraphQLString },
+ name: { type: GraphQLString },
+ };
+
+ const build = createMockBuild();
+ const result = callHook(fields, build, {
+ pgCodec: codec,
+ isMutationInput: true,
+ });
+
+ // grantorId should be wrapped with NonNull
+ expect(result.grantorId.type).toBeInstanceOf(GraphQLNonNull);
+ expect(result.grantorId.type.ofType).toBe(GraphQLString);
+
+ // Other fields should remain unchanged
+ expect(result.id.type).toBe(GraphQLString);
+ expect(result.name.type).toBe(GraphQLString);
+ });
+
+ it('wraps @requiredInput tagged field in isPgPatch scope', () => {
+ const codec = createMockCodec('membership', {
+ grantor_id: createMockAttribute('grantor_id', {
+ extensions: { tags: { requiredInput: true } },
+ }),
+ });
+
+ const fields = {
+ grantorId: { type: GraphQLString },
+ };
+
+ const build = createMockBuild();
+ const result = callHook(fields, build, {
+ pgCodec: codec,
+ isPgPatch: true,
+ });
+
+ expect(result.grantorId.type).toBeInstanceOf(GraphQLNonNull);
+ });
+
+ it('wraps @requiredInput tagged field in isPgBaseInput scope', () => {
+ const codec = createMockCodec('membership', {
+ grantor_id: createMockAttribute('grantor_id', {
+ extensions: { tags: { requiredInput: true } },
+ }),
+ });
+
+ const fields = {
+ grantorId: { type: GraphQLString },
+ };
+
+ const build = createMockBuild();
+ const result = callHook(fields, build, {
+ pgCodec: codec,
+ isPgBaseInput: true,
+ });
+
+ expect(result.grantorId.type).toBeInstanceOf(GraphQLNonNull);
+ });
+
+ it('does not modify fields when no @requiredInput tag is present', () => {
+ const codec = createMockCodec('user', {
+ id: createMockAttribute('id'),
+ email: createMockAttribute('email'),
+ });
+
+ const fields = {
+ id: { type: GraphQLString },
+ email: { type: GraphQLString },
+ };
+
+ const build = createMockBuild();
+ const result = callHook(fields, build, {
+ pgCodec: codec,
+ isMutationInput: true,
+ });
+
+ expect(result.id.type).toBe(GraphQLString);
+ expect(result.email.type).toBe(GraphQLString);
+ });
+
+ it('does not modify fields for non-mutation input types', () => {
+ const codec = createMockCodec('membership', {
+ grantor_id: createMockAttribute('grantor_id', {
+ extensions: { tags: { requiredInput: true } },
+ }),
+ });
+
+ const fields = {
+ grantorId: { type: GraphQLString },
+ };
+
+ const build = createMockBuild();
+
+ // Not a mutation input type (e.g., a filter or condition type)
+ const result = callHook(fields, build, {
+ pgCodec: codec,
+ isPgPatch: false,
+ isPgBaseInput: false,
+ isMutationInput: false,
+ });
+
+ expect(result.grantorId.type).toBe(GraphQLString);
+ });
+
+ it('returns fields unchanged when pgCodec is missing', () => {
+ const fields = {
+ id: { type: GraphQLString },
+ };
+
+ const build = createMockBuild();
+ const result = callHook(fields, build, {});
+
+ expect(result).toBe(fields);
+ });
+
+ it('returns fields unchanged when pgCodec has no attributes', () => {
+ const codec = { name: 'custom_type', isAnonymous: false };
+
+ const fields = {
+ id: { type: GraphQLString },
+ };
+
+ const build = createMockBuild();
+ const result = callHook(fields, build, {
+ pgCodec: codec,
+ isMutationInput: true,
+ });
+
+ expect(result).toBe(fields);
+ });
+
+ it('skips fields that are already NonNull', () => {
+ const codec = createMockCodec('membership', {
+ grantor_id: createMockAttribute('grantor_id', {
+ notNull: true,
+ extensions: { tags: { requiredInput: true } },
+ }),
+ });
+
+ const alreadyNonNull = new GraphQLNonNull(GraphQLString);
+ const fields = {
+ grantorId: { type: alreadyNonNull },
+ };
+
+ const build = createMockBuild();
+ const result = callHook(fields, build, {
+ pgCodec: codec,
+ isMutationInput: true,
+ });
+
+ // Should remain the same NonNull instance, not double-wrapped
+ expect(result.grantorId.type).toBe(alreadyNonNull);
+ });
+
+ it('handles multiple @requiredInput fields on the same codec', () => {
+ const codec = createMockCodec('invite', {
+ sender_id: createMockAttribute('sender_id', {
+ extensions: { tags: { requiredInput: true } },
+ }),
+ receiver_id: createMockAttribute('receiver_id', {
+ extensions: { tags: { requiredInput: true } },
+ }),
+ message: createMockAttribute('message'),
+ });
+
+ const fields = {
+ senderId: { type: GraphQLString },
+ receiverId: { type: GraphQLString },
+ message: { type: GraphQLString },
+ };
+
+ const build = createMockBuild();
+ const result = callHook(fields, build, {
+ pgCodec: codec,
+ isMutationInput: true,
+ });
+
+ expect(result.senderId.type).toBeInstanceOf(GraphQLNonNull);
+ expect(result.receiverId.type).toBeInstanceOf(GraphQLNonNull);
+ expect(result.message.type).toBe(GraphQLString);
+ });
+
+ it('skips attributes whose GraphQL field does not exist', () => {
+ const codec = createMockCodec('membership', {
+ hidden_field: createMockAttribute('hidden_field', {
+ extensions: { tags: { requiredInput: true } },
+ }),
+ });
+
+ // The field is not in the GraphQL fields (e.g., omitted by another plugin)
+ const fields = {
+ someOtherField: { type: GraphQLString },
+ };
+
+ const build = createMockBuild();
+ const result = callHook(fields, build, {
+ pgCodec: codec,
+ isMutationInput: true,
+ });
+
+ // Should not crash, fields unchanged
+ expect(result.someOtherField.type).toBe(GraphQLString);
+ });
+
+ it('preserves existing field properties when wrapping', () => {
+ const codec = createMockCodec('membership', {
+ grantor_id: createMockAttribute('grantor_id', {
+ extensions: { tags: { requiredInput: true } },
+ }),
+ });
+
+ const fields = {
+ grantorId: {
+ type: GraphQLString,
+ description: 'The grantor of this membership',
+ extensions: { someExtension: true },
+ },
+ };
+
+ const build = createMockBuild();
+ const result = callHook(fields, build, {
+ pgCodec: codec,
+ isMutationInput: true,
+ });
+
+ expect(result.grantorId.type).toBeInstanceOf(GraphQLNonNull);
+ expect(result.grantorId.description).toBe('The grantor of this membership');
+ expect(result.grantorId.extensions).toEqual({ someExtension: true });
+ });
+
+ it('works with non-string types (e.g., GraphQLInt)', () => {
+ const codec = createMockCodec('score', {
+ player_id: createMockAttribute('player_id', {
+ extensions: { tags: { requiredInput: true } },
+ }),
+ });
+
+ const fields = {
+ playerId: { type: GraphQLInt },
+ };
+
+ const build = createMockBuild();
+ const result = callHook(fields, build, {
+ pgCodec: codec,
+ isMutationInput: true,
+ });
+
+ expect(result.playerId.type).toBeInstanceOf(GraphQLNonNull);
+ expect(result.playerId.type.ofType).toBe(GraphQLInt);
+ });
+});
+
+describe('RequiredInputPreset', () => {
+ it('exports a valid preset with the plugin', () => {
+ expect(RequiredInputPreset).toBeDefined();
+ expect(RequiredInputPreset.plugins).toContain(RequiredInputPlugin);
+ });
+});
diff --git a/graphile/graphile-settings/package.json b/graphile/graphile-settings/package.json
index 7b007e391..05637cd29 100644
--- a/graphile/graphile-settings/package.json
+++ b/graphile/graphile-settings/package.json
@@ -46,7 +46,9 @@
"graphile-build-pg": "5.0.0-rc.8",
"graphile-config": "1.0.0-rc.6",
"graphile-connection-filter": "workspace:^",
- "graphile-misc-plugins": "workspace:^",
+ "graphile-utils": "5.0.0-rc.8",
+ "@pgsql/quotes": "^17.1.0",
+ "pg-query-context": "workspace:^",
"graphile-postgis": "workspace:^",
"graphile-search": "workspace:^",
"graphile-sql-expression-validator": "workspace:^",
diff --git a/graphile/graphile-misc-plugins/src/PublicKeySignature.ts b/graphile/graphile-settings/src/plugins/PublicKeySignature.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/PublicKeySignature.ts
rename to graphile/graphile-settings/src/plugins/PublicKeySignature.ts
diff --git a/graphile/graphile-misc-plugins/src/conflict-detector.ts b/graphile/graphile-settings/src/plugins/conflict-detector.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/conflict-detector.ts
rename to graphile/graphile-settings/src/plugins/conflict-detector.ts
diff --git a/graphile/graphile-misc-plugins/src/custom-inflector.ts b/graphile/graphile-settings/src/plugins/custom-inflector.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/custom-inflector.ts
rename to graphile/graphile-settings/src/plugins/custom-inflector.ts
diff --git a/graphile/graphile-misc-plugins/src/enable-all-filter-columns.ts b/graphile/graphile-settings/src/plugins/enable-all-filter-columns.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/enable-all-filter-columns.ts
rename to graphile/graphile-settings/src/plugins/enable-all-filter-columns.ts
diff --git a/graphile/graphile-settings/src/plugins/index.ts b/graphile/graphile-settings/src/plugins/index.ts
index 3f0ca86f5..a82595915 100644
--- a/graphile/graphile-settings/src/plugins/index.ts
+++ b/graphile/graphile-settings/src/plugins/index.ts
@@ -1,40 +1,79 @@
/**
* PostGraphile v5 Plugins
*
- * This module re-exports all custom plugins.
- * Plugin implementations have been moved to graphile-misc-plugins.
+ * This module exports all custom plugins (consolidated from graphile-misc-plugins).
*/
-// Re-export all plugins from graphile-misc-plugins
+// Minimal preset - PostGraphile without Node/Relay features
+export { MinimalPreset } from './minimal-preset';
+
+// Custom inflector using inflekt library
export {
- MinimalPreset,
InflektPlugin,
InflektPreset,
CustomInflectorPlugin,
CustomInflectorPreset,
+} from './custom-inflector';
+
+// Conflict detector for multi-schema setups
+export {
ConflictDetectorPlugin,
ConflictDetectorPreset,
+} from './conflict-detector';
+
+// Inflector logger for debugging
+export {
InflectorLoggerPlugin,
InflectorLoggerPreset,
+} from './inflector-logger';
+
+// Enable filtering on all columns (not just indexed)
+export {
EnableAllFilterColumnsPlugin,
EnableAllFilterColumnsPreset,
+} from './enable-all-filter-columns';
+
+// Many-to-many with opt-in behavior
+export {
ManyToManyOptInPlugin,
ManyToManyOptInPreset,
+} from './many-to-many-preset';
+
+// Primary key only lookups (disable non-PK unique constraints)
+export {
createUniqueLookupPlugin,
PrimaryKeyOnlyPlugin,
NoUniqueLookupPlugin,
PrimaryKeyOnlyPreset,
NoUniqueLookupPreset,
+} from './primary-key-only';
+export type { UniqueLookupOptions } from './primary-key-only';
+
+// Meta schema plugin for introspection (tables, fields, indexes, constraints)
+export {
MetaSchemaPlugin,
MetaSchemaPreset,
+} from './meta-schema';
+
+// PG type mappings for custom PostgreSQL types (email, url, etc.)
+export {
PgTypeMappingsPlugin,
PgTypeMappingsPreset,
- PublicKeySignature,
- _cachedTablesMeta,
- _pgTypeToGqlType,
- _buildFieldMeta,
-} from 'graphile-misc-plugins';
-export type { UniqueLookupOptions, TypeMapping, PublicKeyChallengeConfig } from 'graphile-misc-plugins';
+} from './pg-type-mappings';
+export type { TypeMapping } from './pg-type-mappings';
+
+// Public key signature plugin for crypto authentication
+export { PublicKeySignature } from './PublicKeySignature';
+export type { PublicKeyChallengeConfig } from './PublicKeySignature';
+
+// Internal exports for testing
+export { _pgTypeToGqlType, _buildFieldMeta, _cachedTablesMeta } from './meta-schema';
+
+// Required input plugin - makes @requiredInput tagged fields non-nullable in mutation inputs
+export {
+ RequiredInputPlugin,
+ RequiredInputPreset,
+} from './required-input-plugin';
// Unified search — tsvector + BM25 + pg_trgm + pgvector behind a single adapter architecture
export {
diff --git a/graphile/graphile-misc-plugins/src/inflector-logger.ts b/graphile/graphile-settings/src/plugins/inflector-logger.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/inflector-logger.ts
rename to graphile/graphile-settings/src/plugins/inflector-logger.ts
diff --git a/graphile/graphile-misc-plugins/src/many-to-many-preset.ts b/graphile/graphile-settings/src/plugins/many-to-many-preset.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/many-to-many-preset.ts
rename to graphile/graphile-settings/src/plugins/many-to-many-preset.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema.ts b/graphile/graphile-settings/src/plugins/meta-schema.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema.ts
rename to graphile/graphile-settings/src/plugins/meta-schema.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema/cache.ts b/graphile/graphile-settings/src/plugins/meta-schema/cache.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema/cache.ts
rename to graphile/graphile-settings/src/plugins/meta-schema/cache.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema/constraint-meta-builders.ts b/graphile/graphile-settings/src/plugins/meta-schema/constraint-meta-builders.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema/constraint-meta-builders.ts
rename to graphile/graphile-settings/src/plugins/meta-schema/constraint-meta-builders.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema/graphql-meta-field.ts b/graphile/graphile-settings/src/plugins/meta-schema/graphql-meta-field.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema/graphql-meta-field.ts
rename to graphile/graphile-settings/src/plugins/meta-schema/graphql-meta-field.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema/inflection-utils.ts b/graphile/graphile-settings/src/plugins/meta-schema/inflection-utils.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema/inflection-utils.ts
rename to graphile/graphile-settings/src/plugins/meta-schema/inflection-utils.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema/name-meta-builders.ts b/graphile/graphile-settings/src/plugins/meta-schema/name-meta-builders.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema/name-meta-builders.ts
rename to graphile/graphile-settings/src/plugins/meta-schema/name-meta-builders.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema/plugin.ts b/graphile/graphile-settings/src/plugins/meta-schema/plugin.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema/plugin.ts
rename to graphile/graphile-settings/src/plugins/meta-schema/plugin.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema/relation-meta-builders.ts b/graphile/graphile-settings/src/plugins/meta-schema/relation-meta-builders.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema/relation-meta-builders.ts
rename to graphile/graphile-settings/src/plugins/meta-schema/relation-meta-builders.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema/table-meta-builder.ts b/graphile/graphile-settings/src/plugins/meta-schema/table-meta-builder.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema/table-meta-builder.ts
rename to graphile/graphile-settings/src/plugins/meta-schema/table-meta-builder.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema/table-meta-context.ts b/graphile/graphile-settings/src/plugins/meta-schema/table-meta-context.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema/table-meta-context.ts
rename to graphile/graphile-settings/src/plugins/meta-schema/table-meta-context.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema/table-resource-utils.ts b/graphile/graphile-settings/src/plugins/meta-schema/table-resource-utils.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema/table-resource-utils.ts
rename to graphile/graphile-settings/src/plugins/meta-schema/table-resource-utils.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema/type-mappings.ts b/graphile/graphile-settings/src/plugins/meta-schema/type-mappings.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema/type-mappings.ts
rename to graphile/graphile-settings/src/plugins/meta-schema/type-mappings.ts
diff --git a/graphile/graphile-misc-plugins/src/meta-schema/types.ts b/graphile/graphile-settings/src/plugins/meta-schema/types.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/meta-schema/types.ts
rename to graphile/graphile-settings/src/plugins/meta-schema/types.ts
diff --git a/graphile/graphile-misc-plugins/src/minimal-preset.ts b/graphile/graphile-settings/src/plugins/minimal-preset.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/minimal-preset.ts
rename to graphile/graphile-settings/src/plugins/minimal-preset.ts
diff --git a/graphile/graphile-misc-plugins/src/pg-type-mappings.ts b/graphile/graphile-settings/src/plugins/pg-type-mappings.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/pg-type-mappings.ts
rename to graphile/graphile-settings/src/plugins/pg-type-mappings.ts
diff --git a/graphile/graphile-misc-plugins/src/primary-key-only.ts b/graphile/graphile-settings/src/plugins/primary-key-only.ts
similarity index 100%
rename from graphile/graphile-misc-plugins/src/primary-key-only.ts
rename to graphile/graphile-settings/src/plugins/primary-key-only.ts
diff --git a/graphile/graphile-settings/src/plugins/required-input-plugin.ts b/graphile/graphile-settings/src/plugins/required-input-plugin.ts
new file mode 100644
index 000000000..5256e6c1c
--- /dev/null
+++ b/graphile/graphile-settings/src/plugins/required-input-plugin.ts
@@ -0,0 +1,112 @@
+import 'graphile-build';
+import 'graphile-build-pg';
+import type { GraphileConfig } from 'graphile-config';
+
+/**
+ * RequiredInputPlugin - Makes @requiredInput tagged fields non-nullable in mutation inputs.
+ *
+ * WHY THIS EXISTS:
+ * Some foreign key columns are nullable at the database level (to allow SET NULL cascades
+ * on FK deletion) but should be required at the API level (the application should always
+ * provide a value when creating or updating a record).
+ *
+ * The `api_required` column in constructive-db's metaschema injects a `@requiredInput`
+ * smart tag via PostgreSQL COMMENT ON COLUMN. This plugin reads that tag and wraps the
+ * corresponding GraphQL input field type with NonNull, making it required in mutations
+ * while keeping the output type nullable.
+ *
+ * USAGE:
+ * In the database, set the smart tag on a column:
+ * COMMENT ON COLUMN app_public.membership.grantor_id IS E'@requiredInput';
+ *
+ * Or via constructive-db's metaschema:
+ * UPDATE metaschema_public.field SET api_required = true WHERE ...;
+ *
+ * The trigger `tg_sync_api_required_smart_tag` will inject `{"requiredInput": true}`
+ * into the column's smart_tags JSONB, which PostGraphile reads as `@requiredInput`.
+ *
+ * RESULT:
+ * - Mutation input types (create, patch, base): field becomes non-nullable (required)
+ * - Output types: field remains nullable (unchanged)
+ * - Query filters: unaffected
+ */
+export const RequiredInputPlugin: GraphileConfig.Plugin = {
+ name: 'RequiredInputPlugin',
+ version: '1.0.0',
+ description: 'Makes @requiredInput tagged fields non-nullable in mutation input types',
+
+ schema: {
+ hooks: {
+ GraphQLInputObjectType_fields(fields, build, context) {
+ const {
+ scope: { pgCodec, isPgPatch, isPgBaseInput, isMutationInput },
+ } = context;
+
+ // Only process row-based input types (create inputs, patch inputs, base inputs)
+ if (!pgCodec || !pgCodec.attributes) {
+ return fields;
+ }
+
+ // Must be a mutation-related input type
+ if (!isPgPatch && !isPgBaseInput && !isMutationInput) {
+ return fields;
+ }
+
+ const {
+ graphql: { GraphQLNonNull },
+ } = build;
+
+ let newFields = fields;
+
+ for (const [attributeName, attribute] of Object.entries(
+ pgCodec.attributes as Record
+ )) {
+ // Check for @requiredInput smart tag
+ const tags = attribute.extensions?.tags;
+ if (!tags || !tags.requiredInput) {
+ continue;
+ }
+
+ // Find the corresponding GraphQL field name using inflection
+ const fieldName = build.inflection.attribute({
+ codec: pgCodec as any,
+ attributeName,
+ });
+
+ const existingField = newFields[fieldName];
+ if (!existingField) {
+ continue;
+ }
+
+ // If the field type is already NonNull, skip
+ const fieldType = existingField.type;
+ if (fieldType instanceof GraphQLNonNull) {
+ continue;
+ }
+
+ // Wrap the field type with NonNull to make it required
+ newFields = build.extend(
+ newFields,
+ {
+ [fieldName]: {
+ ...existingField,
+ type: new GraphQLNonNull(fieldType),
+ },
+ },
+ `RequiredInputPlugin making '${fieldName}' non-nullable on '${pgCodec.name}' (via @requiredInput smart tag)`
+ );
+ }
+
+ return newFields;
+ },
+ },
+ },
+};
+
+/**
+ * Preset that includes the RequiredInputPlugin.
+ * Add this to your main preset's `extends` array.
+ */
+export const RequiredInputPreset: GraphileConfig.Preset = {
+ plugins: [RequiredInputPlugin],
+};
diff --git a/graphile/graphile-settings/src/presets/constructive-preset.ts b/graphile/graphile-settings/src/presets/constructive-preset.ts
index ff8b80ed8..5c7cd87d3 100644
--- a/graphile/graphile-settings/src/presets/constructive-preset.ts
+++ b/graphile/graphile-settings/src/presets/constructive-preset.ts
@@ -10,7 +10,8 @@ import {
ManyToManyOptInPreset,
MetaSchemaPreset,
PgTypeMappingsPreset,
-} from 'graphile-misc-plugins';
+ RequiredInputPreset,
+} from '../plugins';
import { UnifiedSearchPreset, createMatchesOperatorFactory, createTrgmOperatorFactories } from 'graphile-search';
import { GraphilePostgisPreset, createPostgisOperatorFactory } from 'graphile-postgis';
import { UploadPreset } from 'graphile-upload-plugin';
@@ -88,6 +89,7 @@ export const ConstructivePreset: GraphileConfig.Preset = {
}),
SqlExpressionValidatorPreset(),
PgTypeMappingsPreset,
+ RequiredInputPreset,
],
/**
* Disable PostGraphile core's condition argument entirely.
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b09ccb50d..23d692e4d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -177,7 +177,7 @@ importers:
version: 5.2.1
grafserv:
specifier: 1.0.0-rc.7
- version: 1.0.0-rc.7(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))(ws@8.19.0)
+ version: 1.0.0-rc.7(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))(ws@8.19.0)
lru-cache:
specifier: ^11.2.7
version: 11.2.7
@@ -186,7 +186,7 @@ importers:
version: link:../../postgres/pg-cache/dist
postgraphile:
specifier: 5.0.0-rc.10
- version: 5.0.0-rc.10(5332e63d4aec2fecbd1a6d13baaf27e0)
+ version: 5.0.0-rc.10(01f6c3872a4afea0bb2f9f52d380dd87)
devDependencies:
'@types/express':
specifier: ^5.0.6
@@ -199,7 +199,7 @@ importers:
version: 3.1.14
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@types/node@22.19.15)(typescript@5.9.3)
+ version: 10.9.2(@types/node@25.5.0)(typescript@5.9.3)
publishDirectory: dist
graphile/graphile-connection-filter:
@@ -240,53 +240,6 @@ importers:
version: link:../../postgres/pgsql-test/dist
publishDirectory: dist
- graphile/graphile-misc-plugins:
- dependencies:
- '@graphile-contrib/pg-many-to-many':
- specifier: 2.0.0-rc.2
- version: 2.0.0-rc.2
- '@pgsql/quotes':
- specifier: ^17.1.0
- version: 17.1.0
- grafast:
- specifier: 1.0.0-rc.9
- version: 1.0.0-rc.9(graphql@16.13.0)
- graphile-build:
- specifier: 5.0.0-rc.6
- version: 5.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)
- graphile-build-pg:
- specifier: 5.0.0-rc.8
- version: 5.0.0-rc.8(@dataplan/pg@1.0.0-rc.8(@dataplan/json@1.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0)))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-build@5.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0)(tamedevil@0.1.0-rc.6)
- graphile-config:
- specifier: 1.0.0-rc.6
- version: 1.0.0-rc.6
- graphile-utils:
- specifier: 5.0.0-rc.8
- version: 5.0.0-rc.8(@dataplan/pg@1.0.0-rc.8(@dataplan/json@1.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0)))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-build-pg@5.0.0-rc.8(@dataplan/pg@1.0.0-rc.8(@dataplan/json@1.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0)))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-build@5.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0)(tamedevil@0.1.0-rc.6))(graphile-build@5.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(tamedevil@0.1.0-rc.6)
- graphql:
- specifier: 16.13.0
- version: 16.13.0
- inflekt:
- specifier: ^0.3.3
- version: 0.3.3
- pg:
- specifier: ^8.20.0
- version: 8.20.0
- pg-query-context:
- specifier: workspace:^
- version: link:../../postgres/pg-query-context/dist
- pg-sql2:
- specifier: 5.0.0-rc.5
- version: 5.0.0-rc.5
- devDependencies:
- '@types/node':
- specifier: ^22.19.11
- version: 22.19.11
- makage:
- specifier: ^0.1.10
- version: 0.1.12
- publishDirectory: dist
-
graphile/graphile-postgis:
dependencies:
'@dataplan/pg':
@@ -401,7 +354,7 @@ importers:
version: 0.1.12
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@types/node@22.19.15)(typescript@5.9.3)
+ version: 10.9.2(@types/node@25.5.0)(typescript@5.9.3)
publishDirectory: dist
graphile/graphile-search:
@@ -480,6 +433,9 @@ importers:
'@pgpmjs/types':
specifier: workspace:^
version: link:../../pgpm/types/dist
+ '@pgsql/quotes':
+ specifier: ^17.1.0
+ version: 17.1.0
cors:
specifier: ^2.8.6
version: 2.8.6
@@ -491,7 +447,7 @@ importers:
version: 1.0.0-rc.9(graphql@16.13.0)
grafserv:
specifier: 1.0.0-rc.7
- version: 1.0.0-rc.7(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))(ws@8.19.0)
+ version: 1.0.0-rc.7(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))(ws@8.19.0)
graphile-build:
specifier: 5.0.0-rc.6
version: 5.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)
@@ -504,9 +460,6 @@ importers:
graphile-connection-filter:
specifier: workspace:^
version: link:../graphile-connection-filter/dist
- graphile-misc-plugins:
- specifier: workspace:^
- version: link:../graphile-misc-plugins/dist
graphile-postgis:
specifier: workspace:^
version: link:../graphile-postgis/dist
@@ -519,6 +472,9 @@ importers:
graphile-upload-plugin:
specifier: workspace:^
version: link:../graphile-upload-plugin/dist
+ graphile-utils:
+ specifier: 5.0.0-rc.8
+ version: 5.0.0-rc.8(@dataplan/pg@1.0.0-rc.8(@dataplan/json@1.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0)))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-build-pg@5.0.0-rc.8(@dataplan/pg@1.0.0-rc.8(@dataplan/json@1.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0)))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-build@5.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0)(tamedevil@0.1.0-rc.6))(graphile-build@5.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(tamedevil@0.1.0-rc.6)
graphql:
specifier: 16.13.0
version: 16.13.0
@@ -531,12 +487,15 @@ importers:
pg:
specifier: ^8.20.0
version: 8.20.0
+ pg-query-context:
+ specifier: workspace:^
+ version: link:../../postgres/pg-query-context/dist
pg-sql2:
specifier: 5.0.0-rc.5
version: 5.0.0-rc.5
postgraphile:
specifier: 5.0.0-rc.10
- version: 5.0.0-rc.10(5332e63d4aec2fecbd1a6d13baaf27e0)
+ version: 5.0.0-rc.10(01f6c3872a4afea0bb2f9f52d380dd87)
request-ip:
specifier: ^3.3.0
version: 3.3.0
@@ -570,7 +529,7 @@ importers:
version: link:../../postgres/pgsql-test/dist
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@types/node@22.19.15)(typescript@5.9.3)
+ version: 10.9.2(@types/node@25.5.0)(typescript@5.9.3)
publishDirectory: dist
graphile/graphile-sql-expression-validator:
@@ -821,7 +780,7 @@ importers:
version: 5.2.1
grafserv:
specifier: 1.0.0-rc.7
- version: 1.0.0-rc.7(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))(ws@8.19.0)
+ version: 1.0.0-rc.7(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))(ws@8.19.0)
graphile-cache:
specifier: workspace:^
version: link:../../graphile/graphile-cache/dist
@@ -842,7 +801,7 @@ importers:
version: link:../../postgres/pg-env/dist
postgraphile:
specifier: 5.0.0-rc.10
- version: 5.0.0-rc.10(5332e63d4aec2fecbd1a6d13baaf27e0)
+ version: 5.0.0-rc.10(01f6c3872a4afea0bb2f9f52d380dd87)
devDependencies:
'@types/express':
specifier: ^5.0.6
@@ -855,7 +814,7 @@ importers:
version: 3.1.14
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@types/node@22.19.15)(typescript@5.9.3)
+ version: 10.9.2(@types/node@25.5.0)(typescript@5.9.3)
publishDirectory: dist
graphql/gql-ast:
@@ -1047,7 +1006,7 @@ importers:
version: 1.0.0-rc.9(graphql@16.13.0)
grafserv:
specifier: 1.0.0-rc.7
- version: 1.0.0-rc.7(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))(ws@8.19.0)
+ version: 1.0.0-rc.7(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))(ws@8.19.0)
graphile-build:
specifier: 5.0.0-rc.6
version: 5.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)
@@ -1095,7 +1054,7 @@ importers:
version: 5.0.0-rc.5
postgraphile:
specifier: 5.0.0-rc.10
- version: 5.0.0-rc.10(5332e63d4aec2fecbd1a6d13baaf27e0)
+ version: 5.0.0-rc.10(01f6c3872a4afea0bb2f9f52d380dd87)
postgraphile-plugin-connection-filter:
specifier: 3.0.0-rc.1
version: 3.0.0-rc.1
@@ -1135,7 +1094,7 @@ importers:
version: 3.1.14
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@types/node@22.19.15)(typescript@5.9.3)
+ version: 10.9.2(@types/node@25.5.0)(typescript@5.9.3)
publishDirectory: dist
graphql/server-test:
@@ -1527,7 +1486,7 @@ importers:
version: 7.2.2
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@types/node@22.19.15)(typescript@5.9.3)
+ version: 10.9.2(@types/node@25.5.0)(typescript@5.9.3)
publishDirectory: dist
jobs/knative-job-worker:
@@ -1818,7 +1777,7 @@ importers:
version: 0.1.12
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@types/node@22.19.15)(typescript@5.9.3)
+ version: 10.9.2(@types/node@25.5.0)(typescript@5.9.3)
publishDirectory: dist
packages/smtppostmaster:
@@ -1847,7 +1806,7 @@ importers:
version: 3.18.1
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@types/node@22.19.15)(typescript@5.9.3)
+ version: 10.9.2(@types/node@25.5.0)(typescript@5.9.3)
publishDirectory: dist
packages/url-domains:
@@ -10806,20 +10765,6 @@ snapshots:
- immer
- use-sync-external-store
- '@graphiql/plugin-doc-explorer@0.4.1(@graphiql/react@0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)))(@types/react@19.2.14)(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))':
- dependencies:
- '@graphiql/react': 0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
- '@headlessui/react': 2.2.9(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- graphql: 16.13.0
- react: 19.2.4
- react-compiler-runtime: 19.1.0-rc.1(react@19.2.4)
- react-dom: 19.2.4(react@19.2.4)
- zustand: 5.0.11(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
- transitivePeerDependencies:
- - '@types/react'
- - immer
- - use-sync-external-store
-
'@graphiql/plugin-doc-explorer@0.4.1(@graphiql/react@0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)))(@types/react@19.2.14)(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))':
dependencies:
'@graphiql/react': 0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
@@ -10850,22 +10795,6 @@ snapshots:
- immer
- use-sync-external-store
- '@graphiql/plugin-history@0.4.1(@graphiql/react@0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)))(@types/node@22.19.15)(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))':
- dependencies:
- '@graphiql/react': 0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
- '@graphiql/toolkit': 0.11.3(@types/node@22.19.15)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)
- react: 19.2.4
- react-compiler-runtime: 19.1.0-rc.1(react@19.2.4)
- react-dom: 19.2.4(react@19.2.4)
- zustand: 5.0.11(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
- transitivePeerDependencies:
- - '@types/node'
- - '@types/react'
- - graphql
- - graphql-ws
- - immer
- - use-sync-external-store
-
'@graphiql/plugin-history@0.4.1(@graphiql/react@0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)))(@types/node@25.5.0)(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))':
dependencies:
'@graphiql/react': 0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
@@ -10913,37 +10842,6 @@ snapshots:
- immer
- use-sync-external-store
- '@graphiql/react@0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))':
- dependencies:
- '@graphiql/toolkit': 0.11.3(@types/node@22.19.15)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)
- '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@radix-ui/react-visually-hidden': 1.2.4(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- clsx: 1.2.1
- framer-motion: 12.36.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- get-value: 3.0.1
- graphql: 16.13.0
- graphql-language-service: 5.5.0(graphql@16.13.0)
- jsonc-parser: 3.3.1
- markdown-it: 14.1.1
- monaco-editor: 0.52.2
- monaco-graphql: 1.7.3(graphql@16.13.0)(monaco-editor@0.52.2)(prettier@3.8.1)
- prettier: 3.8.1
- react: 19.2.4
- react-compiler-runtime: 19.1.0-rc.1(react@19.2.4)
- react-dom: 19.2.4(react@19.2.4)
- set-value: 4.1.0
- zustand: 5.0.11(@types/react@19.2.14)(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
- transitivePeerDependencies:
- - '@emotion/is-prop-valid'
- - '@types/node'
- - '@types/react'
- - '@types/react-dom'
- - graphql-ws
- - immer
- - use-sync-external-store
-
'@graphiql/react@0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))':
dependencies:
'@graphiql/toolkit': 0.11.3(@types/node@25.5.0)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)
@@ -10985,16 +10883,6 @@ snapshots:
transitivePeerDependencies:
- '@types/node'
- '@graphiql/toolkit@0.11.3(@types/node@22.19.15)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)':
- dependencies:
- '@n1ru4l/push-pull-async-iterable-iterator': 3.2.0
- graphql: 16.13.0
- meros: 1.3.2(@types/node@22.19.15)
- optionalDependencies:
- graphql-ws: 6.0.7(graphql@16.13.0)(ws@8.19.0)
- transitivePeerDependencies:
- - '@types/node'
-
'@graphiql/toolkit@0.11.3(@types/node@25.5.0)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)':
dependencies:
'@n1ru4l/push-pull-async-iterable-iterator': 3.2.0
@@ -12924,7 +12812,6 @@ snapshots:
'@types/node@25.5.0':
dependencies:
undici-types: 7.18.2
- optional: true
'@types/nodemailer@7.0.11':
dependencies:
@@ -14679,31 +14566,6 @@ snapshots:
- supports-color
- use-sync-external-store
- grafserv@1.0.0-rc.7(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))(ws@8.19.0):
- dependencies:
- '@graphile/lru': 5.0.0-rc.5
- debug: 4.4.3(supports-color@5.5.0)
- eventemitter3: 5.0.4
- grafast: 1.0.0-rc.9(graphql@16.13.0)
- graphile-config: 1.0.0-rc.6
- graphql: 16.13.0
- graphql-ws: 6.0.7(graphql@16.13.0)(ws@8.19.0)
- ruru: 2.0.0-rc.7(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(debug@4.4.3)(graphile-config@1.0.0-rc.6)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
- tslib: 2.8.1
- optionalDependencies:
- ws: 8.19.0
- transitivePeerDependencies:
- - '@fastify/websocket'
- - '@types/node'
- - '@types/react'
- - '@types/react-dom'
- - crossws
- - immer
- - react
- - react-dom
- - supports-color
- - use-sync-external-store
-
grafserv@1.0.0-rc.7(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))(ws@8.19.0):
dependencies:
'@graphile/lru': 5.0.0-rc.5
@@ -14815,24 +14677,6 @@ snapshots:
- immer
- use-sync-external-store
- graphiql@5.2.2(@emotion/is-prop-valid@1.4.0)(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)):
- dependencies:
- '@graphiql/plugin-doc-explorer': 0.4.1(@graphiql/react@0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)))(@types/react@19.2.14)(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
- '@graphiql/plugin-history': 0.4.1(@graphiql/react@0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)))(@types/node@22.19.15)(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
- '@graphiql/react': 0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
- graphql: 16.13.0
- react: 19.2.4
- react-compiler-runtime: 19.1.0-rc.1(react@19.2.4)
- react-dom: 19.2.4(react@19.2.4)
- transitivePeerDependencies:
- - '@emotion/is-prop-valid'
- - '@types/node'
- - '@types/react'
- - '@types/react-dom'
- - graphql-ws
- - immer
- - use-sync-external-store
-
graphiql@5.2.2(@emotion/is-prop-valid@1.4.0)(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)):
dependencies:
'@graphiql/plugin-doc-explorer': 0.4.1(@graphiql/react@0.37.3(@emotion/is-prop-valid@1.4.0)(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)))(@types/react@19.2.14)(graphql@16.13.0)(react-compiler-runtime@19.1.0-rc.1(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
@@ -16041,10 +15885,6 @@ snapshots:
optionalDependencies:
'@types/node': 22.19.11
- meros@1.3.2(@types/node@22.19.15):
- optionalDependencies:
- '@types/node': 22.19.15
-
meros@1.3.2(@types/node@25.5.0):
optionalDependencies:
'@types/node': 25.5.0
@@ -17140,33 +16980,6 @@ snapshots:
- supports-color
- utf-8-validate
- postgraphile@5.0.0-rc.10(5332e63d4aec2fecbd1a6d13baaf27e0):
- dependencies:
- '@dataplan/json': 1.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))
- '@dataplan/pg': 1.0.0-rc.8(@dataplan/json@1.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0)))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0)
- '@graphile/lru': 5.0.0-rc.5
- '@types/node': 22.19.15
- '@types/pg': 8.18.0
- debug: 4.4.3(supports-color@5.5.0)
- grafast: 1.0.0-rc.9(graphql@16.13.0)
- grafserv: 1.0.0-rc.7(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))(ws@8.19.0)
- graphile-build: 5.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)
- graphile-build-pg: 5.0.0-rc.8(@dataplan/pg@1.0.0-rc.8(@dataplan/json@1.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0)))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-build@5.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0)(tamedevil@0.1.0-rc.6)
- graphile-config: 1.0.0-rc.6
- graphile-utils: 5.0.0-rc.8(@dataplan/pg@1.0.0-rc.8(@dataplan/json@1.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0)))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-build-pg@5.0.0-rc.8(@dataplan/pg@1.0.0-rc.8(@dataplan/json@1.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0)))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0))(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-build@5.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(pg-sql2@5.0.0-rc.5)(pg@8.20.0)(tamedevil@0.1.0-rc.6))(graphile-build@5.0.0-rc.6(grafast@1.0.0-rc.9(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0))(graphile-config@1.0.0-rc.6)(graphql@16.13.0)(tamedevil@0.1.0-rc.6)
- graphql: 16.13.0
- iterall: 1.3.0
- jsonwebtoken: 9.0.3
- pg: 8.20.0
- pg-sql2: 5.0.0-rc.5
- tamedevil: 0.1.0-rc.6
- tslib: 2.8.1
- ws: 8.19.0
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
-
postgres-array@2.0.0: {}
postgres-array@3.0.4: {}
@@ -17532,23 +17345,6 @@ snapshots:
- immer
- use-sync-external-store
- ruru-types@2.0.0-rc.6(@emotion/is-prop-valid@1.4.0)(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)):
- dependencies:
- '@graphiql/toolkit': 0.11.3(@types/node@22.19.15)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)
- graphiql: 5.2.2(@emotion/is-prop-valid@1.4.0)(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
- graphql: 16.13.0
- optionalDependencies:
- react: 19.2.4
- react-dom: 19.2.4(react@19.2.4)
- transitivePeerDependencies:
- - '@emotion/is-prop-valid'
- - '@types/node'
- - '@types/react'
- - '@types/react-dom'
- - graphql-ws
- - immer
- - use-sync-external-store
-
ruru-types@2.0.0-rc.6(@emotion/is-prop-valid@1.4.0)(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)):
dependencies:
'@graphiql/toolkit': 0.11.3(@types/node@25.5.0)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)
@@ -17587,27 +17383,6 @@ snapshots:
- immer
- use-sync-external-store
- ruru@2.0.0-rc.7(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(debug@4.4.3)(graphile-config@1.0.0-rc.6)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)):
- dependencies:
- '@emotion/is-prop-valid': 1.4.0
- graphile-config: 1.0.0-rc.6
- graphql: 16.13.0
- http-proxy: 1.18.1(debug@4.4.3)
- ruru-types: 2.0.0-rc.6(@emotion/is-prop-valid@1.4.0)(@types/node@22.19.15)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4))
- tslib: 2.8.1
- yargs: 17.7.2
- optionalDependencies:
- react: 19.2.4
- react-dom: 19.2.4(react@19.2.4)
- transitivePeerDependencies:
- - '@types/node'
- - '@types/react'
- - '@types/react-dom'
- - debug
- - graphql-ws
- - immer
- - use-sync-external-store
-
ruru@2.0.0-rc.7(@types/node@25.5.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(debug@4.4.3)(graphile-config@1.0.0-rc.6)(graphql-ws@6.0.7(graphql@16.13.0)(ws@8.19.0))(graphql@16.13.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(use-sync-external-store@1.6.0(react@19.2.4)):
dependencies:
'@emotion/is-prop-valid': 1.4.0
@@ -18083,14 +17858,14 @@ snapshots:
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
- ts-node@10.9.2(@types/node@22.19.15)(typescript@5.9.3):
+ ts-node@10.9.2(@types/node@25.5.0)(typescript@5.9.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.12
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
- '@types/node': 22.19.15
+ '@types/node': 25.5.0
acorn: 8.15.0
acorn-walk: 8.3.4
arg: 4.1.3
@@ -18171,8 +17946,7 @@ snapshots:
undici-types@6.21.0: {}
- undici-types@7.18.2:
- optional: true
+ undici-types@7.18.2: {}
undici@7.24.3: {}