From 10934c6b6d343e83a749e4553485c2c893d09e04 Mon Sep 17 00:00:00 2001 From: "xiaohe.wp" Date: Sun, 15 Oct 2017 17:13:44 +0800 Subject: [PATCH 1/4] =?UTF-8?q?React=2015.x=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.json | 1 + .travis.yml | 15 +++++-- demo/CarouselDemo.jsx | 5 +-- demo/index.js | 6 ++- package.json | 101 ++++++++++++++++++++++-------------------- src/Carousel.jsx | 52 ++++++++++------------ src/index.js | 2 +- 7 files changed, 96 insertions(+), 86 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index ee92fe4..f2a5d26 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -3,6 +3,7 @@ "plugins": [ "react" ], + "parser": "babel-eslint", "env": { "browser": true }, diff --git a/.travis.yml b/.travis.yml index 6fc0e4a..5ed592e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,12 +2,17 @@ language: node_js sudo: false +addons: + apt: + packages: + - xvfb + notification: email: - wsj7552715@hotmail.com node_js: -- 4.0.0 +- 6.9.0 before_install: - | @@ -17,6 +22,11 @@ before_install: exit fi phantomjs --version +install: + - export DISPLAY=':99.0' + - Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & + - npm install + script: - | @@ -25,7 +35,6 @@ script: else npm run $TEST_TYPE fi - env: matrix: - TEST_TYPE=test @@ -34,4 +43,4 @@ env: matrix: allow_failures: - - env: "TEST_TYPE=saucelabs" + - env: "TEST_TYPE=saucelabs" \ No newline at end of file diff --git a/demo/CarouselDemo.jsx b/demo/CarouselDemo.jsx index 7705dce..d26762b 100644 --- a/demo/CarouselDemo.jsx +++ b/demo/CarouselDemo.jsx @@ -6,9 +6,8 @@ * All rights reserved. */ -const React = require('react'); - -const Carousel = require('../src'); +import * as React from 'react'; +import Carousel from '../src'; class Demo extends React.Component { diff --git a/demo/index.js b/demo/index.js index e6946a2..e8e97e6 100644 --- a/demo/index.js +++ b/demo/index.js @@ -6,5 +6,7 @@ * All rights reserved. */ - var Demo = require('./CarouselDemo'); - ReactDOM.render(, document.getElementById('UXCoreDemo')); +const Demo = require('./CarouselDemo'); + +ReactDOM.render(, document.getElementById('UXCoreDemo')); + diff --git a/package.json b/package.json index f80cd62..5b6a214 100644 --- a/package.json +++ b/package.json @@ -1,51 +1,54 @@ { - "name": "uxcore-carousel", - "version": "0.3.6", - "description": "uxcore-carousel component for uxcore.", - "repository": "https://github.com/uxcore/uxcore-carousel.git", - "author": "eternaslky", - "main": "build/index.js", - "scripts": { - "start": "uxcore-tools run start", - "server": "uxcore-tools run server", - "lint": "uxcore-tools run lint", - "build": "uxcore-tools run build", - "test": "uxcore-tools run test", - "coverage": "uxcore-tools run coverage", - "pub": "uxcore-tools run pub", - "dep": "uxcore-tools run dep", - "tnpm-dep": "uxcore-tools run tnpm-dep", - "chrome": "uxcore-tools run chrome", - "browsers": "uxcore-tools run browsers", - "saucelabs": "uxcore-tools run saucelabs", - "update": "uxcore-tools run update" - }, - "bugs": { - "url": "http://github.com/uxcore/uxcore-carousel/issues" - }, - "keywords": [ - "react", - "react-component", - "uxcore-carousel", - "Carousel", - "" - ], - "devDependencies": { - "console-polyfill": "^0.2.2", - "es5-shim": "^4.5.8", - "expect.js": "~0.3.1", - "kuma-base": "1.x", - "react": "0.14.x", - "react-addons-test-utils": "0.14.x", - "react-dom": "0.14.x", - "uxcore-kuma": "2.x", - "uxcore-tools": "0.2.x" - }, - "dependencies": { - "classnames": "^2.1.2", - "object-assign": "^4.0.0", - "react-slick": "0.14.8" - }, - "contributors": [], - "license": "MIT" + "name": "uxcore-carousel", + "version": "0.3.6", + "description": "uxcore-carousel component for uxcore.", + "repository": "https://github.com/uxcore/uxcore-carousel.git", + "author": "eternaslky", + "main": "build/index.js", + "scripts": { + "start": "uxcore-tools run start", + "server": "uxcore-tools run server", + "lint": "uxcore-tools run lint", + "build": "uxcore-tools run build", + "test": "uxcore-tools run test", + "coverage": "uxcore-tools run coverage", + "pub": "uxcore-tools run pub", + "dep": "uxcore-tools run dep", + "tnpm-dep": "uxcore-tools run tnpm-dep", + "chrome": "uxcore-tools run chrome", + "browsers": "uxcore-tools run browsers", + "saucelabs": "uxcore-tools run saucelabs", + "update": "uxcore-tools run update", + "tnpm-update": "uxcore-tools run tnpm-update" + }, + "bugs": { + "url": "http://github.com/uxcore/uxcore-carousel/issues" + }, + "keywords": [ + "react", + "react-component", + "uxcore-carousel", + "Carousel", + "" + ], + "devDependencies": { + "console-polyfill": "^0.2.2", + "enzyme": "^3.0.0", + "enzyme-adapter-react-15": "^1.0.0", + "es5-shim": "^4.5.8", + "expect.js": "~0.3.1", + "kuma-base": "1.x", + "react": "15.x", + "react-dom": "15.x", + "react-test-renderer": "15.x", + "uxcore-kuma": "*", + "uxcore-tools": "0.2.x" + }, + "dependencies": { + "classnames": "^2.1.2", + "prop-types": "15.x", + "react-slick": "0.14.8" + }, + "contributors": [], + "license": "MIT" } \ No newline at end of file diff --git a/src/Carousel.jsx b/src/Carousel.jsx index 4c72bef..9904aa6 100644 --- a/src/Carousel.jsx +++ b/src/Carousel.jsx @@ -9,6 +9,11 @@ // matchMedia polyfill for // https://github.com/WickyNilliams/enquire.js/issues/82 +import classnames from 'classnames'; +import * as React from 'react'; +import PropTypes from 'prop-types'; +import Slick from 'react-slick'; + if (typeof window !== 'undefined') { const matchMediaPolyfill = function matchMediaPolyfill() { return { @@ -22,12 +27,24 @@ if (typeof window !== 'undefined') { window.matchMedia = window.matchMedia || matchMediaPolyfill; } -const Slick = require('react-slick'); -const classnames = require('classnames'); -const React = require('react'); - - class Carousel extends React.Component { + static displayName = 'Carousel'; + static propTypes = { + centerDots: PropTypes.bool, + children: PropTypes.node, + }; + static defaultProps = { + prefixCls: 'kuma-carousel', + largeArrowsAndDots: false, + dots: true, + cssEase: 'ease-out', + infinite: true, + speed: 500, + slidesToShow: 1, + centerDots: true, + slidesToScroll: 1, + arrows: 'hover', + }; processChildren() { const me = this; @@ -40,8 +57,8 @@ class Carousel extends React.Component { render() { const me = this; - const { className, prefixCls, centerDots, largeArrowsAndDots, ...props } = me.props; + props.arrows = !!props.arrows; return ( @@ -62,26 +79,5 @@ class Carousel extends React.Component { } } -Carousel.defaultProps = { - prefixCls: 'kuma-carousel', - largeArrowsAndDots: false, - dots: true, - cssEase: 'ease-out', - infinite: true, - speed: 500, - slidesToShow: 1, - centerDots: true, - slidesToScroll: 1, - arrows: 'hover' -}; - - -// http://facebook.github.io/react/docs/reusable-components.html -Carousel.propTypes = { - centerDots: React.PropTypes.bool, - children: React.PropTypes.node, -}; - -Carousel.displayName = 'Carousel'; +export default Carousel; -module.exports = Carousel; diff --git a/src/index.js b/src/index.js index ca23f4a..e5187b1 100644 --- a/src/index.js +++ b/src/index.js @@ -6,4 +6,4 @@ * All rights reserved. */ -module.exports = require('./Carousel'); \ No newline at end of file +module.exports = require('./Carousel'); From bf5f79760d19272cec0a7dde751542b3031a3c5d Mon Sep 17 00:00:00 2001 From: "xiaohe.wp" Date: Mon, 16 Oct 2017 10:30:34 +0800 Subject: [PATCH 2/4] =?UTF-8?q?src/index.js=E4=BD=BF=E7=94=A8ES6=20modules?= =?UTF-8?q?=E8=AF=AD=E6=B3=95=E6=9B=BF=E4=BB=A3commonjs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index e5187b1..eac93a2 100644 --- a/src/index.js +++ b/src/index.js @@ -6,4 +6,6 @@ * All rights reserved. */ -module.exports = require('./Carousel'); +import Carousel from './Carousel'; + +export default Carousel; From 50915d57d9fe4b4857290fd96c8a4beef1e640aa Mon Sep 17 00:00:00 2001 From: "xiaohe.wp" Date: Mon, 16 Oct 2017 15:46:10 +0800 Subject: [PATCH 3/4] =?UTF-8?q?import=20*=20as=20React=E6=94=B9=E4=B8=BAim?= =?UTF-8?q?port=20React=EF=BC=9B=E4=BF=AE=E5=A4=8Dlint=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- demo/CarouselDemo.jsx | 4 ++-- demo/index.js | 5 +++-- src/Carousel.jsx | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/demo/CarouselDemo.jsx b/demo/CarouselDemo.jsx index d26762b..ca591eb 100644 --- a/demo/CarouselDemo.jsx +++ b/demo/CarouselDemo.jsx @@ -6,7 +6,7 @@ * All rights reserved. */ -import * as React from 'react'; +import React from 'react'; import Carousel from '../src'; class Demo extends React.Component { @@ -47,4 +47,4 @@ class Demo extends React.Component { } } -module.exports = Demo; +export default Demo; diff --git a/demo/index.js b/demo/index.js index e8e97e6..516baa8 100644 --- a/demo/index.js +++ b/demo/index.js @@ -6,7 +6,8 @@ * All rights reserved. */ -const Demo = require('./CarouselDemo'); +import React from 'react'; +import ReactDOM from 'react-dom'; +import Demo from './CarouselDemo'; ReactDOM.render(, document.getElementById('UXCoreDemo')); - diff --git a/src/Carousel.jsx b/src/Carousel.jsx index 9904aa6..df1a12f 100644 --- a/src/Carousel.jsx +++ b/src/Carousel.jsx @@ -10,7 +10,7 @@ // https://github.com/WickyNilliams/enquire.js/issues/82 import classnames from 'classnames'; -import * as React from 'react'; +import React from 'react'; import PropTypes from 'prop-types'; import Slick from 'react-slick'; From 0247ad8a4ff05bcb08c6e27c46b7b3e7ee627a97 Mon Sep 17 00:00:00 2001 From: "xiaohe.wp" Date: Mon, 16 Oct 2017 17:48:19 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dtest=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E7=BC=BA=E5=A4=B1=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 5b6a214..a705f92 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "expect.js": "~0.3.1", "kuma-base": "1.x", "react": "15.x", + "react-addons-test-utils": "^15.6.2", "react-dom": "15.x", "react-test-renderer": "15.x", "uxcore-kuma": "*", @@ -51,4 +52,4 @@ }, "contributors": [], "license": "MIT" -} \ No newline at end of file +}