JavaScript Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin bin: warn about install deprecation Jun 21, 2018
docker docker/Dockerfile: using node:10, dropping Ocaml support Aug 1, 2018
docs config: uses mango.config.js filename Jun 21, 2018
lib scripts: resolve also json files Jul 31, 2018
test tests: run init hooks to install deps Jul 25, 2018
.editorconfig .editorconfig Jan 23, 2018
.gitignore ignore .cache-loader Jul 25, 2018
.tern-project Update .tern-project Feb 16, 2016
.travis.yml ci - travis: brew aliases python2 May 12, 2018
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Apr 8, 2018
LICENSE Added MIT license Nov 21, 2014
README.md
appveyor.yml ci: dropping Node v6, replacing v9 with stable v10 Apr 26, 2018
circle.yml circle: node 8 Dec 14, 2017
index.js Basic draft of CLI interface Nov 17, 2014
package-lock.json
package.json

README.md

mango-cli CircleCI Build Status Build status NPM downloads

Scaffold and build your projects way more faster than before. Preconfigured frontend devstack to the absolute perfection. Fully automated to save your precious time. Ready for any type of web project.

A little example project is here: manGoweb/mango-cli-example.

Under the hood

Styles
Stylusexpressive, robust, feature-rich CSS preprocessor
SassCSS with superpowers
Lessthe dynamic stylesheet language
Autoprefixer vendor prefixes based on the real usage
Clean-CSSFast and efficient CSS minifier
Templates
Pug (Jade)robust, elegant and feature rich template engine
Scripts
WebpackStatic module bundler for modern JavaScript applications
BabelUse next generation JavaScript today
ReactJavaScript library for building user interfaces from Facebook
UglifyJSJavaScript minifier
Tools
BrowserSyncTime-saving synchronised browser testing
NPMNode.js package manager
GulpAutomated build tasks
ImageminSeamless image minification
Sourcemapsdebug like a pro

Installation

Install mango-cli once from npm and use it everywhere:

npm install -g mango-cli

Requirements

Before installation check that your system has these requirements:

Mac OS X

  • python (v2.7 recommended, v3.x.x is not supported) (already installed on Mac)
  • Xcode
    • You also need to install the Command Line Tools via Xcode. You can find this under the menu Xcode -> Preferences -> Downloads
  • libvips via Homebrew brew install vips

Windows

  • windows-build-tools via npm install -g --production windows-build-tools (from an elevated PowerShell)
    • will install and configure Python v2.7 and Visual C++ Build Tools 2015 for you

Linux

  • python (v2.7 recommended, v3.x.x is not supported)
  • make
  • A proper C/C++ compiler toolchain, like GCC

Alternative methods

Docker

We also provide a Docker image mangoweb/mango-cli which is available on the Docker HUB

Pre-packed archives

If you're still having problems with the installation, check out prepared release packages.

Extract them locally and run npm link in the mango-cli folder (on Mac OS X you still need the libvips dependency though).

Usage

  • mango init - scaffolding and initialization
  • mango install - dependency installation
  • mango build - production build
  • mango dev - development mode

Feel free to use mango [command] -h for detailed instructions

Project scaffolding and initialization

mango init [options] [directory]

Forks a template into folder.

Options:

  • -s, --source [git_repository] - git repository with a template to fork. Default is currently the mango-cli-example

Managing project dependencies

mango install [packages...]

Installs packages from NPM and stores them in node_modules folder, from where you can require them (thanks to browserify). Maintain current list in the mango.yaml config file under the dependencies section.

Project build

Assuming the config file mango.yaml is present in a current directory and contains:

styles:
  - styles/screen.styl
scripts:
  - scripts/index.js
images:
  - images/**/*.{jpg,png,svg}
templates:
  - templates/**/*.pug
static:
  - fonts/**
dependencies:
  - jquery
watch:
  - app/**
dist_folder: dist

Config file can be in JSON or JS formats. mango.json gets parsed as a JSON file, mango.config.js gets required as-is.

Production build

mango build [tasks...]

All assets are compiled and minified into dist_folder, ready for production use.

Options:

  • [tasks...] - run only specified tasks as styles, scripts, images, templates, static

Development mode

mango dev [http_proxy]

Starts BrowserSync server (or proxy server) and fs watch for assets change.

Configuration

More in Configuration options docs...

FAQ

More in the Wiki page...

Copyright

Copyright 2016-2018 manGoweb s.r.o. Code released under the MIT license. Evolved from Frontbase devstack.