https://github.com/jimzhan/create-esnext-app
Opinionated ESNext application boilerplate generator.
https://github.com/jimzhan/create-esnext-app
app application babel boilerplate build-tool docker docker-compose es2015 es2016 es2017 esnext generator nginx pm2 scaffold scaffolding template zero-configuration
Last synced: 6 months ago
JSON representation
Opinionated ESNext application boilerplate generator.
- Host: GitHub
- URL: https://github.com/jimzhan/create-esnext-app
- Owner: jimzhan
- License: apache-2.0
- Created: 2017-12-07T09:45:50.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-01-12T04:31:08.000Z (over 6 years ago)
- Last Synced: 2025-03-26T20:49:31.034Z (6 months ago)
- Topics: app, application, babel, boilerplate, build-tool, docker, docker-compose, es2015, es2016, es2017, esnext, generator, nginx, pm2, scaffold, scaffolding, template, zero-configuration
- Language: JavaScript
- Homepage:
- Size: 462 KB
- Stars: 10
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# create-esnext-app
Opinionated ESNext application boilerplate generator.
[](https://travis-ci.org/jimzhan/create-esnext-app)
[](https://github.com/airbnb/javascript)
[](http://commitizen.github.io/cz-cli/)
[](https://github.com/conventional-changelog/standard-version)
[](https://www.npmjs.com/package/create-esnext-app)
[](https://www.npmjs.com/package/create-esnext-app)
## Key Features
* Cutting edge [babel](https://babeljs.io/) supports.
* [Docker](http://www.docker.com/) with [pm2](https://github.com/Unitech/pm2) supports:
- [node](https://hub.docker.com/_/node/) with [Debian](https://www.debian.org/).
- [pm2](https://github.com/Unitech/pm2) with cluster supports at server side.
* GIT Workflow includes
- auto-code formatting (via [prettier-standard](https://github.com/sheerun/prettier-standard)).
- structural commit message restriction/validation (via [commitizen](https://github.com/commitizen/cz-cli)/[conventional-changelog](https://github.com/commitizen/cz-conventional-changelog) and [commitlint](https://github.com/marionebl/commitlint))
* Automatic versioning and CHANGELOG generation (via [standard-version](https://github.com/conventional-changelog/standard-version)).
* Pre-configured VSCode editing & debugging settings.## Supported Templates
* [Basic](#basic---esnext-boilerplate) - Foundation of every ESNext based application.
* [Fastify](#fastify-server-boilerplate) - Fastify based API server template with Docker support.
* [MobX](#mobx-parcel--react-boilerplate) - MobX + React template built on top of [Parcel](https://parceljs.org/) with Docker support.## Installation
```sh
npm install -g create-esnext-app
```## Update
```sh
npm update -g create-esnext-app
```## Create Biolerplate
```sh
create-esnext-app
```## GIT Workflow
#### GIT Commit

#### GIT Push

## Templates
### Basic - ESNext Boilerplate
* [Babel](https://babeljs.io/) settings with supports includes:
* [Class properties](https://babeljs.io/docs/plugins/transform-class-properties/)
* [Decorators](https://github.com/loganfsmyth/babel-plugin-transform-decorators-legacy)
* [Babel Env](https://github.com/babel/babel/tree/master/packages/babel-preset-env)
* [Babel Jest](https://github.com/facebook/jest/tree/master/packages/babel-jest)
* [Module Resolver](https://github.com/tleunen/babel-plugin-module-resolver) for `src`.
* [Commitizen](https://github.com/commitizen/cz-cli) for better commit message (via `npm run commit`).
* [Conventional Changelog](https://github.com/commitizen/cz-conventional-changelog) as commit message template.
* [CommitLint](https://github.com/marionebl/commitlint) as commit message format validator (via `commitmsg` hook provided by `husky`)
* [ESLint](https://github.com/eslint/eslint) with:
* [Airbnb Config](https://github.com/airbnb/javascript) without `semicolon` :trollface:
* [VSCode](https://code.visualstudio.com/) supports.
* [Jest](https://github.com/facebook/jest).
* [Jest](https://github.com/facebook/jest) with [VSCode](https://code.visualstudio.com/) supports.
* [Prettier](https://github.com/prettier/prettier) for code formatting (`precommit` and `VSCode`).
* [Husky](https://github.com/typicode/husky) for GIT hooks.
* [per-env](https://github.com/ericclemmons/per-env) for npm scripts.### Fastify Server Boilerplate
* Foundation extended from [Basic](#basic---esnext-boilerplate).
* [Fastify](https://github.com/fastify/fastify) - An modern efficient server.
* [Convict](https://github.com/mozilla/node-convict) - expands on the standard pattern of configuring with dynamic settings supports.
* [PM2](https://github.com/Unitech/pm2) - production process manager.
* [Docker](https://www.docker.com/) - containerization ready for your production deployment.### MobX (Parcel) + React Boilerplate
* Foundation extended from [Basic](#basic---esnext-boilerplate).
* [Parcel](https://parceljs.org) based React boilerplate.
* [Enzyme](https://github.com/airbnb/enzyme) testing utilities for React.
* [Ant Design](https://github.com/ant-design/ant-design/) An enterprise-class UI design language and React-based implementation.
* [mobx-react](https://github.com/mobxjs/mobx-react) - React bindings for MobX.
* [Docker](https://www.docker.com/) - containerization ready for your production deployment.## VSCode Supports (Optional)
* Required Extensions:
- [Debugger for Chrome](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome)
- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
* Workspace settings (via `.vscode/settings.json`).
* Chrome based debugger (via `.vscode/launch.json`).