Skip to content

Add Alloy infrastructure, context system, and field components#77

Open
FionaBronwen wants to merge 1 commit intofionabronwen/graphql-statemap-to-decoratorsfrom
fionabronwen/graphql-alloy-foundation-v2
Open

Add Alloy infrastructure, context system, and field components#77
FionaBronwen wants to merge 1 commit intofionabronwen/graphql-statemap-to-decoratorsfrom
fionabronwen/graphql-alloy-foundation-v2

Conversation

@FionaBronwen
Copy link
Copy Markdown

@FionaBronwen FionaBronwen commented Apr 12, 2026

Summary

This PR sets up the Alloy JSX foundation for the component-based GraphQL emitter! This PR introduces the build config, context system, and first set of components that will be used to construct the GraphQL schema in subsequent PRs.

  • Add build/config for Alloy JSX: @alloy-js/core, @alloy-js/graphql dependencies, JSX transpilation in tsconfig and vitest
  • Introduce GraphQLSchemaContext(Alloy named context) with ClassifiedTypes, ModelVariants, and ScalarVariant interfaces for schema-wide state
  • Add field components: Field, OperationField, and GraphQLTypeExpression for rendering model properties and operations as GraphQL SDL
  • Add getGraphQLBuiltinName() to scalar-mappings for identity-based built-in scalar resolution

Test plan

  • Field components will be tested end-to-end in the next PR when the Alloy emitter is wired up

@FionaBronwen FionaBronwen changed the base branch from fionabronwen/graphql-nullable-tracking to feature/graphql April 14, 2026 16:12
@FionaBronwen FionaBronwen force-pushed the fionabronwen/graphql-alloy-foundation-v2 branch 8 times, most recently from 8f1da87 to 8b51ca4 Compare April 14, 2026 21:04
@FionaBronwen FionaBronwen marked this pull request as ready for review April 14, 2026 21:14
@FionaBronwen FionaBronwen changed the base branch from feature/graphql to fionabronwen/graphql-statemap-to-decorators April 21, 2026 16:00
Introduce the foundation for the component-based GraphQL emitter:

- Build/config: Add @alloy-js/core, @alloy-js/graphql dependencies,
  configure JSX transpilation (tsconfig, vitest)
- Context system: GraphQLSchemaContext with ClassifiedTypes,
  ModelVariants, and ScalarVariant interfaces
- Field components: Field, OperationField, and GraphQLTypeExpression
  for rendering model properties and operations as GraphQL SDL
- Type resolution: GraphQLTypeExpression handles scalars, models,
  enums, unions, arrays, and nullability using an isInput prop to
  distinguish input vs output context
- Scalar mappings: Add getGraphQLBuiltinName() for built-in scalar
  identity checks
@FionaBronwen FionaBronwen force-pushed the fionabronwen/graphql-alloy-foundation-v2 branch from 8b51ca4 to 8f411e1 Compare April 21, 2026 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant