Fountain

一个Yeoman生成器为您的所有前端项目。(One Yeoman generator for all your frontend projects.)

Github星跟蹤圖

Yeoman Fountain 生成器支持使用React或Angular编写webapp,采用ES6(Babel)、TypeScript 编程,通过Webpack或SystemJS,以及工具Gulp 4,ESLint,Browsersync和Karma。

FountainJS旨在通过让您忘记JS疲劳来带来丰富的DX。

什么是Fountain?

可选项 -- Fountain 是一种新的Yeoman发生器,允许用户选择您将使用的最具结构性的技术:

  • Web框架:React, Angular 2, Angular 1, Vue 2
  • 模块和依赖关系管理:Webpack, SystemJS, none
  • JavaScript版本:Babel, TypeScript, none
  • Style(CSS)元语言:Sass, Stylus, Less, none
开发人员经验 -- 提出的工具集中在提供最好的开发人员体验,以便现代Web开发受益于极端动态的生态系统,而不是造成疲劳。
准备好 -- Fountain 的要点是提供一个稳定的项目,无论您选择的是非常不同的选项,并始终保持每个框架和工具的最新版本。
组成 -- 从用户的角度来看,Fountain 是一个非常完整的生成器。 从内部而言,这是一个由各种专门的生成器组成的完整的生态系统。这种架构将允许更容易的开发和扩展。

主要指標

概覽
名稱與所有者FountainJS/generator-fountain-webapp
主編程語言JavaScript
編程語言JavaScript (語言數: 1)
平台
許可證MIT License
所有者活动
創建於2015-12-12 13:45:47
推送於2019-02-27 09:32:11
最后一次提交2019-02-27 10:32:10
發布數21
最新版本名稱v1.0.0 (發布於 )
第一版名稱v0.0.1 (發布於 )
用户参与
星數1k
關注者數41
派生數67
提交數102
已啟用問題?
問題數190
打開的問題數73
拉請求數29
打開的拉請求數1
關閉的拉請求數2
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

:warning: Unmaintained

This project has been archived and is considered outdated and unmaintained.

With the massive rise of the CLI tools by each major JavaScript Web frameworks, it was become irrelevant to pursue the quest of being a competitive project scaffolder for modern Web project.

We officialy advise to use the coresponding CLI tools for the framework you use:

Of course, we have some regrets regarding our users, Yeoman users and some goals we had with Fountain (like giving important tool choices to users, harmonizing projects configurations between frameworks...) but still, you can use official CLI tools with confidence as they are great project which went further for development experience and Web optimization.

Fountain Webapp Generator

Build Status
codecov
Slack
OpenCollective Backers
OpenCollective Sponsors

This Yeoman generator allows you to start any Webapp with the best Developer Experience out of the box!

No matter what framework or module management you want to use, we got you covered with a cutting edge working configuration.

We use Gulp 4 as a task manager but we'll ask you questions about:

  • Framework: React, Angular 2, Angular 1, Vue 2
  • Modules management: Webpack, SystemJS, none
  • JS preprocessor: Babel, TypeScript, none
  • CSS preprocessor: Sass, Stylus, Less, none

This generator is the entry point of the Yeoman Fountain generators for webapps. It can be considered as the v2 of generator-gulp-angular.

Generator Fountain Webapp structure

To take profit of the best of the Yeoman infrastructure, we heavily relies on the composability natures of the generators.

Thereby, each needs of your future application will be addressed by a dedicated Yeoman generator (each will be used depending of the options you selected or not).

More informations in DESIGN.md.

Web framework layer

This generators can be used directly to bypass the framework question.

React
Angular 1
Angular 2
Vue 2

Web tooling layer

Gulp
ESLint
BrowserSync
Karma

Module management layer

Webpack
SystemJS
Bower

Usage

Requirement Node 6+ && NPM 3+

This generator is targeted to be used with Node >= 6.0.0 and NPM => 3.0.0. You can check your version number with the command

node --version && npm --version

Install

Install required tools yo:
npm install -g yo
Install generator-fountain-webapp:
npm install -g generator-fountain-webapp

Run

Create a new directory, and go into:
mkdir my-new-project && cd my-new-project
Run yo fountain-webapp, and select desired technologies:
yo fountain-webapp

Use NPM scripts

  • npm run build to build an optimized version of your application in /dist
  • npm run serve to launch a browser sync server on your source files
  • npm run serve:dist to launch a server on your optimized application
  • npm run test to launch your unit tests with Karma
  • npm run test:auto to launch your unit tests with Karma in watch mode

Or Gulp tasks

If you have gulp-cli installed in global packages you can use equivalent:

  • gulp or gulp build
  • gulp serve
  • gulp serve:dist
  • gulp test
  • gulp test:auto

If you don't have gulp-cli installed in global, you should have this error:

/usr/local/lib/node_modules/gulp/bin/gulp.js:121
gulpInst.start.apply(gulpInst, toRun);
TypeError: Cannot read property 'apply' of undefined

Sub-generators

If you want to access sub-generators, you have to globally install one of the following generators:

Start development


Backers

Support us with a monthly donation and help us continue our activities.

Backers

Sponsors

Become a sponsor and get your logo on our website fountainjs.io and on our README on Github with a link to your site.

Sponsors

Changelog

Contributing