New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@toptal/davinci-ci

Package Overview
Dependencies
Maintainers
1
Versions
1459
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@toptal/davinci-ci

Continuos integrations tools for frontend projects

latest
Source
npmnpm
Version
8.0.0
Version published
Maintainers
1
Created
Source

@toptal/davinci-ci

Holds Jenkins jobs definitions and Docker files supporting frontend applications.

Demo

Watch this video for a demo of how to set up a davinci-ci Jenkins jobs for a project or check the How to start a new application guide.

Installation

Use it by installing pnpm add @toptal/davinci-ci in your project.

Usage

Commands

  • davinci-ci danger - checks if the PR title and and commit messages comply with Toptal's standards

To check commit message quality locally just add --local argument

davinci-ci danger --local

Using husky, you can check the commit message before pushing files changes.

"husky": {
    "hooks": {
      "pre-push": "pnpm davinci-ci danger --local"
    }
  },

Configuration

You can specify which scenarios you want to be performed both for PR and master branch updates by creating a davinci.yaml file in the root of your project with the following structure.

(by default each config option is set to false)

pr:
  contract_testing: false

master:
  publish_as_package: false
  deploy_staging: false
  deploy_storybook_staging: false
  deploy: false
  require_assignee: false # danger check will require each PR to have assignee
  require_assignee_whitelist: ['dependabot-preview[bot]', 'dependabot[bot]']

# Customize Slack channel where the notifications will get posted
slack_channel: 'custom-slack-channel'
is_progressive_web_app: true

Commands you can use in GitHub PRs

@toptal-bot run tests - to re-run pr-tests job

@toptal-bot run package:alpha-release - to run publish-alpha-package job, which is publishing alpha release of the package to npm (temploy for npm package)

How to setup cypress in CI

In order to enable cypress tests on CI jobs (both pr-tests and master-main) enable it on your project davinci.yaml file, like in the example below:

pr:
  cypress: true
master:
  cypress: true

If you have it set as false or if this config is not present in your project davinci.yaml file, cypress step will be skipped.

Pre-configured davinci docker image

Davinci CI has a pre-configured docker image recipe, which can be used to build optimized docker images for your frontend applications. The image is present on path src/configs/docker/Dockerfile.gha-deploy and have a few build arguments that have to be provided:

Build argumentDescriptionRequired
DIST_FOLDERStatic build locationYes
ENV_RUNTIME_ENTRYPOINTEntrypoint script, davinci has an example file present at src/configs/docker/env-runtime.entrypoint.shYes
VERSIONCurrent release versionYes
NGINX_CONFIGNgninx config, davinci has an example file present at src/configs/docker/nginx-vhost.confYes
HTML_CDN_CACHE_TAGCache-Tag header for HTML documents, used for specific cache purgingNo

The default entrypoint src/configs/docker/env-runtime.entrypoint.sh reads environment file (.env.$DAVINCI_ENV has to be located in the root of the dist folder) and populates the environment variables with values from the file if the overriden environment variable is not set. Variables that are provided to docker run command (for example, docker run -e DAVINCI_envvar1=1) have higher priority that variables from the envrionment file.

IDE Tooling

This package can be used directly in your IDE through these extensions

Keywords

ci

FAQs

Package last updated on 07 Apr 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts