Skip to content

Commit

Permalink
chore: update deps and refactor a little
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisbreiding committed Oct 12, 2018
1 parent 8093f74 commit 0e20943
Show file tree
Hide file tree
Showing 12 changed files with 159 additions and 156 deletions.
15 changes: 8 additions & 7 deletions lib/test-setup.js
@@ -1,10 +1,8 @@
'use strict'

var chai = require('chai')
var jsdom = require('jsdom').jsdom
var sinonChai = require('sinon-chai')

var exposedProperties = ['window', 'navigator', 'document']
const chai = require('chai')
const jsdom = require('jsdom').jsdom
const sinonChai = require('sinon-chai')

// http://airbnb.io/enzyme/docs/guides/jsdom.html
global.document = jsdom('')
Expand All @@ -16,7 +14,6 @@ global.document.createRange = () => ({
global.window = document.defaultView
Object.keys(document.defaultView).forEach((property) => {
if (typeof global[property] === 'undefined') {
exposedProperties.push(property)
global[property] = document.defaultView[property]
}
})
Expand All @@ -26,11 +23,15 @@ global.navigator = {
}
global.Node = {}
global.requestAnimationFrame = (fn) => fn()
global.cancelAnimationFrame = () => {}

// enzyme, and therefore chai-enzyme, needs to be required after
// global.navigator is set up (https://github.com/airbnb/enzyme/issues/395)
var chaiEnzyme = require('chai-enzyme')
const enzyme = require('enzyme')
const EnzymeAdapter = require('enzyme-adapter-react-16')
const chaiEnzyme = require('chai-enzyme')

enzyme.configure({ adapter: new EnzymeAdapter() })
chai.use(chaiEnzyme())
chai.use(sinonChai)
global.expect = chai.expect
Expand Down
48 changes: 24 additions & 24 deletions package.json
Expand Up @@ -6,14 +6,12 @@
"scripts": {
"build": "node ./scripts/build-dev.js",
"build-prod": "node ./scripts/build-prod.js",
"lint": "eslint --fix src/*.js src/*.jsx",
"lint": "eslint --fix src/*.jsx",
"precommit": "npm run lint",
"prepublish": "npm run build-prod",
"pretest": "npm run lint",
"start": "node ./scripts/watch.js --port 8888",
"test": "node ./scripts/test.js",
"semantic-release":
"semantic-release pre && npm publish --access public && semantic-release post"
"semantic-release": "semantic-release pre && npm publish --access public && semantic-release post"
},
"repository": {
"type": "git",
Expand All @@ -28,36 +26,38 @@
"dist"
],
"dependencies": {
"popper.js": "^1.12.9",
"prop-types": "15.6.0"
"popper.js": "^1.14.4"
},
"devDependencies": {
"babel-eslint": "^7.2.3",
"chai": "^3.5.0",
"chai-enzyme": "0.5.1",
"babel-eslint": "^10.0.1",
"chai": "^4.2.0",
"chai-enzyme": "1.0.0-beta.1",
"condition-circle": "1.5.0",
"dont-crack": "1.2.1",
"enzyme": "2.4.1",
"eslint": "^4.12.1",
"eslint-plugin-cypress-dev": "^1.1.1",
"eslint-plugin-mocha": "^4.11.0",
"eslint-plugin-react": "^7.5.1",
"enzyme": "3.7.0",
"enzyme-adapter-react-16": "1.6.0",
"eslint": "^5.6.1",
"eslint-plugin-cypress-dev": "^1.1.2",
"eslint-plugin-mocha": "^5.2.0",
"eslint-plugin-react": "^7.11.1",
"fs-extra": "7.0.0",
"github-post-release": "1.13.1",
"jsdom": "^9.5.0",
"lodash": "^4.0.0",
"react": "15.6.2",
"react-addons-test-utils": "15.6.2",
"react-dom": "15.6.2",
"lodash": "^4.17.11",
"prop-types": "^15.6.2",
"react": "16.5.2",
"react-dom": "16.5.2",
"semantic-release": "8.2.0",
"simple-commit-message": "3.3.1",
"sinon": "^1.17.6",
"sinon-chai": "^2.8.0",
"zunder": "5.5.1"
"sinon": "^6.3.5",
"sinon-chai": "^3.2.0",
"zunder": "6.2.0"
},
"peerDependencies": {
"lodash": "^4.0.0",
"react": "^15.3.2",
"react-dom": "^15.3.2"
"lodash": "^4.17.11",
"prop-types": "^15.6.2",
"react": "^16.5.2",
"react-dom": "^16.5.2"
},
"release": {
"verifyConditions": "condition-circle",
Expand Down
14 changes: 7 additions & 7 deletions scripts/build-dev.js
@@ -1,14 +1,14 @@
var z = require('zunder')
var u = z.undertaker
var setZunderConfig = require('./set-zunder-config')
const z = require('zunder')
const u = z.undertaker
const setZunderConfig = require('./set-zunder-config')
const copyScss = require('./copy-scss')

setZunderConfig(z)

u.series(
z.applyDevEnv,
z.cleanDev,
u.parallel(
z.copyDevScripts,
z.buildDevStylesheets
)
z.copyDevScripts,
z.buildDevStylesheets,
copyScss(z.config.devDir)
)()
19 changes: 5 additions & 14 deletions scripts/build-prod.js
@@ -1,23 +1,14 @@
var fs = require('fs')
var path = require('path')
var z = require('zunder')
var u = z.undertaker
var setZunderConfig = require('./set-zunder-config')
const z = require('zunder')
const u = z.undertaker
const setZunderConfig = require('./set-zunder-config')
const copyScss = require('./copy-scss')

setZunderConfig(z)

var copyScss = () => {
var from = path.join(__dirname, '..', 'src', 'main.scss')
var to = path.join(z.config.prodDir, 'tooltip.scss')

return fs.createReadStream(from)
.pipe(fs.createWriteStream(to))
}

u.series(
z.applyProdEnv,
z.cleanProd,
z.copyProdScripts,
z.buildProdStylesheets,
copyScss
copyScss(z.config.prodDir)
)()
10 changes: 10 additions & 0 deletions scripts/copy-scss.js
@@ -0,0 +1,10 @@
const fs = require('fs')
const path = require('path')

module.exports = (dir) => () => {
const from = path.join(__dirname, '..', 'src', 'main.scss')
const to = path.join(dir, 'tooltip.scss')

return fs.createReadStream(from)
.pipe(fs.createWriteStream(to))
}
7 changes: 6 additions & 1 deletion scripts/set-zunder-config.js
Expand Up @@ -2,7 +2,12 @@ module.exports = function setZunderConfig (zunder) {
zunder.setConfig({
cacheBust: false,
prodDir: 'dist',
stylesheetName: 'tooltip.css',
stylesheets: {
'src/main.scss': {
watch: ['src/**/*.scss'],
output: 'tooltip.css',
},
},
testDir: 'dist',
})
}
22 changes: 16 additions & 6 deletions scripts/watch.js
@@ -1,17 +1,27 @@
var z = require('zunder')
var u = z.undertaker
var setZunderConfig = require('./set-zunder-config')
const fs = require('fs-extra')
const z = require('zunder')
const u = z.undertaker
const setZunderConfig = require('./set-zunder-config')
const copyScss = require('./copy-scss')

const ensureDevDir = () => fs.ensureDir(z.config.devDir)

setZunderConfig(z)

// TODO: watch scss, so it's copied on change

u.series(
z.applyDevEnv,
z.cleanDev,
ensureDevDir,
copyScss(z.config.devDir),
u.parallel(
z.watchServer,
z.watchStaticAssets,
// need these for 'design' mode, but z.watchScripts conflicts with z.watchTests
// because testDir and devDir are the same. need to fix in zunder
// z.watchServer,
// z.watchStaticAssets,
// z.watchScripts,
z.watchTests,
z.watchScripts,
z.watchStylesheets
)
)()
43 changes: 20 additions & 23 deletions src/portal-popper.jsx
Expand Up @@ -29,14 +29,10 @@ class PortalPopper extends Component {
className: '',
}

constructor (...props) {
super(...props)

this.state = {
arrowProps: initialArrowProps,
popperProps: initialPopperProps,
flipped: false,
}
state = {
arrowProps: initialArrowProps,
popperProps: initialPopperProps,
flipped: false,
}

render () {
Expand All @@ -45,32 +41,33 @@ class PortalPopper extends Component {
const flippedClass = this.state.flipped ? ` ${prefix}-flipped` : ''

return (
<Portal
ref='portal'
className={`${className} ${prefix}-${placement}${flippedClass}`}
style={this._getPopperStyle()}
appendTo={this.props.appendTo}
>
<span>{title}</span>
<Portal appendTo={this.props.appendTo}>
<div
ref='arrow'
className={`${prefix}-arrow`}
style={this._getArrowStyle()}
ref={(node) => this.portalNode = node}
className={`${className} ${prefix}-${placement}${flippedClass}`}
style={this._getPopperStyle()}
>
<svg xmlns='http://www.w3.org/2000/svg' version='1.1'>
<polygon points='5,0 10,5 5,10 0,5' />
</svg>
<span>{title}</span>
<div
ref={(node) => this.arrowNode = node}
className={`${prefix}-arrow`}
style={this._getArrowStyle()}
>
<svg xmlns='http://www.w3.org/2000/svg' version='1.1'>
<polygon points='5,0 10,5 5,10 0,5' />
</svg>
</div>
</div>
</Portal>
)
}

componentDidMount () {
this.popper = new this.props.Popper(this.props.getTargetNode(), this.refs.portal.domNode, {
this.popper = new this.props.Popper(this.props.getTargetNode(), this.portalNode, {
content: this.props.title,
placement: this.props.placement,
modifiers: {
arrow: { element: this.refs.arrow },
arrow: { element: this.arrowNode },
preventOverflow: {
boundariesElement: this.props.boundary,
},
Expand Down

0 comments on commit 0e20943

Please sign in to comment.