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.