Skip to content

Dojo - cli command for creating widgets boilerplate.

License

Notifications You must be signed in to change notification settings

dojo/cli-create-widget

Repository files navigation

cli-create-widget

Build Status

codecov npm version

A Dojo CLI command that creates a Dojo 2 widget template with an optional custom element descriptor.

Usage

To use @dojo/cli-create-widget, install the project globally along side dojo cli:

npm install -g @dojo/cli-create-widget

Run using:

dojo create [widget] --name <widget name> --styles <CSS path> --tests <test path>

Features

@dojo/cli-create-widget generates an opinionated skeleton component structure for use within a Dojo 2 application. The location where styles and tests are created can be customized using the --styles and --tests arguments respectively. By default, the following folder structure will be created:

MyComponent.ts
styles/
styles/myComponent.m.css
styles/myComponent.m.css.d.ts,
tests/unit/MyComponent.ts

It's also possible to generate a Custom Element descriptor by passing the --component boolean argument. This will generate a widget that includes the @customElement decorator with an empty template object ready for configuration, please see the @dojo/widget-core readme for more information.

How do I contribute?

We appreciate your interest! Please see the Dojo 2 Meta Repository for the Contributing Guidelines.

Code Style

This repository uses prettier for code styling rules and formatting. A pre-commit hook is installed automatically and configured to run prettier against all staged files as per the configuration in the projects package.json.

An additional npm script to run prettier (with write set to true) against all src and test project files is available by running:

npm run prettier

Installation

To start working with this package, clone the repository and run npm install.

In order to build the project run grunt dev or grunt dist.

Testing

Test cases MUST be written using Intern using the Object test interface and Assert assertion interface.

90% branch coverage MUST be provided for all code submitted to this repository, as reported by istanbul’s combined coverage results for all supported platforms.

To test locally run:

grunt test

Licensing information

© 2018 JS Foundation. New BSD license.