This changelog only contains ahigh level overview/abstract of major design and workflow execution changes up to CLI v0.5.0 from earlier versions.
If you want to read specific changelogs for every major (or breaking change), minor change and patch fix, read them on release pages.
Changes:
- Completed the 1-1 mapping of Nhost CLI from Javascript to Golang.
- Docker Compose dependency removed. Containers are now handled natively directly using Docker's native SDK for Golang by accessing installed docker daemon.
- Required Hasura CLI v.2.0.0-alpha11 binaries are automatically downloaded for the user depending on their operating system and architecture and stored in
$HOME/.nhostaka the Nhost root directory. - Users may now directly run the all-powerful single
nhostcommand to use the complete pipeline of initializing the app, cloning pre-configured Nhost compatible front-end templates subject to choice of framework, and launching a local development environment for their app. nhostcommand now offers to clone pre-configured front-end templates (exaxmple: NuxtJs, NextJs, ReactJs, etc.) subject to choice of framework in theweb/directory in app root.nhost initandnhost devhave been made action specific for ONLY initializing the app and launching the development environment, respectively.- Added global
-dor--debugflag for printing debug level verbose logs. Default logging includes logs of levelinfo,warn, 'error' andfatal. - Added global
-jor--jsonflag in case the user wants to print the logs in JSON format. - Added global
--log-fileflag which, if passed, would concurrently write the logs (without colour, and with timestamps) to that file along with stdOut. - Added
upgradecommand to check for latest versions of this utility from Github release APIs of this repository, and download and install those versions. - Added
versioncommand which prints out the current utility version along with operating system and architecture. Additionally, checks for latest versions of the CLI available from repository's release API. - Added command specific documentations.
- Set up a proper and sophisticated logging using
logruspackage. - Automated the workflow more than before. Example: if the user is not logged in, then instead of preventing the user from launching dev environment and asking them to manually do
nhost login, now the utility directly calls login functions whenever authentication is required for any command, and isn't accessible to it. - Improved support for those specific uses cases where user may not have direct manual access to host machine where the utility might have to be run. For example, if the
nhost logincommand prompts the user to enter their email for authentication, the user may directly insert email with a-eor--emailflag, likenhost login -e my_email@gmail.com. - Similar flags have been added to other commands to bypass input prompts as much as possible by directly passing validation inputs using flags.
- Added live reloading for API container if
package.jsonfile is changed/modified. - Added
nhost supportcommand giving selection prompt to user to allow them to directly launch discord server or github discussions endpoints from terminal. - Added local development/testing support for Nhost (serverless) functions. It's server is automatically launched with the rest of the environment with
nhost dev. And a barebone testing server, only for serving functions, can also be launched usingnhost functions. - Added watchers for git operations (checkout/fetch/merge/pull/etc) by the user, while the development environment is live (still running). If any simultaneous git operation is detected, the CLI is automatically reconfigure the environment to accomodate those changes, and inform the user.