From 282455b930d5ac757fdbc166465e0335dc5d15dd Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 28 Jun 2017 18:28:58 -0400 Subject: [PATCH 1/9] removing createClass and making it ES6 compatible --- src/main.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main.js b/src/main.js index 5bca4ac..fcb3938 100644 --- a/src/main.js +++ b/src/main.js @@ -1,36 +1,36 @@ -import React from 'react'; +import React, { Component, PropTypes } from 'react'; import Spinner from 'spin.js'; -const ReactSpinner = React.createClass({ +class ReactSpinner extends Component { propTypes: { - config: React.PropTypes.object, - stopped: React.PropTypes.bool - }, + config: PropTypes.object, + stopped: PropTypes.bool + } - componentDidMount: function() { + componentDidMount() { this.spinner = new Spinner(this.props.config); if (!this.props.stopped) { this.spinner.spin(this.refs.container); } - }, + } - componentWillReceiveProps: function(newProps) { + componentWillReceiveProps(newProps) { if (newProps.stopped === true && !this.props.stopped) { this.spinner.stop(); } else if (!newProps.stopped && this.props.stopped === true) { this.spinner.spin(this.refs.container); } - }, + } - componentWillUnmount: function() { + componentWillUnmount() { this.spinner.stop(); - }, + } - render: function() { + render() { return ( ); } -}); +} export default ReactSpinner; From a0100bb0e67372ac133d131c52ba7916c62c5c6f Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 28 Jun 2017 18:31:22 -0400 Subject: [PATCH 2/9] Setting refs correctly according to facebook https://facebook.github.io/react/docs/refs-and-the-dom.html --- src/main.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main.js b/src/main.js index fcb3938..40a6bb4 100644 --- a/src/main.js +++ b/src/main.js @@ -10,7 +10,7 @@ class ReactSpinner extends Component { componentDidMount() { this.spinner = new Spinner(this.props.config); if (!this.props.stopped) { - this.spinner.spin(this.refs.container); + this.spinner.spin(this.container); } } @@ -18,7 +18,7 @@ class ReactSpinner extends Component { if (newProps.stopped === true && !this.props.stopped) { this.spinner.stop(); } else if (!newProps.stopped && this.props.stopped === true) { - this.spinner.spin(this.refs.container); + this.spinner.spin(this.container); } } @@ -28,7 +28,7 @@ class ReactSpinner extends Component { render() { return ( - + (this.container = container)} /> ); } } From bc4496feca447b0ff893ed5db63245d14509134e Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 28 Jun 2017 18:55:11 -0400 Subject: [PATCH 3/9] adding react dom --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 974f909..36e0f4e 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "mocha": "^2.4.5", "react": "^15.0.0", "react-addons-test-utils": "^15.0.0", + "react-dom": "^15.6.1", "rimraf": "^2.5.2", "webpack": "^1.12.14" }, From f7bc7f8566bd5c90bd9d2b4409274c0f75cfe1fe Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 28 Jun 2017 19:14:42 -0400 Subject: [PATCH 4/9] running an old version of firefox in travis which doesn't recognize "class" --- .travis.yml | 2 +- package.json | 2 +- src/__tests__/main.spec.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index e79f833..204b152 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,7 +20,7 @@ before_script: script: # --silent surpresses that big ol' NPM script error - - npm run-script lint --silent + - npm run-script lint --silent - npm run-script test --silent cache: diff --git a/package.json b/package.json index 36e0f4e..8c1f5ce 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "expect": "^1.14.0", "karma": "^0.13.21", "karma-chrome-launcher": "^0.2.2", - "karma-firefox-launcher": "^0.1.7", + "karma-firefox-launcher": "^1.0.1", "karma-mocha": "^0.2.2", "karma-mocha-reporter": "^1.2.3", "karma-sourcemap-loader": "^0.3.7", diff --git a/src/__tests__/main.spec.js b/src/__tests__/main.spec.js index b42efce..f11e873 100644 --- a/src/__tests__/main.spec.js +++ b/src/__tests__/main.spec.js @@ -1,6 +1,6 @@ import expect from 'expect'; import React from 'react'; -import TestUtils from 'react-addons-test-utils'; +import TestUtils from 'react-dom/test-utils'; import ReactSpinner from '../main'; From 561b2b50fa6ce38408407b46fdd7ff99097e809f Mon Sep 17 00:00:00 2001 From: paul Date: Thu, 29 Jun 2017 11:42:33 -0400 Subject: [PATCH 5/9] adding the latest firefox version --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 204b152..5a837d9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,6 +32,7 @@ cache: env: - CXX=g++-4.8 addons: + firefox: latest apt: sources: - ubuntu-toolchain-r-test From 34c9672fc57144396d9e018f8420f5391dbd9347 Mon Sep 17 00:00:00 2001 From: paul Date: Mon, 31 Jul 2017 10:06:06 -0400 Subject: [PATCH 6/9] publishing new npm --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 8c1f5ce..9bb0e3d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "react-spin", - "version": "0.6.2", + "name": "react-tiny-spin", + "version": "0.6.3", "description": "A React component wrapper for spin.js", "main": "lib/main.js", "scripts": { @@ -13,7 +13,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/thomasboyt/react-spin" + "url": "https://github.com/captDaylight/react-tiny-spin" }, "devDependencies": { "babel-cli": "^6.6.0", From b912825965bfd25c70f2772da44f71b8c9b8117b Mon Sep 17 00:00:00 2001 From: paul Date: Mon, 31 Jul 2017 17:33:24 -0400 Subject: [PATCH 7/9] update the docs --- README.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 83d9567..49b71e0 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,24 @@ # react-spin -[![Build Status](https://travis-ci.org/thomasboyt/react-spin.svg?branch=master)](https://travis-ci.org/thomasboyt/react-spin) [![npm](https://img.shields.io/npm/v/react-spin.svg)](https://www.npmjs.com/package/react-spin) - Tiny React wrapper around [spin.js](http://fgnass.github.io/spin.js/). ## Usage ```javascript import React from 'react'; -import Spinner from 'react-spin'; +import Spinner from 'react-tiny-spin'; + +const spinCfg = { + width: 12, + radius: 35, + // ... +}; -const MyComponent = React.createClass({ - render: function() { - var spinCfg = { - width: 12, - radius: 35, - // ... - }; +class MyComponent extends React.Component { + render() { return } -}); +} ``` ## Properties From e2186fe4e2c0365495a463ee8ab24d1ab6c32bef Mon Sep 17 00:00:00 2001 From: Sean McCambridge Date: Wed, 2 Aug 2017 09:54:31 -0400 Subject: [PATCH 8/9] Update README.md title of repo was react-spin ;) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 49b71e0..875811e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# react-spin +# react-tiny-spin Tiny React wrapper around [spin.js](http://fgnass.github.io/spin.js/). From 7742a079a215486f0f909c492b9ef09289734628 Mon Sep 17 00:00:00 2001 From: arthurdenner Date: Sun, 8 Oct 2017 08:19:01 -0300 Subject: [PATCH 9/9] Removing PropTypes warning and upgrading to React v16 --- .babelrc | 2 +- package.json | 9 +++++---- src/main.js | 9 +++++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.babelrc b/.babelrc index 554d2ac..e05fb29 100644 --- a/.babelrc +++ b/.babelrc @@ -1,5 +1,5 @@ { - "presets": ["react"], + "presets": ["react", "stage-1"], "plugins": [ ["transform-es2015-modules-commonjs", { "loose": true }], "transform-es2015-block-scoping", diff --git a/package.json b/package.json index 9bb0e3d..fcd2b1f 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "A React component wrapper for spin.js", "main": "lib/main.js", "scripts": { - "test": "karma start --single-run --browsers Firefox", + "test": "karma start --single-run --browsers Chrome", "lint": "eslint src/", "build": "rimraf lib && babel src --out-dir lib --ignore *.spec.js", "prepublish": "npm run build" @@ -25,6 +25,7 @@ "babel-plugin-transform-es2015-modules-commonjs": "^6.7.0", "babel-plugin-transform-es3-property-literals": "^6.5.0", "babel-preset-react": "^6.5.0", + "babel-preset-stage-1": "^6.24.1", "eslint": "^1.10.3", "eslint-plugin-react": "^4.1.0", "expect": "^1.14.0", @@ -36,9 +37,9 @@ "karma-sourcemap-loader": "^0.3.7", "karma-webpack": "^1.7.0", "mocha": "^2.4.5", - "react": "^15.0.0", - "react-addons-test-utils": "^15.0.0", - "react-dom": "^15.6.1", + "prop-types": "^15.6.0", + "react": "^16.0.0", + "react-dom": "^16.0.0", "rimraf": "^2.5.2", "webpack": "^1.12.14" }, diff --git a/src/main.js b/src/main.js index 40a6bb4..363cd09 100644 --- a/src/main.js +++ b/src/main.js @@ -1,11 +1,12 @@ -import React, { Component, PropTypes } from 'react'; +import React, { PureComponent } from 'react'; +import PropTypes from 'prop-types'; import Spinner from 'spin.js'; -class ReactSpinner extends Component { - propTypes: { +class ReactSpinner extends PureComponent { + static propTypes = { config: PropTypes.object, stopped: PropTypes.bool - } + }; componentDidMount() { this.spinner = new Spinner(this.props.config);