README
Usage
npm init electrojet <project-name>
The CLI will walk you through a set of options for you to select the template/starter.
Options
1. Template
This option allows you to select the template beforehand.
npm init electrojet <project-name> --template=electron
See list of currently available templates
2. Starter
This option allows you to select a starter beforehand.
npm init electrojet <project-name> --starter=<User>/<RepoName>
This format works for repositories hosted on github.
How do I customise it to work with Gitlab / Bitbucket?
How are they different?
A template offers a default configuration for a given technology. For eg. selecting electron as a template, gives you a package with Electron, Javascript, CSS and HTML.
A starter is much more customised and opiniated in it's design. For example, a starter may have Electron with React and Redux installed and setup for you to start working.
How do I add _______ to the configuration?
Add a plugin
There are plugins available for Electrojet that can add functionality to existing configurations. You can add them to
electrojet.config.js
plugins array.Roll your own
If you can't find a plugin, you can always write one.
In your plugins directory, add a function that takes the format:
module.exports = {
plugins: [
{
resolve: function (
env, // Current running env, either "dev" or "prod". Allows you to create multiple configs for development and production
context, // The current configuration, mutating this won't help
options, // options from the user, you don't need this for writing custom config
) {
return customConfig; // Return custom configuration
}
}
]
}
The webpack configuration object that you return from the resolve functions gets shallow merged into running configuration.
List of available templates
List of plugins
How do I build a CLI for my favorite technology?
- Install
@electrojet/core
for defaults in building Webpages. - Use Node APIs for
@electrojet/core
to extend the start and build scripts. - If you are building a Template (and not a starter, [see difference]), give us a PR to include in electrojet templates.
See Electrojet Carlo for an example.
How do I customise it to with Bitbucket / Gitlab Templates
Docs in progress