diff --git a/.eslintrc b/.eslintrc
index 7a25b923df..72601abdc8 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -27,10 +27,10 @@ globals:
rules:
# ERRORS
space-before-blocks: 2
- indent: [2, 2, indentSwitchCase: true]
+ indent: [2, 2, {SwitchCase: 1}]
brace-style: 2
space-after-keywords: 2
- strict: 2
+ strict: [2, global]
comma-dangle: [2, always-multiline]
# Make this a warning for now. We do this in a few places so we might need to
# disable
diff --git a/docs/_js/examples/.eslintrc b/docs/_js/examples/.eslintrc
index d8e82fb51f..5c1e2e2ca7 100644
--- a/docs/_js/examples/.eslintrc
+++ b/docs/_js/examples/.eslintrc
@@ -2,5 +2,6 @@
rules:
block-scoped-var: 0
no-undef: 0
+ strict: 0
react/react-in-jsx-scope: 0
react/jsx-no-undef: 0
diff --git a/eslint-rules/__tests__/warning-and-invariant-args-test.js b/eslint-rules/__tests__/warning-and-invariant-args-test.js
index b6a25b0e11..af1f26c74b 100644
--- a/eslint-rules/__tests__/warning-and-invariant-args-test.js
+++ b/eslint-rules/__tests__/warning-and-invariant-args-test.js
@@ -11,11 +11,11 @@
'use strict';
-var eslint = require('eslint');
-var ESLintTester = require('eslint-tester');
-var eslintTester = new ESLintTester(eslint.linter);
+var rule = require('../warning-and-invariant-args');
+var RuleTester = require('eslint').RuleTester;
+var ruleTester = new RuleTester();
-eslintTester.addRuleTest('eslint-rules/warning-and-invariant-args', {
+ruleTester.run('eslint-rules/warning-and-invariant-args', rule, {
valid: [
"warning(true, 'hello, world');",
"warning(true, 'expected %s, got %s', 42, 24);",
@@ -100,4 +100,3 @@ eslintTester.addRuleTest('eslint-rules/warning-and-invariant-args', {
},
],
});
-
diff --git a/grunt/config/npm.js b/grunt/config/npm.js
index 5586aee786..1fe5c2da00 100644
--- a/grunt/config/npm.js
+++ b/grunt/config/npm.js
@@ -1 +1,3 @@
+'use strict';
+
exports.pack = {};
diff --git a/grunt/tasks/release.js b/grunt/tasks/release.js
index 4eff8bde2f..f101ed93cd 100644
--- a/grunt/tasks/release.js
+++ b/grunt/tasks/release.js
@@ -127,13 +127,14 @@ function docs() {
function msg() {
// Just output a friendly reminder message for the rest of the process
grunt.log.subhead('Release *almost* complete...');
- [
+ var steps = [
'Still todo:',
'* put files on CDN',
'* push changes to git repositories',
'* publish npm module (`npm publish .`)',
'* announce it on FB/Twitter/mailing list',
- ].forEach(function(ln) {
+ ];
+ steps.forEach(function(ln) {
grunt.log.writeln(ln);
});
}
diff --git a/package.json b/package.json
index b75966637d..4763ca8b22 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"version": "0.14.0-beta3",
"devDependencies": {
"babel": "^5.8.3",
- "babel-eslint": "^3.1.25",
+ "babel-eslint": "^4.0.5",
"benchmark": "^1.0.0",
"browserify": "^9.0.3",
"bundle-collapser": "^1.1.1",
@@ -12,10 +12,9 @@
"del": "^1.2.0",
"derequire": "^2.0.0",
"envify": "^3.0.0",
- "eslint": "^0.24.1",
- "eslint-plugin-react": "^2.5.0",
+ "eslint": "^1.1.0",
+ "eslint-plugin-react": "^3.2.1",
"eslint-plugin-react-internal": "file:eslint-rules",
- "eslint-tester": "^0.7.0",
"fbjs": "0.1.0-alpha.4",
"grunt": "^0.4.5",
"grunt-cli": "^0.1.13",
diff --git a/packages/react-dom/index.js b/packages/react-dom/index.js
index 22cc1e1bff..0b5deb28f4 100644
--- a/packages/react-dom/index.js
+++ b/packages/react-dom/index.js
@@ -1 +1,3 @@
+'use strict';
+
module.exports = require('react/lib/ReactDOM');
diff --git a/packages/react-dom/server.js b/packages/react-dom/server.js
index 7584b0ea93..e56ecb3277 100644
--- a/packages/react-dom/server.js
+++ b/packages/react-dom/server.js
@@ -1 +1,3 @@
+'use strict';
+
module.exports = require('react/lib/ReactDOMServer');
diff --git a/packages/react/addons.js b/packages/react/addons.js
index 4c4cc334fe..413ac33a4a 100644
--- a/packages/react/addons.js
+++ b/packages/react/addons.js
@@ -1,3 +1,5 @@
+'use strict';
+
var warning = require('fbjs/lib/warning');
warning(
false,
diff --git a/scripts/jest/environment.js b/scripts/jest/environment.js
index a5ca53b7a9..fbcfe98d56 100644
--- a/scripts/jest/environment.js
+++ b/scripts/jest/environment.js
@@ -1 +1,2 @@
+/* eslint-disable */
__DEV__ = true;
diff --git a/src/renderers/dom/client/ReactMount.js b/src/renderers/dom/client/ReactMount.js
index 34e849f3fd..2293317b0f 100644
--- a/src/renderers/dom/client/ReactMount.js
+++ b/src/renderers/dom/client/ReactMount.js
@@ -257,12 +257,13 @@ function findDeepestCachedAncestor(targetID) {
* @param {boolean} shouldReuseMarkup If true, do not insert markup
*/
function mountComponentIntoNode(
- componentInstance,
- rootID,
- container,
- transaction,
- shouldReuseMarkup,
- context) {
+ componentInstance,
+ rootID,
+ container,
+ transaction,
+ shouldReuseMarkup,
+ context
+) {
if (__DEV__) {
if (context === emptyObject) {
context = {};
@@ -287,11 +288,12 @@ function mountComponentIntoNode(
* @param {boolean} shouldReuseMarkup If true, do not insert markup
*/
function batchedMountComponentIntoNode(
- componentInstance,
- rootID,
- container,
- shouldReuseMarkup,
- context) {
+ componentInstance,
+ rootID,
+ container,
+ shouldReuseMarkup,
+ context
+) {
var transaction = ReactUpdates.ReactReconcileTransaction.getPooled();
transaction.perform(
mountComponentIntoNode,
diff --git a/src/renderers/dom/client/eventPlugins/ChangeEventPlugin.js b/src/renderers/dom/client/eventPlugins/ChangeEventPlugin.js
index 20f742917b..992f74d29e 100644
--- a/src/renderers/dom/client/eventPlugins/ChangeEventPlugin.js
+++ b/src/renderers/dom/client/eventPlugins/ChangeEventPlugin.js
@@ -115,17 +115,19 @@ function stopWatchingForChangeEventIE8() {
}
function getTargetIDForChangeEvent(
- topLevelType,
- topLevelTarget,
- topLevelTargetID) {
+ topLevelType,
+ topLevelTarget,
+ topLevelTargetID
+) {
if (topLevelType === topLevelTypes.topChange) {
return topLevelTargetID;
}
}
function handleEventsForChangeEventIE8(
- topLevelType,
- topLevelTarget,
- topLevelTargetID) {
+ topLevelType,
+ topLevelTarget,
+ topLevelTargetID
+) {
if (topLevelType === topLevelTypes.topFocus) {
// stopWatching() should be a noop here but we call it just in case we
// missed a blur event somehow.
@@ -222,9 +224,10 @@ function handlePropertyChange(nativeEvent) {
* If a `change` event should be fired, returns the target's ID.
*/
function getTargetIDForInputEvent(
- topLevelType,
- topLevelTarget,
- topLevelTargetID) {
+ topLevelType,
+ topLevelTarget,
+ topLevelTargetID
+) {
if (topLevelType === topLevelTypes.topInput) {
// In modern browsers (i.e., not IE8 or IE9), the input event is exactly
// what we want so fall through here and trigger an abstract event
@@ -234,9 +237,10 @@ function getTargetIDForInputEvent(
// For IE8 and IE9.
function handleEventsForInputEventIE(
- topLevelType,
- topLevelTarget,
- topLevelTargetID) {
+ topLevelType,
+ topLevelTarget,
+ topLevelTargetID
+) {
if (topLevelType === topLevelTypes.topFocus) {
// In IE8, we can capture almost all .value changes by adding a
// propertychange handler and looking for events with propertyName
@@ -260,9 +264,10 @@ function handleEventsForInputEventIE(
// For IE8 and IE9.
function getTargetIDForInputEventIE(
- topLevelType,
- topLevelTarget,
- topLevelTargetID) {
+ topLevelType,
+ topLevelTarget,
+ topLevelTargetID
+) {
if (topLevelType === topLevelTypes.topSelectionChange ||
topLevelType === topLevelTypes.topKeyUp ||
topLevelType === topLevelTypes.topKeyDown) {
@@ -298,9 +303,10 @@ function shouldUseClickEvent(elem) {
}
function getTargetIDForClickEvent(
- topLevelType,
- topLevelTarget,
- topLevelTargetID) {
+ topLevelType,
+ topLevelTarget,
+ topLevelTargetID
+) {
if (topLevelType === topLevelTypes.topClick) {
return topLevelTargetID;
}
diff --git a/src/renderers/dom/client/syntheticEvents/SyntheticCompositionEvent.js b/src/renderers/dom/client/syntheticEvents/SyntheticCompositionEvent.js
index 159c723f27..9300128603 100644
--- a/src/renderers/dom/client/syntheticEvents/SyntheticCompositionEvent.js
+++ b/src/renderers/dom/client/syntheticEvents/SyntheticCompositionEvent.js
@@ -32,7 +32,8 @@ function SyntheticCompositionEvent(
dispatchConfig,
dispatchMarker,
nativeEvent,
- nativeEventTarget) {
+ nativeEventTarget
+) {
SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
}
diff --git a/src/renderers/dom/client/syntheticEvents/SyntheticInputEvent.js b/src/renderers/dom/client/syntheticEvents/SyntheticInputEvent.js
index 0ee7407748..271439e64a 100644
--- a/src/renderers/dom/client/syntheticEvents/SyntheticInputEvent.js
+++ b/src/renderers/dom/client/syntheticEvents/SyntheticInputEvent.js
@@ -33,7 +33,8 @@ function SyntheticInputEvent(
dispatchConfig,
dispatchMarker,
nativeEvent,
- nativeEventTarget) {
+ nativeEventTarget
+) {
SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
}
diff --git a/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js b/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js
index f487f55fa6..55bb5c5748 100644
--- a/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js
+++ b/src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js
@@ -477,9 +477,9 @@ describe('ReactDOMComponent', function() {
it('should not duplicate uppercased selfclosing tags', function() {
var Container = React.createClass({
- render: function() {
- return React.createElement('BR', null);
- },
+ render: function() {
+ return React.createElement('BR', null);
+ },
});
var returnedValue = ReactDOMServer.renderToString(