Skip to content
Command for building Dojo themes
TypeScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Issue templates (#7) Oct 19, 2018
src fix tsc pattern argument (#16) May 21, 2019
tests
.appveyor.yml Code quality updates (#3) Oct 19, 2018
.editorconfig
.gitattributes Initial build command (#2) Sep 10, 2018
.gitignore
.travis.yml Code quality updates (#3) Oct 19, 2018
LICENSE Code quality updates (#3) Oct 19, 2018
README.md Initial build command (#2) Sep 10, 2018
intern.json Initial build command (#2) Sep 10, 2018
package-lock.json Update package metadata Aug 26, 2019
package.json Update package metadata Aug 26, 2019
tsconfig.json Initial build command (#2) Sep 10, 2018
tslint.json Initial build command (#2) Sep 10, 2018

README.md

cli-build-theme

A @dojo/cli command for building Dojo themes that are intended for distribution.

If you are a theme author and need to distribute your theme files across multiple applications, then @dojo/cli-build-theme helps you do so. The build outputs the processed CSS modules, CSS source maps, an index.js theme module with a corresponding .d.ts, as well as any associated assets. The ouput also includes versioned index.css and index.js equivalents that are compatible with Dojo custom elements.

Note: if you are using dojo create theme within an existing application or Dojo custom element, then there is no need to use this package. As long as the theme files are within the existing build pipeline, they will be included in the build generated with @dojo/cli-build-app or @dojo/cli-build-widget;

Usage

To use @dojo/cli-build-theme in a themes project, first install @dojo/cli globally (if you have not already done so), and then install the package:

npm install --global @dojo/cli
npm install --save-dev @dojo/cli-build-theme

To build a theme, run dojo build theme from the command line, specifying the theme name as well as an optional release version.

dojo build theme --name=my-theme --release=1.2.3

If no release is specified, then the version from package.json will be used. Both name and release are aliased as n and r, respectively, so the above command can be shortened to:

dojo build theme -n my-theme -r 1.2.3

The above will create a new dist/src/my-theme directory at the project root that contains:

  • All raw .m.css files. Copying these files as-is enables composition (i.e., composes: root from 'node_modules/my-theme/my-widget')
  • An assets directory containing all fonts and images included within the theme's directory
  • An index.js file that can be imported into Dojo widgets and passed to the @theme decorator
  • An index.css file that is imported into an application's main.css
  • A {name}-{release}.js file for use with custom elements that registers the theme with a global registry and is added via a <script> tag
  • A {name}-{release}.css file for use with custom elements that is added via a <link rel="stylesheet"> tag

How do I contribute?

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

Licensing information

© 2018 JS Foundation. New BSD license.

You can’t perform that action at this time.