A starter build framework.
npm install frontpackBuild next generation, standards-driven, optimized websites & applications with Frontpack. Get a jumpstart on development with Foundation, React, Babel & more!
- Use webpack to automate development & production builds
- Watch changes you make update instantly with a local development server & live reload
- Optimize images with Imagemin
- Generate truely responsive images
- Pre-packaged with the Foundation framework or load your own!
- Pre-packaged with React & Babel
- Mark & quickly find TODOs, FIXMEs & more in console or in a generated report
- Easily define supported browsers with browserlist
- Code confidently with JS, Sass & CSS linters… plus get notified when unsupported browser properties are used!
- Automatically add browser prefixes based on the supported browsers
- Minify your CSS even more by automatically removing unused properties with PurifyCSS
- Supports CSS Modules for locally scoped class names
- Miss your Compass mixins? No worries with compass-mixins!
- Set a performance budget & get notified when your build exceeds it
- Build HTML templates with Handlebars
- Generate statistc reports that can analyze the build output
Download the script here and include it (unless you are packaging scripts somehow else).
Navigate to the frontpack directory in Terminal and run the following commands:
1. ``$ npm install` To install dependencies`
2. $ npm start` Build & watch files
The following node commands are available:
- `$ npm start` (or `npm start`) Starts the project in the development mode. Surf to `localhost:8080` in your browser to see it running.`
- $ npm run build` Generates a production build below `build`. You can open the generated index.html through the browser to examine the result.`
- $ npm run lint:js` Executes ESLint against the code. ESLint is able to catch smaller issues. The default setup lints even during development so you rarely need to execute this command yourself.`
- $ npm run stats` Generates statistics (stats.json) about the project. You can analyze the build output further.`
- $ npm run styleguide` Generates a style guide. The default setup generates one even during development so you rarely need to execute this command yourself.`
- $ npm run deploy` Deploys the project to GitHub pages.
The default setup removes unused CSS during production builds using PurityCSS by scanning all files in the `purifyOptions.paths` setting in the webpack configuration file. Unfortunately, due to how webpack handles files in memory, PurityCSS is unable to scan URLs. To solve this, Frontpack allows you to run uncss outside of webpack by running the following:
`$npm run --silent uncss [url(s)] > dist/css/[filename].css`
Replace `[url(s)]` with the URL(s) uncss should scan and `[filename]` with the name of the output file. (ex. npm run --silent uncss https://bmarshall511.github.io/frontpack/ > dist/css/global.bundle.css).
IMPORTANT: For production builds using uncss, `npm run build` should be run first, then the uncss command above to ensure the file stays minimized. Also, be sure not to leave out the `--silent` argument or the node command will be added to the top of the outputted file. To change uncss options, use the `.uncssrc` file.
Check out the Contributing Guidelines.
For vulnerability reports, send an e-mail to me at benmarshall dot me`.
* Ben Marshall
* And awesome contributors