Bevry's Project Base Files
Files we use when scaffolding new projects.
Setup
init
Setup your new project:
npm init
touch README.md
files
Download the relevant files for your project:
wget -N https://raw.githubusercontent.com/bevry/base/master/.editorconfig
wget -N https://raw.githubusercontent.com/bevry/base/master/.eslintrc.js
wget -N https://raw.githubusercontent.com/bevry/base/master/.gitignore
wget -N https://raw.githubusercontent.com/bevry/base/master/LICENSE.md
wget -N https://raw.githubusercontent.com/bevry/base/master/.npmignore
wget -N https://raw.githubusercontent.com/bevry/base/master/CONTRIBUTING.md
wget -N https://raw.githubusercontent.com/bevry/base/master/index.js
wget -N https://raw.githubusercontent.com/bevry/base/master/.travis.yml
wget -N https://raw.githubusercontent.com/bevry/base/master/.flowconfig
wget -N https://raw.githubusercontent.com/bevry/base/master/package.json
wget -N https://raw.githubusercontent.com/bevry/base/master/HISTORY.md
And add them to git:
git add .editorconfig .eslintrc.js .gitignore .flowconfig .npmignore .travis.yml
git add .
mkdir source
touch source/index.js
touch source/test.js
touch source/bin.js
readme
Use the following inside your README.md
file to have projectz generate most of it for you, leaving you up the "Usage" section.
<!-- TITLE -->
<!-- BADGES -->
<!-- DESCRIPTION -->
<!-- INSTALL -->
## Usage
<!-- HISTORY -->
<!-- CONTRIBUTE -->
<!-- BACKERS -->
<!-- LICENSE -->
dependencies
Add the appropriate development dependencies for what you want to do:
npm install --save-dev projectz # for projectz meta+package file compilation
npm install --save-dev eslint # for eslint parsing and linting
npm install --save-dev babel-cli babel-preset-es2015 # for babel es6+ to es5 compilation
npm install --save editions # for esnext auto loading
npm install --save-dev eslint-plugin-babel # for esnext linting
npm install --save-dev assert-helpers joe joe-reporter-console # for testing
npm install --save-dev documentation # for documentation
npm install --save-dev flow-bin # for flow type
npm install --save-dev eslint-plugin-react # for react linting
package.json
Finally copy the relevant parts of our package.json
template for your consumption.
travis
Run the following in the project to add notifications for the builds (requires the environment variables to be set):
travis encrypt --org "$SLACK_SUBDOMAIN:$SLACK_TRAVIS_TOKEN#updates" --add notifications.slack
travis encrypt --org "$TRAVIS_NOTIFICATION_EMAIL" --add notifications.email.recipients
If you get token errors with travis, add this to you dotfiles:
export TRAVIS_ACCESS_TOKEN='the token value found in ~/.travis/config.yml'
alias travisencrypt='travis encrypt -t "$TRAVIS_ACCESS_TOKEN"'
And use this instead:
travisencrypt --org "$SLACK_SUBDOMAIN:$SLACK_TRAVIS_TOKEN#updates" --add notifications.slack
travisencrypt --org "$TRAVIS_NOTIFICATION_EMAIL" --add notifications.email.recipients
Legacy
Our esnextguardian.js
file.
Dropped in favour of Editions.
Our nakefile.js
file.
Dropped in favour of NPM Scripts.
Our coffeelint.json
file.
Dropped in favour of ESNext.
Our cyclic.js
file.
Dropped in favour of npm >=2
.
Our .jshintrc
file.
Dropped in favour of ESLint.
Our .jscrc
file.
Dropped in favour of ESLint.
History
View the commit history for the release history.
License
Licensed under the Creative Commons Zero making it public domain so you can do whatever you wish with it without worry (you can even remove this notice!)
Copyright © 2011+ Benjamin Lupton