Skip to content

🍃 Shamanize your next static website with the most powerful React-based technologies.

Notifications You must be signed in to change notification settings

AzuObs/windfury

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Windfury Logo

Windfury

CircleCI

Shamanize your next static website with the most powerful React-based technologies.

Windfury is a full-featured and opinionated tooling library. It's mainly focused on improving developer experience (DX) on React-based technologies. No more JavaScript fatigue. Just focus to build your website, don't worry about your tooling stack!

Philosophy

  • Single-dependency: [...]
  • Opinionated: [...]
  • Deployment pipeline support: [...]

Features

  • React stack based: [...]
  • Live-reload and hot reloading: [...]
  • CSS modules: [...]
  • Deployment: [...]

Quick Start

Let's start by create a new Node.js project. Windfury works great with the following boilerplate: mapleinside/website-boilerplate.

However, if you want to start from scratch, Windfury is opinionated by nature, so you should follow Maple Inside's architecture conventions in order to use it. When you're ready to go, install Windfury as local dependency:

npm i windfury --save-dev

Write the configuration's file windfury.yml (see Customization for more information). And finally, start the development server:

windfury start

./src is the main source directory. Start write code here!

Commands

For best use, commands should be defined into the package.json as NPM scripts.

  • windfury start: spin up a development server with live-reload and HMR;
  • windfury build: build a production-ready version of the website;
  • windfury deploy: deploy your website sources to the specified AWS S3 bucket.

Commands arguments

  • -e or --env-file: use another .env file instead of ./env/dev.env. Useful to build a production-ready version of the app for the staging or production environment (e.q. --env-file=./env/staging.env).

How Windfury Works

[...]

Customization

Windfury uses a YAML file named windfury.yml as configuration. You can easily custom many options here. Below these are the mandatory options:

aws:
  region: us-west-2
  s3:
    bucket: mywindfurywebsite.com
env:
  secret:
    - NPM_TOKEN

Options

Here the full customizable options for Windfury:

aws:
  region: us-west-2
  s3:
    bucket: mywindfurywebsite.com
env:
  secret:
    - NPM_TOKEN

License

Windfury is MIT licensed.

Windfury documentation is Creative Commons licensed.

Examples provided in this repository and in the documentation are separately licensed.

About

🍃 Shamanize your next static website with the most powerful React-based technologies.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published