# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
node_modules
node

# roadhog-api-doc ignore
/src/utils/request-temp.js
_roadhog-api-doc

# production
/dist

# misc
.DS_Store
npm-debug.log*
yarn-error.log

/coverage
.idea
*bak
jsconfig.json
.vscode

