diff --git a/.github/workflows/continuous-integration-workflow.yml b/.github/workflows/continuous-integration-workflow.yml
index 8631b600e..c615c36c5 100644
--- a/.github/workflows/continuous-integration-workflow.yml
+++ b/.github/workflows/continuous-integration-workflow.yml
@@ -3,10 +3,12 @@ on:
push:
branches:
- master
+ - next
pull_request:
branches:
- master
+ - next
jobs:
build:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f3d2d1e51..bd9cdea12 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,12 @@
+## 4.4.1 (2020-02-24)
+
+### :star: Highlights
+
+Improving performance with build-time Eva processing [#517](https://github.com/akveo/react-native-ui-kitten/issues/517#issuecomment-590213844)
+
+* Add @ui-kitten/metro-config package [#613](https://github.com/akveo/react-native-ui-kitten/issues/613) [#855](https://github.com/akveo/react-native-ui-kitten/issues/855) [12230c6](https://github.com/akveo/react-native-ui-kitten/commit/12230c6))
+
+
## 4.4.0 (2020-02-10)
### :star: Highlights
diff --git a/docs/src/articles/guides/configure-navigation.md b/docs/src/articles/guides/configure-navigation.md
index 8d7ee1ab5..31cfee7c9 100644
--- a/docs/src/articles/guides/configure-navigation.md
+++ b/docs/src/articles/guides/configure-navigation.md
@@ -170,10 +170,7 @@ UI Kitten includes much more components that can be used with React Navigation:
## Note on the other navigation libraries
Since React Navigation is not the only solution to perform routing within the React Native app, you might be interested
-in other navigation libraries like React Native Navigation by Wix. Currently, UI Kitten is not well-adopted to be used
-with this library and might have some performance issues.
-
-Consider using React Navigation since UI Kitten has better API support with it.
+in other navigation libraries like React Native Navigation by Wix. By default, UI Kitten is not well adopted to work with this library, and you may need to [improve it's performance](guides/improving-performance).
diff --git a/docs/src/articles/guides/improving-performance.md b/docs/src/articles/guides/improving-performance.md
new file mode 100644
index 000000000..7eff7935c
--- /dev/null
+++ b/docs/src/articles/guides/improving-performance.md
@@ -0,0 +1,57 @@
+# Improving Performance
+
+By default, UI Kitten is configured with processing Eva mapping packages during the runtime. This may lead to performance issues when using [mapping customization](design-system/customize-mapping) or React Native Navigation by Wix. By following this guide, you will know how to get rid of this and save time your application takes on loading.
+
+## Configuration
+
+Install the additional metro configuration:
+
+```bash
+npm i -D @ui-kitten/metro-config
+```
+
+Create **metro.config.js** at the root of your project if you don't have this file yet and place the following code:
+
+```js
+const MetroConfig = require('@ui-kitten/metro-config');
+
+const evaConfig = {
+ evaPackage: '@eva-design/eva',
+ // Optional, but may be useful when using mapping customization feature.
+ // customMappingPath: './custom-mapping.json',
+};
+
+module.exports = MetroConfig.create(evaConfig, {
+ // Whatever was previously specified
+});
+```
+
+Modify props passed to ApplicationProvider:
+
+```jsx
+import React from 'react';
+import { ApplicationProvider } from '@ui-kitten/components';
+import * as eva from '@eva-design/eva';
+
+export default () => (
+
+ // ...
+
+);
+```
+Restart Metro Bundler if it is running to apply the changes.
+
+
+
+## Definition
+
+Let's take a look on the **evaConfig** we define:
+
+**evaPackage** represents the name of Eva Design System package installed.
+
+In this example, we use `@eva-design/eva`.
+It may be one of the valid Eva Design System packages.
+
+**customMappingPath** represents a path to custom mapping if you use [mapping customization](design-system/customize-mapping) feature. You may omit it if you do not customize Eva.
+
+The second argument of `create` function is a standard configuration of Metro Bundler. In case you had `metro.config.js` previously, pass the object you had to merge it with UI Kitten configuration.
diff --git a/docs/src/structure.ts b/docs/src/structure.ts
index df46eac0a..d3e02ea4f 100644
--- a/docs/src/structure.ts
+++ b/docs/src/structure.ts
@@ -97,6 +97,17 @@ export const structure = [
},
],
},
+ {
+ type: 'page',
+ name: 'Improving Performance',
+ children: [
+ {
+ type: 'block',
+ block: 'markdown',
+ source: 'guides/improving-performance.md',
+ },
+ ],
+ },
],
},
{
diff --git a/package.json b/package.json
index bb8840be6..56dba2418 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "ui-kitten",
- "version": "4.4.0",
+ "version": "4.4.1",
"private": true,
"license": "MIT",
"author": "akveo ",
@@ -65,4 +65,4 @@
"react-native": "~0.61.4",
"react-native-svg": "~9.13.3"
}
-}
+}
\ No newline at end of file
diff --git a/scripts/bump-version.ts b/scripts/bump-version.ts
index 3b6fbeaa4..8a8993c41 100644
--- a/scripts/bump-version.ts
+++ b/scripts/bump-version.ts
@@ -12,6 +12,7 @@ const PACKAGES: string[] = [
'components',
'date-fns',
'eva-icons',
+ 'metro-config',
'moment',
'template-js',
'template-ts',
diff --git a/scripts/publish-packages.ts b/scripts/publish-packages.ts
index 82dd79dc4..db0b94a3a 100644
--- a/scripts/publish-packages.ts
+++ b/scripts/publish-packages.ts
@@ -27,8 +27,9 @@ function rebuild(done: GulpCompletionCallback): void {
function publish(done: GulpCompletionCallback): void {
execSync(`npm publish ${PACKAGES_BUILD_DIR}/components`, { cwd: ROOT_DIR });
- execSync(`npm publish ${PACKAGES_BUILD_DIR}/eva-icons`, { cwd: ROOT_DIR });
execSync(`npm publish ${PACKAGES_BUILD_DIR}/date-fns`, { cwd: ROOT_DIR });
+ execSync(`npm publish ${PACKAGES_BUILD_DIR}/eva-icons`, { cwd: ROOT_DIR });
+ execSync(`npm publish ${PACKAGES_BUILD_DIR}/metro-config`, { cwd: ROOT_DIR });
execSync(`npm publish ${PACKAGES_BUILD_DIR}/moment`, { cwd: ROOT_DIR });
execSync(`npm publish ${PACKAGES_DIR}/template-js`, { cwd: ROOT_DIR });
execSync(`npm publish ${PACKAGES_DIR}/template-ts`, { cwd: ROOT_DIR });
diff --git a/src/components/package.json b/src/components/package.json
index e0b027794..850dce2ae 100644
--- a/src/components/package.json
+++ b/src/components/package.json
@@ -1,7 +1,7 @@
{
"name": "@ui-kitten/components",
"description": "React Native components based on Eva Design System",
- "version": "4.4.0",
+ "version": "4.4.1",
"author": "akveo ",
"license": "MIT",
"homepage": "https://github.com/akveo/react-native-ui-kitten#readme",
diff --git a/src/components/theme/application/applicationProvider.component.tsx b/src/components/theme/application/applicationProvider.component.tsx
index 3f64c8f52..f64a6ec02 100644
--- a/src/components/theme/application/applicationProvider.component.tsx
+++ b/src/components/theme/application/applicationProvider.component.tsx
@@ -16,12 +16,18 @@ import { StyleProvider } from '../style/styleProvider.component';
import { ThemeProviderProps } from '../theme/themeProvider.component';
import { ModalPanel } from '../modal/modalPanel.component';
-interface ComponentProps {
+interface EvaRuntimeProcessingProps {
mapping: SchemaType;
customMapping?: CustomSchemaType;
}
-export type ApplicationProviderProps = ComponentProps & ThemeProviderProps;
+interface EvaBuildtimeProcessingProps {
+ styles: ThemeStyleType;
+}
+
+type EvaProcessingProps = EvaRuntimeProcessingProps | EvaBuildtimeProcessingProps;
+
+export type ApplicationProviderProps = EvaProcessingProps & ThemeProviderProps;
export type ApplicationProviderElement = React.ReactElement;
interface State {
@@ -38,14 +44,19 @@ interface State {
* @extends React.Component
*
* @property {SchemaType} mapping - Determines the mapping for basic components.
- * This is designed to be provided by developers team and can be imported from npm package (e.g. `@eva-design/eva`).
+ * This is designed to be provided from any `@eva-design/*` package (e.g. `@eva-design/eva`)
+ * If provided, will be merged with customMapping to bootstrap eva during the runtime.
*
- * @property {CustomSchemaType} customMapping - Determines the customization mapping.
+ * @property {CustomSchemaType} customMapping - Determines the customized mapping.
* This is merged with `mapping` property and designed to be used components customization.
*
* @property {ThemeType} theme - Determines the theme for basic components.
* This is designed to be provided by developers team and can be imported from npm package (e.g. `@eva-design/eva`).
*
+ * @property {ThemeStyleType} styles - Determines the styles compiled by bootstrapping eva.
+ * If provided, will replace runtime styles calculation.
+ * Should be used with `@ui-kitten/metro-config` package.
+ *
* @property {ReactNode} children - Determines application root component.
*
* @overview-example Simple Usage
@@ -53,40 +64,36 @@ interface State {
* ```
* import React from 'react';
* import { ApplicationProvider, Layout, Text } from '@ui-kitten/components';
- * import { mapping, light as lightTheme } from '@eva-design/eva';
+ * import * as eva from '@eva-design/eva';
*
- * export default class App extends React.Component {
- *
- * render() {
- * return (
- *
- *
- * Welcome to UI Kitten
- *
- *
- * );
- * }
- * }
+ * export default () => (
+ *
+ *
+ * Welcome to UI Kitten
+ *
+ *
+ * );
* ```
*/
export class ApplicationProvider extends React.Component {
+ public state: State = {
+ styles: (this.props as EvaBuildtimeProcessingProps).styles,
+ };
+
private schemaProcessor: SchemaProcessor = new SchemaProcessor();
constructor(props: ApplicationProviderProps) {
super(props);
- const { mapping, customMapping } = this.props;
- const styles: ThemeStyleType = this.createStyles(mapping, customMapping);
-
- this.state = { styles };
+ if (!this.state.styles) {
+ const { mapping, customMapping } = this.props as EvaRuntimeProcessingProps;
+ this.state.styles = this.createStyles(mapping, customMapping);
+ }
}
private createStyles = (mapping: SchemaType, custom: CustomSchemaType): ThemeStyleType => {
const customizedMapping: SchemaType = merge({}, mapping, custom);
-
return this.schemaProcessor.process(customizedMapping);
};
diff --git a/src/date-fns/package.json b/src/date-fns/package.json
index b1e316e77..c4ae8cbd7 100644
--- a/src/date-fns/package.json
+++ b/src/date-fns/package.json
@@ -1,7 +1,7 @@
{
"name": "@ui-kitten/date-fns",
"description": "date-fns services for UI Kitten",
- "version": "4.4.0",
+ "version": "4.4.1",
"author": "akveo ",
"license": "MIT",
"homepage": "https://github.com/akveo/react-native-ui-kitten#readme",
@@ -24,7 +24,7 @@
"date-fns": "^1.30.1"
},
"peerDependencies": {
- "@ui-kitten/components": "4.4.0",
+ "@ui-kitten/components": "4.4.1",
"date-fns": "^1.30.1"
},
"sideEffects": false
diff --git a/src/eva-icons/package.json b/src/eva-icons/package.json
index 6ce3d691d..4f05c6b68 100644
--- a/src/eva-icons/package.json
+++ b/src/eva-icons/package.json
@@ -1,7 +1,7 @@
{
"name": "@ui-kitten/eva-icons",
"description": "Eva Icons for React Native",
- "version": "4.4.0",
+ "version": "4.4.1",
"author": "akveo ",
"license": "MIT",
"homepage": "https://github.com/akveo/react-native-ui-kitten#readme",
@@ -27,7 +27,7 @@
"react-native-svg": "^9.4.0"
},
"peerDependencies": {
- "@ui-kitten/components": "4.4.0",
+ "@ui-kitten/components": "4.4.1",
"react-native-svg": "^9.4.0"
},
"sideEffects": false
diff --git a/src/metro-config/index.ts b/src/metro-config/index.ts
new file mode 100644
index 000000000..9ee0d8c7f
--- /dev/null
+++ b/src/metro-config/index.ts
@@ -0,0 +1,75 @@
+import Fs from 'fs';
+import LodashMerge from 'lodash.merge';
+import MetroConfig from 'metro-config/src/defaults';
+import BootstrapService from './services/bootstrap.service';
+import { EvaConfig } from './services/eva-config.service';
+import ProjectService from './services/project.service';
+
+// TS definitions for metro config?
+type MetroConfigType = any;
+
+const defaultMetroConfig = MetroConfig.getDefaultValues();
+const customMappingWatchOptions = {
+ /*
+ * How often the custom mapping should be polled in milliseconds
+ */
+ interval: 100,
+};
+
+/**
+ * Creates custom Metro config for bootstrapping Eva packages.
+ *
+ * @param {EvaConfig} evaConfig - configuration of Eva Design System used in project.
+ * @see {EvaConfig}
+ *
+ * @param metroConfig - configuration of Metro Bundler used in project.
+ * @link https://facebook.github.io/metro/docs/configuration
+ *
+ * @returns a combination of two metro configurations.
+ *
+ * @example Usage
+ *
+ * ```metro.config.js
+ * const MetroConfig = require('@ui-kitten/metro-config');
+ *
+ * const evaConfig = {
+ * evaPackage: '@eva-design/eva', // Required.
+ * customMappingPath: './custom-mapping.json', // Optional.
+ * };
+ *
+ * module.exports = MetroConfig.create(evaConfig, {
+ * // Whatever was previously specified
+ * });
+ * ```
+ */
+export const create = (evaConfig: EvaConfig, metroConfig?: MetroConfigType): MetroConfigType => {
+
+ const handleMetroEvent = (event): void => {
+ const reporter = metroConfig && metroConfig.reporter || defaultMetroConfig.reporter;
+
+ if (reporter && reporter.update) {
+ reporter.update(event);
+ }
+
+ if (event.type === 'initialize_started') {
+ BootstrapService.run(evaConfig);
+
+ const customMappingPath: string = ProjectService.resolvePath(evaConfig.customMappingPath);
+ const customMappingExists: boolean = Fs.existsSync(customMappingPath);
+
+ if (customMappingExists) {
+ Fs.watchFile(customMappingPath, customMappingWatchOptions, () => {
+ BootstrapService.run(evaConfig);
+ });
+ }
+ }
+ };
+
+ const libConfig: MetroConfigType = {
+ reporter: {
+ update: handleMetroEvent,
+ },
+ };
+
+ return LodashMerge({}, libConfig, metroConfig);
+};
diff --git a/src/metro-config/package.json b/src/metro-config/package.json
new file mode 100644
index 000000000..8831104a6
--- /dev/null
+++ b/src/metro-config/package.json
@@ -0,0 +1,28 @@
+{
+ "name": "@ui-kitten/metro-config",
+ "description": "UI Kitten config for Metro Bundler",
+ "version": "4.4.1",
+ "author": "akveo ",
+ "license": "MIT",
+ "homepage": "https://github.com/akveo/react-native-ui-kitten#readme",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/akveo/react-native-ui-kitten.git"
+ },
+ "bugs": {
+ "url": "https://github.com/akveo/react-native-ui-kitten/issues"
+ },
+ "publishConfig": {
+ "access": "public"
+ },
+ "devDependencies": {
+ "@eva-design/dss": "^1.4.0",
+ "@eva-design/processor": "^1.4.0",
+ "@types/lodash.merge": "ts3.7",
+ "chalk": "^3.0.0",
+ "lodash.merge": "^4.6.1"
+ },
+ "peerDependencies": {
+ "metro-config": "^0.58.0"
+ }
+}
\ No newline at end of file
diff --git a/src/metro-config/services/bootstrap.service.ts b/src/metro-config/services/bootstrap.service.ts
new file mode 100644
index 000000000..947955dbb
--- /dev/null
+++ b/src/metro-config/services/bootstrap.service.ts
@@ -0,0 +1,170 @@
+import {
+ CustomSchemaType,
+ SchemaType,
+ ThemeStyleType,
+} from '@eva-design/dss';
+import { SchemaProcessor } from '@eva-design/processor';
+import Crypto from 'crypto';
+import Fs from 'fs';
+import LodashMerge from 'lodash.merge';
+import EvaConfigService, { EvaConfig } from './eva-config.service';
+import LogService from './log.service';
+import ProjectService from './project.service';
+
+const DEFAULT_CHECKSUM: string = 'default';
+const CACHE_FILE_NAME: string = 'generated.json';
+const CACHE_EXPORT_SIGNATURE: string = `\n\nexports.styles = require('./${CACHE_FILE_NAME}').styles`;
+
+const RELATIVE_PATHS = {
+ evaPackage: (evaPackage: string): string => {
+ return `node_modules/${evaPackage}`;
+ },
+ evaMapping: (evaPackage: string): string => {
+ return `node_modules/${evaPackage}/mapping.json`;
+ },
+ evaIndex: (evaPackage: string): string => {
+ return `node_modules/${evaPackage}/index.js`;
+ },
+ cache: (evaPackage: string): string => {
+ return `node_modules/${evaPackage}/${CACHE_FILE_NAME}`;
+ },
+};
+
+const schemaProcessor = new SchemaProcessor();
+
+interface EvaCache {
+ checksum: string;
+ styles: ThemeStyleType;
+}
+
+/**
+ * Generates styles for `@eva-design/*` package specified in EvaConfig
+ *
+ * @see EvaConfig
+ *
+ * 1. Finds installed `@eva-design/*` packages.
+ * Will warn if there is no valid eva mapping packages installed and do nothing.
+ *
+ * @see EvaConfigService.MAPPING_PACKAGE_NAMES
+ *
+ * 2. Validates specified eva config by checking if `evaPackage` is specified and is one of the valid mapping packages.
+ * Will warn if it is not valid and do nothing.
+ *
+ * 3. Generates styles for specified `evaPackage` and stores it into cache file in the package directory.
+ * @see {CACHE_FILE_NAME}
+ * @see {EvaCache}
+ *
+ * E.g, if `evaPackage` is `@eva-design/eva`:
+ * The result will be stored at `./node_modules/@eva-design/eva/generated.json`
+ */
+export default class BootstrapService {
+
+ static run = (config: EvaConfig): void => {
+ const hasAtLeastOneEvaPackage: boolean = BootstrapService.ensureEvaPackagesInstalledOrWarn();
+ const isValidConfig: boolean = EvaConfigService.validateConfigOrWarn(config);
+
+ if (hasAtLeastOneEvaPackage && isValidConfig) {
+ BootstrapService.processMappingIfNeeded(config);
+ }
+ };
+
+ private static ensureEvaPackagesInstalledOrWarn = (): boolean => {
+ const numberOfInstalledEvaPackages = EvaConfigService.MAPPING_PACKAGE_NAMES.reduce((acc, packageName): number => {
+ const evaPackageRelativePath: string = RELATIVE_PATHS.evaPackage(packageName);
+ const isEvaPackageInstalled: boolean = ProjectService.hasModule(evaPackageRelativePath);
+
+ return isEvaPackageInstalled ? acc + 1 : acc;
+ }, 0);
+
+ if (numberOfInstalledEvaPackages === 0) {
+ LogService.warn(
+ 'This project has no Eva packages installed.',
+ '',
+ 'Consider installing one of the following packages:',
+ '',
+ ...EvaConfigService.MAPPING_PACKAGE_NAMES,
+ );
+ return false;
+ }
+
+ return true;
+ };
+
+ private static processMappingIfNeeded = (config: EvaConfig): void => {
+ const evaMappingPath: string = RELATIVE_PATHS.evaMapping(config.evaPackage);
+ const outputCachePath: string = RELATIVE_PATHS.cache(config.evaPackage);
+
+ /*
+ * Use `require` for eva mapping as it is static module and should not be changed.
+ * Require actual cache by reading file at cache file as it may change by file system.
+ */
+ const evaMapping: SchemaType = ProjectService.requireModule(evaMappingPath);
+ const actualCacheString: string = ProjectService.requireActualModule(outputCachePath);
+ const actualCache: EvaCache = JSON.parse(actualCacheString);
+
+ let customMapping: CustomSchemaType;
+ let actualChecksum: string = DEFAULT_CHECKSUM;
+ let nextChecksum: string = DEFAULT_CHECKSUM;
+
+ if (actualCache && actualCache.checksum) {
+ actualChecksum = actualCache.checksum;
+ }
+
+ if (config.customMappingPath) {
+
+ /*
+ * Require custom mapping by reading file at `customMappingPath` as it may change by user.
+ */
+ const customMappingString: string = ProjectService.requireActualModule(config.customMappingPath);
+ customMapping = JSON.parse(customMappingString);
+ /*
+ * Calculate checksum only for custom mapping,
+ * but not for styles we generate because eva mapping is a static module.
+ */
+ nextChecksum = BootstrapService.createChecksum(customMappingString);
+ }
+
+ /*
+ * Write if it is the first call
+ * Or re-write if custom mapping was changed
+ */
+ if (actualChecksum === DEFAULT_CHECKSUM || actualChecksum !== nextChecksum) {
+ const mapping: SchemaType = LodashMerge({}, evaMapping, customMapping);
+ const styles: ThemeStyleType = schemaProcessor.process(mapping);
+ const writableCache: string = BootstrapService.createWritableCache(nextChecksum, styles);
+
+ Fs.writeFileSync(outputCachePath, writableCache);
+ }
+
+ const hasCacheExports: boolean = BootstrapService.hasCacheExports(config);
+ if (!hasCacheExports) {
+ const evaIndexPath: string = RELATIVE_PATHS.evaIndex(config.evaPackage);
+
+ Fs.appendFileSync(evaIndexPath, CACHE_EXPORT_SIGNATURE);
+ LogService.success(`Successfully bootstrapped ${config.evaPackage}`);
+ }
+ };
+
+ private static hasCacheExports = (config: EvaConfig): boolean => {
+ const evaIndexPath: string = RELATIVE_PATHS.evaIndex(config.evaPackage);
+ const evaIndexString = ProjectService.requireActualModule(evaIndexPath);
+
+ return evaIndexString.includes(CACHE_EXPORT_SIGNATURE);
+ };
+
+ private static createWritableCache = (checksum: string, styles: ThemeStyleType): string => {
+ const cache: EvaCache = {
+ checksum,
+ styles,
+ };
+
+ return JSON.stringify(cache, null, 2);
+ };
+
+ private static createChecksum = (target: any): string => {
+ return Crypto.createHash('sha1')
+ .update(target)
+ .digest('hex');
+ };
+}
+
diff --git a/src/metro-config/services/eva-config.service.ts b/src/metro-config/services/eva-config.service.ts
new file mode 100644
index 000000000..26df64f1a
--- /dev/null
+++ b/src/metro-config/services/eva-config.service.ts
@@ -0,0 +1,62 @@
+import LogService from './log.service';
+import ProjectService from './project.service';
+
+/**
+ * Defines the Eva config passed to UI Kitten metro config
+ *
+ * @param {EvaMappingPackageName} evaPackage - the name of the eva package.
+ * @param {string} customMappingPath - relative path to custom mapping.
+ *
+ * @example Config for @eva-design/eva package with custom mapping
+ * ```
+ * const evaConfig = {
+ * evaPackage: '@eva-design/eva',
+ * customMappingPath: './custom-mapping.json',
+ * };
+ * ```
+ */
+export interface EvaConfig {
+ evaPackage: EvaMappingPackageName;
+ customMappingPath?: string;
+}
+
+export type EvaMappingPackageName = '@eva-design/eva' | '@eva-design/material';
+
+export default class EvaConfigService {
+
+ static MAPPING_PACKAGE_NAMES: EvaMappingPackageName[] = [
+ '@eva-design/eva',
+ '@eva-design/material',
+ ];
+
+ static validateConfigOrWarn = (config: EvaConfig): boolean => {
+ if (!config.evaPackage || !EvaConfigService.isValidEvaPackageName(config.evaPackage)) {
+ LogService.warn(
+ `There is no Eva package specified in UI Kitten metro config`,
+ `Consider setting "evaPackage" property of UI Kitten metro config`,
+ 'to one of the following values:',
+ '',
+ ...EvaConfigService.MAPPING_PACKAGE_NAMES,
+ );
+ return false;
+ }
+
+ const isEvaPackageInstalled: boolean = ProjectService.hasModule(`node_modules/${config.evaPackage}`);
+
+ if (!isEvaPackageInstalled) {
+ LogService.warn(
+ `UI Kitten metro config has ${config.evaPackage} specified`,
+ 'but it seems to be not installed',
+ '',
+ `Consider installing ${config.evaPackage} and running this command again.`,
+ );
+ return false;
+ }
+
+ return true;
+ };
+
+ private static isValidEvaPackageName = (name: string): boolean => {
+ return EvaConfigService.MAPPING_PACKAGE_NAMES.includes(name as EvaMappingPackageName);
+ };
+}
diff --git a/src/metro-config/services/log.service.ts b/src/metro-config/services/log.service.ts
new file mode 100644
index 000000000..071ade6fb
--- /dev/null
+++ b/src/metro-config/services/log.service.ts
@@ -0,0 +1,38 @@
+import chalk from 'chalk';
+
+const SEPARATOR = '\n';
+
+export default class LogService {
+
+ static log = (...messages: string[]): void => {
+ // tslint:disable-next-line:no-console
+ console.log(`${LogService.formatMessages(messages)}`);
+ };
+
+ static debug = (...messages: string[]): void => {
+ // tslint:disable-next-line:no-console
+ console.log(`${chalk.gray.bold('debug')} ${LogService.formatMessages(messages)}`);
+ };
+
+ static success = (...messages: string[]): void => {
+ // tslint:disable-next-line:no-console
+ console.log(`${chalk.green.bold('success')} ${LogService.formatMessages(messages)}`);
+ };
+
+ static info = (...messages: string[]): void => {
+ // tslint:disable-next-line:no-console
+ console.log(`${chalk.cyan.bold('info')} ${LogService.formatMessages(messages)}`);
+ };
+
+ static warn = (...messages: string[]): void => {
+ console.warn(`${chalk.yellow.bold('warn')} ${LogService.formatMessages(messages)}`);
+ };
+
+ static error = (...messages: string[]): void => {
+ console.error(`${chalk.red.bold('error')} ${LogService.formatMessages(messages)}`);
+ };
+
+ private static formatMessages = (messages: string[]) => {
+ return chalk.reset(messages.join(SEPARATOR));
+ };
+}
diff --git a/src/metro-config/services/project.service.ts b/src/metro-config/services/project.service.ts
new file mode 100644
index 000000000..7105e8d4a
--- /dev/null
+++ b/src/metro-config/services/project.service.ts
@@ -0,0 +1,49 @@
+import Fs from 'fs';
+import Path from 'path';
+import LogService from './log.service';
+
+/**
+ * Since metro.config.js should be stored at the project root. E.g:
+ * - /
+ * - /metro.config.js
+ * - /package.json
+ */
+const PROJECT_PATH: string = Path.resolve(__dirname, '../../../../');
+
+export default class ProjectService {
+
+ static resolvePath = (path: string): string => {
+ if (!path) {
+ return './';
+ }
+
+ return Path.resolve(PROJECT_PATH, path);
+ };
+
+ static requireModule = (path: string): T | null => {
+ const modulePath: string = ProjectService.resolvePath(path);
+
+ try {
+ return require(modulePath);
+ } catch (error) {
+ if (error.code === 'MODULE_NOT_FOUND' && ~error.message.indexOf(modulePath)) {
+ return null;
+ } else {
+ LogService.warn(error);
+ }
+ }
+ };
+
+ static requireActualModule = (relativePath: string): string | null => {
+ if (!ProjectService.hasModule(relativePath)) {
+ return null;
+ }
+
+ const modulePath: string = ProjectService.resolvePath(relativePath);
+ return Fs.readFileSync(modulePath, { encoding: 'utf8' });
+ };
+
+ static hasModule = (path: string): boolean => {
+ return ProjectService.requireModule(path) !== null;
+ };
+}
diff --git a/src/metro-config/tests/bootstrap.service.spec.ts b/src/metro-config/tests/bootstrap.service.spec.ts
new file mode 100644
index 000000000..a6af1136f
--- /dev/null
+++ b/src/metro-config/tests/bootstrap.service.spec.ts
@@ -0,0 +1,57 @@
+import Path from 'path';
+import Fs from 'fs';
+import Rimraf from 'rimraf';
+import BootstrapService from '../services/bootstrap.service';
+import { EvaConfig } from '../services/eva-config.service';
+
+const evaConfig: EvaConfig = {
+ evaPackage: '@eva-design/eva',
+};
+
+/*
+ * We need to mock all calls to path so that it will be redirected to the root dir,
+ * E.g `some_module` => `react-native-ui-kitten/some-module`
+ */
+jest.mock('path', () => {
+ const ActualPath = jest.requireActual('path');
+ return {
+ ...ActualPath,
+ resolve: (...pathSegments: string[]): string => {
+ const lastPathSegment = pathSegments[pathSegments.length - 1];
+ return ActualPath.resolve(lastPathSegment);
+ },
+ };
+});
+
+/*
+ * Also, clean-up the root package.
+ */
+afterEach(() => {
+ const generatedFilePath: string = Path.resolve(`node_modules/${evaConfig.evaPackage}/generated.json`);
+ Rimraf.sync(generatedFilePath);
+
+ jest.resetAllMocks();
+});
+
+it('should bootstrap @eva-design/eva package', () => {
+ BootstrapService.run(evaConfig);
+
+ const outputString = Fs.readFileSync(`node_modules/${evaConfig.evaPackage}/generated.json`).toString();
+ const outputAsObject = JSON.parse(outputString);
+
+ expect(outputAsObject.checksum).toBeTruthy();
+ expect(outputAsObject.checksum).toEqual('default');
+ expect(outputAsObject.styles).toBeTruthy();
+});
+
+it('should bootstrap @eva-design/eva package with custom styles', () => {
+ BootstrapService.run({ ...evaConfig, customMappingPath: 'src/metro-config/tests/custom-mapping.json' });
+
+ const outputString = Fs.readFileSync(`node_modules/${evaConfig.evaPackage}/generated.json`).toString();
+ const outputAsObject = JSON.parse(outputString);
+
+ expect(outputAsObject.checksum).toBeTruthy();
+ expect(outputAsObject.checksum).not.toEqual('default');
+ expect(outputAsObject.styles.StatusBar).toBeTruthy();
+});
+
diff --git a/src/metro-config/tests/custom-mapping.json b/src/metro-config/tests/custom-mapping.json
new file mode 100644
index 000000000..63c9e1ec2
--- /dev/null
+++ b/src/metro-config/tests/custom-mapping.json
@@ -0,0 +1,32 @@
+{
+ "components": {
+ "StatusBar": {
+ "meta": {
+ "scope": "mobile",
+ "parameters": {
+ "barStyle": {
+ "type": "string"
+ },
+ "backgroundColor": {
+ "type": "string"
+ }
+ },
+ "appearances": {
+ "default": {
+ "default": true
+ }
+ },
+ "variantGroups": {},
+ "states": {}
+ },
+ "appearances": {
+ "default": {
+ "mapping": {
+ "barStyle": "dark-content",
+ "backgroundColor": "background-basic-color-2"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/metro-config/tests/index.spec.ts b/src/metro-config/tests/index.spec.ts
new file mode 100644
index 000000000..a9bdaede5
--- /dev/null
+++ b/src/metro-config/tests/index.spec.ts
@@ -0,0 +1,29 @@
+import * as MetroConfig from '../';
+import { EvaConfig } from '../services/eva-config.service';
+
+const evaConfig: EvaConfig = {
+ evaPackage: '@eva-design/eva',
+ customMappingPath: './path-to/custom-mapping.json',
+};
+
+it('should configure metro bundler with default values', () => {
+ const { reporter, ...restConfig } = MetroConfig.create(evaConfig);
+
+ expect(reporter).toBeTruthy();
+ expect(restConfig).toBeTruthy();
+});
+
+it('should configure metro bundler with extended configuration', () => {
+ const metroConfig = {
+ watchFolders: [
+ './path-to/test-dir',
+ ],
+ };
+
+ const { reporter, watchFolders, ...restConfig } = MetroConfig.create(evaConfig, metroConfig);
+
+ expect(reporter).toBeTruthy();
+ expect(watchFolders[0]).toEqual(metroConfig.watchFolders[0]);
+ expect(restConfig).toBeTruthy();
+});
+
diff --git a/src/moment/package.json b/src/moment/package.json
index b293e93b0..dfd6d4554 100644
--- a/src/moment/package.json
+++ b/src/moment/package.json
@@ -1,7 +1,7 @@
{
"name": "@ui-kitten/moment",
"description": "moment.js services for UI Kitten",
- "version": "4.4.0",
+ "version": "4.4.1",
"author": "akveo ",
"license": "MIT",
"homepage": "https://github.com/akveo/react-native-ui-kitten#readme",
@@ -24,7 +24,7 @@
"moment": "^2.24.0"
},
"peerDependencies": {
- "@ui-kitten/components": "4.4.0",
+ "@ui-kitten/components": "4.4.1",
"moment": "^2.24.0"
},
"sideEffects": false
diff --git a/src/template-js/package.json b/src/template-js/package.json
index acb94f2ba..28b9a3895 100644
--- a/src/template-js/package.json
+++ b/src/template-js/package.json
@@ -1,7 +1,7 @@
{
"name": "@ui-kitten/template-js",
"description": "React Native template project with UI Kitten",
- "version": "4.4.0",
+ "version": "4.4.1",
"author": "akveo ",
"license": "MIT",
"homepage": "https://github.com/akveo/react-native-ui-kitten#readme",
diff --git a/src/template-js/template/package.json b/src/template-js/template/package.json
index 428884e28..7df2d986f 100644
--- a/src/template-js/template/package.json
+++ b/src/template-js/template/package.json
@@ -11,8 +11,8 @@
},
"dependencies": {
"@eva-design/eva": "^1.4.0",
- "@ui-kitten/components": "4.4.0",
- "@ui-kitten/eva-icons": "4.4.0",
+ "@ui-kitten/components": "4.4.1",
+ "@ui-kitten/eva-icons": "4.4.1",
"react": "16.9.0",
"react-native": "0.61.5",
"react-native-svg": "^9.13.3"
diff --git a/src/template-ts/package.json b/src/template-ts/package.json
index bfa287aa6..e7bf1bf03 100644
--- a/src/template-ts/package.json
+++ b/src/template-ts/package.json
@@ -1,7 +1,7 @@
{
"name": "@ui-kitten/template-ts",
"description": "React Native template project with UI Kitten and TypeScript",
- "version": "4.4.0",
+ "version": "4.4.1",
"author": "akveo ",
"license": "MIT",
"homepage": "https://github.com/akveo/react-native-ui-kitten#readme",
diff --git a/src/template-ts/template/package.json b/src/template-ts/template/package.json
index 94d72a4fc..566f885f9 100644
--- a/src/template-ts/template/package.json
+++ b/src/template-ts/template/package.json
@@ -11,8 +11,8 @@
},
"dependencies": {
"@eva-design/eva": "^1.4.0",
- "@ui-kitten/components": "4.4.0",
- "@ui-kitten/eva-icons": "4.4.0",
+ "@ui-kitten/components": "4.4.1",
+ "@ui-kitten/eva-icons": "4.4.1",
"react": "16.9.0",
"react-native": "0.61.5",
"react-native-svg": "^9.13.3"
diff --git a/tsconfig.json b/tsconfig.json
index 2a38ecb8a..99dd9bccb 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -3,9 +3,9 @@
"baseUrl": "./",
"outDir": "./dist/tsc-out",
"target": "esnext",
+ "module": "commonjs",
"moduleResolution": "node",
"jsx": "react",
- "allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"resolveJsonModule": true,
"sourceMap": true,
diff --git a/yarn.lock b/yarn.lock
index b3d3fecf4..3a7dd8072 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -275,7 +275,7 @@
invariant "^2.2.4"
semver "^5.5.0"
-"@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.4.5", "@babel/core@^7.6.2":
+"@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.4.5", "@babel/core@^7.6.2", "@babel/core@^7.7.5":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e"
integrity sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==
@@ -518,7 +518,7 @@
esutils "^2.0.2"
js-tokens "^4.0.0"
-"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.8.3", "@babel/parser@^7.8.4":
+"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.7.5", "@babel/parser@^7.8.3", "@babel/parser@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8"
integrity sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==
@@ -1084,7 +1084,7 @@
levenary "^1.1.1"
semver "^5.5.0"
-"@babel/register@^7.0.0":
+"@babel/register@^7.0.0", "@babel/register@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.8.3.tgz#5d5d30cfcc918437535d724b8ac1e4a60c5db1f8"
integrity sha512-t7UqebaWwo9nXWClIPLPloa5pN33A2leVs8Hf0e9g9YwUP8/H9NeR7DJU+4CXo23QtjChQv5a3DjEtT83ih1rg==
@@ -1102,7 +1102,7 @@
dependencies:
regenerator-runtime "^0.13.2"
-"@babel/template@^7.0.0", "@babel/template@^7.4.0", "@babel/template@^7.8.3":
+"@babel/template@^7.0.0", "@babel/template@^7.4.0", "@babel/template@^7.7.4", "@babel/template@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8"
integrity sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==
@@ -1111,7 +1111,7 @@
"@babel/parser" "^7.8.3"
"@babel/types" "^7.8.3"
-"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.4":
+"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.4.tgz#f0845822365f9d5b0e312ed3959d3f827f869e3c"
integrity sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==
@@ -1136,9 +1136,9 @@
to-fast-properties "^2.0.0"
"@cnakazawa/watch@^1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef"
- integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
+ integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==
dependencies:
exec-sh "^0.3.2"
minimist "^1.2.0"
@@ -1214,12 +1214,27 @@
resolve-from "^5.0.0"
slugify "^1.3.4"
-"@expo/dev-tools@0.9.9":
- version "0.9.9"
- resolved "https://registry.yarnpkg.com/@expo/dev-tools/-/dev-tools-0.9.9.tgz#55a721d5d89b6a3d7ac730127e94a896dbd379c9"
- integrity sha512-nc3cPgPuxrV//47vkD7QcgFxpmXvV0QxnKAHUDuVRUJEmKp+KtDLFl9cgY3X5odcIE2xYG8DDOmPLWIH/wHOyA==
+"@expo/config@2.6.1":
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/@expo/config/-/config-2.6.1.tgz#def808128195fc5d8ff13824e9b1b75f5daaba17"
+ integrity sha512-Q+5WjaKu2AI0hcGWkhQU3AwwuCpTdS2mEF/G9tyatL4UHmDlUSgsskO3J7dxrkfnX8c6VxoUz7ABSw4Bsm+iwQ==
dependencies:
- "@expo/config" "2.5.7"
+ "@babel/register" "^7.8.3"
+ "@expo/json-file" "^8.2.5"
+ "@types/invariant" "^2.2.30"
+ find-yarn-workspace-root "^1.2.1"
+ fs-extra "^7.0.1"
+ invariant "^2.2.4"
+ jest-message-util "^25.1.0"
+ resolve-from "^5.0.0"
+ slugify "^1.3.4"
+
+"@expo/dev-tools@0.10.2":
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/@expo/dev-tools/-/dev-tools-0.10.2.tgz#3d79d35dffc36d00cd33f6df9619fa3e21f7105f"
+ integrity sha512-5Qb+Uw4KbvhqAcZp8D+3lc0Ir6z9pH+tnh0403J08a1/6VSvdg7kpLzOCFpuTjYPyIoVbWdRFdx4Rz0yOLzaUg==
+ dependencies:
+ "@expo/config" "2.6.1"
base64url "3.0.1"
express "4.16.4"
freeport-async "2.0.0"
@@ -1341,10 +1356,10 @@
"@expo/spawn-async" "^1.5.0"
exec-async "^2.2.0"
-"@expo/package-manager@^0.0.4":
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/@expo/package-manager/-/package-manager-0.0.4.tgz#0596b823340a8067f490b2275e3545ffb16ed816"
- integrity sha512-hUXjjKY6L8q3grEshJ/gCpB8uQ1RLveSL5sVUOhtEQMbjDdYyoHiIAP80xbpZvCLmDcBAifRkiSNIHVUyrW1qw==
+"@expo/package-manager@0.0.5":
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/@expo/package-manager/-/package-manager-0.0.5.tgz#4dd10df7a93c28cd7f2d8fcf8ce84de1f44fc95f"
+ integrity sha512-rACiYPfhHS4rwykw00PaTJSMkCRl5S7U3pC187rzi1vaET35kI6xcI7z/yYqztvzHsJQ9Y/S1PmVM8+DJIKIYw==
dependencies:
"@expo/spawn-async" "^1.5.0"
ansi-regex "^5.0.0"
@@ -1388,15 +1403,15 @@
fs-extra "^8.1.0"
lodash "^4.17.15"
-"@expo/traveling-fastlane-darwin@1.11.4":
- version "1.11.4"
- resolved "https://registry.yarnpkg.com/@expo/traveling-fastlane-darwin/-/traveling-fastlane-darwin-1.11.4.tgz#bc83ea2a3c8fa2cb1c7daedf1514c5839b4f1f45"
- integrity sha512-1rNq4yMHGfmYhUJuBH5lKpmHVAa5QjgXbv3MoMqsFrlnwzDaq4qHSs6s/RWHw+gmk5lASEhmW32ALArAxX9ceA==
+"@expo/traveling-fastlane-darwin@1.12.1":
+ version "1.12.1"
+ resolved "https://registry.yarnpkg.com/@expo/traveling-fastlane-darwin/-/traveling-fastlane-darwin-1.12.1.tgz#a963e3248d206cd8c8f5753d26121dd5b8128a5c"
+ integrity sha512-x8hC6o57EqzwCrtwhms+J3YlP6Ld9xr+ajzeVTFhwjq0ag+aJmnZl8EsVLtbZWgiiAL/xBNnh+9vcCOy6S8q+g==
-"@expo/traveling-fastlane-linux@1.11.4":
- version "1.11.4"
- resolved "https://registry.yarnpkg.com/@expo/traveling-fastlane-linux/-/traveling-fastlane-linux-1.11.4.tgz#4e9c3533726528fb220100cb7cce2fcba02d1758"
- integrity sha512-QFMX3XoSIBvhQ/neIE/m0wnBmeC48MEEjGsSZ1J2JdK5bHg4eWbVm7hGWqnMwV6awEjg02KaroupOqohs3NGWg==
+"@expo/traveling-fastlane-linux@1.12.1":
+ version "1.12.1"
+ resolved "https://registry.yarnpkg.com/@expo/traveling-fastlane-linux/-/traveling-fastlane-linux-1.12.1.tgz#e9081b6fc092eaf2f79bf8f6d041f29f6b5fd135"
+ integrity sha512-oJ4uNcuD0hd/5W3eGBVtaTvvn7n14RjN8Z8E+WUjDXhZMLFg25xLtb+uhC8AIaEdvofIgU5DShVkRBCLmLNHgw==
"@expo/vector-icons@^10.0.2":
version "10.0.6"
@@ -1405,7 +1420,45 @@
dependencies:
lodash "^4.17.4"
-"@expo/webpack-config@0.10.12", "@expo/webpack-config@^0.10.11":
+"@expo/webpack-config@0.11.1":
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/@expo/webpack-config/-/webpack-config-0.11.1.tgz#d15741b156c3ccf071557042227273e337c2d396"
+ integrity sha512-11eahXqg1jjjy6Ljk//cp3CTa8qIVUZubLZk1ib+BbT3Pf/gYMGA4lZESt6FvENEiRGA24jwiB5ToJIHfg/eIw==
+ dependencies:
+ "@babel/core" "^7.4.5"
+ "@babel/runtime" "^7.3.4"
+ "@expo/config" "2.6.1"
+ "@expo/webpack-pwa-manifest-plugin" "1.2.21"
+ babel-loader "8.0.6"
+ brotli-webpack-plugin "^1.1.0"
+ chalk "^2.4.2"
+ clean-webpack-plugin "^3.0.0"
+ compression-webpack-plugin "^2.0.0"
+ copy-webpack-plugin "5.0.0"
+ css-loader "^2.1.1"
+ file-loader "4.2.0"
+ getenv "^0.7.0"
+ html-loader "^0.5.5"
+ html-webpack-plugin "4.0.0-alpha.2"
+ is-wsl "^2.0.0"
+ mini-css-extract-plugin "^0.5.0"
+ optimize-css-assets-webpack-plugin "^5.0.1"
+ pnp-webpack-plugin "^1.5.0"
+ postcss-safe-parser "^4.0.1"
+ progress-bar-webpack-plugin "^1.12.1"
+ react-dev-utils "9.0.3"
+ style-loader "^0.23.1"
+ terser-webpack-plugin "^1.2.3"
+ url-loader "^1.1.2"
+ webpack "4.39.0"
+ webpack-bundle-analyzer "^3.0.4"
+ webpack-deep-scope-plugin "1.6.0"
+ webpack-manifest-plugin "^2.2.0"
+ workbox-webpack-plugin "^3.6.3"
+ worker-loader "^2.0.0"
+ yup "^0.27.0"
+
+"@expo/webpack-config@^0.10.11":
version "0.10.12"
resolved "https://registry.yarnpkg.com/@expo/webpack-config/-/webpack-config-0.10.12.tgz#034379463ba0d76dbd48d6bdc09b7e8570379ac5"
integrity sha512-rLx0z2ifJ3OIpMZb4fqKLJdr3gcDL7d/s/fVGGHQxqmiujI84kvrzNiCFc1icA9g/yAR8MErClM7P3z9/iYa4A==
@@ -1458,6 +1511,19 @@
node-fetch "^2.6.0"
tempy "^0.3.0"
+"@expo/webpack-pwa-manifest-plugin@1.2.21":
+ version "1.2.21"
+ resolved "https://registry.yarnpkg.com/@expo/webpack-pwa-manifest-plugin/-/webpack-pwa-manifest-plugin-1.2.21.tgz#5a0213ced1978391964efc0755f1ab6c1b8a8ad2"
+ integrity sha512-YQVR0yzAMaqUJrbluxmgrkbtvPFya3SaoC4uH5U0hZpxsC/SR7nZjEYhRY92Ph+XcO5YI6AgG8eFQpITdB7aUQ==
+ dependencies:
+ "@expo/config" "2.6.1"
+ "@expo/image-utils" "^0.2.12"
+ is-color "^1.0.2"
+ jimp "^0.9.3"
+ mime "^2.4.0"
+ node-fetch "^2.6.0"
+ tempy "^0.3.0"
+
"@expo/websql@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@expo/websql/-/websql-1.0.1.tgz#fff0cf9c1baa1f70f9e1d658b7c39a420d9b10a9"
@@ -1469,19 +1535,19 @@
pouchdb-collections "^1.0.1"
tiny-queue "^0.2.1"
-"@expo/xdl@57.4.7":
- version "57.4.7"
- resolved "https://registry.yarnpkg.com/@expo/xdl/-/xdl-57.4.7.tgz#dd00285426764fb930b2f47c2ac2ed0a5b0a6ff3"
- integrity sha512-2dYDtgyNNGa5adoo4svgv1c6/CdSqnvYLbTaukAhurkKdLD64bxsph5ktL9p9ok3kbTPoaPMmrNTAftoytU40Q==
+"@expo/xdl@57.5.2":
+ version "57.5.2"
+ resolved "https://registry.yarnpkg.com/@expo/xdl/-/xdl-57.5.2.tgz#cd76d27dfd76f3b9da6ba95d87fc7415495c25f5"
+ integrity sha512-s2NDDMtnB8GV7mpXRoAZBMD4i5yK43vEJ2Bv165RO86B1MaYDVyMeGv6RMZbD/+2E7NZKFw7/em2j71u2LlDWA==
dependencies:
"@expo/bunyan" "3.0.2"
- "@expo/config" "2.5.7"
+ "@expo/config" "2.6.1"
"@expo/json-file" "^8.2.5"
"@expo/ngrok" "2.4.3"
"@expo/osascript" "^2.0.10"
"@expo/schemer" "^1.3.4"
"@expo/spawn-async" "1.5.0"
- "@expo/webpack-config" "0.10.12"
+ "@expo/webpack-config" "0.11.1"
analytics-node "3.3.0"
axios "0.19.0"
boxen "4.1.0"
@@ -1505,6 +1571,7 @@
internal-ip "4.3.0"
invariant "2.2.4"
joi "14.0.4"
+ js-yaml "^3.13.1"
latest-version "5.1.0"
lodash "4.17.15"
md5hex "1.0.0"
@@ -1604,6 +1671,21 @@
dependencies:
"@hapi/hoek" "^8.3.0"
+"@istanbuljs/load-nyc-config@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz#10602de5570baea82f8afbfa2630b24e7a8cfe5b"
+ integrity sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg==
+ dependencies:
+ camelcase "^5.3.1"
+ find-up "^4.1.0"
+ js-yaml "^3.13.1"
+ resolve-from "^5.0.0"
+
+"@istanbuljs/schema@^0.1.2":
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd"
+ integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==
+
"@jest/console@^24.7.1", "@jest/console@^24.9.0":
version "24.9.0"
resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0"
@@ -1613,6 +1695,16 @@
chalk "^2.0.1"
slash "^2.0.0"
+"@jest/console@^25.1.0":
+ version "25.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.1.0.tgz#1fc765d44a1e11aec5029c08e798246bd37075ab"
+ integrity sha512-3P1DpqAMK/L07ag/Y9/Jup5iDEG9P4pRAuZiMQnU0JB3UOvCyYCjCoxr7sIA80SeyUCUKrr24fKAxVpmBgQonA==
+ dependencies:
+ "@jest/source-map" "^25.1.0"
+ chalk "^3.0.0"
+ jest-util "^25.1.0"
+ slash "^3.0.0"
+
"@jest/core@^24.9.0":
version "24.9.0"
resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4"
@@ -1702,6 +1794,15 @@
graceful-fs "^4.1.15"
source-map "^0.6.0"
+"@jest/source-map@^25.1.0":
+ version "25.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.1.0.tgz#b012e6c469ccdbc379413f5c1b1ffb7ba7034fb0"
+ integrity sha512-ohf2iKT0xnLWcIUhL6U6QN+CwFWf9XnrM2a6ybL9NXxJjgYijjLSitkYHIdzkd8wFliH73qj/+epIpTiWjRtAA==
+ dependencies:
+ callsites "^3.0.0"
+ graceful-fs "^4.2.3"
+ source-map "^0.6.0"
+
"@jest/test-result@^24.9.0":
version "24.9.0"
resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca"
@@ -1711,6 +1812,17 @@
"@jest/types" "^24.9.0"
"@types/istanbul-lib-coverage" "^2.0.0"
+"@jest/test-result@^25.1.0":
+ version "25.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.1.0.tgz#847af2972c1df9822a8200457e64be4ff62821f7"
+ integrity sha512-FZzSo36h++U93vNWZ0KgvlNuZ9pnDnztvaM7P/UcTx87aPDotG18bXifkf1Ji44B7k/eIatmMzkBapnAzjkJkg==
+ dependencies:
+ "@jest/console" "^25.1.0"
+ "@jest/transform" "^25.1.0"
+ "@jest/types" "^25.1.0"
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ collect-v8-coverage "^1.0.0"
+
"@jest/test-sequencer@^24.9.0":
version "24.9.0"
resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31"
@@ -1743,6 +1855,28 @@
source-map "^0.6.1"
write-file-atomic "2.4.1"
+"@jest/transform@^25.1.0":
+ version "25.1.0"
+ resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.1.0.tgz#221f354f512b4628d88ce776d5b9e601028ea9da"
+ integrity sha512-4ktrQ2TPREVeM+KxB4zskAT84SnmG1vaz4S+51aTefyqn3zocZUnliLLm5Fsl85I3p/kFPN4CRp1RElIfXGegQ==
+ dependencies:
+ "@babel/core" "^7.1.0"
+ "@jest/types" "^25.1.0"
+ babel-plugin-istanbul "^6.0.0"
+ chalk "^3.0.0"
+ convert-source-map "^1.4.0"
+ fast-json-stable-stringify "^2.0.0"
+ graceful-fs "^4.2.3"
+ jest-haste-map "^25.1.0"
+ jest-regex-util "^25.1.0"
+ jest-util "^25.1.0"
+ micromatch "^4.0.2"
+ pirates "^4.0.1"
+ realpath-native "^1.1.0"
+ slash "^3.0.0"
+ source-map "^0.6.1"
+ write-file-atomic "^3.0.0"
+
"@jest/types@^24.9.0":
version "24.9.0"
resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59"
@@ -2090,9 +2224,9 @@
serve-static "^1.13.1"
"@react-native-community/cli-platform-android@^3.0.0":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-3.0.3.tgz#e652abce79a7c1e3a8280228123e99df2c4b97b6"
- integrity sha512-rNO9DmRiVhB6aP2DVUjEJv7ecriTARDZND88ny3xNVUkrD1Y+zwF6aZu3eoT52VXOxLCSLiJzz19OiyGmfqxYg==
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-3.1.4.tgz#61f964dc311623e60b0fb29c5f3732cc8a6f076f"
+ integrity sha512-ClSdY20F0gzWVLTqCv7vHjnUqOcuq10jd9GgHX6lGSc2GI+Ql3/aQg3tmG4uY3KXNNwAv3U8QCoYgg1WGfwiHA==
dependencies:
"@react-native-community/cli-tools" "^3.0.0"
chalk "^2.4.2"
@@ -2103,9 +2237,9 @@
xmldoc "^1.1.2"
"@react-native-community/cli-platform-ios@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-3.0.0.tgz#3a48a449c0c33af3b0b3d19d3256de99388fe15f"
- integrity sha512-QoNVlDj8eMXRZk9uktPFsctHurQpv9jKmiu6mQii4NEtT2npE7g1hbWpRNojutBsfgmCdQGDHd9uB54eeCnYgg==
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-3.2.0.tgz#c469444f5993c9e6737a4b16d78cf033e3702f00"
+ integrity sha512-pzEnx68H6+mHBq5jsMrr3UmAmkrLSMlC9BZ4yoUdfUXCQq6/R70zNYvH4hjUw8h2Al7Kgq53UzHUsM0ph8TSWQ==
dependencies:
"@react-native-community/cli-tools" "^3.0.0"
chalk "^2.4.2"
@@ -2128,9 +2262,9 @@
integrity sha512-ng6Tm537E/M42GjE4TRUxQyL8sRfClcL7bQWblOCoxPZzJ2J3bdALsjeG3vDnVCIfI/R0AeFalN9KjMt0+Z/Zg==
"@react-native-community/cli@^3.0.0":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-3.0.4.tgz#a9dba1bc77855a6e45fccaabb017360645d936bb"
- integrity sha512-kt+ENtC+eRUSfWPbbpx3r7fAQDcFwgM03VW/lBdVAUjkNxffPFT2GGdK23CJSBOXTjRSiGuwhvwH4Z28PdrlRA==
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-3.2.0.tgz#f4b04b94bf96810c4a7f57379a69ebd11fd9c933"
+ integrity sha512-k8GmNQH/EbIIVd4VlVbFP99IRNhovWV6hhnJ3y2+FfZq18H/U6yV/t1bpI3A3QqPuAyWxk/1jBdXvP6BY/7kbw==
dependencies:
"@hapi/joi" "^15.0.3"
"@react-native-community/cli-debugger-ui" "^3.0.0"
@@ -2143,6 +2277,7 @@
connect "^3.6.5"
cosmiconfig "^5.1.0"
deepmerge "^3.2.0"
+ didyoumean "^1.2.1"
envinfo "^7.1.0"
errorhandler "^1.5.0"
execa "^1.0.0"
@@ -2163,6 +2298,7 @@
open "^6.2.0"
ora "^3.4.0"
plist "^3.0.0"
+ pretty-format "^25.1.0"
semver "^6.3.0"
serve-static "^1.13.1"
shell-quote "1.6.1"
@@ -2253,9 +2389,9 @@
integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==
"@types/babel__core@^7.1.0":
- version "7.1.3"
- resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30"
- integrity sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==
+ version "7.1.4"
+ resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.4.tgz#5c5569cc40e5f2737dfc00692f5444e871e4a234"
+ integrity sha512-c/5MuRz5HM4aizqL5ViYfW4iEnmfPcfbH4Xa6GgLT21dMc1NGeNnuS6egHheOmP+kCJ9CAzC4pv4SDCWTnRkbg==
dependencies:
"@babel/parser" "^7.1.0"
"@babel/types" "^7.0.0"
@@ -2361,9 +2497,9 @@
integrity sha512-7TUK/k2/QGpEAv/BCwSHlYu3NXZhQ9ZwBYpzr9tjlPIL2C5BeGhH3DmVavRx3ZNyELX5TLC91JTz/cen6AAtIQ==
"@types/hapi__joi@*":
- version "16.0.9"
- resolved "https://registry.yarnpkg.com/@types/hapi__joi/-/hapi__joi-16.0.9.tgz#0ad11f9de3753748444ac16249a264fc7c798ab4"
- integrity sha512-FV+rJxm4UBxBsRvT5hpiRvnxbpi9iJu4qdwXQvNXf6eXJkcgKGlTwHnstIDAxSTKTUMSmpJnyXpr6XI9X/4SjA==
+ version "16.0.10"
+ resolved "https://registry.yarnpkg.com/@types/hapi__joi/-/hapi__joi-16.0.10.tgz#7e259ef3100b8e04b2eb1643e2e0b01427cde739"
+ integrity sha512-SJawJYHi9Hwh4A3u7BEVYDAkcf9HGmUU32+ruVBAl0Q30LUC2RgDK1xPi3AJbhR6/CDN3a989SjJtR7OwA7eRA==
"@types/hapi__joi@^15.0.4":
version "15.0.4"
@@ -2430,9 +2566,9 @@
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
"@types/node@*":
- version "13.7.0"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.0.tgz#b417deda18cf8400f278733499ad5547ed1abec4"
- integrity sha512-GnZbirvmqZUzMgkFn70c74OQpTTUcCzlhQliTzYjQMqg+hVKcDnxdL19Ne3UdYzdMA/+W3eb646FWn/ZaT1NfQ==
+ version "13.7.1"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.1.tgz#238eb34a66431b71d2aaddeaa7db166f25971a0d"
+ integrity sha512-Zq8gcQGmn4txQEJeiXo/KiLpon8TzAl0kmKH4zdWctPj05nWwp1ClMdAVEloqrQKfaC48PNLdgN/aVaLqUrluA==
"@types/node@^9.4.6":
version "9.6.55"
@@ -2460,9 +2596,9 @@
integrity sha512-lhbQXx9HKZAPgBkISrBcmAcMpZsmpe/Cd/hY7LGZS5OfkySUBItnPZHgQPssWYUET8elF+yCFBbP1Q0RZPTdaw==
"@types/react-native@ts3.7":
- version "0.61.12"
- resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.61.12.tgz#058c80f5aadb99b6cac1cf648e996b7795ca0fab"
- integrity sha512-9Do0pTN9H3hnon0LUCTqIC5fCmFpKU5V8rJEH2iAAsCRm8+2Q7zPUMKuCaSRbO5zhXMW5oC8IE0nCfg1kqyXvw==
+ version "0.61.15"
+ resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.61.15.tgz#3b2032a9abd5e37c8a8cb0fc6a724d57811d4dbc"
+ integrity sha512-+lOUYk3yOfpyMy2HcVbR5bZnbExiVahMr3AqWNPh/01N0quH7nBzlou+/rpbvmDXSGwCh3QjWWfEkLNRfvbiiA==
dependencies:
"@types/react" "*"
@@ -2495,9 +2631,9 @@
"@types/node" "*"
"@types/selenium-webdriver@^3.0.0":
- version "3.0.16"
- resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.16.tgz#50a4755f8e33edacd9c406729e9b930d2451902a"
- integrity sha512-lMC2G0ItF2xv4UCiwbJGbnJlIuUixHrioOhNGHSCsYCJ8l4t9hMCUimCytvFv7qy6AfSzRxhRHoGa+UqaqwyeA==
+ version "3.0.17"
+ resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz#50bea0c3c2acc31c959c5b1e747798b3b3d06d4b"
+ integrity sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==
"@types/source-list-map@*":
version "0.1.2"
@@ -3154,6 +3290,14 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
+anymatch@^3.0.3:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
+ integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
apollo-link@1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.1.tgz#c120b16059f9bd93401b9f72b94d2f80f3f305d2"
@@ -3673,6 +3817,17 @@ babel-plugin-istanbul@^5.1.0:
istanbul-lib-instrument "^3.3.0"
test-exclude "^5.2.3"
+babel-plugin-istanbul@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765"
+ integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@istanbuljs/load-nyc-config" "^1.0.0"
+ "@istanbuljs/schema" "^0.1.2"
+ istanbul-lib-instrument "^4.0.0"
+ test-exclude "^6.0.0"
+
babel-plugin-jest-hoist@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756"
@@ -4106,6 +4261,13 @@ braces@^2.3.1, braces@^2.3.2:
split-string "^3.0.2"
to-regex "^3.0.1"
+braces@^3.0.1:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
brorand@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
@@ -4227,13 +4389,13 @@ browserslist@^1.1.1, browserslist@^1.1.3, browserslist@^1.7.6:
electron-to-chromium "^1.2.7"
browserslist@^4.0.0, browserslist@^4.5.4, browserslist@^4.8.3, browserslist@^4.8.5:
- version "4.8.6"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.6.tgz#96406f3f5f0755d272e27a66f4163ca821590a7e"
- integrity sha512-ZHao85gf0eZ0ESxLfCp73GG9O/VTytYDIkIiZDlURppLTI9wErSM/5yAKEq6rcUdxBLjMELmrYUJGg5sxGKMHg==
+ version "4.8.7"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.7.tgz#ec8301ff415e6a42c949d0e66b405eb539c532d0"
+ integrity sha512-gFOnZNYBHrEyUML0xr5NJ6edFaaKbTFX9S9kQHlYfCP0Rit/boRIz4G+Avq6/4haEKJXdGGUnoolx+5MWW2BoA==
dependencies:
- caniuse-lite "^1.0.30001023"
- electron-to-chromium "^1.3.341"
- node-releases "^1.1.47"
+ caniuse-lite "^1.0.30001027"
+ electron-to-chromium "^1.3.349"
+ node-releases "^1.1.49"
browserstack@^1.5.1:
version "1.5.3"
@@ -4517,7 +4679,7 @@ caniuse-lite@1.0.30000974:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000974.tgz#b7afe14ee004e97ce6dc73e3f878290a12928ad8"
integrity sha512-xc3rkNS/Zc3CmpMKuczWEdY2sZgx09BkAxfvkxlAEBTqcMHeL8QnPqhKse+5sRTi3nrw2pJwToD2WvKn1Uhvww==
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000957, caniuse-lite@^1.0.30000960, caniuse-lite@^1.0.30000984, caniuse-lite@^1.0.30001023:
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000957, caniuse-lite@^1.0.30000960, caniuse-lite@^1.0.30000984, caniuse-lite@^1.0.30001027:
version "1.0.30001027"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz#283e2ef17d94889cc216a22c6f85303d78ca852d"
integrity sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg==
@@ -4645,9 +4807,9 @@ chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4, chokidar@^2.1.1, chokidar@^2.
fsevents "^1.2.7"
chownr@^1.0.1, chownr@^1.1.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142"
- integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
+ integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
chrome-trace-event@^1.0.0, chrome-trace-event@^1.0.2:
version "1.0.2"
@@ -4860,6 +5022,11 @@ codelyzer@^5.0.1:
source-map "^0.5.7"
sprintf-js "^1.1.2"
+collect-v8-coverage@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz#150ee634ac3650b71d9c985eb7f608942334feb1"
+ integrity sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ==
+
collection-map@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c"
@@ -5030,9 +5197,9 @@ compare-func@^1.3.1:
dot-prop "^3.0.0"
compare-versions@^3.4.0:
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.5.1.tgz#26e1f5cf0d48a77eced5046b9f67b6b61075a393"
- integrity sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg==
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
+ integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
component-emitter@^1.2.1:
version "1.3.0"
@@ -5790,9 +5957,9 @@ cssstyle@^1.0.0:
cssom "0.3.x"
csstype@^2.2.0:
- version "2.6.8"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.8.tgz#0fb6fc2417ffd2816a418c9336da74d7f07db431"
- integrity sha512-msVS9qTuMT5zwAGCVm4mxfrZ18BNc6Csd0oJAtiFMZ1FAx1CCvy2+5MDmYoix63LM/6NDbNtodCiGYGmFgO0dA==
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.9.tgz#05141d0cd557a56b8891394c1911c40c8a98d098"
+ integrity sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q==
currently-unhandled@^0.4.1:
version "0.4.1"
@@ -5888,7 +6055,7 @@ debug@3.1.0, debug@=3.1.0:
dependencies:
ms "2.0.0"
-debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5:
+debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6:
version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
@@ -6167,7 +6334,7 @@ detect-indent@^6.0.0:
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd"
integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==
-detect-libc@^1.0.3:
+detect-libc@^1.0.2, detect-libc@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
@@ -6203,6 +6370,11 @@ dezalgo@^1.0.0:
asap "^2.0.0"
wrappy "1"
+didyoumean@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff"
+ integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=
+
diff-sequences@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5"
@@ -6386,12 +6558,12 @@ dot-prop@^3.0.0:
dependencies:
is-obj "^1.0.0"
-dot-prop@^4.1.1:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
- integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==
+dot-prop@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb"
+ integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==
dependencies:
- is-obj "^1.0.0"
+ is-obj "^2.0.0"
dtrace-provider@~0.8:
version "0.8.8"
@@ -6453,10 +6625,10 @@ ejs@^2.6.1:
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba"
integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
-electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.124, electron-to-chromium@^1.3.191, electron-to-chromium@^1.3.341:
- version "1.3.346"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.346.tgz#b08becbfbd64a42061195afd3a4923d0416c5d46"
- integrity sha512-Yy4jF5hJd57BWmGPt0KjaXc25AmWZeQK75kdr4zIzksWVtiT6DwaNtvTb9dt+LkQKwUpvBfCyyPsXXtbY/5GYw==
+electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.124, electron-to-chromium@^1.3.191, electron-to-chromium@^1.3.349:
+ version "1.3.353"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.353.tgz#c6f13f27d5212643979867a400c1a5e8a4ef042a"
+ integrity sha512-CkG24biyy9qQTQs8U2vGQaiyWSFDxAXP/UGHBveXZ1TGoWOAw+eYZXryrX0UeIMKnQjcaHx33hzYuydv98kqGQ==
elliptic@^6.0.0:
version "6.5.2"
@@ -6931,19 +7103,19 @@ expo-asset@~8.0.0:
url-parse "^1.4.4"
expo-cli@^3.11.9:
- version "3.11.9"
- resolved "https://registry.yarnpkg.com/expo-cli/-/expo-cli-3.11.9.tgz#d9de9a4e1c7280106fcf28ac5569f06955fba88e"
- integrity sha512-orL91Us6GQGtx+Yhmo9l8MrktoXypDTJsxLtIjz9yC8l8sisw7yyljgNuaxjSsCfdA/KH59SJdXVdjc9S4uWqQ==
+ version "3.13.1"
+ resolved "https://registry.yarnpkg.com/expo-cli/-/expo-cli-3.13.1.tgz#72d6fc8613ac3789b9a598d0cd36fdfca61a502a"
+ integrity sha512-eP8BsyFJAFK0+tM7tOcLgwxj/Zeu8m2Vfq7+gNktQ5BPI4WTs3YSxPSUpXD68Po0roiU1epCXGP7eN4XXzhf8w==
dependencies:
"@expo/build-tools" "0.1.3"
"@expo/bunyan" "3.0.2"
- "@expo/config" "2.5.7"
- "@expo/dev-tools" "0.9.9"
+ "@expo/config" "2.6.1"
+ "@expo/dev-tools" "0.10.2"
"@expo/json-file" "^8.2.5"
- "@expo/package-manager" "^0.0.4"
+ "@expo/package-manager" "0.0.5"
"@expo/simple-spinner" "1.0.2"
"@expo/spawn-async" "1.5.0"
- "@expo/xdl" "57.4.7"
+ "@expo/xdl" "57.5.2"
"@types/cli-table" "^0.3.0"
"@types/untildify" "^3.0.0"
ansi-regex "^4.1.0"
@@ -6961,7 +7133,7 @@ expo-cli@^3.11.9:
enquirer "^2.3.2"
envinfo "5.10.0"
es6-error "3.2.0"
- expo-optimize "0.0.8"
+ expo-optimize "0.1.1"
fs-extra "6.0.1"
getenv "0.7.0"
glob "7.1.2"
@@ -6989,8 +7161,8 @@ expo-cli@^3.11.9:
validator "10.5.0"
wordwrap "1.0.0"
optionalDependencies:
- "@expo/traveling-fastlane-darwin" "1.11.4"
- "@expo/traveling-fastlane-linux" "1.11.4"
+ "@expo/traveling-fastlane-darwin" "1.12.1"
+ "@expo/traveling-fastlane-linux" "1.12.1"
expo-constants@~8.0.0:
version "8.0.0"
@@ -7035,10 +7207,10 @@ expo-location@~8.0.0:
dependencies:
invariant "^2.2.4"
-expo-optimize@0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/expo-optimize/-/expo-optimize-0.0.8.tgz#972d72a2b9b31bcff72e056d6268f621e7a85bd2"
- integrity sha512-wThnnQEYH9F3zfMAy5716ENZUcnrqMDQHK5LJl8nw547quR12L+BoJ3ZLV3BnuhPHgyEJ0jI9Ha7slOnp+Dyqw==
+expo-optimize@0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/expo-optimize/-/expo-optimize-0.1.1.tgz#cc99a9ea216d41ea36b9dcb83a942d0b0c8240e5"
+ integrity sha512-89U79zHqqPskzoi1/SgWYT1H/zFjjFJH9laZ65EZLlGiYZz9fNkDNIp5S1A5eiOObyhR1T2oWE5rykepyTfE0w==
expo-permissions@~8.0.0:
version "8.0.0"
@@ -7479,6 +7651,13 @@ fill-range@^4.0.0:
repeat-string "^1.6.1"
to-regex-range "^2.1.0"
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
finalhandler@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105"
@@ -7832,6 +8011,11 @@ fsevents@^1.2.7:
bindings "^1.5.0"
nan "^2.12.1"
+fsevents@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805"
+ integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==
+
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
@@ -8292,7 +8476,7 @@ graceful-fs@4.1.10:
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131"
integrity sha1-8tcgwiCS90Mih3XHXjYSYyUB8TE=
-graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0:
+graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
@@ -8385,9 +8569,9 @@ gzip-size@5.1.1, gzip-size@^5.0.0:
duplexer "^0.1.1"
pify "^4.0.1"
-"hammerjs@https://github.com/naver/hammer.js.git":
+"hammerjs@git+https://github.com/naver/hammer.js.git":
version "2.0.17-snapshot"
- resolved "https://github.com/naver/hammer.js.git#54bc698b25edd6e1b76ca975ebaced5ce0467d51"
+ resolved "git+https://github.com/naver/hammer.js.git#54bc698b25edd6e1b76ca975ebaced5ce0467d51"
dependencies:
"@types/hammerjs" "^2.0.36"
@@ -8412,7 +8596,7 @@ har-schema@^2.0.0:
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
-har-validator@~5.1.0:
+har-validator@~5.1.0, har-validator@~5.1.3:
version "5.1.3"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
@@ -8728,9 +8912,9 @@ http-cache-semantics@^3.8.1:
integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==
http-cache-semantics@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5"
- integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#13eeb612424bb113d52172c28a13109c46fa85d7"
+ integrity sha512-Z2EICWNJou7Tr9Bd2M2UqDJq3A9F2ePG9w3lIpjoyuSyXFP9QbniJVu3XQYytuw5ebmG7dXSXO9PgAjJG8DDKA==
http-deceiver@^1.2.7:
version "1.2.7"
@@ -8858,7 +9042,7 @@ iconv-lite@0.4.23:
dependencies:
safer-buffer ">= 2.1.2 < 3"
-iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
+iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
@@ -9041,9 +9225,9 @@ ini@1.3.5, ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
inline-style-prefixer@^5.0.3:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-5.1.1.tgz#43074a2c6f2cdb7cb2e8116b23fd04c635188501"
- integrity sha512-l2zxmdGF/QZNfR3b1hnPr0pkTZUSYYOCCO9zz/AAtaw/LNi1PpjzwumMIz+WKmVhqnWpDdaoqan7yOZM9u2ELQ==
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-5.1.2.tgz#e5a5a3515e25600e016b71e39138971228486c33"
+ integrity sha512-PYUF+94gDfhy+LsQxM0g3d6Hge4l1pAqOSOiZuHWzMvQEGsbRQ/ck2WioLqrY2ZkHyPgVUXxn+hrkF7D6QUGbA==
dependencies:
css-in-js-utils "^2.0.0"
@@ -9439,11 +9623,21 @@ is-number@^4.0.0:
resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
is-obj@^1.0.0, is-obj@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
+is-obj@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
+ integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
+
is-path-cwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
@@ -9579,7 +9773,7 @@ is-text-path@^1.0.1:
dependencies:
text-extensions "^1.0.0"
-is-typedarray@~1.0.0:
+is-typedarray@^1.0.0, is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
@@ -9695,6 +9889,11 @@ istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5:
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49"
integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==
+istanbul-lib-coverage@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec"
+ integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==
+
istanbul-lib-instrument@^1.7.3:
version "1.10.2"
resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca"
@@ -9721,6 +9920,19 @@ istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0:
istanbul-lib-coverage "^2.0.5"
semver "^6.0.0"
+istanbul-lib-instrument@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz#61f13ac2c96cfefb076fe7131156cc05907874e6"
+ integrity sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==
+ dependencies:
+ "@babel/core" "^7.7.5"
+ "@babel/parser" "^7.7.5"
+ "@babel/template" "^7.7.4"
+ "@babel/traverse" "^7.7.4"
+ "@istanbuljs/schema" "^0.1.2"
+ istanbul-lib-coverage "^3.0.0"
+ semver "^6.3.0"
+
istanbul-lib-report@^2.0.4:
version "2.0.8"
resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33"
@@ -9918,6 +10130,24 @@ jest-haste-map@^24.7.1, jest-haste-map@^24.9.0:
optionalDependencies:
fsevents "^1.2.7"
+jest-haste-map@^25.1.0:
+ version "25.1.0"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.1.0.tgz#ae12163d284f19906260aa51fd405b5b2e5a4ad3"
+ integrity sha512-/2oYINIdnQZAqyWSn1GTku571aAfs8NxzSErGek65Iu5o8JYb+113bZysRMcC/pjE5v9w0Yz+ldbj9NxrFyPyw==
+ dependencies:
+ "@jest/types" "^25.1.0"
+ anymatch "^3.0.3"
+ fb-watchman "^2.0.0"
+ graceful-fs "^4.2.3"
+ jest-serializer "^25.1.0"
+ jest-util "^25.1.0"
+ jest-worker "^25.1.0"
+ micromatch "^4.0.2"
+ sane "^4.0.3"
+ walker "^1.0.7"
+ optionalDependencies:
+ fsevents "^2.1.2"
+
jest-jasmine2@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0"
@@ -9972,6 +10202,20 @@ jest-message-util@^24.9.0:
slash "^2.0.0"
stack-utils "^1.0.1"
+jest-message-util@^25.1.0:
+ version "25.1.0"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.1.0.tgz#702a9a5cb05c144b9aa73f06e17faa219389845e"
+ integrity sha512-Nr/Iwar2COfN22aCqX0kCVbXgn8IBm9nWf4xwGr5Olv/KZh0CZ32RKgZWMVDXGdOahicM10/fgjdimGNX/ttCQ==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@jest/test-result" "^25.1.0"
+ "@jest/types" "^25.1.0"
+ "@types/stack-utils" "^1.0.1"
+ chalk "^3.0.0"
+ micromatch "^4.0.2"
+ slash "^3.0.0"
+ stack-utils "^1.0.1"
+
jest-mock@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6"
@@ -9989,6 +10233,11 @@ jest-regex-util@^24.3.0, jest-regex-util@^24.9.0:
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636"
integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==
+jest-regex-util@^25.1.0:
+ version "25.1.0"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.1.0.tgz#efaf75914267741838e01de24da07b2192d16d87"
+ integrity sha512-9lShaDmDpqwg+xAd73zHydKrBbbrIi08Kk9YryBEBybQFg/lBWR/2BDjjiSE7KIppM9C5+c03XiDaZ+m4Pgs1w==
+
jest-resolve-dependencies@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab"
@@ -10068,6 +10317,11 @@ jest-serializer@^24.4.0, jest-serializer@^24.9.0:
resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73"
integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==
+jest-serializer@^25.1.0:
+ version "25.1.0"
+ resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.1.0.tgz#73096ba90e07d19dec4a0c1dd89c355e2f129e5d"
+ integrity sha512-20Wkq5j7o84kssBwvyuJ7Xhn7hdPeTXndnwIblKDR2/sy1SUm6rWWiG9kSCgJPIfkDScJCIsTtOKdlzfIHOfKA==
+
jest-snapshot@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba"
@@ -10105,6 +10359,16 @@ jest-util@^24.9.0:
slash "^2.0.0"
source-map "^0.6.0"
+jest-util@^25.1.0:
+ version "25.1.0"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.1.0.tgz#7bc56f7b2abd534910e9fa252692f50624c897d9"
+ integrity sha512-7did6pLQ++87Qsj26Fs/TIwZMUFBXQ+4XXSodRNy3luch2DnRXsSnmpVtxxQ0Yd6WTipGpbhh2IFP1mq6/fQGw==
+ dependencies:
+ "@jest/types" "^25.1.0"
+ chalk "^3.0.0"
+ is-ci "^2.0.0"
+ mkdirp "^0.5.1"
+
jest-validate@^24.7.0, jest-validate@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab"
@@ -10138,6 +10402,14 @@ jest-worker@^24.6.0, jest-worker@^24.9.0:
merge-stream "^2.0.0"
supports-color "^6.1.0"
+jest-worker@^25.1.0:
+ version "25.1.0"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.1.0.tgz#75d038bad6fdf58eba0d2ec1835856c497e3907a"
+ integrity sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==
+ dependencies:
+ merge-stream "^2.0.0"
+ supports-color "^7.0.0"
+
jest@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171"
@@ -10187,9 +10459,9 @@ join-component@^1.1.0:
integrity sha1-uEF7dQZho5K+4sJTfGiyqdSXfNU=
jpeg-js@^0.3.4:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.3.6.tgz#c40382aac9506e7d1f2d856eb02f6c7b2a98b37c"
- integrity sha512-MUj2XlMB8kpe+8DJUGH/3UJm4XpI8XEgZQ+CiHDeyrGoKPdW/8FJv6ku+3UiYm5Fz3CWaL+iXmD8Q4Ap6aC1Jw==
+ version "0.3.7"
+ resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.3.7.tgz#471a89d06011640592d314158608690172b1028d"
+ integrity sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==
jquery@^3.4.1:
version "3.4.1"
@@ -10197,9 +10469,9 @@ jquery@^3.4.1:
integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==
js-base64@^2.1.9:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121"
- integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209"
+ integrity sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
@@ -11492,6 +11764,14 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8:
snapdragon "^0.8.1"
to-regex "^3.0.2"
+micromatch@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
+ integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+ dependencies:
+ braces "^3.0.1"
+ picomatch "^2.0.5"
+
miller-rabin@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
@@ -11560,9 +11840,9 @@ mimic-response@^1.0.0, mimic-response@^1.0.1:
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
mimic-response@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.0.0.tgz#996a51c60adf12cb8a87d7fb8ef24c2f3d5ebb46"
- integrity sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ==
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
+ integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
min-document@^2.19.0:
version "2.19.0"
@@ -11833,6 +12113,15 @@ ncp@2.0.0, ncp@~2.0.0:
resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=
+needle@^2.2.1:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/needle/-/needle-2.3.2.tgz#3342dea100b7160960a450dc8c22160ac712a528"
+ integrity sha512-DUzITvPVDUy6vczKKYTnWc/pBZ0EnjMJnQ3y+Jo5zfKFimJs7S3HFCxCRZYB9FUZcrzUQr3WsmvZgddMEIZv6w==
+ dependencies:
+ debug "^3.2.6"
+ iconv-lite "^0.4.4"
+ sax "^1.2.4"
+
negotiator@0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
@@ -11843,7 +12132,12 @@ neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1:
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
-next-tick@^1.0.0, next-tick@~1.0.0:
+next-tick@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
+ integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
+
+next-tick@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
@@ -11861,9 +12155,9 @@ no-case@^2.2.0, no-case@^2.3.2:
lower-case "^1.1.1"
node-abi@^2.7.0:
- version "2.14.0"
- resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.14.0.tgz#24650e24e8ffad2b61352519263f0cf4e2ddbfe9"
- integrity sha512-y54KGgEOHnRHlGQi7E5UiryRkH8bmksmQLj/9iLAjoje743YS+KaKB/sDYXgqtT0J16JT3c3AYJZNI98aU/kYg==
+ version "2.15.0"
+ resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.15.0.tgz#51d55cc711bd9e4a24a572ace13b9231945ccb10"
+ integrity sha512-FeLpTS0F39U7hHZU1srAK4Vx+5AHNVOTP+hxBNQknR/54laTHSFIJkDWDqiquY1LeLUgTfPN7sLPhMubx0PLAg==
dependencies:
semver "^5.4.1"
@@ -11954,10 +12248,26 @@ node-notifier@^5.2.1, node-notifier@^5.4.2:
shellwords "^0.1.1"
which "^1.3.0"
-node-releases@^1.1.14, node-releases@^1.1.25, node-releases@^1.1.47:
- version "1.1.48"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.48.tgz#7f647f0c453a0495bcd64cbd4778c26035c2f03a"
- integrity sha512-Hr8BbmUl1ujAST0K0snItzEA5zkJTQup8VNTKNfT6Zw8vTJkIiagUPNfxHmgDOyfFYNfKAul40sD0UEYTvwebw==
+node-pre-gyp@*:
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83"
+ integrity sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==
+ dependencies:
+ detect-libc "^1.0.2"
+ mkdirp "^0.5.1"
+ needle "^2.2.1"
+ nopt "^4.0.1"
+ npm-packlist "^1.1.6"
+ npmlog "^4.0.2"
+ rc "^1.2.7"
+ rimraf "^2.6.1"
+ semver "^5.3.0"
+ tar "^4.4.2"
+
+node-releases@^1.1.14, node-releases@^1.1.25, node-releases@^1.1.49:
+ version "1.1.49"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.49.tgz#67ba5a3fac2319262675ef864ed56798bb33b93e"
+ integrity sha512-xH8t0LS0disN0mtRCh+eByxFPie+msJUBL/lJDBuap53QGiYPa9joh83K4pCZgWJ+2L4b9h88vCVdXQ60NO2bg==
dependencies:
semver "^6.3.0"
@@ -11978,6 +12288,14 @@ nopt@1.0.10:
dependencies:
abbrev "1"
+nopt@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
+ integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=
+ dependencies:
+ abbrev "1"
+ osenv "^0.1.4"
+
normalize-css-color@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/normalize-css-color/-/normalize-css-color-1.0.2.tgz#02991e97cccec6623fe573afbbf0de6a1f3e9f8d"
@@ -12088,7 +12406,7 @@ npm-package-arg@^7.0.0:
semver "^5.6.0"
validate-npm-package-name "^3.0.0"
-npm-packlist@^1.1.12:
+npm-packlist@^1.1.12, npm-packlist@^1.1.6:
version "1.4.8"
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==
@@ -12125,7 +12443,7 @@ npm-run-path@^2.0.0:
dependencies:
path-key "^2.0.0"
-npmlog@^4.0.1, npmlog@^4.1.2:
+npmlog@^4.0.1, npmlog@^4.0.2, npmlog@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
@@ -12460,7 +12778,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2:
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-osenv@^0.1.5:
+osenv@^0.1.4, osenv@^0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
@@ -12938,6 +13256,11 @@ phin@^2.9.1:
resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c"
integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==
+picomatch@^2.0.4, picomatch@^2.0.5:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a"
+ integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==
+
pify@^2.0.0, pify@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@@ -13435,11 +13758,11 @@ postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.1.1:
uniq "^1.0.1"
postcss-selector-parser@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865"
- integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270"
+ integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==
dependencies:
- dot-prop "^4.1.1"
+ dot-prop "^5.2.0"
indexes-of "^1.0.1"
uniq "^1.0.1"
@@ -13694,12 +14017,12 @@ promise@^7.1.1:
asap "~2.0.3"
prompts@^2.0.1:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.0.tgz#a444e968fa4cc7e86689a74050685ac8006c4cc4"
- integrity sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg==
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.1.tgz#b63a9ce2809f106fa9ae1277c275b167af46ea05"
+ integrity sha512-qIP2lQyCwYbdzcqHIUi2HAxiWixhoM9OdLCWf8txXsapC/X9YdsCoeyRIXE/GP+Q0J37Q7+XN/MFqbUa7IzXNA==
dependencies:
kleur "^3.0.3"
- sisteransi "^1.0.3"
+ sisteransi "^1.0.4"
prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
version "15.7.2"
@@ -13883,9 +14206,9 @@ query-string@^5.0.1:
strict-uri-encode "^1.0.0"
query-string@^6.2.0, query-string@^6.4.2:
- version "6.10.1"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.10.1.tgz#30b3505f6fca741d5ae541964d1b3ae9dc2a0de8"
- integrity sha512-SHTUV6gDlgMXg/AQUuLpTiBtW/etZ9JT6k6RCtCyqADquApLX0Aq5oK/s5UeTUAWBG50IExjIr587GqfXRfM4A==
+ version "6.11.0"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.11.0.tgz#dc27a05733d1be66f16d0f83dfa957270f45f66d"
+ integrity sha512-jS+me8X3OEGFTsF6kF+vUUMFG/d3WUCvD7bHhfZP5784nOq1pjj8yau/u86nfOncmcN6ZkSWKWkKAvv/MGxzLA==
dependencies:
decode-uri-component "^0.2.0"
split-on-first "^1.0.0"
@@ -14044,9 +14367,9 @@ react-dom@~16.9.0:
scheduler "^0.15.0"
react-error-overlay@^6.0.1:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.5.tgz#55d59c2a3810e8b41922e0b4e5f85dcf239bd533"
- integrity sha512-+DMR2k5c6BqMDSMF8hLH0vYKtKTeikiFW+fj0LClN+XZg4N9b8QUAdHC62CGWNLTi/gnuuemNcNcTFrCvK1f+A==
+ version "6.0.6"
+ resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.6.tgz#ac4d9dc4c1b5c536c2c312bf66aa2b09bfa384e2"
+ integrity sha512-Yzpno3enVzSrSCnnljmr4b/2KUQSMZaPuqmS26t9k4nW7uwJk6STWmH9heNjPuvqUTO3jOSPkHoKgO4+Dw7uIw==
react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6, react-is@^16.9.0:
version "16.12.0"
@@ -14087,9 +14410,9 @@ react-native-safe-area-view@^0.14.6, react-native-safe-area-view@^0.14.8:
hoist-non-react-statics "^2.3.1"
react-native-screens@^2.0.0-beta.2:
- version "2.0.0-beta.2"
- resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-2.0.0-beta.2.tgz#317e844e02134b42aa0e3551da925c511cc58d64"
- integrity sha512-N+k4S/Wr+YGjzuGF49fB4VjIG6Fcaj4md3uxTsyeshEILGptPWAlgb5hAgn6C9xOj1x/rrAoXwZmrPNxPw6CSg==
+ version "2.0.0-beta.6"
+ resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-2.0.0-beta.6.tgz#d38c6eee0351f9c76e2a70e8b8861e3ae1005d89"
+ integrity sha512-Y0Iled8pPBaP4oKjkVft2yAnm20E7Ny5CCPrP79ctqY3fUJ/iQp79GsHSeaL+30ejZ7B9FaBv64o/toYn2SpRg==
dependencies:
debounce "^1.2.0"
@@ -14378,9 +14701,9 @@ read-pkg@^4.0.1:
util-deprecate "~1.0.1"
"readable-stream@2 || 3", readable-stream@^3.0.1, readable-stream@^3.0.6, readable-stream@^3.1.1:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.5.0.tgz#465d70e6d1087f6162d079cd0b5db7fbebfd1606"
- integrity sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
+ integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
dependencies:
inherits "^2.0.3"
string_decoder "^1.1.1"
@@ -14597,9 +14920,9 @@ regjsparser@^0.1.4:
jsesc "~0.5.0"
regjsparser@^0.6.0:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.2.tgz#fd62c753991467d9d1ffe0a9f67f27a529024b96"
- integrity sha512-E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q==
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.3.tgz#74192c5805d35e9f5ebe3c1fb5b40d40a8a38460"
+ integrity sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA==
dependencies:
jsesc "~0.5.0"
@@ -14714,7 +15037,7 @@ request-promise-native@^1.0.5:
stealthy-require "^1.1.1"
tough-cookie "^2.3.3"
-request@2.88.0, request@^2.81.0, request@^2.83.0, request@^2.87.0, request@^2.88.0:
+request@2.88.0:
version "2.88.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
@@ -14740,6 +15063,32 @@ request@2.88.0, request@^2.81.0, request@^2.83.0, request@^2.87.0, request@^2.88
tunnel-agent "^0.6.0"
uuid "^3.3.2"
+request@^2.81.0, request@^2.83.0, request@^2.87.0, request@^2.88.0:
+ version "2.88.2"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+ integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.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.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
@@ -14864,7 +15213,7 @@ rgba-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
-rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3:
+rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
version "2.7.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
@@ -15159,9 +15508,9 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.2.0, semver@^6.3.0:
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
semver@^7.1.1:
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.2.tgz#847bae5bce68c5d08889824f02667199b70e3d87"
- integrity sha512-BJs9T/H8sEVHbeigqzIEo57Iu/3DG6c4QoqTfbQB3BPA4zgzAomh/Fk9E7QtjWQ8mx2dgA9YCfSF4y9k9bHNpQ==
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.3.tgz#e4345ce73071c53f336445cfc19efb1c311df2a6"
+ integrity sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==
send@0.16.2:
version "0.16.2"
@@ -15392,7 +15741,7 @@ simple-swizzle@^0.2.2:
dependencies:
is-arrayish "^0.3.1"
-sisteransi@^1.0.3:
+sisteransi@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3"
integrity sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==
@@ -16212,7 +16561,7 @@ supports-color@^6.1.0:
dependencies:
has-flag "^3.0.0"
-supports-color@^7.1.0:
+supports-color@^7.0.0, supports-color@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
@@ -16360,7 +16709,7 @@ tar@4.4.6:
safe-buffer "^5.1.2"
yallist "^3.0.2"
-tar@^4.4.8:
+tar@^4.4.2, tar@^4.4.8:
version "4.4.13"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
@@ -16477,6 +16826,15 @@ test-exclude@^5.2.3:
read-pkg-up "^4.0.0"
require-main-filename "^2.0.0"
+test-exclude@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
+ integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
+ dependencies:
+ "@istanbuljs/schema" "^0.1.2"
+ glob "^7.1.4"
+ minimatch "^3.0.4"
+
text-extensions@^1.0.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
@@ -16674,6 +17032,13 @@ to-regex-range@^2.1.0:
is-number "^3.0.0"
repeat-string "^1.6.1"
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
to-regex@^3.0.1, to-regex@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
@@ -16724,7 +17089,7 @@ tough-cookie@>=2.3.3:
psl "^1.1.28"
punycode "^2.1.1"
-tough-cookie@^2.3.3, tough-cookie@^2.3.4:
+tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
@@ -16919,6 +17284,13 @@ type@^2.0.0:
resolved "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3"
integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==
+typedarray-to-buffer@^3.1.5:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
+ integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
+ dependencies:
+ is-typedarray "^1.0.0"
+
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
@@ -17708,7 +18080,7 @@ webpack-log@^2.0.0:
ansi-colors "^3.0.0"
uuid "^3.3.2"
-webpack-manifest-plugin@^2.0.4:
+webpack-manifest-plugin@^2.0.4, webpack-manifest-plugin@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz#19ca69b435b0baec7e29fbe90fb4015de2de4f16"
integrity sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==
@@ -18131,6 +18503,16 @@ write-file-atomic@^2.3.0:
imurmurhash "^0.1.4"
signal-exit "^3.0.2"
+write-file-atomic@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.1.tgz#558328352e673b5bb192cf86500d60b230667d4b"
+ integrity sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==
+ dependencies:
+ imurmurhash "^0.1.4"
+ is-typedarray "^1.0.0"
+ signal-exit "^3.0.2"
+ typedarray-to-buffer "^3.1.5"
+
write-file-stdout@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/write-file-stdout/-/write-file-stdout-0.0.2.tgz#c252d7c7c5b1b402897630e3453c7bfe690d9ca1"