node package manager
It’s your turn. Help us improve JavaScript. Take the 2017 JavaScript Ecosystem Survey »

dev-toolkit

dev-toolkit

Jump-start your react-powered Universal App
Designed for Veterans


dev-toolkit provides you with an easy and quick way to get started with a pre-rendered & server-rendered app. After creating your starting point with the init command, you get full customisability out of the box.

Travis branch Vulnerabilities for dev-toolkit npm npm code style: prettier Twitter

Quick Start

$ npm install -g dev-toolkit
# Initialise a project with optional name, template, comments 
# The comments explain how the `dev-toolkit` works with the template 
$ dev-toolkit init [project_name] [--template template_name] [--skip-comments]

List of available templates

* used by default when initialising a new project

📖 Docs

🌟 Features

dev-toolkit is intentionally minimalist on features. It's meant to get you started quickly with a project where you will need customisability instead of mandating which technologies that you must use (such as Jest).

  • SSR by default
  • Ability to pre-render after webpack creates a build
  • Complete control over client & server
    see template docs
  • Start your project without bloat or guidance if you like it rough
    dev-toolkit init --template minimal --skip-comments
  • Full control over your server-rendered template
    no webpack lock-in such as with html-webpack-plugin unless you choose to
  • hot-reload on client & server, opt-in for both
  • Easy way to integrate any nodeHooks for SSR usage
    using /nodeHooks.js
  • Easy way to add webpack plugins and presets
    using /dev-toolkit.config.js
  • use select environment variables on client
    using import { sharedEnvs } from 'dev-toolkit/settings'
  • you can use sane if-statements, jsx-control-statements
    <If condition={true}> ... </If> will compile down to &&-syntax

Why No CSS by default?

The aim of dev-toolkit is to be unopinionated so that it can be useful in many different scenarios. Therefore only the most necessary dependencies are included and other additions may be provided by yourself (see the other template examples for guidance).

With CSS-in-JS solutions on the rise, it would be unwise to include dependencies for css-modules, sass or less in every project that has dev-toolkit as a dependency, it would introduce additional installation time and bloat.

Roadmap

  • More docs on extending with config, how dev-toolkit works, choices
  • serverless template
  • Using your own (external) template - under consideration
  • Eject feature - under consideration
  • list differences between dev-toolkit, next.js & create-react-app

Contributing

See Contributing.md