Update lint config, dependencies, fix issues

This also fixes messages from new synthetic events warnings
This commit is contained in:
Paul O’Shannessy 2016-03-02 15:07:45 -08:00
parent b271efb7d3
commit 093bb22030
5 changed files with 39 additions and 31 deletions

View File

@ -30,7 +30,6 @@ module.exports = {
'indent': [ERROR, 2, {SwitchCase: 1}],
'jsx-quotes': [ERROR, 'prefer-double'],
'no-bitwise': OFF,
'no-dupe-class-members': ERROR,
'no-multi-spaces': ERROR,
'no-restricted-syntax': [ERROR, 'WithStatement'],
'no-shadow': ERROR,
@ -39,6 +38,7 @@ module.exports = {
'quotes': [ERROR, 'single', 'avoid-escape'],
'space-after-keywords': ERROR,
'space-before-blocks': ERROR,
'space-before-function-paren': [ERROR, {anonymous: 'never', named: 'never'}],
'space-before-keywords': ERROR,
'strict': [ERROR, 'global'],
@ -57,7 +57,7 @@ module.exports = {
'react/no-did-update-set-state': OFF,
// We define multiple components in test files
'react/no-multi-comp': OFF,
'react/no-unknown-property': ERROR,
'react/no-unknown-property': OFF,
// This isn't useful in our test code
'react/prop-types': OFF,
'react/react-in-jsx-scope': ERROR,

View File

@ -32,8 +32,8 @@
"del": "^2.0.2",
"derequire": "^2.0.3",
"envify": "^3.0.0",
"eslint": "1.9.0",
"eslint-plugin-react": "3.8.0",
"eslint": "1.10.3",
"eslint-plugin-react": "4.1.0",
"eslint-plugin-react-internal": "file:eslint-rules",
"fbjs": "^0.6.1",
"fbjs-scripts": "0.6.0-alpha.2",

View File

@ -86,11 +86,14 @@ describe('SyntheticEvent', function() {
expect(syntheticEvent.type).toBe(null);
expect(syntheticEvent.nativeEvent).toBe(null);
expect(syntheticEvent.target).toBe(null);
expect(console.error.calls.length).toBe(3); // once for each property accessed
expect(console.error.argsForCall[0][0]).toBe( // assert the first warning for accessing `type`
'Warning: This synthetic event is reused for performance reasons. If you\'re seeing this, ' +
'you\'re accessing the property `type` on a released/nullified synthetic event. This is set to null. ' +
'If you must keep the original synthetic event around, use event.persist(). ' +
// once for each property accessed
expect(console.error.calls.length).toBe(3);
// assert the first warning for accessing `type`
expect(console.error.argsForCall[0][0]).toBe(
'Warning: This synthetic event is reused for performance reasons. If ' +
'you\'re seeing this, you\'re accessing the property `type` on a ' +
'released/nullified synthetic event. This is set to null. If you must ' +
'keep the original synthetic event around, use event.persist(). ' +
'See https://fb.me/react-event-pooling for more information.'
);
});
@ -103,10 +106,11 @@ describe('SyntheticEvent', function() {
expect(syntheticEvent.type = 'MouseEvent').toBe('MouseEvent');
expect(console.error.calls.length).toBe(1);
expect(console.error.argsForCall[0][0]).toBe(
'Warning: This synthetic event is reused for performance reasons. If you\'re seeing this, ' +
'you\'re setting the property `type` on a released/nullified synthetic event. This is ' +
'effectively a no-op. If you must keep the original synthetic event around, use ' +
'event.persist(). See https://fb.me/react-event-pooling for more information.'
'Warning: This synthetic event is reused for performance reasons. If ' +
'you\'re seeing this, you\'re setting the property `type` on a ' +
'released/nullified synthetic event. This is effectively a no-op. If you must ' +
'keep the original synthetic event around, use event.persist(). ' +
'See https://fb.me/react-event-pooling for more information.'
);
});
@ -117,10 +121,11 @@ describe('SyntheticEvent', function() {
syntheticEvent.preventDefault();
expect(console.error.calls.length).toBe(1);
expect(console.error.argsForCall[0][0]).toBe(
'Warning: This synthetic event is reused for performance reasons. If you\'re seeing this, ' +
'you\'re accessing the method `preventDefault` on a released/nullified synthetic event. ' +
'This is a no-op function. If you must keep the original synthetic event around, ' +
'use event.persist(). See https://fb.me/react-event-pooling for more information.'
'Warning: This synthetic event is reused for performance reasons. If ' +
'you\'re seeing this, you\'re accessing the method `preventDefault` on a ' +
'released/nullified synthetic event. This is a no-op function. If you must ' +
'keep the original synthetic event around, use event.persist(). ' +
'See https://fb.me/react-event-pooling for more information.'
);
});
@ -131,10 +136,11 @@ describe('SyntheticEvent', function() {
syntheticEvent.stopPropagation();
expect(console.error.calls.length).toBe(1);
expect(console.error.argsForCall[0][0]).toBe(
'Warning: This synthetic event is reused for performance reasons. If you\'re seeing this, ' +
'you\'re accessing the method `stopPropagation` on a released/nullified synthetic event. ' +
'This is a no-op function. If you must keep the original synthetic event around, ' +
'use event.persist(). See https://fb.me/react-event-pooling for more information.'
'Warning: This synthetic event is reused for performance reasons. If ' +
'you\'re seeing this, you\'re accessing the method `stopPropagation` on a ' +
'released/nullified synthetic event. This is a no-op function. If you must ' +
'keep the original synthetic event around, use event.persist(). ' +
'See https://fb.me/react-event-pooling for more information.'
);
});
@ -154,9 +160,10 @@ describe('SyntheticEvent', function() {
expect(console.error.calls.length).toBe(1);
expect(console.error.argsForCall[0][0]).toBe(
'Warning: This synthetic event is reused for performance reasons. If you\'re seeing this, ' +
'you\'re accessing the property `nativeEvent` on a released/nullified synthetic event. ' +
'This is set to null. If you must keep the original synthetic event around, use event.persist(). ' +
'Warning: This synthetic event is reused for performance reasons. If ' +
'you\'re seeing this, you\'re accessing the property `nativeEvent` on a ' +
'released/nullified synthetic event. This is set to null. If you must ' +
'keep the original synthetic event around, use event.persist(). ' +
'See https://fb.me/react-event-pooling for more information.'
);
});
@ -170,9 +177,10 @@ describe('SyntheticEvent', function() {
if (typeof Proxy === 'function') {
expect(console.error.calls.length).toBe(1);
expect(console.error.argsForCall[0][0]).toBe(
'Warning: This synthetic event is reused for performance reasons. If you\'re ' +
'seeing this, you\'re adding a new property in the synthetic event object. ' +
'The property is never released. See https://fb.me/react-event-pooling for more information.'
'Warning: This synthetic event is reused for performance reasons. If ' +
'you\'re seeing this, you\'re adding a new property in the synthetic ' +
'event object. The property is never released. ' +
'See https://fb.me/react-event-pooling for more information.'
);
} else {
expect(console.error.calls.length).toBe(0);

View File

@ -18,8 +18,9 @@ var ReactPerf = require('ReactPerf');
var quoteAttributeValueForBrowser = require('quoteAttributeValueForBrowser');
var warning = require('warning');
var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR +
'][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$');
var VALID_ATTRIBUTE_NAME_REGEX = new RegExp(
'^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$'
);
var illegalAttributeNameCache = {};
var validatedAttributeNameCache = {};

View File

@ -206,8 +206,7 @@ describe('ReactTestUtils', function() {
ref={() => {}}
onClick={this.handleUserClick}
className={this.state.clicked ? 'clicked' : ''}
>
</div>
/>
);
},
});