@agatee/cli

1.3.5-beta.1 • Public • Published

Agatee CLI

Prerequisites

Node 8.9 or higher, together with NPM 5.5.1 or higher. Typescript and ts-node.

New realese in version 1.3.0

  • Now you can create an app with graphql api style To create new app with graphql api

      gat create my-app -api graphql
    

or add graphql feature in an existing app

    gat add graphql
  • New argument parser for the CLI Check the documentation for more informations

Table of Contents

Installation

npm install -g @agatee/cli

Generating new project

Generating and serving a new project

gat create PROJECT-NAME
cd PROJECT-NAME
gat serve

You can specify the port to use by the app by adding --port ${PORT} params on serving

Adding Mongoose

Stop serving the app by hitting ^C then :

gat add mongoose

4 lines will be added to the .env file to configure the connection to database :

...
DB_HOST=localhost
DB_PORT=27017
DB_PASSWORD=
DB_USERNAME=
DATABASE=agatee

You can also set your db config using those options

gat add mongoose --db-uri ${SRV_STRING_CONNECTION}

Generating MVC Components

Generate MVC component named user with CRUD endpoint

gat g c user -mm -e CRUD
  • -mm (or --mongoose-model) for adding mongoose model file
  • -e (or --endpoint) for addinng CRUD endpoint

After generating the new component just add the router's component to app.ts to make the new component reachable

...
import { UserRouter } from  './components/user/user.router';
...
@GatModule({
	routes: [
		UserRouter
	],
	middlewares
})

Then the new component is now reachable from http://localhost:3000/api/user using method POST for creating, GET for reading, PUT for updating and DELETE for deleting

Adding socket.io

gat add socket.io

Then add MainSocket to the GatModule's imports decorator in app.ts

...
import  { MainSocket }  from  "./modules/socket/main.socket";
...
@GatModule({
	routes:  [
		UserRouter
	],
	middlewares,
	imports:  [MainSocket]
})

Now the socket server is reachable from http://localhost:3001 You can change the socket port in the .env file

Generating socket instance

To generate socket instance named chat, hit :

gat g socket-i chat

Then add the new socket instance to the @GatModule imports in app.ts

...
import  { MainSocket }  from  "./modules/socket/main.socket";
import  { ChatSocket }  from  "./modules/socket/chat.socket";
...
@GatModule({
	routes:  [
		UserRouter
	],
	middlewares,
	imports:  [
		MainSocket,
		ChatSocket
	]
})

Now the socket instance is reachable from http://localhost:3001/chat

Documentation

Agatee - Official Documentation

Package Sidebar

Install

npm i @agatee/cli

Weekly Downloads

4

Version

1.3.5-beta.1

License

ISC

Unpacked Size

69.6 kB

Total Files

50

Last publish

Collaborators

  • agatee