mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
merge master into next-export
This commit is contained in:
commit
98ed666ca6
|
@ -4,15 +4,31 @@ import { StyleSheetServer } from 'aphrodite'
|
||||||
export default class MyDocument extends Document {
|
export default class MyDocument extends Document {
|
||||||
static async getInitialProps ({ renderPage }) {
|
static async getInitialProps ({ renderPage }) {
|
||||||
const { html, css } = StyleSheetServer.renderStatic(() => renderPage())
|
const { html, css } = StyleSheetServer.renderStatic(() => renderPage())
|
||||||
return { ...html, css }
|
const ids = css.renderedClassNames
|
||||||
|
return { ...html, css, ids }
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor (props) {
|
||||||
|
super(props)
|
||||||
|
/* Take the renderedClassNames from aphrodite (as generated
|
||||||
|
in getInitialProps) and assign them to __NEXT_DATA__ so that they
|
||||||
|
are accessible to the client for rehydration. */
|
||||||
|
const { __NEXT_DATA__, ids } = props
|
||||||
|
if (ids) {
|
||||||
|
__NEXT_DATA__.ids = this.props.ids
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
|
/* Make sure to use data-aphrodite attribute in the style tag here
|
||||||
|
so that aphrodite knows which style tag it's in control of when
|
||||||
|
the client goes to render styles. If you don't you'll get a second
|
||||||
|
<style> tag */
|
||||||
return (
|
return (
|
||||||
<html>
|
<html>
|
||||||
<Head>
|
<Head>
|
||||||
<title>My page</title>
|
<title>My page</title>
|
||||||
<style dangerouslySetInnerHTML={{ __html: this.props.css.content }} />
|
<style data-aphrodite dangerouslySetInnerHTML={{ __html: this.props.css.content }} />
|
||||||
</Head>
|
</Head>
|
||||||
<body>
|
<body>
|
||||||
<Main />
|
<Main />
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { StyleSheet, css } from 'aphrodite'
|
import { StyleSheet, css } from 'aphrodite'
|
||||||
|
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
|
/* StyleSheet.rehydrate takes an array of rendered classnames,
|
||||||
|
and ensures that the client side render doesn't generate
|
||||||
|
duplicate style definitions in the <style data-aphrodite> tag */
|
||||||
|
StyleSheet.rehydrate(window.__NEXT_DATA__.ids)
|
||||||
|
}
|
||||||
|
|
||||||
export default () => (
|
export default () => (
|
||||||
<div className={css(styles.root)}>
|
<div className={css(styles.root)}>
|
||||||
<h1 className={css(styles.title)}>My page</h1>
|
<h1 className={css(styles.title)}>My page</h1>
|
||||||
|
|
36
examples/with-apollo-and-redux/lib/initApollo.js
Normal file
36
examples/with-apollo-and-redux/lib/initApollo.js
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
import { ApolloClient, createNetworkInterface } from 'react-apollo'
|
||||||
|
import fetch from 'isomorphic-fetch'
|
||||||
|
|
||||||
|
let apolloClient = null
|
||||||
|
|
||||||
|
// Polyfill fetch() on the server (used by apollo-client)
|
||||||
|
if (!process.browser) {
|
||||||
|
global.fetch = fetch
|
||||||
|
}
|
||||||
|
|
||||||
|
function create () {
|
||||||
|
return new ApolloClient({
|
||||||
|
ssrMode: !process.browser, // Disables forceFetch on the server (so queries are only run once)
|
||||||
|
networkInterface: createNetworkInterface({
|
||||||
|
uri: 'https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn', // Server URL (must be absolute)
|
||||||
|
opts: { // Additional fetch() options like `credentials` or `headers`
|
||||||
|
credentials: 'same-origin'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function initApollo () {
|
||||||
|
// Make sure to create a new client for every server-side request so that data
|
||||||
|
// isn't shared between connections (which would be bad)
|
||||||
|
if (!process.browser) {
|
||||||
|
return create()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reuse client on the client-side
|
||||||
|
if (!apolloClient) {
|
||||||
|
apolloClient = create()
|
||||||
|
}
|
||||||
|
|
||||||
|
return apolloClient
|
||||||
|
}
|
|
@ -1,28 +0,0 @@
|
||||||
import { ApolloClient, createNetworkInterface } from 'react-apollo'
|
|
||||||
|
|
||||||
let apolloClient = null
|
|
||||||
|
|
||||||
function _initClient (headers, initialState) {
|
|
||||||
return new ApolloClient({
|
|
||||||
initialState,
|
|
||||||
ssrMode: !process.browser,
|
|
||||||
dataIdFromObject: result => result.id || null,
|
|
||||||
networkInterface: createNetworkInterface({
|
|
||||||
uri: 'https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn',
|
|
||||||
opts: {
|
|
||||||
credentials: 'same-origin'
|
|
||||||
// Pass headers here if your graphql server requires them
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export const initClient = (headers, initialState = {}) => {
|
|
||||||
if (!process.browser) {
|
|
||||||
return _initClient(headers, initialState)
|
|
||||||
}
|
|
||||||
if (!apolloClient) {
|
|
||||||
apolloClient = _initClient(headers, initialState)
|
|
||||||
}
|
|
||||||
return apolloClient
|
|
||||||
}
|
|
39
examples/with-apollo-and-redux/lib/initRedux.js
Normal file
39
examples/with-apollo-and-redux/lib/initRedux.js
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
import { createStore, combineReducers, applyMiddleware, compose } from 'redux'
|
||||||
|
import reducers from './reducers'
|
||||||
|
|
||||||
|
let reduxStore = null
|
||||||
|
|
||||||
|
// Get the Redux DevTools extension and fallback to a no-op function
|
||||||
|
let devtools = f => f
|
||||||
|
if (process.browser && window.__REDUX_DEVTOOLS_EXTENSION__) {
|
||||||
|
devtools = window.__REDUX_DEVTOOLS_EXTENSION__()
|
||||||
|
}
|
||||||
|
|
||||||
|
function create (apollo, initialState = {}) {
|
||||||
|
return createStore(
|
||||||
|
combineReducers({ // Setup reducers
|
||||||
|
...reducers,
|
||||||
|
apollo: apollo.reducer()
|
||||||
|
}),
|
||||||
|
initialState, // Hydrate the store with server-side data
|
||||||
|
compose(
|
||||||
|
applyMiddleware(apollo.middleware()), // Add additional middleware here
|
||||||
|
devtools
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function initRedux (apollo, initialState) {
|
||||||
|
// Make sure to create a new store for every server-side request so that data
|
||||||
|
// isn't shared between connections (which would be bad)
|
||||||
|
if (!process.browser) {
|
||||||
|
return create(apollo, initialState)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reuse store on the client-side
|
||||||
|
if (!reduxStore) {
|
||||||
|
reduxStore = create(apollo, initialState)
|
||||||
|
}
|
||||||
|
|
||||||
|
return reduxStore
|
||||||
|
}
|
|
@ -1,18 +0,0 @@
|
||||||
import { createStore } from 'redux'
|
|
||||||
import getReducer from './reducer'
|
|
||||||
import createMiddleware from './middleware'
|
|
||||||
|
|
||||||
let reduxStore = null
|
|
||||||
|
|
||||||
export const initStore = (client, initialState) => {
|
|
||||||
let store
|
|
||||||
if (!process.browser || !reduxStore) {
|
|
||||||
const middleware = createMiddleware(client.middleware())
|
|
||||||
store = createStore(getReducer(client), initialState, middleware)
|
|
||||||
if (!process.browser) {
|
|
||||||
return store
|
|
||||||
}
|
|
||||||
reduxStore = store
|
|
||||||
}
|
|
||||||
return reduxStore
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
import { applyMiddleware, compose } from 'redux'
|
|
||||||
|
|
||||||
export default function createMiddleware (clientMiddleware) {
|
|
||||||
const middleware = applyMiddleware(clientMiddleware)
|
|
||||||
if (process.browser && window.devToolsExtension) {
|
|
||||||
return compose(middleware, window.devToolsExtension())
|
|
||||||
}
|
|
||||||
return middleware
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
import { combineReducers } from 'redux'
|
|
||||||
|
|
||||||
export default function getReducer (client) {
|
|
||||||
return combineReducers({
|
|
||||||
apollo: client.reducer()
|
|
||||||
})
|
|
||||||
}
|
|
12
examples/with-apollo-and-redux/lib/reducers.js
Normal file
12
examples/with-apollo-and-redux/lib/reducers.js
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
export default {
|
||||||
|
example: (state = {}, { type, payload }) => {
|
||||||
|
switch (type) {
|
||||||
|
case 'EXAMPLE_ACTION':
|
||||||
|
return {
|
||||||
|
...state
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return state
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,56 +1,75 @@
|
||||||
import 'isomorphic-fetch'
|
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
|
import PropTypes from 'prop-types'
|
||||||
import { ApolloProvider, getDataFromTree } from 'react-apollo'
|
import { ApolloProvider, getDataFromTree } from 'react-apollo'
|
||||||
import { initClient } from './initClient'
|
import initApollo from './initApollo'
|
||||||
import { initStore } from './initStore'
|
import initRedux from './initRedux'
|
||||||
|
|
||||||
export default (Component) => (
|
export default ComposedComponent => {
|
||||||
class extends React.Component {
|
return class WithData extends React.Component {
|
||||||
static async getInitialProps (ctx) {
|
static displayName = `WithData(${ComposedComponent.displayName})`
|
||||||
const headers = ctx.req ? ctx.req.headers : {}
|
static propTypes = {
|
||||||
const client = initClient(headers)
|
serverState: PropTypes.object.isRequired
|
||||||
const store = initStore(client, client.initialState)
|
|
||||||
|
|
||||||
const props = {
|
|
||||||
url: { query: ctx.query, pathname: ctx.pathname },
|
|
||||||
...await (Component.getInitialProps ? Component.getInitialProps(ctx) : {})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static async getInitialProps (ctx) {
|
||||||
|
let serverState = {}
|
||||||
|
|
||||||
|
// Evaluate the composed component's getInitialProps()
|
||||||
|
let composedInitialProps = {}
|
||||||
|
if (ComposedComponent.getInitialProps) {
|
||||||
|
composedInitialProps = await ComposedComponent.getInitialProps(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Run all graphql queries in the component tree
|
||||||
|
// and extract the resulting data
|
||||||
if (!process.browser) {
|
if (!process.browser) {
|
||||||
|
const apollo = initApollo()
|
||||||
|
const redux = initRedux(apollo)
|
||||||
|
// Provide the `url` prop data in case a graphql query uses it
|
||||||
|
const url = {query: ctx.query, pathname: ctx.pathname}
|
||||||
|
|
||||||
|
// Run all graphql queries
|
||||||
const app = (
|
const app = (
|
||||||
<ApolloProvider client={client} store={store}>
|
// No need to use the Redux Provider
|
||||||
<Component {...props} />
|
// because Apollo sets up the store for us
|
||||||
|
<ApolloProvider client={apollo} store={redux}>
|
||||||
|
<ComposedComponent url={url} {...composedInitialProps} />
|
||||||
</ApolloProvider>
|
</ApolloProvider>
|
||||||
)
|
)
|
||||||
await getDataFromTree(app)
|
await getDataFromTree(app)
|
||||||
}
|
|
||||||
|
|
||||||
const state = store.getState()
|
// Extract query data from the store
|
||||||
|
const state = redux.getState()
|
||||||
|
|
||||||
|
// No need to include other initial Redux state because when it
|
||||||
|
// initialises on the client-side it'll create it again anyway
|
||||||
|
serverState = {
|
||||||
|
apollo: { // Make sure to only include Apollo's data state
|
||||||
|
data: state.apollo.data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
initialState: {
|
serverState,
|
||||||
...state,
|
...composedInitialProps
|
||||||
apollo: {
|
|
||||||
data: client.getInitialState().data
|
|
||||||
}
|
|
||||||
},
|
|
||||||
headers,
|
|
||||||
...props
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor (props) {
|
constructor (props) {
|
||||||
super(props)
|
super(props)
|
||||||
this.client = initClient(this.props.headers, this.props.initialState)
|
this.apollo = initApollo()
|
||||||
this.store = initStore(this.client, this.props.initialState)
|
this.redux = initRedux(this.apollo, this.props.serverState)
|
||||||
}
|
}
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
return (
|
return (
|
||||||
<ApolloProvider client={this.client} store={this.store}>
|
// No need to use the Redux Provider
|
||||||
<Component {...this.props} />
|
// because Apollo sets up the store for us
|
||||||
|
<ApolloProvider client={this.apollo} store={this.redux}>
|
||||||
|
<ComposedComponent {...this.props} />
|
||||||
</ApolloProvider>
|
</ApolloProvider>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
}
|
||||||
|
|
|
@ -1,16 +1,19 @@
|
||||||
{
|
{
|
||||||
"name": "with-apollo-and-redux",
|
"name": "with-apollo-and-redux",
|
||||||
"version": "1.0.0",
|
"version": "2.0.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next",
|
"dev": "next",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start"
|
"start": "next start"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"graphql": "^0.9.1",
|
"graphql": "^0.9.3",
|
||||||
|
"isomorphic-fetch": "^2.2.1",
|
||||||
"next": "latest",
|
"next": "latest",
|
||||||
"react": "^15.4.2",
|
"prop-types": "^15.5.8",
|
||||||
"react-apollo": "^1.0.0-rc.2",
|
"react": "^15.5.4",
|
||||||
|
"react-apollo": "^1.1.3",
|
||||||
|
"react-dom": "^15.5.4",
|
||||||
"redux": "^3.6.0"
|
"redux": "^3.6.0"
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
|
|
37
examples/with-apollo/lib/initApollo.js
Normal file
37
examples/with-apollo/lib/initApollo.js
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
import { ApolloClient, createNetworkInterface } from 'react-apollo'
|
||||||
|
import fetch from 'isomorphic-fetch'
|
||||||
|
|
||||||
|
let apolloClient = null
|
||||||
|
|
||||||
|
// Polyfill fetch() on the server (used by apollo-client)
|
||||||
|
if (!process.browser) {
|
||||||
|
global.fetch = fetch
|
||||||
|
}
|
||||||
|
|
||||||
|
function create (initialState) {
|
||||||
|
return new ApolloClient({
|
||||||
|
initialState,
|
||||||
|
ssrMode: !process.browser, // Disables forceFetch on the server (so queries are only run once)
|
||||||
|
networkInterface: createNetworkInterface({
|
||||||
|
uri: 'https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn', // Server URL (must be absolute)
|
||||||
|
opts: { // Additional fetch() options like `credentials` or `headers`
|
||||||
|
credentials: 'same-origin'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function initApollo (initialState) {
|
||||||
|
// Make sure to create a new client for every server-side request so that data
|
||||||
|
// isn't shared between connections (which would be bad)
|
||||||
|
if (!process.browser) {
|
||||||
|
return create(initialState)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reuse client on the client-side
|
||||||
|
if (!apolloClient) {
|
||||||
|
apolloClient = create(initialState)
|
||||||
|
}
|
||||||
|
|
||||||
|
return apolloClient
|
||||||
|
}
|
|
@ -1,28 +0,0 @@
|
||||||
import { ApolloClient, createNetworkInterface } from 'react-apollo'
|
|
||||||
|
|
||||||
let apolloClient = null
|
|
||||||
|
|
||||||
function _initClient (headers, initialState) {
|
|
||||||
return new ApolloClient({
|
|
||||||
initialState,
|
|
||||||
ssrMode: !process.browser,
|
|
||||||
dataIdFromObject: result => result.id || null,
|
|
||||||
networkInterface: createNetworkInterface({
|
|
||||||
uri: 'https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn',
|
|
||||||
opts: {
|
|
||||||
credentials: 'same-origin'
|
|
||||||
// Pass headers here if your graphql server requires them
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export const initClient = (headers, initialState = {}) => {
|
|
||||||
if (!process.browser) {
|
|
||||||
return _initClient(headers, initialState)
|
|
||||||
}
|
|
||||||
if (!apolloClient) {
|
|
||||||
apolloClient = _initClient(headers, initialState)
|
|
||||||
}
|
|
||||||
return apolloClient
|
|
||||||
}
|
|
|
@ -1,50 +1,66 @@
|
||||||
import 'isomorphic-fetch'
|
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
|
import PropTypes from 'prop-types'
|
||||||
import { ApolloProvider, getDataFromTree } from 'react-apollo'
|
import { ApolloProvider, getDataFromTree } from 'react-apollo'
|
||||||
import { initClient } from './initClient'
|
import initApollo from './initApollo'
|
||||||
|
|
||||||
export default (Component) => (
|
export default ComposedComponent => {
|
||||||
class extends React.Component {
|
return class WithData extends React.Component {
|
||||||
static async getInitialProps (ctx) {
|
static displayName = `WithData(${ComposedComponent.displayName})`
|
||||||
const headers = ctx.req ? ctx.req.headers : {}
|
static propTypes = {
|
||||||
const client = initClient(headers)
|
serverState: PropTypes.object.isRequired
|
||||||
|
|
||||||
const props = {
|
|
||||||
url: { query: ctx.query, pathname: ctx.pathname },
|
|
||||||
...await (Component.getInitialProps ? Component.getInitialProps(ctx) : {})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static async getInitialProps (ctx) {
|
||||||
|
let serverState = {}
|
||||||
|
|
||||||
|
// Evaluate the composed component's getInitialProps()
|
||||||
|
let composedInitialProps = {}
|
||||||
|
if (ComposedComponent.getInitialProps) {
|
||||||
|
composedInitialProps = await ComposedComponent.getInitialProps(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Run all graphql queries in the component tree
|
||||||
|
// and extract the resulting data
|
||||||
if (!process.browser) {
|
if (!process.browser) {
|
||||||
|
const apollo = initApollo()
|
||||||
|
// Provide the `url` prop data in case a graphql query uses it
|
||||||
|
const url = {query: ctx.query, pathname: ctx.pathname}
|
||||||
|
|
||||||
|
// Run all graphql queries
|
||||||
const app = (
|
const app = (
|
||||||
<ApolloProvider client={client}>
|
<ApolloProvider client={apollo}>
|
||||||
<Component {...props} />
|
<ComposedComponent url={url} {...composedInitialProps} />
|
||||||
</ApolloProvider>
|
</ApolloProvider>
|
||||||
)
|
)
|
||||||
await getDataFromTree(app)
|
await getDataFromTree(app)
|
||||||
|
|
||||||
|
// Extract query data from the Apollo's store
|
||||||
|
const state = apollo.getInitialState()
|
||||||
|
|
||||||
|
serverState = {
|
||||||
|
apollo: { // Make sure to only include Apollo's data state
|
||||||
|
data: state.data
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
initialState: {
|
serverState,
|
||||||
apollo: {
|
...composedInitialProps
|
||||||
data: client.getInitialState().data
|
|
||||||
}
|
|
||||||
},
|
|
||||||
headers,
|
|
||||||
...props
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor (props) {
|
constructor (props) {
|
||||||
super(props)
|
super(props)
|
||||||
this.client = initClient(this.props.headers, this.props.initialState)
|
this.apollo = initApollo(this.props.serverState)
|
||||||
}
|
}
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
return (
|
return (
|
||||||
<ApolloProvider client={this.client}>
|
<ApolloProvider client={this.apollo}>
|
||||||
<Component {...this.props} />
|
<ComposedComponent {...this.props} />
|
||||||
</ApolloProvider>
|
</ApolloProvider>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
}
|
||||||
|
|
|
@ -1,16 +1,19 @@
|
||||||
{
|
{
|
||||||
"name": "with-apollo",
|
"name": "with-apollo",
|
||||||
"version": "1.0.1",
|
"version": "2.0.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next",
|
"dev": "next",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start"
|
"start": "next start"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"graphql": "^0.9.1",
|
"graphql": "^0.9.3",
|
||||||
|
"isomorphic-fetch": "^2.2.1",
|
||||||
"next": "latest",
|
"next": "latest",
|
||||||
"react": "^15.4.2",
|
"prop-types": "^15.5.8",
|
||||||
"react-apollo": "^1.0.0-rc.3"
|
"react": "^15.5.4",
|
||||||
|
"react-dom": "^15.5.4",
|
||||||
|
"react-apollo": "^1.1.3"
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Document, { Head, Main, NextScript } from 'next/document'
|
import Document, { Head, Main, NextScript } from 'next/document'
|
||||||
import cxs from 'cxs'
|
import cxs from 'cxs/lite'
|
||||||
|
|
||||||
export default class MyDocument extends Document {
|
export default class MyDocument extends Document {
|
||||||
static async getInitialProps ({ renderPage }) {
|
static async getInitialProps ({ renderPage }) {
|
||||||
|
@ -13,7 +13,7 @@ export default class MyDocument extends Document {
|
||||||
<html>
|
<html>
|
||||||
<Head>
|
<Head>
|
||||||
<title>My page</title>
|
<title>My page</title>
|
||||||
<style dangerouslySetInnerHTML={{ __html: this.props.style }} />
|
<style id='cxs-style' dangerouslySetInnerHTML={{ __html: this.props.style }} />
|
||||||
</Head>
|
</Head>
|
||||||
<body>
|
<body>
|
||||||
<Main />
|
<Main />
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import cxs from 'cxs'
|
import cxs from 'cxs/lite'
|
||||||
|
|
||||||
|
// Using cxs/lite on both the server and client,
|
||||||
|
// the styles will need to be rehydrated.
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
|
const styleTag = document.getElementById('cxs-style')
|
||||||
|
const serverCss = styleTag.innerHTML
|
||||||
|
cxs.rehydrate(serverCss)
|
||||||
|
}
|
||||||
|
|
||||||
export default () => (
|
export default () => (
|
||||||
<div className={cx.root}>
|
<div className={cx.root}>
|
||||||
|
|
3
examples/with-firebase/credentials/client.js
Normal file
3
examples/with-firebase/credentials/client.js
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
module.exports = {
|
||||||
|
// TODO firebase client config
|
||||||
|
}
|
3
examples/with-firebase/credentials/server.js
Normal file
3
examples/with-firebase/credentials/server.js
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
module.exports = {
|
||||||
|
// TODO firebase server config
|
||||||
|
}
|
|
@ -1,8 +0,0 @@
|
||||||
module.exports = {
|
|
||||||
clientCredentials: {
|
|
||||||
// TODO firebase client config
|
|
||||||
},
|
|
||||||
serverCredentials: {
|
|
||||||
// TODO service account json here
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,7 +1,7 @@
|
||||||
import React, { Component } from 'react'
|
import React, { Component } from 'react'
|
||||||
import firebase from 'firebase'
|
import firebase from 'firebase'
|
||||||
import 'isomorphic-fetch'
|
import 'isomorphic-fetch'
|
||||||
import { clientCredentials } from '../firebaseCredentials'
|
import clientCredentials from '../credentials/client'
|
||||||
|
|
||||||
export default class Index extends Component {
|
export default class Index extends Component {
|
||||||
static async getInitialProps ({req, query}) {
|
static async getInitialProps ({req, query}) {
|
||||||
|
|
|
@ -10,7 +10,7 @@ const app = next({ dev })
|
||||||
const handle = app.getRequestHandler()
|
const handle = app.getRequestHandler()
|
||||||
|
|
||||||
const firebase = admin.initializeApp({
|
const firebase = admin.initializeApp({
|
||||||
credential: admin.credential.cert(require('./firebaseCredentials').serverCredentials),
|
credential: admin.credential.cert(require('./credentials/server')),
|
||||||
databaseURL: '' // TODO database URL goes here
|
databaseURL: '' // TODO database URL goes here
|
||||||
}, 'server')
|
}, 'server')
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
{
|
{
|
||||||
"env": {
|
"env": {
|
||||||
"development": {
|
"development": {
|
||||||
"presets": ["next/babel"]
|
"presets": "next/babel"
|
||||||
},
|
},
|
||||||
"production": {
|
"production": {
|
||||||
"presets": ["next/babel"]
|
"presets": "next/babel"
|
||||||
},
|
},
|
||||||
"test": {
|
"test": {
|
||||||
// next/babel does not transpile import/export syntax.
|
"presets": [
|
||||||
// So, using es2015 in the beginning will fix that.
|
["env", { "modules": "commonjs" }],
|
||||||
"presets": ["es2015", "next/babel"]
|
"next/babel"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`With Snapshot Testing App shows "Hello world!" 1`] = `
|
exports[`With Snapshot Testing App shows "Hello world!" 1`] = `
|
||||||
<div
|
<div
|
||||||
data-jsx={2648947580}>
|
data-jsx={2648947580}
|
||||||
|
>
|
||||||
<p
|
<p
|
||||||
data-jsx={2648947580}>
|
data-jsx={2648947580}
|
||||||
|
>
|
||||||
Hello World!
|
Hello World!
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
/* global it, expect, describe */
|
/* eslint-env jest */
|
||||||
|
|
||||||
import React from 'react'
|
|
||||||
import { shallow } from 'enzyme'
|
import { shallow } from 'enzyme'
|
||||||
|
import React from 'react'
|
||||||
import renderer from 'react-test-renderer'
|
import renderer from 'react-test-renderer'
|
||||||
|
|
||||||
import App from '../pages/index.js'
|
import App from '../pages/index.js'
|
||||||
|
|
||||||
describe('With Enzyme', () => {
|
describe('With Enzyme', () => {
|
||||||
it('App shows "Hello world!"', () => {
|
it('App shows "Hello world!"', () => {
|
||||||
const app = shallow(
|
const app = shallow(<App />)
|
||||||
<App />
|
|
||||||
)
|
|
||||||
|
|
||||||
expect(app.find('p').text()).toEqual('Hello World!')
|
expect(app.find('p').text()).toEqual('Hello World!')
|
||||||
})
|
})
|
||||||
|
|
|
@ -2,20 +2,19 @@
|
||||||
"name": "with-jest",
|
"name": "with-jest",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"next": "latest",
|
"next": "latest",
|
||||||
"react": "^15.4.2",
|
"react": "^15.5.4",
|
||||||
"react-dom": "^15.4.2"
|
"react-dom": "^15.5.4"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"enzyme": "^2.8.2",
|
||||||
|
"jest": "^20.0.0",
|
||||||
|
"react-addons-test-utils": "^15.5.1",
|
||||||
|
"react-test-renderer": "^15.5.4"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
"dev": "next",
|
"dev": "next",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start"
|
"start": "next start"
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"enzyme": "^2.5.1",
|
|
||||||
"jest-cli": "^18.0.0",
|
|
||||||
"react-addons-test-utils": "^15.4.2",
|
|
||||||
"babel-preset-es2015": "^6.22.0",
|
|
||||||
"react-test-renderer": "^15.4.2"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
11
examples/with-material-ui/next.config.js
Normal file
11
examples/with-material-ui/next.config.js
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
module.exports = {
|
||||||
|
webpack: (config) => {
|
||||||
|
// Remove minifed react aliases for material-ui so production builds work
|
||||||
|
if (config.resolve.alias) {
|
||||||
|
delete config.resolve.alias.react
|
||||||
|
delete config.resolve.alias['react-dom']
|
||||||
|
}
|
||||||
|
|
||||||
|
return config
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"material-ui": "^0.17.4",
|
"material-ui": "^0.18.0",
|
||||||
"next": "latest",
|
"next": "latest",
|
||||||
"react": "^15.5.4",
|
"react": "^15.5.4",
|
||||||
"react-dom": "^15.5.4",
|
"react-dom": "^15.5.4",
|
||||||
|
|
|
@ -7,14 +7,11 @@ import getMuiTheme from 'material-ui/styles/getMuiTheme'
|
||||||
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'
|
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'
|
||||||
import injectTapEventPlugin from 'react-tap-event-plugin'
|
import injectTapEventPlugin from 'react-tap-event-plugin'
|
||||||
|
|
||||||
// Needed for onTouchTap
|
// Make sure react-tap-event-plugin only gets injected once
|
||||||
// http://stackoverflow.com/a/34015469/988941
|
// Needed for material-ui
|
||||||
try {
|
if (!process.tapEventInjected) {
|
||||||
if (typeof window !== 'undefined') {
|
|
||||||
injectTapEventPlugin()
|
injectTapEventPlugin()
|
||||||
}
|
process.tapEventInjected = true
|
||||||
} catch (e) {
|
|
||||||
// do nothing
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const styles = {
|
const styles = {
|
||||||
|
@ -24,17 +21,23 @@ const styles = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const _muiTheme = getMuiTheme({
|
const muiTheme = {
|
||||||
palette: {
|
palette: {
|
||||||
accent1Color: deepOrange500
|
accent1Color: deepOrange500
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
|
||||||
class Main extends Component {
|
class Main extends Component {
|
||||||
static getInitialProps ({ req }) {
|
static getInitialProps ({ req }) {
|
||||||
const userAgent = req ? req.headers['user-agent'] : navigator.userAgent
|
// Ensures material-ui renders the correct css prefixes server-side
|
||||||
const isServer = !!req
|
let userAgent
|
||||||
return {isServer, userAgent}
|
if (process.browser) {
|
||||||
|
userAgent = navigator.userAgent
|
||||||
|
} else {
|
||||||
|
userAgent = req.headers['user-agent']
|
||||||
|
}
|
||||||
|
|
||||||
|
return { userAgent }
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor (props, context) {
|
constructor (props, context) {
|
||||||
|
@ -58,6 +61,8 @@ class Main extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
|
const { userAgent } = this.props
|
||||||
|
|
||||||
const standardActions = (
|
const standardActions = (
|
||||||
<FlatButton
|
<FlatButton
|
||||||
label='Ok'
|
label='Ok'
|
||||||
|
@ -66,12 +71,8 @@ class Main extends Component {
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
|
|
||||||
const { userAgent } = this.props
|
|
||||||
/* https://github.com/callemall/material-ui/issues/3336 */
|
|
||||||
const muiTheme = getMuiTheme(getMuiTheme({userAgent: userAgent}), _muiTheme)
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<MuiThemeProvider muiTheme={muiTheme}>
|
<MuiThemeProvider muiTheme={getMuiTheme({userAgent, ...muiTheme})}>
|
||||||
<div style={styles.container}>
|
<div style={styles.container}>
|
||||||
<Dialog
|
<Dialog
|
||||||
open={this.state.open}
|
open={this.state.open}
|
||||||
|
|
|
@ -27,7 +27,7 @@ now
|
||||||
|
|
||||||
## The idea behind the example
|
## The idea behind the example
|
||||||
|
|
||||||
This example, just like `with-react` and `with-mobx` examples, shows how to manage a global state in your web-application.
|
This example, just like `with-redux` and `with-mobx` examples, shows how to manage a global state in your web-application.
|
||||||
In this case we are using [refnux](https://github.com/algesten/refnux) which is an alternative, simpler, purely functional store state manager.
|
In this case we are using [refnux](https://github.com/algesten/refnux) which is an alternative, simpler, purely functional store state manager.
|
||||||
|
|
||||||
We have two very similar pages (page1.js, page2.js). They both
|
We have two very similar pages (page1.js, page2.js). They both
|
||||||
|
|
9
examples/with-styled-components/.babelrc
Normal file
9
examples/with-styled-components/.babelrc
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"presets": [
|
||||||
|
"next/babel",
|
||||||
|
"stage-0"
|
||||||
|
],
|
||||||
|
"plugins": [
|
||||||
|
["styled-components", { "ssr": true, "displayName": true, "preprocess": false } ]
|
||||||
|
]
|
||||||
|
}
|
|
@ -30,6 +30,4 @@ This example features how you use a different styling solution than [styled-jsx]
|
||||||
|
|
||||||
For this purpose we are extending the `<Document />` and injecting the server side rendered styles into the `<head>`.
|
For this purpose we are extending the `<Document />` and injecting the server side rendered styles into the `<head>`.
|
||||||
|
|
||||||
## Notes:
|
# WARNING This example uses styled-components v2 which is currently in BETA
|
||||||
|
|
||||||
- On initial install, you may see a server-side error: `TypeError: Cannot read property 'cssRules' of undefined when using this line of code` until you actually render a `styled-component`. I have submitted a PR to fix this issue with them [here](https://github.com/styled-components/styled-components/pull/391). For the time being, make sure you render at least one `styled-component` when you use this.
|
|
||||||
|
|
|
@ -7,10 +7,12 @@
|
||||||
"start": "next start"
|
"start": "next start"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"babel-plugin-styled-components": "^1.1.4",
|
||||||
|
"babel-preset-stage-0": "^6.24.1",
|
||||||
"next": "latest",
|
"next": "latest",
|
||||||
"react": "^15.4.2",
|
"react": "^15.4.2",
|
||||||
"react-dom": "^15.4.2",
|
"react-dom": "^15.4.2",
|
||||||
"styled-components": "^1.4.4"
|
"styled-components": "^2.0.0-17"
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
|
|
|
@ -1,23 +1,21 @@
|
||||||
import Document, { Head, Main, NextScript } from 'next/document'
|
import Document, { Head, Main, NextScript } from 'next/document'
|
||||||
import styleSheet from 'styled-components/lib/models/StyleSheet'
|
import { ServerStyleSheet } from 'styled-components'
|
||||||
|
|
||||||
export default class MyDocument extends Document {
|
export default class MyDocument extends Document {
|
||||||
static async getInitialProps ({ renderPage }) {
|
|
||||||
const page = renderPage()
|
|
||||||
const styles = (
|
|
||||||
<style dangerouslySetInnerHTML={{ __html: styleSheet.rules().map(rule => rule.cssText).join('\n') }} />
|
|
||||||
)
|
|
||||||
return { ...page, styles }
|
|
||||||
}
|
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
|
const sheet = new ServerStyleSheet()
|
||||||
|
const main = sheet.collectStyles(<Main />)
|
||||||
|
const styleTags = sheet.getStyleElement()
|
||||||
return (
|
return (
|
||||||
<html>
|
<html>
|
||||||
<Head>
|
<Head>
|
||||||
<title>My page</title>
|
<title>My page</title>
|
||||||
|
{styleTags}
|
||||||
</Head>
|
</Head>
|
||||||
<body>
|
<body>
|
||||||
<Main />
|
<div className='root'>
|
||||||
|
{main}
|
||||||
|
</div>
|
||||||
<NextScript />
|
<NextScript />
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -18,9 +18,10 @@ export default class PageLoader {
|
||||||
if (route[0] !== '/') {
|
if (route[0] !== '/') {
|
||||||
throw new Error('Route name should start with a "/"')
|
throw new Error('Route name should start with a "/"')
|
||||||
}
|
}
|
||||||
|
route = route.replace(/index$/, '')
|
||||||
|
|
||||||
if (route === '/') return route
|
if (route === '/') return route
|
||||||
return route.replace(/index$/, '').replace(/\/$/, '')
|
return route.replace(/\/$/, '')
|
||||||
}
|
}
|
||||||
|
|
||||||
loadPage (route) {
|
loadPage (route) {
|
||||||
|
|
10
package.json
10
package.json
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "next",
|
"name": "next",
|
||||||
"version": "2.3.0",
|
"version": "2.3.1",
|
||||||
"description": "Minimalistic framework for server-rendered React applications",
|
"description": "Minimalistic framework for server-rendered React applications",
|
||||||
"main": "./dist/server/next.js",
|
"main": "./dist/server/next.js",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
"babel-plugin-transform-es2015-modules-commonjs": "6.24.1",
|
"babel-plugin-transform-es2015-modules-commonjs": "6.24.1",
|
||||||
"babel-plugin-transform-object-rest-spread": "6.22.0",
|
"babel-plugin-transform-object-rest-spread": "6.22.0",
|
||||||
"babel-plugin-transform-react-jsx-source": "6.22.0",
|
"babel-plugin-transform-react-jsx-source": "6.22.0",
|
||||||
"babel-plugin-transform-react-remove-prop-types": "0.4.4",
|
"babel-plugin-transform-react-remove-prop-types": "0.4.5",
|
||||||
"babel-plugin-transform-runtime": "6.22.0",
|
"babel-plugin-transform-runtime": "6.22.0",
|
||||||
"babel-preset-env": "1.3.3",
|
"babel-preset-env": "1.3.3",
|
||||||
"babel-preset-react": "6.24.1",
|
"babel-preset-react": "6.24.1",
|
||||||
|
@ -79,7 +79,7 @@
|
||||||
"mz": "2.6.0",
|
"mz": "2.6.0",
|
||||||
"path-match": "1.2.4",
|
"path-match": "1.2.4",
|
||||||
"pkg-up": "2.0.0",
|
"pkg-up": "2.0.0",
|
||||||
"prop-types": "15.5.7",
|
"prop-types": "15.5.9",
|
||||||
"react-hot-loader": "3.0.0-beta.6",
|
"react-hot-loader": "3.0.0-beta.6",
|
||||||
"send": "0.15.2",
|
"send": "0.15.2",
|
||||||
"source-map-support": "0.4.15",
|
"source-map-support": "0.4.15",
|
||||||
|
@ -89,7 +89,7 @@
|
||||||
"unfetch": "2.1.2",
|
"unfetch": "2.1.2",
|
||||||
"url": "0.11.0",
|
"url": "0.11.0",
|
||||||
"uuid": "3.0.1",
|
"uuid": "3.0.1",
|
||||||
"webpack": "2.4.0",
|
"webpack": "2.5.1",
|
||||||
"webpack-dev-middleware": "1.10.2",
|
"webpack-dev-middleware": "1.10.2",
|
||||||
"webpack-hot-middleware": "2.18.0",
|
"webpack-hot-middleware": "2.18.0",
|
||||||
"write-file-webpack-plugin": "4.0.2"
|
"write-file-webpack-plugin": "4.0.2"
|
||||||
|
@ -116,7 +116,7 @@
|
||||||
"lint-staged": "^3.4.0",
|
"lint-staged": "^3.4.0",
|
||||||
"node-fetch": "1.6.3",
|
"node-fetch": "1.6.3",
|
||||||
"node-notifier": "5.1.2",
|
"node-notifier": "5.1.2",
|
||||||
"nyc": "10.3.0",
|
"nyc": "10.3.2",
|
||||||
"react": "15.5.3",
|
"react": "15.5.3",
|
||||||
"react-dom": "15.5.3",
|
"react-dom": "15.5.3",
|
||||||
"recursive-copy": "^2.0.6",
|
"recursive-copy": "^2.0.6",
|
||||||
|
|
25
readme.md
25
readme.md
|
@ -6,12 +6,15 @@
|
||||||
|
|
||||||
Next.js is a minimalistic framework for server-rendered React applications.
|
Next.js is a minimalistic framework for server-rendered React applications.
|
||||||
|
|
||||||
|
**Visit https://learnnextjs.com to get started with Next.js.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
||||||
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
||||||
<!-- https://github.com/thlorenz/doctoc -->
|
<!-- https://github.com/thlorenz/doctoc -->
|
||||||
|
|
||||||
- [How to use](#how-to-use)
|
- [How to use](#how-to-use)
|
||||||
- [Getting Started](#getting-started)
|
|
||||||
- [Setup](#setup)
|
- [Setup](#setup)
|
||||||
- [Automatic code splitting](#automatic-code-splitting)
|
- [Automatic code splitting](#automatic-code-splitting)
|
||||||
- [CSS](#css)
|
- [CSS](#css)
|
||||||
|
@ -36,6 +39,7 @@ Next.js is a minimalistic framework for server-rendered React applications.
|
||||||
- [Customizing babel config](#customizing-babel-config)
|
- [Customizing babel config](#customizing-babel-config)
|
||||||
- [CDN support with Asset Prefix](#cdn-support-with-asset-prefix)
|
- [CDN support with Asset Prefix](#cdn-support-with-asset-prefix)
|
||||||
- [Production deployment](#production-deployment)
|
- [Production deployment](#production-deployment)
|
||||||
|
- [Recipes](#recipes)
|
||||||
- [FAQ](#faq)
|
- [FAQ](#faq)
|
||||||
- [Contributing](#contributing)
|
- [Contributing](#contributing)
|
||||||
- [Authors](#authors)
|
- [Authors](#authors)
|
||||||
|
@ -44,10 +48,6 @@ Next.js is a minimalistic framework for server-rendered React applications.
|
||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
|
|
||||||
### Getting Started
|
|
||||||
|
|
||||||
A step by step interactive guide of next features is available at [learnnextjs.com](https://learnnextjs.com/)
|
|
||||||
|
|
||||||
### Setup
|
### Setup
|
||||||
|
|
||||||
Install it:
|
Install it:
|
||||||
|
@ -129,17 +129,24 @@ export default () => (
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`}</style>
|
`}</style>
|
||||||
|
<style global jsx>{`
|
||||||
|
body {
|
||||||
|
background: black;
|
||||||
|
}
|
||||||
|
`}</style>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Please see the [styled-jsx documentation](https://github.com/zeit/styled-jsx) for more examples.
|
||||||
|
|
||||||
#### CSS-in-JS
|
#### CSS-in-JS
|
||||||
|
|
||||||
<p><details>
|
<p><details>
|
||||||
<summary>
|
<summary>
|
||||||
<b>Examples</b>
|
<b>Examples</b>
|
||||||
</summary>
|
</summary>
|
||||||
<ul><li><a href="./examples/with-styled-components">Styled components</a></li><li><a href="./examples/with-styletron">Styletron</a></li><li><a href="./examples/with-glamor">Glamor</a></li><li><a href="./examples/with-cxs">Cxs</a></li><li><a href="./examples/with-aphrodite">Aphrodite</a></li><li><a href="./examples/with-fela">Fela</a></li></ul>
|
<ul><li><a href="./examples/with-styled-components">Styled components</a></li><li><a href="./examples/with-styletron">Styletron</a></li><li><a href="./examples/with-glamor">Glamor</a></li><li><a href="./examples/with-glamorous">Glamorous</a></li><li><a href="./examples/with-cxs">Cxs</a></li><li><a href="./examples/with-aphrodite">Aphrodite</a></li><li><a href="./examples/with-fela">Fela</a></li></ul>
|
||||||
</details></p>
|
</details></p>
|
||||||
|
|
||||||
It's possible to use any existing CSS-in-JS solution. The simplest one is inline styles:
|
It's possible to use any existing CSS-in-JS solution. The simplest one is inline styles:
|
||||||
|
@ -614,6 +621,8 @@ The `ctx` object is equivalent to the one received in all [`getInitialProps`](#f
|
||||||
|
|
||||||
- `renderPage` (`Function`) a callback that executes the actual React rendering logic (synchronously). It's useful to decorate this function in order to support server-rendering wrappers like Aphrodite's [`renderStatic`](https://github.com/Khan/aphrodite#server-side-rendering)
|
- `renderPage` (`Function`) a callback that executes the actual React rendering logic (synchronously). It's useful to decorate this function in order to support server-rendering wrappers like Aphrodite's [`renderStatic`](https://github.com/Khan/aphrodite#server-side-rendering)
|
||||||
|
|
||||||
|
__Note: React-components outside of `<Main />` will not be initialised by the browser. If you need shared components in all your pages (like a menu or a toolbar), do _not_ add application logic here, but take a look at [this example](https://github.com/zeit/next.js/tree/master/examples/layout-component).__
|
||||||
|
|
||||||
### Custom error handling
|
### Custom error handling
|
||||||
|
|
||||||
404 or 500 errors are handled both client and server side by a default component `error.js`. If you wish to override it, define a `_error.js`:
|
404 or 500 errors are handled both client and server side by a default component `error.js`. If you wish to override it, define a `_error.js`:
|
||||||
|
@ -752,6 +761,10 @@ Next.js can be deployed to other hosting solutions too. Please have a look at th
|
||||||
|
|
||||||
Note: we recommend putting `.next`, or your custom dist folder (Please have a look at ['Custom Config'](You can set a custom folder in config https://github.com/zeit/next.js#custom-configuration.)), in `.npmignore` or `.gitignore`. Otherwise, use `files` or `now.files` to opt-into a whitelist of files you want to deploy (and obviously exclude `.next` or your custom dist folder)
|
Note: we recommend putting `.next`, or your custom dist folder (Please have a look at ['Custom Config'](You can set a custom folder in config https://github.com/zeit/next.js#custom-configuration.)), in `.npmignore` or `.gitignore`. Otherwise, use `files` or `now.files` to opt-into a whitelist of files you want to deploy (and obviously exclude `.next` or your custom dist folder)
|
||||||
|
|
||||||
|
## Recipes
|
||||||
|
|
||||||
|
- [Setting up 301 redirects](https://www.raygesualdo.com/posts/301-redirects-with-nextjs/)
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
|
@ -9,7 +9,7 @@ const envPlugins = {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
const plugins = envPlugins[process.env.NODE_ENV] || []
|
const plugins = envPlugins[process.env.NODE_ENV] || envPlugins['development']
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
presets: [
|
presets: [
|
||||||
|
|
|
@ -12,7 +12,17 @@ export default class PagesPlugin {
|
||||||
pages.forEach((chunk) => {
|
pages.forEach((chunk) => {
|
||||||
const page = compilation.assets[chunk.name]
|
const page = compilation.assets[chunk.name]
|
||||||
const pageName = matchRouteName.exec(chunk.name)[1]
|
const pageName = matchRouteName.exec(chunk.name)[1]
|
||||||
const routeName = `/${pageName.replace(/[/\\]?index$/, '')}`
|
let routeName = `/${pageName.replace(/[/\\]?index$/, '')}`
|
||||||
|
|
||||||
|
// We need to convert \ into / when we are in windows
|
||||||
|
// to get the proper route name
|
||||||
|
// Here we need to do windows check because it's possible
|
||||||
|
// to have "\" in the filename in unix.
|
||||||
|
// Anyway if someone did that, he'll be having issues here.
|
||||||
|
// But that's something we cannot avoid.
|
||||||
|
if (/^win/.test(process.platform)) {
|
||||||
|
routeName = routeName.replace(/\\/g, '/')
|
||||||
|
}
|
||||||
|
|
||||||
const content = page.source()
|
const content = page.source()
|
||||||
const newContent = `
|
const newContent = `
|
||||||
|
|
|
@ -295,7 +295,7 @@ export default async function createCompiler (dir, { dev = false, quiet = false,
|
||||||
module: {
|
module: {
|
||||||
rules
|
rules
|
||||||
},
|
},
|
||||||
devtool: dev ? 'inline-source-map' : false,
|
devtool: dev ? 'cheap-module-inline-source-map' : false,
|
||||||
performance: { hints: false }
|
performance: { hints: false }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
2
test/integration/basic/pages/index.js
Normal file
2
test/integration/basic/pages/index.js
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
import CDM from '../lib/cdm'
|
||||||
|
export default CDM
|
|
@ -323,7 +323,7 @@ export default (context, render) => {
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('with different types of urls', () => {
|
describe('with different types of urls', () => {
|
||||||
it('on normal page', async () => {
|
it('should work with normal page', async () => {
|
||||||
const browser = await webdriver(context.appPort, '/with-cdm')
|
const browser = await webdriver(context.appPort, '/with-cdm')
|
||||||
const text = await browser.elementByCss('p').text()
|
const text = await browser.elementByCss('p').text()
|
||||||
|
|
||||||
|
@ -331,7 +331,7 @@ export default (context, render) => {
|
||||||
browser.close()
|
browser.close()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('on dir/index page ', async () => {
|
it('should work with dir/index page ', async () => {
|
||||||
const browser = await webdriver(context.appPort, '/nested-cdm/index')
|
const browser = await webdriver(context.appPort, '/nested-cdm/index')
|
||||||
const text = await browser.elementByCss('p').text()
|
const text = await browser.elementByCss('p').text()
|
||||||
|
|
||||||
|
@ -339,13 +339,29 @@ export default (context, render) => {
|
||||||
browser.close()
|
browser.close()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('on dir/ page ', async () => {
|
it('should work with dir/ page ', async () => {
|
||||||
const browser = await webdriver(context.appPort, '/nested-cdm/')
|
const browser = await webdriver(context.appPort, '/nested-cdm/')
|
||||||
const text = await browser.elementByCss('p').text()
|
const text = await browser.elementByCss('p').text()
|
||||||
|
|
||||||
expect(text).toBe('ComponentDidMount executed on client.')
|
expect(text).toBe('ComponentDidMount executed on client.')
|
||||||
browser.close()
|
browser.close()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should work with /index page', async () => {
|
||||||
|
const browser = await webdriver(context.appPort, '/index')
|
||||||
|
const text = await browser.elementByCss('p').text()
|
||||||
|
|
||||||
|
expect(text).toBe('ComponentDidMount executed on client.')
|
||||||
|
browser.close()
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should work with / page', async () => {
|
||||||
|
const browser = await webdriver(context.appPort, '/')
|
||||||
|
const text = await browser.elementByCss('p').text()
|
||||||
|
|
||||||
|
expect(text).toBe('ComponentDidMount executed on client.')
|
||||||
|
browser.close()
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('with asPath', () => {
|
describe('with asPath', () => {
|
||||||
|
|
314
yarn.lock
314
yarn.lock
|
@ -56,8 +56,8 @@ ajv-keywords@^1.0.0, ajv-keywords@^1.1.1:
|
||||||
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
|
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
|
||||||
|
|
||||||
ajv@^4.7.0, ajv@^4.9.1:
|
ajv@^4.7.0, ajv@^4.9.1:
|
||||||
version "4.11.7"
|
version "4.11.8"
|
||||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.7.tgz#8655a5d86d0824985cc471a1d913fb6729a0ec48"
|
resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
|
||||||
dependencies:
|
dependencies:
|
||||||
co "^4.6.0"
|
co "^4.6.0"
|
||||||
json-stable-stringify "^1.0.1"
|
json-stable-stringify "^1.0.1"
|
||||||
|
@ -255,8 +255,8 @@ async@^1.4.0:
|
||||||
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
|
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
|
||||||
|
|
||||||
async@^2.0.0, async@^2.1.2, async@^2.1.4:
|
async@^2.0.0, async@^2.1.2, async@^2.1.4:
|
||||||
version "2.3.0"
|
version "2.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9"
|
resolved "https://registry.yarnpkg.com/async/-/async-2.4.0.tgz#4990200f18ea5b837c2cc4f8c031a6985c385611"
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash "^4.14.0"
|
lodash "^4.14.0"
|
||||||
|
|
||||||
|
@ -497,7 +497,7 @@ babel-plugin-check-es2015-constants@^6.22.0:
|
||||||
|
|
||||||
babel-plugin-istanbul@4.1.3, babel-plugin-istanbul@^4.0.0:
|
babel-plugin-istanbul@4.1.3, babel-plugin-istanbul@^4.0.0:
|
||||||
version "4.1.3"
|
version "4.1.3"
|
||||||
resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.3.tgz#6ee6280410dcf59c7747518c3dfd98680958f102"
|
resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.3.tgz#6ee6280410dcf59c7747518c3dfd98680958f102"
|
||||||
dependencies:
|
dependencies:
|
||||||
find-up "^2.1.0"
|
find-up "^2.1.0"
|
||||||
istanbul-lib-instrument "^1.7.1"
|
istanbul-lib-instrument "^1.7.1"
|
||||||
|
@ -570,7 +570,7 @@ babel-plugin-transform-async-to-generator@^6.22.0:
|
||||||
|
|
||||||
babel-plugin-transform-class-properties@6.24.1:
|
babel-plugin-transform-class-properties@6.24.1:
|
||||||
version "6.24.1"
|
version "6.24.1"
|
||||||
resolved "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac"
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac"
|
||||||
dependencies:
|
dependencies:
|
||||||
babel-helper-function-name "^6.24.1"
|
babel-helper-function-name "^6.24.1"
|
||||||
babel-plugin-syntax-class-properties "^6.8.0"
|
babel-plugin-syntax-class-properties "^6.8.0"
|
||||||
|
@ -789,15 +789,15 @@ babel-plugin-transform-react-jsx-source@6.22.0, babel-plugin-transform-react-jsx
|
||||||
|
|
||||||
babel-plugin-transform-react-jsx@^6.24.1:
|
babel-plugin-transform-react-jsx@^6.24.1:
|
||||||
version "6.24.1"
|
version "6.24.1"
|
||||||
resolved "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3"
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3"
|
||||||
dependencies:
|
dependencies:
|
||||||
babel-helper-builder-react-jsx "^6.24.1"
|
babel-helper-builder-react-jsx "^6.24.1"
|
||||||
babel-plugin-syntax-jsx "^6.8.0"
|
babel-plugin-syntax-jsx "^6.8.0"
|
||||||
babel-runtime "^6.22.0"
|
babel-runtime "^6.22.0"
|
||||||
|
|
||||||
babel-plugin-transform-react-remove-prop-types@0.4.4:
|
babel-plugin-transform-react-remove-prop-types@0.4.5:
|
||||||
version "0.4.4"
|
version "0.4.5"
|
||||||
resolved "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.4.tgz#ef3f6fc166b0d1f53f828d1a9dda90106ac27cd8"
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.5.tgz#79d1958437ae23d4fbc0b11d1a041498ddb23877"
|
||||||
dependencies:
|
dependencies:
|
||||||
babel-traverse "^6.24.1"
|
babel-traverse "^6.24.1"
|
||||||
|
|
||||||
|
@ -860,7 +860,7 @@ babel-preset-env@1.3.3:
|
||||||
|
|
||||||
babel-preset-es2015@6.24.1:
|
babel-preset-es2015@6.24.1:
|
||||||
version "6.24.1"
|
version "6.24.1"
|
||||||
resolved "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939"
|
resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939"
|
||||||
dependencies:
|
dependencies:
|
||||||
babel-plugin-check-es2015-constants "^6.22.0"
|
babel-plugin-check-es2015-constants "^6.22.0"
|
||||||
babel-plugin-transform-es2015-arrow-functions "^6.22.0"
|
babel-plugin-transform-es2015-arrow-functions "^6.22.0"
|
||||||
|
@ -907,7 +907,7 @@ babel-preset-jest@^19.0.0:
|
||||||
|
|
||||||
babel-preset-react@6.24.1:
|
babel-preset-react@6.24.1:
|
||||||
version "6.24.1"
|
version "6.24.1"
|
||||||
resolved "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380"
|
resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380"
|
||||||
dependencies:
|
dependencies:
|
||||||
babel-plugin-syntax-jsx "^6.3.13"
|
babel-plugin-syntax-jsx "^6.3.13"
|
||||||
babel-plugin-transform-react-display-name "^6.23.0"
|
babel-plugin-transform-react-display-name "^6.23.0"
|
||||||
|
@ -987,8 +987,8 @@ babylon@6.14.1:
|
||||||
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815"
|
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815"
|
||||||
|
|
||||||
babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0, babylon@^6.17.0:
|
babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0, babylon@^6.17.0:
|
||||||
version "6.17.0"
|
version "6.17.1"
|
||||||
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.0.tgz#37da948878488b9c4e3c4038893fa3314b3fc932"
|
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.1.tgz#17f14fddf361b695981fe679385e4f1c01ebd86f"
|
||||||
|
|
||||||
balanced-match@^0.4.1:
|
balanced-match@^0.4.1:
|
||||||
version "0.4.2"
|
version "0.4.2"
|
||||||
|
@ -1020,8 +1020,8 @@ binary-extensions@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
|
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
|
||||||
|
|
||||||
bl@^1.0.0:
|
bl@^1.0.0:
|
||||||
version "1.2.0"
|
version "1.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.0.tgz#1397e7ec42c5f5dc387470c500e34a9f6be9ea98"
|
resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e"
|
||||||
dependencies:
|
dependencies:
|
||||||
readable-stream "^2.0.5"
|
readable-stream "^2.0.5"
|
||||||
|
|
||||||
|
@ -1049,7 +1049,7 @@ boom@2.x.x:
|
||||||
dependencies:
|
dependencies:
|
||||||
hoek "2.x.x"
|
hoek "2.x.x"
|
||||||
|
|
||||||
brace-expansion@^1.0.0:
|
brace-expansion@^1.1.7:
|
||||||
version "1.1.7"
|
version "1.1.7"
|
||||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59"
|
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -1203,8 +1203,8 @@ camelcase@^3.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
|
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
|
||||||
|
|
||||||
caniuse-db@^1.0.30000639:
|
caniuse-db@^1.0.30000639:
|
||||||
version "1.0.30000657"
|
version "1.0.30000666"
|
||||||
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000657.tgz#8192aec745019cc050217ad049c60dad21e3d1bc"
|
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000666.tgz#951ed9f3d3bfaa08a06dafbb5089ab07cce6ab90"
|
||||||
|
|
||||||
case-sensitive-paths-webpack-plugin@2.0.0:
|
case-sensitive-paths-webpack-plugin@2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
|
@ -1257,8 +1257,8 @@ cheerio@0.22.0:
|
||||||
lodash.some "^4.4.0"
|
lodash.some "^4.4.0"
|
||||||
|
|
||||||
chokidar@^1.4.3, chokidar@^1.6.1:
|
chokidar@^1.4.3, chokidar@^1.6.1:
|
||||||
version "1.6.1"
|
version "1.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2"
|
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
|
||||||
dependencies:
|
dependencies:
|
||||||
anymatch "^1.3.0"
|
anymatch "^1.3.0"
|
||||||
async-each "^1.0.0"
|
async-each "^1.0.0"
|
||||||
|
@ -1459,7 +1459,7 @@ cosmiconfig@^1.1.0:
|
||||||
|
|
||||||
coveralls@2.13.1:
|
coveralls@2.13.1:
|
||||||
version "2.13.1"
|
version "2.13.1"
|
||||||
resolved "https://registry.npmjs.org/coveralls/-/coveralls-2.13.1.tgz#d70bb9acc1835ec4f063ff9dac5423c17b11f178"
|
resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-2.13.1.tgz#d70bb9acc1835ec4f063ff9dac5423c17b11f178"
|
||||||
dependencies:
|
dependencies:
|
||||||
js-yaml "3.6.1"
|
js-yaml "3.6.1"
|
||||||
lcov-parse "0.0.10"
|
lcov-parse "0.0.10"
|
||||||
|
@ -1580,8 +1580,8 @@ dashdash@^1.12.0:
|
||||||
assert-plus "^1.0.0"
|
assert-plus "^1.0.0"
|
||||||
|
|
||||||
date-fns@^1.27.2:
|
date-fns@^1.27.2:
|
||||||
version "1.28.3"
|
version "1.28.4"
|
||||||
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.3.tgz#145d87adc3f5a82c6bda668de97eee1132c97ea1"
|
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.4.tgz#7938aec34ba31fc8bd134d2344bc2e0bbfd95165"
|
||||||
|
|
||||||
date-now@^0.1.4:
|
date-now@^0.1.4:
|
||||||
version "0.1.4"
|
version "0.1.4"
|
||||||
|
@ -1597,12 +1597,18 @@ debug@2.6.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
ms "0.7.2"
|
ms "0.7.2"
|
||||||
|
|
||||||
debug@2.6.4, debug@^2.1.1, debug@^2.2.0, debug@^2.6.3:
|
debug@2.6.4:
|
||||||
version "2.6.4"
|
version "2.6.4"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.4.tgz#7586a9b3c39741c0282ae33445c4e8ac74734fe0"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.4.tgz#7586a9b3c39741c0282ae33445c4e8ac74734fe0"
|
||||||
dependencies:
|
dependencies:
|
||||||
ms "0.7.3"
|
ms "0.7.3"
|
||||||
|
|
||||||
|
debug@^2.1.1, debug@^2.2.0, debug@^2.6.3:
|
||||||
|
version "2.6.6"
|
||||||
|
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.6.tgz#a9fa6fbe9ca43cf1e79f73b75c0189cbb7d6db5a"
|
||||||
|
dependencies:
|
||||||
|
ms "0.7.3"
|
||||||
|
|
||||||
decamelize@^1.0.0, decamelize@^1.1.1:
|
decamelize@^1.0.0, decamelize@^1.1.1:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
|
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
|
||||||
|
@ -1730,8 +1736,8 @@ domelementtype@~1.1.1:
|
||||||
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
|
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
|
||||||
|
|
||||||
domhandler@^2.3.0:
|
domhandler@^2.3.0:
|
||||||
version "2.3.0"
|
version "2.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738"
|
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259"
|
||||||
dependencies:
|
dependencies:
|
||||||
domelementtype "1"
|
domelementtype "1"
|
||||||
|
|
||||||
|
@ -1753,8 +1759,8 @@ ee-first@1.1.1:
|
||||||
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
|
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
|
||||||
|
|
||||||
electron-to-chromium@^1.2.7:
|
electron-to-chromium@^1.2.7:
|
||||||
version "1.3.6"
|
version "1.3.9"
|
||||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.6.tgz#b90ff7e9094e6f7dd343761a001e82592d937db2"
|
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.9.tgz#db1cba2a26aebcca2f7f5b8b034554468609157d"
|
||||||
|
|
||||||
elegant-spinner@^1.0.1:
|
elegant-spinner@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
|
@ -1828,10 +1834,10 @@ error-stack-parser@^1.3.6:
|
||||||
stackframe "^0.3.1"
|
stackframe "^0.3.1"
|
||||||
|
|
||||||
error-stack-parser@^2.0.0:
|
error-stack-parser@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.0.tgz#9ce7777b32480e34a34c12a88b3428093fcd14b0"
|
resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.1.tgz#a3202b8fb03114aa9b40a0e3669e48b2b65a010a"
|
||||||
dependencies:
|
dependencies:
|
||||||
stackframe "^1.0.2"
|
stackframe "^1.0.3"
|
||||||
|
|
||||||
es-abstract@^1.6.1, es-abstract@^1.7.0:
|
es-abstract@^1.6.1, es-abstract@^1.7.0:
|
||||||
version "1.7.0"
|
version "1.7.0"
|
||||||
|
@ -1851,8 +1857,8 @@ es-to-primitive@^1.1.1:
|
||||||
is-symbol "^1.0.1"
|
is-symbol "^1.0.1"
|
||||||
|
|
||||||
es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14:
|
es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14:
|
||||||
version "0.10.15"
|
version "0.10.16"
|
||||||
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.15.tgz#c330a5934c1ee21284a7c081a86e5fd937c91ea6"
|
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.16.tgz#1ef1b04f3d09db6a5d630226d62202f2e425e45a"
|
||||||
dependencies:
|
dependencies:
|
||||||
es6-iterator "2"
|
es6-iterator "2"
|
||||||
es6-symbol "~3.1"
|
es6-symbol "~3.1"
|
||||||
|
@ -1995,8 +2001,8 @@ eslint@~3.18.0:
|
||||||
user-home "^2.0.0"
|
user-home "^2.0.0"
|
||||||
|
|
||||||
espree@^3.4.0:
|
espree@^3.4.0:
|
||||||
version "3.4.2"
|
version "3.4.3"
|
||||||
resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.2.tgz#38dbdedbedc95b8961a1fbf04734a8f6a9c8c592"
|
resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374"
|
||||||
dependencies:
|
dependencies:
|
||||||
acorn "^5.0.1"
|
acorn "^5.0.1"
|
||||||
acorn-jsx "^3.0.0"
|
acorn-jsx "^3.0.0"
|
||||||
|
@ -2093,7 +2099,7 @@ expand-range@^1.8.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
fill-range "^2.1.0"
|
fill-range "^2.1.0"
|
||||||
|
|
||||||
express@^4.15.2:
|
express@4.15.2:
|
||||||
version "4.15.2"
|
version "4.15.2"
|
||||||
resolved "https://registry.yarnpkg.com/express/-/express-4.15.2.tgz#af107fc148504457f2dca9a6f2571d7129b97b35"
|
resolved "https://registry.yarnpkg.com/express/-/express-4.15.2.tgz#af107fc148504457f2dca9a6f2571d7129b97b35"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -2127,8 +2133,8 @@ express@^4.15.2:
|
||||||
vary "~1.1.0"
|
vary "~1.1.0"
|
||||||
|
|
||||||
extend@~3.0.0:
|
extend@~3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
|
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
|
||||||
|
|
||||||
extglob@^0.3.1:
|
extglob@^0.3.1:
|
||||||
version "0.3.2"
|
version "0.3.2"
|
||||||
|
@ -2183,8 +2189,8 @@ file-entry-cache@^2.0.0:
|
||||||
object-assign "^4.0.1"
|
object-assign "^4.0.1"
|
||||||
|
|
||||||
filename-regex@^2.0.0:
|
filename-regex@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775"
|
resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
|
||||||
|
|
||||||
fileset@^2.0.2:
|
fileset@^2.0.2:
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
|
@ -2194,8 +2200,8 @@ fileset@^2.0.2:
|
||||||
minimatch "^3.0.3"
|
minimatch "^3.0.3"
|
||||||
|
|
||||||
filesize@^3.2.1:
|
filesize@^3.2.1:
|
||||||
version "3.5.6"
|
version "3.5.9"
|
||||||
resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.6.tgz#5fd98f3eac94ec9516ef8ed5782fad84a01a0a1a"
|
resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.9.tgz#9e3dd8a9b124f5b2f1fb2ee9cd13a86c707bb222"
|
||||||
|
|
||||||
fill-range@^2.1.0:
|
fill-range@^2.1.0:
|
||||||
version "2.2.3"
|
version "2.2.3"
|
||||||
|
@ -2220,10 +2226,10 @@ finalhandler@~1.0.0:
|
||||||
unpipe "~1.0.0"
|
unpipe "~1.0.0"
|
||||||
|
|
||||||
find-babel-config@^1.0.1:
|
find-babel-config@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.0.1.tgz#179fa7b36bf3e94b487410855df448b6f853b9ec"
|
resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.1.0.tgz#acc01043a6749fec34429be6b64f542ebb5d6355"
|
||||||
dependencies:
|
dependencies:
|
||||||
json5 "^0.5.0"
|
json5 "^0.5.1"
|
||||||
path-exists "^3.0.0"
|
path-exists "^3.0.0"
|
||||||
|
|
||||||
find-cache-dir@^0.1.1:
|
find-cache-dir@^0.1.1:
|
||||||
|
@ -2299,7 +2305,7 @@ fly-watch@1.1.1:
|
||||||
|
|
||||||
fly@2.0.6:
|
fly@2.0.6:
|
||||||
version "2.0.6"
|
version "2.0.6"
|
||||||
resolved "https://registry.npmjs.org/fly/-/fly-2.0.6.tgz#77aa3c94e8e30ed235e06e91973f135dd55e03bd"
|
resolved "https://registry.yarnpkg.com/fly/-/fly-2.0.6.tgz#77aa3c94e8e30ed235e06e91973f135dd55e03bd"
|
||||||
dependencies:
|
dependencies:
|
||||||
bluebird "^3.5.0"
|
bluebird "^3.5.0"
|
||||||
clor "^5.0.1"
|
clor "^5.0.1"
|
||||||
|
@ -2388,7 +2394,7 @@ function-bind@^1.0.2, function-bind@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
|
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
|
||||||
|
|
||||||
gauge@~2.7.1:
|
gauge@~2.7.3:
|
||||||
version "2.7.4"
|
version "2.7.4"
|
||||||
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
|
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -2424,8 +2430,8 @@ get-stream@^3.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
|
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
|
||||||
|
|
||||||
getpass@^0.1.1:
|
getpass@^0.1.1:
|
||||||
version "0.1.6"
|
version "0.1.7"
|
||||||
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
|
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
|
||||||
dependencies:
|
dependencies:
|
||||||
assert-plus "^1.0.0"
|
assert-plus "^1.0.0"
|
||||||
|
|
||||||
|
@ -2502,8 +2508,8 @@ growly@^1.3.0:
|
||||||
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
|
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
|
||||||
|
|
||||||
handlebars@^4.0.3:
|
handlebars@^4.0.3:
|
||||||
version "4.0.6"
|
version "4.0.8"
|
||||||
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7"
|
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.8.tgz#22b875cd3f0e6cbea30314f144e82bc7a72ff420"
|
||||||
dependencies:
|
dependencies:
|
||||||
async "^1.4.0"
|
async "^1.4.0"
|
||||||
optimist "^0.6.1"
|
optimist "^0.6.1"
|
||||||
|
@ -2596,8 +2602,8 @@ html-encoding-sniffer@^1.0.1:
|
||||||
whatwg-encoding "^1.0.1"
|
whatwg-encoding "^1.0.1"
|
||||||
|
|
||||||
html-entities@^1.2.0:
|
html-entities@^1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz#41948caf85ce82fed36e4e6a0ed371a6664379e2"
|
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f"
|
||||||
|
|
||||||
htmlescape@1.1.1:
|
htmlescape@1.1.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
|
@ -2660,16 +2666,16 @@ iconv-lite@0.4.13:
|
||||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2"
|
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2"
|
||||||
|
|
||||||
iconv-lite@~0.4.13:
|
iconv-lite@~0.4.13:
|
||||||
version "0.4.15"
|
version "0.4.17"
|
||||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
|
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d"
|
||||||
|
|
||||||
ieee754@^1.1.4:
|
ieee754@^1.1.4:
|
||||||
version "1.1.8"
|
version "1.1.8"
|
||||||
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
|
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
|
||||||
|
|
||||||
ignore@^3.0.9, ignore@^3.2.0:
|
ignore@^3.0.9, ignore@^3.2.0:
|
||||||
version "3.2.7"
|
version "3.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.7.tgz#4810ca5f1d8eca5595213a34b94f2eb4ed926bbd"
|
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.0.tgz#3812d22cbe9125f2c2b4915755a1b8abd745a001"
|
||||||
|
|
||||||
imurmurhash@^0.1.4:
|
imurmurhash@^0.1.4:
|
||||||
version "0.1.4"
|
version "0.1.4"
|
||||||
|
@ -2754,7 +2760,7 @@ is-binary-path@^1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
binary-extensions "^1.0.0"
|
binary-extensions "^1.0.0"
|
||||||
|
|
||||||
is-buffer@^1.0.2:
|
is-buffer@^1.1.5:
|
||||||
version "1.1.5"
|
version "1.1.5"
|
||||||
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
|
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
|
||||||
|
|
||||||
|
@ -2898,8 +2904,8 @@ is-windows-bash@1.0.3:
|
||||||
resolved "https://registry.yarnpkg.com/is-windows-bash/-/is-windows-bash-1.0.3.tgz#00132a47dcdacb00a9d68f3408a4d01d76215e88"
|
resolved "https://registry.yarnpkg.com/is-windows-bash/-/is-windows-bash-1.0.3.tgz#00132a47dcdacb00a9d68f3408a4d01d76215e88"
|
||||||
|
|
||||||
is-windows@^1.0.0:
|
is-windows@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.0.tgz#c61d61020c3ebe99261b781bd3d1622395f547f8"
|
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9"
|
||||||
|
|
||||||
isarray@0.0.1:
|
isarray@0.0.1:
|
||||||
version "0.0.1"
|
version "0.0.1"
|
||||||
|
@ -2931,38 +2937,34 @@ isstream@~0.1.2:
|
||||||
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
|
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
|
||||||
|
|
||||||
istanbul-api@^1.1.0-alpha.1:
|
istanbul-api@^1.1.0-alpha.1:
|
||||||
version "1.1.7"
|
version "1.1.8"
|
||||||
resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.1.7.tgz#f6f37f09f8002b130f891c646b70ee4a8e7345ae"
|
resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.1.8.tgz#a844e55c6f9aeee292e7f42942196f60b23dc93e"
|
||||||
dependencies:
|
dependencies:
|
||||||
async "^2.1.4"
|
async "^2.1.4"
|
||||||
fileset "^2.0.2"
|
fileset "^2.0.2"
|
||||||
istanbul-lib-coverage "^1.0.2"
|
istanbul-lib-coverage "^1.1.0"
|
||||||
istanbul-lib-hook "^1.0.5"
|
istanbul-lib-hook "^1.0.6"
|
||||||
istanbul-lib-instrument "^1.7.0"
|
istanbul-lib-instrument "^1.7.1"
|
||||||
istanbul-lib-report "^1.0.0"
|
istanbul-lib-report "^1.1.0"
|
||||||
istanbul-lib-source-maps "^1.1.1"
|
istanbul-lib-source-maps "^1.2.0"
|
||||||
istanbul-reports "^1.0.2"
|
istanbul-reports "^1.1.0"
|
||||||
js-yaml "^3.7.0"
|
js-yaml "^3.7.0"
|
||||||
mkdirp "^0.5.1"
|
mkdirp "^0.5.1"
|
||||||
once "^1.4.0"
|
once "^1.4.0"
|
||||||
|
|
||||||
istanbul-lib-coverage@^1.0.0:
|
istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.1.0:
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.2.tgz#87a0c015b6910651cb3b184814dfb339337e25e1"
|
|
||||||
|
|
||||||
istanbul-lib-coverage@^1.0.2, istanbul-lib-coverage@^1.1.0:
|
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.0.tgz#caca19decaef3525b5d6331d701f3f3b7ad48528"
|
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.0.tgz#caca19decaef3525b5d6331d701f3f3b7ad48528"
|
||||||
|
|
||||||
istanbul-lib-hook@^1.0.5, istanbul-lib-hook@^1.0.6:
|
istanbul-lib-hook@^1.0.6:
|
||||||
version "1.0.6"
|
version "1.0.6"
|
||||||
resolved "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.6.tgz#c0866d1e81cf2d5319249510131fc16dee49231f"
|
resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.6.tgz#c0866d1e81cf2d5319249510131fc16dee49231f"
|
||||||
dependencies:
|
dependencies:
|
||||||
append-transform "^0.4.0"
|
append-transform "^0.4.0"
|
||||||
|
|
||||||
istanbul-lib-instrument@^1.1.1, istanbul-lib-instrument@^1.4.2, istanbul-lib-instrument@^1.7.0, istanbul-lib-instrument@^1.7.1:
|
istanbul-lib-instrument@^1.1.1, istanbul-lib-instrument@^1.4.2, istanbul-lib-instrument@^1.7.1:
|
||||||
version "1.7.1"
|
version "1.7.1"
|
||||||
resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.1.tgz#169e31bc62c778851a99439dd99c3cc12184d360"
|
resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.1.tgz#169e31bc62c778851a99439dd99c3cc12184d360"
|
||||||
dependencies:
|
dependencies:
|
||||||
babel-generator "^6.18.0"
|
babel-generator "^6.18.0"
|
||||||
babel-template "^6.16.0"
|
babel-template "^6.16.0"
|
||||||
|
@ -2972,18 +2974,18 @@ istanbul-lib-instrument@^1.1.1, istanbul-lib-instrument@^1.4.2, istanbul-lib-ins
|
||||||
istanbul-lib-coverage "^1.1.0"
|
istanbul-lib-coverage "^1.1.0"
|
||||||
semver "^5.3.0"
|
semver "^5.3.0"
|
||||||
|
|
||||||
istanbul-lib-report@^1.0.0, istanbul-lib-report@^1.1.0:
|
istanbul-lib-report@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.0.tgz#444c4ecca9afa93cf584f56b10f195bf768c0770"
|
resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.0.tgz#444c4ecca9afa93cf584f56b10f195bf768c0770"
|
||||||
dependencies:
|
dependencies:
|
||||||
istanbul-lib-coverage "^1.1.0"
|
istanbul-lib-coverage "^1.1.0"
|
||||||
mkdirp "^0.5.1"
|
mkdirp "^0.5.1"
|
||||||
path-parse "^1.0.5"
|
path-parse "^1.0.5"
|
||||||
supports-color "^3.1.2"
|
supports-color "^3.1.2"
|
||||||
|
|
||||||
istanbul-lib-source-maps@^1.1.1, istanbul-lib-source-maps@^1.2.0:
|
istanbul-lib-source-maps@^1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.0.tgz#8c7706d497e26feeb6af3e0c28fd5b0669598d0e"
|
resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.0.tgz#8c7706d497e26feeb6af3e0c28fd5b0669598d0e"
|
||||||
dependencies:
|
dependencies:
|
||||||
debug "^2.6.3"
|
debug "^2.6.3"
|
||||||
istanbul-lib-coverage "^1.1.0"
|
istanbul-lib-coverage "^1.1.0"
|
||||||
|
@ -2991,9 +2993,9 @@ istanbul-lib-source-maps@^1.1.1, istanbul-lib-source-maps@^1.2.0:
|
||||||
rimraf "^2.6.1"
|
rimraf "^2.6.1"
|
||||||
source-map "^0.5.3"
|
source-map "^0.5.3"
|
||||||
|
|
||||||
istanbul-reports@^1.0.2, istanbul-reports@^1.1.0:
|
istanbul-reports@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.0.tgz#1ef3b795889219cfb5fad16365f6ce108d5f8c66"
|
resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.0.tgz#1ef3b795889219cfb5fad16365f6ce108d5f8c66"
|
||||||
dependencies:
|
dependencies:
|
||||||
handlebars "^4.0.3"
|
handlebars "^4.0.3"
|
||||||
|
|
||||||
|
@ -3034,8 +3036,8 @@ jest-cli@19.0.1:
|
||||||
yargs "^6.3.0"
|
yargs "^6.3.0"
|
||||||
|
|
||||||
jest-config@^19.0.1, jest-config@^19.0.2:
|
jest-config@^19.0.1, jest-config@^19.0.2:
|
||||||
version "19.0.2"
|
version "19.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-19.0.2.tgz#1b9bd2db0ddd16df61c2b10a54009e1768da6411"
|
resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-19.0.4.tgz#42980211d46417e91ca7abffd086c270234f73fd"
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk "^1.1.1"
|
chalk "^1.1.1"
|
||||||
jest-environment-jsdom "^19.0.2"
|
jest-environment-jsdom "^19.0.2"
|
||||||
|
@ -3075,8 +3077,8 @@ jest-file-exists@^19.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/jest-file-exists/-/jest-file-exists-19.0.0.tgz#cca2e587a11ec92e24cfeab3f8a94d657f3fceb8"
|
resolved "https://registry.yarnpkg.com/jest-file-exists/-/jest-file-exists-19.0.0.tgz#cca2e587a11ec92e24cfeab3f8a94d657f3fceb8"
|
||||||
|
|
||||||
jest-haste-map@^19.0.0:
|
jest-haste-map@^19.0.0:
|
||||||
version "19.0.1"
|
version "19.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-19.0.1.tgz#7616222491275050c7af39dbeab0a57c32ef9652"
|
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-19.0.2.tgz#286484c3a16e86da7872b0877c35dce30c3d6f07"
|
||||||
dependencies:
|
dependencies:
|
||||||
fb-watchman "^2.0.0"
|
fb-watchman "^2.0.0"
|
||||||
graceful-fs "^4.1.6"
|
graceful-fs "^4.1.6"
|
||||||
|
@ -3140,8 +3142,8 @@ jest-resolve@^19.0.2:
|
||||||
resolve "^1.2.0"
|
resolve "^1.2.0"
|
||||||
|
|
||||||
jest-runtime@^19.0.1:
|
jest-runtime@^19.0.1:
|
||||||
version "19.0.2"
|
version "19.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-19.0.2.tgz#d9a43e72de416d27d196fd9c7940d98fe6685407"
|
resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-19.0.3.tgz#a163354ace46910ee33f0282b6bff6b0b87d4330"
|
||||||
dependencies:
|
dependencies:
|
||||||
babel-core "^6.0.0"
|
babel-core "^6.0.0"
|
||||||
babel-jest "^19.0.0"
|
babel-jest "^19.0.0"
|
||||||
|
@ -3211,8 +3213,8 @@ js-yaml@3.6.1:
|
||||||
esprima "^2.6.0"
|
esprima "^2.6.0"
|
||||||
|
|
||||||
js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.7.0:
|
js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.7.0:
|
||||||
version "3.8.3"
|
version "3.8.4"
|
||||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766"
|
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6"
|
||||||
dependencies:
|
dependencies:
|
||||||
argparse "^1.0.7"
|
argparse "^1.0.7"
|
||||||
esprima "^3.1.1"
|
esprima "^3.1.1"
|
||||||
|
@ -3305,10 +3307,10 @@ kew@^0.7.0:
|
||||||
resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b"
|
resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b"
|
||||||
|
|
||||||
kind-of@^3.0.2:
|
kind-of@^3.0.2:
|
||||||
version "3.1.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
|
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.0.tgz#b58abe4d5c044ad33726a8c1525b48cf891bff07"
|
||||||
dependencies:
|
dependencies:
|
||||||
is-buffer "^1.0.2"
|
is-buffer "^1.1.5"
|
||||||
|
|
||||||
lazy-cache@^1.0.3:
|
lazy-cache@^1.0.3:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
|
@ -3342,13 +3344,13 @@ levn@^0.3.0, levn@~0.3.0:
|
||||||
type-check "~0.3.2"
|
type-check "~0.3.2"
|
||||||
|
|
||||||
lint-staged@^3.4.0:
|
lint-staged@^3.4.0:
|
||||||
version "3.4.0"
|
version "3.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-3.4.0.tgz#52fa85dfc92bb1c6fe8ad0d0d98ca13924e03e4b"
|
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-3.4.1.tgz#96cd1cf7a1ac92d81662643c37d1cca28b91b046"
|
||||||
dependencies:
|
dependencies:
|
||||||
app-root-path "^2.0.0"
|
app-root-path "^2.0.0"
|
||||||
cosmiconfig "^1.1.0"
|
cosmiconfig "^1.1.0"
|
||||||
execa "^0.6.0"
|
execa "^0.6.0"
|
||||||
listr "^0.11.0"
|
listr "^0.12.0"
|
||||||
minimatch "^3.0.0"
|
minimatch "^3.0.0"
|
||||||
npm-which "^3.0.1"
|
npm-which "^3.0.1"
|
||||||
staged-git-files "0.0.4"
|
staged-git-files "0.0.4"
|
||||||
|
@ -3379,9 +3381,9 @@ listr-verbose-renderer@^0.4.0:
|
||||||
date-fns "^1.27.2"
|
date-fns "^1.27.2"
|
||||||
figures "^1.7.0"
|
figures "^1.7.0"
|
||||||
|
|
||||||
listr@^0.11.0:
|
listr@^0.12.0:
|
||||||
version "0.11.0"
|
version "0.12.0"
|
||||||
resolved "https://registry.yarnpkg.com/listr/-/listr-0.11.0.tgz#5e778bc23806ac3ab984ed75564458151f39b03e"
|
resolved "https://registry.yarnpkg.com/listr/-/listr-0.12.0.tgz#6bce2c0f5603fa49580ea17cd6a00cc0e5fa451a"
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk "^1.1.3"
|
chalk "^1.1.3"
|
||||||
cli-truncate "^0.2.1"
|
cli-truncate "^0.2.1"
|
||||||
|
@ -3395,6 +3397,7 @@ listr@^0.11.0:
|
||||||
log-symbols "^1.0.2"
|
log-symbols "^1.0.2"
|
||||||
log-update "^1.0.2"
|
log-update "^1.0.2"
|
||||||
ora "^0.2.3"
|
ora "^0.2.3"
|
||||||
|
p-map "^1.1.1"
|
||||||
rxjs "^5.0.0-beta.11"
|
rxjs "^5.0.0-beta.11"
|
||||||
stream-to-observable "^0.1.0"
|
stream-to-observable "^0.1.0"
|
||||||
strip-ansi "^3.0.1"
|
strip-ansi "^3.0.1"
|
||||||
|
@ -3523,7 +3526,7 @@ longest@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
|
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
|
||||||
|
|
||||||
loose-envify@^1.0.0, loose-envify@^1.1.0:
|
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1:
|
||||||
version "1.3.1"
|
version "1.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
|
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -3648,10 +3651,10 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
|
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
|
||||||
|
|
||||||
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3:
|
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3:
|
||||||
version "3.0.3"
|
version "3.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
|
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion "^1.0.0"
|
brace-expansion "^1.1.7"
|
||||||
|
|
||||||
minimist@0.0.8, minimist@~0.0.1:
|
minimist@0.0.8, minimist@~0.0.1:
|
||||||
version "0.0.8"
|
version "0.0.8"
|
||||||
|
@ -3663,7 +3666,7 @@ minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0:
|
||||||
|
|
||||||
mitt@1.1.1:
|
mitt@1.1.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.npmjs.org/mitt/-/mitt-1.1.1.tgz#14881478496dfa56750ea41af13a7ecb5b69a7c2"
|
resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.1.1.tgz#14881478496dfa56750ea41af13a7ecb5b69a7c2"
|
||||||
|
|
||||||
mkdirp-then@1.2.0:
|
mkdirp-then@1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
|
@ -3692,7 +3695,7 @@ ms@0.7.3:
|
||||||
|
|
||||||
ms@1.0.0:
|
ms@1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmjs.org/ms/-/ms-1.0.0.tgz#59adcd22edc543f7b5381862d31387b1f4bc9473"
|
resolved "https://registry.yarnpkg.com/ms/-/ms-1.0.0.tgz#59adcd22edc543f7b5381862d31387b1f4bc9473"
|
||||||
|
|
||||||
mute-stream@0.0.5:
|
mute-stream@0.0.5:
|
||||||
version "0.0.5"
|
version "0.0.5"
|
||||||
|
@ -3845,12 +3848,12 @@ npm-which@^3.0.1:
|
||||||
which "^1.2.10"
|
which "^1.2.10"
|
||||||
|
|
||||||
npmlog@^4.0.2:
|
npmlog@^4.0.2:
|
||||||
version "4.0.2"
|
version "4.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
|
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5"
|
||||||
dependencies:
|
dependencies:
|
||||||
are-we-there-yet "~1.1.2"
|
are-we-there-yet "~1.1.2"
|
||||||
console-control-strings "~1.1.0"
|
console-control-strings "~1.1.0"
|
||||||
gauge "~2.7.1"
|
gauge "~2.7.3"
|
||||||
set-blocking "~2.0.0"
|
set-blocking "~2.0.0"
|
||||||
|
|
||||||
nth-check@~1.0.1:
|
nth-check@~1.0.1:
|
||||||
|
@ -3867,9 +3870,9 @@ number-is-nan@^1.0.0:
|
||||||
version "1.3.9"
|
version "1.3.9"
|
||||||
resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.3.9.tgz#8bab486ff7fa3dfd086656bbe8b17116d3692d2a"
|
resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.3.9.tgz#8bab486ff7fa3dfd086656bbe8b17116d3692d2a"
|
||||||
|
|
||||||
nyc@10.3.0:
|
nyc@10.3.2:
|
||||||
version "10.3.0"
|
version "10.3.2"
|
||||||
resolved "https://registry.npmjs.org/nyc/-/nyc-10.3.0.tgz#a7051ac03f89d17e719a586a66a84ce4bdfde857"
|
resolved "https://registry.yarnpkg.com/nyc/-/nyc-10.3.2.tgz#f27f4d91f2a9db36c24f574ff5c6efff0233de46"
|
||||||
dependencies:
|
dependencies:
|
||||||
archy "^1.0.0"
|
archy "^1.0.0"
|
||||||
arrify "^1.0.1"
|
arrify "^1.0.1"
|
||||||
|
@ -4009,6 +4012,10 @@ p-locate@^2.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
p-limit "^1.1.0"
|
p-limit "^1.1.0"
|
||||||
|
|
||||||
|
p-map@^1.1.1:
|
||||||
|
version "1.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.1.1.tgz#05f5e4ae97a068371bc2a5cc86bfbdbc19c4ae7a"
|
||||||
|
|
||||||
pako@~0.2.0:
|
pako@~0.2.0:
|
||||||
version "0.2.9"
|
version "0.2.9"
|
||||||
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
|
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
|
||||||
|
@ -4183,8 +4190,8 @@ process-nextick-args@~1.0.6:
|
||||||
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
|
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
|
||||||
|
|
||||||
process@^0.11.0:
|
process@^0.11.0:
|
||||||
version "0.11.9"
|
version "0.11.10"
|
||||||
resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
|
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
|
||||||
|
|
||||||
process@~0.5.1:
|
process@~0.5.1:
|
||||||
version "0.5.2"
|
version "0.5.2"
|
||||||
|
@ -4200,11 +4207,12 @@ promise@^7.0.1, promise@^7.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
asap "~2.0.3"
|
asap "~2.0.3"
|
||||||
|
|
||||||
prop-types@15.5.7, prop-types@^15.5.2, prop-types@^15.5.4, prop-types@~15.5.0:
|
prop-types@15.5.9, prop-types@^15.5.2, prop-types@^15.5.4, prop-types@~15.5.0:
|
||||||
version "15.5.7"
|
version "15.5.9"
|
||||||
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.7.tgz#231c4f29cdd82e355011d4889386ca9059544dd1"
|
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.9.tgz#d478eef0e761396942f70c78e772f76e8be747c9"
|
||||||
dependencies:
|
dependencies:
|
||||||
fbjs "^0.8.9"
|
fbjs "^0.8.9"
|
||||||
|
loose-envify "^1.3.1"
|
||||||
|
|
||||||
proxy-addr@~1.1.3:
|
proxy-addr@~1.1.3:
|
||||||
version "1.1.4"
|
version "1.1.4"
|
||||||
|
@ -4400,8 +4408,8 @@ regenerate@^1.2.1:
|
||||||
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
|
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
|
||||||
|
|
||||||
regenerator-runtime@^0.10.0:
|
regenerator-runtime@^0.10.0:
|
||||||
version "0.10.3"
|
version "0.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e"
|
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
|
||||||
|
|
||||||
regenerator-transform@0.9.11:
|
regenerator-transform@0.9.11:
|
||||||
version "0.9.11"
|
version "0.9.11"
|
||||||
|
@ -4591,8 +4599,8 @@ rx-lite@^3.1.2:
|
||||||
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
|
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
|
||||||
|
|
||||||
rxjs@^5.0.0-beta.11:
|
rxjs@^5.0.0-beta.11:
|
||||||
version "5.3.0"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.3.0.tgz#d88ccbdd46af290cbdb97d5d8055e52453fabe2d"
|
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.0.tgz#a7db14ab157f9d7aac6a56e655e7a3860d39bf26"
|
||||||
dependencies:
|
dependencies:
|
||||||
symbol-observable "^1.0.1"
|
symbol-observable "^1.0.1"
|
||||||
|
|
||||||
|
@ -4640,7 +4648,7 @@ send@0.15.1:
|
||||||
|
|
||||||
send@0.15.2:
|
send@0.15.2:
|
||||||
version "0.15.2"
|
version "0.15.2"
|
||||||
resolved "https://registry.npmjs.org/send/-/send-0.15.2.tgz#f91fab4403bcf87e716f70ceb5db2f578bdc17d6"
|
resolved "https://registry.yarnpkg.com/send/-/send-0.15.2.tgz#f91fab4403bcf87e716f70ceb5db2f578bdc17d6"
|
||||||
dependencies:
|
dependencies:
|
||||||
debug "2.6.4"
|
debug "2.6.4"
|
||||||
depd "~1.1.0"
|
depd "~1.1.0"
|
||||||
|
@ -4736,12 +4744,12 @@ sntp@1.x.x:
|
||||||
hoek "2.x.x"
|
hoek "2.x.x"
|
||||||
|
|
||||||
source-list-map@^1.1.1:
|
source-list-map@^1.1.1:
|
||||||
version "1.1.1"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4"
|
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1"
|
||||||
|
|
||||||
source-map-support@0.4.15, source-map-support@^0.4.2:
|
source-map-support@0.4.15, source-map-support@^0.4.2:
|
||||||
version "0.4.15"
|
version "0.4.15"
|
||||||
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1"
|
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1"
|
||||||
dependencies:
|
dependencies:
|
||||||
source-map "^0.5.6"
|
source-map "^0.5.6"
|
||||||
|
|
||||||
|
@ -4786,7 +4794,11 @@ spdx-license-ids@^1.0.2:
|
||||||
version "1.2.2"
|
version "1.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
|
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
|
||||||
|
|
||||||
sprintf-js@^1.0.3, sprintf-js@~1.0.2:
|
sprintf-js@^1.0.3:
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.0.tgz#cffcaf702daf65ea39bb4e0fa2b299cec1a1be46"
|
||||||
|
|
||||||
|
sprintf-js@~1.0.2:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||||
|
|
||||||
|
@ -4809,9 +4821,9 @@ stackframe@^0.3.1:
|
||||||
version "0.3.1"
|
version "0.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4"
|
resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4"
|
||||||
|
|
||||||
stackframe@^1.0.2:
|
stackframe@^1.0.3:
|
||||||
version "1.0.2"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.2.tgz#162245509c687d328b14f671dab8fdb755b1e1e8"
|
resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.3.tgz#fe64ab20b170e4ce49044b126c119dfa0e5dc7cc"
|
||||||
|
|
||||||
staged-git-files@0.0.4:
|
staged-git-files@0.0.4:
|
||||||
version "0.0.4"
|
version "0.0.4"
|
||||||
|
@ -4851,8 +4863,8 @@ stream-browserify@^2.0.1:
|
||||||
readable-stream "^2.0.2"
|
readable-stream "^2.0.2"
|
||||||
|
|
||||||
stream-http@^2.3.1:
|
stream-http@^2.3.1:
|
||||||
version "2.7.0"
|
version "2.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.0.tgz#cec1f4e3b494bc4a81b451808970f8b20b4ed5f6"
|
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.1.tgz#546a51741ad5a6b07e9e31b0b10441a917df528a"
|
||||||
dependencies:
|
dependencies:
|
||||||
builtin-status-codes "^3.0.0"
|
builtin-status-codes "^3.0.0"
|
||||||
inherits "^2.0.1"
|
inherits "^2.0.1"
|
||||||
|
@ -5015,7 +5027,7 @@ test-exclude@^3.3.0:
|
||||||
|
|
||||||
test-exclude@^4.1.0:
|
test-exclude@^4.1.0:
|
||||||
version "4.1.0"
|
version "4.1.0"
|
||||||
resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.0.tgz#04ca70b7390dd38c98d4a003a173806ca7991c91"
|
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.0.tgz#04ca70b7390dd38c98d4a003a173806ca7991c91"
|
||||||
dependencies:
|
dependencies:
|
||||||
arrify "^1.0.1"
|
arrify "^1.0.1"
|
||||||
micromatch "^2.3.11"
|
micromatch "^2.3.11"
|
||||||
|
@ -5062,8 +5074,8 @@ to-arraybuffer@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
|
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
|
||||||
|
|
||||||
to-fast-properties@^1.0.1:
|
to-fast-properties@^1.0.1:
|
||||||
version "1.0.2"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320"
|
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
|
||||||
|
|
||||||
touch@1.0.0:
|
touch@1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
|
@ -5129,8 +5141,8 @@ ua-parser-js@^0.7.9:
|
||||||
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
|
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
|
||||||
|
|
||||||
uglify-js@^2.6, uglify-js@^2.8.5:
|
uglify-js@^2.6, uglify-js@^2.8.5:
|
||||||
version "2.8.22"
|
version "2.8.23"
|
||||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0"
|
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.23.tgz#8230dd9783371232d62a7821e2cf9a817270a8a0"
|
||||||
dependencies:
|
dependencies:
|
||||||
source-map "~0.5.1"
|
source-map "~0.5.1"
|
||||||
yargs "~3.10.0"
|
yargs "~3.10.0"
|
||||||
|
@ -5267,7 +5279,7 @@ webidl-conversions@^4.0.0:
|
||||||
|
|
||||||
webpack-dev-middleware@1.10.2:
|
webpack-dev-middleware@1.10.2:
|
||||||
version "1.10.2"
|
version "1.10.2"
|
||||||
resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz#2e252ce1dfb020dbda1ccb37df26f30ab014dbd1"
|
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz#2e252ce1dfb020dbda1ccb37df26f30ab014dbd1"
|
||||||
dependencies:
|
dependencies:
|
||||||
memory-fs "~0.4.1"
|
memory-fs "~0.4.1"
|
||||||
mime "^1.3.4"
|
mime "^1.3.4"
|
||||||
|
@ -5290,9 +5302,9 @@ webpack-sources@^0.2.3:
|
||||||
source-list-map "^1.1.1"
|
source-list-map "^1.1.1"
|
||||||
source-map "~0.5.3"
|
source-map "~0.5.3"
|
||||||
|
|
||||||
webpack@2.4.0:
|
webpack@2.5.1:
|
||||||
version "2.4.0"
|
version "2.5.1"
|
||||||
resolved "https://registry.npmjs.org/webpack/-/webpack-2.4.0.tgz#04cc247470996d07659b39563040a4bc00fe301e"
|
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.5.1.tgz#61742f0cf8af555b87460a9cd8bba2f1e3ee2fce"
|
||||||
dependencies:
|
dependencies:
|
||||||
acorn "^5.0.0"
|
acorn "^5.0.0"
|
||||||
acorn-dynamic-import "^2.0.0"
|
acorn-dynamic-import "^2.0.0"
|
||||||
|
@ -5327,8 +5339,8 @@ whatwg-fetch@>=0.10.0:
|
||||||
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
|
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
|
||||||
|
|
||||||
whatwg-url@^4.3.0:
|
whatwg-url@^4.3.0:
|
||||||
version "4.7.0"
|
version "4.8.0"
|
||||||
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.7.0.tgz#202035ac1955b087cdd20fa8b58ded3ab1cd2af5"
|
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0"
|
||||||
dependencies:
|
dependencies:
|
||||||
tr46 "~0.0.3"
|
tr46 "~0.0.3"
|
||||||
webidl-conversions "^3.0.0"
|
webidl-conversions "^3.0.0"
|
||||||
|
@ -5344,10 +5356,10 @@ which@^1.1.1, which@^1.2.10, which@^1.2.12, which@^1.2.4, which@^1.2.9:
|
||||||
isexe "^2.0.0"
|
isexe "^2.0.0"
|
||||||
|
|
||||||
wide-align@^1.1.0:
|
wide-align@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad"
|
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.1.tgz#d2ea8aa2db2e66467e8b60cc3e897de3bc4429e6"
|
||||||
dependencies:
|
dependencies:
|
||||||
string-width "^1.0.1"
|
string-width "^2.0.0"
|
||||||
|
|
||||||
window-size@0.1.0:
|
window-size@0.1.0:
|
||||||
version "0.1.0"
|
version "0.1.0"
|
||||||
|
@ -5380,8 +5392,8 @@ wrappy@1:
|
||||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||||
|
|
||||||
write-file-atomic@^1.1.4:
|
write-file-atomic@^1.1.4:
|
||||||
version "1.3.2"
|
version "1.3.4"
|
||||||
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.2.tgz#f80ac5e06d3a38996ab51b5d310db57102deb902"
|
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f"
|
||||||
dependencies:
|
dependencies:
|
||||||
graceful-fs "^4.1.11"
|
graceful-fs "^4.1.11"
|
||||||
imurmurhash "^0.1.4"
|
imurmurhash "^0.1.4"
|
||||||
|
@ -5389,7 +5401,7 @@ write-file-atomic@^1.1.4:
|
||||||
|
|
||||||
write-file-webpack-plugin@4.0.2:
|
write-file-webpack-plugin@4.0.2:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.npmjs.org/write-file-webpack-plugin/-/write-file-webpack-plugin-4.0.2.tgz#70c89a4d99a105e1aed778b21b5f75e7af4da58b"
|
resolved "https://registry.yarnpkg.com/write-file-webpack-plugin/-/write-file-webpack-plugin-4.0.2.tgz#70c89a4d99a105e1aed778b21b5f75e7af4da58b"
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk "^1.1.1"
|
chalk "^1.1.1"
|
||||||
filesize "^3.2.1"
|
filesize "^3.2.1"
|
||||||
|
@ -5451,7 +5463,7 @@ yargs@^6.0.0, yargs@^6.3.0:
|
||||||
|
|
||||||
yargs@^7.1.0:
|
yargs@^7.1.0:
|
||||||
version "7.1.0"
|
version "7.1.0"
|
||||||
resolved "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
|
resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
|
||||||
dependencies:
|
dependencies:
|
||||||
camelcase "^3.0.0"
|
camelcase "^3.0.0"
|
||||||
cliui "^3.2.0"
|
cliui "^3.2.0"
|
||||||
|
|
Loading…
Reference in a new issue