MichalLytek / MichalLytek/type-graphql

JavaScript support

Open
#55 25 comments 45 reactions 0 assignees View on GitHub
Blocked :no_entry_sign: Discussion :speech_balloon: Enhancement :new:
Dominant language
TypeScript
Stars
8.1k
Forks
672
PR merge metrics
No merged PRs in 30d

Description

The main goal of TypeGraphQL is to get rid of SDL schema and TS interfaces duplication in favor of one single source of truth (classes with decorators). However, after adding new features like dependency injection, validation, authorization and subscriptions, there are some benefits of using this library instead of pure `graphql-js` or `graph-tools`.

Technically, it would be possible to use TypeGraphQL with babel's `transform-class-properties` and `transform-decorators-legacy` plugins and some modification in decorators signature and logic.

It also would be nice to support TypeScript compilation with Babel 7 using `@babel/preset-typescript` and a bunch of decorators/metadata plugins.

However I'm not sure if there's a demand for this feature.
So **if you are interested**, please 👍 so I will know that I should implement it 😉

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing decorator signatures and logic, then compare the requirements of Babel's transform-class-properties, transform-decorators-legacy, and @babel/preset-typescript plugins. Done would mean documented, working JavaScript support and TypeScript compilation through Babel 7, with the required metadata and decorator behavior defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
babel, javascript, typescript
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.