mirror of
https://github.com/qlik-oss/nebula.js.git
synced 2025-12-25 01:04:14 -05:00
chore(cli-serve): build and serve dist (#22)
This commit is contained in:
@@ -58,7 +58,7 @@
|
||||
"yargs": "^12.0.5"
|
||||
},
|
||||
"workspaces": [
|
||||
"generated/*",
|
||||
"generated",
|
||||
"packages/*"
|
||||
]
|
||||
}
|
||||
|
||||
7
packages/serve/lib/placeholder.js
Normal file
7
packages/serve/lib/placeholder.js
Normal file
@@ -0,0 +1,7 @@
|
||||
export default {
|
||||
component: {
|
||||
mounted() {
|
||||
console.log('mounted');
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -4,7 +4,7 @@ const chalk = require('chalk');
|
||||
const portfinder = require('portfinder');
|
||||
const { watch } = require('@nebula.js/cli-build');
|
||||
|
||||
const webpack = require('./webpack.conf');
|
||||
const webpackServe = require('./webpack.serve.js');
|
||||
|
||||
const {
|
||||
startEngine,
|
||||
@@ -17,8 +17,11 @@ module.exports = async (argv) => {
|
||||
}
|
||||
const port = argv.port || await portfinder.getPortPromise();
|
||||
const host = argv.host || 'localhost';
|
||||
const enigmaConfig = argv.enigma || {};
|
||||
const publicDir = path.resolve(__dirname, '../public');
|
||||
const enigmaConfig = {
|
||||
port: 9076,
|
||||
host: 'localhost',
|
||||
...argv.enigma,
|
||||
};
|
||||
const context = process.cwd();
|
||||
let snPath;
|
||||
let snName;
|
||||
@@ -46,13 +49,13 @@ module.exports = async (argv) => {
|
||||
return;
|
||||
}
|
||||
|
||||
const server = await webpack({
|
||||
const server = await webpackServe({
|
||||
host,
|
||||
port,
|
||||
publicDir,
|
||||
enigmaConfig,
|
||||
snName,
|
||||
snPath,
|
||||
dev: process.env.MONO === 'true',
|
||||
});
|
||||
|
||||
const close = () => {
|
||||
|
||||
3
packages/serve/lib/sn.js
Normal file
3
packages/serve/lib/sn.js
Normal file
@@ -0,0 +1,3 @@
|
||||
import def from 'snDefinition'; // eslint-disable-line
|
||||
|
||||
window.snDefinition = def;
|
||||
91
packages/serve/lib/webpack.build.js
Normal file
91
packages/serve/lib/webpack.build.js
Normal file
@@ -0,0 +1,91 @@
|
||||
const path = require('path');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
|
||||
const cfg = ({
|
||||
srcDir,
|
||||
distDir,
|
||||
snPath,
|
||||
dev = false,
|
||||
}) => {
|
||||
const config = {
|
||||
mode: dev ? 'development' : 'production',
|
||||
entry: {
|
||||
eRender: [
|
||||
path.resolve(srcDir, 'eRender'),
|
||||
],
|
||||
eDev: [
|
||||
path.resolve(srcDir, 'eDev'),
|
||||
],
|
||||
eHub: [
|
||||
path.resolve(srcDir, 'eHub'),
|
||||
],
|
||||
},
|
||||
devtool: 'source-map',
|
||||
output: {
|
||||
path: distDir,
|
||||
filename: '[name].js',
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
snDefinition: snPath,
|
||||
},
|
||||
extensions: ['.js', '.jsx'],
|
||||
},
|
||||
externals: dev ? {} : 'snDefinition',
|
||||
module: {
|
||||
rules: [{
|
||||
test: /\.jsx?$/,
|
||||
sideEffects: false,
|
||||
include: [
|
||||
srcDir,
|
||||
/react-leonardo-ui/,
|
||||
],
|
||||
use: {
|
||||
loader: 'babel-loader',
|
||||
options: {
|
||||
presets: [
|
||||
['@babel/preset-env', {
|
||||
modules: false,
|
||||
targets: {
|
||||
browsers: ['last 2 chrome versions'],
|
||||
},
|
||||
}],
|
||||
'@babel/preset-react',
|
||||
],
|
||||
},
|
||||
},
|
||||
}],
|
||||
},
|
||||
plugins: [
|
||||
new HtmlWebpackPlugin({
|
||||
template: path.resolve(srcDir, 'eRender.html'),
|
||||
filename: 'eRender.html',
|
||||
chunks: ['eRender'],
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
template: path.resolve(srcDir, 'eDev.html'),
|
||||
filename: 'eDev.html',
|
||||
chunks: ['eDev'],
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
template: path.resolve(srcDir, 'eHub.html'),
|
||||
filename: 'eHub.html',
|
||||
chunks: ['eHub'],
|
||||
}),
|
||||
// new webpack.HotModuleReplacementPlugin(),
|
||||
],
|
||||
};
|
||||
|
||||
return config;
|
||||
};
|
||||
|
||||
if (process.stdin.isTTY) {
|
||||
module.exports = cfg;
|
||||
} else {
|
||||
module.exports = cfg({
|
||||
srcDir: path.resolve(__dirname, '../web'),
|
||||
distDir: path.resolve(__dirname, '../dist'),
|
||||
snPath: path.resolve(__dirname, 'placeholder'),
|
||||
dev: false,
|
||||
});
|
||||
}
|
||||
@@ -1,167 +0,0 @@
|
||||
const path = require('path');
|
||||
const chalk = require('chalk');
|
||||
|
||||
const webpack = require('webpack');
|
||||
const WebpackDevServer = require('webpack-dev-server');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
|
||||
const nm = require.resolve('leonardo-ui');
|
||||
const nmPath = nm.substring(0, nm.lastIndexOf('node_modules') + 12);
|
||||
|
||||
module.exports = async ({
|
||||
host,
|
||||
port,
|
||||
publicDir,
|
||||
enigmaConfig,
|
||||
snName,
|
||||
snPath,
|
||||
}) => {
|
||||
const config = {
|
||||
mode: 'development',
|
||||
entry: {
|
||||
render: [
|
||||
path.resolve(publicDir, 'render'),
|
||||
],
|
||||
dev: [
|
||||
path.resolve(publicDir, 'dev'),
|
||||
],
|
||||
hub: [
|
||||
path.resolve(publicDir, 'hub'),
|
||||
],
|
||||
},
|
||||
devtool: 'source-map',
|
||||
output: {
|
||||
path: path.resolve(publicDir, 'dist'),
|
||||
filename: '[name].js',
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
snDefinition: snPath,
|
||||
},
|
||||
extensions: ['.js', '.jsx'],
|
||||
},
|
||||
module: {
|
||||
rules: [{
|
||||
test: /\.jsx?$/,
|
||||
sideEffects: false,
|
||||
include: [
|
||||
publicDir,
|
||||
/react-leonardo-ui/,
|
||||
],
|
||||
use: {
|
||||
loader: 'babel-loader',
|
||||
options: {
|
||||
presets: [
|
||||
['@babel/preset-env', {
|
||||
modules: false,
|
||||
targets: {
|
||||
browsers: ['last 2 chrome versions'],
|
||||
},
|
||||
}],
|
||||
'@babel/preset-react',
|
||||
],
|
||||
},
|
||||
},
|
||||
}],
|
||||
},
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
SN_NAME: JSON.stringify(snName),
|
||||
ENIGMA_HOST: JSON.stringify(enigmaConfig.host || ''),
|
||||
ENIGMA_PORT: JSON.stringify(enigmaConfig.port || 9076),
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
template: path.resolve(publicDir, 'render.html'),
|
||||
filename: 'render.html',
|
||||
chunks: ['render'],
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
template: path.resolve(publicDir, 'dev.html'),
|
||||
filename: 'dev.html',
|
||||
chunks: ['dev'],
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
template: path.resolve(publicDir, 'hub.html'),
|
||||
filename: 'hub.html',
|
||||
chunks: ['hub'],
|
||||
}),
|
||||
new webpack.HotModuleReplacementPlugin(),
|
||||
],
|
||||
};
|
||||
|
||||
const options = {
|
||||
clientLogLevel: 'none',
|
||||
hot: true,
|
||||
host,
|
||||
port,
|
||||
overlay: {
|
||||
warnings: false,
|
||||
errors: true,
|
||||
},
|
||||
quiet: true,
|
||||
open: true,
|
||||
contentBase: [
|
||||
path.resolve(publicDir, 'dist'),
|
||||
nmPath,
|
||||
],
|
||||
historyApiFallback: {
|
||||
index: '/hub.html',
|
||||
},
|
||||
proxy: [{
|
||||
context: '/render',
|
||||
target: `http://${host}:${port}/render.html`,
|
||||
ignorePath: true,
|
||||
}, {
|
||||
context: '/dev',
|
||||
target: `http://${host}:${port}/dev.html`,
|
||||
ignorePath: true,
|
||||
}],
|
||||
};
|
||||
|
||||
console.log('Starting development server...');
|
||||
|
||||
WebpackDevServer.addDevServerEntrypoints(config, options);
|
||||
const compiler = webpack(config);
|
||||
const server = new WebpackDevServer(compiler, options);
|
||||
|
||||
const close = () => {
|
||||
server.close(() => {
|
||||
process.exit(0);
|
||||
});
|
||||
};
|
||||
|
||||
['SIGINT', 'SIGTERM'].forEach((signal) => {
|
||||
process.on(signal, close);
|
||||
});
|
||||
|
||||
let initiated = false;
|
||||
|
||||
return new Promise((resolve, reject) => { // eslint-disable-line consistent-return
|
||||
compiler.hooks.done.tap('nebula serve', (stats) => {
|
||||
if (!initiated) {
|
||||
initiated = true;
|
||||
const url = `http://${host}:${port}`;
|
||||
console.log(`...running at ${chalk.green(url)}`);
|
||||
|
||||
resolve({
|
||||
context: '',
|
||||
url,
|
||||
close,
|
||||
});
|
||||
|
||||
if (stats.hasErrors()) {
|
||||
stats.compilation.errors.forEach((e) => {
|
||||
console.log(chalk.red(e));
|
||||
});
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
server.listen(port, host, (err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
39
packages/serve/lib/webpack.prod.js
Normal file
39
packages/serve/lib/webpack.prod.js
Normal file
@@ -0,0 +1,39 @@
|
||||
const path = require('path');
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
|
||||
const cfg = ({
|
||||
srcDir = path.resolve(__dirname, '../dist'),
|
||||
snPath = path.resolve(__dirname, 'placeholder'),
|
||||
}) => {
|
||||
const config = {
|
||||
mode: 'development',
|
||||
entry: path.resolve(__dirname, './sn.js'),
|
||||
devtool: 'source-map',
|
||||
output: {
|
||||
path: path.resolve(srcDir, 'temp'),
|
||||
filename: '[name].js',
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
snDefinition: snPath,
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
new HtmlWebpackPlugin({
|
||||
template: path.resolve(srcDir, 'eRender.html'),
|
||||
filename: 'eRender.html',
|
||||
inject: 'head',
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
template: path.resolve(srcDir, 'eDev.html'),
|
||||
filename: 'eDev.html',
|
||||
inject: 'head',
|
||||
}),
|
||||
// new webpack.HotModuleReplacementPlugin(),
|
||||
],
|
||||
};
|
||||
|
||||
return config;
|
||||
};
|
||||
|
||||
module.exports = cfg;
|
||||
122
packages/serve/lib/webpack.serve.js
Normal file
122
packages/serve/lib/webpack.serve.js
Normal file
@@ -0,0 +1,122 @@
|
||||
/* eslint global-require: 0 */
|
||||
const path = require('path');
|
||||
const chalk = require('chalk');
|
||||
|
||||
const webpack = require('webpack');
|
||||
const WebpackDevServer = require('webpack-dev-server');
|
||||
|
||||
const nm = require.resolve('leonardo-ui');
|
||||
const nmPath = nm.substring(0, nm.lastIndexOf('node_modules') + 12);
|
||||
|
||||
module.exports = async ({
|
||||
host,
|
||||
port,
|
||||
enigmaConfig,
|
||||
snPath,
|
||||
dev = false,
|
||||
}) => {
|
||||
let config;
|
||||
let contentBase;
|
||||
|
||||
if (dev) {
|
||||
const webpackConfig = require('./webpack.build.js');
|
||||
const srcDir = path.resolve(__dirname, '../web');
|
||||
const distDir = path.resolve(srcDir, '../dist');
|
||||
contentBase = distDir;
|
||||
config = webpackConfig({
|
||||
srcDir,
|
||||
distDir,
|
||||
dev: true,
|
||||
snPath,
|
||||
});
|
||||
} else {
|
||||
const webpackConfig = require('./webpack.prod.js');
|
||||
const srcDir = path.resolve(__dirname, '../dist');
|
||||
contentBase = srcDir;
|
||||
config = webpackConfig({
|
||||
srcDir,
|
||||
snPath,
|
||||
});
|
||||
}
|
||||
|
||||
const options = {
|
||||
clientLogLevel: 'none',
|
||||
hot: true,
|
||||
host,
|
||||
port,
|
||||
overlay: {
|
||||
warnings: false,
|
||||
errors: true,
|
||||
},
|
||||
quiet: true,
|
||||
open: true,
|
||||
contentBase: [
|
||||
contentBase,
|
||||
nmPath,
|
||||
],
|
||||
historyApiFallback: {
|
||||
index: '/eHub.html',
|
||||
},
|
||||
proxy: [{
|
||||
context: '/render',
|
||||
target: `http://${host}:${port}/eRender.html`,
|
||||
ignorePath: true,
|
||||
}, {
|
||||
context: '/dev',
|
||||
target: `http://${host}:${port}/eDev.html`,
|
||||
ignorePath: true,
|
||||
}, {
|
||||
context: '/engine',
|
||||
ignorePath: true,
|
||||
ws: true,
|
||||
target: `ws://${enigmaConfig.host || 'localhost'}:${enigmaConfig.port}`,
|
||||
}],
|
||||
};
|
||||
|
||||
console.log('Starting development server...');
|
||||
|
||||
WebpackDevServer.addDevServerEntrypoints(config, options);
|
||||
const compiler = webpack(config);
|
||||
const server = new WebpackDevServer(compiler, options);
|
||||
|
||||
const close = () => {
|
||||
server.close(() => {
|
||||
process.exit(0);
|
||||
});
|
||||
};
|
||||
|
||||
['SIGINT', 'SIGTERM'].forEach((signal) => {
|
||||
process.on(signal, close);
|
||||
});
|
||||
|
||||
let initiated = false;
|
||||
|
||||
return new Promise((resolve, reject) => { // eslint-disable-line consistent-return
|
||||
compiler.hooks.done.tap('nebula serve', (stats) => {
|
||||
if (!initiated) {
|
||||
initiated = true;
|
||||
const url = `http://${host}:${port}`;
|
||||
console.log(`...running at ${chalk.green(url)}`);
|
||||
|
||||
resolve({
|
||||
context: '',
|
||||
url,
|
||||
close,
|
||||
});
|
||||
|
||||
if (stats.hasErrors()) {
|
||||
stats.compilation.errors.forEach((e) => {
|
||||
console.log(chalk.red(e));
|
||||
});
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
server.listen(port, host, (err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
@@ -14,36 +14,33 @@
|
||||
"data",
|
||||
"docker-compose.yml",
|
||||
"lib",
|
||||
"public"
|
||||
"dist"
|
||||
],
|
||||
"scripts": {
|
||||
"lint": "eslint public"
|
||||
"build": "webpack --config ./lib/webpack.build.js",
|
||||
"lint": "eslint web"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.4.3",
|
||||
"@babel/preset-env": "^7.4.3",
|
||||
"@babel/preset-react": "^7.0.0",
|
||||
"@nebula.js/cli-build": "0.1.0-alpha.8",
|
||||
"@nebula.js/nucleus": "0.1.0-alpha.8",
|
||||
"babel-loader": "^8.0.5",
|
||||
"chalk": "^2.4.2",
|
||||
"enigma.js": "^2.4.0",
|
||||
"execa": "^1.0.0",
|
||||
"html-webpack-plugin": "^3.2.0",
|
||||
"leonardo-ui": "1.6.0",
|
||||
"picasso-plugin-q": "^0.23.2",
|
||||
"picasso.js": "^0.23.2",
|
||||
"portfinder": "^1.0.20",
|
||||
"react": "^16.8.6",
|
||||
"react-dom": "^16.8.6",
|
||||
"react-leonardo-ui": "^0.15.0",
|
||||
"rollup": "^1.1.2",
|
||||
"rollup-plugin-commonjs": "^9.2.0",
|
||||
"rollup-plugin-json": "^3.1.0",
|
||||
"rollup-plugin-node-resolve": "^4.0.0",
|
||||
"rollup-plugin-serve": "^1.0.1",
|
||||
"webpack": "^4.29.3",
|
||||
"webpack-dev-server": "^3.1.14",
|
||||
"yargs": "^12.0.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.4.3",
|
||||
"@babel/preset-env": "^7.4.3",
|
||||
"@babel/preset-react": "^7.0.0",
|
||||
"@nebula.js/nucleus": "0.1.0-alpha.8",
|
||||
"babel-loader": "^8.0.5",
|
||||
"enigma.js": "^2.4.0",
|
||||
"react": "^16.8.6",
|
||||
"react-dom": "^16.8.6",
|
||||
"react-leonardo-ui": "^0.15.0",
|
||||
"webpack-cli": "^3.3.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
/* global SN_NAME */
|
||||
|
||||
import React, {
|
||||
useEffect,
|
||||
useState,
|
||||
@@ -35,12 +33,12 @@ export default function App({
|
||||
const nebbie = nucleus(app)
|
||||
.load((type, config) => config.Promise.resolve(snDefinition));
|
||||
|
||||
nebbie.types.supernova(SN_NAME).then(setSupernova);
|
||||
nebbie.types.supernova('__undefined__').then(setSupernova);
|
||||
nebbie.selections().mount(sel.current);
|
||||
|
||||
const create = () => {
|
||||
nebbie.create({
|
||||
type: SN_NAME || '__undefined__',
|
||||
type: '__undefined__',
|
||||
}, {}).then((v) => {
|
||||
v.context({
|
||||
permissions: ['passive', 'interact', 'select', 'fetch'],
|
||||
@@ -1,5 +1,3 @@
|
||||
/* global ENIGMA_HOST, ENIGMA_PORT */
|
||||
|
||||
import enigma from 'enigma.js';
|
||||
import qixSchema from 'enigma.js/schemas/3.2.json';
|
||||
import SenseUtilities from 'enigma.js/sense-utilities';
|
||||
@@ -25,8 +23,9 @@ const params = (() => {
|
||||
})();
|
||||
|
||||
const defaultConfig = {
|
||||
host: ENIGMA_HOST || window.location.hostname || 'localhost',
|
||||
port: ENIGMA_PORT,
|
||||
host: window.location.hostname || 'localhost',
|
||||
port: window.location.port,
|
||||
prefix: 'engine',
|
||||
secure: false,
|
||||
};
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
/* global SN_NAME */
|
||||
|
||||
import nucleus from '@nebula.js/nucleus';
|
||||
import snDefinition from 'snDefinition'; // eslint-disable-line
|
||||
|
||||
@@ -24,7 +22,7 @@ openApp(params.app).then((app) => {
|
||||
|
||||
const create = () => {
|
||||
obj = nebbie.create({
|
||||
type: SN_NAME,
|
||||
type: '__undefined__',
|
||||
fields: params.cols || [],
|
||||
}, {
|
||||
element: document.querySelector('#chart-container'),
|
||||
@@ -49,11 +47,13 @@ openApp(params.app).then((app) => {
|
||||
|
||||
render();
|
||||
|
||||
module.hot.accept('snDefinition', () => {
|
||||
nebbie.types.clearFromCache(objType);
|
||||
obj.then((viz) => {
|
||||
viz.close();
|
||||
render();
|
||||
if (module.hot) {
|
||||
module.hot.accept('snDefinition', () => {
|
||||
nebbie.types.clearFromCache(objType);
|
||||
obj.then((viz) => {
|
||||
viz.close();
|
||||
render();
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -4,13 +4,14 @@ export default function Grid({
|
||||
children,
|
||||
vertical,
|
||||
noSpacing,
|
||||
style,
|
||||
}) {
|
||||
const classNames = [
|
||||
'nebula-grid',
|
||||
vertical ? 'vertical' : 'horizontal',
|
||||
noSpacing ? 'no-spacing' : '',
|
||||
].join(' ');
|
||||
const style = {};
|
||||
// const style = {};
|
||||
return (
|
||||
<div className={classNames} style={style}>
|
||||
{children}
|
||||
109
yarn.lock
109
yarn.lock
@@ -4186,6 +4186,10 @@ detect-conflict@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/detect-conflict/-/detect-conflict-1.0.1.tgz#088657a66a961c05019db7c4230883b1c6b4176e"
|
||||
|
||||
detect-file@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
|
||||
|
||||
detect-indent@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
|
||||
@@ -4883,6 +4887,12 @@ expand-range@^1.8.1:
|
||||
dependencies:
|
||||
fill-range "^2.1.0"
|
||||
|
||||
expand-tilde@^2.0.0, expand-tilde@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
|
||||
dependencies:
|
||||
homedir-polyfill "^1.0.1"
|
||||
|
||||
express@^4.16.2:
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e"
|
||||
@@ -5149,6 +5159,15 @@ find-versions@^2.0.0:
|
||||
array-uniq "^1.0.0"
|
||||
semver-regex "^1.0.0"
|
||||
|
||||
findup-sync@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc"
|
||||
dependencies:
|
||||
detect-file "^1.0.0"
|
||||
is-glob "^3.1.0"
|
||||
micromatch "^3.0.4"
|
||||
resolve-dir "^1.0.1"
|
||||
|
||||
first-chunk-stream@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70"
|
||||
@@ -5558,6 +5577,24 @@ global-dirs@^0.1.0:
|
||||
dependencies:
|
||||
ini "^1.3.4"
|
||||
|
||||
global-modules@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
|
||||
dependencies:
|
||||
global-prefix "^1.0.1"
|
||||
is-windows "^1.0.1"
|
||||
resolve-dir "^1.0.0"
|
||||
|
||||
global-prefix@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
|
||||
dependencies:
|
||||
expand-tilde "^2.0.2"
|
||||
homedir-polyfill "^1.0.1"
|
||||
ini "^1.3.4"
|
||||
is-windows "^1.0.1"
|
||||
which "^1.2.14"
|
||||
|
||||
global-tunnel-ng@^2.5.3:
|
||||
version "2.7.1"
|
||||
resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f"
|
||||
@@ -5805,6 +5842,12 @@ hmac-drbg@^1.0.0:
|
||||
minimalistic-assert "^1.0.0"
|
||||
minimalistic-crypto-utils "^1.0.1"
|
||||
|
||||
homedir-polyfill@^1.0.1:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
|
||||
dependencies:
|
||||
parse-passwd "^1.0.0"
|
||||
|
||||
hosted-git-info@^2.1.4, hosted-git-info@^2.6.0:
|
||||
version "2.7.1"
|
||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
|
||||
@@ -6207,7 +6250,7 @@ internal-ip@^4.0.0:
|
||||
default-gateway "^4.0.1"
|
||||
ipaddr.js "^1.9.0"
|
||||
|
||||
interpret@^1.0.0:
|
||||
interpret@^1.0.0, interpret@^1.1.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
|
||||
|
||||
@@ -6582,7 +6625,7 @@ is-utf8@^0.2.0:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
|
||||
|
||||
is-windows@^1.0.0, is-windows@^1.0.2:
|
||||
is-windows@^1.0.0, is-windows@^1.0.1, is-windows@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
|
||||
|
||||
@@ -7666,7 +7709,7 @@ micromatch@^2.3.11:
|
||||
parse-glob "^3.0.4"
|
||||
regex-cache "^0.4.2"
|
||||
|
||||
micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8:
|
||||
micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8:
|
||||
version "3.1.10"
|
||||
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
|
||||
dependencies:
|
||||
@@ -7715,14 +7758,14 @@ mime@1.4.1:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
|
||||
|
||||
mime@>=2.0.3, mime@^2.0.3, mime@^2.3.1:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.0.tgz#e051fd881358585f3279df333fe694da0bcffdd6"
|
||||
|
||||
mime@^1.3.4:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
|
||||
|
||||
mime@^2.0.3, mime@^2.3.1:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.0.tgz#e051fd881358585f3279df333fe694da0bcffdd6"
|
||||
|
||||
mimic-fn@^1.0.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
|
||||
@@ -8398,10 +8441,6 @@ only@~0.0.2:
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4"
|
||||
|
||||
opener@1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed"
|
||||
|
||||
opn@^5.1.0, opn@^5.3.0:
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035"
|
||||
@@ -8746,6 +8785,10 @@ parse-json@^4.0.0:
|
||||
error-ex "^1.3.1"
|
||||
json-parse-better-errors "^1.0.1"
|
||||
|
||||
parse-passwd@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
|
||||
|
||||
parseurl@^1.3.2, parseurl@~1.3.2:
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
|
||||
@@ -8859,14 +8902,6 @@ phin@^2.9.1:
|
||||
version "2.9.3"
|
||||
resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c"
|
||||
|
||||
picasso-plugin-q@^0.23.2:
|
||||
version "0.23.2"
|
||||
resolved "https://registry.yarnpkg.com/picasso-plugin-q/-/picasso-plugin-q-0.23.2.tgz#c21a09264427cca516291bf196cc2e51d6ec3b74"
|
||||
|
||||
picasso.js@^0.23.2:
|
||||
version "0.23.2"
|
||||
resolved "https://registry.yarnpkg.com/picasso.js/-/picasso.js-0.23.2.tgz#10c515990b45c5c7c23bbf1fc4b70dc6c2999187"
|
||||
|
||||
pify@^2.0.0, pify@^2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
|
||||
@@ -9981,6 +10016,13 @@ resolve-cwd@^2.0.0:
|
||||
dependencies:
|
||||
resolve-from "^3.0.0"
|
||||
|
||||
resolve-dir@^1.0.0, resolve-dir@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
|
||||
dependencies:
|
||||
expand-tilde "^2.0.0"
|
||||
global-modules "^1.0.0"
|
||||
|
||||
resolve-from@4.0.0, resolve-from@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
|
||||
@@ -10143,13 +10185,6 @@ rollup-plugin-sass@^1.1.0:
|
||||
rollup-pluginutils ">= 1.3.1"
|
||||
sass "1.7.2"
|
||||
|
||||
rollup-plugin-serve@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/rollup-plugin-serve/-/rollup-plugin-serve-1.0.1.tgz#2da2a784a916c5564609c7696cd9dacdbf17f6cc"
|
||||
dependencies:
|
||||
mime ">=2.0.3"
|
||||
opener "1"
|
||||
|
||||
rollup-plugin-terser@^4.0.3:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-4.0.3.tgz#1525698d1b1cba724ed2c805e84b5ef7efc840e3"
|
||||
@@ -11522,6 +11557,10 @@ uuid@^3.0.0, uuid@^3.0.1, uuid@^3.3.2:
|
||||
version "3.3.2"
|
||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
|
||||
|
||||
v8-compile-cache@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c"
|
||||
|
||||
validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
|
||||
@@ -11617,6 +11656,22 @@ webidl-conversions@^4.0.2:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
|
||||
|
||||
webpack-cli@^3.3.1:
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.1.tgz#98b0499c7138ba9ece8898bd99c4f007db59909d"
|
||||
dependencies:
|
||||
chalk "^2.4.1"
|
||||
cross-spawn "^6.0.5"
|
||||
enhanced-resolve "^4.1.0"
|
||||
findup-sync "^2.0.0"
|
||||
global-modules "^1.0.0"
|
||||
import-local "^2.0.0"
|
||||
interpret "^1.1.0"
|
||||
loader-utils "^1.1.0"
|
||||
supports-color "^5.5.0"
|
||||
v8-compile-cache "^2.0.2"
|
||||
yargs "^12.0.5"
|
||||
|
||||
webpack-dev-middleware@^3.5.1:
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.6.0.tgz#71f1b04e52ff8d442757af2be3a658237d53a3e5"
|
||||
@@ -11727,7 +11782,7 @@ which-module@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
||||
|
||||
which@1, which@^1.2.10, which@^1.2.8, which@^1.2.9, which@^1.3.0, which@^1.3.1:
|
||||
which@1, which@^1.2.10, which@^1.2.14, which@^1.2.8, which@^1.2.9, which@^1.3.0, which@^1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
||||
dependencies:
|
||||
|
||||
Reference in New Issue
Block a user