node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


Blackjack Toolbelt



The toolbelt exists to make creating and working on web projects much easier. With a few commands you can boot a development server, test and lint the codebase, and built assets for production. There is a lot more functionality on the roadmap for the future too, including Sky Pages integration.

We've improved developer efficiency by automating repetitive tasks such as starting new projects, setting up test suites and configuring a linter for your code. This enables developers to spend more time adding value by building great products.


You can install the toolbelt using npm:

npm install -g sky-uk/blackjack-toolbelt

Now you should be able to use the toolbelt anywhere on your system:

blackjack --help

If you'd like to add a custom shorthand for blackjack, you can either use the one provided (b) or make your own:

alias bk="blackjack"


The target application you're running tests on should have the following babel packages installed:

  • babel-loader

Note: we're working on ensuring these dependencies are managed outside of the application.


For more information on the supported commands, run blackjack --help. For more information on a specific command, use the --help flag (blackjack build --help).

Commands are currently being developed, the status of them is defined below.


  • init - create a new component
  • lint - lint all (JS & CSS) in test and lib dirs
  • test - run JS tests in your test directory
  • flow - run FlowType static checker
  • preview - preview the built component locally
  • build - build the assets into ./dist
  • transpile - transpile the code into ES5

For details on how to develop and support other languages, see


No pending commands right now.

Blackjack config

The init command automatically creates a project.json file within your project. This contains a blackjack section:

"blackjack": {
    "name": "MyComponent",
    "preview": "src/preview.js",
    "index": "src/index.js",
    "externals": {
      "react": "React",
      "react-dom": "ReactDOM"

The blackjack section can have the following properties:

Property Type Required Description
name string Y The name of the component (specified in the init command). This is used when packaging your component.
preview string Y The entry point for running your application using blackjack preview.
index string Y The entry point to be used when packaging your component using blackjack build.
externals object When building your component with dependencies (blackjack build -d). This property will be passed to webpack as the externals (see


Contributing & Bug Reports

Contribution guidelines are shared with the main project, please see the there.

We keep a list of features and bugs in the issue tracker.