rucken / cli

Console tools for create and build Angular7+, Bootstrap, Ionic and NestJS application based on Rucken template
https://www.npmjs.com/package/@rucken/cli
MIT License
10 stars 3 forks source link
admin angular7 application backend boilerplate bootstrap cli frontend i18n ionic mobile nestjs ngx nx rucken seed ssr ui utils workspace

@rucken/cli

Console tools for create and build Angular7+, Ionic, Bootstrap and NestJS application based on Rucken template

oclif Greenkeeper badge Version Build Status Appveyor CI Codecov Downloads/week License Gitter Join the chat at telegram

Install

$ npm install -g @rucken/cli

Usage

# create workspace
rucken workspace my-workspace
# move to created workspace
cd my-workspace
# create applications
rucken app app-name --type=web --type=nestjs
# create libraries
rucken lib lib-name --type=frontend --type=nestjs
# create entities in libraries
rucken entity entity-name --type=web --type=nestjs
# create link entities to applications
rucken entity2app --type=web --type=nestjs
# create link libraries to applications
rucken lib2app --type=frontend --type=nestjs
# install dependencies
npm i
ng serve app-name

Generators

rucken generator-workspace [NAME]

Workspace generator, based on the Rucken template

USAGE
  $ rucken generator-workspace [NAME]

OPTIONS
  -a, --author=author        Author name (it is recommended to use Github user for better integration).
  -e, --email=email          Author email name.
  -h, --help                 show CLI help
  -t, --template=template    [default: @rucken/schematics:workspace] Template name.
  -w, --workspace=workspace  The workspace directory name.

ALIASES
  $ rucken workspace
  $ rucken ws

See code: src/commands/generator-workspace.ts

rucken generator-application [NAME]

Application generator, based on the Rucken template

USAGE
  $ rucken generator-application [NAME]

OPTIONS
  -a, --author=author              Author name (it is recommended to use Github user for better integration).
  -e, --email=email                Author email name.
  -h, --help                       show CLI help
  -t, --type=web|ionic|nestjs|all  Type(s) of applications.
  -w, --workspace=workspace        The workspace directory name.

  --api=api                        [default: /api] The backend api address (/api, http://host.com/api,
                                   https://api.host.com).

  --ionicTemplate=ionicTemplate    [default: @rucken/schematics:rucken-app-ionic] Mobile frontend generator application
                                   on Angular7+ with Ionic4

  --nestjsTemplate=nestjsTemplate  [default: @rucken/schematics:rucken-app-nestjs] REST generator backend applications
                                   on NestJS with TypeORM

  --webTemplate=webTemplate        [default: @rucken/schematics:rucken-app] Frontend application generator on Angular7+
                                   with Bootstrap3

ALIASES
  $ rucken application
  $ rucken app

See code: src/commands/generator-application.ts

rucken generator-entity [NAME]

The generator of the entity, based on the Rucken template

USAGE
  $ rucken generator-entity [NAME]

OPTIONS
  -h, --help                       show CLI help
  -t, --type=web|ionic|nestjs|all  Type(s) of entities.
  -w, --workspace=workspace        The workspace directory name.
  --coreLib=coreLib                The name of the core library.
  --coreTemplate=coreTemplate      [default: @rucken/schematics:rucken-entity] Model generator and frontend application
  --ionicLib=ionicLib              The name of the ionic library.

  --ionicTemplate=ionicTemplate    [default: @rucken/schematics:rucken-entity-ionic] The generator of the main
                                   components for editing data on the model and for a mobile frontend application on
                                   Angular7+ with Ionic4

  --lib=lib                        The name of the library.

  --nestjsLib=nestjsLib            The name of the nestjs library.

  --nestjsTemplate=nestjsTemplate  [default: @rucken/schematics:rucken-entity-nestjs] The generator of the entity, the
                                   DTO, the service and the controller, for editing the entity data for the backend of
                                   the application on NestJS with TypeORM

  --timestamp=timestamp            Timestamp used in migrations.

  --webLib=webLib                  The name of the web library.

  --webTemplate=webTemplate        [default: @rucken/schematics:rucken-entity-web] The generator of the main components
                                   for editing data on the model and for the frontend application on Angular7+ with
                                   Bootstrap3

ALIASES
  $ rucken entity

See code: src/commands/generator-entity.ts

rucken generator-entity-to-application [NAME]

Linking the entity to the application, based on the Rucken template

USAGE
  $ rucken generator-entity-to-application [NAME]

OPTIONS
  -h, --help                     show CLI help
  -t, --type=web|ionic|all       Type(s) of applications.
  -w, --workspace=workspace      The workspace directory name.
  --app=app                      The name of the application.
  --coreLib=coreLib              The name of the core library with entity.
  --ionicApp=ionicApp            The name of the ionic application.
  --ionicLib=ionicLib            The name of the ionic library with entity.

  --ionicTemplate=ionicTemplate  [default: @rucken/schematics:rucken-entity-ionic-to-app] Binding components for editing
                                 an entity to a mobile frontend application on Angular7+ with Ionic4

  --lib=lib                      The name of the library with entity.

  --webApp=webApp                The name of the web application.

  --webLib=webLib                The name of the web library with entity.

  --webTemplate=webTemplate      [default: @rucken/schematics:rucken-entity-web-to-app] Binding of components for
                                 editing an entity to a frontend application on Angular7+ with Bootstrap3

ALIASES
  $ rucken entity-to-application
  $ rucken entity-to-app
  $ rucken entity2app

See code: src/commands/generator-entity-to-application.ts

rucken generator-library [NAME]

Library generator, based on the Rucken template

USAGE
  $ rucken generator-library [NAME]

OPTIONS
  -a, --author=author                  Author name (it is recommended to use Github user for better integration).
  -e, --email=email                    Author email name.
  -h, --help                           show CLI help
  -o, --org=org                        The name of organization.
  -t, --type=frontend|nestjs|all       Type(s) of library.
  -w, --workspace=workspace            The workspace directory name.
  --frontendTemplate=frontendTemplate  [default: @rucken/schematics:rucken-lib] Frontend library generator

  --nestjsTemplate=nestjsTemplate      [default: @rucken/schematics:rucken-lib-nestjs] Backend library generator on
                                       NestJS

ALIASES
  $ rucken library
  $ rucken lib

See code: src/commands/generator-library.ts

rucken generator-library-to-application [NAME]

Linking the library to the application, based on the Rucken template

USAGE
  $ rucken generator-library-to-application [NAME]

OPTIONS
  -h, --help                           show CLI help
  -t, --type=frontend|nestjs|all       Type(s) of applications.
  -w, --workspace=workspace            The workspace directory name.
  --app=app                            The name of the application.
  --frontendApp=frontendApp            The name of the frontend application.
  --frontendLib=frontendLib            The name of the frontend library.
  --frontendTemplate=frontendTemplate  [default: @rucken/schematics:rucken-lib-to-app] Frontend library generator
  --lib=lib                            The name of the library.
  --nestjsApp=nestjsApp                The name of the nestjs application.
  --nestjsLib=nestjsLib                The name of the nestjs library.

  --nestjsTemplate=nestjsTemplate      [default: @rucken/schematics:rucken-lib-nestjs-to-app] Linking the library to the
                                       backend application on NestJS

ALIASES
  $ rucken library-to-application
  $ rucken lib-to-app
  $ rucken lib2app

See code: src/commands/generator-library-to-application.ts

Commands

rucken config [FOLDER]

change angular.json properties and tsconfig.json properties for switch between dev - for speedup mono serve mode and prod - build optimization and standalone build all lib and application

USAGE
  $ rucken config [FOLDER]

OPTIONS
  -h, --help             show CLI help
  -m, --mode=(dev|prod)  [default: prod]

See code: src/commands/config.ts

rucken help [COMMAND]

display help for rucken

USAGE
  $ rucken help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI

See code: @oclif/plugin-help

rucken make-ts-list [FOLDER]

make index.ts with list of ts files recursive from source folder

USAGE
  $ rucken make-ts-list [FOLDER]

OPTIONS
  -e, --excludes=excludes            [default: *server*,*node_modules*,*public_api.ts*,*test.ts*,*.spec*,environment*]
                                     exclude directories/files masks

  -h, --help                         show CLI help

  -i, --indexFileName=indexFileName  [default: index.ts] output file

See code: src/commands/make-ts-list.ts

rucken prepare [FOLDER]

translate + make-ts-list + version-update + config

USAGE
  $ rucken prepare [FOLDER]

OPTIONS
  -h, --help             show CLI help
  -m, --mode=(dev|prod)

See code: src/commands/prepare.ts

rucken translate [FOLDER]

extract translate from source and make ts class from it

USAGE
  $ rucken translate [FOLDER]

OPTIONS
  -c, --clean                      remove obsolete strings when merging
  -e, --excludes=excludes          [default: ["*node_modules*,*.spec"]] exclude directories/files masks
  -f, --format=(po|json)           [default: po] file prefix and build mode
  -h, --help                       show CLI help
  -p, --prefix=prefix              name of class prefix
  -t, --templateName=templateName  [default: template] name of template

See code: src/commands/translate.ts

rucken version-updater [FOLDER]

libraries dependencies and package.json versions updater from root package.json

USAGE
  $ rucken version-updater [FOLDER]

OPTIONS
  -h, --help       show CLI help
  -r, --root=root  [default: .] root project with package.json for get inforamtion about dependencies and it versions

See code: src/commands/version-updater.ts