Add static asset invalidation.
This commit is contained in:
parent
2f3732a938
commit
2fdf364947
9 changed files with 92 additions and 285 deletions
8
app.js
8
app.js
|
@ -1,3 +1,4 @@
|
||||||
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import zlib from 'zlib';
|
import zlib from 'zlib';
|
||||||
import koa from 'koa';
|
import koa from 'koa';
|
||||||
|
@ -32,6 +33,13 @@ app.use(favicon(path.join(__dirname, '/public/images/favicon.png')));
|
||||||
app.use(logger());
|
app.use(logger());
|
||||||
app.use(serve('public', { maxage: 31536000000 }));
|
app.use(serve('public', { maxage: 31536000000 }));
|
||||||
|
|
||||||
|
const manifest = JSON.parse(fs.readFileSync(path.join(__dirname, '/public/dist/manifest.json')));
|
||||||
|
|
||||||
|
app.use(function *(next) {
|
||||||
|
this.state = { manifest };
|
||||||
|
yield next;
|
||||||
|
});
|
||||||
|
|
||||||
app.use(views(path.resolve(__dirname, './views'), {
|
app.use(views(path.resolve(__dirname, './views'), {
|
||||||
map: {
|
map: {
|
||||||
html: 'ejs',
|
html: 'ejs',
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import { createBundleRenderer } from 'vue-server-renderer';
|
import { createBundleRenderer } from 'vue-server-renderer';
|
||||||
|
|
||||||
const app = fs.readFileSync('./public/dist/js/build-server.js', 'utf8');
|
const app = fs.readFileSync('./public/dist/js/main-server.js', 'utf8');
|
||||||
|
|
||||||
export default function(url, initialState) {
|
export default function(url, initialState) {
|
||||||
const renderer = createBundleRenderer(app);
|
const renderer = createBundleRenderer(app);
|
||||||
|
|
|
@ -51,10 +51,10 @@
|
||||||
"bluebird": "^3.4.1",
|
"bluebird": "^3.4.1",
|
||||||
"bulma": "^0.4.1",
|
"bulma": "^0.4.1",
|
||||||
"co": "~4.6.0",
|
"co": "~4.6.0",
|
||||||
"copy-webpack-plugin": "^4.0.1",
|
|
||||||
"css-loader": "^0.28.1",
|
"css-loader": "^0.28.1",
|
||||||
"debug": "^2.6.6",
|
"debug": "^2.6.6",
|
||||||
"ejs": "^2.5.2",
|
"ejs": "^2.5.2",
|
||||||
|
"extract-text-webpack-plugin": "^2.1.0",
|
||||||
"file-loader": "^0.11.1",
|
"file-loader": "^0.11.1",
|
||||||
"json-loader": "^0.5.4",
|
"json-loader": "^0.5.4",
|
||||||
"kcors": "^1.0.1",
|
"kcors": "^1.0.1",
|
||||||
|
@ -84,7 +84,8 @@
|
||||||
"vue-template-compiler": "^2.3.2",
|
"vue-template-compiler": "^2.3.2",
|
||||||
"vuex": "^2.3.1",
|
"vuex": "^2.3.1",
|
||||||
"vuex-router-sync": "^4.1.2",
|
"vuex-router-sync": "^4.1.2",
|
||||||
"webpack": "^2.5.0"
|
"webpack": "^2.5.0",
|
||||||
|
"webpack-stats-plugin": "^0.1.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-plugin-transform-runtime": "^6.15.0",
|
"babel-plugin-transform-runtime": "^6.15.0",
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { style } from 'bulma/css/bulma.css';
|
||||||
import { sync } from 'vuex-router-sync';
|
import { sync } from 'vuex-router-sync';
|
||||||
import { app, store, router } from './app';
|
import { app, store, router } from './app';
|
||||||
|
|
||||||
|
|
|
@ -1,177 +0,0 @@
|
||||||
/* app.vue */
|
|
||||||
body {
|
|
||||||
color: #445470;
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
.header {
|
|
||||||
background: #FE4365;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
padding: 25px 0;
|
|
||||||
}
|
|
||||||
h1 a {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
h1 a:hover {
|
|
||||||
color: #ffacc5;
|
|
||||||
}
|
|
||||||
.share {
|
|
||||||
margin-bottom: 40px;
|
|
||||||
}
|
|
||||||
.share h1 {
|
|
||||||
text-align: left;
|
|
||||||
font-size: 1.5em;
|
|
||||||
line-height: 36px;
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
|
||||||
.title a:hover {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
h1 .lighter {
|
|
||||||
color: #ffacc5;
|
|
||||||
}
|
|
||||||
.footer {
|
|
||||||
margin-top: 50px;
|
|
||||||
padding-bottom: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* index.vue */
|
|
||||||
|
|
||||||
.blurb {
|
|
||||||
margin-bottom: 50px;
|
|
||||||
}
|
|
||||||
.recently-shared {
|
|
||||||
margin-bottom: 50px;
|
|
||||||
}
|
|
||||||
.faq {
|
|
||||||
margin-bottom: 50px;
|
|
||||||
}
|
|
||||||
.faq p {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.home {
|
|
||||||
max-width: 600px;
|
|
||||||
margin-top: 40px;
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
.recent .artwork {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
.artwork {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 0;
|
|
||||||
padding-bottom: 100%;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: cover;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* search.vue */
|
|
||||||
|
|
||||||
.button.is-primary {
|
|
||||||
background-color: #FE4365;
|
|
||||||
}
|
|
||||||
.button.is-primary:hover {
|
|
||||||
background-color: #E52A4C;
|
|
||||||
}
|
|
||||||
.button.is-primary:focus {
|
|
||||||
background-color: #E52A4C;
|
|
||||||
}
|
|
||||||
.input:active {
|
|
||||||
border-color: #FE4365;
|
|
||||||
}
|
|
||||||
.input:focus {
|
|
||||||
border-color: #FE4365;
|
|
||||||
}
|
|
||||||
.search {
|
|
||||||
margin-bottom: 25vh;
|
|
||||||
}
|
|
||||||
form {
|
|
||||||
margin-top: 25vh;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* share.vue */
|
|
||||||
|
|
||||||
.share-heading {
|
|
||||||
margin-bottom: 50px
|
|
||||||
}
|
|
||||||
.share-heading .title {
|
|
||||||
color: #8396b0;
|
|
||||||
}
|
|
||||||
.share-heading .title strong {
|
|
||||||
color: #445470;
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
.artwork {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 0;
|
|
||||||
padding-bottom: 100%;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: cover;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
.artwork-youtube {
|
|
||||||
background-position: 50% 0%;
|
|
||||||
}
|
|
||||||
.service {
|
|
||||||
position: relative;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
.service-link img {
|
|
||||||
margin-top: 20px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.not-found {
|
|
||||||
opacity: 0.2;
|
|
||||||
}
|
|
||||||
.match {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.no-match {
|
|
||||||
position: absolute;
|
|
||||||
top: 10px;
|
|
||||||
right: 10px;
|
|
||||||
background: #fff;
|
|
||||||
color: #FE4365;
|
|
||||||
padding: 3px 6px;
|
|
||||||
border-radius: 3px;
|
|
||||||
opacity: 0.7;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.loading-wrap {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;left: 0;
|
|
||||||
background: #fff;
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
opacity: 0.8;
|
|
||||||
}
|
|
||||||
.loading {
|
|
||||||
position: absolute;
|
|
||||||
top: 35%;
|
|
||||||
left: 40%;
|
|
||||||
width: 20%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* social.vue */
|
|
||||||
|
|
||||||
.social {
|
|
||||||
text-align: center;
|
|
||||||
font-weight: 300;
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
.social li {
|
|
||||||
display: inline;
|
|
||||||
list-style-type: none;
|
|
||||||
padding-right: 10px;
|
|
||||||
float: left;
|
|
||||||
}
|
|
|
@ -2,8 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Match Audio • <%=head.title%></title>
|
<title>Match Audio • <%=head.title%></title>
|
||||||
<link rel="stylesheet" href="/dist/css/bulma.css" />
|
<link rel="stylesheet" href="/dist/<%=manifest['style/main.css']%>" />
|
||||||
<link rel="stylesheet" href="/src/style/style.css" />
|
|
||||||
|
|
||||||
<meta name='description' content='Match Audio matches album and track links from Youtube, Rdio, Spotify, Deezer, Google Music, Xbox Music, Beats Music, and iTunes and give you back one link with matches we find on all of them.' />
|
<meta name='description' content='Match Audio matches album and track links from Youtube, Rdio, Spotify, Deezer, Google Music, Xbox Music, Beats Music, and iTunes and give you back one link with matches we find on all of them.' />
|
||||||
<meta name='viewport' content='width=device-width, initial-scale=1' />
|
<meta name='viewport' content='width=device-width, initial-scale=1' />
|
||||||
|
@ -28,6 +27,6 @@
|
||||||
ga('create', 'UA-66209-8', 'auto');
|
ga('create', 'UA-66209-8', 'auto');
|
||||||
ga('send', 'pageview');
|
ga('send', 'pageview');
|
||||||
</script>
|
</script>
|
||||||
<script src="/dist/js/build-client.js"></script>
|
<script src="/dist/<%=manifest['js/main.js']%>"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const webpack = require('webpack');
|
const webpack = require('webpack');
|
||||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
const ExtractTextPlugin = require('extract-text-webpack-plugin');
|
||||||
|
const StatsWriterPlugin = require('webpack-stats-plugin').StatsWriterPlugin;
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
entry: './public/src/entry-client.js',
|
entry: './public/src/entry-client.js',
|
||||||
output: {
|
output: {
|
||||||
path: path.resolve(__dirname, './public/dist'),
|
path: path.resolve(__dirname, './public/dist'),
|
||||||
publicPath: '/dist/',
|
publicPath: '/dist/',
|
||||||
filename: 'js/build-client.js',
|
filename: 'js/[name].[hash:10].js',
|
||||||
},
|
},
|
||||||
resolve: {
|
resolve: {
|
||||||
modules: [
|
modules: [
|
||||||
|
@ -21,20 +22,37 @@ module.exports = {
|
||||||
{
|
{
|
||||||
test: /\.vue$/,
|
test: /\.vue$/,
|
||||||
loader: 'vue-loader',
|
loader: 'vue-loader',
|
||||||
|
options: {
|
||||||
|
extractCSS: true
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
test: /\.js$/,
|
test: /\.js$/,
|
||||||
loader: 'babel-loader',
|
loader: 'babel-loader',
|
||||||
exclude: /node_modules/,
|
exclude: /node_modules/,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
loader: ExtractTextPlugin.extract({ fallback: "style-loader", use: "css-loader" }),
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
devtool: '#source-map',
|
devtool: '#source-map',
|
||||||
plugins: [
|
plugins: [
|
||||||
new webpack.optimize.OccurrenceOrderPlugin(),
|
new webpack.optimize.OccurrenceOrderPlugin(),
|
||||||
new CopyWebpackPlugin([{
|
new ExtractTextPlugin("style/[name].[hash:10].css"),
|
||||||
from: path.resolve(__dirname, './node_modules/bulma/css'),
|
new StatsWriterPlugin({
|
||||||
to: path.resolve(__dirname, './public/dist/css/'),
|
fields: ['assets'],
|
||||||
}]),
|
filename: 'manifest.json',
|
||||||
|
transform(stats) {
|
||||||
|
const manifest = {};
|
||||||
|
stats.assets.map(asset => asset.name)
|
||||||
|
.sort()
|
||||||
|
.forEach((file) => {
|
||||||
|
manifest[file.replace(/\.[a-f0-9]{10}\./, '.')] = file;
|
||||||
|
});
|
||||||
|
return JSON.stringify(manifest, null, 2) + '\n';
|
||||||
|
}
|
||||||
|
}),
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const webpack = require('webpack');
|
const webpack = require('webpack');
|
||||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
target: 'node',
|
target: 'node',
|
||||||
|
@ -9,7 +8,7 @@ module.exports = {
|
||||||
libraryTarget: 'commonjs2',
|
libraryTarget: 'commonjs2',
|
||||||
path: path.resolve(__dirname, './public/dist'),
|
path: path.resolve(__dirname, './public/dist'),
|
||||||
publicPath: '/dist/',
|
publicPath: '/dist/',
|
||||||
filename: 'js/build-server.js',
|
filename: 'js/main-server.js',
|
||||||
},
|
},
|
||||||
resolve: {
|
resolve: {
|
||||||
modules: [
|
modules: [
|
||||||
|
@ -23,10 +22,6 @@ module.exports = {
|
||||||
'global.GENTLY': false,
|
'global.GENTLY': false,
|
||||||
}),
|
}),
|
||||||
new webpack.optimize.OccurrenceOrderPlugin(),
|
new webpack.optimize.OccurrenceOrderPlugin(),
|
||||||
new CopyWebpackPlugin([{
|
|
||||||
from: path.resolve(__dirname, './node_modules/bulma/css'),
|
|
||||||
to: path.resolve(__dirname, './public/dist/css/'),
|
|
||||||
}]),
|
|
||||||
],
|
],
|
||||||
module: {
|
module: {
|
||||||
loaders: [
|
loaders: [
|
||||||
|
|
142
yarn.lock
142
yarn.lock
|
@ -82,7 +82,7 @@ ajv-keywords@^1.0.0, ajv-keywords@^1.1.1:
|
||||||
version "1.5.1"
|
version "1.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
|
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
|
||||||
|
|
||||||
ajv@^4.7.0, ajv@^4.9.1:
|
ajv@^4.11.2, ajv@^4.7.0, ajv@^4.9.1:
|
||||||
version "4.11.8"
|
version "4.11.8"
|
||||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
|
resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -217,10 +217,6 @@ async@^2.1.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash "^4.14.0"
|
lodash "^4.14.0"
|
||||||
|
|
||||||
async@~0.2.6:
|
|
||||||
version "0.2.10"
|
|
||||||
resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
|
|
||||||
|
|
||||||
asynckit@^0.4.0:
|
asynckit@^0.4.0:
|
||||||
version "0.4.0"
|
version "0.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
||||||
|
@ -838,7 +834,7 @@ block-stream@*:
|
||||||
dependencies:
|
dependencies:
|
||||||
inherits "~2.0.0"
|
inherits "~2.0.0"
|
||||||
|
|
||||||
bluebird@^2.10.2, bluebird@^2.3.2:
|
bluebird@^2.3.2:
|
||||||
version "2.11.0"
|
version "2.11.0"
|
||||||
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1"
|
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1"
|
||||||
|
|
||||||
|
@ -1185,7 +1181,7 @@ 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.0, commander@^2.8.1, commander@^2.9.0:
|
commander@2.9.0, commander@^2.8.1, commander@^2.9.0, commander@~2.9.0:
|
||||||
version "2.9.0"
|
version "2.9.0"
|
||||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
|
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -1295,19 +1291,6 @@ copy-to@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5"
|
resolved "https://registry.yarnpkg.com/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5"
|
||||||
|
|
||||||
copy-webpack-plugin@^4.0.1:
|
|
||||||
version "4.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.0.1.tgz#9728e383b94316050d0c7463958f2b85c0aa8200"
|
|
||||||
dependencies:
|
|
||||||
bluebird "^2.10.2"
|
|
||||||
fs-extra "^0.26.4"
|
|
||||||
glob "^6.0.4"
|
|
||||||
is-glob "^3.1.0"
|
|
||||||
loader-utils "^0.2.15"
|
|
||||||
lodash "^4.3.0"
|
|
||||||
minimatch "^3.0.0"
|
|
||||||
node-dir "^0.1.10"
|
|
||||||
|
|
||||||
core-js@^1.0.0:
|
core-js@^1.0.0:
|
||||||
version "1.2.7"
|
version "1.2.7"
|
||||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
|
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
|
||||||
|
@ -1501,18 +1484,18 @@ de-indent@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
|
resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
|
||||||
|
|
||||||
debug@*, debug@2.2.0, debug@^2.1.1:
|
debug@*, debug@2, debug@^2.1.1, debug@^2.1.2, debug@^2.1.3, debug@^2.2.0, debug@^2.6.0, debug@^2.6.6:
|
||||||
version "2.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
|
|
||||||
dependencies:
|
|
||||||
ms "0.7.1"
|
|
||||||
|
|
||||||
debug@2, debug@^2.1.2, debug@^2.1.3, debug@^2.2.0, debug@^2.6.0, debug@^2.6.6:
|
|
||||||
version "2.6.6"
|
version "2.6.6"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.6.tgz#a9fa6fbe9ca43cf1e79f73b75c0189cbb7d6db5a"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.6.tgz#a9fa6fbe9ca43cf1e79f73b75c0189cbb7d6db5a"
|
||||||
dependencies:
|
dependencies:
|
||||||
ms "0.7.3"
|
ms "0.7.3"
|
||||||
|
|
||||||
|
debug@2.2.0:
|
||||||
|
version "2.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
|
||||||
|
dependencies:
|
||||||
|
ms "0.7.1"
|
||||||
|
|
||||||
debug@2.6.0:
|
debug@2.6.0:
|
||||||
version "2.6.0"
|
version "2.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b"
|
||||||
|
@ -1971,6 +1954,15 @@ extglob@^0.3.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-extglob "^1.0.0"
|
is-extglob "^1.0.0"
|
||||||
|
|
||||||
|
extract-text-webpack-plugin@^2.1.0:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.0.tgz#69315b885f876dbf96d3819f6a9f1cca7aebf159"
|
||||||
|
dependencies:
|
||||||
|
ajv "^4.11.2"
|
||||||
|
async "^2.1.2"
|
||||||
|
loader-utils "^1.0.2"
|
||||||
|
webpack-sources "^0.1.0"
|
||||||
|
|
||||||
extsprintf@1.0.2:
|
extsprintf@1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
|
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
|
||||||
|
@ -2087,16 +2079,6 @@ from@~0:
|
||||||
version "0.1.7"
|
version "0.1.7"
|
||||||
resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
|
resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
|
||||||
|
|
||||||
fs-extra@^0.26.4:
|
|
||||||
version "0.26.7"
|
|
||||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9"
|
|
||||||
dependencies:
|
|
||||||
graceful-fs "^4.1.2"
|
|
||||||
jsonfile "^2.1.0"
|
|
||||||
klaw "^1.0.0"
|
|
||||||
path-is-absolute "^1.0.0"
|
|
||||||
rimraf "^2.2.8"
|
|
||||||
|
|
||||||
fs-readdir-recursive@^1.0.0:
|
fs-readdir-recursive@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560"
|
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560"
|
||||||
|
@ -2208,16 +2190,6 @@ glob@^5.0.15:
|
||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
path-is-absolute "^1.0.0"
|
path-is-absolute "^1.0.0"
|
||||||
|
|
||||||
glob@^6.0.4:
|
|
||||||
version "6.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
|
|
||||||
dependencies:
|
|
||||||
inflight "^1.0.4"
|
|
||||||
inherits "2"
|
|
||||||
minimatch "2 || 3"
|
|
||||||
once "^1.3.0"
|
|
||||||
path-is-absolute "^1.0.0"
|
|
||||||
|
|
||||||
globals@^9.0.0, globals@^9.14.0:
|
globals@^9.0.0, globals@^9.14.0:
|
||||||
version "9.17.0"
|
version "9.17.0"
|
||||||
resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286"
|
resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286"
|
||||||
|
@ -2248,7 +2220,7 @@ got@^3.2.0:
|
||||||
read-all-stream "^3.0.0"
|
read-all-stream "^3.0.0"
|
||||||
timed-out "^2.0.0"
|
timed-out "^2.0.0"
|
||||||
|
|
||||||
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
|
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4:
|
||||||
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"
|
||||||
|
|
||||||
|
@ -2546,10 +2518,6 @@ is-extglob@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
|
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
|
||||||
|
|
||||||
is-extglob@^2.1.0:
|
|
||||||
version "2.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
|
||||||
|
|
||||||
is-finite@^1.0.0:
|
is-finite@^1.0.0:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
|
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
|
||||||
|
@ -2576,12 +2544,6 @@ is-glob@^2.0.0, is-glob@^2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-extglob "^1.0.0"
|
is-extglob "^1.0.0"
|
||||||
|
|
||||||
is-glob@^3.1.0:
|
|
||||||
version "3.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
|
|
||||||
dependencies:
|
|
||||||
is-extglob "^2.1.0"
|
|
||||||
|
|
||||||
is-my-json-valid@^2.10.0:
|
is-my-json-valid@^2.10.0:
|
||||||
version "2.16.0"
|
version "2.16.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693"
|
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693"
|
||||||
|
@ -2781,12 +2743,6 @@ json5@^0.5.0, json5@^0.5.1:
|
||||||
version "0.5.1"
|
version "0.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
|
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
|
||||||
|
|
||||||
jsonfile@^2.1.0:
|
|
||||||
version "2.4.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
|
|
||||||
optionalDependencies:
|
|
||||||
graceful-fs "^4.1.6"
|
|
||||||
|
|
||||||
jsonify@~0.0.0:
|
jsonify@~0.0.0:
|
||||||
version "0.0.0"
|
version "0.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
|
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
|
||||||
|
@ -2820,12 +2776,6 @@ kind-of@^3.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-buffer "^1.1.5"
|
is-buffer "^1.1.5"
|
||||||
|
|
||||||
klaw@^1.0.0:
|
|
||||||
version "1.3.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
|
|
||||||
optionalDependencies:
|
|
||||||
graceful-fs "^4.1.9"
|
|
||||||
|
|
||||||
koa-bodyparser@^2.2.0:
|
koa-bodyparser@^2.2.0:
|
||||||
version "2.5.0"
|
version "2.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/koa-bodyparser/-/koa-bodyparser-2.5.0.tgz#3eb7243f47998a2e772db05f6dc4e0f4f3ccbdf0"
|
resolved "https://registry.yarnpkg.com/koa-bodyparser/-/koa-bodyparser-2.5.0.tgz#3eb7243f47998a2e772db05f6dc4e0f4f3ccbdf0"
|
||||||
|
@ -2984,7 +2934,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.15, loader-utils@^0.2.16:
|
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:
|
||||||
|
@ -3313,12 +3263,6 @@ nested-error-stacks@^1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
inherits "~2.0.1"
|
inherits "~2.0.1"
|
||||||
|
|
||||||
node-dir@^0.1.10:
|
|
||||||
version "0.1.16"
|
|
||||||
resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.16.tgz#d2ef583aa50b90d93db8cdd26fcea58353957fe4"
|
|
||||||
dependencies:
|
|
||||||
minimatch "^3.0.2"
|
|
||||||
|
|
||||||
node-libs-browser@^2.0.0:
|
node-libs-browser@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646"
|
resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646"
|
||||||
|
@ -4329,11 +4273,11 @@ resolve-path@^1.0.0, resolve-path@^1.3.1:
|
||||||
http-errors "~1.5.0"
|
http-errors "~1.5.0"
|
||||||
path-is-absolute "1.0.1"
|
path-is-absolute "1.0.1"
|
||||||
|
|
||||||
resolve@1.1.x, resolve@^1.1.6:
|
resolve@1.1.x:
|
||||||
version "1.1.7"
|
version "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.2.0, resolve@^1.3.3:
|
resolve@^1.1.6, resolve@^1.2.0, resolve@^1.3.3:
|
||||||
version "1.3.3"
|
version "1.3.3"
|
||||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
|
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -4545,7 +4489,7 @@ sort-keys@^1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-plain-obj "^1.0.0"
|
is-plain-obj "^1.0.0"
|
||||||
|
|
||||||
source-list-map@^0.1.7:
|
source-list-map@^0.1.7, source-list-map@~0.1.7:
|
||||||
version "0.1.8"
|
version "0.1.8"
|
||||||
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
|
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
|
||||||
|
|
||||||
|
@ -4931,16 +4875,7 @@ typedarray@^0.0.6:
|
||||||
version "0.0.6"
|
version "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@^2.6:
|
uglify-js@^2.6, uglify-js@^2.8.5:
|
||||||
version "2.7.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8"
|
|
||||||
dependencies:
|
|
||||||
async "~0.2.6"
|
|
||||||
source-map "~0.5.1"
|
|
||||||
uglify-to-browserify "~1.0.0"
|
|
||||||
yargs "~3.10.0"
|
|
||||||
|
|
||||||
uglify-js@^2.8.5:
|
|
||||||
version "2.8.22"
|
version "2.8.22"
|
||||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0"
|
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -4949,10 +4884,26 @@ uglify-js@^2.8.5:
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
uglify-to-browserify "~1.0.0"
|
uglify-to-browserify "~1.0.0"
|
||||||
|
|
||||||
|
uglify-js@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.0.tgz#c1089d3f37b6366cb1baf12280bf67316891568c"
|
||||||
|
dependencies:
|
||||||
|
commander "~2.9.0"
|
||||||
|
source-map "~0.5.1"
|
||||||
|
optionalDependencies:
|
||||||
|
uglify-to-browserify "~1.0.0"
|
||||||
|
|
||||||
uglify-to-browserify@~1.0.0:
|
uglify-to-browserify@~1.0.0:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
|
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
|
||||||
|
|
||||||
|
uglifyjs-webpack-plugin@^0.4.3:
|
||||||
|
version "0.4.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.3.tgz#a672a7d6655f94dfa7e09670d48030f37cc93267"
|
||||||
|
dependencies:
|
||||||
|
source-map "^0.5.6"
|
||||||
|
webpack-sources "^0.2.3"
|
||||||
|
|
||||||
uid-number@^0.0.6:
|
uid-number@^0.0.6:
|
||||||
version "0.0.6"
|
version "0.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
|
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
|
||||||
|
@ -5144,6 +5095,13 @@ watchpack@^1.3.1:
|
||||||
chokidar "^1.4.3"
|
chokidar "^1.4.3"
|
||||||
graceful-fs "^4.1.2"
|
graceful-fs "^4.1.2"
|
||||||
|
|
||||||
|
webpack-sources@^0.1.0:
|
||||||
|
version "0.1.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750"
|
||||||
|
dependencies:
|
||||||
|
source-list-map "~0.1.7"
|
||||||
|
source-map "~0.5.3"
|
||||||
|
|
||||||
webpack-sources@^0.2.3:
|
webpack-sources@^0.2.3:
|
||||||
version "0.2.3"
|
version "0.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
|
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
|
||||||
|
@ -5151,6 +5109,10 @@ webpack-sources@^0.2.3:
|
||||||
source-list-map "^1.1.1"
|
source-list-map "^1.1.1"
|
||||||
source-map "~0.5.3"
|
source-map "~0.5.3"
|
||||||
|
|
||||||
|
webpack-stats-plugin@^0.1.5:
|
||||||
|
version "0.1.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/webpack-stats-plugin/-/webpack-stats-plugin-0.1.5.tgz#29e5f12ebfd53158d31d656a113ac1f7b86179d9"
|
||||||
|
|
||||||
webpack@^2.5.0:
|
webpack@^2.5.0:
|
||||||
version "2.5.1"
|
version "2.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.5.1.tgz#61742f0cf8af555b87460a9cd8bba2f1e3ee2fce"
|
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.5.1.tgz#61742f0cf8af555b87460a9cd8bba2f1e3ee2fce"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue