@corva/create-app

0.94.0 • Public • Published

@corva/create-app

Apps generator for corva.ai.

Prerequisites

Installation

npm i -g @corva/create-app

Usage

corva-create-app provides a user-friendly CLI wizard to create an app.

Usage: create-corva-app [options] [command]

Options:
  -h, --help                                           display help for command

Commands:
  create [options] [project-directory]                 Create a new app
  zip [options] <project-directory> [patterns...]      Bundle app
  release [options] <project-directory> [patterns...]  Release app
  rerun [options] <project-directory>                  Rerun app
  attach [options] <project-directory>                 Add app to live assets streams
  help [command]                                       display help for command

Create an app

To create a new app use create command.

Usage: create-corva-app create <project-directory> [options]

Create a new app

Arguments:
  project-directory               Project directory to work with (default: "Current working dir")

Options:
  --developerName [string]        Enter the Developer Name (default: "O&G Company")
  --developerIdentifier [string]  Enter the Developer Identifier (default: "oandgc")
  --appType                       Choose the App Type (choices: "ui", "scheduler", "stream", "task")
  --schedulerType                 Choose the scheduler type (choices: "1", "2", "4")
  --cronString [string]           Provide CRON string for the scheduler (default: "*/5 * * * *")
  --depthMilestone [number]       Provide depth milestone for the scheduler (default: 1)
  --logType                       Choose the log type (choices: "time", "depth")
  --appName [string]              Enter the App Name (default: "Corva Dev Center App")
  --description [string]          Enter description (default: "This is the description of my app. You can do great things with it!")
  --summary [string]              Enter summary (default: "More information about this app goes here")
  --category [string]             Enter category (default: "")
  --website [string]              Enter website (default: "https://www.oandgexample.com/my-app/")
  --segments                      Choose segments (choices: "drilling", "completion")
  --runtime                       Choose runtime (choices: "ui", "nodejs16.x", "python3.8", "python3.9")
  -p, --packageManager            Please select the desired package manager (choices: "yarn", "npm")
  -t, --useTypescript [boolean]   Would you like to use TypesScript? (default: false)
  --silent [boolean]              Only log result of the operation (default: false)
  --no-dependencies-install       Skip installing dependencies
  --no-git-init                   Skip initializing git repository

Examples

Create a UI application

create-corva-app test --appName "Test" --segments "drilling" --category "wellDesign" --appKey "some-company.test.ui" --appType "ui" --runtime "ui"

Create a NodeJs TypeScript application

create-corva-app test --appName "Test" --segments "drilling" --category "wellDesign" --appKey "some-company.test.scheduler" --appType "scheduler" --runtime "nodejs12.x" -t

Create a Python application

create-corva-app test --appName "Test" --segments "drilling" --category "analytics" --appKey "some-company.test.stream" --appType "stream" --runtime "python3.8"

Zip

To create a zip that contains app ready to be deployed to Corva use zip command.

Usage: create-corva-app zip [options] <project-directory> [patterns...]

Bundle app

Arguments:
  project-directory                  Project directory to work with
  patterns                           Additional patterns to zip (default: [])

Options:
  --bump-version <string>            Bump version (choices: "major", "minor", "patch", "skip")
  --ignored-files [ignoredFiles...]  Patterns to skip zip
  --silent [boolean]                 Only log result of the operation (default: false)

What is getting zipped?

By default next files will be included.

For frontend apps:

  • manifest.json
  • package.json
  • yarn.lock
  • .npmrc
  • config-overrides.js
  • all files under src
  • tsconfig.json

For apps that written in node:

  • manifest.json
  • package.json
  • either package-lock.json or yarn.lock
  • all files under config folder
  • all *.js files under src and lib folders (if typescript is not used)
  • tsconfig.json, tsconfig.build.json (if typescript is used)
  • all *.ts files under src and lib folders (if typescript is used)

For apps that written in python:

  • manifest.json
  • requirements.txt
  • all *.py files

If you want to zip some files that are not included pass that as patterns arguments. To skip some files from zipping please use --ignored-files option.

Examples

Create a zip file from the content of test-app folder & put zip file in it.

create-corva-app zip test-app

Create a zip file & automatically bump version

create-corva-app zip test-app --bump-version=patch

Create a zip file from the content of test-app folder with custom content (globs are supported)

create-corva-app zip test-app some/missing/file1 some/other/missing/file2 all/files/*.glob

Release

To push app to Corva use release command.

Usage: create-corva-app release [options] <project-directory> [patterns...]

Release app

Arguments:
  project-directory            Project directory to work with
  patterns                     Additional patterns to zip (default: [])

Options:
  --bump-version <string>      Bump version (choices: "major", "minor", "patch", "skip")
  --ignored-files [string...]  Patterns to skip zip (default: [])
  --env [string]               Environment to use (choices: "qa", "staging", "production", default: "qa")
  --api-key [string]           Pre generated API key for authorization during app upload
  --app-key [string]           Explicitly set appKey that CLI is going to use. Otherwise it will be taken from manifest.json file. [works only for Front-End apps currently]
  --notes [string]             Add custom notes to published app
  --label [string]             Put a label on the release (choices: "DEV", "BETA", "PROD")
  --remove-on-fail [boolean]   Remove release if it fails during deployment (default: false)
  --silent [boolean]           Only log result of the operation (default: false)
  --remove-on-success          App package (.zip) will not be deleted after upload (default: true)
  --remove-existing [boolean]  If package.json version is already taken - remove the previously published package and upload a new one (default: false)

Examples

Make a release with ask for version

create-corva-app release test-app

Make a release without version increase

create-corva-app release test-app --bump-version=skip

Make a release with increased version

create-corva-app release test-app --bump-version=patch

Make a release with custom version

create-corva-app release test-app --bump-version=4.2.0

Readme

Keywords

Package Sidebar

Install

npm i @corva/create-app

Weekly Downloads

381

Version

0.94.0

License

MIT

Unpacked Size

227 kB

Total Files

193

Last publish

Collaborators

  • ryandawson
  • bestfit
  • oleksandr_krupko
  • maksymozymok
  • ruslan.shukiurov
  • villeti
  • mgdskr_corva
  • jordanambra
  • dumavit1
  • antonpyrlyk
  • corva-devops-automation
  • vasyl.skalozub
  • andrii.koval
  • suchov
  • aj8k
  • yuliiahryhorchuk
  • stas_bazylevych
  • kostia.khozhay