cli-create-widget
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.