mirror of
https://github.com/strapi/strapi.git
synced 2025-10-14 09:34:32 +00:00
Merge pull request #3260 from strapi/tech/strapi-new-improvments
strapi new improvments
This commit is contained in:
commit
91fdc44bcc
@ -53,7 +53,6 @@
|
||||
}
|
||||
],
|
||||
"strapi": {
|
||||
"packageManager": "npm",
|
||||
"uuid": "8917e89f-c8ff-4f80-b963-e3d568088422"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -25,7 +25,6 @@
|
||||
"chalk": "^2.4.2",
|
||||
"classnames": "^2.2.6",
|
||||
"cross-env": "^5.0.5",
|
||||
"crypto": "^1.0.1",
|
||||
"css-loader": "^2.1.1",
|
||||
"duplicate-package-checker-webpack-plugin": "^3.0.0",
|
||||
"file-loader": "^3.0.1",
|
||||
|
@ -7,8 +7,6 @@
|
||||
// Public node modules.
|
||||
const _ = require('lodash');
|
||||
|
||||
const { packageManager } = require('strapi-utils');
|
||||
|
||||
/**
|
||||
* Expose main package JSON of the application
|
||||
* with basic info, dependencies, etc.
|
||||
@ -16,8 +14,6 @@ const { packageManager } = require('strapi-utils');
|
||||
|
||||
module.exports = scope => {
|
||||
const cliPkg = scope.strapiPackageJSON || {};
|
||||
// Store the package manager info into the package.json
|
||||
const pkgManager = packageManager.isStrapiInstalledWithNPM() ? 'npm' : 'yarn';
|
||||
|
||||
// Let us install additional dependencies on a specific version.
|
||||
// Ex: it allows us to install the right version of knex.
|
||||
@ -38,7 +34,6 @@ module.exports = scope => {
|
||||
'private': true,
|
||||
'version': '0.1.0',
|
||||
'description': 'A Strapi application.',
|
||||
'main': './server.js',
|
||||
'scripts': {
|
||||
'develop': 'strapi develop',
|
||||
'start': 'strapi start',
|
||||
@ -73,7 +68,6 @@ module.exports = scope => {
|
||||
'url': scope.website || ''
|
||||
}],
|
||||
'strapi': {
|
||||
'packageManager': pkgManager,
|
||||
'uuid': scope.uuid
|
||||
},
|
||||
'engines': {
|
||||
|
@ -13,16 +13,14 @@ const ora = require('ora');
|
||||
const execa = require('execa');
|
||||
|
||||
// Logger.
|
||||
const { packageManager } = require('strapi-utils');
|
||||
const trackSuccess = require('./success');
|
||||
|
||||
const installArguments = ['install', '--production', '--no-optional'];
|
||||
const runInstall = cwd => {
|
||||
if (packageManager.isStrapiInstalledWithNPM()) {
|
||||
return execa('npm', installArguments, { cwd });
|
||||
const runInstall = ({ rootPath, hasYarn }) => {
|
||||
if (hasYarn) {
|
||||
return execa('yarnpkg', installArguments, { cwd: rootPath });
|
||||
}
|
||||
|
||||
return execa('yarn', installArguments, { cwd });
|
||||
return execa('npm', installArguments, { cwd: rootPath });
|
||||
};
|
||||
|
||||
module.exports = async (scope, cb) => {
|
||||
@ -41,7 +39,7 @@ module.exports = async (scope, cb) => {
|
||||
loader.start('Installing dependencies ...');
|
||||
|
||||
try {
|
||||
await runInstall(scope.rootPath);
|
||||
await runInstall(scope);
|
||||
loader.succeed();
|
||||
} catch (err) {
|
||||
loader.fail();
|
||||
|
@ -19,9 +19,18 @@ const uuid = require('uuid/v4');
|
||||
const rimraf = require('rimraf');
|
||||
|
||||
// Logger.
|
||||
const { packageManager } = require('strapi-utils');
|
||||
const trackSuccess = require('./success');
|
||||
|
||||
function hasYarn() {
|
||||
try {
|
||||
const { code } = execa.shellSync('yarnpkg --version');
|
||||
if (code === 0) return true;
|
||||
return false;
|
||||
} catch (err) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This `before` function is run before generating targets.
|
||||
* Validate, configure defaults, get extra dependencies, etc.
|
||||
@ -45,6 +54,7 @@ module.exports = (scope, cb) => {
|
||||
year: new Date().getFullYear(),
|
||||
license: 'MIT',
|
||||
database: {},
|
||||
hasYarn: hasYarn(),
|
||||
additionalsDependencies: [
|
||||
'strapi-plugin-settings-manager',
|
||||
'strapi-plugin-content-type-builder',
|
||||
@ -181,192 +191,6 @@ module.exports = (scope, cb) => {
|
||||
|
||||
scope.client = answers.client;
|
||||
|
||||
const asyncFn = [
|
||||
new Promise(async resolve => {
|
||||
const isMongo = scope.client.database === 'mongo';
|
||||
const isSQLite = scope.database.settings.client === 'sqlite';
|
||||
|
||||
let answers = await inquirer.prompt([
|
||||
{
|
||||
when: !hasDatabaseConfig && !isSQLite,
|
||||
type: 'input',
|
||||
name: 'database',
|
||||
message: 'Database name:',
|
||||
default: _.get(scope.database, 'database', scope.name),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && !isSQLite,
|
||||
type: 'input',
|
||||
name: 'host',
|
||||
message: 'Host:',
|
||||
default: _.get(scope.database, 'host', '127.0.0.1'),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && isMongo,
|
||||
type: 'boolean',
|
||||
name: 'srv',
|
||||
message: '+srv connection:',
|
||||
default: _.get(scope.database, 'srv', false),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && !isSQLite,
|
||||
type: 'input',
|
||||
name: 'port',
|
||||
message: `Port${
|
||||
isMongo ? ' (It will be ignored if you enable +srv)' : ''
|
||||
}:`,
|
||||
default: answers => {
|
||||
// eslint-disable-line no-unused-vars
|
||||
if (_.get(scope.database, 'port')) {
|
||||
return scope.database.port;
|
||||
}
|
||||
|
||||
const ports = {
|
||||
mongo: 27017,
|
||||
postgres: 5432,
|
||||
mysql: 3306,
|
||||
};
|
||||
|
||||
return ports[scope.client.database];
|
||||
},
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && !isSQLite,
|
||||
type: 'input',
|
||||
name: 'username',
|
||||
message: 'Username:',
|
||||
default: _.get(scope.database, 'username', undefined),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && !isSQLite,
|
||||
type: 'password',
|
||||
name: 'password',
|
||||
message: 'Password:',
|
||||
mask: '*',
|
||||
default: _.get(scope.database, 'password', undefined),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && isMongo,
|
||||
type: 'input',
|
||||
name: 'authenticationDatabase',
|
||||
message: 'Authentication database (Maybe "admin" or blank):',
|
||||
default: _.get(scope.database, 'authenticationDatabase', undefined),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && !isSQLite,
|
||||
type: 'boolean',
|
||||
name: 'ssl',
|
||||
message: 'Enable SSL connection:',
|
||||
default: _.get(scope.database, 'ssl', false),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && isSQLite && !isQuick,
|
||||
type: 'input',
|
||||
name: 'filename',
|
||||
message: 'Filename:',
|
||||
default: () => '.tmp/data.db',
|
||||
},
|
||||
]);
|
||||
|
||||
if (isQuick) {
|
||||
answers.filename = '.tmp/data.db';
|
||||
}
|
||||
|
||||
if (hasDatabaseConfig) {
|
||||
answers = _.merge(
|
||||
_.omit(scope.database.settings, ['client']),
|
||||
scope.database.options
|
||||
);
|
||||
}
|
||||
|
||||
scope.database.settings.host = answers.host;
|
||||
scope.database.settings.port = answers.port;
|
||||
scope.database.settings.database = answers.database;
|
||||
scope.database.settings.username = answers.username;
|
||||
scope.database.settings.password = answers.password;
|
||||
|
||||
if (answers.filename) {
|
||||
scope.database.settings.filename = answers.filename;
|
||||
}
|
||||
if (answers.srv) {
|
||||
scope.database.settings.srv = _.toString(answers.srv) === 'true';
|
||||
}
|
||||
if (answers.authenticationDatabase) {
|
||||
scope.database.options.authenticationDatabase =
|
||||
answers.authenticationDatabase;
|
||||
}
|
||||
|
||||
// SQLite requirements.
|
||||
if (isSQLite) {
|
||||
// Necessary for SQLite configuration (https://knexjs.org/#Builder-insert).
|
||||
scope.database.options = {
|
||||
useNullAsDefault: true,
|
||||
};
|
||||
}
|
||||
|
||||
if (answers.ssl && scope.client.database === 'mongo') {
|
||||
scope.database.options.ssl = _.toString(answers.ssl) === 'true';
|
||||
} else if (answers.ssl) {
|
||||
scope.database.settings.ssl = _.toString(answers.ssl) === 'true';
|
||||
}
|
||||
|
||||
console.log();
|
||||
if (isQuick) {
|
||||
console.log('✅ Connected to the database');
|
||||
} else {
|
||||
console.log(
|
||||
'⏳ Testing database connection...\r\nIt might take a minute, please have a coffee ☕️'
|
||||
);
|
||||
}
|
||||
|
||||
resolve();
|
||||
}),
|
||||
new Promise(resolve => {
|
||||
const isStrapiInstalledWithNPM = packageManager.isStrapiInstalledWithNPM();
|
||||
let packageCmd = packageManager.commands(
|
||||
'install --prefix',
|
||||
scope.tmpPath
|
||||
);
|
||||
// Manually create the temp directory for yarn
|
||||
if (!isStrapiInstalledWithNPM) {
|
||||
fs.ensureDirSync(scope.tmpPath);
|
||||
}
|
||||
|
||||
let cmd = `${packageCmd} ${scope.client.connector}@${
|
||||
scope.strapiPackageJSON.version
|
||||
}`;
|
||||
|
||||
if (scope.client.module) {
|
||||
cmd += ` ${scope.client.module}`;
|
||||
}
|
||||
|
||||
if (scope.client.connector === 'strapi-hook-bookshelf') {
|
||||
cmd += ` strapi-hook-knex@${scope.strapiPackageJSON.version}`;
|
||||
scope.additionalsDependencies = scope.additionalsDependencies.concat([
|
||||
'strapi-hook-knex',
|
||||
'knex',
|
||||
]);
|
||||
}
|
||||
|
||||
if (isQuick) {
|
||||
scope.client.version = 'latest';
|
||||
return resolve();
|
||||
}
|
||||
|
||||
execa.shell(cmd).then(() => {
|
||||
if (scope.client.module) {
|
||||
const lock = require(path.join(
|
||||
`${scope.tmpPath}`,
|
||||
'/node_modules/',
|
||||
`${scope.client.module}/package.json`
|
||||
));
|
||||
scope.client.version = lock.version;
|
||||
}
|
||||
resolve();
|
||||
});
|
||||
}),
|
||||
];
|
||||
|
||||
const connectedToTheDatabase = (withMessage = true) => {
|
||||
if (withMessage) {
|
||||
console.log();
|
||||
@ -386,35 +210,224 @@ module.exports = (scope, cb) => {
|
||||
cb.success();
|
||||
};
|
||||
|
||||
Promise.all(asyncFn).then(() => {
|
||||
// Bypass real connection test.
|
||||
if (isQuick) {
|
||||
return connectedToTheDatabase(false);
|
||||
}
|
||||
Promise.all([
|
||||
handleCustomDatabase({ scope, isQuick, hasDatabaseConfig }),
|
||||
installDatabaseTestingDep({ scope, isQuick }),
|
||||
])
|
||||
.then(() => {
|
||||
// Bypass real connection test.
|
||||
if (isQuick) {
|
||||
return connectedToTheDatabase(false);
|
||||
}
|
||||
|
||||
try {
|
||||
const connectivityFile = path.join(
|
||||
scope.tmpPath,
|
||||
'node_modules',
|
||||
scope.client.connector,
|
||||
'lib',
|
||||
'utils',
|
||||
'connectivity.js'
|
||||
);
|
||||
try {
|
||||
const connectivityFile = path.join(
|
||||
scope.tmpPath,
|
||||
'node_modules',
|
||||
scope.client.connector,
|
||||
'lib',
|
||||
'utils',
|
||||
'connectivity.js'
|
||||
);
|
||||
|
||||
require(connectivityFile)(
|
||||
scope,
|
||||
connectedToTheDatabase,
|
||||
connectionValidation
|
||||
);
|
||||
} catch (err) {
|
||||
trackSuccess('didNotConnectDatabase', scope, err);
|
||||
require(connectivityFile)(
|
||||
scope,
|
||||
connectedToTheDatabase,
|
||||
connectionValidation
|
||||
);
|
||||
} catch (err) {
|
||||
trackSuccess('didNotConnectDatabase', scope, err);
|
||||
console.log(err);
|
||||
rimraf.sync(scope.tmpPath);
|
||||
cb.error();
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
rimraf.sync(scope.tmpPath);
|
||||
cb.error();
|
||||
}
|
||||
});
|
||||
cb.error(err);
|
||||
});
|
||||
};
|
||||
|
||||
connectionValidation();
|
||||
};
|
||||
|
||||
async function handleCustomDatabase({ scope, hasDatabaseConfig, isQuick }) {
|
||||
const isMongo = scope.client.database === 'mongo';
|
||||
const isSQLite = scope.database.settings.client === 'sqlite';
|
||||
|
||||
let answers = await inquirer.prompt([
|
||||
{
|
||||
when: !hasDatabaseConfig && !isSQLite,
|
||||
type: 'input',
|
||||
name: 'database',
|
||||
message: 'Database name:',
|
||||
default: _.get(scope.database, 'database', scope.name),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && !isSQLite,
|
||||
type: 'input',
|
||||
name: 'host',
|
||||
message: 'Host:',
|
||||
default: _.get(scope.database, 'host', '127.0.0.1'),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && isMongo,
|
||||
type: 'boolean',
|
||||
name: 'srv',
|
||||
message: '+srv connection:',
|
||||
default: _.get(scope.database, 'srv', false),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && !isSQLite,
|
||||
type: 'input',
|
||||
name: 'port',
|
||||
message: `Port${
|
||||
isMongo ? ' (It will be ignored if you enable +srv)' : ''
|
||||
}:`,
|
||||
default: answers => {
|
||||
// eslint-disable-line no-unused-vars
|
||||
if (_.get(scope.database, 'port')) {
|
||||
return scope.database.port;
|
||||
}
|
||||
|
||||
const ports = {
|
||||
mongo: 27017,
|
||||
postgres: 5432,
|
||||
mysql: 3306,
|
||||
};
|
||||
|
||||
return ports[scope.client.database];
|
||||
},
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && !isSQLite,
|
||||
type: 'input',
|
||||
name: 'username',
|
||||
message: 'Username:',
|
||||
default: _.get(scope.database, 'username', undefined),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && !isSQLite,
|
||||
type: 'password',
|
||||
name: 'password',
|
||||
message: 'Password:',
|
||||
mask: '*',
|
||||
default: _.get(scope.database, 'password', undefined),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && isMongo,
|
||||
type: 'input',
|
||||
name: 'authenticationDatabase',
|
||||
message: 'Authentication database (Maybe "admin" or blank):',
|
||||
default: _.get(scope.database, 'authenticationDatabase', undefined),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && !isSQLite,
|
||||
type: 'boolean',
|
||||
name: 'ssl',
|
||||
message: 'Enable SSL connection:',
|
||||
default: _.get(scope.database, 'ssl', false),
|
||||
},
|
||||
{
|
||||
when: !hasDatabaseConfig && isSQLite && !isQuick,
|
||||
type: 'input',
|
||||
name: 'filename',
|
||||
message: 'Filename:',
|
||||
default: () => '.tmp/data.db',
|
||||
},
|
||||
]);
|
||||
|
||||
if (isQuick) {
|
||||
answers.filename = '.tmp/data.db';
|
||||
}
|
||||
|
||||
if (hasDatabaseConfig) {
|
||||
answers = _.merge(
|
||||
_.omit(scope.database.settings, ['client']),
|
||||
scope.database.options
|
||||
);
|
||||
}
|
||||
|
||||
scope.database.settings.host = answers.host;
|
||||
scope.database.settings.port = answers.port;
|
||||
scope.database.settings.database = answers.database;
|
||||
scope.database.settings.username = answers.username;
|
||||
scope.database.settings.password = answers.password;
|
||||
|
||||
if (answers.filename) {
|
||||
scope.database.settings.filename = answers.filename;
|
||||
}
|
||||
if (answers.srv) {
|
||||
scope.database.settings.srv = _.toString(answers.srv) === 'true';
|
||||
}
|
||||
if (answers.authenticationDatabase) {
|
||||
scope.database.options.authenticationDatabase =
|
||||
answers.authenticationDatabase;
|
||||
}
|
||||
|
||||
// SQLite requirements.
|
||||
if (isSQLite) {
|
||||
// Necessary for SQLite configuration (https://knexjs.org/#Builder-insert).
|
||||
scope.database.options = {
|
||||
useNullAsDefault: true,
|
||||
};
|
||||
}
|
||||
|
||||
if (answers.ssl && scope.client.database === 'mongo') {
|
||||
scope.database.options.ssl = _.toString(answers.ssl) === 'true';
|
||||
} else if (answers.ssl) {
|
||||
scope.database.settings.ssl = _.toString(answers.ssl) === 'true';
|
||||
}
|
||||
|
||||
console.log();
|
||||
if (isQuick) {
|
||||
console.log('✅ Connected to the database');
|
||||
} else {
|
||||
console.log(
|
||||
'⏳ Testing database connection...\r\nIt might take a minute, please have a coffee ☕️'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
async function installDatabaseTestingDep({ scope, isQuick }) {
|
||||
let packageCmd = scope.hasYarn
|
||||
? `yarnpkg --cwd ${scope.tmpPath} add`
|
||||
: `npm install --prefix ${scope.tmpPath}`;
|
||||
|
||||
// Manually create the temp directory for yarn
|
||||
if (scope.hasYarn) {
|
||||
await fs.ensureDir(scope.tmpPath);
|
||||
}
|
||||
|
||||
let cmd = `${packageCmd} ${scope.client.connector}@${
|
||||
scope.strapiPackageJSON.version
|
||||
}`;
|
||||
|
||||
if (scope.client.module) {
|
||||
cmd += ` ${scope.client.module}`;
|
||||
}
|
||||
|
||||
if (scope.client.connector === 'strapi-hook-bookshelf') {
|
||||
cmd += ` strapi-hook-knex@${scope.strapiPackageJSON.version}`;
|
||||
scope.additionalsDependencies = scope.additionalsDependencies.concat([
|
||||
'strapi-hook-knex',
|
||||
'knex',
|
||||
]);
|
||||
}
|
||||
|
||||
if (isQuick) {
|
||||
scope.client.version = 'latest';
|
||||
return;
|
||||
}
|
||||
|
||||
await execa.shell(cmd);
|
||||
|
||||
if (scope.client.module) {
|
||||
const lock = require(path.join(
|
||||
`${scope.tmpPath}`,
|
||||
'/node_modules/',
|
||||
`${scope.client.module}/package.json`
|
||||
));
|
||||
scope.client.version = lock.version;
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,6 @@
|
||||
"ora": "^2.1.0",
|
||||
"request": "^2.88.0",
|
||||
"rimraf": "^2.6.3",
|
||||
"strapi-utils": "3.0.0-alpha.26.2",
|
||||
"uuid": "^3.1.0"
|
||||
},
|
||||
"scripts": {
|
||||
|
@ -1,45 +0,0 @@
|
||||
{
|
||||
"name": "strapi-lint",
|
||||
"version": "3.0.0-alpha.26.2",
|
||||
"description": "Strapi eslint and prettier configurations",
|
||||
"directories": {
|
||||
"lib": "lib"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"no tests yet\""
|
||||
},
|
||||
"author": {
|
||||
"email": "hi@strapi.io",
|
||||
"name": "Strapi team",
|
||||
"url": "http://strapi.io"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.0.0",
|
||||
"npm": ">= 6.0.0"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "Strapi team",
|
||||
"email": "hi@strapi.io",
|
||||
"url": "http://strapi.io"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"eslint": "^4.19.1",
|
||||
"eslint-config-airbnb": "^16.1.0",
|
||||
"eslint-config-airbnb-base": "^12.1.0",
|
||||
"eslint-config-prettier": "^2.9.0",
|
||||
"eslint-import-resolver-webpack": "^0.9.0",
|
||||
"eslint-plugin-import": "^2.11.0",
|
||||
"eslint-plugin-jsx-a11y": "^6.0.3",
|
||||
"eslint-plugin-react": "^7.7.0",
|
||||
"eslint-plugin-redux-saga": "^0.8.0",
|
||||
"webpack": "^4.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"babel-eslint": "^8.2.3",
|
||||
"prettier": "^1.12.1",
|
||||
"shelljs": "^0.7.8"
|
||||
}
|
||||
}
|
@ -16,7 +16,6 @@ module.exports = {
|
||||
knex: require('./knex'),
|
||||
logger: require('./logger'),
|
||||
models: require('./models'),
|
||||
packageManager: require('./packageManager'),
|
||||
policy: require('./policy'),
|
||||
regex: require('./regex'),
|
||||
templateConfiguration: require('./templateConfiguration'),
|
||||
|
@ -1,76 +0,0 @@
|
||||
const fs = require('fs');
|
||||
const shell = require('shelljs');
|
||||
const { includes } = require('lodash');
|
||||
|
||||
// let isStrapiInstalledWithNPM = true;
|
||||
// let skipCheck = false;
|
||||
|
||||
const watcher = (cmd) => {
|
||||
const data = shell.exec(cmd, {
|
||||
silent: true,
|
||||
});
|
||||
|
||||
if (includes(data.stderr, 'command not found') && data.code !== 0) {
|
||||
throw new Error('Command not found');
|
||||
}
|
||||
|
||||
return data.stdout.toString();
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
isStrapiInstalledWithNPM: () => {
|
||||
let isNPM = true;
|
||||
let skipCheck = false;
|
||||
|
||||
// Check if we are in development mode (working with the monorepo)
|
||||
// So we don't run `npm -g ls` which takes time
|
||||
if (process.argv.indexOf('new') !== -1 && process.argv.indexOf('--dev') !== -1) {
|
||||
skipCheck = true;
|
||||
}
|
||||
|
||||
if (!skipCheck) {
|
||||
try {
|
||||
// Retrieve all the packages installed with NPM
|
||||
const npmPath = watcher('npm root -g');
|
||||
|
||||
const data = fs.readdirSync(npmPath.trim());
|
||||
|
||||
// Check if strapi is installed with NPM
|
||||
isNPM = includes(data, 'strapi');
|
||||
|
||||
if (isNPM) {
|
||||
return isNPM;
|
||||
}
|
||||
|
||||
try {
|
||||
const yarnData = watcher('yarn global list');
|
||||
isNPM = !includes(yarnData, 'strapi');
|
||||
} catch(err) {
|
||||
isNPM = true;
|
||||
}
|
||||
} catch(err) {
|
||||
// If NPM is not installed strapi is installed with Yarn
|
||||
isNPM = false;
|
||||
}
|
||||
}
|
||||
|
||||
return isNPM;
|
||||
},
|
||||
|
||||
commands: function (cmdType, path = '') {
|
||||
const isNPM = this.isStrapiInstalledWithNPM();
|
||||
|
||||
switch(cmdType) {
|
||||
case 'install --prefix':
|
||||
return isNPM ? `npm install --prefix ${path}` : `yarn --cwd ${path} add`;
|
||||
case 'root -g':
|
||||
return isNPM ? 'npm root -g' : 'yarn global dir';
|
||||
case 'install global':
|
||||
return isNPM ? 'npm install' : 'yarn install';
|
||||
case 'install package':
|
||||
return isNPM ? 'npm install' : 'yarn add';
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
};
|
@ -79,7 +79,7 @@ program
|
||||
|
||||
// `$ strapi new`
|
||||
program
|
||||
.command('new')
|
||||
.command('new [name]')
|
||||
.option('--debug', 'Display database connection error')
|
||||
.option('--quickstart', 'Quickstart app creation')
|
||||
.option('--dbclient <dbclient>', 'Database client')
|
||||
|
@ -1,96 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Module dependencies
|
||||
*/
|
||||
|
||||
// Node.js core
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
|
||||
// Public node modules.
|
||||
const _ = require('lodash');
|
||||
const shell = require('shelljs');
|
||||
|
||||
// Define files/dir paths
|
||||
const pluginsDirPath = path.join(process.cwd(), 'plugins');
|
||||
const adminDirPath = path.join(process.cwd(), 'admin');
|
||||
|
||||
let packageManager;
|
||||
try {
|
||||
packageManager = require(path.resolve(process.cwd(), 'package.json')).strapi.packageManager;
|
||||
} catch (error) {
|
||||
packageManager = 'npm';
|
||||
}
|
||||
|
||||
const installCmd = packageManager === 'yarn' ? 'yarn install --production --ignore-scripts' : 'npm install --prod --ignore-scripts';
|
||||
|
||||
/* eslint-disable no-console */
|
||||
|
||||
// Install admin dependencies
|
||||
console.log(`🔸 Administration Panel`);
|
||||
console.log('📦 Installing packages...');
|
||||
|
||||
try {
|
||||
// Check if path is existing.
|
||||
fs.accessSync(adminDirPath, fs.constants.R_OK | fs.constants.W_OK);
|
||||
|
||||
shell.cd(adminDirPath);
|
||||
const install = shell.exec(installCmd, {silent: true});
|
||||
|
||||
if (install.stderr && install.code !== 0) {
|
||||
console.error(install.stderr);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log('✅ Success');
|
||||
console.log('');
|
||||
} catch (e) {
|
||||
if (e.code === 'ENOENT') {
|
||||
console.log('✅ Success');
|
||||
console.log('');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(e);
|
||||
}
|
||||
|
||||
try {
|
||||
// Check if path is existing.
|
||||
fs.accessSync(pluginsDirPath, fs.constants.R_OK | fs.constants.W_OK);
|
||||
|
||||
const plugins = fs.readdirSync(pluginsDirPath).filter(x => x[0] !== '.');
|
||||
|
||||
// Install dependencies for each plugins
|
||||
_.forEach(plugins, plugin => {
|
||||
const pluginPath = path.join(pluginsDirPath, plugin);
|
||||
|
||||
console.log(`🔸 Plugin - ${_.upperFirst(plugin)}`);
|
||||
console.log('📦 Installing packages...');
|
||||
|
||||
try {
|
||||
shell.cd(pluginPath);
|
||||
const install = shell.exec(installCmd, {silent: true});
|
||||
|
||||
if (install.stderr && install.code !== 0) {
|
||||
console.error(install.stderr);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log('✅ Success');
|
||||
console.log('');
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
} catch (e) {
|
||||
if (e.code === 'ENOENT') {
|
||||
console.log('✅ Success');
|
||||
console.log('');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(e);
|
||||
}
|
289
yarn.lock
289
yarn.lock
@ -14,13 +14,6 @@
|
||||
resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.6.tgz#022209e28a2b547dcde15b219f0c50f47aa5beb3"
|
||||
integrity sha512-lqK94b+caNtmKFs5oUVXlSpN3sm5IXZ+KfhMxOtr0LR2SqErzkoJilitjDvJ1WbjHlxLI7WtCjRmOLdOGJqtMQ==
|
||||
|
||||
"@babel/code-frame@7.0.0-beta.44":
|
||||
version "7.0.0-beta.44"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz#2a02643368de80916162be70865c97774f3adbd9"
|
||||
integrity sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==
|
||||
dependencies:
|
||||
"@babel/highlight" "7.0.0-beta.44"
|
||||
|
||||
"@babel/code-frame@^7.0.0":
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
|
||||
@ -48,17 +41,6 @@
|
||||
semver "^5.4.1"
|
||||
source-map "^0.5.0"
|
||||
|
||||
"@babel/generator@7.0.0-beta.44":
|
||||
version "7.0.0-beta.44"
|
||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.44.tgz#c7e67b9b5284afcf69b309b50d7d37f3e5033d42"
|
||||
integrity sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==
|
||||
dependencies:
|
||||
"@babel/types" "7.0.0-beta.44"
|
||||
jsesc "^2.5.1"
|
||||
lodash "^4.2.0"
|
||||
source-map "^0.5.0"
|
||||
trim-right "^1.0.1"
|
||||
|
||||
"@babel/generator@^7.0.0", "@babel/generator@^7.4.0":
|
||||
version "7.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.0.tgz#c230e79589ae7a729fd4631b9ded4dc220418196"
|
||||
@ -131,15 +113,6 @@
|
||||
"@babel/traverse" "^7.1.0"
|
||||
"@babel/types" "^7.0.0"
|
||||
|
||||
"@babel/helper-function-name@7.0.0-beta.44":
|
||||
version "7.0.0-beta.44"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz#e18552aaae2231100a6e485e03854bc3532d44dd"
|
||||
integrity sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==
|
||||
dependencies:
|
||||
"@babel/helper-get-function-arity" "7.0.0-beta.44"
|
||||
"@babel/template" "7.0.0-beta.44"
|
||||
"@babel/types" "7.0.0-beta.44"
|
||||
|
||||
"@babel/helper-function-name@^7.1.0":
|
||||
version "7.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53"
|
||||
@ -149,13 +122,6 @@
|
||||
"@babel/template" "^7.1.0"
|
||||
"@babel/types" "^7.0.0"
|
||||
|
||||
"@babel/helper-get-function-arity@7.0.0-beta.44":
|
||||
version "7.0.0-beta.44"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz#d03ca6dd2b9f7b0b1e6b32c56c72836140db3a15"
|
||||
integrity sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==
|
||||
dependencies:
|
||||
"@babel/types" "7.0.0-beta.44"
|
||||
|
||||
"@babel/helper-get-function-arity@^7.0.0":
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
|
||||
@ -244,13 +210,6 @@
|
||||
"@babel/template" "^7.1.0"
|
||||
"@babel/types" "^7.0.0"
|
||||
|
||||
"@babel/helper-split-export-declaration@7.0.0-beta.44":
|
||||
version "7.0.0-beta.44"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz#c0b351735e0fbcb3822c8ad8db4e583b05ebd9dc"
|
||||
integrity sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==
|
||||
dependencies:
|
||||
"@babel/types" "7.0.0-beta.44"
|
||||
|
||||
"@babel/helper-split-export-declaration@^7.0.0", "@babel/helper-split-export-declaration@^7.4.0":
|
||||
version "7.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz#571bfd52701f492920d63b7f735030e9a3e10b55"
|
||||
@ -277,15 +236,6 @@
|
||||
"@babel/traverse" "^7.4.3"
|
||||
"@babel/types" "^7.4.0"
|
||||
|
||||
"@babel/highlight@7.0.0-beta.44":
|
||||
version "7.0.0-beta.44"
|
||||
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.44.tgz#18c94ce543916a80553edcdcf681890b200747d5"
|
||||
integrity sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==
|
||||
dependencies:
|
||||
chalk "^2.0.0"
|
||||
esutils "^2.0.2"
|
||||
js-tokens "^3.0.0"
|
||||
|
||||
"@babel/highlight@^7.0.0":
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
|
||||
@ -757,16 +707,6 @@
|
||||
dependencies:
|
||||
regenerator-runtime "^0.13.2"
|
||||
|
||||
"@babel/template@7.0.0-beta.44":
|
||||
version "7.0.0-beta.44"
|
||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f"
|
||||
integrity sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==
|
||||
dependencies:
|
||||
"@babel/code-frame" "7.0.0-beta.44"
|
||||
"@babel/types" "7.0.0-beta.44"
|
||||
babylon "7.0.0-beta.44"
|
||||
lodash "^4.2.0"
|
||||
|
||||
"@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.2.2", "@babel/template@^7.4.0":
|
||||
version "7.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.0.tgz#12474e9c077bae585c5d835a95c0b0b790c25c8b"
|
||||
@ -776,22 +716,6 @@
|
||||
"@babel/parser" "^7.4.0"
|
||||
"@babel/types" "^7.4.0"
|
||||
|
||||
"@babel/traverse@7.0.0-beta.44":
|
||||
version "7.0.0-beta.44"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.44.tgz#a970a2c45477ad18017e2e465a0606feee0d2966"
|
||||
integrity sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==
|
||||
dependencies:
|
||||
"@babel/code-frame" "7.0.0-beta.44"
|
||||
"@babel/generator" "7.0.0-beta.44"
|
||||
"@babel/helper-function-name" "7.0.0-beta.44"
|
||||
"@babel/helper-split-export-declaration" "7.0.0-beta.44"
|
||||
"@babel/types" "7.0.0-beta.44"
|
||||
babylon "7.0.0-beta.44"
|
||||
debug "^3.1.0"
|
||||
globals "^11.1.0"
|
||||
invariant "^2.2.0"
|
||||
lodash "^4.2.0"
|
||||
|
||||
"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.0", "@babel/traverse@^7.4.3":
|
||||
version "7.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.3.tgz#1a01f078fc575d589ff30c0f71bf3c3d9ccbad84"
|
||||
@ -807,15 +731,6 @@
|
||||
globals "^11.1.0"
|
||||
lodash "^4.17.11"
|
||||
|
||||
"@babel/types@7.0.0-beta.44":
|
||||
version "7.0.0-beta.44"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.44.tgz#6b1b164591f77dec0a0342aca995f2d046b3a757"
|
||||
integrity sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==
|
||||
dependencies:
|
||||
esutils "^2.0.2"
|
||||
lodash "^4.2.0"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0", "@babel/types@^7.4.0":
|
||||
version "7.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.0.tgz#670724f77d24cce6cc7d8cf64599d511d164894c"
|
||||
@ -2747,14 +2662,6 @@ argparse@^1.0.7:
|
||||
dependencies:
|
||||
sprintf-js "~1.0.2"
|
||||
|
||||
aria-query@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc"
|
||||
integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=
|
||||
dependencies:
|
||||
ast-types-flow "0.0.7"
|
||||
commander "^2.11.0"
|
||||
|
||||
arr-diff@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
|
||||
@ -2795,11 +2702,6 @@ array-find-index@^1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
|
||||
integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
|
||||
|
||||
array-find@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8"
|
||||
integrity sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=
|
||||
|
||||
array-ify@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
|
||||
@ -2938,11 +2840,6 @@ assign-symbols@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
|
||||
integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
|
||||
|
||||
ast-types-flow@0.0.7, ast-types-flow@^0.0.7:
|
||||
version "0.0.7"
|
||||
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
|
||||
integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0=
|
||||
|
||||
ast-types@0.9.6:
|
||||
version "0.9.6"
|
||||
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9"
|
||||
@ -3071,13 +2968,6 @@ aws4@^1.6.0, aws4@^1.8.0:
|
||||
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
|
||||
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
|
||||
|
||||
axobject-query@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9"
|
||||
integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==
|
||||
dependencies:
|
||||
ast-types-flow "0.0.7"
|
||||
|
||||
babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
|
||||
version "6.26.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
|
||||
@ -3097,18 +2987,6 @@ babel-eslint@^7.1.1:
|
||||
babel-types "^6.23.0"
|
||||
babylon "^6.17.0"
|
||||
|
||||
babel-eslint@^8.2.3:
|
||||
version "8.2.6"
|
||||
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.6.tgz#6270d0c73205628067c0f7ae1693a9e797acefd9"
|
||||
integrity sha512-aCdHjhzcILdP8c9lej7hvXKvQieyRt20SF102SIGyY4cUIiw6UaAtK4j2o3dXX74jEmy0TJ0CEhv4fTIM3SzcA==
|
||||
dependencies:
|
||||
"@babel/code-frame" "7.0.0-beta.44"
|
||||
"@babel/traverse" "7.0.0-beta.44"
|
||||
"@babel/types" "7.0.0-beta.44"
|
||||
babylon "7.0.0-beta.44"
|
||||
eslint-scope "3.7.1"
|
||||
eslint-visitor-keys "^1.0.0"
|
||||
|
||||
babel-jest@^24.7.1:
|
||||
version "24.7.1"
|
||||
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.7.1.tgz#73902c9ff15a7dfbdc9994b0b17fcefd96042178"
|
||||
@ -3211,11 +3089,6 @@ babel-types@^6.23.0, babel-types@^6.26.0:
|
||||
lodash "^4.17.4"
|
||||
to-fast-properties "^1.0.3"
|
||||
|
||||
babylon@7.0.0-beta.44:
|
||||
version "7.0.0-beta.44"
|
||||
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d"
|
||||
integrity sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==
|
||||
|
||||
babylon@^6.17.0, babylon@^6.18.0:
|
||||
version "6.18.0"
|
||||
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
|
||||
@ -4901,11 +4774,6 @@ crypto-random-string@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
|
||||
integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=
|
||||
|
||||
crypto@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/crypto/-/crypto-1.0.1.tgz#2af1b7cad8175d24c8a1b0778255794a21803037"
|
||||
integrity sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==
|
||||
|
||||
css-blank-pseudo@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5"
|
||||
@ -5229,11 +5097,6 @@ cypress@3.1.2:
|
||||
url "0.11.0"
|
||||
yauzl "2.8.0"
|
||||
|
||||
damerau-levenshtein@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514"
|
||||
integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=
|
||||
|
||||
dargs@^4.0.1:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17"
|
||||
@ -5877,7 +5740,7 @@ email-validator@^2.0.4:
|
||||
resolved "https://registry.yarnpkg.com/email-validator/-/email-validator-2.0.4.tgz#b8dfaa5d0dae28f1b03c95881d904d4e40bfe7ed"
|
||||
integrity sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==
|
||||
|
||||
emoji-regex@^7.0.1, emoji-regex@^7.0.2:
|
||||
emoji-regex@^7.0.1:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
|
||||
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
|
||||
@ -5910,15 +5773,6 @@ enhanced-resolve@^4.1.0:
|
||||
memory-fs "^0.4.0"
|
||||
tapable "^1.0.0"
|
||||
|
||||
enhanced-resolve@~0.9.0:
|
||||
version "0.9.1"
|
||||
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e"
|
||||
integrity sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=
|
||||
dependencies:
|
||||
graceful-fs "^4.1.2"
|
||||
memory-fs "^0.2.0"
|
||||
tapable "^0.1.8"
|
||||
|
||||
entities@^1.1.1, entities@~1.1.1:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
|
||||
@ -6097,13 +5951,6 @@ eslint-config-airbnb-base@^10.0.0:
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-10.0.1.tgz#f17d4e52992c1d45d1b7713efbcd5ecd0e7e0506"
|
||||
integrity sha1-8X1OUpksHUXRt3E++81ezQ5+BQY=
|
||||
|
||||
eslint-config-airbnb-base@^12.1.0:
|
||||
version "12.1.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz#386441e54a12ccd957b0a92564a4bafebd747944"
|
||||
integrity sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==
|
||||
dependencies:
|
||||
eslint-restricted-globals "^0.1.1"
|
||||
|
||||
eslint-config-airbnb@^13.0.0:
|
||||
version "13.0.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-13.0.0.tgz#688d15d3c276c0c753ae538c92a44397d76ae46e"
|
||||
@ -6111,20 +5958,6 @@ eslint-config-airbnb@^13.0.0:
|
||||
dependencies:
|
||||
eslint-config-airbnb-base "^10.0.0"
|
||||
|
||||
eslint-config-airbnb@^16.1.0:
|
||||
version "16.1.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-16.1.0.tgz#2546bfb02cc9fe92284bf1723ccf2e87bc45ca46"
|
||||
integrity sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==
|
||||
dependencies:
|
||||
eslint-config-airbnb-base "^12.1.0"
|
||||
|
||||
eslint-config-prettier@^2.9.0:
|
||||
version "2.10.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.10.0.tgz#ec07bc1d01f87d09f61d3840d112dc8a9791e30b"
|
||||
integrity sha512-Mhl90VLucfBuhmcWBgbUNtgBiK955iCDK1+aHAz7QfDQF6wuzWZ6JjihZ3ejJoGlJWIuko7xLqNm8BA5uenKhA==
|
||||
dependencies:
|
||||
get-stdin "^5.0.1"
|
||||
|
||||
eslint-import-resolver-node@^0.3.2:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
|
||||
@ -6133,23 +5966,6 @@ eslint-import-resolver-node@^0.3.2:
|
||||
debug "^2.6.9"
|
||||
resolve "^1.5.0"
|
||||
|
||||
eslint-import-resolver-webpack@^0.9.0:
|
||||
version "0.9.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.9.0.tgz#231ce1578ad5124da5799f029bd33d28137623e3"
|
||||
integrity sha1-IxzhV4rVEk2leZ8Cm9M9KBN2I+M=
|
||||
dependencies:
|
||||
array-find "^1.0.0"
|
||||
debug "^2.6.8"
|
||||
enhanced-resolve "~0.9.0"
|
||||
find-root "^1.1.0"
|
||||
has "^1.0.1"
|
||||
interpret "^1.0.0"
|
||||
is-absolute "^0.2.3"
|
||||
lodash.get "^4.4.2"
|
||||
node-libs-browser "^1.0.0 || ^2.0.0"
|
||||
resolve "^1.4.0"
|
||||
semver "^5.3.0"
|
||||
|
||||
eslint-module-utils@^2.4.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a"
|
||||
@ -6175,20 +5991,6 @@ eslint-plugin-import@^2.11.0:
|
||||
read-pkg-up "^2.0.0"
|
||||
resolve "^1.10.0"
|
||||
|
||||
eslint-plugin-jsx-a11y@^6.0.3:
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz#4ebba9f339b600ff415ae4166e3e2e008831cf0c"
|
||||
integrity sha512-cjN2ObWrRz0TTw7vEcGQrx+YltMvZoOEx4hWU8eEERDnBIU00OTq7Vr+jA7DFKxiwLNv4tTh5Pq2GUNEa8b6+w==
|
||||
dependencies:
|
||||
aria-query "^3.0.0"
|
||||
array-includes "^3.0.3"
|
||||
ast-types-flow "^0.0.7"
|
||||
axobject-query "^2.0.2"
|
||||
damerau-levenshtein "^1.0.4"
|
||||
emoji-regex "^7.0.2"
|
||||
has "^1.0.3"
|
||||
jsx-ast-utils "^2.0.1"
|
||||
|
||||
eslint-plugin-react@^7.7.0:
|
||||
version "7.12.4"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c"
|
||||
@ -6202,24 +6004,6 @@ eslint-plugin-react@^7.7.0:
|
||||
prop-types "^15.6.2"
|
||||
resolve "^1.9.0"
|
||||
|
||||
eslint-plugin-redux-saga@^0.8.0:
|
||||
version "0.8.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-redux-saga/-/eslint-plugin-redux-saga-0.8.0.tgz#0c9d6b44183ded4b7bb470cdfad30244afbb1485"
|
||||
integrity sha512-SXIk5Z5ggPa1618h67EKPFDP6L2/FiF9wQFZ0b9vfRlLECOVupWqoj4N9LUegBjhPgqjnHJKi9ZyXE9/vFWOjA==
|
||||
|
||||
eslint-restricted-globals@^0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7"
|
||||
integrity sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=
|
||||
|
||||
eslint-scope@3.7.1:
|
||||
version "3.7.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
|
||||
integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=
|
||||
dependencies:
|
||||
esrecurse "^4.1.0"
|
||||
estraverse "^4.1.1"
|
||||
|
||||
eslint-scope@^3.7.1:
|
||||
version "3.7.3"
|
||||
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535"
|
||||
@ -6803,7 +6587,7 @@ find-cache-dir@^2.0.0:
|
||||
make-dir "^2.0.0"
|
||||
pkg-dir "^3.0.0"
|
||||
|
||||
find-root@^1.0.0, find-root@^1.1.0:
|
||||
find-root@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
|
||||
integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
|
||||
@ -7195,11 +6979,6 @@ get-stdin@^4.0.1:
|
||||
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
|
||||
integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
|
||||
|
||||
get-stdin@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
|
||||
integrity sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=
|
||||
|
||||
get-stream@3.0.0, get-stream@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
|
||||
@ -8457,7 +8236,7 @@ into-stream@^3.1.0:
|
||||
from2 "^2.1.1"
|
||||
p-is-promise "^1.1.0"
|
||||
|
||||
invariant@^2.1.0, invariant@^2.1.1, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4:
|
||||
invariant@^2.1.0, invariant@^2.1.1, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4:
|
||||
version "2.2.4"
|
||||
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
|
||||
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
|
||||
@ -8518,14 +8297,6 @@ is-absolute-url@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
|
||||
integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=
|
||||
|
||||
is-absolute@^0.2.3:
|
||||
version "0.2.6"
|
||||
resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb"
|
||||
integrity sha1-IN5p89uULvLYe5wto28XIjWxtes=
|
||||
dependencies:
|
||||
is-relative "^0.2.1"
|
||||
is-windows "^0.2.0"
|
||||
|
||||
is-absolute@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576"
|
||||
@ -8870,13 +8641,6 @@ is-regex@^1.0.4:
|
||||
dependencies:
|
||||
has "^1.0.1"
|
||||
|
||||
is-relative@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5"
|
||||
integrity sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=
|
||||
dependencies:
|
||||
is-unc-path "^0.1.1"
|
||||
|
||||
is-relative@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
|
||||
@ -8951,13 +8715,6 @@ is-typedarray@~1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
|
||||
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
|
||||
|
||||
is-unc-path@^0.1.1:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9"
|
||||
integrity sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=
|
||||
dependencies:
|
||||
unc-path-regex "^0.1.0"
|
||||
|
||||
is-unc-path@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
|
||||
@ -8975,11 +8732,6 @@ is-whitespace@^0.3.0:
|
||||
resolved "https://registry.yarnpkg.com/is-whitespace/-/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f"
|
||||
integrity sha1-Fjnssb4DauxppUy7QBz77XEUq38=
|
||||
|
||||
is-windows@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c"
|
||||
integrity sha1-3hqm1j6indJIc3tp8f+LgALSEIw=
|
||||
|
||||
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"
|
||||
@ -9568,16 +9320,16 @@ js-levenshtein@^1.1.3:
|
||||
resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
|
||||
integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
|
||||
|
||||
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"
|
||||
integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
|
||||
|
||||
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
||||
|
||||
js-tokens@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
|
||||
integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
|
||||
|
||||
js-yaml@3.x, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.9.0, js-yaml@^3.9.1:
|
||||
version "3.13.1"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
|
||||
@ -10640,7 +10392,7 @@ lodash@4.17.4:
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
|
||||
integrity sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=
|
||||
|
||||
lodash@^4, lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@~4.17.10:
|
||||
lodash@^4, lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@~4.17.10:
|
||||
version "4.17.11"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
|
||||
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
|
||||
@ -10924,11 +10676,6 @@ memoize-one@^5.0.0:
|
||||
resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.4.tgz#005928aced5c43d890a4dfab18ca908b0ec92cbc"
|
||||
integrity sha512-P0z5IeAH6qHHGkJIXWw0xC2HNEgkx/9uWWBQw64FJj3/ol14VYdfVGWWr0fXfjhhv3TKVIqUq65os6O4GUNksA==
|
||||
|
||||
memory-fs@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290"
|
||||
integrity sha1-8rslNovBIeORwlIN6Slpyu4KApA=
|
||||
|
||||
memory-fs@^0.4.0, memory-fs@~0.4.1:
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
|
||||
@ -11535,7 +11282,7 @@ node-int64@^0.4.0:
|
||||
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
|
||||
integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
|
||||
|
||||
"node-libs-browser@^1.0.0 || ^2.0.0", node-libs-browser@^2.0.0:
|
||||
node-libs-browser@^2.0.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77"
|
||||
integrity sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==
|
||||
@ -13661,11 +13408,6 @@ prepend-http@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
|
||||
integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
|
||||
|
||||
prettier@^1.12.1:
|
||||
version "1.17.0"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.17.0.tgz#53b303676eed22cc14a9f0cec09b477b3026c008"
|
||||
integrity sha512-sXe5lSt2WQlCbydGETgfm1YBShgOX4HxQkFPvbxkcwgDvGDeqVau8h+12+lmSVlP3rHPz0oavfddSZg/q+Szjw==
|
||||
|
||||
pretty-error@^2.0.2:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"
|
||||
@ -14971,7 +14713,7 @@ resolve@1.1.7, resolve@1.1.x:
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
|
||||
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
|
||||
|
||||
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0:
|
||||
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0:
|
||||
version "1.10.1"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.1.tgz#664842ac960795bbe758221cdccda61fb64b5f18"
|
||||
integrity sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==
|
||||
@ -16530,11 +16272,6 @@ table@4.0.2:
|
||||
slice-ansi "1.0.0"
|
||||
string-width "^2.1.1"
|
||||
|
||||
tapable@^0.1.8:
|
||||
version "0.1.10"
|
||||
resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4"
|
||||
integrity sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=
|
||||
|
||||
tapable@^1.0.0, tapable@^1.1.0:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
|
||||
@ -17081,7 +16818,7 @@ unbzip2-stream@^1.0.9:
|
||||
buffer "^5.2.1"
|
||||
through "^2.3.8"
|
||||
|
||||
unc-path-regex@^0.1.0, unc-path-regex@^0.1.2:
|
||||
unc-path-regex@^0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
|
||||
integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo=
|
||||
@ -17457,7 +17194,7 @@ webpack-sources@^1.1.0, webpack-sources@^1.3.0:
|
||||
source-list-map "^2.0.0"
|
||||
source-map "~0.6.1"
|
||||
|
||||
webpack@^4.29.6, webpack@^4.6.0:
|
||||
webpack@^4.29.6:
|
||||
version "4.30.0"
|
||||
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.30.0.tgz#aca76ef75630a22c49fcc235b39b4c57591d33a9"
|
||||
integrity sha512-4hgvO2YbAFUhyTdlR4FNyt2+YaYBYHavyzjCMbZzgglo02rlKi/pcsEzwCuCpsn1ryzIl1cq/u8ArIKu8JBYMg==
|
||||
|
Loading…
x
Reference in New Issue
Block a user