sky-toolbelt

A command line application for building and maintaining web applications.

Usage no npm install needed!

<script type="module">
  import skyToolbelt from 'https://cdn.skypack.dev/sky-toolbelt';
</script>

README

Toolbelt

Contents

Background

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.

Installation

You can install the toolbelt using npm:

npm install -g sky-toolbelt

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

toolbelt --help

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

alias tb="toolbelt"

Prerequisites

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.

Usage

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

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

Complete

  • init - create a new component
  • lint - lint all (JS & CSS) in test and lib dirs
  • test - run JS tests in your test directory
  • 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 COMPONENT-TYPES.md.

Pending

No pending commands right now.

Toolbelt configuration

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

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

The toolbelt 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 toolbelt preview.
index string Y The entry point to be used when packaging your component using toolbelt build.
externals object When building your component with dependencies (toolbelt build -d). This property will be passed to webpack as the externals (see https://webpack.github.io/docs/configuration.html#externals)

Contributors

Contributing & Bug Reports

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

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