Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@grafe/grafe-cli

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@grafe/grafe-cli

This is the CLI of grafe.With this you can easily create a new project, generate new components and start your back-end.

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
15
increased by87.5%
Maintainers
1
Weekly downloads
 
Created
Source

Grafe

The easiest way to create a backend

Quality Gate Status Bugs Maintainability Rating

Table of Contents

Installation

Either through cloning with git or by using npm (recommended way):

npm install -g @grafe/grafe-cli

Getting started

This is a simple tutorial of how to use grafe. It will teach you how to start a new Project, how you can add new components and many other things.

Start your Project

Welcome to grafe!

If you have already installed the package @grafe/grafe-cli, we will start by creating a new Grafe project. For this we use the grafe start command with the integrated options, which you can have a look at in the documentation under syntax.

grafe start HelloWorld -t express --yes

As template we use express and as project name we take 'HelloWorld'.
To check if everything worked correctly, we run the project with the grafe serve command. By the way, this command detects if you have made a change, then re-compiles the project and restarts it.

grafe serve

If you have not changed the port, your back-end is now running on port 3000 with a default route GET localhost:300/index/ which does nothing.

Generate your first route

Let us now create our first route, which should greet us with a Hello World. For this we use the grafe generate route command with its integrated options, which you can read again in the documentation under syntax.

grafe generate route -r /helloworld/greet -m get -w --yes

Now we have a new file under src/routes/helloworld/. The contents of this file look like this:

import { Request, Response } from  'express';

export  =  async (req:  Request, res:  Response) => {

};

To see a result we now write a response into the function:

res.send({ message: 'hello world'});

We can test it with our browser, since it is a GET method, or with Postman. If you want to test the route with your browser, go to the url http://localhost:3000/helloworld/greet/.

Generate your first middleware

The next step is to take a closer look at middleware. This allows another function to be called before the route function is called. We create one with the grafe generate middleware command with its integrated options, which can be found in the documentation under syntax.

grafe generate middleware -n grafe-greets -s grf -d "This middleware will greet grafe" --yes

This creates a new file for us under src/middlewares/grf/grafe-greets.ts with the following content:

import { NextFunction, Request, Response } from  'express';

export  = (req:  Request, res:  Response, next:  NextFunction) => {

	next();
}

To see that this middleware is called we first write a simple console.log which should output a message to the console:

console.log('Grafe greets!');

We write this above the next() method. Now we generate a new route with our new middleware preceding:

grafe generate route -r /helloworld/grafe -m get -w grf --yes

In this route we write the same response as in generate your first route. If we now call this route via our browser (http://localhost:3000/helloword/grafe/), we see our 'hello world' in the browser and a 'Grafe greets!' in our console.

Commands

grafe start

Creates a new grafe project.

Syntax
grafe start [projectName]
Details

grafe start will start the prompts to create a new grafe project.

OptionAliasDescription
--help- / -Shows a list of all available options
--template-tSets the template of the project
--testing- / -Enables testing for the grafe project
[projectName]- / -Sets the project name
--yes- / -confirms the creation of the new project
Examples
grafe start project_1
grafe start project_2 -t express
grafe start project_3 --testing

grafe generate

Creates a new grafe component.

Syntax
grafe generate
Details

grafe generate will start the prompts of which component should be generated.

OptionAliasDescription
--help- / -Shows a list of all available options
route- / -Will generate a new route
middleware- / -Will generate a new middleware
static- / -Will generate a new static-directory
Examples
grafe generate
grafe generate --help
grafe generate route

grafe generate route

Automatically creates a new grafe-route-component,

Syntaxt
grafe generate route
Details

grafe generate route will start the prompts of the route properties and automatically generate a new route component.

OptionAliasDescription
--help- / -Shows a list of all available options
--routePath-rSets the path of the new route
--method-mSets the method of the new route. `get
--middlewares-wSets the preceding middlewares of the route
--yes- / -confirms the generation of the new component
Examples
grafe generate route 
grafe generate route --help
grafe generate route -r /auth/login -m post 
grafe generate route -r /auth/is-authenticated -m get -w pt --yes

grafe generate middleware

Automatically creates a new grafe-middleware-component

Syntaxt
grafe generate middleware
Details

grafe generate middleware will start the prompts of the middleware properties and automatically generate a new middleware component.

OptionAliasDescription
--help- / -Shows a list of all available options
--name-nSets the name of the middleware
--short-sSets the shortcut of the middleware
--description-dSets the description of the middleware
--yes- / -confirms the generation of the new component
Examples
grafe generate middleware
grafe generate middleware --help
grafe generate middleware -n protected -s pt 
grafe generate middleware -n admin-only -s adm -d "Only for Admins" --yes

grafe generate static

Creates a new folder which can be used for static files.

Syntaxt
grafe generate static
Details

grafe generate static will start the prompts of the static properties and automatically create a new static directory.

OptionAliasDescription
--help- / -Shows a list of all available options
--name-nSets the name of new folder
--prefix-pSets the prefix with which you access the folder
--yes- / -confirms the generation of the new component
Examples
grafe generate static
grafe generate static --help
grafe generate static -n images 
grafe generate static -n pictures -p public/pictures --yes

grafe serve

Starts the project and watches for file changes.

Syntax
grafe serve
Details

grafe serve will start the project, watches for file changes, re-compiles and restarts it.

OptionAliasDescription
--help- / -Shows a list of all available options
Examples
grafe serve

Packages

ProjectPackageVersion
Garfe CLI@garfe/grafe-clinpm version
Grade Core@garfe/grafe-corenpm version

License

MIT

Keywords

FAQs

Package last updated on 28 Jun 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc