Commands

The SugoiJS cli pre-defined commands

Initialization

For initiating a new project use the init command.

$ sgi init

After you'll run this command you will need to answer few questions which will help you to set the application you need

Generate

SugoiJS provides easy generation tool by the g or generate argument

$ sgi g <type> <name>

Available types

  • module (m) - Generate a module with one service and one controller which contains the module name

    • After generating new module you will have to inject it to bootstrap module.

  • controller (c) - Generate a controller under 'controllers' directory.

    • After generating new controller you will have to inject it to the related module.

  • service (s) - Generate a service under 'services' directory.

    • After generating new service you will have to inject it to the related module.

  • model - Generate a model class.

  • mongo-model - Generate a mongo model class.

Commands example

$ sgi g m myModule
// Will create a module under the current path 
// with controller and a service
$ sgi g model myModel
// Will create a model under the current path 
$ sgi g mongo-model myMongoModel
// Will create a mongo-model under the current path 
$ sgi g c newController
// Will create a controller under the current path 
// will create controllers directory 
// if no such directory found under the path
$ sgi g s newService
// Will create a service under the current path 
// will create service directory 
// if no such directory found under the path

Build

SugoiJS provides easy build tool by the build argument.

$ sgi build

By default the environment which will be used for configuration is the "default" environment

The SugoiJS build action requires the sugoi.json file, if it is missing on your project please execute update.

$ sgi update

For build while using the hot swap listener please apply the --watch flag

sgi build --watch

Build by project

sugoi.json supports multi-project configuration, the configuration is found under the project property:

"projects":{
    "main": {
      "entry": "src/app/main.ts",
      "dist": "dist",
      "commonDir": "../common",
      "configurationDir": "configuration"
    },
    "microservice": {
      "entry": "src/app/microserivce.ts",
      "dist": "dist2",
      "commonDir": "../common",
      "configurationDir": "configuration",
      "excludes": [],
      "includes": []
    }
  }

For define which project to use run:

sgi build --project=<project_name>

Example

sgi build --project=microservice

Set build environment

For defining the environment to use in the build execute:

$ sgi build --environment=<environment>

For example:

$ sgi build --environment=production

You can build for production environment by usingsgi build --prod command

Update

For updating your project run and create missing files, execute:

$ sgi update

Testing

SugoiJS using jest as testing infrastructure.

For run those tests execute:

$ sgi test

The SugoiJS test action requires the jest.configuration.js file, if it is missing on your project please execute update.

$ sgi update

Last updated