Starts and builds your project. Under the hood, it covers webpack with the default webpack configuration.
Use it by installing yarn add @toptal/davinci-engine
in your project.
-
start
: start a development server for the current Davinci project -
build
: build the current Davinci project -
size
: check bundle size -
analyze
: analyze bundle and check dependencies -
compile-package
: compile the current project into a package directory -
publish-package
: publish the current package directory to NPM -
sentry-upload-source-maps
: upload the project source maps to Sentry
We filter environment variables to be sure that only needed variables are handled, so if you want to have variables passed, you need to
- use
DAVINCI_
prefix. E.g.DAVINCI_PLATFORM_URL=http://localhost:3000
- use
.env
file.davinci-engine
reads all variables from .env irrespective ofDAVINCI_
prefix. If--dotenv
argument set toauto
value, the variables are loaded from the environment-specific files in the following order:-
.env.[NODE_ENV].local
- for untracked, local overrides .env.[NODE_ENV]
.env
-
There is a global DAVINCI_RELEASE_VERSION
variable that you can use inside your application, it is a unique release tag that you can pass to Sentry or Rollbar to associate javascript errors with particular releases. It is passed down on release stage of deployment process. Please don't forget to provide default value for other environments.
You can learn more about setting up and configuring Davinci's reverse proxy here.
Davinci is using resolve-ts-aliases which proxies aliases in the project's tsconfig
go to the webpack config.
This package can be used directly in your IDE through these extensions