npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@agatee/cli

v1.3.5-beta.1

Published

CLI for Agatee App

Downloads

122

Readme

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