mirror of
https://github.com/stolksdorf/homebrewery.git
synced 2025-12-15 16:55:58 +00:00
Adding circleCI and eslint
This commit is contained in:
committed by
Trevor Buckner
parent
c04cd23213
commit
c57ca0b27f
38
.circleci/config.yml
Normal file
38
.circleci/config.yml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# Javascript Node CircleCI 2.0 configuration file
|
||||||
|
#
|
||||||
|
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
|
||||||
|
#
|
||||||
|
version: 2
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
docker:
|
||||||
|
# specify the version you desire here
|
||||||
|
- image: circleci/node:7.10
|
||||||
|
|
||||||
|
# Specify service dependencies here if necessary
|
||||||
|
# CircleCI maintains a library of pre-built images
|
||||||
|
# documented at https://circleci.com/docs/2.0/circleci-images/
|
||||||
|
# - image: circleci/mongo:3.4.4
|
||||||
|
|
||||||
|
working_directory: ~/repo
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
|
||||||
|
# Download and cache dependencies
|
||||||
|
- restore_cache:
|
||||||
|
keys:
|
||||||
|
- v1-dependencies-{{ checksum "package.json" }}
|
||||||
|
# fallback to using the latest cache if no exact match is found
|
||||||
|
- v1-dependencies-
|
||||||
|
|
||||||
|
- run: npm install
|
||||||
|
|
||||||
|
- save_cache:
|
||||||
|
paths:
|
||||||
|
- node_modules
|
||||||
|
key: v1-dependencies-{{ checksum "package.json" }}
|
||||||
|
|
||||||
|
# run tests!
|
||||||
|
- run: npm test
|
||||||
|
|
||||||
78
.eslintrc.js
Normal file
78
.eslintrc.js
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
module.exports = {
|
||||||
|
root: true,
|
||||||
|
parserOptions : {
|
||||||
|
ecmaVersion : 9,
|
||||||
|
sourceType : 'module',
|
||||||
|
ecmaFeatures : {
|
||||||
|
jsx : true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
env : {
|
||||||
|
browser : true,
|
||||||
|
},
|
||||||
|
plugins : ['react'],
|
||||||
|
rules : {
|
||||||
|
/** Errors **/
|
||||||
|
'camelcase' : ['error', { properties: 'never' }],
|
||||||
|
'func-style' : ['error', 'expression', { allowArrowFunctions: true }],
|
||||||
|
'no-array-constructor' : 'error',
|
||||||
|
'no-iterator' : 'error',
|
||||||
|
'no-nested-ternary' : 'error',
|
||||||
|
'no-new-object' : 'error',
|
||||||
|
'no-proto' : 'error',
|
||||||
|
'react/jsx-no-bind' : ['error', { allowArrowFunctions: true }],
|
||||||
|
'react/jsx-uses-react' : 'error',
|
||||||
|
'react/prefer-es6-class' : ['error', 'never'],
|
||||||
|
|
||||||
|
/** Warnings **/
|
||||||
|
'max-lines' : ['warn', {
|
||||||
|
max : 200,
|
||||||
|
skipComments : true,
|
||||||
|
skipBlankLines : true,
|
||||||
|
}],
|
||||||
|
'max-depth' : ['warn', { max: 4}],
|
||||||
|
'max-params' : ['warn', { max: 4 }],
|
||||||
|
'no-restricted-syntax' : ['warn', 'ClassDeclaration', 'SwitchStatement'],
|
||||||
|
'no-unused-vars' : ['warn', {
|
||||||
|
vars : 'all',
|
||||||
|
args : 'none',
|
||||||
|
varsIgnorePattern : 'config|_|cx|createClass'
|
||||||
|
}],
|
||||||
|
'react/jsx-uses-vars' : 'warn',
|
||||||
|
|
||||||
|
/** Fixable **/
|
||||||
|
'arrow-parens' : ['warn', 'always'],
|
||||||
|
'brace-style' : ['warn', '1tbs', { allowSingleLine: true }],
|
||||||
|
'jsx-quotes' : ['warn', 'prefer-single'],
|
||||||
|
'linebreak-style' : ['warn', 'unix'],
|
||||||
|
'no-var' : 'warn',
|
||||||
|
'prefer-const' : 'warn',
|
||||||
|
'prefer-template' : 'warn',
|
||||||
|
'quotes' : ['warn', 'single', { 'allowTemplateLiterals': true } ],
|
||||||
|
'semi' : ['warn', 'always'],
|
||||||
|
|
||||||
|
/** Whitespace **/
|
||||||
|
'array-bracket-spacing' : ['warn', 'never'],
|
||||||
|
'arrow-spacing' : ['warn', { before: false, after: false }],
|
||||||
|
'comma-spacing' : ['warn', { before: false, after: true }],
|
||||||
|
'indent' : ['warn', 'tab'],
|
||||||
|
'keyword-spacing' : ['warn', {
|
||||||
|
before : true,
|
||||||
|
after : true,
|
||||||
|
overrides : {
|
||||||
|
if : { 'before': false, 'after': false }
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
'key-spacing' : ['warn', {
|
||||||
|
multiLine : { beforeColon: true, afterColon: true, align: 'colon' },
|
||||||
|
singleLine : { beforeColon: false, afterColon: true }
|
||||||
|
}],
|
||||||
|
'linebreak-style' : ['warn', 'unix'],
|
||||||
|
'no-trailing-spaces' : 'warn',
|
||||||
|
'no-whitespace-before-property' : 'warn',
|
||||||
|
'object-curly-spacing' : ['warn', 'always'],
|
||||||
|
'react/jsx-indent-props' : ['warn', 'tab'],
|
||||||
|
'space-in-parens' : ['warn', 'never'],
|
||||||
|
'template-curly-spacing' : ['warn', 'never'],
|
||||||
|
}
|
||||||
|
};
|
||||||
6055
package-lock.json
generated
Normal file
6055
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -6,6 +6,8 @@
|
|||||||
"dev": "node scripts/dev.js",
|
"dev": "node scripts/dev.js",
|
||||||
"quick": "node scripts/quick.js",
|
"quick": "node scripts/quick.js",
|
||||||
"build": "node scripts/build.js",
|
"build": "node scripts/build.js",
|
||||||
|
"lint": "eslint --fix **/*.{js,jsx}",
|
||||||
|
"lint:dry": "eslint **/*.{js,jsx}",
|
||||||
"phb": "node scripts/phb.js",
|
"phb": "node scripts/phb.js",
|
||||||
"prod": "set NODE_ENV=production&& npm run build",
|
"prod": "set NODE_ENV=production&& npm run build",
|
||||||
"postinstall": "npm run build",
|
"postinstall": "npm run build",
|
||||||
@@ -35,5 +37,9 @@
|
|||||||
"striptags": "^2.1.1",
|
"striptags": "^2.1.1",
|
||||||
"superagent": "^1.6.1",
|
"superagent": "^1.6.1",
|
||||||
"vitreum": "^4.0.12"
|
"vitreum": "^4.0.12"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"eslint": "^4.19.1",
|
||||||
|
"eslint-plugin-react": "^7.7.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user