mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-11 08:33:53 +00:00
Merge branch 'dev' of github.com:Atinux/nuxt.js into dev
This commit is contained in:
commit
222c737a1d
10
README.md
10
README.md
@ -158,10 +158,12 @@ Learn more at [nuxtjs.org](https://nuxtjs.org).
|
|||||||
## Templates
|
## Templates
|
||||||
|
|
||||||
You can start by using one of our starter templates:
|
You can start by using one of our starter templates:
|
||||||
- [starter](https://github.com/nuxt/starter): Basic Nuxt.js project template
|
- [starter](https://github.com/nuxt-community/starter-template): Basic Nuxt.js project template
|
||||||
- [express](https://github.com/nuxt/express): Nuxt.js + Express
|
- [express](https://github.com/nuxt-community/express-template): Nuxt.js + Express
|
||||||
- [koa](https://github.com/nuxt/koa): Nuxt.js + Koa
|
- [koa](https://github.com/nuxt-community/koa-template): Nuxt.js + Koa
|
||||||
- [adonuxt](https://github.com/nuxt/adonuxt): Nuxt.js + AdonisJS
|
- [adonuxt](https://github.com/nuxt-community/adonuxt-template): Nuxt.js + AdonisJS
|
||||||
|
- [micro](https://github.com/nuxt-community/micro-template): Nuxt.js + Micro
|
||||||
|
- [nuxtent](https://github.com/nuxt-community/nuxtent-template): Nuxt.js + Nuxtent module for content heavy sites
|
||||||
|
|
||||||
## Using nuxt.js programmatically
|
## Using nuxt.js programmatically
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ const builds = {
|
|||||||
},
|
},
|
||||||
core: {
|
core: {
|
||||||
entry: resolve(libDir, 'core/index.js'),
|
entry: resolve(libDir, 'core/index.js'),
|
||||||
dest: resolve(distDir, 'core.js')
|
dest: resolve(distDir, 'core.js'),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ function genConfig (opts) {
|
|||||||
const config = {
|
const config = {
|
||||||
entry: opts.entry,
|
entry: opts.entry,
|
||||||
dest: opts.dest,
|
dest: opts.dest,
|
||||||
external: ['fs', 'path', 'http'].concat(dependencies, opts.external),
|
external: ['fs', 'path', 'http', 'module', 'vue-server-renderer/server-plugin', 'vue-server-renderer/client-plugin'].concat(dependencies, opts.external),
|
||||||
format: opts.format || 'cjs',
|
format: opts.format || 'cjs',
|
||||||
banner: opts.banner || banner,
|
banner: opts.banner || banner,
|
||||||
moduleName: opts.moduleName || 'Nuxt',
|
moduleName: opts.moduleName || 'Nuxt',
|
||||||
|
@ -14,9 +14,12 @@ const packageJSON = readJSONSync(resolve(rootDir, 'package.json'))
|
|||||||
let requires = [
|
let requires = [
|
||||||
'source-map-support'
|
'source-map-support'
|
||||||
]
|
]
|
||||||
|
|
||||||
const excludes = [
|
const excludes = [
|
||||||
'path',
|
'path',
|
||||||
'fs'
|
'fs',
|
||||||
|
'http',
|
||||||
|
'module'
|
||||||
].concat(Object.keys(packageJSON.devDependencies))
|
].concat(Object.keys(packageJSON.devDependencies))
|
||||||
|
|
||||||
// Parse dist/core.js for all external dependencies
|
// Parse dist/core.js for all external dependencies
|
||||||
|
1
examples/custom-server/nuxt.config.js
Normal file
1
examples/custom-server/nuxt.config.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = {}
|
12
examples/custom-server/package.json
Normal file
12
examples/custom-server/package.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"name": "nuxt-custom-server",
|
||||||
|
"dependencies": {
|
||||||
|
"express": "^4.15.3",
|
||||||
|
"nuxt": "^1.0.0-rc3"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"dev": "node server.js",
|
||||||
|
"build": "nuxt build",
|
||||||
|
"start": "NODE_ENV=production node server.js"
|
||||||
|
}
|
||||||
|
}
|
3
examples/custom-server/pages/index.vue
Normal file
3
examples/custom-server/pages/index.vue
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<template>
|
||||||
|
<p>Please look at <code>server.js</code> to see how to use <a href="https://nuxtjs.org">Nuxt.js</a> programmatically.</p>
|
||||||
|
</template>
|
@ -1,27 +1,24 @@
|
|||||||
const Nuxt = require('../../')
|
|
||||||
const app = require('express')()
|
const app = require('express')()
|
||||||
|
const { Nuxt, Builder } = require('nuxt')
|
||||||
|
|
||||||
const host = process.env.HOST || '127.0.0.1'
|
const host = process.env.HOST || '127.0.0.1'
|
||||||
const port = process.env.PORT || 3000
|
const port = process.env.PORT || 3000
|
||||||
|
|
||||||
global.fetch = require('node-fetch')
|
|
||||||
|
|
||||||
// Import and Set Nuxt.js options
|
// Import and Set Nuxt.js options
|
||||||
let config = require('./nuxt.config.js')
|
let config = require('./nuxt.config.js')
|
||||||
config.dev = !(process.env.NODE_ENV === 'production')
|
config.dev = !(process.env.NODE_ENV === 'production')
|
||||||
|
|
||||||
// Init Nuxt.js
|
|
||||||
const nuxt = new Nuxt(config)
|
const nuxt = new Nuxt(config)
|
||||||
app.use(nuxt.render)
|
|
||||||
|
|
||||||
// Build only in dev mode
|
// Start build process if
|
||||||
if (config.dev) {
|
if (config.dev) {
|
||||||
nuxt.build()
|
const builder = new Builder(nuxt)
|
||||||
.catch((error) => {
|
builder.build()
|
||||||
console.error(error) // eslint-disable-line no-console
|
|
||||||
process.exit(1)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Listen the server
|
// Give nuxt middleware to express
|
||||||
|
app.use(nuxt.render)
|
||||||
|
|
||||||
|
// Start express server
|
||||||
app.listen(port, host)
|
app.listen(port, host)
|
||||||
console.log('Server listening on ' + host + ':' + port) // eslint-disable-line no-console
|
console.log('Server listening on ' + host + ':' + port)
|
@ -1,7 +1,7 @@
|
|||||||
# WIP
|
|
||||||
|
|
||||||
# Vue-Apollo with Nuxt.js
|
# Vue-Apollo with Nuxt.js
|
||||||
|
|
||||||
https://nuxtjs.org/examples/vue-apollo
|
Demo: https://nuxt-vue-apollo.now.sh/
|
||||||
|
|
||||||
|
https://github.com/nuxt-community/apollo-module
|
||||||
|
|
||||||
https://github.com/Akryum/vue-apollo
|
https://github.com/Akryum/vue-apollo
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
export default async function ({ isServer, apolloProvider }) {
|
|
||||||
if (isServer) {
|
|
||||||
const ensureReady = apolloProvider.collect()
|
|
||||||
console.log('Call ensureReady!', ensureReady())
|
|
||||||
await ensureReady()
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,12 +1,8 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
build: {
|
modules: ['@nuxtjs/apollo'],
|
||||||
vendor: ['vue-apollo', 'apollo-client']
|
apollo: {
|
||||||
},
|
clients: {
|
||||||
router: {
|
default: 'https://api.graph.cool/simple/v1/cj1dqiyvqqnmj0113yuqamkuu'
|
||||||
middleware: 'apollo'
|
}
|
||||||
},
|
}
|
||||||
plugins: [
|
|
||||||
// Will inject the plugin in the $root app and also in the context as `apolloProvider`
|
|
||||||
{ src: '~plugins/apollo.js', injectAs: 'apolloProvider' }
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "nuxt-i18n",
|
"name": "nuxt-vue-apollo",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"apollo-client": "^1.0.3",
|
"@nuxtjs/apollo": "^0.1.0",
|
||||||
"nuxt": "latest",
|
"nuxt": "^1.0.0-rc2"
|
||||||
"vue-apollo": "^2.1.0-beta.2"
|
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "node server.js",
|
"dev": "nuxt",
|
||||||
"build": "nuxt build",
|
"build": "nuxt build",
|
||||||
"start": "cross-env NODE_ENV=production node server.js"
|
"start": "nuxt start"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
41
examples/vue-apollo/pages/car/_id.vue
Normal file
41
examples/vue-apollo/pages/car/_id.vue
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<template>
|
||||||
|
<div v-if="Car">
|
||||||
|
<h3>{{ Car.make }} {{ Car.model }}</h3>
|
||||||
|
<p>{{ formatCurrency(Car.price) }}</p>
|
||||||
|
<img :src="Car.photoURL" :alt="`${Car.model} photo`">
|
||||||
|
<p><nuxt-link to="/">Home page</nuxt-link></p>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import car from '~/queries/car'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
apollo: {
|
||||||
|
Car: {
|
||||||
|
query: car,
|
||||||
|
prefetch: ({ route }) => ({ id: route.params.id }),
|
||||||
|
variables() {
|
||||||
|
return { id: this.$route.params.id }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
formatCurrency(num) {
|
||||||
|
const formatter = new Intl.NumberFormat('en-US', {
|
||||||
|
style: 'currency',
|
||||||
|
currency: 'USD',
|
||||||
|
minimumFractionDigits: 2
|
||||||
|
})
|
||||||
|
return formatter.format(num)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
img {
|
||||||
|
max-width: 600px;
|
||||||
|
}
|
||||||
|
</style>
|
@ -12,21 +12,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import client from '~plugins/apollo'
|
import allCars from '~/queries/allCars'
|
||||||
import gql from 'graphql-tag'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
apollo: {
|
apollo: {
|
||||||
allCars: gql`
|
allCars: {
|
||||||
query {
|
prefetch: true,
|
||||||
allCars {
|
query: allCars
|
||||||
id
|
}
|
||||||
make
|
|
||||||
model
|
|
||||||
year
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
import 'babel-polyfill'
|
|
||||||
import Vue from 'vue'
|
|
||||||
import VueApollo from 'vue-apollo'
|
|
||||||
import { ApolloClient, createNetworkInterface } from 'apollo-client'
|
|
||||||
|
|
||||||
Vue.use(VueApollo)
|
|
||||||
|
|
||||||
const API_ENDPOINT = 'https://api.graph.cool/simple/v1/cj1dqiyvqqnmj0113yuqamkuu'
|
|
||||||
|
|
||||||
const apolloClient = new ApolloClient({
|
|
||||||
networkInterface: createNetworkInterface({
|
|
||||||
uri: API_ENDPOINT,
|
|
||||||
transportBatching: true
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
const apolloProvider = new VueApollo({
|
|
||||||
defaultClient: apolloClient
|
|
||||||
})
|
|
||||||
|
|
||||||
export default apolloProvider
|
|
8
examples/vue-apollo/queries/allCars.gql
Normal file
8
examples/vue-apollo/queries/allCars.gql
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
allCars {
|
||||||
|
id
|
||||||
|
make
|
||||||
|
model
|
||||||
|
year
|
||||||
|
}
|
||||||
|
}
|
8
examples/vue-apollo/queries/car.gql
Normal file
8
examples/vue-apollo/queries/car.gql
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
query Car($id: ID!) {
|
||||||
|
Car(id: $id) {
|
||||||
|
make
|
||||||
|
model
|
||||||
|
photoURL
|
||||||
|
price
|
||||||
|
}
|
||||||
|
}
|
@ -1,29 +0,0 @@
|
|||||||
# nuxt-with-apollo
|
|
||||||
|
|
||||||
> Nuxt.js with Apollo (GraphQL client)
|
|
||||||
|
|
||||||
[DEMO](https://nuxt-apollo.now.sh/)
|
|
||||||
|
|
||||||
## About
|
|
||||||
|
|
||||||
This project uses [Apollo](http://www.apollodata.com/) as a GraphQL client and [Graphcool](https://www.graph.cool/) as a hosted GraphQL backend.
|
|
||||||
|
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
Download this example [or clone the repo](https://github.com/nuxt/nuxt.js):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl https://codeload.github.com/nuxt/nuxt.js/tar.gz/master | tar -xz --strip=2 nuxt.js-master/examples/with-apollo
|
|
||||||
cd with-apollo
|
|
||||||
```
|
|
||||||
|
|
||||||
Install and run:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm install
|
|
||||||
npm run dev
|
|
||||||
|
|
||||||
# or with Yarn
|
|
||||||
yarn
|
|
||||||
yarn dev
|
|
||||||
```
|
|
@ -1,19 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div>
|
|
||||||
<h1 @click="$router.push('/')">Nuxt.js + Apollo</h1>
|
|
||||||
<nuxt/>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
|
||||||
padding: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,13 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="container">
|
|
||||||
<h3 v-if="error.statusCode === 404">Page not found</h3>
|
|
||||||
<h3 v-else>An error occured</h3>
|
|
||||||
<nuxt-link to="/">← Home page</nuxt-link>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
props: ['error']
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "nuxt-apollo",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "Nuxt.js with Apollo",
|
|
||||||
"author": "Charlie Hield",
|
|
||||||
"license": "MIT",
|
|
||||||
"scripts": {
|
|
||||||
"dev": "nuxt",
|
|
||||||
"build": "nuxt build",
|
|
||||||
"start": "nuxt start"
|
|
||||||
},
|
|
||||||
"keywords": [
|
|
||||||
"nuxt",
|
|
||||||
"vue",
|
|
||||||
"apollo",
|
|
||||||
"graphql"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"apollo-client": "^1.0.2",
|
|
||||||
"graphql-tag": "^2.0.0",
|
|
||||||
"isomorphic-fetch": "^2.2.1",
|
|
||||||
"nuxt": "^0.10.5"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,54 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div>
|
|
||||||
<h3>{{ car.make }} {{ car.model }}</h3>
|
|
||||||
<p>{{ formatCurrency(car.price) }}</p>
|
|
||||||
<img :src="car.photoURL" :alt="`${car.model} photo`">
|
|
||||||
<p><nuxt-link to="/">Home page</nuxt-link></p>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import client from '~plugins/apollo'
|
|
||||||
import gql from 'graphql-tag'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
|
|
||||||
async asyncData({ params }) {
|
|
||||||
let { data } = await client.query({
|
|
||||||
query: gql`
|
|
||||||
query {
|
|
||||||
Car(id: "${params.id}") {
|
|
||||||
make
|
|
||||||
model
|
|
||||||
photoURL
|
|
||||||
price
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`
|
|
||||||
})
|
|
||||||
return {
|
|
||||||
car: data.Car
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
methods: {
|
|
||||||
formatCurrency(num) {
|
|
||||||
const formatter = new Intl.NumberFormat('en-US', {
|
|
||||||
style: 'currency',
|
|
||||||
currency: 'USD',
|
|
||||||
minimumFractionDigits: 2
|
|
||||||
})
|
|
||||||
return formatter.format(num)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
img {
|
|
||||||
max-width: 600px;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,59 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div>
|
|
||||||
<h3>Cars</h3>
|
|
||||||
<ul>
|
|
||||||
<li v-for="car in cars">
|
|
||||||
<nuxt-link :to="`car/${car.id}`">
|
|
||||||
{{ car.year }} {{ car.make }} {{ car.model }}
|
|
||||||
</nuxt-link>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import client from '~plugins/apollo'
|
|
||||||
import gql from 'graphql-tag'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
|
|
||||||
async asyncData() {
|
|
||||||
let { data } = await client.query({
|
|
||||||
query: gql`
|
|
||||||
query {
|
|
||||||
allCars {
|
|
||||||
id
|
|
||||||
make
|
|
||||||
model
|
|
||||||
year
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`
|
|
||||||
})
|
|
||||||
return {
|
|
||||||
cars: data.allCars
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
ul {
|
|
||||||
list-style-type: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
line-height: 1.6;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
text-decoration: none;
|
|
||||||
color: #3498DB;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
border-bottom: 1px solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,15 +0,0 @@
|
|||||||
import Vue from 'vue'
|
|
||||||
import { ApolloClient, createNetworkInterface } from 'apollo-client'
|
|
||||||
import 'isomorphic-fetch'
|
|
||||||
|
|
||||||
// Created with Graphcool - https://www.graph.cool/
|
|
||||||
const API_ENDPOINT = 'https://api.graph.cool/simple/v1/cj1dqiyvqqnmj0113yuqamkuu'
|
|
||||||
|
|
||||||
const apolloClient = new ApolloClient({
|
|
||||||
networkInterface: createNetworkInterface({
|
|
||||||
uri: API_ENDPOINT,
|
|
||||||
transportBatching: true
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
export default apolloClient
|
|
@ -8,7 +8,7 @@
|
|||||||
<script>
|
<script>
|
||||||
<% if (loading) { %>import NuxtLoading from '<%= (typeof loading === "string" ? loading : "./components/nuxt-loading.vue") %>'<% } %>
|
<% if (loading) { %>import NuxtLoading from '<%= (typeof loading === "string" ? loading : "./components/nuxt-loading.vue") %>'<% } %>
|
||||||
<% css.forEach(function (c) { %>
|
<% css.forEach(function (c) { %>
|
||||||
import '<%= wp(c.src || c) %>'
|
import '<%= relativeToBuild(resolvePath(c.src || c)) %>'
|
||||||
<% }) %>
|
<% }) %>
|
||||||
|
|
||||||
let layouts = {
|
let layouts = {
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import middleware from './middleware'
|
import middleware from './middleware'
|
||||||
import { createApp, NuxtError } from './index'
|
import { createApp, NuxtError } from './index'
|
||||||
import {
|
import {
|
||||||
applyAsyncData,
|
applyAsyncData,
|
||||||
sanitizeComponent,
|
sanitizeComponent,
|
||||||
getMatchedComponents,
|
getMatchedComponents,
|
||||||
getMatchedComponentsInstances,
|
getMatchedComponentsInstances,
|
||||||
flatMapComponents,
|
flatMapComponents,
|
||||||
getContext,
|
getContext,
|
||||||
middlewareSeries,
|
middlewareSeries,
|
||||||
promisify,
|
promisify,
|
||||||
getLocation,
|
getLocation,
|
||||||
@ -51,11 +51,11 @@ function mapTransitions(Components, to, from) {
|
|||||||
const transition = componentOption(component, 'transition', to, from)
|
const transition = componentOption(component, 'transition', to, from)
|
||||||
return (typeof transition === 'string' ? { name: transition } : transition)
|
return (typeof transition === 'string' ? { name: transition } : transition)
|
||||||
}
|
}
|
||||||
|
|
||||||
return Components.map(Component => {
|
return Components.map(Component => {
|
||||||
// Clone original object to prevent overrides
|
// Clone original object to prevent overrides
|
||||||
const transitions = Object.assign({}, componentTransitions(Component))
|
const transitions = Object.assign({}, componentTransitions(Component))
|
||||||
|
|
||||||
// Combine transitions & prefer `leave` transitions of 'from' route
|
// Combine transitions & prefer `leave` transitions of 'from' route
|
||||||
if (from && from.matched.length && from.matched[0].components.default) {
|
if (from && from.matched.length && from.matched[0].components.default) {
|
||||||
const from_transitions = componentTransitions(from.matched[0].components.default)
|
const from_transitions = componentTransitions(from.matched[0].components.default)
|
||||||
@ -63,7 +63,7 @@ function mapTransitions(Components, to, from) {
|
|||||||
.filter(key => from_transitions[key] && key.toLowerCase().indexOf('leave') !== -1)
|
.filter(key => from_transitions[key] && key.toLowerCase().indexOf('leave') !== -1)
|
||||||
.forEach(key => { transitions[key] = from_transitions[key] })
|
.forEach(key => { transitions[key] = from_transitions[key] })
|
||||||
}
|
}
|
||||||
|
|
||||||
return transitions
|
return transitions
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -73,7 +73,7 @@ async function loadAsyncComponents (to, from, next) {
|
|||||||
const fromPath = from.fullPath.split('#')[0]
|
const fromPath = from.fullPath.split('#')[0]
|
||||||
const toPath = to.fullPath.split('#')[0]
|
const toPath = to.fullPath.split('#')[0]
|
||||||
this._hashChanged = fromPath === toPath
|
this._hashChanged = fromPath === toPath
|
||||||
|
|
||||||
<% if (loading) { %>
|
<% if (loading) { %>
|
||||||
if (!this._hashChanged && this.$loading.start) {
|
if (!this._hashChanged && this.$loading.start) {
|
||||||
this.$loading.start()
|
this.$loading.start()
|
||||||
@ -109,9 +109,9 @@ async function loadAsyncComponents (to, from, next) {
|
|||||||
// Get matched components
|
// Get matched components
|
||||||
function resolveComponents(router) {
|
function resolveComponents(router) {
|
||||||
const path = getLocation(router.options.base)
|
const path = getLocation(router.options.base)
|
||||||
|
|
||||||
return flatMapComponents(router.match(path), (Component, _, match, key, index) => {
|
return flatMapComponents(router.match(path), (Component, _, match, key, index) => {
|
||||||
// If component already resolved
|
// If component already resolved
|
||||||
if (typeof Component !== 'function' || Component.options) {
|
if (typeof Component !== 'function' || Component.options) {
|
||||||
const _Component = sanitizeComponent(Component)
|
const _Component = sanitizeComponent(Component)
|
||||||
match.components[key] = _Component
|
match.components[key] = _Component
|
||||||
@ -137,7 +137,7 @@ function resolveComponents(router) {
|
|||||||
function callMiddleware (Components, context, layout) {
|
function callMiddleware (Components, context, layout) {
|
||||||
let midd = <%= serialize(router.middleware, { isJSON: true }) %>
|
let midd = <%= serialize(router.middleware, { isJSON: true }) %>
|
||||||
let unknownMiddleware = false
|
let unknownMiddleware = false
|
||||||
|
|
||||||
// If layout is undefined, only call global middleware
|
// If layout is undefined, only call global middleware
|
||||||
if (typeof layout !== 'undefined') {
|
if (typeof layout !== 'undefined') {
|
||||||
midd = [] // Exclude global middleware if layout defined (already called before)
|
midd = [] // Exclude global middleware if layout defined (already called before)
|
||||||
@ -158,8 +158,8 @@ function callMiddleware (Components, context, layout) {
|
|||||||
}
|
}
|
||||||
return middleware[name]
|
return middleware[name]
|
||||||
})
|
})
|
||||||
|
|
||||||
if (unknownMiddleware) return
|
if (unknownMiddleware) return
|
||||||
return middlewareSeries(midd, context)
|
return middlewareSeries(midd, context)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,17 +174,16 @@ async function render (to, from, next) {
|
|||||||
nextCalled = true
|
nextCalled = true
|
||||||
next(path)
|
next(path)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update context
|
// Update context
|
||||||
const context = getContext({
|
const context = getContext({
|
||||||
to,
|
to,
|
||||||
from,
|
from,
|
||||||
<% if (store) { %>store,<% } %>
|
<% if (store) { %>store,<% } %>
|
||||||
isClient: true,
|
isClient: true,
|
||||||
next: _next.bind(this),
|
next: _next.bind(this),
|
||||||
error: this.error.bind(this),
|
error: this.error.bind(this)
|
||||||
app
|
}, app)
|
||||||
})
|
|
||||||
this._context = context
|
this._context = context
|
||||||
this._dateLastError = this.$options._nuxt.dateErr
|
this._dateLastError = this.$options._nuxt.dateErr
|
||||||
this._hadError = !!this.$options._nuxt.err
|
this._hadError = !!this.$options._nuxt.err
|
||||||
@ -197,16 +196,16 @@ async function render (to, from, next) {
|
|||||||
// Default layout
|
// Default layout
|
||||||
await callMiddleware.call(this, Components, context)
|
await callMiddleware.call(this, Components, context)
|
||||||
if (context._redirected) return
|
if (context._redirected) return
|
||||||
|
|
||||||
// Load layout for error page
|
// Load layout for error page
|
||||||
layout = await this.loadLayout(typeof NuxtError.layout === 'function' ? NuxtError.layout(context) : NuxtError.layout)
|
const layout = await this.loadLayout(typeof NuxtError.layout === 'function' ? NuxtError.layout(context) : NuxtError.layout)
|
||||||
await callMiddleware.call(this, Components, context, layout)
|
await callMiddleware.call(this, Components, context, layout)
|
||||||
if (context._redirected) return
|
if (context._redirected) return
|
||||||
|
|
||||||
this.error({ statusCode: 404, message: 'This page could not be found.' })
|
this.error({ statusCode: 404, message: 'This page could not be found.' })
|
||||||
return next()
|
return next()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update ._data and other properties if hot reloaded
|
// Update ._data and other properties if hot reloaded
|
||||||
Components.forEach(Component => {
|
Components.forEach(Component => {
|
||||||
if (Component._Ctor && Component._Ctor.options) {
|
if (Component._Ctor && Component._Ctor.options) {
|
||||||
@ -233,7 +232,7 @@ async function render (to, from, next) {
|
|||||||
// Call middleware for layout
|
// Call middleware for layout
|
||||||
await callMiddleware.call(this, Components, context, layout)
|
await callMiddleware.call(this, Components, context, layout)
|
||||||
if (context._redirected) return
|
if (context._redirected) return
|
||||||
|
|
||||||
// Call .validate()
|
// Call .validate()
|
||||||
let isValid = true
|
let isValid = true
|
||||||
Components.forEach(Component => {
|
Components.forEach(Component => {
|
||||||
@ -250,7 +249,7 @@ async function render (to, from, next) {
|
|||||||
this.error({ statusCode: 404, message: 'This page could not be found.' })
|
this.error({ statusCode: 404, message: 'This page could not be found.' })
|
||||||
return next()
|
return next()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call asyncData & fetch hooks on components matched by the route.
|
// Call asyncData & fetch hooks on components matched by the route.
|
||||||
await Promise.all(Components.map((Component, i) => {
|
await Promise.all(Components.map((Component, i) => {
|
||||||
// Check if only children route changed
|
// Check if only children route changed
|
||||||
@ -263,7 +262,7 @@ async function render (to, from, next) {
|
|||||||
|
|
||||||
const hasAsyncData = Component.options.asyncData && typeof Component.options.asyncData === 'function'
|
const hasAsyncData = Component.options.asyncData && typeof Component.options.asyncData === 'function'
|
||||||
const hasFetch = !!Component.options.fetch
|
const hasFetch = !!Component.options.fetch
|
||||||
<% if(loading) { %>const loadingIncrease = (hasAsyncData && hasFetch) ? 30 : 45<% } %>
|
<% if(loading) { %>const loadingIncrease = (hasAsyncData && hasFetch) ? 30 : 45<% } %>
|
||||||
|
|
||||||
// Call asyncData(context)
|
// Call asyncData(context)
|
||||||
if (hasAsyncData) {
|
if (hasAsyncData) {
|
||||||
@ -279,7 +278,7 @@ async function render (to, from, next) {
|
|||||||
if (hasFetch) {
|
if (hasFetch) {
|
||||||
let p = Component.options.fetch(context)
|
let p = Component.options.fetch(context)
|
||||||
if (!p || (!(p instanceof Promise) && (typeof p.then !== 'function'))) {
|
if (!p || (!(p instanceof Promise) && (typeof p.then !== 'function'))) {
|
||||||
p = Promise.resolve(p)
|
p = Promise.resolve(p)
|
||||||
}
|
}
|
||||||
p.then(fetchResult => {
|
p.then(fetchResult => {
|
||||||
<% if(loading) { %>if(this.$loading.increase) this.$loading.increase(loadingIncrease)<% } %>
|
<% if(loading) { %>if(this.$loading.increase) this.$loading.increase(loadingIncrease)<% } %>
|
||||||
@ -289,7 +288,7 @@ async function render (to, from, next) {
|
|||||||
|
|
||||||
return Promise.all(promises)
|
return Promise.all(promises)
|
||||||
}))
|
}))
|
||||||
|
|
||||||
_lastPaths = Components.map((Component, i) => compile(to.matched[i].path)(to.params))
|
_lastPaths = Components.map((Component, i) => compile(to.matched[i].path)(to.params))
|
||||||
|
|
||||||
<% if(loading) { %>if(this.$loading.finish) this.$loading.finish()<% } %>
|
<% if(loading) { %>if(this.$loading.finish) this.$loading.finish()<% } %>
|
||||||
@ -308,7 +307,7 @@ async function render (to, from, next) {
|
|||||||
layout = layout(context)
|
layout = layout(context)
|
||||||
}
|
}
|
||||||
await this.loadLayout(layout)
|
await this.loadLayout(layout)
|
||||||
|
|
||||||
this.error(error)
|
this.error(error)
|
||||||
next(false)
|
next(false)
|
||||||
}
|
}
|
||||||
@ -387,10 +386,10 @@ function nuxtReady (app) {
|
|||||||
// Special hot reload with asyncData(context)
|
// Special hot reload with asyncData(context)
|
||||||
function hotReloadAPI (_app) {
|
function hotReloadAPI (_app) {
|
||||||
if (!module.hot) return
|
if (!module.hot) return
|
||||||
|
|
||||||
let $components = []
|
let $components = []
|
||||||
let $nuxt = _app.$nuxt
|
let $nuxt = _app.$nuxt
|
||||||
|
|
||||||
while ($nuxt && $nuxt.$children && $nuxt.$children.length) {
|
while ($nuxt && $nuxt.$children && $nuxt.$children.length) {
|
||||||
$nuxt.$children.forEach((child, i) => {
|
$nuxt.$children.forEach((child, i) => {
|
||||||
if (child.$vnode.data.nuxtChild) {
|
if (child.$vnode.data.nuxtChild) {
|
||||||
@ -407,7 +406,7 @@ function hotReloadAPI (_app) {
|
|||||||
$nuxt = child
|
$nuxt = child
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
$components.forEach(addHotReload.bind(_app))
|
$components.forEach(addHotReload.bind(_app))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -517,7 +516,7 @@ async function mountApp(__app) {
|
|||||||
_lastPaths = router.currentRoute.matched.map(route => compile(route.path)(router.currentRoute.params))
|
_lastPaths = router.currentRoute.matched.map(route => compile(route.path)(router.currentRoute.params))
|
||||||
_lastComponentsFiles = Components.map(Component => Component.options.__file)
|
_lastComponentsFiles = Components.map(Component => Component.options.__file)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize error handler
|
// Initialize error handler
|
||||||
_app.error = _app.$options._nuxt.error.bind(_app)
|
_app.error = _app.$options._nuxt.error.bind(_app)
|
||||||
_app.$loading = {} // To avoid error while _app.$nuxt does not exist
|
_app.$loading = {} // To avoid error while _app.$nuxt does not exist
|
||||||
@ -528,7 +527,7 @@ async function mountApp(__app) {
|
|||||||
router.beforeEach(render.bind(_app))
|
router.beforeEach(render.bind(_app))
|
||||||
router.afterEach(normalizeComponents)
|
router.afterEach(normalizeComponents)
|
||||||
router.afterEach(fixPrepatch.bind(_app))
|
router.afterEach(fixPrepatch.bind(_app))
|
||||||
|
|
||||||
// If page already is server rendered
|
// If page already is server rendered
|
||||||
if (NUXT.serverRendered) {
|
if (NUXT.serverRendered) {
|
||||||
mountApp()
|
mountApp()
|
||||||
@ -552,4 +551,4 @@ async function mountApp(__app) {
|
|||||||
})
|
})
|
||||||
router.push(path)
|
router.push(path)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ import NuxtLink from './components/nuxt-link.js'
|
|||||||
import NuxtError from '<%= components.ErrorPage ? components.ErrorPage : "./components/nuxt-error.vue" %>'
|
import NuxtError from '<%= components.ErrorPage ? components.ErrorPage : "./components/nuxt-error.vue" %>'
|
||||||
import Nuxt from './components/nuxt.vue'
|
import Nuxt from './components/nuxt.vue'
|
||||||
import App from '<%= appPath %>'
|
import App from '<%= appPath %>'
|
||||||
import { getContext } from './utils'
|
import { getContext, getLocation } from './utils'
|
||||||
<% if (store) { %>import { createStore } from './store.js'<% } %>
|
<% if (store) { %>import { createStore } from './store.js'<% } %>
|
||||||
<% plugins.forEach(plugin => { %>import <%= plugin.name %> from '<%= plugin.name %>'
|
<% plugins.forEach(plugin => { %>import <%= plugin.name %> from '<%= plugin.name %>'
|
||||||
<% }) %>
|
<% }) %>
|
||||||
@ -61,7 +61,7 @@ async function createApp (ssrContext) {
|
|||||||
// making them available everywhere as `this.$router` and `this.$store`.
|
// making them available everywhere as `this.$router` and `this.$store`.
|
||||||
const app = {
|
const app = {
|
||||||
router,
|
router,
|
||||||
<% if(store) { %> store,<% } %>
|
<% if(store) { %> store,<% } %>
|
||||||
_nuxt: {
|
_nuxt: {
|
||||||
defaultTransition,
|
defaultTransition,
|
||||||
transitions: [ defaultTransition ],
|
transitions: [ defaultTransition ],
|
||||||
@ -99,16 +99,21 @@ async function createApp (ssrContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const next = ssrContext ? ssrContext.next : location => app.router.push(location)
|
const next = ssrContext ? ssrContext.next : location => app.router.push(location)
|
||||||
|
let route = router.currentRoute
|
||||||
|
if (!ssrContext) {
|
||||||
|
const path = getLocation(router.options.base)
|
||||||
|
route = router.resolve(path).route
|
||||||
|
}
|
||||||
const ctx = getContext({
|
const ctx = getContext({
|
||||||
isServer: !!ssrContext,
|
isServer: !!ssrContext,
|
||||||
isClient: !ssrContext,
|
isClient: !ssrContext,
|
||||||
route: router.currentRoute,
|
route,
|
||||||
next,
|
next,
|
||||||
error: app._nuxt.error.bind(app),
|
error: app._nuxt.error.bind(app),
|
||||||
<% if(store) { %>store,<% } %>
|
<% if(store) { %>store,<% } %>
|
||||||
req: ssrContext ? ssrContext.req : undefined,
|
req: ssrContext ? ssrContext.req : undefined,
|
||||||
res: ssrContext ? ssrContext.res : undefined,
|
res: ssrContext ? ssrContext.res : undefined,
|
||||||
|
beforeRenderFns: ssrContext ? ssrContext.beforeRenderFns : undefined
|
||||||
}, app)
|
}, app)
|
||||||
|
|
||||||
<% plugins.filter(p => p.ssr).forEach(plugin => { %>
|
<% plugins.filter(p => p.ssr).forEach(plugin => { %>
|
||||||
@ -121,8 +126,8 @@ async function createApp (ssrContext) {
|
|||||||
return {
|
return {
|
||||||
app,
|
app,
|
||||||
router,
|
router,
|
||||||
<% if(store) { %> store <% } %>
|
<% if(store) { %> store <% } %>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export { createApp, NuxtError }
|
export { createApp, NuxtError }
|
||||||
|
@ -45,27 +45,28 @@ export default async context => {
|
|||||||
// Create context.next for simulate next() of beforeEach() when wanted to redirect
|
// Create context.next for simulate next() of beforeEach() when wanted to redirect
|
||||||
context.redirected = false
|
context.redirected = false
|
||||||
context.next = createNext(context)
|
context.next = createNext(context)
|
||||||
|
context.beforeRenderFns = []
|
||||||
|
|
||||||
const { app, router<%= (store ? ', store' : '') %> } = await createApp(context)
|
const { app, router<%= (store ? ', store' : '') %> } = await createApp(context)
|
||||||
const _app = new Vue(app)
|
const _app = new Vue(app)
|
||||||
|
|
||||||
<% if (store) { %>
|
<% if (store) { %>
|
||||||
// Add store to the context
|
// Add store to the context
|
||||||
context.store = store
|
context.store = store
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
// Add route to the context
|
// Add route to the context
|
||||||
context.route = router.currentRoute
|
context.route = router.currentRoute
|
||||||
|
|
||||||
// Nuxt object
|
// Nuxt object
|
||||||
context.nuxt = { layout: 'default', data: [], error: null<%= (store ? ', state: null' : '') %>, serverRendered: true }
|
context.nuxt = { layout: 'default', data: [], error: null<%= (store ? ', state: null' : '') %>, serverRendered: true }
|
||||||
|
|
||||||
// Add meta infos
|
// Add meta infos
|
||||||
context.meta = _app.$meta()
|
context.meta = _app.$meta()
|
||||||
|
|
||||||
// Error function
|
// Error function
|
||||||
context.error = _app.$options._nuxt.error.bind(_app)
|
context.error = _app.$options._nuxt.error.bind(_app)
|
||||||
|
|
||||||
// Keep asyncData for each matched component in context
|
// Keep asyncData for each matched component in context
|
||||||
context.asyncData = {}
|
context.asyncData = {}
|
||||||
|
|
||||||
@ -73,8 +74,8 @@ export default async context => {
|
|||||||
const ctx = getContext(context, app)
|
const ctx = getContext(context, app)
|
||||||
|
|
||||||
<% if (isDev) { %>const s = isDev && Date.now()<% } %>
|
<% if (isDev) { %>const s = isDev && Date.now()<% } %>
|
||||||
|
|
||||||
// Resolve components
|
// Resolve components
|
||||||
let Components = []
|
let Components = []
|
||||||
try {
|
try {
|
||||||
Components = await Promise.all(getMatchedComponents(router.match(context.url)).map(Component => {
|
Components = await Promise.all(getMatchedComponents(router.match(context.url)).map(Component => {
|
||||||
@ -118,7 +119,7 @@ export default async context => {
|
|||||||
layout = _app.setLayout(layout)
|
layout = _app.setLayout(layout)
|
||||||
// ...Set layout to __NUXT__
|
// ...Set layout to __NUXT__
|
||||||
context.nuxt.layout = _app.layoutName
|
context.nuxt.layout = _app.layoutName
|
||||||
|
|
||||||
// Call middleware (layout + pages)
|
// Call middleware (layout + pages)
|
||||||
if (!context.nuxt.error) {
|
if (!context.nuxt.error) {
|
||||||
midd = []
|
midd = []
|
||||||
@ -134,9 +135,9 @@ export default async context => {
|
|||||||
}
|
}
|
||||||
return middleware[name]
|
return middleware[name]
|
||||||
})
|
})
|
||||||
|
|
||||||
await middlewareSeries(midd, ctx)
|
await middlewareSeries(midd, ctx)
|
||||||
|
|
||||||
// If there is a redirect
|
// If there is a redirect
|
||||||
if (context.redirected) return noopApp()
|
if (context.redirected) return noopApp()
|
||||||
}
|
}
|
||||||
@ -161,11 +162,11 @@ export default async context => {
|
|||||||
// Call the 404 error by making the Components array empty
|
// Call the 404 error by making the Components array empty
|
||||||
Components = []
|
Components = []
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call asyncData & fetch hooks on components matched by the route.
|
// Call asyncData & fetch hooks on components matched by the route.
|
||||||
let asyncDatas = await Promise.all(Components.map(Component => {
|
let asyncDatas = await Promise.all(Components.map(Component => {
|
||||||
let promises = []
|
let promises = []
|
||||||
|
|
||||||
// Call asyncData(context)
|
// Call asyncData(context)
|
||||||
if (Component.options.asyncData && typeof Component.options.asyncData === 'function') {
|
if (Component.options.asyncData && typeof Component.options.asyncData === 'function') {
|
||||||
let promise = promisify(Component.options.asyncData, ctx)
|
let promise = promisify(Component.options.asyncData, ctx)
|
||||||
@ -189,7 +190,7 @@ export default async context => {
|
|||||||
|
|
||||||
return Promise.all(promises)
|
return Promise.all(promises)
|
||||||
}))
|
}))
|
||||||
|
|
||||||
// If no Components found, returns 404
|
// If no Components found, returns 404
|
||||||
if (!Components.length) {
|
if (!Components.length) {
|
||||||
context.nuxt.error = context.error({ statusCode: 404, message: 'This page could not be found.' })
|
context.nuxt.error = context.error({ statusCode: 404, message: 'This page could not be found.' })
|
||||||
@ -210,6 +211,8 @@ export default async context => {
|
|||||||
context.nuxt.state = store.state
|
context.nuxt.state = store.state
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
|
await Promise.all(context.beforeRenderFns.map((fn) => promisify(fn, { Components, nuxtState: context.nuxt })))
|
||||||
|
|
||||||
// If no error, return main app
|
// If no error, return main app
|
||||||
if (!context.nuxt.error) {
|
if (!context.nuxt.error) {
|
||||||
return _app
|
return _app
|
||||||
@ -220,6 +223,6 @@ export default async context => {
|
|||||||
context.nuxt.layout = layout || ''
|
context.nuxt.layout = layout || ''
|
||||||
await _app.loadLayout(layout)
|
await _app.loadLayout(layout)
|
||||||
_app.setLayout(layout)
|
_app.setLayout(layout)
|
||||||
|
|
||||||
return _app
|
return _app
|
||||||
}
|
}
|
||||||
|
@ -104,6 +104,9 @@ export function getContext (context, app) {
|
|||||||
if (context.req) ctx.req = context.req
|
if (context.req) ctx.req = context.req
|
||||||
if (context.res) ctx.res = context.res
|
if (context.res) ctx.res = context.res
|
||||||
if (context.from) ctx.from = context.from
|
if (context.from) ctx.from = context.from
|
||||||
|
if (ctx.isServer && context.beforeRenderFns) {
|
||||||
|
ctx.beforeNuxtRender = (fn) => context.beforeRenderFns.push(fn)
|
||||||
|
}
|
||||||
return ctx
|
return ctx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ export default class Builder extends Tapable {
|
|||||||
get plugins () {
|
get plugins () {
|
||||||
return this.options.plugins.map((p, i) => {
|
return this.options.plugins.map((p, i) => {
|
||||||
if (typeof p === 'string') p = { src: p }
|
if (typeof p === 'string') p = { src: p }
|
||||||
p.src = r(this.options.srcDir, p.src)
|
p.src = this.nuxt.resolvePath(p.src)
|
||||||
return { src: p.src, ssr: (p.ssr !== false), name: `plugin${i}` }
|
return { src: p.src, ssr: (p.ssr !== false), name: `plugin${i}` }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -242,6 +242,7 @@ export default class Builder extends Tapable {
|
|||||||
hash,
|
hash,
|
||||||
r,
|
r,
|
||||||
wp,
|
wp,
|
||||||
|
resolvePath: this.nuxt.resolvePath.bind(this.nuxt),
|
||||||
relativeToBuild: this.relativeToBuild
|
relativeToBuild: this.relativeToBuild
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -328,7 +329,7 @@ export default class Builder extends Tapable {
|
|||||||
this.compiler.plugin('done', async stats => {
|
this.compiler.plugin('done', async stats => {
|
||||||
// Don't reload failed builds
|
// Don't reload failed builds
|
||||||
/* istanbul ignore if */
|
/* istanbul ignore if */
|
||||||
if (stats.hasErrors() || stats.hasWarnings()) {
|
if (stats.hasErrors()) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Reload renderer if available
|
// Reload renderer if available
|
||||||
|
@ -35,7 +35,7 @@ export default class Generator extends Tapable {
|
|||||||
await this.builder.build()
|
await this.builder.build()
|
||||||
}
|
}
|
||||||
|
|
||||||
await this.nuxt.applyPluginsAsync('generate', this)
|
await this.nuxt.applyPluginsAsync('generator', this)
|
||||||
|
|
||||||
// Initialize dist directory
|
// Initialize dist directory
|
||||||
if (init) {
|
if (init) {
|
||||||
|
@ -5,3 +5,8 @@ export default {
|
|||||||
Builder,
|
Builder,
|
||||||
Generator
|
Generator
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export {
|
||||||
|
Builder,
|
||||||
|
Generator
|
||||||
|
}
|
||||||
|
@ -116,6 +116,20 @@ export default function webpackBaseConfig ({ isClient, isServer }) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Workaround for hiding Warnings about plugins without a default export (#1179)
|
||||||
|
config.plugins.push({
|
||||||
|
apply (compiler) {
|
||||||
|
compiler.plugin('done', stats => {
|
||||||
|
stats.compilation.warnings = stats.compilation.warnings.filter(warn => {
|
||||||
|
if (warn.name === 'ModuleDependencyWarning' && warn.message.includes(`export 'default'`) && warn.message.includes('plugin')) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
// --------------------------------------
|
// --------------------------------------
|
||||||
// Dev specific config
|
// Dev specific config
|
||||||
// --------------------------------------
|
// --------------------------------------
|
||||||
|
@ -15,7 +15,7 @@ export default function ({ isClient }) {
|
|||||||
'js': 'babel-loader?' + babelOptions,
|
'js': 'babel-loader?' + babelOptions,
|
||||||
'css': styleLoader.call(this, 'css'),
|
'css': styleLoader.call(this, 'css'),
|
||||||
'less': styleLoader.call(this, 'less', 'less-loader'),
|
'less': styleLoader.call(this, 'less', 'less-loader'),
|
||||||
'sass': styleLoader.call(this, 'sass', 'sass-loader?indentedSyntax&?sourceMap'),
|
'sass': styleLoader.call(this, 'sass', 'sass-loader?indentedSyntax&sourceMap'),
|
||||||
'scss': styleLoader.call(this, 'sass', 'sass-loader?sourceMap'),
|
'scss': styleLoader.call(this, 'sass', 'sass-loader?sourceMap'),
|
||||||
'stylus': styleLoader.call(this, 'stylus', 'stylus-loader'),
|
'stylus': styleLoader.call(this, 'stylus', 'stylus-loader'),
|
||||||
'styl': styleLoader.call(this, 'stylus', 'stylus-loader')
|
'styl': styleLoader.call(this, 'stylus', 'stylus-loader')
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
import * as Utils from './utils'
|
import * as Utils from './utils'
|
||||||
|
import Options from './options'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
Utils
|
Utils,
|
||||||
|
Options
|
||||||
|
}
|
||||||
|
|
||||||
|
export {
|
||||||
|
Utils,
|
||||||
|
Options
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ export default function Options (_options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Apply defaults
|
// Apply defaults
|
||||||
_.defaultsDeep(options, defaultOptions)
|
_.defaultsDeep(options, Options.defaults)
|
||||||
|
|
||||||
// Resolve dirs
|
// Resolve dirs
|
||||||
options.rootDir = (typeof options.rootDir === 'string' && options.rootDir ? options.rootDir : process.cwd())
|
options.rootDir = (typeof options.rootDir === 'string' && options.rootDir ? options.rootDir : process.cwd())
|
||||||
@ -38,7 +38,7 @@ export default function Options (_options) {
|
|||||||
// Ignore publicPath on dev
|
// Ignore publicPath on dev
|
||||||
/* istanbul ignore if */
|
/* istanbul ignore if */
|
||||||
if (options.dev && isUrl(options.build.publicPath)) {
|
if (options.dev && isUrl(options.build.publicPath)) {
|
||||||
options.build.publicPath = defaultOptions.build.publicPath
|
options.build.publicPath = Options.defaults.build.publicPath
|
||||||
}
|
}
|
||||||
|
|
||||||
// If store defined, update store options to true unless explicitly disabled
|
// If store defined, update store options to true unless explicitly disabled
|
||||||
@ -52,7 +52,7 @@ export default function Options (_options) {
|
|||||||
mode = mode()
|
mode = mode()
|
||||||
}
|
}
|
||||||
if (typeof mode === 'string') {
|
if (typeof mode === 'string') {
|
||||||
mode = Modes[mode]
|
mode = Options.modes[mode]
|
||||||
}
|
}
|
||||||
|
|
||||||
// Apply mode
|
// Apply mode
|
||||||
@ -61,7 +61,7 @@ export default function Options (_options) {
|
|||||||
return options
|
return options
|
||||||
}
|
}
|
||||||
|
|
||||||
const Modes = {
|
Options.modes = {
|
||||||
universal: {
|
universal: {
|
||||||
build: {
|
build: {
|
||||||
ssr: true
|
ssr: true
|
||||||
@ -88,7 +88,7 @@ const Modes = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const defaultOptions = {
|
Options.defaults = {
|
||||||
mode: 'universal',
|
mode: 'universal',
|
||||||
dev: process.env.NODE_ENV !== 'production',
|
dev: process.env.NODE_ENV !== 'production',
|
||||||
buildDir: '.nuxt',
|
buildDir: '.nuxt',
|
||||||
@ -107,7 +107,7 @@ export const defaultOptions = {
|
|||||||
vendor: [],
|
vendor: [],
|
||||||
plugins: [],
|
plugins: [],
|
||||||
babel: {},
|
babel: {},
|
||||||
postcss: [],
|
postcss: undefined,
|
||||||
templates: [],
|
templates: [],
|
||||||
watch: [],
|
watch: [],
|
||||||
devMiddleware: {},
|
devMiddleware: {},
|
@ -1,13 +1,20 @@
|
|||||||
import Options from './options'
|
import { Options, Utils } from 'common'
|
||||||
import ModuleContainer from './module'
|
import Module from './module'
|
||||||
import Nuxt from './nuxt'
|
import Nuxt from './nuxt'
|
||||||
import Renderer from './renderer'
|
import Renderer from './renderer'
|
||||||
import * as Utils from 'utils'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
Options,
|
|
||||||
ModuleContainer,
|
|
||||||
Nuxt,
|
Nuxt,
|
||||||
|
Module,
|
||||||
Renderer,
|
Renderer,
|
||||||
|
Options,
|
||||||
|
Utils
|
||||||
|
}
|
||||||
|
|
||||||
|
export {
|
||||||
|
Nuxt,
|
||||||
|
Module,
|
||||||
|
Renderer,
|
||||||
|
Options,
|
||||||
Utils
|
Utils
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ export default class ModuleContainer extends Tapable {
|
|||||||
|
|
||||||
async _ready () {
|
async _ready () {
|
||||||
await sequence(this.options.modules, this.addModule.bind(this))
|
await sequence(this.options.modules, this.addModule.bind(this))
|
||||||
await this.nuxt.applyPluginsAsync('module', this)
|
await this.applyPluginsAsync('ready', this)
|
||||||
}
|
}
|
||||||
|
|
||||||
addVendor (vendor) {
|
addVendor (vendor) {
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
import Tapable from 'tappable'
|
import Tapable from 'tappable'
|
||||||
import chalk from 'chalk'
|
import chalk from 'chalk'
|
||||||
|
import { Options } from 'common'
|
||||||
import ModuleContainer from './module'
|
import ModuleContainer from './module'
|
||||||
import Renderer from './renderer'
|
import Renderer from './renderer'
|
||||||
import Options from './options'
|
|
||||||
import Debug from 'debug'
|
import Debug from 'debug'
|
||||||
import enableDestroy from 'server-destroy'
|
import enableDestroy from 'server-destroy'
|
||||||
|
import Module from 'module'
|
||||||
import { join, resolve } from 'path'
|
import { join, resolve } from 'path'
|
||||||
|
|
||||||
const debug = Debug('nuxt:')
|
const debug = Debug('nuxt:')
|
||||||
@ -16,6 +17,9 @@ export default class Nuxt extends Tapable {
|
|||||||
|
|
||||||
this.options = Options(_options)
|
this.options = Options(_options)
|
||||||
|
|
||||||
|
// Paths for resolving requires from `rootDir`
|
||||||
|
this.nodeModulePaths = Module._nodeModulePaths(this.options.rootDir)
|
||||||
|
|
||||||
this.initialized = false
|
this.initialized = false
|
||||||
this.errorHandler = this.errorHandler.bind(this)
|
this.errorHandler = this.errorHandler.bind(this)
|
||||||
|
|
||||||
@ -70,7 +74,7 @@ export default class Nuxt extends Tapable {
|
|||||||
})
|
})
|
||||||
}))
|
}))
|
||||||
|
|
||||||
resolve()
|
resolve(this.applyPluginsAsync('listen', { server, port, host }))
|
||||||
})
|
})
|
||||||
|
|
||||||
// Add server.destroy(cb) method
|
// Add server.destroy(cb) method
|
||||||
@ -101,7 +105,7 @@ export default class Nuxt extends Tapable {
|
|||||||
resolvePath (path) {
|
resolvePath (path) {
|
||||||
// Try to resolve using NPM resolve path first
|
// Try to resolve using NPM resolve path first
|
||||||
try {
|
try {
|
||||||
let resolvedPath = require.resolve(path)
|
let resolvedPath = Module._resolveFilename(path, { paths: this.nodeModulePaths })
|
||||||
return resolvedPath
|
return resolvedPath
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
// Just continue
|
// Just continue
|
||||||
|
@ -11,9 +11,9 @@ import { join, resolve } from 'path'
|
|||||||
import fs from 'fs-extra'
|
import fs from 'fs-extra'
|
||||||
import { createBundleRenderer } from 'vue-server-renderer'
|
import { createBundleRenderer } from 'vue-server-renderer'
|
||||||
import { encodeHtml, getContext, setAnsiColors, isUrl } from 'utils'
|
import { encodeHtml, getContext, setAnsiColors, isUrl } from 'utils'
|
||||||
import { defaultOptions } from './options'
|
|
||||||
import Debug from 'debug'
|
import Debug from 'debug'
|
||||||
import connect from 'connect'
|
import connect from 'connect'
|
||||||
|
import { Options } from 'common'
|
||||||
|
|
||||||
const debug = Debug('nuxt:render')
|
const debug = Debug('nuxt:render')
|
||||||
debug.color = 4 // Force blue color
|
debug.color = 4 // Force blue color
|
||||||
@ -46,14 +46,12 @@ export default class Renderer extends Tapable {
|
|||||||
spaTemplate: null,
|
spaTemplate: null,
|
||||||
errorTemplate: parseTemplate('<pre>{{ stack }}</pre>') // Will be loaded on ready
|
errorTemplate: parseTemplate('<pre>{{ stack }}</pre>') // Will be loaded on ready
|
||||||
}
|
}
|
||||||
|
|
||||||
// Bind middleware to this context
|
|
||||||
this.nuxtMiddleware = this.nuxtMiddleware.bind(this)
|
|
||||||
this.errorMiddleware = this.errorMiddleware.bind(this)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async _ready () {
|
async _ready () {
|
||||||
// Setup all middleWare
|
await this.nuxt.applyPluginsAsync('renderer', this)
|
||||||
|
|
||||||
|
// Setup nuxt middleware
|
||||||
await this.setupMiddleware()
|
await this.setupMiddleware()
|
||||||
|
|
||||||
// Load error template
|
// Load error template
|
||||||
@ -67,7 +65,8 @@ export default class Renderer extends Tapable {
|
|||||||
await this.loadResources()
|
await this.loadResources()
|
||||||
}
|
}
|
||||||
|
|
||||||
await this.nuxt.applyPluginsAsync('renderer', this)
|
// Call ready plugin
|
||||||
|
await this.applyPluginsAsync('ready', this)
|
||||||
}
|
}
|
||||||
|
|
||||||
async loadResources (_fs = fs) {
|
async loadResources (_fs = fs) {
|
||||||
@ -197,7 +196,7 @@ export default class Renderer extends Tapable {
|
|||||||
if (!this.options.dev) {
|
if (!this.options.dev) {
|
||||||
const distDir = resolve(this.options.buildDir, 'dist')
|
const distDir = resolve(this.options.buildDir, 'dist')
|
||||||
this.useMiddleware({
|
this.useMiddleware({
|
||||||
path: isUrl(this.options.build.publicPath) ? defaultOptions.build.publicPath : this.options.build.publicPath,
|
path: isUrl(this.options.build.publicPath) ? Options.defaults.build.publicPath : this.options.build.publicPath,
|
||||||
handler: serveStatic(distDir, {
|
handler: serveStatic(distDir, {
|
||||||
index: false, // Don't serve index.html template
|
index: false, // Don't serve index.html template
|
||||||
maxAge: (this.options.dev ? 0 : '1y') // 1 year in production
|
maxAge: (this.options.dev ? 0 : '1y') // 1 year in production
|
||||||
@ -211,10 +210,10 @@ export default class Renderer extends Tapable {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// Finally use nuxtMiddleware
|
// Finally use nuxtMiddleware
|
||||||
this.useMiddleware(this.nuxtMiddleware)
|
this.useMiddleware(this.nuxtMiddleware.bind(this))
|
||||||
|
|
||||||
// Error middleware for errors that occurred in middleware that declared above
|
// Error middleware for errors that occurred in middleware that declared above
|
||||||
this.useMiddleware(this.errorMiddleware)
|
this.useMiddleware(this.errorMiddleware.bind(this))
|
||||||
}
|
}
|
||||||
|
|
||||||
async nuxtMiddleware (req, res, next) {
|
async nuxtMiddleware (req, res, next) {
|
||||||
|
24
package.json
24
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nuxt",
|
"name": "nuxt",
|
||||||
"version": "1.0.0-alpha.4",
|
"version": "1.0.0-rc3",
|
||||||
"description": "A minimalistic framework for server-rendered Vue.js applications (inspired by Next.js)",
|
"description": "A minimalistic framework for server-rendered Vue.js applications (inspired by Next.js)",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
{
|
{
|
||||||
@ -94,25 +94,21 @@
|
|||||||
"lodash": "^4.17.4",
|
"lodash": "^4.17.4",
|
||||||
"memory-fs": "^0.4.1",
|
"memory-fs": "^0.4.1",
|
||||||
"minimist": "^1.2.0",
|
"minimist": "^1.2.0",
|
||||||
"offline-plugin": "^4.8.3",
|
|
||||||
"opencollective": "^1.0.3",
|
"opencollective": "^1.0.3",
|
||||||
"pify": "^3.0.0",
|
"pify": "^3.0.0",
|
||||||
"preload-webpack-plugin": "^1.2.2",
|
|
||||||
"progress-bar-webpack-plugin": "^1.10.0",
|
"progress-bar-webpack-plugin": "^1.10.0",
|
||||||
"script-ext-html-webpack-plugin": "^1.8.3",
|
|
||||||
"serialize-javascript": "^1.3.0",
|
"serialize-javascript": "^1.3.0",
|
||||||
"serve-static": "^1.12.3",
|
"serve-static": "^1.12.3",
|
||||||
|
"server-destroy": "^1.0.1",
|
||||||
"source-map-support": "^0.4.15",
|
"source-map-support": "^0.4.15",
|
||||||
"tapable": "^0.2.6",
|
|
||||||
"tappable": "^1.1.0",
|
"tappable": "^1.1.0",
|
||||||
"url-loader": "^0.5.9",
|
"url-loader": "^0.5.9",
|
||||||
"vue": "~2.4.1",
|
"vue": "~2.4.2",
|
||||||
"vue-loader": "^13.0.1",
|
"vue-loader": "^13.0.1",
|
||||||
"vue-meta": "^1.0.4",
|
"vue-meta": "^1.0.4",
|
||||||
"vue-router": "^2.7.0",
|
"vue-router": "^2.7.0",
|
||||||
"vue-server-renderer": "~2.4.1",
|
"vue-server-renderer": "~2.4.2",
|
||||||
"vue-ssr-html-stream": "^2.2.0",
|
"vue-template-compiler": "~2.4.2",
|
||||||
"vue-template-compiler": "~2.4.1",
|
|
||||||
"vuex": "^2.3.1",
|
"vuex": "^2.3.1",
|
||||||
"webpack": "^3.3.0",
|
"webpack": "^3.3.0",
|
||||||
"webpack-bundle-analyzer": "^2.8.2",
|
"webpack-bundle-analyzer": "^2.8.2",
|
||||||
@ -132,16 +128,17 @@
|
|||||||
"codecov": "^2.2.0",
|
"codecov": "^2.2.0",
|
||||||
"copy-webpack-plugin": "^4.0.1",
|
"copy-webpack-plugin": "^4.0.1",
|
||||||
"cross-env": "^5.0.1",
|
"cross-env": "^5.0.1",
|
||||||
"eslint": "^4.2.0",
|
"eslint": "^4.3.0",
|
||||||
"eslint-config-standard": "^10.2.1",
|
"eslint-config-standard": "^10.2.1",
|
||||||
"eslint-plugin-html": "^3.1.0",
|
"eslint-plugin-html": "^3.1.1",
|
||||||
"eslint-plugin-import": "^2.6.1",
|
"eslint-plugin-import": "^2.6.1",
|
||||||
"eslint-plugin-node": "^5.1.0",
|
"eslint-plugin-node": "^5.1.1",
|
||||||
"eslint-plugin-promise": "^3.5.0",
|
"eslint-plugin-promise": "^3.5.0",
|
||||||
"eslint-plugin-standard": "^3.0.1",
|
"eslint-plugin-standard": "^3.0.1",
|
||||||
|
"express": "^4.15.3",
|
||||||
"finalhandler": "^1.0.3",
|
"finalhandler": "^1.0.3",
|
||||||
"jsdom": "^11.1.0",
|
"jsdom": "^11.1.0",
|
||||||
"json-loader": "^0.5.4",
|
"json-loader": "^0.5.6",
|
||||||
"nyc": "^11.0.3",
|
"nyc": "^11.0.3",
|
||||||
"request": "^2.81.0",
|
"request": "^2.81.0",
|
||||||
"request-promise-native": "^1.0.4",
|
"request-promise-native": "^1.0.4",
|
||||||
@ -153,7 +150,6 @@
|
|||||||
"rollup-plugin-node-resolve": "^3.0.0",
|
"rollup-plugin-node-resolve": "^3.0.0",
|
||||||
"rollup-plugin-replace": "^1.1.1",
|
"rollup-plugin-replace": "^1.1.1",
|
||||||
"rollup-watch": "^4.3.1",
|
"rollup-watch": "^4.3.1",
|
||||||
"server-destroy": "^1.0.1",
|
|
||||||
"std-mocks": "^1.0.1",
|
"std-mocks": "^1.0.1",
|
||||||
"uglify-js": "^3.0.23"
|
"uglify-js": "^3.0.23"
|
||||||
},
|
},
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nuxt-start",
|
"name": "nuxt-start",
|
||||||
"version": "1.0.0-alpha.4",
|
"version": "1.0.0-rc3",
|
||||||
"description": "runtime-only build for nuxt",
|
"description": "runtime-only build for nuxt",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
{
|
{
|
||||||
@ -61,8 +61,9 @@
|
|||||||
"serve-static": "^1.12.3",
|
"serve-static": "^1.12.3",
|
||||||
"compression": "^1.7.0",
|
"compression": "^1.7.0",
|
||||||
"fs-extra": "^4.0.0",
|
"fs-extra": "^4.0.0",
|
||||||
"vue-server-renderer": "~2.4.1",
|
"vue-server-renderer": "~2.4.2",
|
||||||
"connect": "^3.6.2"
|
"connect": "^3.6.2",
|
||||||
|
"server-destroy": "^1.0.1"
|
||||||
},
|
},
|
||||||
"collective": {
|
"collective": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
|
@ -6,7 +6,6 @@ test('Fail with routes() which throw an error', async t => {
|
|||||||
const options = {
|
const options = {
|
||||||
rootDir: resolve(__dirname, 'fixtures/basic'),
|
rootDir: resolve(__dirname, 'fixtures/basic'),
|
||||||
dev: false,
|
dev: false,
|
||||||
runBuild: true,
|
|
||||||
generate: {
|
generate: {
|
||||||
async routes () {
|
async routes () {
|
||||||
throw new Error('Not today!')
|
throw new Error('Not today!')
|
||||||
|
@ -18,7 +18,6 @@ test.before('Init Nuxt.js', async t => {
|
|||||||
let config = require(resolve(rootDir, 'nuxt.config.js'))
|
let config = require(resolve(rootDir, 'nuxt.config.js'))
|
||||||
config.rootDir = rootDir
|
config.rootDir = rootDir
|
||||||
config.dev = false
|
config.dev = false
|
||||||
config.runBuild = true
|
|
||||||
nuxt = new Nuxt(config)
|
nuxt = new Nuxt(config)
|
||||||
const builder = new Builder(nuxt)
|
const builder = new Builder(nuxt)
|
||||||
const generator = new Generator(nuxt, builder)
|
const generator = new Generator(nuxt, builder)
|
||||||
|
@ -13,8 +13,7 @@ let nuxt = null
|
|||||||
test.before('Init Nuxt.js', async t => {
|
test.before('Init Nuxt.js', async t => {
|
||||||
const options = {
|
const options = {
|
||||||
rootDir: resolve(__dirname, 'fixtures/basic'),
|
rootDir: resolve(__dirname, 'fixtures/basic'),
|
||||||
dev: false,
|
dev: false
|
||||||
runBuild: true
|
|
||||||
}
|
}
|
||||||
nuxt = new Nuxt(options)
|
nuxt = new Nuxt(options)
|
||||||
await new Builder(nuxt).build()
|
await new Builder(nuxt).build()
|
||||||
@ -102,6 +101,11 @@ test('/redirect -> check redirected source', async t => {
|
|||||||
t.true(html.includes('<h1>Index page</h1>'))
|
t.true(html.includes('<h1>Index page</h1>'))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('/special-state -> check window.__NUXT__.test = true', async t => {
|
||||||
|
const window = await nuxt.renderAndGetWindow(url('/special-state'))
|
||||||
|
t.is(window.__NUXT__.test, true)
|
||||||
|
})
|
||||||
|
|
||||||
test('/error', async t => {
|
test('/error', async t => {
|
||||||
try {
|
try {
|
||||||
await nuxt.renderRoute('/error', { req: {}, res: {} })
|
await nuxt.renderRoute('/error', { req: {}, res: {} })
|
||||||
|
@ -11,8 +11,7 @@ let nuxt = null
|
|||||||
test.before('Init Nuxt.js', async t => {
|
test.before('Init Nuxt.js', async t => {
|
||||||
const options = {
|
const options = {
|
||||||
rootDir: resolve(__dirname, 'fixtures/children'),
|
rootDir: resolve(__dirname, 'fixtures/children'),
|
||||||
dev: false,
|
dev: false
|
||||||
runBuild: true
|
|
||||||
}
|
}
|
||||||
nuxt = new Nuxt(options)
|
nuxt = new Nuxt(options)
|
||||||
await new Builder(nuxt).build()
|
await new Builder(nuxt).build()
|
||||||
|
@ -9,8 +9,7 @@ const readFile = pify(fs.readFile)
|
|||||||
test.before('Init Nuxt.js', async t => {
|
test.before('Init Nuxt.js', async t => {
|
||||||
const nuxt = new Nuxt({
|
const nuxt = new Nuxt({
|
||||||
rootDir: resolve(__dirname, 'fixtures/dynamic-routes'),
|
rootDir: resolve(__dirname, 'fixtures/dynamic-routes'),
|
||||||
dev: false,
|
dev: false
|
||||||
runBuild: true
|
|
||||||
})
|
})
|
||||||
await new Builder(nuxt).build()
|
await new Builder(nuxt).build()
|
||||||
})
|
})
|
||||||
|
@ -11,8 +11,7 @@ let nuxt = null
|
|||||||
test.before('Init Nuxt.js', async t => {
|
test.before('Init Nuxt.js', async t => {
|
||||||
const options = {
|
const options = {
|
||||||
rootDir: resolve(__dirname, 'fixtures/error'),
|
rootDir: resolve(__dirname, 'fixtures/error'),
|
||||||
dev: false,
|
dev: false
|
||||||
runBuild: true
|
|
||||||
}
|
}
|
||||||
nuxt = new Nuxt(options)
|
nuxt = new Nuxt(options)
|
||||||
await new Builder(nuxt).build()
|
await new Builder(nuxt).build()
|
||||||
|
40
test/express.test.js
Normal file
40
test/express.test.js
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
import test from 'ava'
|
||||||
|
import { resolve } from 'path'
|
||||||
|
import { Nuxt, Builder } from '../index.js'
|
||||||
|
import express from 'express'
|
||||||
|
import rp from 'request-promise-native'
|
||||||
|
|
||||||
|
const port = 4000
|
||||||
|
const url = (route) => 'http://localhost:' + port + route
|
||||||
|
|
||||||
|
let nuxt
|
||||||
|
let app
|
||||||
|
|
||||||
|
// Init nuxt.js and create express server
|
||||||
|
test.before('Init Nuxt.js', async t => {
|
||||||
|
const options = {
|
||||||
|
rootDir: resolve(__dirname, 'fixtures/basic'),
|
||||||
|
dev: false
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create nuxt instace
|
||||||
|
nuxt = new Nuxt(options)
|
||||||
|
|
||||||
|
// Build
|
||||||
|
await new Builder(nuxt).build()
|
||||||
|
|
||||||
|
// Create express app
|
||||||
|
app = express()
|
||||||
|
|
||||||
|
// Register nuxt
|
||||||
|
app.use(nuxt.render)
|
||||||
|
|
||||||
|
// Start listening on localhost:4000
|
||||||
|
app.listen(port)
|
||||||
|
})
|
||||||
|
|
||||||
|
test('/stateless with express', async t => {
|
||||||
|
const html = await rp(url('/stateless'))
|
||||||
|
|
||||||
|
t.true(html.includes('<h1>My component!</h1>'))
|
||||||
|
})
|
15
test/fixtures/basic/pages/special-state.vue
vendored
Normal file
15
test/fixtures/basic/pages/special-state.vue
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<template>
|
||||||
|
<h1>Special state in `window.__NUXT__`</h1>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
fetch ({ isServer, beforeNuxtRender }) {
|
||||||
|
if (isServer) {
|
||||||
|
beforeNuxtRender(({ nuxtState }) => {
|
||||||
|
nuxtState.test = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -2,7 +2,7 @@ module.exports = function () {
|
|||||||
let ctr = 1
|
let ctr = 1
|
||||||
|
|
||||||
// Add hook for module
|
// Add hook for module
|
||||||
this.nuxt.plugin('module', moduleContainer => {
|
this.plugin('ready', moduleContainer => {
|
||||||
this.nuxt.__module_hook = moduleContainer && ctr++
|
this.nuxt.__module_hook = moduleContainer && ctr++
|
||||||
})
|
})
|
||||||
|
|
||||||
|
2
test/fixtures/with-config/nuxt.config.js
vendored
2
test/fixtures/with-config/nuxt.config.js
vendored
@ -14,7 +14,7 @@ module.exports = {
|
|||||||
transition: 'test',
|
transition: 'test',
|
||||||
offline: true,
|
offline: true,
|
||||||
plugins: [
|
plugins: [
|
||||||
'~/plugins/test.js', // Use ~ for deprication warning coverage
|
'~/plugins/test.js',
|
||||||
{ src: '~/plugins/only-client.js', ssr: false }
|
{ src: '~/plugins/only-client.js', ssr: false }
|
||||||
],
|
],
|
||||||
loading: '~/components/loading',
|
loading: '~/components/loading',
|
||||||
|
@ -20,7 +20,6 @@ test.serial('Nuxt.js Instance', async t => {
|
|||||||
test.serial('Fail to build when no pages/ directory but is in the parent', t => {
|
test.serial('Fail to build when no pages/ directory but is in the parent', t => {
|
||||||
const nuxt = new Nuxt({
|
const nuxt = new Nuxt({
|
||||||
dev: false,
|
dev: false,
|
||||||
runBuild: true,
|
|
||||||
rootDir: resolve(__dirname, 'fixtures', 'empty', 'pages')
|
rootDir: resolve(__dirname, 'fixtures', 'empty', 'pages')
|
||||||
})
|
})
|
||||||
return new Builder(nuxt).build().catch(err => {
|
return new Builder(nuxt).build().catch(err => {
|
||||||
@ -33,7 +32,6 @@ test.serial('Fail to build when no pages/ directory but is in the parent', t =>
|
|||||||
test.serial('Fail to build when no pages/ directory', t => {
|
test.serial('Fail to build when no pages/ directory', t => {
|
||||||
const nuxt = new Nuxt({
|
const nuxt = new Nuxt({
|
||||||
dev: false,
|
dev: false,
|
||||||
runBuild: true,
|
|
||||||
rootDir: resolve(__dirname)
|
rootDir: resolve(__dirname)
|
||||||
})
|
})
|
||||||
return new Builder(nuxt).build().catch(err => {
|
return new Builder(nuxt).build().catch(err => {
|
||||||
|
@ -14,7 +14,6 @@ test.before('Init Nuxt.js', async t => {
|
|||||||
let config = require(resolve(rootDir, 'nuxt.config.js'))
|
let config = require(resolve(rootDir, 'nuxt.config.js'))
|
||||||
config.rootDir = rootDir
|
config.rootDir = rootDir
|
||||||
config.dev = false
|
config.dev = false
|
||||||
config.runBuild = true
|
|
||||||
nuxt = new Nuxt(config)
|
nuxt = new Nuxt(config)
|
||||||
await new Builder(nuxt).build()
|
await new Builder(nuxt).build()
|
||||||
|
|
||||||
|
@ -62,10 +62,9 @@ test('unique responses with component', async t => {
|
|||||||
await uniqueTest(t, '/component')
|
await uniqueTest(t, '/component')
|
||||||
})
|
})
|
||||||
|
|
||||||
test.todo('unique responses with async components (wait Vue 2.4)')
|
test('unique responses with async components', async t => {
|
||||||
// test('unique responses with async components', async t => {
|
await uniqueTest(t, '/asyncComponent')
|
||||||
// await uniqueTest(t, '/asyncComponent')
|
})
|
||||||
// })
|
|
||||||
|
|
||||||
test('unique responses with asyncData()', async t => {
|
test('unique responses with asyncData()', async t => {
|
||||||
await uniqueTest(t, '/asyncData')
|
await uniqueTest(t, '/asyncData')
|
||||||
|
@ -14,7 +14,6 @@ test.before('Init Nuxt.js', async t => {
|
|||||||
let config = require(resolve(rootDir, 'nuxt.config.js'))
|
let config = require(resolve(rootDir, 'nuxt.config.js'))
|
||||||
config.rootDir = rootDir
|
config.rootDir = rootDir
|
||||||
config.dev = false
|
config.dev = false
|
||||||
config.runBuild = true
|
|
||||||
nuxt = new Nuxt(config)
|
nuxt = new Nuxt(config)
|
||||||
await new Builder(nuxt).build()
|
await new Builder(nuxt).build()
|
||||||
|
|
||||||
|
379
yarn.lock
379
yarn.lock
@ -45,8 +45,8 @@
|
|||||||
arrify "^1.0.1"
|
arrify "^1.0.1"
|
||||||
|
|
||||||
"@types/node@^6.0.46":
|
"@types/node@^6.0.46":
|
||||||
version "6.0.84"
|
version "6.0.85"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.84.tgz#193ffe5a9f42864d425ffd9739d95b753c6a1eab"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.85.tgz#ec02bfe54a61044f2be44f13b389c6a0e8ee05ae"
|
||||||
|
|
||||||
abab@^1.0.3:
|
abab@^1.0.3:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
@ -164,10 +164,10 @@ ansi-styles@^2.2.1:
|
|||||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
|
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
|
||||||
|
|
||||||
ansi-styles@^3.1.0:
|
ansi-styles@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.1.0.tgz#09c202d5c917ec23188caa5c9cb9179cd9547750"
|
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88"
|
||||||
dependencies:
|
dependencies:
|
||||||
color-convert "^1.0.0"
|
color-convert "^1.9.0"
|
||||||
|
|
||||||
ansi-styles@~1.0.0:
|
ansi-styles@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
@ -932,8 +932,8 @@ babel-plugin-transform-strict-mode@^6.24.1:
|
|||||||
babel-types "^6.24.1"
|
babel-types "^6.24.1"
|
||||||
|
|
||||||
babel-plugin-transform-vue-jsx@^3.1.2:
|
babel-plugin-transform-vue-jsx@^3.1.2:
|
||||||
version "3.4.3"
|
version "3.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-3.4.3.tgz#de57d8dd7d619333c981867728f3e6fdf68982ff"
|
resolved "https://registry.yarnpkg.com/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-3.5.0.tgz#6b1ad29351ad753919403675f0bf8b2a43e17671"
|
||||||
dependencies:
|
dependencies:
|
||||||
esutils "^2.0.2"
|
esutils "^2.0.2"
|
||||||
|
|
||||||
@ -1068,8 +1068,8 @@ babel-register@^6.24.1:
|
|||||||
source-map-support "^0.4.2"
|
source-map-support "^0.4.2"
|
||||||
|
|
||||||
babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0:
|
babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0:
|
||||||
version "6.23.0"
|
version "6.25.0"
|
||||||
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
|
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.25.0.tgz#33b98eaa5d482bb01a8d1aa6b437ad2b01aec41c"
|
||||||
dependencies:
|
dependencies:
|
||||||
core-js "^2.4.0"
|
core-js "^2.4.0"
|
||||||
regenerator-runtime "^0.10.0"
|
regenerator-runtime "^0.10.0"
|
||||||
@ -1134,8 +1134,8 @@ big.js@^3.1.3:
|
|||||||
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
|
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
|
||||||
|
|
||||||
binary-extensions@^1.0.0:
|
binary-extensions@^1.0.0:
|
||||||
version "1.8.0"
|
version "1.9.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.9.0.tgz#66506c16ce6f4d6928a5b3cd6a33ca41e941e37b"
|
||||||
|
|
||||||
block-stream@*:
|
block-stream@*:
|
||||||
version "0.0.9"
|
version "0.0.9"
|
||||||
@ -1166,8 +1166,8 @@ boom@2.x.x:
|
|||||||
hoek "2.x.x"
|
hoek "2.x.x"
|
||||||
|
|
||||||
boxen@^1.0.0:
|
boxen@^1.0.0:
|
||||||
version "1.2.0"
|
version "1.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.2.0.tgz#03478d84be7fe02189b80904d81d6a80384368f1"
|
resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.2.1.tgz#0f11e7fe344edb9397977fc13ede7f64d956481d"
|
||||||
dependencies:
|
dependencies:
|
||||||
ansi-align "^2.0.0"
|
ansi-align "^2.0.0"
|
||||||
camelcase "^4.0.0"
|
camelcase "^4.0.0"
|
||||||
@ -1261,11 +1261,11 @@ browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
|
|||||||
electron-to-chromium "^1.2.7"
|
electron-to-chromium "^1.2.7"
|
||||||
|
|
||||||
browserslist@^2.1.2, browserslist@^2.1.5:
|
browserslist@^2.1.2, browserslist@^2.1.5:
|
||||||
version "2.2.0"
|
version "2.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.2.0.tgz#5e35ec993e467c6464b8cb708447386891de9f50"
|
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.2.2.tgz#e9b4618b8a01c193f9786beea09f6fd10dbe31c3"
|
||||||
dependencies:
|
dependencies:
|
||||||
caniuse-lite "^1.0.30000701"
|
caniuse-lite "^1.0.30000704"
|
||||||
electron-to-chromium "^1.3.15"
|
electron-to-chromium "^1.3.16"
|
||||||
|
|
||||||
buf-compare@^1.0.0:
|
buf-compare@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
@ -1366,12 +1366,12 @@ caniuse-api@^1.5.2:
|
|||||||
lodash.uniq "^4.5.0"
|
lodash.uniq "^4.5.0"
|
||||||
|
|
||||||
caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
|
caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
|
||||||
version "1.0.30000701"
|
version "1.0.30000708"
|
||||||
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000701.tgz#2e32b06993bf3dbd90b43d93f04e26d11afddcba"
|
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000708.tgz#c2e736bd3b7fc5f6c14e4c6dfe62b98ed15e8a5b"
|
||||||
|
|
||||||
caniuse-lite@^1.0.30000697, caniuse-lite@^1.0.30000701:
|
caniuse-lite@^1.0.30000697, caniuse-lite@^1.0.30000704:
|
||||||
version "1.0.30000701"
|
version "1.0.30000708"
|
||||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000701.tgz#9d673cf6b74dcb3d5c21d213176b011ac6a45baa"
|
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000708.tgz#71dbf388c57f379b1bb66c89a890edc04c2509b6"
|
||||||
|
|
||||||
capture-stack-trace@^1.0.0:
|
capture-stack-trace@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
@ -1410,7 +1410,7 @@ chalk@^0.4.0:
|
|||||||
has-color "~0.1.0"
|
has-color "~0.1.0"
|
||||||
strip-ansi "~0.1.0"
|
strip-ansi "~0.1.0"
|
||||||
|
|
||||||
chalk@^2.0.1:
|
chalk@^2.0.0, chalk@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.0.1.tgz#dbec49436d2ae15f536114e76d14656cdbc0f44d"
|
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.0.1.tgz#dbec49436d2ae15f536114e76d14656cdbc0f44d"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -1445,8 +1445,8 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
|
|||||||
safe-buffer "^5.0.1"
|
safe-buffer "^5.0.1"
|
||||||
|
|
||||||
circular-json@^0.3.1:
|
circular-json@^0.3.1:
|
||||||
version "0.3.1"
|
version "0.3.3"
|
||||||
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
|
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
|
||||||
|
|
||||||
clap@^1.0.9:
|
clap@^1.0.9:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
@ -1483,10 +1483,10 @@ cli-spinners@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.0.0.tgz#ef987ed3d48391ac3dab9180b406a742180d6e6a"
|
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.0.0.tgz#ef987ed3d48391ac3dab9180b406a742180d6e6a"
|
||||||
|
|
||||||
cli-truncate@^1.0.0:
|
cli-truncate@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.0.0.tgz#21eb91f47b3f6560f004db77a769b4668d9c5518"
|
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz#2b2dfd83c53cfd3572b87fc4d430a808afb04086"
|
||||||
dependencies:
|
dependencies:
|
||||||
slice-ansi "0.0.4"
|
slice-ansi "^1.0.0"
|
||||||
string-width "^2.0.0"
|
string-width "^2.0.0"
|
||||||
|
|
||||||
cli-width@^2.0.0:
|
cli-width@^2.0.0:
|
||||||
@ -1551,7 +1551,7 @@ codecov@^2.2.0:
|
|||||||
request "2.79.0"
|
request "2.79.0"
|
||||||
urlgrey "0.4.4"
|
urlgrey "0.4.4"
|
||||||
|
|
||||||
color-convert@^1.0.0, color-convert@^1.3.0:
|
color-convert@^1.3.0, color-convert@^1.9.0:
|
||||||
version "1.9.0"
|
version "1.9.0"
|
||||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
|
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -1593,11 +1593,9 @@ combined-stream@^1.0.5, combined-stream@~1.0.5:
|
|||||||
dependencies:
|
dependencies:
|
||||||
delayed-stream "~1.0.0"
|
delayed-stream "~1.0.0"
|
||||||
|
|
||||||
commander@2.9.x, commander@^2.9.0, commander@~2.9.0:
|
commander@2.11.x, commander@^2.9.0, commander@~2.11.0:
|
||||||
version "2.9.0"
|
version "2.11.0"
|
||||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
|
resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563"
|
||||||
dependencies:
|
|
||||||
graceful-readlink ">= 1.0.0"
|
|
||||||
|
|
||||||
common-path-prefix@^1.0.0:
|
common-path-prefix@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
@ -1661,8 +1659,8 @@ config-chain@~1.1.5:
|
|||||||
proto-list "~1.2.1"
|
proto-list "~1.2.1"
|
||||||
|
|
||||||
configstore@^3.0.0:
|
configstore@^3.0.0:
|
||||||
version "3.1.0"
|
version "3.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.0.tgz#45df907073e26dfa1cf4b2d52f5b60545eaa11d1"
|
resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90"
|
||||||
dependencies:
|
dependencies:
|
||||||
dot-prop "^4.1.0"
|
dot-prop "^4.1.0"
|
||||||
graceful-fs "^4.1.2"
|
graceful-fs "^4.1.2"
|
||||||
@ -1761,8 +1759,8 @@ core-util-is@~1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
||||||
|
|
||||||
cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
|
cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
|
||||||
version "2.1.3"
|
version "2.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.1.3.tgz#952771eb0dddc1cb3fa2f6fbe51a522e93b3ee0a"
|
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892"
|
||||||
dependencies:
|
dependencies:
|
||||||
is-directory "^0.3.1"
|
is-directory "^0.3.1"
|
||||||
js-yaml "^3.4.3"
|
js-yaml "^3.4.3"
|
||||||
@ -1812,7 +1810,7 @@ cross-env@^5.0.1:
|
|||||||
cross-spawn "^5.1.0"
|
cross-spawn "^5.1.0"
|
||||||
is-windows "^1.0.0"
|
is-windows "^1.0.0"
|
||||||
|
|
||||||
cross-spawn@^4, cross-spawn@^4.0.0:
|
cross-spawn@^4:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
|
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2014,7 +2012,7 @@ deep-equal@^1.0.0:
|
|||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
|
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
|
||||||
|
|
||||||
deep-extend@^0.4.0, deep-extend@~0.4.0:
|
deep-extend@~0.4.0:
|
||||||
version "0.4.2"
|
version "0.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
|
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
|
||||||
|
|
||||||
@ -2168,8 +2166,8 @@ domutils@^1.5.1:
|
|||||||
domelementtype "1"
|
domelementtype "1"
|
||||||
|
|
||||||
dot-prop@^4.1.0:
|
dot-prop@^4.1.0:
|
||||||
version "4.1.1"
|
version "4.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1"
|
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
|
||||||
dependencies:
|
dependencies:
|
||||||
is-obj "^1.0.0"
|
is-obj "^1.0.0"
|
||||||
|
|
||||||
@ -2200,13 +2198,13 @@ ee-first@1.1.1:
|
|||||||
version "1.1.1"
|
version "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"
|
||||||
|
|
||||||
ejs@^2.3.4, ejs@^2.5.6:
|
ejs@^2.5.6:
|
||||||
version "2.5.6"
|
version "2.5.6"
|
||||||
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88"
|
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88"
|
||||||
|
|
||||||
electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.15:
|
electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.16:
|
||||||
version "1.3.15"
|
version "1.3.16"
|
||||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz#08397934891cbcfaebbd18b82a95b5a481138369"
|
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.16.tgz#d0e026735754770901ae301a21664cba45d92f7d"
|
||||||
|
|
||||||
elliptic@^6.0.0:
|
elliptic@^6.0.0:
|
||||||
version "6.4.0"
|
version "6.4.0"
|
||||||
@ -2241,14 +2239,14 @@ encoding@^0.1.11:
|
|||||||
dependencies:
|
dependencies:
|
||||||
iconv-lite "~0.4.13"
|
iconv-lite "~0.4.13"
|
||||||
|
|
||||||
enhanced-resolve@^3.3.0:
|
enhanced-resolve@^3.4.0:
|
||||||
version "3.3.0"
|
version "3.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.3.0.tgz#950964ecc7f0332a42321b673b38dc8ff15535b3"
|
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e"
|
||||||
dependencies:
|
dependencies:
|
||||||
graceful-fs "^4.1.2"
|
graceful-fs "^4.1.2"
|
||||||
memory-fs "^0.4.0"
|
memory-fs "^0.4.0"
|
||||||
object-assign "^4.0.1"
|
object-assign "^4.0.1"
|
||||||
tapable "^0.2.5"
|
tapable "^0.2.7"
|
||||||
|
|
||||||
entities@^1.1.1, entities@~1.1.1:
|
entities@^1.1.1, entities@~1.1.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
@ -2382,9 +2380,9 @@ eslint-module-utils@^2.1.1:
|
|||||||
debug "^2.6.8"
|
debug "^2.6.8"
|
||||||
pkg-dir "^1.0.0"
|
pkg-dir "^1.0.0"
|
||||||
|
|
||||||
eslint-plugin-html@^3.1.0:
|
eslint-plugin-html@^3.1.1:
|
||||||
version "3.1.0"
|
version "3.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-plugin-html/-/eslint-plugin-html-3.1.0.tgz#2eb999b48840b7184edf1c953976a73307151e44"
|
resolved "https://registry.yarnpkg.com/eslint-plugin-html/-/eslint-plugin-html-3.1.1.tgz#d6c03796e89ac6b735da6fef9ca9162b423daee3"
|
||||||
dependencies:
|
dependencies:
|
||||||
htmlparser2 "^3.8.2"
|
htmlparser2 "^3.8.2"
|
||||||
|
|
||||||
@ -2403,9 +2401,9 @@ eslint-plugin-import@^2.6.1:
|
|||||||
minimatch "^3.0.3"
|
minimatch "^3.0.3"
|
||||||
read-pkg-up "^2.0.0"
|
read-pkg-up "^2.0.0"
|
||||||
|
|
||||||
eslint-plugin-node@^5.1.0:
|
eslint-plugin-node@^5.1.1:
|
||||||
version "5.1.0"
|
version "5.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-5.1.0.tgz#bc8cdb85180d0b4d946a2531640e2a4dd7a4e6d4"
|
resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-5.1.1.tgz#a7ed956e780c22aef6afd1116005acd82f26eac6"
|
||||||
dependencies:
|
dependencies:
|
||||||
ignore "^3.3.3"
|
ignore "^3.3.3"
|
||||||
minimatch "^3.0.4"
|
minimatch "^3.0.4"
|
||||||
@ -2427,14 +2425,15 @@ eslint-scope@^3.7.1:
|
|||||||
esrecurse "^4.1.0"
|
esrecurse "^4.1.0"
|
||||||
estraverse "^4.1.1"
|
estraverse "^4.1.1"
|
||||||
|
|
||||||
eslint@^4.2.0:
|
eslint@^4.3.0:
|
||||||
version "4.2.0"
|
version "4.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.2.0.tgz#a2b3184111b198e02e9c7f3cca625a5e01c56b3d"
|
resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.3.0.tgz#fcd7c96376bbf34c85ee67ed0012a299642b108f"
|
||||||
dependencies:
|
dependencies:
|
||||||
ajv "^5.2.0"
|
ajv "^5.2.0"
|
||||||
babel-code-frame "^6.22.0"
|
babel-code-frame "^6.22.0"
|
||||||
chalk "^1.1.3"
|
chalk "^1.1.3"
|
||||||
concat-stream "^1.6.0"
|
concat-stream "^1.6.0"
|
||||||
|
cross-spawn "^5.1.0"
|
||||||
debug "^2.6.8"
|
debug "^2.6.8"
|
||||||
doctrine "^2.0.0"
|
doctrine "^2.0.0"
|
||||||
eslint-scope "^3.7.1"
|
eslint-scope "^3.7.1"
|
||||||
@ -2443,6 +2442,7 @@ eslint@^4.2.0:
|
|||||||
estraverse "^4.2.0"
|
estraverse "^4.2.0"
|
||||||
esutils "^2.0.2"
|
esutils "^2.0.2"
|
||||||
file-entry-cache "^2.0.0"
|
file-entry-cache "^2.0.0"
|
||||||
|
functional-red-black-tree "^1.0.1"
|
||||||
glob "^7.1.2"
|
glob "^7.1.2"
|
||||||
globals "^9.17.0"
|
globals "^9.17.0"
|
||||||
ignore "^3.3.3"
|
ignore "^3.3.3"
|
||||||
@ -2461,6 +2461,7 @@ eslint@^4.2.0:
|
|||||||
pluralize "^4.0.0"
|
pluralize "^4.0.0"
|
||||||
progress "^2.0.0"
|
progress "^2.0.0"
|
||||||
require-uncached "^1.0.3"
|
require-uncached "^1.0.3"
|
||||||
|
semver "^5.3.0"
|
||||||
strip-json-comments "~2.0.1"
|
strip-json-comments "~2.0.1"
|
||||||
table "^4.0.1"
|
table "^4.0.1"
|
||||||
text-table "~0.2.0"
|
text-table "~0.2.0"
|
||||||
@ -2549,18 +2550,6 @@ evp_bytestokey@^1.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
create-hash "^1.1.1"
|
create-hash "^1.1.1"
|
||||||
|
|
||||||
execa@^0.5.0:
|
|
||||||
version "0.5.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36"
|
|
||||||
dependencies:
|
|
||||||
cross-spawn "^4.0.0"
|
|
||||||
get-stream "^2.2.0"
|
|
||||||
is-stream "^1.1.0"
|
|
||||||
npm-run-path "^2.0.0"
|
|
||||||
p-finally "^1.0.0"
|
|
||||||
signal-exit "^3.0.0"
|
|
||||||
strip-eof "^1.0.0"
|
|
||||||
|
|
||||||
execa@^0.7.0:
|
execa@^0.7.0:
|
||||||
version "0.7.0"
|
version "0.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
|
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
|
||||||
@ -2585,7 +2574,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, express@^4.15.3:
|
||||||
version "4.15.3"
|
version "4.15.3"
|
||||||
resolved "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662"
|
resolved "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2622,7 +2611,7 @@ extend@~3.0.0:
|
|||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
|
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
|
||||||
|
|
||||||
external-editor@^2.0.1:
|
external-editor@^2.0.1, external-editor@^2.0.4:
|
||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972"
|
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2863,6 +2852,10 @@ function-name-support@^0.2.0:
|
|||||||
version "0.2.0"
|
version "0.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/function-name-support/-/function-name-support-0.2.0.tgz#55d3bfaa6eafd505a50f9bc81fdf57564a0bb071"
|
resolved "https://registry.yarnpkg.com/function-name-support/-/function-name-support-0.2.0.tgz#55d3bfaa6eafd505a50f9bc81fdf57564a0bb071"
|
||||||
|
|
||||||
|
functional-red-black-tree@^1.0.1:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
|
||||||
|
|
||||||
gauge@~2.7.3:
|
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"
|
||||||
@ -2898,13 +2891,6 @@ get-stdin@^4.0.1:
|
|||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
|
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
|
||||||
|
|
||||||
get-stream@^2.2.0:
|
|
||||||
version "2.3.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de"
|
|
||||||
dependencies:
|
|
||||||
object-assign "^4.0.1"
|
|
||||||
pinkie-promise "^2.0.0"
|
|
||||||
|
|
||||||
get-stream@^3.0.0:
|
get-stream@^3.0.0:
|
||||||
version "3.0.0"
|
version "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"
|
||||||
@ -2994,10 +2980,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
|
|||||||
version "4.1.11"
|
version "4.1.11"
|
||||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
|
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
|
||||||
|
|
||||||
"graceful-readlink@>= 1.0.0":
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
|
|
||||||
|
|
||||||
gzip-size@^3.0.0:
|
gzip-size@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520"
|
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520"
|
||||||
@ -3134,12 +3116,12 @@ html-entities@^1.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f"
|
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f"
|
||||||
|
|
||||||
html-minifier@^3.2.3, html-minifier@^3.5.2:
|
html-minifier@^3.2.3, html-minifier@^3.5.2:
|
||||||
version "3.5.2"
|
version "3.5.3"
|
||||||
resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.2.tgz#d73bc3ff448942408818ce609bf3fb0ea7ef4eb7"
|
resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.3.tgz#4a275e3b1a16639abb79b4c11191ff0d0fcf1ab9"
|
||||||
dependencies:
|
dependencies:
|
||||||
camel-case "3.0.x"
|
camel-case "3.0.x"
|
||||||
clean-css "4.1.x"
|
clean-css "4.1.x"
|
||||||
commander "2.9.x"
|
commander "2.11.x"
|
||||||
he "1.1.x"
|
he "1.1.x"
|
||||||
ncname "1.0.x"
|
ncname "1.0.x"
|
||||||
param-case "2.1.x"
|
param-case "2.1.x"
|
||||||
@ -3269,8 +3251,8 @@ indent-string@^2.1.0:
|
|||||||
repeating "^2.0.0"
|
repeating "^2.0.0"
|
||||||
|
|
||||||
indent-string@^3.0.0, indent-string@^3.1.0:
|
indent-string@^3.0.0, indent-string@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.1.0.tgz#08ff4334603388399b329e6b9538dc7a3cf5de7d"
|
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
|
||||||
|
|
||||||
indexes-of@^1.0.1:
|
indexes-of@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
@ -3299,7 +3281,7 @@ ini@^1.3.4, ini@~1.3.0:
|
|||||||
version "1.3.4"
|
version "1.3.4"
|
||||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
|
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
|
||||||
|
|
||||||
inquirer@3.0.6, inquirer@^3.0.6:
|
inquirer@3.0.6:
|
||||||
version "3.0.6"
|
version "3.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347"
|
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -3317,6 +3299,25 @@ inquirer@3.0.6, inquirer@^3.0.6:
|
|||||||
strip-ansi "^3.0.0"
|
strip-ansi "^3.0.0"
|
||||||
through "^2.3.6"
|
through "^2.3.6"
|
||||||
|
|
||||||
|
inquirer@^3.0.6:
|
||||||
|
version "3.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.2.1.tgz#06ceb0f540f45ca548c17d6840959878265fa175"
|
||||||
|
dependencies:
|
||||||
|
ansi-escapes "^2.0.0"
|
||||||
|
chalk "^2.0.0"
|
||||||
|
cli-cursor "^2.1.0"
|
||||||
|
cli-width "^2.0.0"
|
||||||
|
external-editor "^2.0.4"
|
||||||
|
figures "^2.0.0"
|
||||||
|
lodash "^4.3.0"
|
||||||
|
mute-stream "0.0.7"
|
||||||
|
run-async "^2.2.0"
|
||||||
|
rx-lite "^4.0.8"
|
||||||
|
rx-lite-aggregates "^4.0.8"
|
||||||
|
string-width "^2.1.0"
|
||||||
|
strip-ansi "^4.0.0"
|
||||||
|
through "^2.3.6"
|
||||||
|
|
||||||
interpret@^1.0.0:
|
interpret@^1.0.0:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90"
|
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90"
|
||||||
@ -3331,9 +3332,9 @@ invert-kv@^1.0.0:
|
|||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
|
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
|
||||||
|
|
||||||
ipaddr.js@1.3.0:
|
ipaddr.js@1.4.0:
|
||||||
version "1.3.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec"
|
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.4.0.tgz#296aca878a821816e5b85d0a285a99bcff4582f0"
|
||||||
|
|
||||||
irregular-plurals@^1.0.0:
|
irregular-plurals@^1.0.0:
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
@ -3692,9 +3693,9 @@ jsesc@~0.5.0:
|
|||||||
version "0.5.0"
|
version "0.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
|
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
|
||||||
|
|
||||||
json-loader@^0.5.4:
|
json-loader@^0.5.4, json-loader@^0.5.6:
|
||||||
version "0.5.4"
|
version "0.5.7"
|
||||||
resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de"
|
resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
|
||||||
|
|
||||||
json-schema-traverse@^0.3.0:
|
json-schema-traverse@^0.3.0:
|
||||||
version "0.3.1"
|
version "0.3.1"
|
||||||
@ -3817,7 +3818,7 @@ loader-runner@^2.3.0:
|
|||||||
version "2.3.0"
|
version "2.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
|
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
|
||||||
|
|
||||||
loader-utils@0.2.x, loader-utils@^0.2.15, loader-utils@^0.2.16:
|
loader-utils@^0.2.15, loader-utils@^0.2.16:
|
||||||
version "0.2.17"
|
version "0.2.17"
|
||||||
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
|
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -4079,19 +4080,15 @@ miller-rabin@^4.0.0:
|
|||||||
bn.js "^4.0.0"
|
bn.js "^4.0.0"
|
||||||
brorand "^1.0.1"
|
brorand "^1.0.1"
|
||||||
|
|
||||||
"mime-db@>= 1.27.0 < 2":
|
"mime-db@>= 1.27.0 < 2", mime-db@~1.29.0:
|
||||||
version "1.29.0"
|
version "1.29.0"
|
||||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.29.0.tgz#48d26d235589651704ac5916ca06001914266878"
|
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.29.0.tgz#48d26d235589651704ac5916ca06001914266878"
|
||||||
|
|
||||||
mime-db@~1.27.0:
|
|
||||||
version "1.27.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
|
|
||||||
|
|
||||||
mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7:
|
mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7:
|
||||||
version "2.1.15"
|
version "2.1.16"
|
||||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
|
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.16.tgz#2b858a52e5ecd516db897ac2be87487830698e23"
|
||||||
dependencies:
|
dependencies:
|
||||||
mime-db "~1.27.0"
|
mime-db "~1.29.0"
|
||||||
|
|
||||||
mime@1.3.4:
|
mime@1.3.4:
|
||||||
version "1.3.4"
|
version "1.3.4"
|
||||||
@ -4119,7 +4116,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion "^1.1.7"
|
brace-expansion "^1.1.7"
|
||||||
|
|
||||||
minimist@0.0.8, minimist@~0.0.1:
|
minimist@0.0.8:
|
||||||
version "0.0.8"
|
version "0.0.8"
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
||||||
|
|
||||||
@ -4127,6 +4124,10 @@ minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0:
|
|||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
||||||
|
|
||||||
|
minimist@~0.0.1:
|
||||||
|
version "0.0.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
|
||||||
|
|
||||||
"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
|
"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
|
||||||
version "0.5.1"
|
version "0.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
|
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
|
||||||
@ -4369,16 +4370,6 @@ observable-to-promise@^0.5.0:
|
|||||||
is-observable "^0.2.0"
|
is-observable "^0.2.0"
|
||||||
symbol-observable "^1.0.4"
|
symbol-observable "^1.0.4"
|
||||||
|
|
||||||
offline-plugin@^4.8.3:
|
|
||||||
version "4.8.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/offline-plugin/-/offline-plugin-4.8.3.tgz#9e95bd342ea2ac836b001b81f204c40638694d6c"
|
|
||||||
dependencies:
|
|
||||||
deep-extend "^0.4.0"
|
|
||||||
ejs "^2.3.4"
|
|
||||||
loader-utils "0.2.x"
|
|
||||||
minimatch "^3.0.3"
|
|
||||||
slash "^1.0.0"
|
|
||||||
|
|
||||||
on-finished@~2.3.0:
|
on-finished@~2.3.0:
|
||||||
version "2.3.0"
|
version "2.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
|
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
|
||||||
@ -4453,17 +4444,11 @@ os-homedir@^1.0.0, os-homedir@^1.0.1:
|
|||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
|
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
|
||||||
|
|
||||||
os-locale@^1.4.0:
|
|
||||||
version "1.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
|
|
||||||
dependencies:
|
|
||||||
lcid "^1.0.0"
|
|
||||||
|
|
||||||
os-locale@^2.0.0:
|
os-locale@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.0.0.tgz#15918ded510522b81ee7ae5a309d54f639fc39a4"
|
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
|
||||||
dependencies:
|
dependencies:
|
||||||
execa "^0.5.0"
|
execa "^0.7.0"
|
||||||
lcid "^1.0.0"
|
lcid "^1.0.0"
|
||||||
mem "^1.1.0"
|
mem "^1.1.0"
|
||||||
|
|
||||||
@ -4958,19 +4943,13 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0
|
|||||||
supports-color "^3.2.3"
|
supports-color "^3.2.3"
|
||||||
|
|
||||||
postcss@^6.0.1, postcss@^6.0.6:
|
postcss@^6.0.1, postcss@^6.0.6:
|
||||||
version "6.0.7"
|
version "6.0.8"
|
||||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.7.tgz#6a097477c46d13d0560a817d69abc0bae549d0a0"
|
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.8.tgz#89067a9ce8b11f8a84cbc5117efc30419a0857b3"
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk "^2.0.1"
|
chalk "^2.0.1"
|
||||||
source-map "^0.5.6"
|
source-map "^0.5.6"
|
||||||
supports-color "^4.2.0"
|
supports-color "^4.2.0"
|
||||||
|
|
||||||
preload-webpack-plugin@^1.2.2:
|
|
||||||
version "1.2.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/preload-webpack-plugin/-/preload-webpack-plugin-1.2.2.tgz#d1b6f0eab3c2d0bb4c249d409cf6b7a8b0a415dd"
|
|
||||||
dependencies:
|
|
||||||
object-assign "^4.1.1"
|
|
||||||
|
|
||||||
prelude-ls@~1.1.2:
|
prelude-ls@~1.1.2:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
|
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
|
||||||
@ -5037,11 +5016,11 @@ proto-list@~1.2.1:
|
|||||||
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
|
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
|
||||||
|
|
||||||
proxy-addr@~1.1.4:
|
proxy-addr@~1.1.4:
|
||||||
version "1.1.4"
|
version "1.1.5"
|
||||||
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3"
|
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.5.tgz#71c0ee3b102de3f202f3b64f608d173fcba1a918"
|
||||||
dependencies:
|
dependencies:
|
||||||
forwarded "~0.1.0"
|
forwarded "~0.1.0"
|
||||||
ipaddr.js "1.3.0"
|
ipaddr.js "1.4.0"
|
||||||
|
|
||||||
prr@~0.0.0:
|
prr@~0.0.0:
|
||||||
version "0.0.0"
|
version "0.0.0"
|
||||||
@ -5419,8 +5398,8 @@ resolve@1.1.7:
|
|||||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
|
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
|
||||||
|
|
||||||
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.2.0, resolve@^1.3.3:
|
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.2.0, resolve@^1.3.3:
|
||||||
version "1.3.3"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
|
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86"
|
||||||
dependencies:
|
dependencies:
|
||||||
path-parse "^1.0.5"
|
path-parse "^1.0.5"
|
||||||
|
|
||||||
@ -5526,6 +5505,16 @@ run-async@^2.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
is-promise "^2.1.0"
|
is-promise "^2.1.0"
|
||||||
|
|
||||||
|
rx-lite-aggregates@^4.0.8:
|
||||||
|
version "4.0.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
|
||||||
|
dependencies:
|
||||||
|
rx-lite "*"
|
||||||
|
|
||||||
|
rx-lite@*, rx-lite@^4.0.8:
|
||||||
|
version "4.0.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
|
||||||
|
|
||||||
rx@^4.1.0:
|
rx@^4.1.0:
|
||||||
version "4.1.0"
|
version "4.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
|
resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
|
||||||
@ -5548,19 +5537,17 @@ schema-utils@^0.3.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ajv "^5.0.0"
|
ajv "^5.0.0"
|
||||||
|
|
||||||
script-ext-html-webpack-plugin@^1.8.3:
|
|
||||||
version "1.8.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-1.8.5.tgz#7a408383d7f3329da8f59d503be25cc39a53f3f3"
|
|
||||||
dependencies:
|
|
||||||
debug "^2.6.8"
|
|
||||||
|
|
||||||
semver-diff@^2.0.0:
|
semver-diff@^2.0.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
|
resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
|
||||||
dependencies:
|
dependencies:
|
||||||
semver "^5.0.3"
|
semver "^5.0.3"
|
||||||
|
|
||||||
"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0:
|
"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0:
|
||||||
|
version "5.4.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
|
||||||
|
|
||||||
|
semver@5.3.0:
|
||||||
version "5.3.0"
|
version "5.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
|
||||||
|
|
||||||
@ -5647,6 +5634,12 @@ slice-ansi@0.0.4:
|
|||||||
version "0.0.4"
|
version "0.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
|
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
|
||||||
|
|
||||||
|
slice-ansi@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
|
||||||
|
dependencies:
|
||||||
|
is-fullwidth-code-point "^2.0.0"
|
||||||
|
|
||||||
slide@^1.1.5:
|
slide@^1.1.5:
|
||||||
version "1.1.6"
|
version "1.1.6"
|
||||||
resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
|
resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
|
||||||
@ -5799,9 +5792,9 @@ string-width@^1.0.1, string-width@^1.0.2:
|
|||||||
is-fullwidth-code-point "^1.0.0"
|
is-fullwidth-code-point "^1.0.0"
|
||||||
strip-ansi "^3.0.0"
|
strip-ansi "^3.0.0"
|
||||||
|
|
||||||
string-width@^2.0.0:
|
string-width@^2.0.0, string-width@^2.1.0:
|
||||||
version "2.1.0"
|
version "2.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.0.tgz#030664561fc146c9423ec7d978fe2457437fe6d0"
|
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
|
||||||
dependencies:
|
dependencies:
|
||||||
is-fullwidth-code-point "^2.0.0"
|
is-fullwidth-code-point "^2.0.0"
|
||||||
strip-ansi "^4.0.0"
|
strip-ansi "^4.0.0"
|
||||||
@ -5870,15 +5863,15 @@ supports-color@^2.0.0:
|
|||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
|
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
|
||||||
|
|
||||||
supports-color@^3.1.0, supports-color@^3.1.2, supports-color@^3.2.3:
|
supports-color@^3.1.2, supports-color@^3.2.3:
|
||||||
version "3.2.3"
|
version "3.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
|
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
|
||||||
dependencies:
|
dependencies:
|
||||||
has-flag "^1.0.0"
|
has-flag "^1.0.0"
|
||||||
|
|
||||||
supports-color@^4.0.0, supports-color@^4.2.0:
|
supports-color@^4.0.0, supports-color@^4.2.0, supports-color@^4.2.1:
|
||||||
version "4.2.0"
|
version "4.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.2.0.tgz#ad986dc7eb2315d009b4d77c8169c2231a684037"
|
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.2.1.tgz#65a4bb2631e90e02420dba5554c375a4754bb836"
|
||||||
dependencies:
|
dependencies:
|
||||||
has-flag "^2.0.0"
|
has-flag "^2.0.0"
|
||||||
|
|
||||||
@ -5917,9 +5910,9 @@ table@^4.0.1:
|
|||||||
slice-ansi "0.0.4"
|
slice-ansi "0.0.4"
|
||||||
string-width "^2.0.0"
|
string-width "^2.0.0"
|
||||||
|
|
||||||
tapable@^0.2.5, tapable@^0.2.6, tapable@~0.2.5:
|
tapable@^0.2.6, tapable@^0.2.7:
|
||||||
version "0.2.6"
|
version "0.2.7"
|
||||||
resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d"
|
resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.7.tgz#e46c0daacbb2b8a98b9b0cea0f4052105817ed5c"
|
||||||
|
|
||||||
tappable@^1.1.0:
|
tappable@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
@ -6083,10 +6076,10 @@ typedarray@^0.0.6:
|
|||||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||||
|
|
||||||
uglify-js@3.0.x, uglify-js@^3.0.23:
|
uglify-js@3.0.x, uglify-js@^3.0.23:
|
||||||
version "3.0.25"
|
version "3.0.26"
|
||||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.25.tgz#3dc190b0ee437497e449bc6f785665b06afbe052"
|
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.26.tgz#ba279ca597b13fe6c62c2d87dd5188e57a7a3233"
|
||||||
dependencies:
|
dependencies:
|
||||||
commander "~2.9.0"
|
commander "~2.11.0"
|
||||||
source-map "~0.5.1"
|
source-map "~0.5.1"
|
||||||
|
|
||||||
uglify-js@^2.6, uglify-js@^2.8.29:
|
uglify-js@^2.6, uglify-js@^2.8.29:
|
||||||
@ -6151,8 +6144,8 @@ unique-temp-dir@^1.0.0:
|
|||||||
uid2 "0.0.3"
|
uid2 "0.0.3"
|
||||||
|
|
||||||
universalify@^0.1.0:
|
universalify@^0.1.0:
|
||||||
version "0.1.0"
|
version "0.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.0.tgz#9eb1c4651debcc670cc94f1a75762332bb967778"
|
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7"
|
||||||
|
|
||||||
unpipe@~1.0.0:
|
unpipe@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
@ -6294,9 +6287,9 @@ vue-router@^2.7.0:
|
|||||||
version "2.7.0"
|
version "2.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-2.7.0.tgz#16d424493aa51c3c8cce8b7c7210ea4c3a89aff1"
|
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-2.7.0.tgz#16d424493aa51c3c8cce8b7c7210ea4c3a89aff1"
|
||||||
|
|
||||||
vue-server-renderer@~2.4.1:
|
vue-server-renderer@~2.4.2:
|
||||||
version "2.4.1"
|
version "2.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.4.1.tgz#9a1986c459387eaa319c16ca5c0d0f2ebb2c66c5"
|
resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.4.2.tgz#0ba0f984181ea1c455362b09bddf60bc0e0a03fa"
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk "^1.1.3"
|
chalk "^1.1.3"
|
||||||
hash-sum "^1.0.2"
|
hash-sum "^1.0.2"
|
||||||
@ -6307,12 +6300,6 @@ vue-server-renderer@~2.4.1:
|
|||||||
serialize-javascript "^1.3.0"
|
serialize-javascript "^1.3.0"
|
||||||
source-map "0.5.6"
|
source-map "0.5.6"
|
||||||
|
|
||||||
vue-ssr-html-stream@^2.2.0:
|
|
||||||
version "2.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/vue-ssr-html-stream/-/vue-ssr-html-stream-2.2.0.tgz#56d78b96c9c172b43749a324c156e888aca96d92"
|
|
||||||
dependencies:
|
|
||||||
serialize-javascript "^1.3.0"
|
|
||||||
|
|
||||||
vue-style-loader@^3.0.0:
|
vue-style-loader@^3.0.0:
|
||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-3.0.1.tgz#c8b639bb2f24baf9d78274dc17e4f264c1deda08"
|
resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-3.0.1.tgz#c8b639bb2f24baf9d78274dc17e4f264c1deda08"
|
||||||
@ -6320,9 +6307,9 @@ vue-style-loader@^3.0.0:
|
|||||||
hash-sum "^1.0.2"
|
hash-sum "^1.0.2"
|
||||||
loader-utils "^1.0.2"
|
loader-utils "^1.0.2"
|
||||||
|
|
||||||
vue-template-compiler@~2.4.1:
|
vue-template-compiler@~2.4.2:
|
||||||
version "2.4.1"
|
version "2.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.4.1.tgz#20115cf8714f222f9be4111ec75b079a1c9b8197"
|
resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.4.2.tgz#5a45d843f148b098f6c1d1e35ac20c4956d30ad1"
|
||||||
dependencies:
|
dependencies:
|
||||||
de-indent "^1.0.2"
|
de-indent "^1.0.2"
|
||||||
he "^1.1.0"
|
he "^1.1.0"
|
||||||
@ -6331,9 +6318,9 @@ vue-template-es2015-compiler@^1.5.3:
|
|||||||
version "1.5.3"
|
version "1.5.3"
|
||||||
resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.3.tgz#22787de4e37ebd9339b74223bc467d1adee30545"
|
resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.3.tgz#22787de4e37ebd9339b74223bc467d1adee30545"
|
||||||
|
|
||||||
vue@~2.4.1:
|
vue@~2.4.2:
|
||||||
version "2.4.1"
|
version "2.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/vue/-/vue-2.4.1.tgz#76e0b8eee614613532216b7bfe784e0b5695b160"
|
resolved "https://registry.yarnpkg.com/vue/-/vue-2.4.2.tgz#a9855261f191c978cc0dc1150531b8d08149b58c"
|
||||||
|
|
||||||
vuex@^2.3.1:
|
vuex@^2.3.1:
|
||||||
version "2.3.1"
|
version "2.3.1"
|
||||||
@ -6397,15 +6384,15 @@ webpack-sources@^1.0.1:
|
|||||||
source-map "~0.5.3"
|
source-map "~0.5.3"
|
||||||
|
|
||||||
webpack@^3.3.0:
|
webpack@^3.3.0:
|
||||||
version "3.3.0"
|
version "3.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.3.0.tgz#ce2f9e076566aba91f74887133a883fd7da187bc"
|
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.4.1.tgz#4c3f4f3fb318155a4db0cb6a36ff05c5697418f4"
|
||||||
dependencies:
|
dependencies:
|
||||||
acorn "^5.0.0"
|
acorn "^5.0.0"
|
||||||
acorn-dynamic-import "^2.0.0"
|
acorn-dynamic-import "^2.0.0"
|
||||||
ajv "^5.1.5"
|
ajv "^5.1.5"
|
||||||
ajv-keywords "^2.0.0"
|
ajv-keywords "^2.0.0"
|
||||||
async "^2.1.2"
|
async "^2.1.2"
|
||||||
enhanced-resolve "^3.3.0"
|
enhanced-resolve "^3.4.0"
|
||||||
escope "^3.6.0"
|
escope "^3.6.0"
|
||||||
interpret "^1.0.0"
|
interpret "^1.0.0"
|
||||||
json-loader "^0.5.4"
|
json-loader "^0.5.4"
|
||||||
@ -6416,12 +6403,12 @@ webpack@^3.3.0:
|
|||||||
mkdirp "~0.5.0"
|
mkdirp "~0.5.0"
|
||||||
node-libs-browser "^2.0.0"
|
node-libs-browser "^2.0.0"
|
||||||
source-map "^0.5.3"
|
source-map "^0.5.3"
|
||||||
supports-color "^3.1.0"
|
supports-color "^4.2.1"
|
||||||
tapable "~0.2.5"
|
tapable "^0.2.7"
|
||||||
uglifyjs-webpack-plugin "^0.4.6"
|
uglifyjs-webpack-plugin "^0.4.6"
|
||||||
watchpack "^1.4.0"
|
watchpack "^1.4.0"
|
||||||
webpack-sources "^1.0.1"
|
webpack-sources "^1.0.1"
|
||||||
yargs "^6.0.0"
|
yargs "^8.0.2"
|
||||||
|
|
||||||
well-known-symbols@^1.0.0:
|
well-known-symbols@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
@ -6445,10 +6432,6 @@ whet.extend@~0.9.9:
|
|||||||
version "0.9.9"
|
version "0.9.9"
|
||||||
resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
|
resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
|
||||||
|
|
||||||
which-module@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
|
|
||||||
|
|
||||||
which-module@^2.0.0:
|
which-module@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
||||||
@ -6569,12 +6552,6 @@ yallist@^2.1.2:
|
|||||||
version "2.1.2"
|
version "2.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
|
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
|
||||||
|
|
||||||
yargs-parser@^4.2.0:
|
|
||||||
version "4.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
|
|
||||||
dependencies:
|
|
||||||
camelcase "^3.0.0"
|
|
||||||
|
|
||||||
yargs-parser@^5.0.0:
|
yargs-parser@^5.0.0:
|
||||||
version "5.0.0"
|
version "5.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
|
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
|
||||||
@ -6587,25 +6564,7 @@ yargs-parser@^7.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
camelcase "^4.1.0"
|
camelcase "^4.1.0"
|
||||||
|
|
||||||
yargs@^6.0.0:
|
yargs@^8.0.1, yargs@^8.0.2:
|
||||||
version "6.6.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
|
|
||||||
dependencies:
|
|
||||||
camelcase "^3.0.0"
|
|
||||||
cliui "^3.2.0"
|
|
||||||
decamelize "^1.1.1"
|
|
||||||
get-caller-file "^1.0.1"
|
|
||||||
os-locale "^1.4.0"
|
|
||||||
read-pkg-up "^1.0.1"
|
|
||||||
require-directory "^2.1.1"
|
|
||||||
require-main-filename "^1.0.1"
|
|
||||||
set-blocking "^2.0.0"
|
|
||||||
string-width "^1.0.2"
|
|
||||||
which-module "^1.0.0"
|
|
||||||
y18n "^3.2.1"
|
|
||||||
yargs-parser "^4.2.0"
|
|
||||||
|
|
||||||
yargs@^8.0.1:
|
|
||||||
version "8.0.2"
|
version "8.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
|
resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
Loading…
Reference in New Issue
Block a user