@uklfr/formed-cli
v1.0.0-alpha18-hotfix
Published
A command line tool to leverage FORMED
Downloads
15
Readme
FORMED-cli
This cli tool leverages and eases the use of the FORMED framework.
Usage concept
Instead of managing api and app separately, with formed-cli it is possible to transport all information of the entire application in one file. The cli offers tools to leverage development and deployment.
Installation
npm install -g subzero-cli
New Project
mkdir somepath && cd somepath
formed config
formed download
formed install
stmux [ "formed start dev backend" .. "formed start dev frontend" ]
Deployment
Backend
First, when your development environment is working, you can build the application's docker container:
formed build backend
We assume, that your local computer has access to the database. Then, it depends on your project. If it is the initial deploy, you need to run
subzero migrations add --no-diff --note "initial dataset" data
inside your api folder (where .env
is located at) while the dev-system is up and running.
This generates sql-files and the folder tree db/migrations/
.
If you changed your dev system, which already got deployed, just run
subzero migrations add --note "some note" some_feature
This generates a sql-diff inside db/migrations/deploy/
. Please double check the generated files prior deployment.
Now generate your deploy configuration of the server by running
formed config deploy
Here, we assume, you already managed to connect to the server you're going to deploy the application and that this particular server user can run docker-compose. Read here how to setup ssh keys.
Next, just run
formed deploy backend
Now you should be done and the new backend code is online.
Frontend
formed build frontend
Here again, we assume you have ssh access to the server and that your formed configs are setup properly. Then simply run
formed deploy frontend
Split Screen
In order to run split screen you can use screen
/tmux
. We recommend stmux.
Simply install it by
npm i stmux -g
Afterwards, you can run the backend and frontend development output inside one terminal window
stmux [ "formed start dev backend" .. "formed start dev frontend" ]
Development
If you'd like to change this code, use npm link
to use the source code to run. With npm run watch
activate transpilation
on change.
On your server you need to install:
- docker
- docker-compose
The client, on which the application is build, needs:
- docker
- nodejs/npm
- postgresql-client