Node with Typescript and GraphQL Server
Go to file
2022-12-05 11:11:16 -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-134290: fixing npx. 2022-08-06 01:40:39 +00:00
config PR-934611: fixing the test fail. 2022-08-30 18:05:06 +00:00
src PR-934611: making some changes to webpack and updating packages. 2022-08-30 17:44:21 +00:00
.babelrc PR-448199: 2022-05-25 21:08:50 +00:00
.env.example PR-934611: making some changes to webpack and updating packages. 2022-08-30 17:44:21 +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-448199: 2022-05-25 23:39:38 +00:00
LICENSE Initial commit 2022-05-25 08:06:52 -06:00
package-lock.json PR-248945: Updating packages. 2022-12-05 17:08:55 +00:00
package.json PR-248945: Updating packages. 2022-12-05 17:08:55 +00:00
PRNameGenerator.ts PR-448199: 2022-05-25 21:08:50 +00:00
README.md PR-248945: Updating packages. 2022-12-05 17:08:55 +00:00
tsconfig.json PR-448199: 2022-05-25 21:08:50 +00:00
webpack.config.dev.ts PR-934611: making some changes to webpack and updating packages. 2022-08-30 17:44:21 +00:00
webpack.config.ts PR-934611: making some changes to webpack and updating packages. 2022-08-30 17:44:21 +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.3.1
Typescript 4.9.3
GraphQL 16.6.0

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
#GRAPHIQL Default to "false"
GRAPHIQL=true
#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.