Merge pull request #107 from chenjiahan/dev

Doc: improve site load speed
This commit is contained in:
neverland 2017-09-04 15:15:11 +08:00 committed by GitHub
commit 209c780214
34 changed files with 237 additions and 421 deletions

View File

@ -23,6 +23,7 @@ extractExample({
module.exports = {
entry: {
vendor: ['packages'],
'vant-docs': './docs/src/index.js',
'vant-examples': './docs/src/examples.js'
},
@ -87,7 +88,18 @@ module.exports = {
},
{
test: /\.md/,
loader: 'vue-markdown-loader'
loader: 'vue-markdown-loader',
options: {
preventExtract: true,
use: [[require('markdown-it-container'), 'demo']],
preprocess(MarkdownIt, source) {
const styleRegexp = /<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/i;
const scriptRegexp = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/i;
MarkdownIt.renderer.rules.table_open = () =>
'<table class="zan-doc-table">';
return source.replace(styleRegexp, '').replace(scriptRegexp, '');
}
}
},
{
test: /\.(woff2?|eot|ttf|otf|svg)(\?.*)?$/,
@ -98,37 +110,6 @@ module.exports = {
devtool: 'source-map',
plugins: [
new ProgressBarPlugin(),
new webpack.LoaderOptionsPlugin({
minimize: true,
options: {
vue: {
autoprefixer: false
},
vueMarkdown: {
use: [
[
require('markdown-it-container'),
'demo',
{
validate: function(params) {
return params.trim().match(/^demo\s*(.*)$/);
},
render: function(tokens, idx) {
return tokens[idx].nesting === 1
? `<demo-block class="demo-box"><div class="highlight" slot="highlight"å>`
:`</div></demo-block>\n`;
}
}
]
],
preprocess: function(MarkdownIt, source) {
MarkdownIt.renderer.rules.table_open = () => '<table class="zan-doc-table">';
return source;
}
}
}
}),
new HtmlWebpackPlugin({
chunks: ['vendor', 'vant-docs'],
template: 'docs/src/index.tpl',
@ -143,9 +124,9 @@ module.exports = {
}),
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: 2
minChunks: 2,
filename: isProduction ? 'vendor.[hash:8].js' : 'vendor.js'
}),
new webpack.HotModuleReplacementPlugin(),
new OptimizeCssAssetsPlugin(),
new ExtractTextPlugin({
filename: isProduction ? '[name].[hash:8].css' : '[name].css',

View File

@ -27,10 +27,6 @@ module.exports = merge(devConfig, {
comments: false
},
sourceMap: false
}),
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: Infinity
})
]
});

View File

@ -73,8 +73,9 @@ Vue.component(Actionsheet.name, Actionsheet);
<van-button @click="show1 = true">弹出actionsheet</van-button>
<van-actionsheet v-model="show1" :actions="actions1">
</van-actionsheet>
```
<script>
```javascript
export default {
data() {
return {
@ -109,7 +110,6 @@ export default {
}
}
}
</script>
```
:::
@ -122,8 +122,9 @@ export default {
<van-button @click="show2 = true">弹出带取消按钮的actionsheet</van-button>
<van-actionsheet v-model="show2" :actions="actions1" cancel-text="取消">
</van-actionsheet>
```
<script>
```javascript
export default {
data() {
return {
@ -152,7 +153,6 @@ export default {
};
}
}
</script>
```
:::

View File

@ -52,16 +52,16 @@ Vue.component(Checkbox.name, Checkbox);
<div class="van-checkbox-wrapper">
<van-checkbox v-model="checkbox1">复选框1</van-checkbox>
</div>
```
<script>
```javascript
export default {
data() {
return {
checkbox1: true
};
}
};
</script>
};
```
:::
@ -74,16 +74,16 @@ export default {
<div class="van-checkbox-wrapper">
<van-checkbox v-model="checkbox2" disabled>复选框2</van-checkbox>
</div>
```
<script>
```javascript
export default {
data() {
return {
checkbox2: true
};
}
};
</script>
};
```
:::
@ -98,8 +98,9 @@ export default {
<van-checkbox v-for="(item, index) in list" :key="index" :name="item">复选框{{item}}</van-checkbox>
</van-checkbox-group>
</div>
```
<script>
```javascript
export default {
data() {
return {
@ -118,7 +119,6 @@ export default {
}
}
};
</script>
```
:::
@ -133,8 +133,9 @@ export default {
<van-checkbox v-for="(item, index) in list" :key="index" :name="item">复选框{{item}}</van-checkbox>
</van-checkbox-group>
</div>
```
<script>
```javascript
export default {
data() {
return {
@ -147,7 +148,6 @@ export default {
};
}
};
</script>
```
:::
@ -164,8 +164,9 @@ export default {
</van-cell>
</van-cell-group>
</van-checkbox-group>
```
<script>
```javascript
export default {
data() {
return {
@ -178,7 +179,6 @@ export default {
};
}
};
</script>
```
:::

View File

@ -50,8 +50,9 @@ Vue.component(DatetimePicker.name, DatetimePicker);
:max-date="maxDate"
@change="handlePickerChange">
</van-datetime-picker>
```
<script>
```javascript
export default {
data() {
return {
@ -69,7 +70,6 @@ export default {
}
}
};
</script>
```
:::

View File

@ -119,7 +119,6 @@ export default {
}
}
}
</script>
```
:::

View File

@ -7,7 +7,7 @@
</style>
<script>
import { Dialog } from 'packages/index';
import { Dialog } from 'packages';
const message = '弹窗内容';
@ -56,8 +56,9 @@ import { Dialog } from 'vant';
```html
<van-button @click="onClickAlert">Alert</van-button>
<van-button @click="onClickAlert2">无标题 Alert</van-button>
```
<script>
```javascript
export default {
methods: {
onClickAlert() {
@ -78,7 +79,6 @@ export default {
}
}
};
</script>
```
:::
@ -89,8 +89,9 @@ export default {
:::demo 消息确认
```html
<van-button @click="onClickConfirm">Confirm</van-button>
```
<script>
```javascript
export default {
methods: {
onClickConfirm() {
@ -105,7 +106,6 @@ export default {
}
}
};
</script>
```
:::

View File

@ -1,7 +1,7 @@
## ExpressWay 配送方式
<script>
import { Toast, CellGroup } from 'packages/index';
import { Toast } from 'packages';
export default {
data() {
@ -26,10 +26,6 @@ export default {
onChange(item, index) {
Toast('配送方式更换为:' + item.postage_title);
}
},
components: {
[CellGroup.name]: CellGroup
}
}
</script>
@ -47,17 +43,16 @@ Vue.component(ExpressWay.name, ExpressWay);
:::demo 基础用法
```html
<template>
<van-cell-group>
<van-express-way
v-model="currentExpressType"
:express-list="expressList"
@change="onChange"
/>
</van-cell-group>
</tempalte>
<van-cell-group>
<van-express-way
v-model="currentExpressType"
:express-list="expressList"
@change="onChange"
></van-express-way>
</van-cell-group>
```
<script>
```javascript
export default {
data() {
return {
@ -77,7 +72,6 @@ export default {
}
}
}
</script>
```
:::
@ -91,7 +85,7 @@ export default {
:express-list="expressList"
:editable="false"
@change="onChange"
/>
></van-express-way>
</van-cell-group>
```
:::

View File

@ -32,7 +32,6 @@
<script>
import Vue from 'vue';
import { Icon, Col } from 'packages';
const icons = [
'close',
@ -113,10 +112,6 @@ const icons = [
];
const IconListConstructor = Vue.extend({
components: {
[Col.name]: Col,
[Icon.name]: Icon
},
render(h) {
return (
<div>

View File

@ -7,7 +7,7 @@
</style>
<script>
import { ImagePreview } from 'packages/index';
import { ImagePreview } from 'packages';
export default {
methods: {

View File

@ -33,11 +33,10 @@ Vue.component(InvalidGoods.name, InvalidGoods);
:::demo 基础用法
```html
<template>
<van-invalid-goods :goods="goods" />
<tempalte/>
<van-invalid-goods :goods="goods" />
```
<script>
```javascript
const item = {
num: 2,
sku_id: 123,
@ -58,7 +57,6 @@ export default {
}
}
}
</script>
```
:::

View File

@ -71,8 +71,9 @@ Vue.use(Lazyload, options);
<img class="lazy-img" v-lazy="img">
</li>
</ul>
```
<script>
```javascript
export default {
data() {
return {
@ -87,7 +88,6 @@ export default {
};
}
}
</script>
```
:::
@ -102,8 +102,9 @@ export default {
<div class="lazy-background" v-lazy:background-image="img"></div>
</li>
</ul>
```
<script>
```javascript
export default {
data() {
return {
@ -114,7 +115,6 @@ export default {
};
}
}
</script>
```
:::
@ -131,8 +131,9 @@ export default {
</li>
</ul>
</lazy-component>
```
<script>
```javascript
export default {
data() {
return {
@ -149,7 +150,6 @@ export default {
}
}
}
</script>
```
:::

View File

@ -64,16 +64,15 @@ Vue.component(OrderGoods.name, OrderGoods);
:::demo 基础用法
```html
<template>
<van-order-goods
v-model="message1"
shop-name="起码运动馆"
:price="1050"
:item-list="itemList1"
/>
</template>
<van-order-goods
v-model="message1"
shop-name="起码运动馆"
:price="1050"
:item-list="itemList1"
/>
```
<script>
```javascript
export default {
data() {
return {
@ -87,7 +86,6 @@ export default {
}
}
}
</script>
```
:::
@ -95,17 +93,16 @@ export default {
:::demo 积分商品
```html
<template>
<van-order-goods
v-model="message2"
shop-name="起码运动馆"
:item-list="itemList2"
:price="50"
:points="200"
/>
</template>
<van-order-goods
v-model="message2"
shop-name="起码运动馆"
:item-list="itemList2"
:price="50"
:points="200"
/>
```
<script>
```javascript
export default {
data() {
return {
@ -124,7 +121,6 @@ export default {
}
}
}
</script>
```
:::
@ -132,16 +128,14 @@ export default {
:::demo 预售商品
```html
<template>
<van-order-goods
v-model="message3"
shop-name="起码运动馆"
:price="1050"
:item-list="itemList3"
/>
</template>
<van-order-goods
v-model="message3"
shop-name="起码运动馆"
:price="1050"
:item-list="itemList3"
/>
<script>
```javascript
export default {
data() {
return {
@ -159,7 +153,6 @@ export default {
}
}
}
</script>
```
:::

View File

@ -1,7 +1,7 @@
## PayOrder 支付订单
<script>
import { Toast } from 'packages/index';
import { Toast } from 'packages';
export default {
methods: {

View File

@ -52,8 +52,9 @@ Vue.component(Picker.name, Picker);
:::demo 基础用法
```html
<van-picker :columns="pickerColumns" @change="handlePickerChange"></van-picker>
```
<script>
```javascript
const citys = {
'浙江': ['杭州', '宁波', '温州', '嘉兴', '湖州', '绍兴', '金华', '衢州', '舟山', '台州', '丽水'],
'福建': ['福州', '厦门', '莆田', '三明', '泉州', '漳州', '南平', '龙岩', '宁德'],
@ -82,7 +83,6 @@ export default {
}
}
};
</script>
```
:::
@ -98,8 +98,9 @@ export default {
@cancel="handlePickerCancel"
@confirm="handlePickerConfirm"
></van-picker>
```
<script>
```javascript
const citys = {
'浙江': ['杭州', '宁波', '温州', '嘉兴', '湖州', '绍兴', '金华', '衢州', '舟山', '台州', '丽水'],
'福建': ['福州', '厦门', '莆田', '三明', '泉州', '漳州', '南平', '龙岩', '宁德'],
@ -135,7 +136,6 @@ export default {
}
}
};
</script>
```
:::

View File

@ -94,8 +94,9 @@ Vue.component(Popup.name, Popup);
<van-popup v-model="popupShow1" class="van-popup-1" :lock-on-scroll="true">
从中间弹出popup
</van-popup>
```
<script>
```javascript
export default {
data() {
return {
@ -103,7 +104,6 @@ export default {
}
}
};
</script>
```
:::
@ -133,8 +133,9 @@ export default {
<van-popup v-model="popupShow5" position="left" class="van-popup-5" :overlay="false">
<van-button @click.native="popupShow5 = false">关闭 popup</van-button>
</van-popup>
```
<script>
```javascript
export default {
data() {
return {
@ -155,7 +156,6 @@ export default {
}
}
};
</script>
```
:::

View File

@ -44,8 +44,8 @@ Vue.component(Radio.name, Radio);
<van-radio name="1" v-model="radio1">单选框1</van-radio>
<van-radio name="2" v-model="radio1">单选框2</van-radio>
</div>
<script>
```
```javascript
export default {
data() {
return {
@ -53,7 +53,6 @@ export default {
}
}
};
</script>
```
:::
@ -67,8 +66,9 @@ export default {
<van-radio name="1" v-model="radio2" disabled>未选中禁用</van-radio>
<van-radio name="2" v-model="radio2" disabled>选中且禁用</van-radio>
</div>
```
<script>
```javascript
export default {
data() {
return {
@ -76,7 +76,6 @@ export default {
}
}
};
</script>
```
:::
@ -92,8 +91,9 @@ export default {
<van-radio name="2">单选框2</van-radio>
</van-radio-group>
</div>
```
<script>
```javascript
export default {
data() {
return {
@ -101,7 +101,6 @@ export default {
}
}
};
</script>
```
:::
@ -117,8 +116,9 @@ export default {
<van-cell><van-radio name="2">单选框2</van-radio></van-cell>
</van-cell-group>
</van-radio-group>
```
<script>
```javascript
export default {
data() {
return {
@ -126,7 +126,6 @@ export default {
}
}
};
</script>
```
:::

View File

@ -32,8 +32,9 @@ Vue.component(Search.name, Search);
:::demo 基础用法
```html
<van-search placeholder="商品名称" @search="goSearch"></van-search>
```
<script>
```javascript
export default {
methods: {
goSearch(value) {
@ -41,7 +42,6 @@ export default {
}
}
};
</script>
```
:::
@ -60,8 +60,9 @@ export default {
:::demo 监听对应事件
```html
<van-search placeholder="商品名称" @search="goSearch" @change="handleChange" @cancel="handleCancel"></van-search>
```
<script>
```javascript
export default {
methods: {
goSearch(value) {
@ -75,7 +76,6 @@ export default {
}
}
};
</script>
```
:::

View File

@ -55,8 +55,9 @@ Vue.component(Steps.name, Steps);
</van-steps>
<van-button @click="nextStep">下一步</van-button>
```
<script>
```javascript
export default {
data() {
return {
@ -70,7 +71,6 @@ export default {
}
}
}
</script>
```
:::

View File

@ -55,8 +55,9 @@ Vue.component(Swipe.name, Swipe);
</a>
</van-swipe-item>
</van-swipe>
```
<script>
```javascript
export default {
data() {
return {
@ -67,7 +68,6 @@ export default {
};
}
};
</script>
```
:::
@ -82,8 +82,9 @@ export default {
<img v-lazy="img" alt="">
</van-swipe-item>
</van-swipe>
```
<script>
```javascript
export default {
data() {
return {
@ -94,7 +95,6 @@ export default {
};
}
};
</script>
```
:::
@ -109,8 +109,9 @@ export default {
<img v-lazy="img" alt="">
</van-swipe-item>
</van-swipe>
```
<script>
```javascript
export default {
data() {
return {
@ -127,7 +128,6 @@ export default {
}
}
};
</script>
```
:::

View File

@ -25,13 +25,12 @@ Vue.component(SwitchCell.name, SwitchCell);
:::demo 基础用法
```html
<template>
<van-cell-group>
<van-switch-cell v-model="checked" title="标题" />
</van-cell-group>
</template>
<van-cell-group>
<van-switch-cell v-model="checked" title="标题" />
</van-cell-group>
```
<script>
```javascript
export default {
data() {
return {
@ -39,7 +38,6 @@ export default {
}
}
}
</script>
```
:::

View File

@ -66,10 +66,9 @@ Vue.component(Switch.name, Switch);
<div class="demo-switch__text">{{ switchState2 ? ' 打开' : '关闭' }}</div>
</van-col>
</van-row>
```
<script>
```javascript
export default {
data() {
return {
@ -90,7 +89,6 @@ export default {
}
}
};
</script>
```
:::
@ -110,8 +108,9 @@ export default {
<div class="demo-switch__text">关闭</div>
</van-col>
</van-row>
```
<script>
```javascript
export default {
data() {
return {
@ -120,7 +119,6 @@ export default {
};
}
};
</script>
```
:::
@ -140,8 +138,9 @@ export default {
<div class="demo-switch__text">关闭</div>
</van-col>
</van-row>
```
<script>
```javascript
export default {
data() {
return {
@ -150,7 +149,6 @@ export default {
};
}
};
</script>
```
:::

View File

@ -134,8 +134,9 @@ Vue.component(Tabs.name, Tabs);
<van-tab title="选项三">内容三</van-tab>
<van-tab title="选项四">内容四</van-tab>
</van-tabs>
```
<script>
```javascript
export default {
methods: {
popalert() {
@ -143,7 +144,6 @@ export default {
}
}
};
</script>
```
:::
@ -216,8 +216,9 @@ export default {
<van-tab title="选项三">内容三</van-tab>
<van-tab title="选项四">内容四</van-tab>
</van-tabs>
```
<script>
```javascript
export default {
methods: {
handleTabClick(index) {
@ -225,7 +226,6 @@ export default {
}
}
};
</script>
```
:::

View File

@ -7,7 +7,7 @@
</style>
<script>
import { Toast } from 'packages/index';
import { Toast } from 'packages';
export default {
methods: {
@ -83,9 +83,10 @@ import { Toast } from 'vant';
<van-button @click="showFailToast">失败</van-button>
<van-button @click="showForbidClickToast">背景不能点击</van-button>
<van-button @click="showCustomizedToast(5000)">倒数5秒</van-button>
```
<script>
import { Toast } from 'packages/index';
```javascript
import { Toast } from 'packages';
export default {
methods: {
@ -125,7 +126,6 @@ export default {
}
}
};
</script>
```
:::
@ -135,9 +135,10 @@ export default {
```html
<van-button @click="showToast">打开</van-button>
<van-button @click="closeToast">关闭</van-button>
```
<script>
import { Toast } from 'packages/index';
```javascript
import { Toast } from 'packages';
export default {
methods: {
@ -149,7 +150,6 @@ export default {
}
}
};
</script>
```
:::
@ -159,9 +159,10 @@ export default {
:::demo 手动关闭
```html
<van-button @click="showHtmlToast">打开</van-button>
```
<script>
import { Toast } from 'packages/index';
```javascript
import { Toast } from 'packages';
export default {
methods: {
@ -173,7 +174,6 @@ export default {
}
}
};
</script>
```
:::

View File

@ -34,8 +34,9 @@ Vue.component(Uploader.name, Uploader);
<van-icon name="photograph"></van-icon>
</van-uploader>
</div>
```
<script>
```javascript
export default {
methods: {
logContent(file) {
@ -43,7 +44,6 @@ export default {
}
}
};
</script>
```
:::

View File

@ -1,6 +1,6 @@
<template>
<div class="app">
<zan-doc :simulator="simulatorSrc" :config="config">
<zan-doc :simulator="simulator" :config="config">
<router-view></router-view>
</zan-doc>
</div>
@ -12,12 +12,14 @@ import docConfig from './doc.config';
export default {
data() {
return {
simulator: this.getSimulatorPath(),
config: docConfig['zh-CN']
};
},
computed: {
simulatorSrc() {
const dir = this.$route.path.split('/').pop();
methods: {
getSimulatorPath() {
const dir = location.pathname.split('/').pop();
if (dir === 'quickstart' || dir === 'changelog') {
return '/zanui/vue/examples';
} else {

View File

@ -1,17 +0,0 @@
<template>
<zan-doc-block :class="`demo-${component}`">
<slot name="highlight"></slot>
</zan-doc-block>
</template>
<script>
export default {
name: 'demo-block',
computed: {
component() {
return this.$route.path.split('/').pop();
}
}
};
</script>

View File

@ -18,7 +18,7 @@ Vue.use(VueRouter);
const routesConfig = routes(true);
routesConfig.push({
path: '/',
component: DemoList.default || DemoList
component: DemoList
});
const router = new VueRouter({
mode: 'history',
@ -33,6 +33,12 @@ router.beforeEach((to, from, next) => {
next();
});
router.afterEach(() => {
window.syncPath();
});
window.vueRouter = router;
new Vue({ // eslint-disable-line
render: h => h(App),
router

36
docs/src/iframe-router.js Normal file
View File

@ -0,0 +1,36 @@
/**
* 同步父窗口和 iframe vue-router 状态
*/
import isMobile from './is-mobile';
window.syncPath = function(dir) {
const router = window.vueRouter;
const isInIframe = window !== window.top;
const currentDir = router.history.current.path;
const iframe = document.querySelector('iframe');
if (!isInIframe && !isMobile && iframe) {
iframeReady(iframe, () => {
iframe.contentWindow.changePath(currentDir);
});
}
};
window.changePath = function(path) {
const router = window.vueRouter;
router.replace(path);
};
function iframeReady(iframe, callback) {
const doc = iframe.contentDocument || iframe.contentWindow.document;
if (doc.readyState === 'complete') {
callback();
} else {
iframe.onload = () => {
setTimeout(() => {
callback();
}, 50);
};
}
}

View File

@ -3,17 +3,10 @@ import VueRouter from 'vue-router';
import App from './ExamplesDocsApp';
import routes from './router.config';
import ZanDoc from 'zan-doc';
import DemoBlock from './components/demo-block';
const isMobile = (function() {
var platform = navigator.userAgent.toLowerCase();
return (/(android|bb\d+|meego).+mobile|kdtunion|weibo|m2oapp|micromessenger|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i).test(platform) ||
(/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i).test(platform.substr(0, 4));
})();
import isMobile from './is-mobile';
Vue.use(VueRouter);
Vue.use(ZanDoc);
Vue.component(DemoBlock.name, DemoBlock);
const routesConfig = routes();
routesConfig.push({
@ -30,7 +23,6 @@ const router = new VueRouter({
router.beforeEach((route, redirect, next) => {
if (isMobile) {
window.location.replace('/zanui/vue/examples');
return;
}
document.title = route.meta.title || document.title;
next();
@ -40,8 +32,11 @@ router.afterEach(() => {
if (!isMobile) {
window.scrollTo(0, 0);
}
window.syncPath();
});
window.vueRouter = router;
new Vue({ // eslint-disable-line
render: h => h(App),
router

7
docs/src/is-mobile.js Normal file
View File

@ -0,0 +1,7 @@
const isMobile = (function() {
var platform = navigator.userAgent.toLowerCase();
return (/(android|bb\d+|meego).+mobile|kdtunion|weibo|m2oapp|micromessenger|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i).test(platform) ||
(/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i).test(platform.substr(0, 4));
})();
export default isMobile;

View File

@ -1,9 +1,16 @@
const navs = require('./doc.config')['zh-CN'].nav;
import docConfig from './doc.config';
import componentDocs from '../examples-dist/entry-docs';
import componentDemos from '../examples-dist/entry-demos';
import './iframe-router';
const navs = docConfig['zh-CN'].nav;
const registerRoute = (isExample) => {
let route = [];
const route = [{
path: '*',
redirect: '/'
}];
navs.forEach(nav => {
if (isExample && !nav.showInMobile) {
return;

View File

@ -42,7 +42,7 @@
"license": "ISC",
"dependencies": {
"babel-runtime": "6.x",
"vue-lazyload": "^1.1.2"
"vue-lazyload": "^1.1.3"
},
"peerDependencies": {
"vue": "2.4.2"
@ -61,7 +61,7 @@
"babel-plugin-transform-vue-jsx": "^3.5.0",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.6.0",
"chai": "^4.1.1",
"chai": "^4.1.2",
"cheerio": "^0.22.0",
"codecov": "^2.2.0",
"cross-env": "^5.0.5",
@ -107,7 +107,6 @@
"uppercamelcase": "^3.0.0",
"url-loader": "^0.5.9",
"vue": "^2.4.2",
"vue-html-loader": "^1.2.4",
"vue-loader": "^13.0.4",
"vue-markdown-loader": "^2.1.0",
"vue-router": "^2.7.0",

224
yarn.lock
View File

@ -287,10 +287,6 @@ ast-types-flow@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
ast-types@0.9.6:
version "0.9.6"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9"
async-each@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
@ -311,10 +307,6 @@ async@^2.1.2:
dependencies:
lodash "^4.14.0"
async@~0.2.6:
version "0.2.10"
resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
async@~0.9.0:
version "0.9.2"
resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
@ -1264,7 +1256,7 @@ callsites@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
camel-case@3.0.x, camel-case@^3.0.0:
camel-case@3.0.x:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
dependencies:
@ -1330,13 +1322,13 @@ center-align@^0.1.1:
align-text "^0.1.3"
lazy-cache "^1.0.3"
chai@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.1.tgz#66e21279e6f3c6415ff8231878227900e2171b39"
chai@^4.1.2:
version "4.1.2"
resolved "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c"
dependencies:
assertion-error "^1.0.1"
check-error "^1.0.1"
deep-eql "^2.0.1"
deep-eql "^3.0.0"
get-func-name "^2.0.0"
pathval "^1.0.0"
type-detect "^4.0.0"
@ -1377,29 +1369,6 @@ chalk@~0.4.0:
has-color "~0.1.0"
strip-ansi "~0.1.0"
change-case@3.0.x:
version "3.0.1"
resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.1.tgz#ee5f5ad0415ad1ad9e8072cf49cd4cfa7660a554"
dependencies:
camel-case "^3.0.0"
constant-case "^2.0.0"
dot-case "^2.1.0"
header-case "^1.0.0"
is-lower-case "^1.1.0"
is-upper-case "^1.1.0"
lower-case "^1.1.1"
lower-case-first "^1.0.0"
no-case "^2.2.0"
param-case "^2.1.0"
pascal-case "^2.0.0"
path-case "^2.1.0"
sentence-case "^2.1.0"
snake-case "^2.1.0"
swap-case "^1.1.0"
title-case "^2.1.0"
upper-case "^1.1.1"
upper-case-first "^1.1.0"
check-error@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
@ -1469,19 +1438,19 @@ clap@^1.0.9:
dependencies:
chalk "^1.1.3"
clean-css@3.4.x, clean-css@^3.1.9:
version "3.4.28"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.28.tgz#bf1945e82fc808f55695e6ddeaec01400efd03ff"
dependencies:
commander "2.8.x"
source-map "0.4.x"
clean-css@4.1.x:
version "4.1.7"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.7.tgz#b9aea4f85679889cf3eae8b40349ec4ebdfdd032"
dependencies:
source-map "0.5.x"
clean-css@^3.1.9:
version "3.4.28"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.28.tgz#bf1945e82fc808f55695e6ddeaec01400efd03ff"
dependencies:
commander "2.8.x"
source-map "0.4.x"
cli-cursor@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
@ -1600,7 +1569,7 @@ commander@2.8.x:
dependencies:
graceful-readlink ">= 1.0.0"
commander@2.9.0, commander@2.9.x, commander@~2.9.0:
commander@2.9.0, commander@~2.9.0:
version "2.9.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
dependencies:
@ -1692,13 +1661,6 @@ consolidate@^0.14.0:
dependencies:
bluebird "^3.1.1"
constant-case@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46"
dependencies:
snake-case "^2.1.0"
upper-case "^1.1.1"
constants-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
@ -1998,11 +1960,11 @@ decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
deep-eql@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-2.0.2.tgz#b1bac06e56f0a76777686d50c9feb75c2ed7679a"
deep-eql@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.0.tgz#b9162a49cf4b54d911425975ac95d03e56448471"
dependencies:
type-detect "^3.0.0"
type-detect "^4.0.0"
deep-equal@^1.0.1:
version "1.0.1"
@ -2222,12 +2184,6 @@ domutils@^1.5.1:
dom-serializer "0"
domelementtype "1"
dot-case@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee"
dependencies:
no-case "^2.2.0"
duplexer2@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
@ -2431,13 +2387,6 @@ es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbo
d "1"
es5-ext "~0.10.14"
es6-templates@^0.2.2:
version "0.2.3"
resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4"
dependencies:
recast "~0.11.12"
through "~2.3.6"
es6-weak-map@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
@ -2621,10 +2570,6 @@ esprima@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
esprima@~3.1.0:
version "3.1.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
esquery@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
@ -2816,7 +2761,7 @@ fast-levenshtein@~2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
fastparse@^1.0.0, fastparse@^1.1.1:
fastparse@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
@ -3525,13 +3470,6 @@ he@1.1.x, he@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
header-case@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d"
dependencies:
no-case "^2.2.0"
upper-case "^1.1.3"
highlight.js@^9.12.0, highlight.js@^9.4.0:
version "9.12.0"
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e"
@ -3582,18 +3520,6 @@ html-entities@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f"
html-minifier@^2.1.5:
version "2.1.7"
resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-2.1.7.tgz#9051d6fcbbcf214ed307e1ad74f432bb9ad655cc"
dependencies:
change-case "3.0.x"
clean-css "3.4.x"
commander "2.9.x"
he "1.1.x"
ncname "1.0.x"
relateurl "0.2.x"
uglify-js "2.6.x"
html-minifier@^3.2.3:
version "3.5.3"
resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.3.tgz#4a275e3b1a16639abb79b4c11191ff0d0fcf1ab9"
@ -3891,12 +3817,6 @@ is-glob@^3.1.0:
dependencies:
is-extglob "^2.1.0"
is-lower-case@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393"
dependencies:
lower-case "^1.1.0"
is-my-json-valid@^2.10.0:
version "2.16.0"
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693"
@ -4002,12 +3922,6 @@ is-unc-path@^0.1.1:
dependencies:
unc-path-regex "^0.1.0"
is-upper-case@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f"
dependencies:
upper-case "^1.1.0"
is-utf8@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
@ -4749,13 +4663,7 @@ loud-rejection@^1.0.0:
currently-unhandled "^0.4.1"
signal-exit "^3.0.0"
lower-case-first@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1"
dependencies:
lower-case "^1.1.2"
lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2:
lower-case@^1.1.1:
version "1.1.4"
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
@ -5411,7 +5319,7 @@ pako@~0.2.0:
version "0.2.9"
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
param-case@2.1.x, param-case@^2.1.0:
param-case@2.1.x:
version "2.1.1"
resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
dependencies:
@ -5480,23 +5388,10 @@ parseurl@~1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
pascal-case@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e"
dependencies:
camel-case "^3.0.0"
upper-case-first "^1.1.0"
path-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
path-case@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5"
dependencies:
no-case "^2.2.0"
path-exists@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
@ -6117,7 +6012,7 @@ pretty-hrtime@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
private@^0.1.6, private@^0.1.7, private@~0.1.5:
private@^0.1.6, private@^0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
@ -6349,15 +6244,6 @@ readline2@^1.0.1:
is-fullwidth-code-point "^1.0.0"
mute-stream "0.0.5"
recast@~0.11.12:
version "0.11.23"
resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3"
dependencies:
ast-types "0.9.6"
esprima "~3.1.0"
private "~0.1.5"
source-map "~0.5.0"
rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
@ -6656,13 +6542,6 @@ send@0.15.4:
range-parser "~1.2.0"
statuses "~1.3.1"
sentence-case@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4"
dependencies:
no-case "^2.2.0"
upper-case-first "^1.1.2"
sequencify@~0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c"
@ -6761,12 +6640,6 @@ slice-ansi@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
snake-case@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f"
dependencies:
no-case "^2.2.0"
sntp@1.x.x:
version "1.0.9"
resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
@ -6867,7 +6740,7 @@ source-map@0.4.x, source-map@^0.4.4:
dependencies:
amdefine ">=0.0.4"
source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3:
source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3:
version "0.5.6"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
@ -7118,13 +6991,6 @@ svgo@^0.7.0:
sax "~1.2.1"
whet.extend "~0.9.9"
swap-case@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3"
dependencies:
lower-case "^1.1.1"
upper-case "^1.1.1"
"symbol-tree@>= 3.1.0 < 4.0.0":
version "3.2.2"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
@ -7215,7 +7081,7 @@ through2@^2.0.0:
readable-stream "^2.1.5"
xtend "~4.0.1"
through@^2.3.6, through@~2.3.6:
through@^2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
@ -7243,13 +7109,6 @@ timers-browserify@^2.0.2:
dependencies:
setimmediate "^1.0.4"
title-case@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa"
dependencies:
no-case "^2.2.0"
upper-case "^1.0.3"
tmp@0.0.31:
version "0.0.31"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"
@ -7320,10 +7179,6 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
type-detect@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-3.0.0.tgz#46d0cc8553abb7b13a352b0d6dea2fd58f2d9b55"
type-detect@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.3.tgz#0e3f2670b44099b0b46c284d136a7ef49c74c2ea"
@ -7343,15 +7198,6 @@ uc.micro@^1.0.1, uc.micro@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.3.tgz#7ed50d5e0f9a9fb0a573379259f2a77458d50192"
uglify-js@2.6.x:
version "2.6.4"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.6.4.tgz#65ea2fb3059c9394692f15fed87c2b36c16b9adf"
dependencies:
async "~0.2.6"
source-map "~0.5.1"
uglify-to-browserify "~1.0.0"
yargs "~3.10.0"
uglify-js@3.0.x:
version "3.0.27"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.27.tgz#a97db8c8ba6b9dba4e2f88d86aa9548fa6320034"
@ -7422,13 +7268,7 @@ unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
upper-case-first@^1.1.0, upper-case-first@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115"
dependencies:
upper-case "^1.1.1"
upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3:
upper-case@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
@ -7608,19 +7448,9 @@ vue-hot-reload-api@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.1.0.tgz#9ca58a6e0df9078554ce1708688b6578754d86de"
vue-html-loader@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/vue-html-loader/-/vue-html-loader-1.2.4.tgz#54ce489be06065c91dc2a1173122f3e004e0a253"
dependencies:
es6-templates "^0.2.2"
fastparse "^1.0.0"
html-minifier "^2.1.5"
loader-utils "^1.0.2"
object-assign "^4.1.0"
vue-lazyload@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.1.2.tgz#86e0de01edd70596abc22d1017eea2f2b28e5efd"
vue-lazyload@^1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.1.3.tgz#527a1e3e6ba6509fe27326d34f0ab9687c9a1e95"
vue-loader@^13.0.4:
version "13.0.4"