mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
This commit is contained in:
parent
462dbd1fcf
commit
a1b5a56f94
26 changed files with 1972 additions and 67 deletions
|
@ -307,6 +307,7 @@
|
|||
"murmurhash3js": "3.0.1",
|
||||
"ncp": "2.0.0",
|
||||
"nock": "8.0.0",
|
||||
"node-sass": "^4.9.0",
|
||||
"pixelmatch": "4.0.2",
|
||||
"prettier": "^1.12.1",
|
||||
"proxyquire": "1.7.11",
|
||||
|
|
|
@ -63,12 +63,20 @@ module.exports = function({ name }) {
|
|||
message: 'Should a server API be generated?',
|
||||
default: true,
|
||||
},
|
||||
generateScss: {
|
||||
type: 'confirm',
|
||||
message: 'Should SCSS be used?',
|
||||
when: answers => answers.generateApp,
|
||||
default: true,
|
||||
},
|
||||
},
|
||||
filters: {
|
||||
'public/**/*': 'generateApp',
|
||||
'translations/**/*': 'generateTranslations',
|
||||
'public/hack.js': 'generateHack',
|
||||
'server/**/*': 'generateApi',
|
||||
'public/app.scss': 'generateScss',
|
||||
'.kibana-plugin-helpers.json': 'generateScss',
|
||||
},
|
||||
move: {
|
||||
gitignore: '.gitignore',
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"styleSheetToCompile": "public/app.scss"
|
||||
}
|
|
@ -9,7 +9,10 @@ export default function (kibana) {
|
|||
app: {
|
||||
title: '<%= startCase(name) %>',
|
||||
description: '<%= description %>',
|
||||
main: 'plugins/<%= kebabCase(name) %>/app'
|
||||
main: 'plugins/<%= kebabCase(name) %>/app',
|
||||
<% if (generateScss) { %>
|
||||
styleSheetPath: require('path').resolve(__dirname, 'public/app.scss'),
|
||||
<% } %>
|
||||
},
|
||||
<% } %>
|
||||
<% if (generateHack) { %>
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
"gulp-zip": "^4.1.0",
|
||||
"inquirer": "^1.2.2",
|
||||
"minimatch": "^3.0.4",
|
||||
"node-sass": "^4.9.0",
|
||||
"through2": "^2.0.3",
|
||||
"through2-map": "^3.0.0",
|
||||
"vinyl-fs": "^3.0.0"
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
body {
|
||||
background-color: red;
|
||||
}
|
|
@ -17,10 +17,11 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
const join = require('path').join;
|
||||
const path = require('path');
|
||||
const relative = require('path').relative;
|
||||
const { readFileSync, writeFileSync, unlinkSync, existsSync } = require('fs');
|
||||
const execFileSync = require('child_process').execFileSync;
|
||||
const sass = require('node-sass');
|
||||
const del = require('del');
|
||||
const vfs = require('vinyl-fs');
|
||||
const rename = require('gulp-rename');
|
||||
|
@ -34,7 +35,7 @@ const winCmd = require('../../lib/win_cmd');
|
|||
// in the built zip file. Therefore we remove all symlinked dependencies, so we
|
||||
// can re-create them when installing the plugin.
|
||||
function removeSymlinkDependencies(root) {
|
||||
const nodeModulesPattern = join(root, '**', 'node_modules', '**');
|
||||
const nodeModulesPattern = path.join(root, '**', 'node_modules', '**');
|
||||
|
||||
return through.obj((file, enc, cb) => {
|
||||
const isSymlink = file.symlink != null;
|
||||
|
@ -50,7 +51,7 @@ function removeSymlinkDependencies(root) {
|
|||
|
||||
// parse a ts config file
|
||||
function parseTsconfig(pluginSourcePath, configPath) {
|
||||
const ts = require(join(pluginSourcePath, 'node_modules', 'typescript'));
|
||||
const ts = require(path.join(pluginSourcePath, 'node_modules', 'typescript'));
|
||||
|
||||
const { error, config } = ts.parseConfigFileTextToJson(
|
||||
configPath,
|
||||
|
@ -72,20 +73,24 @@ module.exports = function createBuild(
|
|||
files
|
||||
) {
|
||||
const buildSource = plugin.root;
|
||||
const buildRoot = join(buildTarget, 'kibana', plugin.id);
|
||||
const buildRoot = path.join(buildTarget, 'kibana', plugin.id);
|
||||
|
||||
return del(buildTarget)
|
||||
.then(function () {
|
||||
return new Promise(function (resolve, reject) {
|
||||
vfs
|
||||
.src(files, { cwd: buildSource, base: buildSource, allowEmpty: true })
|
||||
.src(files, {
|
||||
cwd: buildSource,
|
||||
base: buildSource,
|
||||
allowEmpty: true,
|
||||
})
|
||||
// modify the package.json file
|
||||
.pipe(rewritePackageJson(buildSource, buildVersion, kibanaVersion))
|
||||
|
||||
// put all files inside the correct directories
|
||||
.pipe(rename(function nestFileInDir(path) {
|
||||
const nonRelativeDirname = path.dirname.replace(/^(\.\.\/?)+/g, '');
|
||||
path.dirname = join(relative(buildTarget, buildRoot), nonRelativeDirname);
|
||||
.pipe(rename(function nestFileInDir(filePath) {
|
||||
const nonRelativeDirname = filePath.dirname.replace(/^(\.\.\/?)+/g, '');
|
||||
filePath.dirname = path.join(relative(buildTarget, buildRoot), nonRelativeDirname);
|
||||
}))
|
||||
|
||||
.pipe(vfs.dest(buildTarget))
|
||||
|
@ -107,7 +112,31 @@ module.exports = function createBuild(
|
|||
execFileSync(winCmd('yarn'), ['install', '--production', '--pure-lockfile'], options);
|
||||
})
|
||||
.then(function () {
|
||||
const buildConfigPath = join(buildRoot, 'tsconfig.json');
|
||||
if (!plugin.styleSheetToCompile) {
|
||||
return;
|
||||
}
|
||||
|
||||
const file = path.resolve(plugin.root, plugin.styleSheetToCompile);
|
||||
if (!existsSync(file)) {
|
||||
throw new Error(
|
||||
`Path provided for styleSheetToCompile does not exist: ${file}`
|
||||
);
|
||||
}
|
||||
|
||||
const outputFileName = path.basename(file, path.extname(file)) + '.css';
|
||||
const output = path.join(
|
||||
buildRoot,
|
||||
path.dirname(plugin.styleSheetToCompile),
|
||||
outputFileName
|
||||
);
|
||||
|
||||
const rendered = sass.renderSync({ file, output });
|
||||
writeFileSync(output, rendered.css);
|
||||
|
||||
del.sync([path.join(buildRoot, '**', '*.s{a,c}ss')]);
|
||||
})
|
||||
.then(function () {
|
||||
const buildConfigPath = path.join(buildRoot, 'tsconfig.json');
|
||||
|
||||
if (!existsSync(buildConfigPath)) {
|
||||
return;
|
||||
|
@ -123,7 +152,7 @@ module.exports = function createBuild(
|
|||
const buildConfig = parseTsconfig(buildSource, buildConfigPath);
|
||||
|
||||
if (buildConfig.extends) {
|
||||
buildConfig.extends = join(
|
||||
buildConfig.extends = path.join(
|
||||
relative(buildRoot, buildSource),
|
||||
buildConfig.extends
|
||||
);
|
||||
|
@ -132,7 +161,7 @@ module.exports = function createBuild(
|
|||
}
|
||||
|
||||
execFileSync(
|
||||
join(buildSource, 'node_modules', '.bin', winCmd('tsc')),
|
||||
path.join(buildSource, 'node_modules', '.bin', winCmd('tsc')),
|
||||
['--pretty', 'true'],
|
||||
{
|
||||
cwd: buildRoot,
|
||||
|
@ -141,8 +170,8 @@ module.exports = function createBuild(
|
|||
);
|
||||
|
||||
del.sync([
|
||||
join(buildRoot, '**', '*.{ts,tsx,d.ts}'),
|
||||
join(buildRoot, 'tsconfig.json'),
|
||||
path.join(buildRoot, '**', '*.{ts,tsx,d.ts}'),
|
||||
path.join(buildRoot, 'tsconfig.json'),
|
||||
]);
|
||||
})
|
||||
.then(function () {
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
const { resolve } = require('path');
|
||||
const { readdirSync } = require('fs');
|
||||
const { readdirSync, existsSync, unlink } = require('fs');
|
||||
const del = require('del');
|
||||
const createBuild = require('./create_build');
|
||||
|
||||
|
@ -83,4 +83,31 @@ describe('creating the build', () => {
|
|||
expect(readdirSync(resolve(PLUGIN_BUILD_TARGET))).not.toContain('node_modules');
|
||||
});
|
||||
});
|
||||
|
||||
describe('with styleSheetToCompile', () => {
|
||||
const sassPath = 'public/styles.scss';
|
||||
const cssPath = resolve(PLUGIN_BUILD_TARGET, 'public/styles.css');
|
||||
|
||||
// set skipInstallDependencies to true for these tests
|
||||
beforeEach(() => (PLUGIN.styleSheetToCompile = sassPath));
|
||||
// set it back to false after
|
||||
afterEach(() => {
|
||||
PLUGIN.styleSheetToCompile = undefined;
|
||||
unlink(cssPath);
|
||||
});
|
||||
|
||||
it('produces CSS', async () => {
|
||||
expect(PLUGIN.styleSheetToCompile).toBe(sassPath);
|
||||
|
||||
await createBuild(
|
||||
PLUGIN,
|
||||
buildTarget,
|
||||
buildVersion,
|
||||
kibanaVersion,
|
||||
buildFiles
|
||||
);
|
||||
|
||||
expect(existsSync(cssPath)).toBe(true);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -44,6 +44,7 @@ import {
|
|||
RemovePackageJsonDepsTask,
|
||||
TranspileBabelTask,
|
||||
TranspileTypescriptTask,
|
||||
TranspileScssTask,
|
||||
UpdateLicenseFileTask,
|
||||
VerifyEnvTask,
|
||||
VerifyExistingNodeBuildsTask,
|
||||
|
@ -109,6 +110,7 @@ export async function buildDistributables(options) {
|
|||
await run(UpdateLicenseFileTask);
|
||||
await run(RemovePackageJsonDepsTask);
|
||||
await run(CleanExtraFilesFromModulesTask);
|
||||
await run(TranspileScssTask);
|
||||
await run(OptimizeBuildTask);
|
||||
|
||||
/**
|
||||
|
|
|
@ -34,5 +34,6 @@ export * from './optimize_task';
|
|||
export * from './os_packages';
|
||||
export * from './transpile_babel_task';
|
||||
export * from './transpile_typescript_task';
|
||||
export * from './transpile_scss_task';
|
||||
export * from './verify_env_task';
|
||||
export * from './write_sha_sums_task';
|
||||
|
|
43
src/dev/build/tasks/transpile_scss_task.js
Normal file
43
src/dev/build/tasks/transpile_scss_task.js
Normal file
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Licensed to Elasticsearch B.V. under one or more contributor
|
||||
* license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright
|
||||
* ownership. Elasticsearch B.V. licenses this file to you under
|
||||
* the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { toArray } from 'rxjs/operators';
|
||||
import { buildAll } from '../../../server/sass/build_all';
|
||||
import { findPluginSpecs } from '../../../plugin_discovery/find_plugin_specs';
|
||||
|
||||
export const TranspileScssTask = {
|
||||
description: 'Transpiling SCSS to CSS',
|
||||
|
||||
async run(config, log, build) {
|
||||
const scanDirs = [ build.resolvePath('src/core_plugins') ];
|
||||
const { spec$ } = findPluginSpecs({ plugins: { scanDirs, paths: [] } });
|
||||
const enabledPlugins = await spec$.pipe(toArray()).toPromise();
|
||||
|
||||
function onSuccess(builder) {
|
||||
log.info(`Compiled SCSS: ${builder.source}`);
|
||||
}
|
||||
|
||||
function onError(builder, e) {
|
||||
log.error(`Compiling SCSS failed: ${builder.source}`);
|
||||
throw e;
|
||||
}
|
||||
|
||||
await buildAll(enabledPlugins, { onSuccess, onError });
|
||||
}
|
||||
};
|
|
@ -39,6 +39,7 @@ import { sampleDataMixin } from './sample_data';
|
|||
import { kibanaIndexMappingsMixin } from './mappings';
|
||||
import { serverExtensionsMixin } from './server_extensions';
|
||||
import { uiMixin } from '../ui';
|
||||
import { sassMixin } from './sass';
|
||||
|
||||
const rootDir = fromRoot('.');
|
||||
|
||||
|
@ -90,6 +91,9 @@ export default class KbnServer {
|
|||
// watch bundle server is running
|
||||
optimizeMixin,
|
||||
|
||||
// transpiles SCSS into CSS
|
||||
sassMixin,
|
||||
|
||||
// initialize the plugins
|
||||
Plugins.initializeMixin,
|
||||
|
||||
|
|
|
@ -49,7 +49,8 @@ const typeColors = {
|
|||
optmzr: 'white',
|
||||
managr: 'green',
|
||||
optimize: 'magentaBright',
|
||||
listening: 'magentaBright'
|
||||
listening: 'magentaBright',
|
||||
scss: 'magentaBright',
|
||||
};
|
||||
|
||||
const color = _.memoize(function (name) {
|
||||
|
|
83
src/server/sass/build.js
Normal file
83
src/server/sass/build.js
Normal file
|
@ -0,0 +1,83 @@
|
|||
/*
|
||||
* Licensed to Elasticsearch B.V. under one or more contributor
|
||||
* license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright
|
||||
* ownership. Elasticsearch B.V. licenses this file to you under
|
||||
* the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import path from 'path';
|
||||
import { promisify } from 'util';
|
||||
import fs from 'fs';
|
||||
import sass from 'node-sass';
|
||||
import minimatch from 'minimatch';
|
||||
|
||||
const renderSass = promisify(sass.render);
|
||||
const writeFile = promisify(fs.writeFile);
|
||||
|
||||
export class Build {
|
||||
constructor(source, options = {}) {
|
||||
this.source = source;
|
||||
this.onSuccess = options.onSuccess || (() => {});
|
||||
this.onError = options.onError || (() => {});
|
||||
}
|
||||
|
||||
outputPath() {
|
||||
const fileName = path.basename(this.source, path.extname(this.source)) + '.css';
|
||||
return path.join(path.dirname(this.source), fileName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Glob based on source path
|
||||
*/
|
||||
|
||||
getGlob() {
|
||||
return path.join(path.dirname(this.source), '**', '*.s{a,c}ss');
|
||||
}
|
||||
|
||||
async buildIfInPath(path) {
|
||||
if (minimatch(path, this.getGlob())) {
|
||||
await this.build();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Transpiles SASS and writes CSS to output
|
||||
*/
|
||||
|
||||
async build() {
|
||||
try {
|
||||
const outFile = this.outputPath();
|
||||
|
||||
const rendered = await renderSass({
|
||||
file: this.source,
|
||||
outFile,
|
||||
sourceMap: true,
|
||||
sourceMapEmbed: true,
|
||||
sourceComments: true,
|
||||
});
|
||||
|
||||
await writeFile(outFile, rendered.css);
|
||||
|
||||
this.onSuccess(this);
|
||||
} catch(e) {
|
||||
this.onError(this, e);
|
||||
} finally {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
51
src/server/sass/build.test.js
Normal file
51
src/server/sass/build.test.js
Normal file
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* Licensed to Elasticsearch B.V. under one or more contributor
|
||||
* license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright
|
||||
* ownership. Elasticsearch B.V. licenses this file to you under
|
||||
* the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import sass from 'node-sass';
|
||||
import { Build } from './build';
|
||||
|
||||
jest.mock('node-sass');
|
||||
|
||||
describe('SASS builder', () => {
|
||||
jest.mock('fs');
|
||||
|
||||
it('generates a glob', () => {
|
||||
const builder = new Build('/foo/style.sass');
|
||||
expect(builder.getGlob()).toEqual('/foo/**/*.s{a,c}ss');
|
||||
});
|
||||
|
||||
it('builds SASS', () => {
|
||||
sass.render.mockImplementation(() => Promise.resolve(null, { css: 'test' }));
|
||||
const builder = new Build('/foo/style.sass');
|
||||
builder.build();
|
||||
|
||||
expect(sass.render.mock.calls[0][0]).toEqual({
|
||||
file: '/foo/style.sass',
|
||||
outFile: '/foo/style.css',
|
||||
sourceComments: true,
|
||||
sourceMap: true,
|
||||
sourceMapEmbed: true
|
||||
});
|
||||
});
|
||||
|
||||
it('has an output file with a different extension', () => {
|
||||
const builder = new Build('/foo/style.sass');
|
||||
expect(builder.outputPath()).toEqual('/foo/style.css');
|
||||
});
|
||||
});
|
38
src/server/sass/build_all.js
Normal file
38
src/server/sass/build_all.js
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* Licensed to Elasticsearch B.V. under one or more contributor
|
||||
* license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright
|
||||
* ownership. Elasticsearch B.V. licenses this file to you under
|
||||
* the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { Build } from './build';
|
||||
import { collectUiExports } from '../../ui/ui_exports';
|
||||
|
||||
export function buildAll(enabledPluginSpecs, { onSuccess, onError }) {
|
||||
const { uiAppSpecs = [] } = collectUiExports(enabledPluginSpecs);
|
||||
|
||||
return Promise.all(uiAppSpecs.reduce((acc, uiAppSpec) => {
|
||||
if (!uiAppSpec.styleSheetPath) {
|
||||
return acc;
|
||||
}
|
||||
|
||||
const builder = new Build(uiAppSpec.styleSheetPath, {
|
||||
onSuccess,
|
||||
onError,
|
||||
});
|
||||
|
||||
return [...acc, builder.build()];
|
||||
}, []));
|
||||
}
|
76
src/server/sass/index.js
Normal file
76
src/server/sass/index.js
Normal file
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
* Licensed to Elasticsearch B.V. under one or more contributor
|
||||
* license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright
|
||||
* ownership. Elasticsearch B.V. licenses this file to you under
|
||||
* the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { IS_KIBANA_DISTRIBUTABLE } from '../../utils';
|
||||
|
||||
export async function sassMixin(kbnServer, server, config) {
|
||||
if (process.env.kbnWorkerType === 'optmzr') {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Build assets
|
||||
*
|
||||
* SCSS is only transpiled while running from source
|
||||
*/
|
||||
|
||||
if (IS_KIBANA_DISTRIBUTABLE) {
|
||||
return;
|
||||
}
|
||||
|
||||
const { buildAll } = require('./build_all');
|
||||
|
||||
function onSuccess(builder) {
|
||||
server.log(['info', 'scss'], `Compiled CSS: ${builder.source}`);
|
||||
}
|
||||
|
||||
function onError(builder, error) {
|
||||
server.log(['warning', 'scss'], `Compiling CSS failed: ${builder.source}`);
|
||||
server.log(['warning', 'scss'], error);
|
||||
}
|
||||
|
||||
const scssBundles = await buildAll(kbnServer.pluginSpecs, { onSuccess, onError });
|
||||
|
||||
|
||||
/**
|
||||
* Setup Watchers
|
||||
*
|
||||
* Similar to the optimizer, we only setup watchers while in development mode
|
||||
*/
|
||||
|
||||
if (!config.get('env').dev) {
|
||||
return;
|
||||
}
|
||||
|
||||
const { FSWatcher } = require('chokidar');
|
||||
const watcher = new FSWatcher({ ignoreInitial: true });
|
||||
|
||||
scssBundles.forEach(bundle => {
|
||||
watcher.add(bundle.getGlob());
|
||||
});
|
||||
|
||||
watcher.on('all', async (event, path) => {
|
||||
for (let i = 0; i < scssBundles.length; i++) {
|
||||
if (await scssBundles[i].buildIfInPath(path)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
|
@ -38,7 +38,7 @@ function createStubUiAppSpec(extraParams) {
|
|||
};
|
||||
}
|
||||
|
||||
function createStubKbnServer() {
|
||||
function createStubKbnServer(extraParams) {
|
||||
return {
|
||||
plugins: [],
|
||||
config: {
|
||||
|
@ -46,7 +46,8 @@ function createStubKbnServer() {
|
|||
.withArgs('server.basePath')
|
||||
.returns('')
|
||||
},
|
||||
server: {}
|
||||
server: {},
|
||||
...extraParams,
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -89,6 +90,10 @@ describe('ui apps / UiApp', () => {
|
|||
expect(app.getModules()).to.eql([]);
|
||||
});
|
||||
|
||||
it('has no styleSheetPath', () => {
|
||||
expect(app.getStyleSheetUrlPath()).to.be(undefined);
|
||||
});
|
||||
|
||||
it('has a mostly empty JSON representation', () => {
|
||||
expect(JSON.parse(JSON.stringify(app))).to.eql({
|
||||
id: spec.id,
|
||||
|
@ -309,4 +314,15 @@ describe('ui apps / UiApp', () => {
|
|||
expect(app.getModules()).to.eql(['bar']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#getStyleSheetUrlPath', () => {
|
||||
it('returns public path to styleSheetPath', () => {
|
||||
const app = createUiApp(
|
||||
createStubUiAppSpec({ pluginId: 'foo', id: 'foo', styleSheetPath: '/bar/public/baz/style.scss' }),
|
||||
createStubKbnServer({ plugins: [{ id: 'foo', publicDir: '/bar/public' }] })
|
||||
);
|
||||
|
||||
expect(app.getStyleSheetUrlPath()).to.eql('plugins/foo/baz/style.css');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import path from 'path';
|
||||
import { UiNavLink } from '../ui_nav_links';
|
||||
|
||||
export class UiApp {
|
||||
|
@ -33,6 +34,7 @@ export class UiApp {
|
|||
linkToLastSubUrl,
|
||||
listed,
|
||||
url = `/app/${id}`,
|
||||
styleSheetPath,
|
||||
} = spec;
|
||||
|
||||
if (!id) {
|
||||
|
@ -51,6 +53,7 @@ export class UiApp {
|
|||
this._url = url;
|
||||
this._pluginId = pluginId;
|
||||
this._kbnServer = kbnServer;
|
||||
this._styleSheetPath = styleSheetPath;
|
||||
|
||||
if (this._pluginId && !this._getPlugin()) {
|
||||
throw new Error(`Unknown plugin id "${this._pluginId}"`);
|
||||
|
@ -102,6 +105,25 @@ export class UiApp {
|
|||
return this._main ? [this._main] : [];
|
||||
}
|
||||
|
||||
getStyleSheetUrlPath() {
|
||||
if (!this._styleSheetPath) {
|
||||
return;
|
||||
}
|
||||
|
||||
const plugin = this._getPlugin();
|
||||
|
||||
// get the path of the stylesheet relative to the public dir for the plugin
|
||||
let relativePath = path.relative(plugin.publicDir, this._styleSheetPath);
|
||||
|
||||
// replace back slashes on windows
|
||||
relativePath = relativePath.split('\\').join('/');
|
||||
|
||||
// replace the extension of relativePath to be .css
|
||||
relativePath = relativePath.slice(0, -path.extname(relativePath).length) + '.css';
|
||||
|
||||
return `plugins/${this.getId()}/${relativePath}`;
|
||||
}
|
||||
|
||||
_getPlugin() {
|
||||
const pluginId = this._pluginId;
|
||||
const { plugins } = this._kbnServer;
|
||||
|
@ -119,7 +141,8 @@ export class UiApp {
|
|||
icon: this._icon,
|
||||
main: this._main,
|
||||
navLink: this._navLink,
|
||||
linkToLastSubUrl: this._linkToLastSubUrl
|
||||
linkToLastSubUrl: this._linkToLastSubUrl,
|
||||
styleSheetPath: this._styleSheetPath,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { isAbsolute, normalize } from 'path';
|
||||
import { flatConcatAtType } from './reduce';
|
||||
import { alias, mapSpec, wrap } from './modify_reduce';
|
||||
|
||||
|
@ -36,7 +37,9 @@ function applySpecDefaults(spec, type, pluginSpec) {
|
|||
} = spec;
|
||||
|
||||
if (spec.injectVars) {
|
||||
throw new Error(`[plugin:${pluginId}] uiExports.app.injectVars has been removed. Use server.injectUiAppVars('${id}', () => { ... })`);
|
||||
throw new Error(
|
||||
`[plugin:${pluginId}] uiExports.app.injectVars has been removed. Use server.injectUiAppVars('${id}', () => { ... })`
|
||||
);
|
||||
}
|
||||
|
||||
if (spec.uses) {
|
||||
|
@ -45,6 +48,14 @@ function applySpecDefaults(spec, type, pluginSpec) {
|
|||
);
|
||||
}
|
||||
|
||||
const styleSheetPath = spec.styleSheetPath ? normalize(spec.styleSheetPath) : undefined;
|
||||
|
||||
if (styleSheetPath && (!isAbsolute(styleSheetPath) || !styleSheetPath.startsWith(pluginSpec.getPublicDir()))) {
|
||||
throw new Error(
|
||||
`[plugin:${pluginId}] uiExports.app.styleSheetPath must be an absolute path within the public directory`
|
||||
);
|
||||
}
|
||||
|
||||
return {
|
||||
pluginId,
|
||||
id,
|
||||
|
@ -57,6 +68,7 @@ function applySpecDefaults(spec, type, pluginSpec) {
|
|||
linkToLastSubUrl,
|
||||
listed,
|
||||
url,
|
||||
styleSheetPath,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,19 +1,24 @@
|
|||
window.onload = function () {
|
||||
function bundleFile(filename) {
|
||||
function createAnchor(href) {
|
||||
var anchor = document.createElement('a');
|
||||
anchor.setAttribute('href', '{{bundlePath}}/' + filename);
|
||||
anchor.setAttribute('href', href);
|
||||
return anchor.href;
|
||||
}
|
||||
var files = [
|
||||
bundleFile('vendors.style.css'),
|
||||
bundleFile('commons.style.css'),
|
||||
bundleFile('{{appId}}.style.css'),
|
||||
|
||||
bundleFile('vendors.bundle.js'),
|
||||
bundleFile('commons.bundle.js'),
|
||||
bundleFile('{{appId}}.bundle.js')
|
||||
var files = [
|
||||
createAnchor('{{bundlePath}}/vendors.style.css'),
|
||||
createAnchor('{{bundlePath}}/commons.style.css'),
|
||||
createAnchor('{{bundlePath}}/{{appId}}.style.css'),
|
||||
|
||||
createAnchor('{{bundlePath}}/vendors.bundle.js'),
|
||||
createAnchor('{{bundlePath}}/commons.bundle.js'),
|
||||
createAnchor('{{bundlePath}}/{{appId}}.bundle.js')
|
||||
];
|
||||
|
||||
if ('{{styleSheetPath}}' !== '') {
|
||||
files.push(createAnchor('{{styleSheetPath}}'));
|
||||
}
|
||||
|
||||
(function next() {
|
||||
var file = files.shift();
|
||||
if (!file) return;
|
||||
|
|
|
@ -62,10 +62,12 @@ export function uiRenderMixin(kbnServer, server, config) {
|
|||
throw Boom.notFound(`Unknown app: ${id}`);
|
||||
}
|
||||
|
||||
const basePath = config.get('server.basePath');
|
||||
const bootstrap = new AppBootstrap({
|
||||
templateData: {
|
||||
appId: app.getId(),
|
||||
bundlePath: `${config.get('server.basePath')}/bundles`
|
||||
bundlePath: `${basePath}/bundles`,
|
||||
styleSheetPath: app.getStyleSheetUrlPath() ? `${basePath}/${app.getStyleSheetUrlPath()}` : null,
|
||||
},
|
||||
translations: await request.getUiTranslations()
|
||||
});
|
||||
|
|
267
x-pack/yarn.lock
267
x-pack/yarn.lock
|
@ -513,6 +513,10 @@ astral-regex@^1.0.0:
|
|||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
|
||||
|
||||
async-foreach@^0.1.3:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
|
||||
|
||||
async-limiter@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
|
||||
|
@ -1269,6 +1273,10 @@ camelcase@^4.1.0:
|
|||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
|
||||
|
||||
caseless@~0.11.0:
|
||||
version "0.11.0"
|
||||
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
|
||||
|
||||
caseless@~0.12.0:
|
||||
version "0.12.0"
|
||||
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
|
||||
|
@ -1301,7 +1309,7 @@ chai@~1.9.2:
|
|||
assertion-error "1.0.0"
|
||||
deep-eql "0.1.3"
|
||||
|
||||
chalk@^1.0.0, chalk@^1.1.3:
|
||||
chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
|
||||
dependencies:
|
||||
|
@ -1600,6 +1608,13 @@ create-react-class@^15.5.2:
|
|||
loose-envify "^1.3.1"
|
||||
object-assign "^4.1.1"
|
||||
|
||||
cross-spawn@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
|
||||
dependencies:
|
||||
lru-cache "^4.0.1"
|
||||
which "^1.2.9"
|
||||
|
||||
cross-spawn@^5.0.1:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
|
||||
|
@ -2788,6 +2803,22 @@ gaze@^0.5.1:
|
|||
dependencies:
|
||||
globule "~0.1.0"
|
||||
|
||||
gaze@^1.0.0:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
|
||||
dependencies:
|
||||
globule "^1.0.0"
|
||||
|
||||
generate-function@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
|
||||
|
||||
generate-object-property@^1.1.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
|
||||
dependencies:
|
||||
is-property "^1.0.0"
|
||||
|
||||
get-caller-file@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
|
||||
|
@ -2891,7 +2922,7 @@ glob@3.2.11:
|
|||
inherits "2"
|
||||
minimatch "0.3"
|
||||
|
||||
glob@6.0.4:
|
||||
glob@6.0.4, glob@^6.0.4:
|
||||
version "6.0.4"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
|
||||
dependencies:
|
||||
|
@ -2921,7 +2952,7 @@ glob@^4.3.1:
|
|||
minimatch "^2.0.1"
|
||||
once "^1.3.0"
|
||||
|
||||
glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
|
||||
glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1:
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
|
||||
dependencies:
|
||||
|
@ -2999,6 +3030,14 @@ globby@^6.1.0:
|
|||
pify "^2.0.0"
|
||||
pinkie-promise "^2.0.0"
|
||||
|
||||
globule@^1.0.0:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d"
|
||||
dependencies:
|
||||
glob "~7.1.1"
|
||||
lodash "~4.17.10"
|
||||
minimatch "~3.0.2"
|
||||
|
||||
globule@~0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5"
|
||||
|
@ -3244,6 +3283,15 @@ har-schema@^2.0.0:
|
|||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
|
||||
|
||||
har-validator@~2.0.6:
|
||||
version "2.0.6"
|
||||
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
|
||||
dependencies:
|
||||
chalk "^1.1.1"
|
||||
commander "^2.9.0"
|
||||
is-my-json-valid "^2.12.4"
|
||||
pinkie-promise "^2.0.0"
|
||||
|
||||
har-validator@~4.2.1:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
|
||||
|
@ -3505,6 +3553,10 @@ imurmurhash@^0.1.4:
|
|||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
|
||||
|
||||
in-publish@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51"
|
||||
|
||||
indent-string@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
|
||||
|
@ -3721,6 +3773,20 @@ is-glob@^3.1.0:
|
|||
dependencies:
|
||||
is-extglob "^2.1.0"
|
||||
|
||||
is-my-ip-valid@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824"
|
||||
|
||||
is-my-json-valid@^2.12.4:
|
||||
version "2.17.2"
|
||||
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz#6b2103a288e94ef3de5cf15d29dd85fc4b78d65c"
|
||||
dependencies:
|
||||
generate-function "^2.0.0"
|
||||
generate-object-property "^1.1.0"
|
||||
is-my-ip-valid "^1.0.0"
|
||||
jsonpointer "^4.0.0"
|
||||
xtend "^4.0.0"
|
||||
|
||||
is-negated-glob@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2"
|
||||
|
@ -3785,6 +3851,10 @@ is-promise@^2.1.0:
|
|||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
|
||||
|
||||
is-property@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
|
||||
|
||||
is-regex@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
|
||||
|
@ -4271,6 +4341,10 @@ jquery@^3.3.1:
|
|||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca"
|
||||
|
||||
js-base64@^2.1.8:
|
||||
version "2.4.5"
|
||||
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.5.tgz#e293cd3c7c82f070d700fc7a1ca0a2e69f101f92"
|
||||
|
||||
js-tokens@^3.0.0, js-tokens@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
|
||||
|
@ -4357,6 +4431,10 @@ jsonify@~0.0.0:
|
|||
version "0.0.0"
|
||||
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
|
||||
|
||||
jsonpointer@^4.0.0:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
|
||||
|
||||
jsprim@^1.2.2:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
|
||||
|
@ -4581,10 +4659,14 @@ lodash._root@^3.0.0:
|
|||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
|
||||
|
||||
lodash.assign@^4.0.3, lodash.assign@^4.0.6:
|
||||
lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
|
||||
|
||||
lodash.clonedeep@^4.3.2:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
|
||||
|
||||
lodash.create@3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7"
|
||||
|
@ -4653,6 +4735,10 @@ lodash.mean@^4.1.0:
|
|||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.mean/-/lodash.mean-4.1.0.tgz#bb985349628c0b9d7fe0f5fcc0011a2ee2c0dd7a"
|
||||
|
||||
lodash.mergewith@^4.6.0:
|
||||
version "4.6.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927"
|
||||
|
||||
lodash.orderby@4.6.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.orderby/-/lodash.orderby-4.6.0.tgz#e697f04ce5d78522f54d9338b32b81a3393e4eb3"
|
||||
|
@ -4728,6 +4814,10 @@ lodash@3.10.1, lodash@^3.10.0, lodash@^3.10.1:
|
|||
version "3.10.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
|
||||
|
||||
lodash@^4.0.0, lodash@~4.17.10:
|
||||
version "4.17.10"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
|
||||
|
||||
lodash@^4.0.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1:
|
||||
version "4.17.4"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
|
||||
|
@ -4826,7 +4916,7 @@ mem@^1.1.0:
|
|||
dependencies:
|
||||
mimic-fn "^1.0.0"
|
||||
|
||||
meow@^3.3.0:
|
||||
meow@^3.3.0, meow@^3.7.0:
|
||||
version "3.7.0"
|
||||
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
|
||||
dependencies:
|
||||
|
@ -4941,7 +5031,7 @@ minimatch@0.3:
|
|||
lru-cache "2"
|
||||
sigmund "~1.0.0"
|
||||
|
||||
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4:
|
||||
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||
dependencies:
|
||||
|
@ -5082,6 +5172,10 @@ mute-stream@0.0.6:
|
|||
version "0.0.6"
|
||||
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db"
|
||||
|
||||
nan@^2.10.0:
|
||||
version "2.10.0"
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
|
||||
|
||||
nan@^2.3.0:
|
||||
version "2.8.0"
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a"
|
||||
|
@ -5154,6 +5248,23 @@ node-fetch@^2.0.0, node-fetch@^2.1.2:
|
|||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5"
|
||||
|
||||
node-gyp@^3.3.1:
|
||||
version "3.7.0"
|
||||
resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.7.0.tgz#789478e8f6c45e277aa014f3e28f958f286f9203"
|
||||
dependencies:
|
||||
fstream "^1.0.0"
|
||||
glob "^7.0.3"
|
||||
graceful-fs "^4.1.2"
|
||||
mkdirp "^0.5.0"
|
||||
nopt "2 || 3"
|
||||
npmlog "0 || 1 || 2 || 3 || 4"
|
||||
osenv "0"
|
||||
request ">=2.9.0 <2.82.0"
|
||||
rimraf "2"
|
||||
semver "~5.3.0"
|
||||
tar "^2.0.0"
|
||||
which "1"
|
||||
|
||||
node-int64@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
|
||||
|
@ -5183,6 +5294,30 @@ node-pre-gyp@^0.6.39:
|
|||
tar "^2.2.1"
|
||||
tar-pack "^3.4.0"
|
||||
|
||||
node-sass@^4.9.0:
|
||||
version "4.9.0"
|
||||
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.0.tgz#d1b8aa855d98ed684d6848db929a20771cc2ae52"
|
||||
dependencies:
|
||||
async-foreach "^0.1.3"
|
||||
chalk "^1.1.1"
|
||||
cross-spawn "^3.0.0"
|
||||
gaze "^1.0.0"
|
||||
get-stdin "^4.0.1"
|
||||
glob "^7.0.3"
|
||||
in-publish "^2.0.0"
|
||||
lodash.assign "^4.2.0"
|
||||
lodash.clonedeep "^4.3.2"
|
||||
lodash.mergewith "^4.6.0"
|
||||
meow "^3.7.0"
|
||||
mkdirp "^0.5.1"
|
||||
nan "^2.10.0"
|
||||
node-gyp "^3.3.1"
|
||||
npmlog "^4.0.0"
|
||||
request "~2.79.0"
|
||||
sass-graph "^2.2.4"
|
||||
stdout-stream "^1.4.0"
|
||||
"true-case-path" "^1.0.2"
|
||||
|
||||
nodemailer@^4.6.4:
|
||||
version "4.6.4"
|
||||
resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-4.6.4.tgz#f0d72d0c6a6ec5f4369fa8f4bf5127a31baa2014"
|
||||
|
@ -5194,6 +5329,12 @@ nomnom@~1.6.2:
|
|||
colors "0.5.x"
|
||||
underscore "~1.4.4"
|
||||
|
||||
"nopt@2 || 3":
|
||||
version "3.0.6"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
|
||||
dependencies:
|
||||
abbrev "1"
|
||||
|
||||
nopt@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
|
||||
|
@ -5236,7 +5377,7 @@ npm-run-path@^2.0.0:
|
|||
dependencies:
|
||||
path-key "^2.0.0"
|
||||
|
||||
npmlog@^4.0.2:
|
||||
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
|
||||
dependencies:
|
||||
|
@ -5456,6 +5597,13 @@ os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2:
|
|||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
|
||||
|
||||
osenv@0:
|
||||
version "0.1.5"
|
||||
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
|
||||
dependencies:
|
||||
os-homedir "^1.0.0"
|
||||
os-tmpdir "^1.0.0"
|
||||
|
||||
osenv@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
|
||||
|
@ -5916,6 +6064,10 @@ qs@^6.5.1, qs@~6.5.1:
|
|||
version "6.5.1"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
|
||||
|
||||
qs@~6.3.0:
|
||||
version "6.3.2"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c"
|
||||
|
||||
qs@~6.4.0:
|
||||
version "6.4.0"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
|
||||
|
@ -6450,7 +6602,7 @@ request-promise-native@^1.0.3:
|
|||
stealthy-require "^1.1.0"
|
||||
tough-cookie ">=2.3.3"
|
||||
|
||||
request@2.81.0:
|
||||
request@2.81.0, "request@>=2.9.0 <2.82.0":
|
||||
version "2.81.0"
|
||||
resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
|
||||
dependencies:
|
||||
|
@ -6531,6 +6683,31 @@ request@^2.85.0:
|
|||
tunnel-agent "^0.6.0"
|
||||
uuid "^3.1.0"
|
||||
|
||||
request@~2.79.0:
|
||||
version "2.79.0"
|
||||
resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
|
||||
dependencies:
|
||||
aws-sign2 "~0.6.0"
|
||||
aws4 "^1.2.1"
|
||||
caseless "~0.11.0"
|
||||
combined-stream "~1.0.5"
|
||||
extend "~3.0.0"
|
||||
forever-agent "~0.6.1"
|
||||
form-data "~2.1.1"
|
||||
har-validator "~2.0.6"
|
||||
hawk "~3.1.3"
|
||||
http-signature "~1.1.0"
|
||||
is-typedarray "~1.0.0"
|
||||
isstream "~0.1.2"
|
||||
json-stringify-safe "~5.0.1"
|
||||
mime-types "~2.1.7"
|
||||
oauth-sign "~0.8.1"
|
||||
qs "~6.3.0"
|
||||
stringstream "~0.0.4"
|
||||
tough-cookie "~2.3.0"
|
||||
tunnel-agent "~0.4.1"
|
||||
uuid "^3.0.0"
|
||||
|
||||
require-directory@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
||||
|
@ -6692,6 +6869,15 @@ sane@^2.0.0:
|
|||
optionalDependencies:
|
||||
fsevents "^1.1.1"
|
||||
|
||||
sass-graph@^2.2.4:
|
||||
version "2.2.4"
|
||||
resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
|
||||
dependencies:
|
||||
glob "^7.0.0"
|
||||
lodash "^4.0.0"
|
||||
scss-tokenizer "^0.2.3"
|
||||
yargs "^7.0.0"
|
||||
|
||||
sax@0.5.3:
|
||||
version "0.5.3"
|
||||
resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.3.tgz#3773714a0d9157caaa7302971efa5c6dcda552d6"
|
||||
|
@ -6708,6 +6894,13 @@ scroll-into-view@^1.3.0:
|
|||
version "1.9.1"
|
||||
resolved "https://registry.yarnpkg.com/scroll-into-view/-/scroll-into-view-1.9.1.tgz#90c3b338422f9fddaebad90e6954790940dc9c1e"
|
||||
|
||||
scss-tokenizer@^0.2.3:
|
||||
version "0.2.3"
|
||||
resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
|
||||
dependencies:
|
||||
js-base64 "^2.1.8"
|
||||
source-map "^0.4.2"
|
||||
|
||||
select@^1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
|
||||
|
@ -6728,6 +6921,10 @@ semver@^5.4.1, semver@^5.5.0:
|
|||
version "5.5.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
|
||||
|
||||
semver@~5.3.0:
|
||||
version "5.3.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
|
||||
|
||||
sequencify@~0.0.7:
|
||||
version "0.0.7"
|
||||
resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c"
|
||||
|
@ -6921,7 +7118,7 @@ source-map@^0.1.38, source-map@~0.1.30, source-map@~0.1.33:
|
|||
dependencies:
|
||||
amdefine ">=0.0.4"
|
||||
|
||||
source-map@^0.4.4:
|
||||
source-map@^0.4.2, source-map@^0.4.4:
|
||||
version "0.4.4"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
|
||||
dependencies:
|
||||
|
@ -7028,6 +7225,12 @@ static-module@^1.1.0:
|
|||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
|
||||
|
||||
stdout-stream@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b"
|
||||
dependencies:
|
||||
readable-stream "^2.0.1"
|
||||
|
||||
stealthy-require@^1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
|
||||
|
@ -7285,7 +7488,7 @@ tar-stream@^1.1.2:
|
|||
readable-stream "^2.0.0"
|
||||
xtend "^4.0.0"
|
||||
|
||||
tar@^2.2.1:
|
||||
tar@^2.0.0, tar@^2.2.1:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
|
||||
dependencies:
|
||||
|
@ -7497,6 +7700,12 @@ trim-right@^1.0.1:
|
|||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
|
||||
|
||||
"true-case-path@^1.0.2":
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.2.tgz#7ec91130924766c7f573be3020c34f8fdfd00d62"
|
||||
dependencies:
|
||||
glob "^6.0.4"
|
||||
|
||||
tslib@^1.9.0:
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8"
|
||||
|
@ -7507,6 +7716,10 @@ tunnel-agent@^0.6.0:
|
|||
dependencies:
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
tunnel-agent@~0.4.1:
|
||||
version "0.4.3"
|
||||
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
|
||||
|
||||
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
|
||||
version "0.14.5"
|
||||
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
|
||||
|
@ -7868,10 +8081,20 @@ whatwg-url@^6.3.0:
|
|||
tr46 "^1.0.0"
|
||||
webidl-conversions "^4.0.1"
|
||||
|
||||
which-module@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
|
||||
|
||||
which-module@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
||||
|
||||
which@1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
||||
dependencies:
|
||||
isexe "^2.0.0"
|
||||
|
||||
which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
|
||||
|
@ -8012,6 +8235,12 @@ yargs-parser@^2.4.0:
|
|||
camelcase "^3.0.0"
|
||||
lodash.assign "^4.0.6"
|
||||
|
||||
yargs-parser@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
|
||||
dependencies:
|
||||
camelcase "^3.0.0"
|
||||
|
||||
yargs-parser@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950"
|
||||
|
@ -8053,6 +8282,24 @@ yargs@^10.0.3:
|
|||
y18n "^3.2.1"
|
||||
yargs-parser "^8.1.0"
|
||||
|
||||
yargs@^7.0.0:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
|
||||
dependencies:
|
||||
camelcase "^3.0.0"
|
||||
cliui "^3.2.0"
|
||||
decamelize "^1.1.1"
|
||||
get-caller-file "^1.0.1"
|
||||
os-locale "^1.4.0"
|
||||
read-pkg-up "^1.0.1"
|
||||
require-directory "^2.1.1"
|
||||
require-main-filename "^1.0.1"
|
||||
set-blocking "^2.0.0"
|
||||
string-width "^1.0.2"
|
||||
which-module "^1.0.0"
|
||||
y18n "^3.2.1"
|
||||
yargs-parser "^5.0.0"
|
||||
|
||||
yargs@~3.10.0:
|
||||
version "3.10.0"
|
||||
resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
|
||||
|
|
276
yarn.lock
276
yarn.lock
|
@ -905,6 +905,10 @@ async-each@^1.0.0:
|
|||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
|
||||
|
||||
async-foreach@^0.1.3:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
|
||||
|
||||
async-limiter@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
|
||||
|
@ -2328,6 +2332,10 @@ capture-stack-trace@^1.0.0:
|
|||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
|
||||
|
||||
caseless@~0.11.0:
|
||||
version "0.11.0"
|
||||
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
|
||||
|
||||
caseless@~0.12.0:
|
||||
version "0.12.0"
|
||||
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
|
||||
|
@ -2788,7 +2796,7 @@ combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5:
|
|||
dependencies:
|
||||
delayed-stream "~1.0.0"
|
||||
|
||||
commander@2, commander@^2.12.1:
|
||||
commander@2, commander@^2.12.1, commander@^2.9.0:
|
||||
version "2.15.1"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
|
||||
|
||||
|
@ -3071,6 +3079,13 @@ cross-spawn-async@^1.0.1:
|
|||
lru-cache "^2.6.5"
|
||||
which "^1.1.1"
|
||||
|
||||
cross-spawn@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
|
||||
dependencies:
|
||||
lru-cache "^4.0.1"
|
||||
which "^1.2.9"
|
||||
|
||||
cross-spawn@^4.0.2:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
|
||||
|
@ -5254,6 +5269,16 @@ gaze@^1.0.0:
|
|||
dependencies:
|
||||
globule "^1.0.0"
|
||||
|
||||
generate-function@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
|
||||
|
||||
generate-object-property@^1.1.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
|
||||
dependencies:
|
||||
is-property "^1.0.0"
|
||||
|
||||
get-caller-file@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
|
||||
|
@ -5401,7 +5426,7 @@ glob@5.0.13:
|
|||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@6.0.4, glob@^6.0.1:
|
||||
glob@6.0.4, glob@^6.0.1, glob@^6.0.4:
|
||||
version "6.0.4"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
|
||||
dependencies:
|
||||
|
@ -5441,7 +5466,7 @@ glob@^5.0.14, glob@^5.0.15, glob@~5.0.0, glob@~5.0.15:
|
|||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1:
|
||||
glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1:
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
|
||||
dependencies:
|
||||
|
@ -5831,6 +5856,15 @@ har-schema@^2.0.0:
|
|||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
|
||||
|
||||
har-validator@~2.0.6:
|
||||
version "2.0.6"
|
||||
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
|
||||
dependencies:
|
||||
chalk "^1.1.1"
|
||||
commander "^2.9.0"
|
||||
is-my-json-valid "^2.12.4"
|
||||
pinkie-promise "^2.0.0"
|
||||
|
||||
har-validator@~4.2.1:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
|
||||
|
@ -6240,6 +6274,10 @@ imurmurhash@^0.1.4:
|
|||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
|
||||
|
||||
in-publish@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51"
|
||||
|
||||
indent-string@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
|
||||
|
@ -6593,6 +6631,20 @@ is-installed-globally@^0.1.0:
|
|||
global-dirs "^0.1.0"
|
||||
is-path-inside "^1.0.0"
|
||||
|
||||
is-my-ip-valid@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824"
|
||||
|
||||
is-my-json-valid@^2.12.4:
|
||||
version "2.17.2"
|
||||
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz#6b2103a288e94ef3de5cf15d29dd85fc4b78d65c"
|
||||
dependencies:
|
||||
generate-function "^2.0.0"
|
||||
generate-object-property "^1.1.0"
|
||||
is-my-ip-valid "^1.0.0"
|
||||
jsonpointer "^4.0.0"
|
||||
xtend "^4.0.0"
|
||||
|
||||
is-natural-number@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8"
|
||||
|
@ -6687,6 +6739,10 @@ is-promise@~1:
|
|||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-1.0.1.tgz#31573761c057e33c2e91aab9e96da08cefbe76e5"
|
||||
|
||||
is-property@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
|
||||
|
||||
is-redirect@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
|
||||
|
@ -7331,6 +7387,10 @@ jquery@^3.1.1, jquery@^3.3.1:
|
|||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca"
|
||||
|
||||
js-base64@^2.1.8:
|
||||
version "2.4.5"
|
||||
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.5.tgz#e293cd3c7c82f070d700fc7a1ca0a2e69f101f92"
|
||||
|
||||
js-base64@^2.1.9:
|
||||
version "2.4.3"
|
||||
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582"
|
||||
|
@ -7509,6 +7569,10 @@ jsonparse@^1.1.0:
|
|||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
|
||||
|
||||
jsonpointer@^4.0.0:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
|
||||
|
||||
jsprim@^1.2.2:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
|
||||
|
@ -8039,6 +8103,10 @@ lodash._topath@^3.0.0:
|
|||
dependencies:
|
||||
lodash.isarray "^3.0.0"
|
||||
|
||||
lodash.assign@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
|
||||
|
||||
lodash.assignin@^4.0.9:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"
|
||||
|
@ -8051,6 +8119,10 @@ lodash.camelcase@^4.3.0:
|
|||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
|
||||
|
||||
lodash.clonedeep@^4.3.2:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
|
||||
|
||||
lodash.cond@^4.3.0:
|
||||
version "4.5.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5"
|
||||
|
@ -8160,6 +8232,10 @@ lodash.merge@^4.4.0:
|
|||
version "4.6.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54"
|
||||
|
||||
lodash.mergewith@^4.6.0:
|
||||
version "4.6.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927"
|
||||
|
||||
lodash.orderby@4.6.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.orderby/-/lodash.orderby-4.6.0.tgz#e697f04ce5d78522f54d9338b32b81a3393e4eb3"
|
||||
|
@ -8242,14 +8318,14 @@ lodash@4.17.4:
|
|||
version "4.17.4"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
|
||||
|
||||
lodash@^4.0.0, lodash@^4.17.10:
|
||||
version "4.17.10"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
|
||||
|
||||
lodash@^4.0.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.6.1, lodash@^4.8.2, lodash@~4.17.4, lodash@~4.17.5:
|
||||
version "4.17.5"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
|
||||
|
||||
lodash@^4.17.10:
|
||||
version "4.17.10"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
|
||||
|
||||
lodash@~4.3.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.3.0.tgz#efd9c4a6ec53f3b05412429915c3e4824e4d25a4"
|
||||
|
@ -8465,7 +8541,7 @@ memory-fs@^0.4.0, memory-fs@~0.4.1:
|
|||
errno "^0.1.3"
|
||||
readable-stream "^2.0.1"
|
||||
|
||||
meow@^3.3.0:
|
||||
meow@^3.3.0, meow@^3.7.0:
|
||||
version "3.7.0"
|
||||
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
|
||||
dependencies:
|
||||
|
@ -8753,7 +8829,7 @@ mv@~2:
|
|||
ncp "~2.0.0"
|
||||
rimraf "~2.4.0"
|
||||
|
||||
nan@^2.0.8, nan@^2.3.0:
|
||||
nan@^2.0.8, nan@^2.10.0, nan@^2.3.0:
|
||||
version "2.10.0"
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
|
||||
|
||||
|
@ -8864,6 +8940,24 @@ node-fetch@^2.0.0:
|
|||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.1.tgz#369ca70b82f50c86496104a6c776d274f4e4a2d4"
|
||||
|
||||
node-gyp@^3.3.1:
|
||||
version "3.6.2"
|
||||
resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60"
|
||||
dependencies:
|
||||
fstream "^1.0.0"
|
||||
glob "^7.0.3"
|
||||
graceful-fs "^4.1.2"
|
||||
minimatch "^3.0.2"
|
||||
mkdirp "^0.5.0"
|
||||
nopt "2 || 3"
|
||||
npmlog "0 || 1 || 2 || 3 || 4"
|
||||
osenv "0"
|
||||
request "2"
|
||||
rimraf "2"
|
||||
semver "~5.3.0"
|
||||
tar "^2.0.0"
|
||||
which "1"
|
||||
|
||||
node-int64@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
|
||||
|
@ -8921,6 +9015,30 @@ node-pre-gyp@^0.6.39:
|
|||
tar "^2.2.1"
|
||||
tar-pack "^3.4.0"
|
||||
|
||||
node-sass@^4.9.0:
|
||||
version "4.9.0"
|
||||
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.0.tgz#d1b8aa855d98ed684d6848db929a20771cc2ae52"
|
||||
dependencies:
|
||||
async-foreach "^0.1.3"
|
||||
chalk "^1.1.1"
|
||||
cross-spawn "^3.0.0"
|
||||
gaze "^1.0.0"
|
||||
get-stdin "^4.0.1"
|
||||
glob "^7.0.3"
|
||||
in-publish "^2.0.0"
|
||||
lodash.assign "^4.2.0"
|
||||
lodash.clonedeep "^4.3.2"
|
||||
lodash.mergewith "^4.6.0"
|
||||
meow "^3.7.0"
|
||||
mkdirp "^0.5.1"
|
||||
nan "^2.10.0"
|
||||
node-gyp "^3.3.1"
|
||||
npmlog "^4.0.0"
|
||||
request "~2.79.0"
|
||||
sass-graph "^2.2.4"
|
||||
stdout-stream "^1.4.0"
|
||||
"true-case-path" "^1.0.2"
|
||||
|
||||
nodemailer@^4.6.4:
|
||||
version "4.6.4"
|
||||
resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-4.6.4.tgz#f0d72d0c6a6ec5f4369fa8f4bf5127a31baa2014"
|
||||
|
@ -8932,7 +9050,7 @@ nomnom@~1.6.2:
|
|||
colors "0.5.x"
|
||||
underscore "~1.4.4"
|
||||
|
||||
nopt@3.x, nopt@~3.0.6:
|
||||
"nopt@2 || 3", nopt@3.x, nopt@~3.0.6:
|
||||
version "3.0.6"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
|
||||
dependencies:
|
||||
|
@ -9012,7 +9130,7 @@ npm-run-path@^2.0.0:
|
|||
dependencies:
|
||||
path-key "^2.0.0"
|
||||
|
||||
npmlog@^4.0.2:
|
||||
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
|
||||
dependencies:
|
||||
|
@ -9243,6 +9361,12 @@ os-homedir@^1.0.0, os-homedir@^1.0.1:
|
|||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
|
||||
|
||||
os-locale@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
|
||||
dependencies:
|
||||
lcid "^1.0.0"
|
||||
|
||||
os-locale@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
|
||||
|
@ -9255,7 +9379,7 @@ os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2:
|
|||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
|
||||
|
||||
osenv@^0.1.0, osenv@^0.1.4:
|
||||
osenv@0, osenv@^0.1.0, osenv@^0.1.4:
|
||||
version "0.1.5"
|
||||
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
|
||||
dependencies:
|
||||
|
@ -10182,6 +10306,10 @@ qs@~5.1.0:
|
|||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-5.1.0.tgz#4d932e5c7ea411cca76a312d39a606200fd50cd9"
|
||||
|
||||
qs@~6.3.0:
|
||||
version "6.3.2"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c"
|
||||
|
||||
qs@~6.4.0:
|
||||
version "6.4.0"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
|
||||
|
@ -10954,6 +11082,31 @@ request-promise-native@^1.0.5:
|
|||
stealthy-require "^1.1.0"
|
||||
tough-cookie ">=2.3.3"
|
||||
|
||||
request@2:
|
||||
version "2.87.0"
|
||||
resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e"
|
||||
dependencies:
|
||||
aws-sign2 "~0.7.0"
|
||||
aws4 "^1.6.0"
|
||||
caseless "~0.12.0"
|
||||
combined-stream "~1.0.5"
|
||||
extend "~3.0.1"
|
||||
forever-agent "~0.6.1"
|
||||
form-data "~2.3.1"
|
||||
har-validator "~5.0.3"
|
||||
http-signature "~1.2.0"
|
||||
is-typedarray "~1.0.0"
|
||||
isstream "~0.1.2"
|
||||
json-stringify-safe "~5.0.1"
|
||||
mime-types "~2.1.17"
|
||||
oauth-sign "~0.8.2"
|
||||
performance-now "^2.1.0"
|
||||
qs "~6.5.1"
|
||||
safe-buffer "^5.1.1"
|
||||
tough-cookie "~2.3.3"
|
||||
tunnel-agent "^0.6.0"
|
||||
uuid "^3.1.0"
|
||||
|
||||
request@2.81.0:
|
||||
version "2.81.0"
|
||||
resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
|
||||
|
@ -11008,6 +11161,31 @@ request@^2.55.0, request@^2.65.0, request@^2.83.0, request@^2.85.0:
|
|||
tunnel-agent "^0.6.0"
|
||||
uuid "^3.1.0"
|
||||
|
||||
request@~2.79.0:
|
||||
version "2.79.0"
|
||||
resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
|
||||
dependencies:
|
||||
aws-sign2 "~0.6.0"
|
||||
aws4 "^1.2.1"
|
||||
caseless "~0.11.0"
|
||||
combined-stream "~1.0.5"
|
||||
extend "~3.0.0"
|
||||
forever-agent "~0.6.1"
|
||||
form-data "~2.1.1"
|
||||
har-validator "~2.0.6"
|
||||
hawk "~3.1.3"
|
||||
http-signature "~1.1.0"
|
||||
is-typedarray "~1.0.0"
|
||||
isstream "~0.1.2"
|
||||
json-stringify-safe "~5.0.1"
|
||||
mime-types "~2.1.7"
|
||||
oauth-sign "~0.8.1"
|
||||
qs "~6.3.0"
|
||||
stringstream "~0.0.4"
|
||||
tough-cookie "~2.3.0"
|
||||
tunnel-agent "~0.4.1"
|
||||
uuid "^3.0.0"
|
||||
|
||||
require-directory@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
||||
|
@ -11278,6 +11456,15 @@ sao@^0.22.12:
|
|||
user-home "^2.0.0"
|
||||
yarn-install "^0.5.1"
|
||||
|
||||
sass-graph@^2.2.4:
|
||||
version "2.2.4"
|
||||
resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
|
||||
dependencies:
|
||||
glob "^7.0.0"
|
||||
lodash "^4.0.0"
|
||||
scss-tokenizer "^0.2.3"
|
||||
yargs "^7.0.0"
|
||||
|
||||
sax@>=0.6.0, sax@^1.1.4, sax@^1.2.4, sax@~1.2.1:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
|
||||
|
@ -11298,6 +11485,13 @@ scroll-into-view@^1.3.0:
|
|||
version "1.9.1"
|
||||
resolved "https://registry.yarnpkg.com/scroll-into-view/-/scroll-into-view-1.9.1.tgz#90c3b338422f9fddaebad90e6954790940dc9c1e"
|
||||
|
||||
scss-tokenizer@^0.2.3:
|
||||
version "0.2.3"
|
||||
resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
|
||||
dependencies:
|
||||
js-base64 "^2.1.8"
|
||||
source-map "^0.4.2"
|
||||
|
||||
seek-bzip@^1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc"
|
||||
|
@ -11326,6 +11520,10 @@ semver@~4.3.3:
|
|||
version "4.3.6"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
|
||||
|
||||
semver@~5.3.0:
|
||||
version "5.3.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
|
||||
|
||||
set-blocking@^2.0.0, set-blocking@~2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
|
||||
|
@ -11618,7 +11816,7 @@ source-map@0.1.32:
|
|||
dependencies:
|
||||
amdefine ">=0.0.4"
|
||||
|
||||
source-map@0.4.x, source-map@^0.4.4:
|
||||
source-map@0.4.x, source-map@^0.4.2, source-map@^0.4.4:
|
||||
version "0.4.4"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
|
||||
dependencies:
|
||||
|
@ -11822,6 +12020,12 @@ statuses@~1.3.1:
|
|||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
|
||||
|
||||
stdout-stream@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b"
|
||||
dependencies:
|
||||
readable-stream "^2.0.1"
|
||||
|
||||
stealthy-require@^1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
|
||||
|
@ -12191,7 +12395,7 @@ tar@2.2.0:
|
|||
fstream "^1.0.2"
|
||||
inherits "2"
|
||||
|
||||
tar@^2.2.1:
|
||||
tar@^2.0.0, tar@^2.2.1:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
|
||||
dependencies:
|
||||
|
@ -12478,6 +12682,12 @@ trough@^1.0.0:
|
|||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.1.tgz#a9fd8b0394b0ae8fff82e0633a0a36ccad5b5f86"
|
||||
|
||||
"true-case-path@^1.0.2":
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.2.tgz#7ec91130924766c7f573be3020c34f8fdfd00d62"
|
||||
dependencies:
|
||||
glob "^6.0.4"
|
||||
|
||||
trunc-html@1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/trunc-html/-/trunc-html-1.0.2.tgz#6e631ce8ec43e415a5e9f6a7e770572ec026f22b"
|
||||
|
@ -12585,6 +12795,10 @@ tunnel-agent@^0.6.0:
|
|||
dependencies:
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
tunnel-agent@~0.4.1:
|
||||
version "0.4.3"
|
||||
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
|
||||
|
||||
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
|
||||
version "0.14.5"
|
||||
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
|
||||
|
@ -13508,10 +13722,20 @@ whet.extend@~0.9.9:
|
|||
version "0.9.9"
|
||||
resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
|
||||
|
||||
which-module@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
|
||||
|
||||
which-module@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
||||
|
||||
which@1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
||||
dependencies:
|
||||
isexe "^2.0.0"
|
||||
|
||||
which@^1.1.1, which@^1.2.1, which@^1.2.12, which@^1.2.9, which@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
|
||||
|
@ -13736,6 +13960,12 @@ yallist@^2.0.0, yallist@^2.1.2:
|
|||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
|
||||
|
||||
yargs-parser@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
|
||||
dependencies:
|
||||
camelcase "^3.0.0"
|
||||
|
||||
yargs-parser@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
|
||||
|
@ -13788,6 +14018,24 @@ yargs@^11.0.0:
|
|||
y18n "^3.2.1"
|
||||
yargs-parser "^9.0.2"
|
||||
|
||||
yargs@^7.0.0:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
|
||||
dependencies:
|
||||
camelcase "^3.0.0"
|
||||
cliui "^3.2.0"
|
||||
decamelize "^1.1.1"
|
||||
get-caller-file "^1.0.1"
|
||||
os-locale "^1.4.0"
|
||||
read-pkg-up "^1.0.1"
|
||||
require-directory "^2.1.1"
|
||||
require-main-filename "^1.0.1"
|
||||
set-blocking "^2.0.0"
|
||||
string-width "^1.0.2"
|
||||
which-module "^1.0.0"
|
||||
y18n "^3.2.1"
|
||||
yargs-parser "^5.0.0"
|
||||
|
||||
yargs@^8.0.2:
|
||||
version "8.0.2"
|
||||
resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue