Node with Typescript and GraphQL Server
Go to file
2023-05-04 07:51:32 -06:00
.github/workflows PR-598592: fixing the install peer deps. 2022-08-02 07:20:30 +00:00
.vscode PR-448199: 2022-05-25 23:48:42 +00:00
bin PR-131297: removing express-graphql and use instead graphql-http, removing GraphiQL because of the lack of express middleware. 2023-03-23 20:17:50 +00:00
config PR-131297: removing express-graphql and use instead graphql-http, removing GraphiQL because of the lack of express middleware. 2023-03-23 20:17:50 +00:00
src PR-727730: Updating packages and fixing sending the response in the context. 2023-03-28 19:41:45 +00:00
.babelrc PR-448199: 2022-05-25 21:08:50 +00:00
.env.example PR-131297: removing express-graphql and use instead graphql-http, removing GraphiQL because of the lack of express middleware. 2023-03-23 20:17:50 +00:00
.eslintignore PR-448199: 2022-05-25 21:08:50 +00:00
.eslintrc.js PR-448199: 2022-05-25 21:08:50 +00:00
.gitignore PR-448199: 2022-05-25 21:08:50 +00:00
jest.config.js PR-780243: adding only one source of truth. 2023-03-06 22:19:22 +00:00
LICENSE Initial commit 2022-05-25 08:06:52 -06:00
package-lock.json PR-931211: updating packages. 2023-05-04 13:46:49 +00:00
package.json PR-931211: updating packages. 2023-05-04 13:46:49 +00:00
PRNameGenerator.ts PR-448199: 2022-05-25 21:08:50 +00:00
README.md PR-781477: updating packages. 2023-04-14 14:28:15 +00:00
schema.gql PR-442185: fixing the type graphql schema. 2023-03-14 00:15:33 +00:00
tsconfig.json PR-757991: adding typegraphql. 2023-03-10 13:18:24 +00:00
webpack.config.dev.ts PR-780243: Adding type to webpack files. 2023-03-06 23:24:25 +00:00
webpack.config.ts PR-780243: Adding type to webpack files. 2023-03-06 23:24:25 +00:00

Create Node TS GraphQL Server

This project aims to have a starter kit for creating a new Node with typescript, GraphQL server and tools that generally go along with it.

Tech(Library or Framework) Version
Jest (Testing) 29.5.0
Typescript 5.0.4
GraphQL 16.6.0
Type GraphQL 2.0.0-beta.1

Setup

To create a new project run in the terminal:

npx @aleleba/create-node-ts-graphql-server server-app-name

Then run:

cd server-app-name

You will need to create a new .env file at the root of the project for global config. This is an example of config.

#ENVIRONMENT Defauld production
ENVIRONMENT=development
#WHITELIST URLS Default to http://localhost
WHITELIST_URLS=https://someurl.com
#PLAYGROUND GRAPHQL Default to "false"
PLAYGROUND_GRAPHQL=true
# PORT EXPOSE APP Default to 4000
PORT=4000

The default environment is production, the server-app port defauld is 4000, the default whitelist is http://localhost and the default graphiql is false.

For Development

In the terminal run:

npm run start:dev

The ENV enviroment variable should be "development" and choose the port of your preference with the enviroment variable PORT.

You will find the controllers on:

scr/controllers/

You will find the models on:

scr/models

You will find the GraphQL server, resolvers and schema definition on:

scr/GraphQL

The manage of the routes for custom API you should find on:

scr/routes

This will start the app in development mode, also use nodemon and webpack to real time coding! Enjoy coding!

For Production

In the terminal run:

npm run build

It will create a build folder and run:

npm start

This will start the app.

Cheers

Hope you enjoy this proyect! Sincerely Alejandro Lembke Barrientos.