diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 6570342e83..0000000000 --- a/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -lib -node_modules -webpack \ No newline at end of file diff --git a/.gitignore b/.gitignore index 7dcd213ff0..35c165ba07 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,7 @@ build/Release # Dependency directory # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git node_modules + +# Build artifacts +/examples/static +/lib diff --git a/examples/PropTable.js b/examples/PropTable.js index c1a6d7cecd..123fb4e55d 100644 --- a/examples/PropTable.js +++ b/examples/PropTable.js @@ -121,9 +121,9 @@ const PropTable = React.createClass({ }, getType(prop) { - let type = prop.type || {}; - let name = this.getDisplayTypeName(type.name); - let doclets = prop.doclets || {}; + const type = prop.type || {}; + const name = this.getDisplayTypeName(type.name); + const doclets = prop.doclets || {}; switch (name) { case 'object': @@ -139,9 +139,9 @@ const PropTable = React.createClass({ return i === (list.length - 1) ? current : current.concat(' | '); }, []); case 'array': - let child = this.getType({ type: type.value }); - - return {'array<'}{ child }{'>'}; + return ( + {'array<'}{this.getType({ type: type.value })}{'>'} + ); case 'enum': return this.renderEnum(type); case 'custom': diff --git a/examples/server.js b/examples/server.js index 9936c66a6b..11d7e2155b 100644 --- a/examples/server.js +++ b/examples/server.js @@ -1,9 +1,9 @@ -let webpack = require('webpack'); -let WebpackDevServer = require('webpack-dev-server'); -let config = require('../webpack/examples.config'); +import webpack from 'webpack'; +import WebpackDevServer from 'webpack-dev-server'; -new WebpackDevServer(webpack(config), { +import config from '../webpack/examples.config'; +const server = new WebpackDevServer(webpack(config), { contentBase: 'examples', publicPath: '/static/', hot: true, @@ -12,10 +12,14 @@ new WebpackDevServer(webpack(config), { stats: { colors: true } -}).listen(3000, 'localhost', function (err) { +}); + +server.listen(3000, 'localhost', err => { + /* eslint-disable no-console */ if (err) { - console.log(err); + console.error(err); } console.log('Listening at localhost:3000'); + /* eslint-enable no-console */ }); diff --git a/package.json b/package.json index ae576ff072..253fcc8705 100644 --- a/package.json +++ b/package.json @@ -24,13 +24,12 @@ "clean": "rimraf lib", "clean:examples": "rimraf examples/static", "build": "npm run clean && babel src --out-dir lib", - "build:examples": "npm run clean:examples && babel-node ./webpack/run-webpack --config docs.config.js", - "examples": "npm run clean:examples && babel-node ./examples/server.js", - "lint": "eslint src test", + "build:examples": "npm run clean:examples && webpack --config webpack/docs.config.js", + "examples": "npm run clean:examples && babel-node examples/server.js", + "lint": "eslint examples/*.js src test *.js", "test": "npm run lint && npm run testonly", "testonly": "karma start --single-run", "tdd": "karma start", - "coverage": "COVERAGE=true npm run testonly", "release": "release" }, "peerDependencies": { @@ -41,7 +40,7 @@ "@monastic.panic/component-playground": "^2.0.0", "babel": "^5.8.38", "babel-core": "^5.8.38", - "babel-eslint": "^6.1.0", + "babel-eslint": "^6.1.2", "babel-loader": "^5.4.0", "babel-plugin-object-assign": "^1.2.1", "chai": "^3.5.0", @@ -71,11 +70,11 @@ "mocha": "^2.5.3", "node-libs-browser": "^1.0.0", "raw-loader": "^0.5.1", - "react": "~15.1.0", - "react-addons-test-utils": "~15.1.0", + "react": "^15.2.1", + "react-addons-test-utils": "^15.2.1", "react-bootstrap": "^0.29.5", "react-component-metadata": "^2.1.1", - "react-dom": "~15.1.0", + "react-dom": "^15.2.1", "react-hot-loader": "^1.3.0", "release-script": "^1.0.2", "rimraf": "^2.5.3", diff --git a/src/Position.js b/src/Position.js index 77e1b1fe6d..b1094b7c6d 100644 --- a/src/Position.js +++ b/src/Position.js @@ -60,6 +60,7 @@ class Position extends React.Component { delete props.target; delete props.container; delete props.containerPadding; + delete props.shouldUpdatePosition; const child = React.Children.only(children); return cloneElement( diff --git a/test/ModalSpec.js b/test/ModalSpec.js index 392cbb7074..51bd062b02 100644 --- a/test/ModalSpec.js +++ b/test/ModalSpec.js @@ -1,13 +1,16 @@ +import jQuery from 'jquery'; import React from 'react'; -import ReactDOM from 'react-dom'; import ReactTestUtils from 'react-addons-test-utils'; -import Modal from '../src/Modal'; -import { render } from './helpers'; -import jquery from 'jquery'; +import ReactDOM from 'react-dom'; import simulant from 'simulant'; + +import Modal from '../src/Modal'; + import Transition from '../src/Transition'; -let $ = componentOrNode => jquery(ReactDOM.findDOMNode(componentOrNode)); +import { render, shouldWarn } from './helpers'; + +const $ = componentOrNode => jQuery(ReactDOM.findDOMNode(componentOrNode)); describe('Modal', function () { let mountPoint; @@ -362,18 +365,15 @@ describe('Modal', function () { }); it('Should warn if the modal content is not focusable', function () { - let Dialog = ()=> ({ render(){ return
; } }); + shouldWarn('The modal content node does not accept focus'); - sinon.stub(console, 'error'); + const Dialog = () => ; render(