Node with Typescript and GraphQL Server
Go to file
2024-11-13 12:07:10 -06:00
.github/workflows PR-008350: Updating packages. 2024-11-13 17:58:43 +00:00
.vscode PR-448199: 2022-05-25 23:48:42 +00:00
bin PR-008350: Updating packages. 2024-11-13 17:58:43 +00:00
config PR-073904: updating packages. 2024-08-29 03:23:28 +00:00
src PR-018985: Actualizaciones de dependencias y configuraciones de GraphQL 2024-02-14 01:20:22 +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
.npmrc PR-018985: Actualizaciones de dependencias y configuraciones de GraphQL 2024-02-14 01:20:22 +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-008350: Updating packages. 2024-11-13 17:58:43 +00:00
package.json PR-008350: Updating packages. 2024-11-13 17:58:43 +00:00
PRNameGenerator.ts PR-448199: 2022-05-25 21:08:50 +00:00
README.md PR-093614: Updating packages. 2024-09-18 18:33:24 +00:00
schema.gql PR-442185: fixing the type graphql schema. 2023-03-14 00:15:33 +00:00
schema.graphql PR-022271: updating packages. 2023-10-09 20:42:59 +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.7.0
Typescript 5.6.2
GraphQL 16.9.0
Type GraphQL 2.0.0-rc.2

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.