insj

0.1.5 • Public • Published
Insj

A no excuses project scaffolding tool.

Motivation

Apparently writing modern Javascript means writing config-files as much as actual code.

I want to be able to spin up a new project fast. Either from my own templates that are simple to create, or from any git repository.

Why not existing scaffolding tools? None of the existing scaffolding tools are as simple and straight forwards as I think they should be. Especially if you want to create your own templates, and store templates for later use.

Usage

Simply install insj globally from npm:

npm install insj --global

and then simply run insj like so:

How to use insj

If the repository you choose isn't a valid insj-template it will simply be cloned into your chosen folder.

Creating templates

A template is a git repository that contains a config.js file and a src folder.

Template file structure looks like this:

+-- config.js
+-- src
    + -- # code goes here

The config file can contain an array of properties and an array of postInstall-commands (aka terminal commands).

// Example config
module.exports = {
  properties: ['name', 'description'],
  postInstall: ['git init', 'npm install']
}

The user user will be asked for the 'properties' at project initiation, so insj can replace these values in the template with the user supplied values.

insj uses the handlebarjs template syntax. This means that every instance of {{ name }} will be replaced with the user entered name value.

The postInstall-commands will be ran after the project has been initiated. In the example config git init and npm install will be ran after insj has completed the setup.

Example template: module-starter

Storing templates

insj enables you to store templates for later use. By running insj -a or injs -a <name> you will be asked for a name, path and whether the template should be the default template or not.

Note: insj only stores the path to the repository, not the actual files – ensuring that you always get the latest template

Readme

Keywords

Package Sidebar

Install

npm i insj

Weekly Downloads

5

Version

0.1.5

License

MIT

Unpacked Size

40.4 kB

Total Files

14

Last publish

Collaborators

  • rognstadragnar