A version of the React Color Picker that was bootstrapped with Create React App. Some built-in functionality of that skeleton was removed, specifically the offline caching.
This version demonstrates JSX, use of prop-types, testing with Jest/Enzyme, integrated ESLint, Continuous Integration via Travis-CI and deployment to Heroku.
Run npm install
to install the dependencies.
The tests use both Jest and Enzyme has described in the CRA documentation.
Enzyme was installed with:
npm install --save-dev enzyme enzyme-adapter-react-16 react-test-renderer
The lint configuration built into CRA was extended with the AirBnB
configuration based on this blog post. Using ESLint outside of react-scripts
may not be supported, but appears to
work.
The configuration was installed with:
npx install-peerdeps --dev eslint-config-airbnb
And the client .eslintrc.json
file configured to use the AirBnB rules, and globally configured to allow JSX in .js files.
{
"extends": "airbnb",
"env": {
"browser": true,
"jest": true
},
"rules": {
"react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }]
}
}
The .eslintignore
file is configured to exclude the CRA build directory.
Other rules are disabled in specific files.
The linter is run automatically by the CRA development server, or can be run manually with npx eslint .
(or via npm run lint
). Include the --fix
option to eslint
to automatically fix many formatting errors.
The color picker can be deployed to Heroku using the recommended BuildPack and process described here. Assuming you have already committed any changes, create and push the application to Heroku with:
heroku create --buildpack https://github.com/mars/create-react-app-buildpack.git
git push heroku master
To view the deployed application run heroku open
.