An opinionated ReactJs + Webpack generator for CoffeeScript.
----
Generators:
- Base app
- Builds router
- Adds mixin folder
- Adds webpack config
- Generates a test suite
- Replaces refs to french-press with your own
- if redux
- Builds using a different base
- Adds container component
- Requires intervention to produce a functional app
- View component (base component)
- Child component
- Navigation
- Comes with tests
- No route included
- Reducers
- Middleware
- Base app
-
Actions:
-
Included modules other than React:
- Bemmer - Create BEM with ease
- lodash - The missing standard lib
- moment - Parse, validate, manipulate and display dates
- React Mini Router - Easy routing
- Redux - Functional flux store for your data
npm install
./fp clean
./fp run
./fp build
./fp test
./fp clean && npm run spec && ./fp clean
./fp implode
You will want to rm -rf .git
and git init
before running this command
./fp g --app --appName [AwesomeApp] --author [YourName] --ghUser [GitHubUserName] --email [some@one.com] --redux
./fp g --app --appName [AwesomeApp] --author [YourName] --ghUser [GitHubUserName] --email [some@one.com]
NB: Components are placed in components/[componentName]/index.coffee by default
As a normal component with no customizations (route will match method name)
./fp g --view --[componentName]
As base route
./fp g --view --[componentName] --route root
With custom route
./fp g --view --[componentName] --route [customRouteName]
With custom folder name NB: This will cause the component to be named based on the actual name of the function
./fp g --view --[componentName] --componentFolder [componentFolderName]
./fp g --view --[componentName] --slim
NB: Components are placed in components/[componentFolderName]/[componentName].coffee by default
./fp g --component --[componentName] --folder [componentFolderName]
./fp g --component --[componentName] --folder [componentFolderName] --slim
./fp g --navigation
./fp g --reducer --middleware --store [storeName]
./fp g --reducer --store [storeName]
- This is just a shell. It will require some work to complete a functional middleware module
./fp g --middleware --name [middlewareName] --store [storeName]
Bug reports and pull requests are welcome on GitHub at https://github.com/whatisinternet/french-press. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.