@swarm-host/cli

    5.2.1 • Public • Published

    Swarm-Host-CLI

    npm version CI

    Install:

    npm i -g @swarm-host/cli

    Usage:

    Create a new project (works in the empty dir):

    swarm-host init

    Create a new Route:

    swarm-host g route units

    File routes/units.ts will be created. Its content:

    // routes/units.ts
    import { Route } from '@swarm-host/server';
    
    export default Route.createRoute('get', 'units', (req, res, next, lair) => {
      res.json({});
    });

    Create a new Route with options:

    swarm-host g route units/new --url=api/v1/units --method=post

    File routes/units/new.ts will be created. Its content:

    // routes/units/new.ts
    import { Route } from '@swarm-host/server';
    
    export default Route.createRoute('post', 'api/v1/units', (req, res, next, lair) => {
      res.json({});
    });

    Create a new Route with dynamic parts:

    swarm-host g route units/unit/objectives/objective --url=units/:unit_id/objectives/:objective_id

    File routes/units/unit/objectives/objective.ts will be created. Its content:

    //routes/units/unit/objectives/objective.ts
    import { Route } from '@swarm-host/server';
    
    export default Route.createRoute('get', '/units/:unit_id/objectives/:objective_id', ({params: {unit_id, objective_id}}, res, next, lair) => {
      res.json({});
    });

    Create a new Factory:

    swarm-host g factory my/unit

    File factories/my/unit.ts will be created. Its content:

    // factories/my/unit.ts
    import { Factory } from '@swarm-host/server';
    
    export default class UnitFactory extends Factory {
      static factoryName = 'unit';
    };

    Create a new Factory with attributes:

    swarm-host g factory my/unit name:string squad:has-one:squad:units objectives:has-many:objective

    File factories/my/unit.ts will be created. Its content:

    // factories/my/unit.ts
    import { Factory, field, hasOne, hasMany } from '@swarm-host/server';
    
    export default class UnitFactory extends Factory {
      static factoryName = 'unit';
    
      @field()
      get name() {
        return '';
      }
    
      @field()
      get age() {
        return 0;
      }
      
      @hasMany('objective', null) objectives;
      @hasOne('squad', 'units') squad;
    }

    Destroy existing Factory

    swarm-host d factory units

    File factories/units.ts will be deleted.

    Destroy existing Route

    swarm-host d route units

    File routes/units.ts will be deleted.

    Install

    npm i @swarm-host/cli

    DownloadsWeekly Downloads

    89

    Version

    5.2.1

    License

    MIT

    Unpacked Size

    74.9 kB

    Total Files

    64

    Last publish

    Collaborators

    • onechiporenko