Skip to content

Commit 34a7a7d

Browse files
author
Einar Löve
authored
Publish with compiled files at root (#29)
* Build to project root and deploy only those * Remove PropTypes.js * Remove main field in package.json since index is implicit * Add unpkg field to use umd.js as default
1 parent a6fee7f commit 34a7a7d

10 files changed

+32
-23
lines changed

.gitignore

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
coverage/
2-
lib/
32
node_modules/
3+
index.js
4+
Provider.js
5+
connect.js
6+
utils.js
7+
umd.js

package.json

+11-5
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,16 @@
66
"license": "MIT",
77
"scripts": {
88
"lint": "eslint src examples",
9-
"test": "node -r babel-register $(npm bin)/tape src/**/*-test.js",
9+
"test": "node -r babel-register $(npm bin)/tape tests/**/*-test.js",
1010
"test:coverage": "node -r babel-register $(npm bin)/isparta cover $(npm bin)/tape -- src/**/*-test.js",
11-
"prepublish": "npm run build",
12-
"build": "babel src --ignore tests --out-dir lib",
11+
"clean": "node -e 'console.log(require(\"./package\").files.join(\"\\n\"))' | xargs rm",
12+
"build": "babel src --ignore tests --out-dir .",
1313
"postbuild": "node -r babel-register scripts/build-umd.js",
14+
"prepublish": "npm run build",
15+
"postpublish": "npm run clean",
1416
"start": "node -r babel-register examples/server"
1517
},
16-
"main": "./lib/index.js",
18+
"unpkg": "umd.js",
1719
"repository": {
1820
"type": "git",
1921
"url": "https://github.com/unfold/react-firebase.git"
@@ -30,7 +32,11 @@
3032
"extends": "@unfold/eslint-config"
3133
},
3234
"files": [
33-
"lib"
35+
"index.js",
36+
"Provider.js",
37+
"connect.js",
38+
"utils.js",
39+
"umd.js"
3440
],
3541
"keywords": [
3642
"react",

scripts/build-umd.js

+7-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import webpack from 'webpack'
44

55
webpack({
6-
entry: './lib',
6+
entry: './src',
77
output: {
8-
filename: './lib/umd.js',
8+
filename: './umd.js',
99
libraryTarget: 'umd',
1010
library: 'reactFirebase',
1111
},
@@ -26,6 +26,11 @@ webpack({
2626
commonjs2: 'firebase/app',
2727
},
2828
},
29+
module: {
30+
loaders: [
31+
{ test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' },
32+
],
33+
},
2934
plugins: [
3035
new webpack.optimize.UglifyJsPlugin(),
3136
],

src/PropTypes.js

-5
This file was deleted.

src/Provider.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
import { Component, PropTypes, Children } from 'react'
2-
import { firebaseAppShape } from './PropTypes'
32

43
export default class Provider extends Component {
54
static propTypes = {
6-
firebaseApp: firebaseAppShape,
5+
firebaseApp: PropTypes.object.isRequired,
76
children: PropTypes.element.isRequired,
87
}
98

109
static childContextTypes = {
11-
firebaseApp: firebaseAppShape,
10+
firebaseApp: PropTypes.object,
1211
}
1312

1413
getChildContext() {

src/connect.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import { Component, createElement } from 'react'
1+
import { Component, PropTypes, createElement } from 'react'
22
import invariant from 'invariant'
33
import firebase from 'firebase/app'
44
import 'firebase/database'
5-
import { firebaseAppShape } from './PropTypes'
65
import { createQueryRef, getDisplayName, mapValues, pickBy } from './utils'
76

87
const defaultMergeProps = (ownProps, firebaseProps) => ({
@@ -134,7 +133,9 @@ export default (mapFirebaseToProps = defaultMapFirebaseToProps, mergeProps = def
134133
FirebaseConnect.defaultProps = Component.defaultProps
135134
FirebaseConnect.displayName = `FirebaseConnect(${getDisplayName(WrappedComponent)})`
136135
FirebaseConnect.contextTypes = FirebaseConnect.propTypes = {
137-
firebaseApp: firebaseAppShape,
136+
firebaseApp: PropTypes.shape({
137+
database: PropTypes.func.isRequired, // eslint-disable-line react/no-unused-prop-types
138+
}),
138139
}
139140

140141
return FirebaseConnect

src/index.js

-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
export * as PropTypes from './PropTypes'
21
export Provider from './Provider'
32
export connect from './connect'

src/tests/Provider-test.js renamed to tests/Provider-test.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import 'jsdom-global/register'
33
import React, { Component } from 'react'
44
import test from 'tape'
55
import { findRenderedComponentWithType, renderIntoDocument } from 'react-addons-test-utils'
6-
import connect from '../connect'
7-
import Provider from '../Provider'
6+
import connect from '../src/connect'
7+
import Provider from '../src/Provider'
88
import { createMockApp } from './helpers'
99

1010
test('Should use firebaseApp from context if provided', assert => {

src/tests/connect-test.js renamed to tests/connect-test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import firebase from 'firebase/app'
66
import test from 'tape'
77
import { findDOMNode, unmountComponentAtNode } from 'react-dom'
88
import { findRenderedComponentWithType, renderIntoDocument } from 'react-addons-test-utils'
9-
import connect from '../connect'
9+
import connect from '../src/connect'
1010
import { createMockApp, createMockSnapshot } from './helpers'
1111

1212
const renderStub = ({ mapFirebaseToProps, mergeProps, firebaseApp }, props) => {
File renamed without changes.

0 commit comments

Comments
 (0)