Scripts
eslint
: watchessrc
and runseslint
.serve
: usesnodemon
to watchdist/backend
and rundist/backend/app.js
.start:dev
: usesconcurrently
to runts:watch
andserve
.ts:watch
,ts:watch:backend
,ts:watch:frontend
: watches all/backend/frontend directories and recompiles typescript code.
Packages
koa
koa-bodyparser
andkoa-router
.- Use
@hapi/joi
for validations.
next
- All
next
content lives insrc/frontend
, it is served vianext
which is served viakoa
. - I compile the frontend typescript => javascript with esnext style
imports. Then
next
's server does the rest of the transpilation.
- All
typeorm
- Needs
reflect-metadata
. - Also using their migrations support.
- Needs
Dev Packages
- Yarn stuff:
concurrently
for running simultaneous jobs.nodemon
for restarting servers.wait-on
for waiting for something to get built.
eslint
- I have a number of plugins (especially around typescript).
- I use
prettier
for formatting.
- typescript
- I also have
ts-node
, which could be handy sometime.
- I also have
- I want to look into GraphQL and Relay.
- https://github.com/graphql/graphql-js
- You make the schema, and you list the resolvers.
- https://github.com/graphql/express-graphql
- Pretty sure this just creates an endpoint to receive graphql queries.
- But you must have already made the schema.
https://github.com/apollographql/apollo-server
- Prisma?
- https://typegraphql.ml/
- Integrates with TypeORM.
- Basically: it looks like one has to do a lot of work writing resolvers.
- But is it easier? I mean, you still have to write the resolver code, right?
- https://github.com/graphql/dataloader
- https://graphql-code-generator.com/
- Here is another approach.
- https://github.com/graphql/graphql-js
- Randoms
- Testing? Jest?
- Ramda? (I haven't needed that yet.)
- Rxjs?
- Authorization.