Skip to content

Commit b4ac818

Browse files
authored
Merge pull request #18 from mherodev/bugfix/unknown-props-and-prop-types
Bugfixes: Unknown props, prop-types, inline-styles, and ESLint
2 parents 2d20c1b + 61a3a81 commit b4ac818

File tree

9 files changed

+2912
-292
lines changed

9 files changed

+2912
-292
lines changed

.editorconfig

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
root = true
2+
3+
[*]
4+
indent_style = space
5+
indent_size = 2

.eslintrc

+10-203
Original file line numberDiff line numberDiff line change
@@ -1,210 +1,17 @@
11
{
22
"parser": "babel-eslint",
3+
"extends": [
4+
"airbnb",
5+
"prettier",
6+
"prettier/react"
7+
],
38
"plugins": [
4-
"react"
9+
"prettier"
510
],
611
"env": {
7-
"browser": true,
8-
"node": true
9-
},
10-
"ecmaFeatures": {
11-
"arrowFunctions": true,
12-
"blockBindings": true,
13-
"classes": true,
14-
"defaultParams": true,
15-
"destructuring": true,
16-
"forOf": true,
17-
"generators": false,
18-
"modules": true,
19-
"objectLiteralComputedProperties": true,
20-
"objectLiteralDuplicateProperties": false,
21-
"objectLiteralShorthandMethods": true,
22-
"objectLiteralShorthandProperties": true,
23-
"spread": true,
24-
"superInFunctions": true,
25-
"templateStrings": true,
26-
"jsx": true
12+
"browser": true
2713
},
28-
"rules": {
29-
/**
30-
* Strict mode
31-
*/
32-
// babel inserts "use strict"; for us
33-
// http://eslint.org/docs/rules/strict
34-
"strict": [2, "never"],
35-
36-
/**
37-
* ES6
38-
*/
39-
"no-var": 0, // http://eslint.org/docs/rules/no-var
40-
41-
/**
42-
* Variables
43-
*/
44-
"no-shadow": 2, // http://eslint.org/docs/rules/no-shadow
45-
"no-shadow-restricted-names": 2, // http://eslint.org/docs/rules/no-shadow-restricted-names
46-
"no-unused-vars": [2, { // http://eslint.org/docs/rules/no-unused-vars
47-
"vars": "local",
48-
"args": "after-used"
49-
}],
50-
"no-use-before-define": 2, // http://eslint.org/docs/rules/no-use-before-define
51-
52-
/**
53-
* Possible errors
54-
*/
55-
"comma-dangle": [2, "never"], // http://eslint.org/docs/rules/comma-dangle
56-
"no-cond-assign": [2, "always"], // http://eslint.org/docs/rules/no-cond-assign
57-
"no-console": 0, // http://eslint.org/docs/rules/no-console
58-
"no-debugger": 1, // http://eslint.org/docs/rules/no-debugger
59-
"no-alert": 1, // http://eslint.org/docs/rules/no-alert
60-
"no-constant-condition": 1, // http://eslint.org/docs/rules/no-constant-condition
61-
"no-dupe-keys": 2, // http://eslint.org/docs/rules/no-dupe-keys
62-
"no-duplicate-case": 2, // http://eslint.org/docs/rules/no-duplicate-case
63-
"no-empty": 2, // http://eslint.org/docs/rules/no-empty
64-
"no-ex-assign": 2, // http://eslint.org/docs/rules/no-ex-assign
65-
"no-extra-boolean-cast": 0, // http://eslint.org/docs/rules/no-extra-boolean-cast
66-
"no-extra-semi": 2, // http://eslint.org/docs/rules/no-extra-semi
67-
"no-func-assign": 2, // http://eslint.org/docs/rules/no-func-assign
68-
"no-inner-declarations": 2, // http://eslint.org/docs/rules/no-inner-declarations
69-
"no-invalid-regexp": 2, // http://eslint.org/docs/rules/no-invalid-regexp
70-
"no-irregular-whitespace": 2, // http://eslint.org/docs/rules/no-irregular-whitespace
71-
"no-obj-calls": 2, // http://eslint.org/docs/rules/no-obj-calls
72-
"no-reserved-keys": 2, // http://eslint.org/docs/rules/no-reserved-keys
73-
"no-sparse-arrays": 2, // http://eslint.org/docs/rules/no-sparse-arrays
74-
"no-unreachable": 2, // http://eslint.org/docs/rules/no-unreachable
75-
"use-isnan": 2, // http://eslint.org/docs/rules/use-isnan
76-
"block-scoped-var": 2, // http://eslint.org/docs/rules/block-scoped-var
77-
78-
/**
79-
* Best practices
80-
*/
81-
"consistent-return": 2, // http://eslint.org/docs/rules/consistent-return
82-
"curly": [2, "multi-line"], // http://eslint.org/docs/rules/curly
83-
"default-case": 2, // http://eslint.org/docs/rules/default-case
84-
"dot-notation": [2, { // http://eslint.org/docs/rules/dot-notation
85-
"allowKeywords": true
86-
}],
87-
"eqeqeq": 2, // http://eslint.org/docs/rules/eqeqeq
88-
"guard-for-in": 2, // http://eslint.org/docs/rules/guard-for-in
89-
"no-caller": 2, // http://eslint.org/docs/rules/no-caller
90-
"no-else-return": 2, // http://eslint.org/docs/rules/no-else-return
91-
"no-eq-null": 2, // http://eslint.org/docs/rules/no-eq-null
92-
"no-eval": 2, // http://eslint.org/docs/rules/no-eval
93-
"no-extend-native": 2, // http://eslint.org/docs/rules/no-extend-native
94-
"no-extra-bind": 2, // http://eslint.org/docs/rules/no-extra-bind
95-
"no-fallthrough": 2, // http://eslint.org/docs/rules/no-fallthrough
96-
"no-floating-decimal": 2, // http://eslint.org/docs/rules/no-floating-decimal
97-
"no-implied-eval": 2, // http://eslint.org/docs/rules/no-implied-eval
98-
"no-lone-blocks": 2, // http://eslint.org/docs/rules/no-lone-blocks
99-
"no-loop-func": 2, // http://eslint.org/docs/rules/no-loop-func
100-
"no-multi-str": 2, // http://eslint.org/docs/rules/no-multi-str
101-
"no-native-reassign": 2, // http://eslint.org/docs/rules/no-native-reassign
102-
"no-new": 2, // http://eslint.org/docs/rules/no-new
103-
"no-new-func": 2, // http://eslint.org/docs/rules/no-new-func
104-
"no-new-wrappers": 2, // http://eslint.org/docs/rules/no-new-wrappers
105-
"no-octal": 2, // http://eslint.org/docs/rules/no-octal
106-
"no-octal-escape": 2, // http://eslint.org/docs/rules/no-octal-escape
107-
"no-param-reassign": 2, // http://eslint.org/docs/rules/no-param-reassign
108-
"no-proto": 2, // http://eslint.org/docs/rules/no-proto
109-
"no-redeclare": 2, // http://eslint.org/docs/rules/no-redeclare
110-
"no-return-assign": 2, // http://eslint.org/docs/rules/no-return-assign
111-
"no-script-url": 2, // http://eslint.org/docs/rules/no-script-url
112-
"no-self-compare": 2, // http://eslint.org/docs/rules/no-self-compare
113-
"no-sequences": 2, // http://eslint.org/docs/rules/no-sequences
114-
"no-throw-literal": 2, // http://eslint.org/docs/rules/no-throw-literal
115-
"no-with": 2, // http://eslint.org/docs/rules/no-with
116-
"radix": 2, // http://eslint.org/docs/rules/radix
117-
"vars-on-top": 2, // http://eslint.org/docs/rules/vars-on-top
118-
"wrap-iife": [2, "any"], // http://eslint.org/docs/rules/wrap-iife
119-
"yoda": 2, // http://eslint.org/docs/rules/yoda
120-
121-
/**
122-
* Style
123-
*/
124-
"indent": [2, 2], // http://eslint.org/docs/rules/
125-
"brace-style": [2, // http://eslint.org/docs/rules/brace-style
126-
"1tbs", {
127-
"allowSingleLine": true
128-
}],
129-
"quotes": [
130-
2, "single", "avoid-escape" // http://eslint.org/docs/rules/quotes
131-
],
132-
"camelcase": [2, { // http://eslint.org/docs/rules/camelcase
133-
"properties": "never"
134-
}],
135-
"comma-spacing": [2, { // http://eslint.org/docs/rules/comma-spacing
136-
"before": false,
137-
"after": true
138-
}],
139-
"comma-style": [2, "last"], // http://eslint.org/docs/rules/comma-style
140-
"eol-last": 2, // http://eslint.org/docs/rules/eol-last
141-
"func-names": 1, // http://eslint.org/docs/rules/func-names
142-
"key-spacing": [2, { // http://eslint.org/docs/rules/key-spacing
143-
"beforeColon": false,
144-
"afterColon": true
145-
}],
146-
"new-cap": [2, { // http://eslint.org/docs/rules/new-cap
147-
"newIsCap": true
148-
}],
149-
"no-multiple-empty-lines": [2, { // http://eslint.org/docs/rules/no-multiple-empty-lines
150-
"max": 2
151-
}],
152-
"no-nested-ternary": 2, // http://eslint.org/docs/rules/no-nested-ternary
153-
"no-new-object": 2, // http://eslint.org/docs/rules/no-new-object
154-
"no-spaced-func": 2, // http://eslint.org/docs/rules/no-spaced-func
155-
"no-trailing-spaces": 2, // http://eslint.org/docs/rules/no-trailing-spaces
156-
"no-wrap-func": 2, // http://eslint.org/docs/rules/no-wrap-func
157-
"no-underscore-dangle": 0, // http://eslint.org/docs/rules/no-underscore-dangle
158-
"one-var": [2, "never"], // http://eslint.org/docs/rules/one-var
159-
"padded-blocks": [2, "never"], // http://eslint.org/docs/rules/padded-blocks
160-
"semi": [2, "always"], // http://eslint.org/docs/rules/semi
161-
"semi-spacing": [2, { // http://eslint.org/docs/rules/semi-spacing
162-
"before": false,
163-
"after": true
164-
}],
165-
"space-after-keywords": 2, // http://eslint.org/docs/rules/space-after-keywords
166-
"space-before-blocks": 2, // http://eslint.org/docs/rules/space-before-blocks
167-
"space-before-function-paren": [2, "never"], // http://eslint.org/docs/rules/space-before-function-paren
168-
"space-infix-ops": 2, // http://eslint.org/docs/rules/space-infix-ops
169-
"space-return-throw-case": 2, // http://eslint.org/docs/rules/space-return-throw-case
170-
"spaced-line-comment": 2, // http://eslint.org/docs/rules/spaced-line-comment
171-
172-
/**
173-
* JSX style
174-
*/
175-
"react/display-name": 0,
176-
"react/jsx-boolean-value": 2,
177-
"react/jsx-quotes": [2, "single"],
178-
"react/jsx-no-undef": 2,
179-
"react/jsx-sort-props": 0,
180-
"react/jsx-sort-prop-types": 0,
181-
"react/jsx-uses-react": 2,
182-
"react/jsx-uses-vars": 2,
183-
"react/no-did-mount-set-state": [2, "allow-in-func"],
184-
"react/no-did-update-set-state": 2,
185-
"react/no-multi-comp": 2,
186-
"react/no-unknown-property": 2,
187-
"react/prop-types": 2,
188-
"react/react-in-jsx-scope": 2,
189-
"react/self-closing-comp": 2,
190-
"react/wrap-multilines": 2,
191-
"react/sort-comp": [2, {
192-
"order": [
193-
"displayName",
194-
"mixins",
195-
"statics",
196-
"propTypes",
197-
"getDefaultProps",
198-
"getInitialState",
199-
"componentWillMount",
200-
"componentDidMount",
201-
"componentWillReceiveProps",
202-
"shouldComponentUpdate",
203-
"componentWillUpdate",
204-
"componentWillUnmount",
205-
"/^.+$/",
206-
"render"
207-
]
208-
}]
14+
"rules":{
15+
"prettier/prettier": [1, { "trailingComma": "es5", "singleQuote": true }]
20916
}
210-
}
17+
}

.vscode/settings.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// Place your settings in this file to overwrite default and user settings.
2+
{
3+
"eslint.autoFixOnSave": true
4+
}

README.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# [React Blur](http://javierbyte.github.io/react-blur/)
2+
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
23

34
React component for creating blurred backgrounds using canvas.
45

@@ -18,26 +19,25 @@ npm install react-blur --save
1819
var Blur = require('react-blur');
1920
```
2021

21-
### Add styles
22-
23-
```js
24-
@import url(node_modules/react-blur/dist.css);
25-
```
26-
2722
### Example
2823

2924
```jsx
30-
<Blur img='/directory/img.jpg' blurRadius={5}>
25+
<Blur img='/directory/img.jpg' blurRadius={5} enableStyles>
3126
The content.
3227
</Blur>
3328
```
3429

3530
For a complete example see the code in the [demo branch](https://github.com/javierbyte/react-blur/blob/gh-pages/src/js/app.jsx).
3631

37-
#### Props.
32+
#### Props
3833

3934
* `img`: The image path.
40-
* `blurRadius`: The size of the blur radius.
35+
* `blurRadius`: Optional. The size of the blur radius.
36+
* `enableStyles`: Optional. Flag to include base styles inline, omit this to easily override.
4137
* `resizeInterval`: Optional. How fast the canvas should re-render on resize? Defaults to 128ms.
4238

43-
Thanks to [Quasimodo](http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html) for the original stack blur algorithm.
39+
### Contributing
40+
41+
Please install [yarn](https://yarnpkg.com/en/) and use it to manage dependencies and the lockfile.
42+
43+
*Thanks to [Quasimodo](http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html) for the original stack blur algorithm.*

lib/StackBlur.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* eslint-disable */
2+
13
var mul_table = [
24
512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512,
35
454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512,

package.json

+15-9
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "React component for creating blurred backgrounds.",
55
"main": "dist/blur.js",
66
"scripts": {
7-
"prepublish": "mkdir -p dist && babel src/blur.jsx -u -o dist/blur.js && lessc src/blur.less dist/blur.css",
7+
"prepublish": "mkdir -p dist && babel src/blur.jsx -u -o dist/blur.js",
88
"test": "echo \"Error: no test specified\" && exit 1"
99
},
1010
"keywords": [
@@ -22,20 +22,26 @@
2222
},
2323
"author": "javierbyte",
2424
"license": "ISC",
25+
"peerDependencies": {
26+
"react": "^15.1.0"
27+
},
2528
"dependencies": {
26-
"react": "^15.1.0",
27-
"react-addons-pure-render-mixin": "^15.1.0",
28-
"react-dom": "^15.1.0"
29+
"prop-types": "^15.5.10"
2930
},
3031
"devDependencies": {
3132
"babel-cli": "^6.9.0",
32-
"babel-eslint": "^3.1.20",
33+
"babel-eslint": "^7.2.3",
3334
"babel-preset-es2015": "^6.9.0",
3435
"babel-preset-react": "^6.5.0",
3536
"babel-preset-stage-1": "^6.5.0",
36-
"eslint": "^0.24.0",
37-
"eslint-plugin-babel": "^1.0.0",
38-
"eslint-plugin-react": "^2.6.4",
39-
"less": "^2.7.1"
37+
"eslint": "^3.19.0",
38+
"eslint-config-airbnb": "^15.0.2",
39+
"eslint-config-prettier": "^2.3.0",
40+
"eslint-plugin-babel": "^4.1.1",
41+
"eslint-plugin-import": "^2.7.0",
42+
"eslint-plugin-jsx-a11y": "^5.1.1",
43+
"eslint-plugin-prettier": "^2.1.2",
44+
"eslint-plugin-react": "^7.1.0",
45+
"prettier": "^1.5.2"
4046
}
4147
}

0 commit comments

Comments
 (0)