mirror of
https://github.com/expo/config-plugins.git
synced 2026-11-13 20:28:07 -10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3fee1c0e6e | ||
|
|
31aee40ee3 | ||
|
|
21c49280d4 | ||
|
|
ce1a818564 | ||
|
|
241d378a54 | ||
|
|
d1bf616248 | ||
|
|
a99c60efd5 | ||
|
|
331ecb163f | ||
|
|
1003ddb2ec | ||
|
|
5ca4e44a49 | ||
|
|
4103b4eb7d | ||
|
|
f8023bf04c | ||
|
|
1b3e87f930 | ||
|
|
5e3ed6d5e4 | ||
|
|
f46f340623 | ||
|
|
99f18da4ed |
No files matched your search
@@ -0,0 +1,91 @@
|
|||||||
|
# AUTO GENERATED:
|
||||||
|
# This file was generated by running the following in the root directory:
|
||||||
|
#
|
||||||
|
# yarn update-dependabot-config
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/android-jsc-intl
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/detox
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/ffmpeg-kit-react-native
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/ios-stickers
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/react-native-adjust
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/react-native-ble-plx
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/react-native-blob-util
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/react-native-branch
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/react-native-callkeep
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/react-native-dynamic-app-icon
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/react-native-google-cast
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/react-native-pdf
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/react-native-quick-actions
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: packages/react-native-webrtc
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: '09:00'
|
||||||
|
timezone: America/Los_Angeles
|
||||||
@@ -54,6 +54,9 @@ jobs:
|
|||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node }}
|
node-version: ${{ matrix.node }}
|
||||||
|
- name: Lint ${{ matrix.package }}
|
||||||
|
run: yarn lint --max-warnings 0
|
||||||
|
working-directory: packages/${{ matrix.package }}
|
||||||
- name: Test ${{ matrix.package }}
|
- name: Test ${{ matrix.package }}
|
||||||
run: cd packages/${{ matrix.package }} && yarn test
|
run: cd packages/${{ matrix.package }} && yarn test
|
||||||
env:
|
env:
|
||||||
|
|||||||
+16
-4
@@ -5,10 +5,22 @@
|
|||||||
To submit a pull request:
|
To submit a pull request:
|
||||||
|
|
||||||
1. Fork the [repository](https://github.com/expo/config-plugins) and create a feature branch. (Existing contributors can create feature branches without forking. Prefix the branch name with `@your-github-username/`.)
|
1. Fork the [repository](https://github.com/expo/config-plugins) and create a feature branch. (Existing contributors can create feature branches without forking. Prefix the branch name with `@your-github-username/`.)
|
||||||
2. Use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) including in the PR tile.
|
2. Run `yarn` in the root directory to generate the build files.
|
||||||
3. Fill out the entire PR template. Ensure your code is tested locally and has continuous tests in CI.
|
3. Use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) including in the PR tile.
|
||||||
4. Make sure all tests pass on GitHub Actions.
|
4. Fill out the entire PR template. Ensure your code is tested locally and has continuous tests in CI.
|
||||||
5. Wait for a review and adjust the code if necessary.
|
5. Make sure all tests pass on GitHub Actions.
|
||||||
|
6. Wait for a review and adjust the code if necessary.
|
||||||
|
|
||||||
|
## Creating a plugin
|
||||||
|
|
||||||
|
- Plugins can be generated by running `yarn gen`.
|
||||||
|
- Add plugins to the example in [`apps/app`](/apps/app/package.json) to test them.
|
||||||
|
- The example app should always stay in a state of regeneration.
|
||||||
|
|
||||||
|
Be sure to run the following scripts in the **root directory** to update automation tools:
|
||||||
|
|
||||||
|
- Update dependabot: `yarn update-dependabot-config`
|
||||||
|
- Update the issue template: `yarn update-issue-template`
|
||||||
|
|
||||||
## Publishing a release
|
## Publishing a release
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
# Expo Config Plugins
|
# Expo Config Plugins
|
||||||
|
|
||||||
A collection of custom WIP config plugins for Expo dev clients. Use at your own discretion.
|
- A collection of [Expo config plugins](https://docs.expo.dev/guides/config-plugins/) for configuring the `expo prebuild` command.
|
||||||
|
- This repo is to Expo config plugins as [DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped) is to TypeScript.
|
||||||
|
- We prefer packages ship their own Expo config plugin (to ensure versioning is aligned), but if they haven't adopted the system yet, the community can add a package here.
|
||||||
|
- All packages here are community maintained. Feel free to improve docs, packages, tests, etc.
|
||||||
|
- We maintain a 1-1 mapping of **native packages** ⇔ `@config-plugins/*`. This means there should be no general utility packages here -- those are better suited for a different repo / NPM namespace.
|
||||||
|
|
||||||
|
## Contributing!
|
||||||
|
|
||||||
## Creating a plugin
|
See the [contributing guide](/CONTRIBUTING.md).
|
||||||
|
|
||||||
- Plugins can be generated by running `yarn gen`.
|
|
||||||
- Add plugins to the example in [`apps/app`](/apps/app/package.json) to test them.
|
|
||||||
- The example app should always stay in a state of regeneration.
|
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
"postinstall": "expo-yarn-workspaces check-workspace-dependencies",
|
"postinstall": "expo-yarn-workspaces check-workspace-dependencies",
|
||||||
"gen": "ts-node ./scripts/generate-plugin.ts",
|
"gen": "ts-node ./scripts/generate-plugin.ts",
|
||||||
"update-issue-template": "ts-node ./scripts/gh-issues-config.ts",
|
"update-issue-template": "ts-node ./scripts/gh-issues-config.ts",
|
||||||
|
"update-dependabot-config": "ts-node ./scripts/update-dependabot-config.ts",
|
||||||
"start": "lerna run build --parallel -- --watch",
|
"start": "lerna run build --parallel -- --watch",
|
||||||
"prepare": "lerna run prepare --parallel"
|
"prepare": "lerna run prepare --parallel"
|
||||||
},
|
},
|
||||||
@@ -28,6 +29,7 @@
|
|||||||
"semantic-release": "^19.0.2",
|
"semantic-release": "^19.0.2",
|
||||||
"@types/js-yaml": "^4.0.5",
|
"@types/js-yaml": "^4.0.5",
|
||||||
"@types/prompts": "^2.0.13",
|
"@types/prompts": "^2.0.13",
|
||||||
|
"eslint": "^7.25.0",
|
||||||
"expo-yarn-workspaces": "^1.5.1",
|
"expo-yarn-workspaces": "^1.5.1",
|
||||||
"js-yaml": "^4.1.0",
|
"js-yaml": "^4.1.0",
|
||||||
"lerna": "3.4.1",
|
"lerna": "3.4.1",
|
||||||
|
|||||||
@@ -7,17 +7,19 @@ import { ConfigPlugin, withAppBuildGradle } from "@expo/config-plugins";
|
|||||||
*/
|
*/
|
||||||
const withAndroidJscIntl: ConfigPlugin = (config) => {
|
const withAndroidJscIntl: ConfigPlugin = (config) => {
|
||||||
// Return the modified config.
|
// Return the modified config.
|
||||||
return withAppBuildGradle(config, config => {
|
return withAppBuildGradle(config, (config) => {
|
||||||
if (config.modResults.language === 'groovy') {
|
if (config.modResults.language === "groovy") {
|
||||||
config.modResults.contents = config.modResults.contents.replace(
|
config.modResults.contents = config.modResults.contents.replace(
|
||||||
'org.webkit:android-jsc:+',
|
"org.webkit:android-jsc:+",
|
||||||
'org.webkit:android-jsc-intl:+'
|
"org.webkit:android-jsc-intl:+"
|
||||||
)
|
);
|
||||||
} else {
|
} else {
|
||||||
throw new Error('[@expo/config-plugins][withAndroidJscIntl] Cannot enable Intl in Android JSC app gradle because the build.gradle is not groovy.')
|
throw new Error(
|
||||||
|
"[@expo/config-plugins][withAndroidJscIntl] Cannot enable Intl in Android JSC app gradle because the build.gradle is not groovy."
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return config
|
return config;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export default withAndroidJscIntl
|
export default withAndroidJscIntl;
|
||||||
@@ -7,13 +7,13 @@ describe(getTemplateFile, () => {
|
|||||||
it(`returns only base-config when subdomains is '*'`, () => {
|
it(`returns only base-config when subdomains is '*'`, () => {
|
||||||
const content = getTemplateFile("*");
|
const content = getTemplateFile("*");
|
||||||
expect(content).toMatchSnapshot();
|
expect(content).toMatchSnapshot();
|
||||||
expect(content).toMatch(/base\-config/);
|
expect(content).toMatch(/base-config/);
|
||||||
expect(content).not.toMatch(/domain\-config/);
|
expect(content).not.toMatch(/domain-config/);
|
||||||
});
|
});
|
||||||
it(`returns domain-config when subdomains is an array`, () => {
|
it(`returns domain-config when subdomains is an array`, () => {
|
||||||
const content = getTemplateFile(["localhost"]);
|
const content = getTemplateFile(["localhost"]);
|
||||||
expect(content).toMatchSnapshot();
|
expect(content).toMatchSnapshot();
|
||||||
expect(content).toMatch(/domain\-config/);
|
expect(content).toMatch(/domain-config/);
|
||||||
expect(content).toMatch(/localhost/);
|
expect(content).toMatch(/localhost/);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ import withDetoxProjectGradle from "./withDetoxProjectGradle";
|
|||||||
import withDetoxTestAppGradle from "./withDetoxTestAppGradle";
|
import withDetoxTestAppGradle from "./withDetoxTestAppGradle";
|
||||||
import { withDetoxTestClass } from "./withDetoxTestClass";
|
import { withDetoxTestClass } from "./withDetoxTestClass";
|
||||||
import withKotlinGradle from "./withKotlinGradle";
|
import withKotlinGradle from "./withKotlinGradle";
|
||||||
import { withNetworkSecurityConfigManifest, SubdomainsType } from "./withNetworkSecurityConfig";
|
import {
|
||||||
|
withNetworkSecurityConfigManifest,
|
||||||
|
SubdomainsType,
|
||||||
|
} from "./withNetworkSecurityConfig";
|
||||||
import withProguardGradle from "./withProguardGradle";
|
import withProguardGradle from "./withProguardGradle";
|
||||||
|
|
||||||
const withDetox: ConfigPlugin<{
|
const withDetox: ConfigPlugin<{
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ const withDetoxTestAppGradle: ConfigPlugin = (config) => {
|
|||||||
export function setGradleAndroidTestImplementation(
|
export function setGradleAndroidTestImplementation(
|
||||||
buildGradle: string
|
buildGradle: string
|
||||||
): string {
|
): string {
|
||||||
const pattern = /androidTestImplementation\(\'com.wix:detox:\+\'\)/g;
|
const pattern = /androidTestImplementation\('com.wix:detox:\+'\)/g;
|
||||||
if (buildGradle.match(pattern)) {
|
if (buildGradle.match(pattern)) {
|
||||||
return buildGradle;
|
return buildGradle;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { ConfigPlugin, withDangerousMod } from "@expo/config-plugins";
|
import { ConfigPlugin, withDangerousMod } from "@expo/config-plugins";
|
||||||
import * as path from "path";
|
|
||||||
import * as fs from "fs";
|
|
||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
|
import fs from "fs";
|
||||||
|
import path from "path";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copied from the [official template file](https://github.com/wix/Detox/blob/master/examples/demo-react-native/android/app/src/androidTest/java/com/example/DetoxTest.java).
|
* Copied from the [official template file](https://github.com/wix/Detox/blob/master/examples/demo-react-native/android/app/src/androidTest/java/com/example/DetoxTest.java).
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ import {
|
|||||||
withAndroidManifest,
|
withAndroidManifest,
|
||||||
withDangerousMod,
|
withDangerousMod,
|
||||||
} from "@expo/config-plugins";
|
} from "@expo/config-plugins";
|
||||||
import * as path from "path";
|
|
||||||
import * as fs from "fs";
|
|
||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
|
import fs from "fs";
|
||||||
|
import path from "path";
|
||||||
|
|
||||||
export type SubdomainsType = string[] | "*";
|
export type SubdomainsType = string[] | "*";
|
||||||
|
|
||||||
@@ -69,11 +69,9 @@ const withNetworkSecurityConfigFile: ConfigPlugin<{
|
|||||||
/**
|
/**
|
||||||
* [Step 6](https://github.com/wix/Detox/blob/master/docs/Introduction.Android.md#6-enable-clear-text-unencrypted-traffic-for-detox). Link the `network_security_config.xml` file to the `AndroidManifest.xml`.
|
* [Step 6](https://github.com/wix/Detox/blob/master/docs/Introduction.Android.md#6-enable-clear-text-unencrypted-traffic-for-detox). Link the `network_security_config.xml` file to the `AndroidManifest.xml`.
|
||||||
*/
|
*/
|
||||||
export const withNetworkSecurityConfigManifest: ConfigPlugin<
|
export const withNetworkSecurityConfigManifest: ConfigPlugin<{
|
||||||
{
|
subdomains: SubdomainsType;
|
||||||
subdomains: SubdomainsType;
|
} | void> = (config, props) => {
|
||||||
} | void
|
|
||||||
> = (config, props) => {
|
|
||||||
if (!props || !props.subdomains) {
|
if (!props || !props.subdomains) {
|
||||||
// (*) 10.0.2.2 for Google emulators, 10.0.3.2 for Genymotion emulators.
|
// (*) 10.0.2.2 for Google emulators, 10.0.3.2 for Genymotion emulators.
|
||||||
// https://developer.android.com/training/articles/security-config
|
// https://developer.android.com/training/articles/security-config
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ const withProguardGradle: ConfigPlugin = (config) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export function addDetoxProguardRules(buildGradle: string): string {
|
export function addDetoxProguardRules(buildGradle: string): string {
|
||||||
const pattern = /detox\/proguard\-rules\-app\.pro/g;
|
const pattern = /detox\/proguard-rules-app\.pro/g;
|
||||||
if (buildGradle.match(pattern)) {
|
if (buildGradle.match(pattern)) {
|
||||||
return buildGradle;
|
return buildGradle;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
import { ConfigPlugin } from "@expo/config-plugins";
|
import { ConfigPlugin } from "@expo/config-plugins";
|
||||||
|
import path from "path";
|
||||||
import { validate } from "schema-utils";
|
import { validate } from "schema-utils";
|
||||||
|
|
||||||
import schema from "./options.json";
|
import schema from "./options.json";
|
||||||
import { Props, Sticker, withStickerAssets } from "./withStickerAssets";
|
import { Props, Sticker, withStickerAssets } from "./withStickerAssets";
|
||||||
import { withStickersPlist } from "./withStickerInfoPlist";
|
import { withStickersPlist } from "./withStickerInfoPlist";
|
||||||
import { withStickerXcodeTarget } from "./withStickerXcodeTarget";
|
import { withStickerXcodeTarget } from "./withStickerXcodeTarget";
|
||||||
import path from "path";
|
|
||||||
|
|
||||||
// TODO: Maybe the name is better to use as a prop...
|
// TODO: Maybe the name is better to use as a prop...
|
||||||
const sizeColumnMap: Record<number, string> = {
|
const sizeColumnMap: Record<number, string> = {
|
||||||
|
|||||||
@@ -91,9 +91,9 @@ export function addStickersTarget(
|
|||||||
subfolder: string
|
subfolder: string
|
||||||
) {
|
) {
|
||||||
// Setup uuid and name of new target
|
// Setup uuid and name of new target
|
||||||
let targetUuid = proj.generateUuid();
|
const targetUuid = proj.generateUuid();
|
||||||
let targetType = "app_extension_messages_sticker_pack";
|
const targetType = "app_extension_messages_sticker_pack";
|
||||||
let targetName = name.trim();
|
const targetName = name.trim();
|
||||||
const bundleName = subfolder.trim().split(" ").join("-");
|
const bundleName = subfolder.trim().split(" ").join("-");
|
||||||
|
|
||||||
// Check type against list of allowed target types
|
// Check type against list of allowed target types
|
||||||
|
|||||||
@@ -1,42 +1,44 @@
|
|||||||
import { AndroidConfig, XML } from '@expo/config-plugins'
|
import { AndroidConfig, XML } from "@expo/config-plugins";
|
||||||
|
import { resolve } from "path";
|
||||||
|
|
||||||
import { resolve } from 'path'
|
import {
|
||||||
|
addBLEHardwareFeatureToManifest,
|
||||||
|
addFineControlPermissionToManifest,
|
||||||
|
} from "../withBLEAndroidManifest";
|
||||||
|
|
||||||
import { addBLEHardwareFeatureToManifest, addFineControlPermissionToManifest } from '../withBLEAndroidManifest'
|
const { readAndroidManifestAsync } = AndroidConfig.Manifest;
|
||||||
|
|
||||||
const { readAndroidManifestAsync } = AndroidConfig.Manifest
|
const sampleManifestPath = resolve(__dirname, "fixtures/AndroidManifest.xml");
|
||||||
|
|
||||||
const sampleManifestPath = resolve(__dirname, 'fixtures/AndroidManifest.xml')
|
describe("addFineControlPermissionToManifest", () => {
|
||||||
|
|
||||||
describe('addFineControlPermissionToManifest', () => {
|
|
||||||
it(`adds element`, async () => {
|
it(`adds element`, async () => {
|
||||||
let androidManifest = await readAndroidManifestAsync(sampleManifestPath)
|
let androidManifest = await readAndroidManifestAsync(sampleManifestPath);
|
||||||
androidManifest = await addFineControlPermissionToManifest(androidManifest)
|
androidManifest = await addFineControlPermissionToManifest(androidManifest);
|
||||||
expect(androidManifest.manifest['uses-permission-sdk-23']).toStrictEqual([
|
expect(androidManifest.manifest["uses-permission-sdk-23"]).toStrictEqual([
|
||||||
{ $: { 'android:name': 'android.permission.ACCESS_FINE_LOCATION' } }
|
{ $: { "android:name": "android.permission.ACCESS_FINE_LOCATION" } },
|
||||||
])
|
]);
|
||||||
// Sanity
|
// Sanity
|
||||||
expect(XML.format(androidManifest)).toMatch(
|
expect(XML.format(androidManifest)).toMatch(
|
||||||
/<uses-permission-sdk-23 android:name="android\.permission\.ACCESS_FINE_LOCATION"\/>/
|
/<uses-permission-sdk-23 android:name="android\.permission\.ACCESS_FINE_LOCATION"\/>/
|
||||||
)
|
);
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
describe('addBLEHardwareFeatureToManifest', () => {
|
describe("addBLEHardwareFeatureToManifest", () => {
|
||||||
it(`adds element`, async () => {
|
it(`adds element`, async () => {
|
||||||
let androidManifest = await readAndroidManifestAsync(sampleManifestPath)
|
let androidManifest = await readAndroidManifestAsync(sampleManifestPath);
|
||||||
androidManifest = await addBLEHardwareFeatureToManifest(androidManifest)
|
androidManifest = await addBLEHardwareFeatureToManifest(androidManifest);
|
||||||
|
|
||||||
expect(androidManifest.manifest['uses-feature']).toStrictEqual([
|
expect(androidManifest.manifest["uses-feature"]).toStrictEqual([
|
||||||
{
|
{
|
||||||
$: {
|
$: {
|
||||||
'android:name': 'android.hardware.bluetooth_le',
|
"android:name": "android.hardware.bluetooth_le",
|
||||||
'android:required': 'true'
|
"android:required": "true",
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
])
|
]);
|
||||||
// Sanity
|
// Sanity
|
||||||
expect(XML.format(androidManifest)).toMatch(
|
expect(XML.format(androidManifest)).toMatch(
|
||||||
/<uses-feature android:name="android\.hardware\.bluetooth_le" android:required="true"\/>/
|
/<uses-feature android:name="android\.hardware\.bluetooth_le" android:required="true"\/>/
|
||||||
)
|
);
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
/* eslint-disable flowtype/no-types-missing-file-annotation */
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
AndroidConfig,
|
AndroidConfig,
|
||||||
ConfigPlugin,
|
ConfigPlugin,
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
/* eslint-disable flowtype/no-types-missing-file-annotation */
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ConfigPlugin,
|
ConfigPlugin,
|
||||||
withAndroidManifest,
|
withAndroidManifest,
|
||||||
AndroidConfig,
|
AndroidConfig,
|
||||||
} from "@expo/config-plugins";
|
} from "@expo/config-plugins";
|
||||||
|
|
||||||
type InnerManifest = AndroidConfig.Manifest.AndroidManifest['manifest'];
|
type InnerManifest = AndroidConfig.Manifest.AndroidManifest["manifest"];
|
||||||
|
|
||||||
type ManifestPermission = InnerManifest["permission"];
|
type ManifestPermission = InnerManifest["permission"];
|
||||||
|
|
||||||
|
|||||||
@@ -1,42 +1,50 @@
|
|||||||
/* eslint-disable flowtype/no-types-missing-file-annotation */
|
import { ConfigPlugin, withInfoPlist } from "@expo/config-plugins";
|
||||||
import { ConfigPlugin, withInfoPlist } from '@expo/config-plugins'
|
|
||||||
|
|
||||||
export enum BackgroundMode {
|
export enum BackgroundMode {
|
||||||
Central = 'central',
|
Central = "central",
|
||||||
Peripheral = 'peripheral'
|
Peripheral = "peripheral",
|
||||||
}
|
}
|
||||||
|
|
||||||
function ensureKey(arr: string[], key: string) {
|
function ensureKey(arr: string[], key: string) {
|
||||||
if (!arr.find(mode => mode === key)) {
|
if (!arr.find((mode) => mode === key)) {
|
||||||
arr.push(key)
|
arr.push(key);
|
||||||
}
|
}
|
||||||
return arr
|
return arr;
|
||||||
}
|
}
|
||||||
|
|
||||||
const centralKey = 'bluetooth-central'
|
const centralKey = "bluetooth-central";
|
||||||
const peripheralKey = 'bluetooth-peripheral'
|
const peripheralKey = "bluetooth-peripheral";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Append `UIBackgroundModes` to the `Info.plist`.
|
* Append `UIBackgroundModes` to the `Info.plist`.
|
||||||
*/
|
*/
|
||||||
export const withBLEBackgroundModes: ConfigPlugin<BackgroundMode[]> = (c, modes) => {
|
export const withBLEBackgroundModes: ConfigPlugin<BackgroundMode[]> = (
|
||||||
return withInfoPlist(c, config => {
|
c,
|
||||||
|
modes
|
||||||
|
) => {
|
||||||
|
return withInfoPlist(c, (config) => {
|
||||||
if (!Array.isArray(config.modResults.UIBackgroundModes)) {
|
if (!Array.isArray(config.modResults.UIBackgroundModes)) {
|
||||||
config.modResults.UIBackgroundModes = []
|
config.modResults.UIBackgroundModes = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (modes.includes(BackgroundMode.Central)) {
|
if (modes.includes(BackgroundMode.Central)) {
|
||||||
config.modResults.UIBackgroundModes = ensureKey(config.modResults.UIBackgroundModes, centralKey)
|
config.modResults.UIBackgroundModes = ensureKey(
|
||||||
|
config.modResults.UIBackgroundModes,
|
||||||
|
centralKey
|
||||||
|
);
|
||||||
}
|
}
|
||||||
if (modes.includes(BackgroundMode.Peripheral)) {
|
if (modes.includes(BackgroundMode.Peripheral)) {
|
||||||
config.modResults.UIBackgroundModes = ensureKey(config.modResults.UIBackgroundModes, peripheralKey)
|
config.modResults.UIBackgroundModes = ensureKey(
|
||||||
|
config.modResults.UIBackgroundModes,
|
||||||
|
peripheralKey
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prevent empty array
|
// Prevent empty array
|
||||||
if (!config.modResults.UIBackgroundModes.length) {
|
if (!config.modResults.UIBackgroundModes.length) {
|
||||||
delete config.modResults.UIBackgroundModes
|
delete config.modResults.UIBackgroundModes;
|
||||||
}
|
}
|
||||||
|
|
||||||
return config
|
return config;
|
||||||
})
|
});
|
||||||
}
|
};
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
/* eslint-disable flowtype/no-types-missing-file-annotation */
|
|
||||||
import { ConfigPlugin, withInfoPlist } from "@expo/config-plugins";
|
import { ConfigPlugin, withInfoPlist } from "@expo/config-plugins";
|
||||||
|
|
||||||
const BLUETOOTH_ALWAYS =
|
const BLUETOOTH_ALWAYS =
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { AndroidConfig, XML } from "@expo/config-plugins";
|
import { XML } from "@expo/config-plugins";
|
||||||
|
|
||||||
import { appendDownloadCompleteAction } from "../withReactNativeBlobUtil";
|
import { appendDownloadCompleteAction } from "../withReactNativeBlobUtil";
|
||||||
|
|
||||||
const fixture = `
|
const fixture = `
|
||||||
|
|||||||
+1
-1
@@ -2,5 +2,5 @@ import type { ConfigPlugin, InfoPlist } from "@expo/config-plugins";
|
|||||||
import type { ExpoConfig } from "@expo/config-types";
|
import type { ExpoConfig } from "@expo/config-types";
|
||||||
import type { ConfigData } from "./types";
|
import type { ConfigData } from "./types";
|
||||||
export declare function getBranchApiKey(config: Pick<ExpoConfig, "ios">): string | null;
|
export declare function getBranchApiKey(config: Pick<ExpoConfig, "ios">): string | null;
|
||||||
export declare function setBranchApiKey(apiKey: string, infoPlist: InfoPlist): InfoPlist;
|
export declare function setBranchApiKey(apiKey: string | null, infoPlist: InfoPlist): InfoPlist;
|
||||||
export declare const withBranchIOS: ConfigPlugin<ConfigData>;
|
export declare const withBranchIOS: ConfigPlugin<ConfigData>;
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createRunOncePlugin } from "@expo/config-plugins";
|
import { createRunOncePlugin } from "@expo/config-plugins";
|
||||||
import type { ConfigPlugin } from "@expo/config-plugins";
|
import type { ConfigPlugin } from "@expo/config-plugins";
|
||||||
|
|
||||||
|
import type { ConfigData } from "./types";
|
||||||
import { withBranchAndroid } from "./withBranchAndroid";
|
import { withBranchAndroid } from "./withBranchAndroid";
|
||||||
import { withBranchIOS } from "./withBranchIOS";
|
import { withBranchIOS } from "./withBranchIOS";
|
||||||
import type { ConfigData } from "./types";
|
|
||||||
|
|
||||||
const withBranch: ConfigPlugin<ConfigData> = (
|
const withBranch: ConfigPlugin<ConfigData> = (
|
||||||
config,
|
config,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { withInfoPlist } from "@expo/config-plugins";
|
import { withInfoPlist } from "@expo/config-plugins";
|
||||||
import type { ConfigPlugin, InfoPlist } from "@expo/config-plugins";
|
import type { ConfigPlugin, InfoPlist } from "@expo/config-plugins";
|
||||||
import type { ExpoConfig } from "@expo/config-types";
|
import type { ExpoConfig } from "@expo/config-types";
|
||||||
|
|
||||||
import type { ConfigData } from "./types";
|
import type { ConfigData } from "./types";
|
||||||
|
|
||||||
export function getBranchApiKey(config: Pick<ExpoConfig, "ios">) {
|
export function getBranchApiKey(config: Pick<ExpoConfig, "ios">) {
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
### @config-plugins/react-native-callkeep [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
|
||||||
|
|
||||||
|
|
||||||
|
### Other chores
|
||||||
|
|
||||||
|
* **react-native-callkeep:** lint fix ([241d378](https://github.com/expo/config-plugins/commit/241d378a54327340df3663ef8f66cb8663e1e359))
|
||||||
|
|
||||||
### @config-plugins/react-native-callkeep [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
|
### @config-plugins/react-native-callkeep [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+4
-3
@@ -7,8 +7,9 @@ function unquote(str) {
|
|||||||
return str.replace(/^"(.*)"$/, "$1");
|
return str.replace(/^"(.*)"$/, "$1");
|
||||||
}
|
}
|
||||||
function nonComments(obj) {
|
function nonComments(obj) {
|
||||||
var keys = Object.keys(obj), newObj = {}, i = 0;
|
const keys = Object.keys(obj);
|
||||||
for (i; i < keys.length; i++) {
|
const newObj = {};
|
||||||
|
for (let i = 0; i < keys.length; i++) {
|
||||||
if (!COMMENT_KEY.test(keys[i])) {
|
if (!COMMENT_KEY.test(keys[i])) {
|
||||||
newObj[keys[i]] = obj[keys[i]];
|
newObj[keys[i]] = obj[keys[i]];
|
||||||
}
|
}
|
||||||
@@ -20,7 +21,7 @@ function ensureHeaderSearchPath(project, file) {
|
|||||||
const INHERITED = '"$(inherited)"';
|
const INHERITED = '"$(inherited)"';
|
||||||
for (const config in configurations) {
|
for (const config in configurations) {
|
||||||
const buildSettings = configurations[config].buildSettings;
|
const buildSettings = configurations[config].buildSettings;
|
||||||
if (unquote(buildSettings["PRODUCT_NAME"]) != project.productName)
|
if (unquote(buildSettings["PRODUCT_NAME"]) !== project.productName)
|
||||||
continue;
|
continue;
|
||||||
if (!buildSettings["HEADER_SEARCH_PATHS"]) {
|
if (!buildSettings["HEADER_SEARCH_PATHS"]) {
|
||||||
buildSettings["HEADER_SEARCH_PATHS"] = [INHERITED];
|
buildSettings["HEADER_SEARCH_PATHS"] = [INHERITED];
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@config-plugins/react-native-callkeep",
|
"name": "@config-plugins/react-native-callkeep",
|
||||||
"version": "1.0.2",
|
"version": "1.0.3",
|
||||||
"description": "Config plugin to auto configure callkeep on prebuild",
|
"description": "Config plugin to auto configure callkeep on prebuild",
|
||||||
"main": "build/withCallkeep.js",
|
"main": "build/withCallkeep.js",
|
||||||
"types": "build/withCallkeep.d.ts",
|
"types": "build/withCallkeep.d.ts",
|
||||||
|
|||||||
@@ -6,11 +6,10 @@ function unquote(str: string) {
|
|||||||
if (str) return str.replace(/^"(.*)"$/, "$1");
|
if (str) return str.replace(/^"(.*)"$/, "$1");
|
||||||
}
|
}
|
||||||
function nonComments(obj: Record<string, any>) {
|
function nonComments(obj: Record<string, any>) {
|
||||||
var keys = Object.keys(obj),
|
const keys = Object.keys(obj);
|
||||||
newObj: Record<string, any> = {},
|
const newObj: Record<string, any> = {};
|
||||||
i = 0;
|
|
||||||
|
|
||||||
for (i; i < keys.length; i++) {
|
for (let i = 0; i < keys.length; i++) {
|
||||||
if (!COMMENT_KEY.test(keys[i])) {
|
if (!COMMENT_KEY.test(keys[i])) {
|
||||||
newObj[keys[i]] = obj[keys[i]];
|
newObj[keys[i]] = obj[keys[i]];
|
||||||
}
|
}
|
||||||
@@ -26,7 +25,8 @@ export function ensureHeaderSearchPath(project: XcodeProject, file: string) {
|
|||||||
for (const config in configurations) {
|
for (const config in configurations) {
|
||||||
const buildSettings = configurations[config].buildSettings;
|
const buildSettings = configurations[config].buildSettings;
|
||||||
|
|
||||||
if (unquote(buildSettings["PRODUCT_NAME"]) != project.productName) continue;
|
if (unquote(buildSettings["PRODUCT_NAME"]) !== project.productName)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (!buildSettings["HEADER_SEARCH_PATHS"]) {
|
if (!buildSettings["HEADER_SEARCH_PATHS"]) {
|
||||||
buildSettings["HEADER_SEARCH_PATHS"] = [INHERITED];
|
buildSettings["HEADER_SEARCH_PATHS"] = [INHERITED];
|
||||||
|
|||||||
@@ -129,8 +129,7 @@ export const withXcodeLinkBinaryWithLibraries: ConfigPlugin<{
|
|||||||
status?: string;
|
status?: string;
|
||||||
}> = (config, { library, status }) => {
|
}> = (config, { library, status }) => {
|
||||||
return withXcodeProject(config, (config) => {
|
return withXcodeProject(config, (config) => {
|
||||||
const options =
|
const options = status === "optional" ? { weak: true } : {};
|
||||||
status === "optional" ? { weak: true } : {};
|
|
||||||
|
|
||||||
const target = IOSConfig.XcodeUtils.getApplicationNativeTarget({
|
const target = IOSConfig.XcodeUtils.getApplicationNativeTarget({
|
||||||
project: config.modResults,
|
project: config.modResults,
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ import {
|
|||||||
import { generateImageAsync } from "@expo/image-utils";
|
import { generateImageAsync } from "@expo/image-utils";
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import path from "path";
|
import path from "path";
|
||||||
|
// @ts-ignore
|
||||||
|
import pbxFile from "xcode/lib/pbxFile";
|
||||||
|
|
||||||
const folderName = "DynamicAppIcons";
|
const folderName = "DynamicAppIcons";
|
||||||
const size = 60;
|
const size = 60;
|
||||||
@@ -56,9 +58,6 @@ function getIconName(name: string, size: number, scale?: number) {
|
|||||||
return fileName;
|
return fileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @ts-ignore
|
|
||||||
import pbxFile from "xcode/lib/pbxFile";
|
|
||||||
|
|
||||||
const withIconXcodeProject: ConfigPlugin<Props> = (config, { icons }) => {
|
const withIconXcodeProject: ConfigPlugin<Props> = (config, { icons }) => {
|
||||||
return withXcodeProject(config, async (config) => {
|
return withXcodeProject(config, async (config) => {
|
||||||
const groupPath = `${config.modRequest.projectName!}/${folderName}`;
|
const groupPath = `${config.modRequest.projectName!}/${folderName}`;
|
||||||
|
|||||||
@@ -6,12 +6,11 @@ import {
|
|||||||
withMainActivity,
|
withMainActivity,
|
||||||
withProjectBuildGradle,
|
withProjectBuildGradle,
|
||||||
} from "@expo/config-plugins";
|
} from "@expo/config-plugins";
|
||||||
|
import { addImports } from "@expo/config-plugins/build/android/codeMod";
|
||||||
import {
|
import {
|
||||||
mergeContents,
|
mergeContents,
|
||||||
removeContents,
|
removeContents,
|
||||||
} from "@expo/config-plugins/build/utils/generateCode";
|
} from "@expo/config-plugins/build/utils/generateCode";
|
||||||
import { addImports } from "@expo/config-plugins/build/android/codeMod";
|
|
||||||
import fs from "fs";
|
|
||||||
|
|
||||||
const { addMetaDataItemToMainApplication, getMainApplicationOrThrow } =
|
const { addMetaDataItemToMainApplication, getMainApplicationOrThrow } =
|
||||||
AndroidConfig.Manifest;
|
AndroidConfig.Manifest;
|
||||||
@@ -121,7 +120,7 @@ const withAppBuildGradleImport: ConfigPlugin<{ version?: string }> = (
|
|||||||
|
|
||||||
const withMainActivityLazyLoading: ConfigPlugin = (config) => {
|
const withMainActivityLazyLoading: ConfigPlugin = (config) => {
|
||||||
return withMainActivity(config, async (config) => {
|
return withMainActivity(config, async (config) => {
|
||||||
let src = addImports(
|
const src = addImports(
|
||||||
config.modResults.contents,
|
config.modResults.contents,
|
||||||
["com.google.android.gms.cast.framework.CastContext"],
|
["com.google.android.gms.cast.framework.CastContext"],
|
||||||
config.modResults.language === "java"
|
config.modResults.language === "java"
|
||||||
|
|||||||
@@ -22,12 +22,12 @@ const withIosWifiEntitlements: ConfigPlugin = (config) => {
|
|||||||
|
|
||||||
const LOCAL_NETWORK_USAGE =
|
const LOCAL_NETWORK_USAGE =
|
||||||
"${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi network";
|
"${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi network";
|
||||||
const BLUETOOTH_ALWAYS_USAGE =
|
// const BLUETOOTH_ALWAYS_USAGE =
|
||||||
"${PRODUCT_NAME} uses Bluetooth to discover nearby Cast devices";
|
// "${PRODUCT_NAME} uses Bluetooth to discover nearby Cast devices";
|
||||||
const BLUETOOTH_PERIPHERAL_USAGE =
|
// const BLUETOOTH_PERIPHERAL_USAGE =
|
||||||
"${PRODUCT_NAME} uses Bluetooth to discover nearby Cast devices";
|
// "${PRODUCT_NAME} uses Bluetooth to discover nearby Cast devices";
|
||||||
const MICROPHONE_USAGE =
|
// const MICROPHONE_USAGE =
|
||||||
"${PRODUCT_NAME} uses microphone access to listen for ultrasonic tokens when pairing with nearby Cast devices";
|
// "${PRODUCT_NAME} uses microphone access to listen for ultrasonic tokens when pairing with nearby Cast devices";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On iOS, a dialog asking the user for the local network permission will now be displayed immediately when the app is opened.
|
* On iOS, a dialog asking the user for the local network permission will now be displayed immediately when the app is opened.
|
||||||
@@ -61,19 +61,19 @@ const withIosLocalNetworkPermissions: ConfigPlugin<{ receiverAppId?: string }> =
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const withIosGuestMode: ConfigPlugin = (config) => {
|
// const withIosGuestMode: ConfigPlugin = (config) => {
|
||||||
return withInfoPlist(config, (config) => {
|
// return withInfoPlist(config, (config) => {
|
||||||
config.modResults.NSBluetoothAlwaysUsageDescription =
|
// config.modResults.NSBluetoothAlwaysUsageDescription =
|
||||||
config.modResults.NSBluetoothAlwaysUsageDescription ||
|
// config.modResults.NSBluetoothAlwaysUsageDescription ||
|
||||||
BLUETOOTH_ALWAYS_USAGE;
|
// BLUETOOTH_ALWAYS_USAGE;
|
||||||
config.modResults.NSBluetoothPeripheralUsageDescription =
|
// config.modResults.NSBluetoothPeripheralUsageDescription =
|
||||||
config.modResults.NSBluetoothPeripheralUsageDescription ||
|
// config.modResults.NSBluetoothPeripheralUsageDescription ||
|
||||||
BLUETOOTH_PERIPHERAL_USAGE;
|
// BLUETOOTH_PERIPHERAL_USAGE;
|
||||||
config.modResults.NSMicrophoneUsageDescription =
|
// config.modResults.NSMicrophoneUsageDescription =
|
||||||
config.modResults.NSMicrophoneUsageDescription || MICROPHONE_USAGE;
|
// config.modResults.NSMicrophoneUsageDescription || MICROPHONE_USAGE;
|
||||||
return config;
|
// return config;
|
||||||
});
|
// });
|
||||||
};
|
// };
|
||||||
|
|
||||||
// TODO: Use AppDelegate swizzling
|
// TODO: Use AppDelegate swizzling
|
||||||
const withIosAppDelegateLoaded: ConfigPlugin<IosProps> = (config, props) => {
|
const withIosAppDelegateLoaded: ConfigPlugin<IosProps> = (config, props) => {
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
### @config-plugins/react-native-quick-actions [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
|
||||||
|
|
||||||
|
|
||||||
|
### Other chores
|
||||||
|
|
||||||
|
* git ignore build folders ([#59](https://github.com/expo/config-plugins/issues/59)) ([d6050be](https://github.com/expo/config-plugins/commit/d6050beb2a5c68dc59287c27ec388c2002ec7904))
|
||||||
|
|
||||||
### @config-plugins/react-native-quick-actions [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
### @config-plugins/react-native-quick-actions [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
import { ConfigPlugin, XML } from "@expo/config-plugins";
|
||||||
|
import { MergeResults } from "@expo/config-plugins/build/utils/generateCode";
|
||||||
|
export declare function addQuickActionsAppDelegateImport(src: string): MergeResults;
|
||||||
|
export declare function addQuickActionsAppDelegateInit(src: string): MergeResults;
|
||||||
|
declare const _default: ConfigPlugin<void | {
|
||||||
|
iconType?: string | undefined;
|
||||||
|
title: string;
|
||||||
|
iconSymbolName?: string | undefined;
|
||||||
|
iconFile?: string | undefined;
|
||||||
|
subtitle?: string | undefined;
|
||||||
|
/**
|
||||||
|
* A unique string that the system passes to your app
|
||||||
|
*/
|
||||||
|
type: string;
|
||||||
|
/**
|
||||||
|
* An optional, app-defined dictionary. One use for this dictionary is to provide app version information, as described in the “App Launch and App Update Considerations for Quick Actions” section of the overview in UIApplicationShortcutItem Class Reference.
|
||||||
|
*/
|
||||||
|
userInfo?: XML.XMLObject | undefined;
|
||||||
|
}[]>;
|
||||||
|
export default _default;
|
||||||
+106
@@ -0,0 +1,106 @@
|
|||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.addQuickActionsAppDelegateInit = exports.addQuickActionsAppDelegateImport = void 0;
|
||||||
|
const config_plugins_1 = require("@expo/config-plugins");
|
||||||
|
const generateCode_1 = require("@expo/config-plugins/build/utils/generateCode");
|
||||||
|
const remapping = {
|
||||||
|
iconType: "UIApplicationShortcutItemIconType",
|
||||||
|
iconFile: "UIApplicationShortcutItemIconFile",
|
||||||
|
iconSymbolName: "UIApplicationShortcutItemIconSymbolName",
|
||||||
|
title: "UIApplicationShortcutItemTitle",
|
||||||
|
subtitle: "UIApplicationShortcutItemSubtitle",
|
||||||
|
type: "UIApplicationShortcutItemType",
|
||||||
|
userInfo: "UIApplicationShortcutItemUserInfo",
|
||||||
|
};
|
||||||
|
// #import "RNQuickActionManager.h"
|
||||||
|
// https://github.com/jordanbyron/react-native-quick-actions#adding-static-quick-actions---ios-only
|
||||||
|
// https://developer.apple.com/documentation/uikit/menus_and_shortcuts/add_home_screen_quick_actions
|
||||||
|
// TODO: Auto generate images in asset catalogues
|
||||||
|
/**
|
||||||
|
* Apply react-native-quick-actions configuration for Expo SDK 42 projects.
|
||||||
|
*/
|
||||||
|
const withReactNativeQuickActions = (config, _items) => {
|
||||||
|
config = withQuickActionsAppDelegate(config);
|
||||||
|
const items = _items || [];
|
||||||
|
if (!Array.isArray(items) || !items.length) {
|
||||||
|
return config;
|
||||||
|
}
|
||||||
|
return config_plugins_1.withInfoPlist(config, (config) => {
|
||||||
|
config.modResults.UIApplicationShortcutItems = items.map((item) => {
|
||||||
|
const result = {};
|
||||||
|
for (const [key, value] of Object.entries(remapping)) {
|
||||||
|
// @ts-expect-error
|
||||||
|
const itemValue = item[key];
|
||||||
|
if (itemValue) {
|
||||||
|
result[value] = itemValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
});
|
||||||
|
for (const index in config.modResults.UIApplicationShortcutItems) {
|
||||||
|
const item = config.modResults.UIApplicationShortcutItems[index];
|
||||||
|
for (const key of Object.keys(item)) {
|
||||||
|
if (!item[key]) {
|
||||||
|
// @ts-expect-error
|
||||||
|
delete config.modResults.UIApplicationShortcutItems[index][key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return config;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
function addQuickActionsAppDelegateImport(src) {
|
||||||
|
return generateCode_1.mergeContents({
|
||||||
|
tag: "react-native-quick-actions-import",
|
||||||
|
src,
|
||||||
|
newSrc: '#import "RNQuickActionManager.h"',
|
||||||
|
anchor: /#import "AppDelegate\.h"/,
|
||||||
|
offset: 1,
|
||||||
|
comment: "//",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.addQuickActionsAppDelegateImport = addQuickActionsAppDelegateImport;
|
||||||
|
function addQuickActionsAppDelegateInit(src) {
|
||||||
|
const newSrc = [];
|
||||||
|
newSrc.push("- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL succeeded)) completionHandler {", " [RNQuickActionManager onQuickActionPress:shortcutItem completionHandler:completionHandler];", "}");
|
||||||
|
return generateCode_1.mergeContents({
|
||||||
|
tag: "react-native-quick-actions-delegate",
|
||||||
|
src,
|
||||||
|
newSrc: newSrc.join("\n"),
|
||||||
|
anchor: /-\s?\(BOOL\)application:\(UIApplication\s?\*\)application/,
|
||||||
|
offset: 0,
|
||||||
|
comment: "//",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.addQuickActionsAppDelegateInit = addQuickActionsAppDelegateInit;
|
||||||
|
const withQuickActionsAppDelegate = (config) => {
|
||||||
|
return config_plugins_1.withAppDelegate(config, (config) => {
|
||||||
|
if (config.modResults.language === "objc") {
|
||||||
|
try {
|
||||||
|
config.modResults.contents = addQuickActionsAppDelegateImport(config.modResults.contents).contents;
|
||||||
|
config.modResults.contents = addQuickActionsAppDelegateInit(config.modResults.contents).contents;
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
if (error.code === "ERR_NO_MATCH") {
|
||||||
|
throw new Error(`Cannot add QuickActions to the project's AppDelegate because it's malformed. Please report this with a copy of your project AppDelegate.`);
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new Error("Cannot setup QuickActions because the AppDelegate is not Objective C");
|
||||||
|
}
|
||||||
|
return config;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const pkg = {
|
||||||
|
// Prevent this plugin from being run more than once.
|
||||||
|
// This pattern enables users to safely migrate off of this
|
||||||
|
// out-of-tree `@config-plugins/react-native-quick-actions` to a future
|
||||||
|
// upstream plugin in `react-native-quick-actions`
|
||||||
|
name: "react-native-quick-actions",
|
||||||
|
// Indicates that this plugin is dangerously linked to a module,
|
||||||
|
// and might not work with the latest version of that module.
|
||||||
|
version: "UNVERSIONED",
|
||||||
|
};
|
||||||
|
exports.default = config_plugins_1.createRunOncePlugin(withReactNativeQuickActions, pkg.name, pkg.version);
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@config-plugins/react-native-quick-actions",
|
"name": "@config-plugins/react-native-quick-actions",
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"description": "Config plugin for react-native-quick-actions package",
|
"description": "Config plugin for react-native-quick-actions package",
|
||||||
"main": "build/withReactNativeQuickActions.js",
|
"main": "build/withReactNativeQuickActions.js",
|
||||||
"types": "build/withReactNativeQuickActions.d.ts",
|
"types": "build/withReactNativeQuickActions.d.ts",
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
### @config-plugins/react-native-webrtc [2.1.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
|
||||||
|
|
||||||
|
|
||||||
|
### Other chores
|
||||||
|
|
||||||
|
* git ignore build folders ([#59](https://github.com/expo/config-plugins/issues/59)) ([d6050be](https://github.com/expo/config-plugins/commit/d6050beb2a5c68dc59287c27ec388c2002ec7904))
|
||||||
|
|
||||||
## @config-plugins/react-native-webrtc [2.1.0](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
|
## @config-plugins/react-native-webrtc [2.1.0](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
import { ConfigPlugin } from "@expo/config-plugins";
|
||||||
|
export declare const withBitcodeDisabled: ConfigPlugin;
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.withBitcodeDisabled = void 0;
|
||||||
|
const config_plugins_1 = require("@expo/config-plugins");
|
||||||
|
const withBitcodeDisabled = (config) => {
|
||||||
|
var _a, _b;
|
||||||
|
if (!config.ios) {
|
||||||
|
config.ios = {};
|
||||||
|
}
|
||||||
|
if (((_a = config.ios) === null || _a === void 0 ? void 0 : _a.bitcode) != null && ((_b = config.ios) === null || _b === void 0 ? void 0 : _b.bitcode) !== false) {
|
||||||
|
config_plugins_1.WarningAggregator.addWarningIOS("ios.bitcode", "react-native-webrtc plugin is overwriting project bitcode settings. WebRTC requires bitcode to be disabled for builds, targeting physical iOS devices.");
|
||||||
|
}
|
||||||
|
// WebRTC requires Bitcode be disabled for
|
||||||
|
// production AND development iOS builds that target devices, e.g. not simulators.
|
||||||
|
// SDK +44 property
|
||||||
|
config.ios.bitcode = false;
|
||||||
|
return config;
|
||||||
|
};
|
||||||
|
exports.withBitcodeDisabled = withBitcodeDisabled;
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
import { ConfigPlugin } from "@expo/config-plugins";
|
||||||
|
/**
|
||||||
|
* Set the `android.enableDexingArtifactTransform.desugaring` value in the static `gradle.properties` file.
|
||||||
|
* This is used to disable desugaring to fix weird Android bugs. [Learn more](https://github.com/jitsi/jitsi-meet/issues/7911#issuecomment-714323255).
|
||||||
|
*/
|
||||||
|
export declare const withDesugaring: ConfigPlugin<boolean>;
|
||||||
+26
@@ -0,0 +1,26 @@
|
|||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.withDesugaring = void 0;
|
||||||
|
const config_plugins_1 = require("@expo/config-plugins");
|
||||||
|
/**
|
||||||
|
* Set the `android.enableDexingArtifactTransform.desugaring` value in the static `gradle.properties` file.
|
||||||
|
* This is used to disable desugaring to fix weird Android bugs. [Learn more](https://github.com/jitsi/jitsi-meet/issues/7911#issuecomment-714323255).
|
||||||
|
*/
|
||||||
|
const withDesugaring = (config, isDisabled) => {
|
||||||
|
const desugaringKey = "android.enableDexingArtifactTransform.desugaring";
|
||||||
|
return config_plugins_1.withGradleProperties(config, (config) => {
|
||||||
|
config.modResults = config.modResults.filter((item) => {
|
||||||
|
if (item.type == "property" && item.key === desugaringKey) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
config.modResults.push({
|
||||||
|
type: "property",
|
||||||
|
key: desugaringKey,
|
||||||
|
value: String(!isDisabled),
|
||||||
|
});
|
||||||
|
return config;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
exports.withDesugaring = withDesugaring;
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
import { ConfigPlugin } from "@expo/config-plugins";
|
||||||
|
export declare type IOSPermissionsProps = {
|
||||||
|
cameraPermission?: string;
|
||||||
|
microphonePermission?: string;
|
||||||
|
};
|
||||||
|
export declare const withPermissions: ConfigPlugin<IOSPermissionsProps | void>;
|
||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.withPermissions = void 0;
|
||||||
|
const config_plugins_1 = require("@expo/config-plugins");
|
||||||
|
const CAMERA_USAGE = "Allow $(PRODUCT_NAME) to access your camera";
|
||||||
|
const MICROPHONE_USAGE = "Allow $(PRODUCT_NAME) to access your microphone";
|
||||||
|
const withPermissions = (config, props) => {
|
||||||
|
return config_plugins_1.withInfoPlist(config, (config) => {
|
||||||
|
const { cameraPermission, microphonePermission } = props || {};
|
||||||
|
config.modResults.NSCameraUsageDescription =
|
||||||
|
cameraPermission ||
|
||||||
|
config.modResults.NSCameraUsageDescription ||
|
||||||
|
CAMERA_USAGE;
|
||||||
|
config.modResults.NSMicrophoneUsageDescription =
|
||||||
|
microphonePermission ||
|
||||||
|
config.modResults.NSMicrophoneUsageDescription ||
|
||||||
|
MICROPHONE_USAGE;
|
||||||
|
return config;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
exports.withPermissions = withPermissions;
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
import { ConfigPlugin } from "@expo/config-plugins";
|
||||||
|
import { IOSPermissionsProps } from "./withPermissions";
|
||||||
|
declare const _default: ConfigPlugin<void | IOSPermissionsProps>;
|
||||||
|
export default _default;
|
||||||
+31
@@ -0,0 +1,31 @@
|
|||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
const config_plugins_1 = require("@expo/config-plugins");
|
||||||
|
const withBitcodeDisabled_1 = require("./withBitcodeDisabled");
|
||||||
|
const withDesugaring_1 = require("./withDesugaring");
|
||||||
|
const withPermissions_1 = require("./withPermissions");
|
||||||
|
const pkg = { name: "react-native-webrtc", version: "UNVERSIONED" }; //require("react-native-webrtc/package.json");
|
||||||
|
const withWebRTC = (config, props = {}) => {
|
||||||
|
const _props = props || {};
|
||||||
|
// iOS
|
||||||
|
config = withPermissions_1.withPermissions(config, _props);
|
||||||
|
config = withBitcodeDisabled_1.withBitcodeDisabled(config);
|
||||||
|
// Android
|
||||||
|
config = config_plugins_1.AndroidConfig.Permissions.withPermissions(config, [
|
||||||
|
"android.permission.ACCESS_NETWORK_STATE",
|
||||||
|
"android.permission.BLUETOOTH",
|
||||||
|
"android.permission.CAMERA",
|
||||||
|
"android.permission.INTERNET",
|
||||||
|
"android.permission.MODIFY_AUDIO_SETTINGS",
|
||||||
|
"android.permission.RECORD_AUDIO",
|
||||||
|
"android.permission.SYSTEM_ALERT_WINDOW",
|
||||||
|
"android.permission.WAKE_LOCK",
|
||||||
|
]);
|
||||||
|
config = config_plugins_1.AndroidConfig.Version.withBuildScriptExtMinimumVersion(config, {
|
||||||
|
name: "minSdkVersion",
|
||||||
|
minVersion: 24,
|
||||||
|
});
|
||||||
|
config = withDesugaring_1.withDesugaring(config, true);
|
||||||
|
return config;
|
||||||
|
};
|
||||||
|
exports.default = config_plugins_1.createRunOncePlugin(withWebRTC, pkg.name, pkg.version);
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@config-plugins/react-native-webrtc",
|
"name": "@config-plugins/react-native-webrtc",
|
||||||
"version": "2.1.0",
|
"version": "2.1.1",
|
||||||
"description": "Config plugin to setup react-native-webrtc on prebuild",
|
"description": "Config plugin to setup react-native-webrtc on prebuild",
|
||||||
"main": "build/withWebRTC.js",
|
"main": "build/withWebRTC.js",
|
||||||
"types": "build/withWebRTC.d.ts",
|
"types": "build/withWebRTC.d.ts",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ export const withDesugaring: ConfigPlugin<boolean> = (config, isDisabled) => {
|
|||||||
const desugaringKey = "android.enableDexingArtifactTransform.desugaring";
|
const desugaringKey = "android.enableDexingArtifactTransform.desugaring";
|
||||||
return withGradleProperties(config, (config) => {
|
return withGradleProperties(config, (config) => {
|
||||||
config.modResults = config.modResults.filter((item) => {
|
config.modResults = config.modResults.filter((item) => {
|
||||||
if (item.type == "property" && item.key === desugaringKey) {
|
if (item.type === "property" && item.key === desugaringKey) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import {
|
|||||||
ConfigPlugin,
|
ConfigPlugin,
|
||||||
createRunOncePlugin,
|
createRunOncePlugin,
|
||||||
} from "@expo/config-plugins";
|
} from "@expo/config-plugins";
|
||||||
import { withBitcodeDisabled } from "./withBitcodeDisabled";
|
|
||||||
|
|
||||||
|
import { withBitcodeDisabled } from "./withBitcodeDisabled";
|
||||||
import { withDesugaring } from "./withDesugaring";
|
import { withDesugaring } from "./withDesugaring";
|
||||||
import { IOSPermissionsProps, withPermissions } from "./withPermissions";
|
import { IOSPermissionsProps, withPermissions } from "./withPermissions";
|
||||||
|
|
||||||
@@ -31,12 +31,10 @@ const withWebRTC: ConfigPlugin<IOSPermissionsProps | void> = (
|
|||||||
"android.permission.SYSTEM_ALERT_WINDOW",
|
"android.permission.SYSTEM_ALERT_WINDOW",
|
||||||
"android.permission.WAKE_LOCK",
|
"android.permission.WAKE_LOCK",
|
||||||
]);
|
]);
|
||||||
config = AndroidConfig.Version.withBuildScriptExtMinimumVersion(config,
|
config = AndroidConfig.Version.withBuildScriptExtMinimumVersion(config, {
|
||||||
{
|
name: "minSdkVersion",
|
||||||
name: "minSdkVersion",
|
minVersion: 24,
|
||||||
minVersion: 24,
|
});
|
||||||
}
|
|
||||||
)
|
|
||||||
config = withDesugaring(config, true);
|
config = withDesugaring(config, true);
|
||||||
|
|
||||||
return config;
|
return config;
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
#!/usr/bin/env ts-node
|
||||||
|
import * as fs from "fs/promises";
|
||||||
|
import { sync as globSync } from "glob";
|
||||||
|
import * as yaml from "js-yaml";
|
||||||
|
import * as path from "path";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns a list of file paths for each package in the packages folder, relative to the root.
|
||||||
|
* @example
|
||||||
|
* ```
|
||||||
|
* ['packages/react-native-callkeep', 'packages/react-native-camera', ...]
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
function getAllPackageJsonFiles(root: string): string[] {
|
||||||
|
const packageJsonFiles = globSync("packages/*/package.json", {
|
||||||
|
cwd: root,
|
||||||
|
});
|
||||||
|
|
||||||
|
return packageJsonFiles.map((pkgJsonFilePath) =>
|
||||||
|
path.dirname(pkgJsonFilePath)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
(async () => {
|
||||||
|
const root = path.join(__dirname, "../");
|
||||||
|
const filePaths = getAllPackageJsonFiles(root);
|
||||||
|
|
||||||
|
const config: {
|
||||||
|
version: number;
|
||||||
|
updates: {
|
||||||
|
"package-ecosystem": string;
|
||||||
|
directory: string;
|
||||||
|
schedule: { interval?: string; time?: string; timezone?: string };
|
||||||
|
}[];
|
||||||
|
} = {
|
||||||
|
version: 2,
|
||||||
|
updates: [],
|
||||||
|
};
|
||||||
|
|
||||||
|
for (const filePath of filePaths.sort()) {
|
||||||
|
config.updates.push({
|
||||||
|
"package-ecosystem": "npm",
|
||||||
|
directory: filePath,
|
||||||
|
// Default for every package is to run at the beginning of every Expo work day.
|
||||||
|
schedule: {
|
||||||
|
interval: "daily",
|
||||||
|
time: "09:00",
|
||||||
|
// Expo is based out of California
|
||||||
|
timezone: "America/Los_Angeles",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const outputFilePath = path.join(root, ".github/dependabot.yml");
|
||||||
|
|
||||||
|
const results = yaml.dump(config);
|
||||||
|
|
||||||
|
console.log("Results:\n", results);
|
||||||
|
console.log("");
|
||||||
|
console.log("Writing to:", outputFilePath);
|
||||||
|
await fs.writeFile(
|
||||||
|
outputFilePath,
|
||||||
|
[
|
||||||
|
"# AUTO GENERATED:",
|
||||||
|
"# This file was generated by running the following in the root directory:",
|
||||||
|
"#",
|
||||||
|
"# yarn update-dependabot-config",
|
||||||
|
"",
|
||||||
|
results,
|
||||||
|
].join("\n")
|
||||||
|
);
|
||||||
|
})();
|
||||||
@@ -25,6 +25,13 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@babel/highlight" "^7.10.4"
|
"@babel/highlight" "^7.10.4"
|
||||||
|
|
||||||
|
"@babel/[email protected]":
|
||||||
|
version "7.12.11"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
|
||||||
|
integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
|
||||||
|
dependencies:
|
||||||
|
"@babel/highlight" "^7.10.4"
|
||||||
|
|
||||||
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3":
|
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3":
|
||||||
version "7.14.5"
|
version "7.14.5"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
|
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
|
||||||
@@ -1683,6 +1690,21 @@
|
|||||||
exec-sh "^0.3.2"
|
exec-sh "^0.3.2"
|
||||||
minimist "^1.2.0"
|
minimist "^1.2.0"
|
||||||
|
|
||||||
|
"@eslint/eslintrc@^0.4.3":
|
||||||
|
version "0.4.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"
|
||||||
|
integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==
|
||||||
|
dependencies:
|
||||||
|
ajv "^6.12.4"
|
||||||
|
debug "^4.1.1"
|
||||||
|
espree "^7.3.0"
|
||||||
|
globals "^13.9.0"
|
||||||
|
ignore "^4.0.6"
|
||||||
|
import-fresh "^3.2.1"
|
||||||
|
js-yaml "^3.13.1"
|
||||||
|
minimatch "^3.0.4"
|
||||||
|
strip-json-comments "^3.1.1"
|
||||||
|
|
||||||
"@evocateur/libnpmaccess@^3.1.2":
|
"@evocateur/libnpmaccess@^3.1.2":
|
||||||
version "3.1.2"
|
version "3.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845"
|
resolved "https://registry.yarnpkg.com/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845"
|
||||||
@@ -2305,6 +2327,20 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@hapi/hoek" "^9.0.0"
|
"@hapi/hoek" "^9.0.0"
|
||||||
|
|
||||||
|
"@humanwhocodes/config-array@^0.5.0":
|
||||||
|
version "0.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9"
|
||||||
|
integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==
|
||||||
|
dependencies:
|
||||||
|
"@humanwhocodes/object-schema" "^1.2.0"
|
||||||
|
debug "^4.1.1"
|
||||||
|
minimatch "^3.0.4"
|
||||||
|
|
||||||
|
"@humanwhocodes/object-schema@^1.2.0":
|
||||||
|
version "1.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
|
||||||
|
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
|
||||||
|
|
||||||
"@isaacs/string-locale-compare@^1.0.1", "@isaacs/string-locale-compare@^1.1.0":
|
"@isaacs/string-locale-compare@^1.0.1", "@isaacs/string-locale-compare@^1.1.0":
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b"
|
resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b"
|
||||||
@@ -5253,6 +5289,11 @@ acorn-globals@^6.0.0:
|
|||||||
acorn "^7.1.1"
|
acorn "^7.1.1"
|
||||||
acorn-walk "^7.1.1"
|
acorn-walk "^7.1.1"
|
||||||
|
|
||||||
|
acorn-jsx@^5.3.1:
|
||||||
|
version "5.3.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
|
||||||
|
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
||||||
|
|
||||||
acorn-walk@^6.0.1:
|
acorn-walk@^6.0.1:
|
||||||
version "6.2.0"
|
version "6.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c"
|
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c"
|
||||||
@@ -5273,7 +5314,7 @@ acorn@^6.0.1, acorn@^6.4.1:
|
|||||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
|
||||||
integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
|
integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
|
||||||
|
|
||||||
acorn@^7.1.0, acorn@^7.1.1:
|
acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0:
|
||||||
version "7.4.1"
|
version "7.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
|
||||||
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
|
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
|
||||||
@@ -5372,7 +5413,7 @@ ajv-keywords@^5.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
fast-deep-equal "^3.1.3"
|
fast-deep-equal "^3.1.3"
|
||||||
|
|
||||||
ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5:
|
ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5:
|
||||||
version "6.12.6"
|
version "6.12.6"
|
||||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
|
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
|
||||||
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
|
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
|
||||||
@@ -5392,6 +5433,16 @@ ajv@^8.0.0, ajv@^8.8.0:
|
|||||||
require-from-string "^2.0.2"
|
require-from-string "^2.0.2"
|
||||||
uri-js "^4.2.2"
|
uri-js "^4.2.2"
|
||||||
|
|
||||||
|
ajv@^8.0.1:
|
||||||
|
version "8.10.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d"
|
||||||
|
integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==
|
||||||
|
dependencies:
|
||||||
|
fast-deep-equal "^3.1.1"
|
||||||
|
json-schema-traverse "^1.0.0"
|
||||||
|
require-from-string "^2.0.2"
|
||||||
|
uri-js "^4.2.2"
|
||||||
|
|
||||||
ajv@^8.6.3:
|
ajv@^8.6.3:
|
||||||
version "8.8.2"
|
version "8.8.2"
|
||||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb"
|
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb"
|
||||||
@@ -5412,6 +5463,11 @@ anser@^1.4.9:
|
|||||||
resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.10.tgz#befa3eddf282684bd03b63dcda3927aef8c2e35b"
|
resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.10.tgz#befa3eddf282684bd03b63dcda3927aef8c2e35b"
|
||||||
integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==
|
integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==
|
||||||
|
|
||||||
|
ansi-colors@^4.1.1:
|
||||||
|
version "4.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
|
||||||
|
integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
|
||||||
|
|
||||||
ansi-escapes@^3.2.0:
|
ansi-escapes@^3.2.0:
|
||||||
version "3.2.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
|
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
|
||||||
@@ -5764,6 +5820,11 @@ astral-regex@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
|
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
|
||||||
integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
|
integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
|
||||||
|
|
||||||
|
astral-regex@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
|
||||||
|
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
|
||||||
|
|
||||||
async-each@^1.0.1:
|
async-each@^1.0.1:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
|
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
|
||||||
@@ -7614,7 +7675,7 @@ cross-os@^1.3.0:
|
|||||||
resolved "https://registry.yarnpkg.com/cross-os/-/cross-os-1.4.0.tgz#350f03fccb4bd9178777b6ae20160c1c7c79dbed"
|
resolved "https://registry.yarnpkg.com/cross-os/-/cross-os-1.4.0.tgz#350f03fccb4bd9178777b6ae20160c1c7c79dbed"
|
||||||
integrity sha512-nuARAXqbsizhsqo3qo1bpYW2S6ohxJICjo/5Q/mq5xQ9dn1uWoRQ855DZrBAWgVfg7liPLdatnY2KMZwZYuxsQ==
|
integrity sha512-nuARAXqbsizhsqo3qo1bpYW2S6ohxJICjo/5Q/mq5xQ9dn1uWoRQ855DZrBAWgVfg7liPLdatnY2KMZwZYuxsQ==
|
||||||
|
|
||||||
[email protected], cross-spawn@^7.0.0, cross-spawn@^7.0.3:
|
[email protected], cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
||||||
version "7.0.3"
|
version "7.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
||||||
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
|
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
|
||||||
@@ -7962,6 +8023,13 @@ debug@^3.1.0, debug@^3.2.7:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ms "^2.1.1"
|
ms "^2.1.1"
|
||||||
|
|
||||||
|
debug@^4.0.1:
|
||||||
|
version "4.3.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
||||||
|
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||||
|
dependencies:
|
||||||
|
ms "2.1.2"
|
||||||
|
|
||||||
debug@^4.3.2:
|
debug@^4.3.2:
|
||||||
version "4.3.2"
|
version "4.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
|
||||||
@@ -8019,6 +8087,11 @@ deep-extend@^0.6.0:
|
|||||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
||||||
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
|
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
|
||||||
|
|
||||||
|
deep-is@^0.1.3:
|
||||||
|
version "0.1.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
|
||||||
|
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
|
||||||
|
|
||||||
deep-is@~0.1.3:
|
deep-is@~0.1.3:
|
||||||
version "0.1.3"
|
version "0.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
|
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
|
||||||
@@ -8266,6 +8339,13 @@ doctrine@^2.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
esutils "^2.0.2"
|
esutils "^2.0.2"
|
||||||
|
|
||||||
|
doctrine@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
|
||||||
|
integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
|
||||||
|
dependencies:
|
||||||
|
esutils "^2.0.2"
|
||||||
|
|
||||||
dom-converter@^0.2.0:
|
dom-converter@^0.2.0:
|
||||||
version "0.2.0"
|
version "0.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
|
resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
|
||||||
@@ -8495,6 +8575,13 @@ enhanced-resolve@^4.1.0:
|
|||||||
memory-fs "^0.5.0"
|
memory-fs "^0.5.0"
|
||||||
tapable "^1.0.0"
|
tapable "^1.0.0"
|
||||||
|
|
||||||
|
enquirer@^2.3.5:
|
||||||
|
version "2.3.6"
|
||||||
|
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
|
||||||
|
integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
|
||||||
|
dependencies:
|
||||||
|
ansi-colors "^4.1.1"
|
||||||
|
|
||||||
entities@^2.0.0:
|
entities@^2.0.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
|
resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
|
||||||
@@ -8715,6 +8802,11 @@ escape-string-regexp@^1.0.5:
|
|||||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
||||||
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
|
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
|
||||||
|
|
||||||
|
escape-string-regexp@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
|
||||||
|
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
|
||||||
|
|
||||||
escodegen@^1.11.1, escodegen@^1.9.1:
|
escodegen@^1.11.1, escodegen@^1.9.1:
|
||||||
version "1.14.3"
|
version "1.14.3"
|
||||||
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
|
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
|
||||||
@@ -8849,6 +8941,13 @@ eslint-scope@^5.1.1:
|
|||||||
esrecurse "^4.3.0"
|
esrecurse "^4.3.0"
|
||||||
estraverse "^4.1.1"
|
estraverse "^4.1.1"
|
||||||
|
|
||||||
|
eslint-utils@^2.1.0:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
|
||||||
|
integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
|
||||||
|
dependencies:
|
||||||
|
eslint-visitor-keys "^1.1.0"
|
||||||
|
|
||||||
eslint-utils@^3.0.0:
|
eslint-utils@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
|
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
|
||||||
@@ -8856,16 +8955,83 @@ eslint-utils@^3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
eslint-visitor-keys "^2.0.0"
|
eslint-visitor-keys "^2.0.0"
|
||||||
|
|
||||||
|
eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
|
||||||
|
version "1.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
|
||||||
|
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
|
||||||
|
|
||||||
eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0:
|
eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
|
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
|
||||||
integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
|
integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
|
||||||
|
|
||||||
|
eslint@^7.25.0:
|
||||||
|
version "7.32.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d"
|
||||||
|
integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==
|
||||||
|
dependencies:
|
||||||
|
"@babel/code-frame" "7.12.11"
|
||||||
|
"@eslint/eslintrc" "^0.4.3"
|
||||||
|
"@humanwhocodes/config-array" "^0.5.0"
|
||||||
|
ajv "^6.10.0"
|
||||||
|
chalk "^4.0.0"
|
||||||
|
cross-spawn "^7.0.2"
|
||||||
|
debug "^4.0.1"
|
||||||
|
doctrine "^3.0.0"
|
||||||
|
enquirer "^2.3.5"
|
||||||
|
escape-string-regexp "^4.0.0"
|
||||||
|
eslint-scope "^5.1.1"
|
||||||
|
eslint-utils "^2.1.0"
|
||||||
|
eslint-visitor-keys "^2.0.0"
|
||||||
|
espree "^7.3.1"
|
||||||
|
esquery "^1.4.0"
|
||||||
|
esutils "^2.0.2"
|
||||||
|
fast-deep-equal "^3.1.3"
|
||||||
|
file-entry-cache "^6.0.1"
|
||||||
|
functional-red-black-tree "^1.0.1"
|
||||||
|
glob-parent "^5.1.2"
|
||||||
|
globals "^13.6.0"
|
||||||
|
ignore "^4.0.6"
|
||||||
|
import-fresh "^3.0.0"
|
||||||
|
imurmurhash "^0.1.4"
|
||||||
|
is-glob "^4.0.0"
|
||||||
|
js-yaml "^3.13.1"
|
||||||
|
json-stable-stringify-without-jsonify "^1.0.1"
|
||||||
|
levn "^0.4.1"
|
||||||
|
lodash.merge "^4.6.2"
|
||||||
|
minimatch "^3.0.4"
|
||||||
|
natural-compare "^1.4.0"
|
||||||
|
optionator "^0.9.1"
|
||||||
|
progress "^2.0.0"
|
||||||
|
regexpp "^3.1.0"
|
||||||
|
semver "^7.2.1"
|
||||||
|
strip-ansi "^6.0.0"
|
||||||
|
strip-json-comments "^3.1.0"
|
||||||
|
table "^6.0.9"
|
||||||
|
text-table "^0.2.0"
|
||||||
|
v8-compile-cache "^2.0.3"
|
||||||
|
|
||||||
|
espree@^7.3.0, espree@^7.3.1:
|
||||||
|
version "7.3.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
|
||||||
|
integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
|
||||||
|
dependencies:
|
||||||
|
acorn "^7.4.0"
|
||||||
|
acorn-jsx "^5.3.1"
|
||||||
|
eslint-visitor-keys "^1.3.0"
|
||||||
|
|
||||||
esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
|
esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
|
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
|
||||||
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
|
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
|
||||||
|
|
||||||
|
esquery@^1.4.0:
|
||||||
|
version "1.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
|
||||||
|
integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
|
||||||
|
dependencies:
|
||||||
|
estraverse "^5.1.0"
|
||||||
|
|
||||||
esrecurse@^4.1.0, esrecurse@^4.2.1, esrecurse@^4.3.0:
|
esrecurse@^4.1.0, esrecurse@^4.2.1, esrecurse@^4.3.0:
|
||||||
version "4.3.0"
|
version "4.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
|
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
|
||||||
@@ -8878,6 +9044,11 @@ estraverse@^4.1.1, estraverse@^4.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
|
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
|
||||||
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
|
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
|
||||||
|
|
||||||
|
estraverse@^5.1.0:
|
||||||
|
version "5.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
|
||||||
|
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
|
||||||
|
|
||||||
estraverse@^5.2.0:
|
estraverse@^5.2.0:
|
||||||
version "5.2.0"
|
version "5.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
|
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
|
||||||
@@ -9348,7 +9519,7 @@ [email protected], fast-json-stable-stringify@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
|
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
|
||||||
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
|
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
|
||||||
|
|
||||||
fast-levenshtein@~2.0.6:
|
fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
|
||||||
version "2.0.6"
|
version "2.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
|
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
|
||||||
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
|
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
|
||||||
@@ -9454,6 +9625,13 @@ figures@^3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
escape-string-regexp "^1.0.5"
|
escape-string-regexp "^1.0.5"
|
||||||
|
|
||||||
|
file-entry-cache@^6.0.1:
|
||||||
|
version "6.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
|
||||||
|
integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
|
||||||
|
dependencies:
|
||||||
|
flat-cache "^3.0.4"
|
||||||
|
|
||||||
file-loader@~6.0.0:
|
file-loader@~6.0.0:
|
||||||
version "6.0.0"
|
version "6.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.0.0.tgz#97bbfaab7a2460c07bcbd72d3a6922407f67649f"
|
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.0.0.tgz#97bbfaab7a2460c07bcbd72d3a6922407f67649f"
|
||||||
@@ -9590,11 +9768,24 @@ find-yarn-workspace-root@^2.0.0, find-yarn-workspace-root@~2.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
micromatch "^4.0.2"
|
micromatch "^4.0.2"
|
||||||
|
|
||||||
|
flat-cache@^3.0.4:
|
||||||
|
version "3.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
|
||||||
|
integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
|
||||||
|
dependencies:
|
||||||
|
flatted "^3.1.0"
|
||||||
|
rimraf "^3.0.2"
|
||||||
|
|
||||||
flat@^5.0.2:
|
flat@^5.0.2:
|
||||||
version "5.0.2"
|
version "5.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
|
resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
|
||||||
integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
|
integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
|
||||||
|
|
||||||
|
flatted@^3.1.0:
|
||||||
|
version "3.2.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3"
|
||||||
|
integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==
|
||||||
|
|
||||||
flow-parser@0.*:
|
flow-parser@0.*:
|
||||||
version "0.162.1"
|
version "0.162.1"
|
||||||
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.162.1.tgz#128150cd483c4899719fb5ceb06744282e51a10d"
|
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.162.1.tgz#128150cd483c4899719fb5ceb06744282e51a10d"
|
||||||
@@ -10148,6 +10339,13 @@ globals@^11.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
|
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
|
||||||
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
|
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
|
||||||
|
|
||||||
|
globals@^13.6.0, globals@^13.9.0:
|
||||||
|
version "13.13.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b"
|
||||||
|
integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==
|
||||||
|
dependencies:
|
||||||
|
type-fest "^0.20.2"
|
||||||
|
|
||||||
[email protected]:
|
[email protected]:
|
||||||
version "11.0.1"
|
version "11.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
|
resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
|
||||||
@@ -10666,7 +10864,7 @@ ignore-walk@^4.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
minimatch "^3.0.4"
|
minimatch "^3.0.4"
|
||||||
|
|
||||||
ignore@^4.0.3:
|
ignore@^4.0.3, ignore@^4.0.6:
|
||||||
version "4.0.6"
|
version "4.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
|
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
|
||||||
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
|
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
|
||||||
@@ -10699,7 +10897,7 @@ import-fresh@^2.0.0:
|
|||||||
caller-path "^2.0.0"
|
caller-path "^2.0.0"
|
||||||
resolve-from "^3.0.0"
|
resolve-from "^3.0.0"
|
||||||
|
|
||||||
import-fresh@^3.2.1:
|
import-fresh@^3.0.0, import-fresh@^3.2.1:
|
||||||
version "3.3.0"
|
version "3.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
|
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
|
||||||
integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
|
integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
|
||||||
@@ -12623,6 +12821,11 @@ [email protected]:
|
|||||||
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
|
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
|
||||||
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
|
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
|
||||||
|
|
||||||
|
json-stable-stringify-without-jsonify@^1.0.1:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
|
||||||
|
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
|
||||||
|
|
||||||
json-stable-stringify@^1.0.1:
|
json-stable-stringify@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
|
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
|
||||||
@@ -12812,6 +13015,14 @@ levenshtein-edit-distance@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/levenshtein-edit-distance/-/levenshtein-edit-distance-1.0.0.tgz#895baf478cce8b5c1a0d27e45d7c1d978a661e49"
|
resolved "https://registry.yarnpkg.com/levenshtein-edit-distance/-/levenshtein-edit-distance-1.0.0.tgz#895baf478cce8b5c1a0d27e45d7c1d978a661e49"
|
||||||
integrity sha1-iVuvR4zOi1waDSfkXXwdl4pmHkk=
|
integrity sha1-iVuvR4zOi1waDSfkXXwdl4pmHkk=
|
||||||
|
|
||||||
|
levn@^0.4.1:
|
||||||
|
version "0.4.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
|
||||||
|
integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
|
||||||
|
dependencies:
|
||||||
|
prelude-ls "^1.2.1"
|
||||||
|
type-check "~0.4.0"
|
||||||
|
|
||||||
levn@~0.3.0:
|
levn@~0.3.0:
|
||||||
version "0.3.0"
|
version "0.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
|
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
|
||||||
@@ -13284,6 +13495,11 @@ [email protected], lodash.memoize@^4.1.2:
|
|||||||
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
|
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
|
||||||
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
|
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
|
||||||
|
|
||||||
|
lodash.merge@^4.6.2:
|
||||||
|
version "4.6.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
|
||||||
|
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
|
||||||
|
|
||||||
lodash.omit@^4.5.0:
|
lodash.omit@^4.5.0:
|
||||||
version "4.5.0"
|
version "4.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60"
|
resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60"
|
||||||
@@ -13324,6 +13540,11 @@ lodash.throttle@^4.1.1:
|
|||||||
resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
|
resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
|
||||||
integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=
|
integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=
|
||||||
|
|
||||||
|
lodash.truncate@^4.4.2:
|
||||||
|
version "4.4.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
|
||||||
|
integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
|
||||||
|
|
||||||
lodash.uniq@^4.5.0:
|
lodash.uniq@^4.5.0:
|
||||||
version "4.5.0"
|
version "4.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
||||||
@@ -15472,6 +15693,18 @@ optionator@^0.8.1:
|
|||||||
type-check "~0.3.2"
|
type-check "~0.3.2"
|
||||||
word-wrap "~1.2.3"
|
word-wrap "~1.2.3"
|
||||||
|
|
||||||
|
optionator@^0.9.1:
|
||||||
|
version "0.9.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
|
||||||
|
integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
|
||||||
|
dependencies:
|
||||||
|
deep-is "^0.1.3"
|
||||||
|
fast-levenshtein "^2.0.6"
|
||||||
|
levn "^0.4.1"
|
||||||
|
prelude-ls "^1.2.1"
|
||||||
|
type-check "^0.4.0"
|
||||||
|
word-wrap "^1.2.3"
|
||||||
|
|
||||||
options@>=0.0.5:
|
options@>=0.0.5:
|
||||||
version "0.0.6"
|
version "0.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
|
resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
|
||||||
@@ -16494,6 +16727,11 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.2
|
|||||||
source-map "^0.6.1"
|
source-map "^0.6.1"
|
||||||
supports-color "^6.1.0"
|
supports-color "^6.1.0"
|
||||||
|
|
||||||
|
prelude-ls@^1.2.1:
|
||||||
|
version "1.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
|
||||||
|
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
|
||||||
|
|
||||||
prelude-ls@~1.1.2:
|
prelude-ls@~1.1.2:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
|
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
|
||||||
@@ -16579,7 +16817,7 @@ process@^0.11.10:
|
|||||||
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
|
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
|
||||||
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
|
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
|
||||||
|
|
||||||
progress@^2.0.3:
|
progress@^2.0.0, progress@^2.0.3:
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
|
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
|
||||||
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
|
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
|
||||||
@@ -18049,7 +18287,7 @@ [email protected]:
|
|||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
|
||||||
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
|
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
|
||||||
|
|
||||||
[email protected], semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.1.3, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@~7.3.2:
|
[email protected], semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@~7.3.2:
|
||||||
version "7.3.5"
|
version "7.3.5"
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
|
||||||
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
|
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
|
||||||
@@ -18270,6 +18508,15 @@ slice-ansi@^2.0.0:
|
|||||||
astral-regex "^1.0.0"
|
astral-regex "^1.0.0"
|
||||||
is-fullwidth-code-point "^2.0.0"
|
is-fullwidth-code-point "^2.0.0"
|
||||||
|
|
||||||
|
slice-ansi@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
|
||||||
|
integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
|
||||||
|
dependencies:
|
||||||
|
ansi-styles "^4.0.0"
|
||||||
|
astral-regex "^2.0.0"
|
||||||
|
is-fullwidth-code-point "^3.0.0"
|
||||||
|
|
||||||
slide@^1.1.6:
|
slide@^1.1.6:
|
||||||
version "1.1.6"
|
version "1.1.6"
|
||||||
resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
|
resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
|
||||||
@@ -18848,6 +19095,11 @@ strip-indent@^3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
min-indent "^1.0.0"
|
min-indent "^1.0.0"
|
||||||
|
|
||||||
|
strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
|
||||||
|
version "3.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
|
||||||
|
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
|
||||||
|
|
||||||
strip-json-comments@~2.0.1:
|
strip-json-comments@~2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
|
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
|
||||||
@@ -18954,6 +19206,17 @@ symbol-tree@^3.2.2, symbol-tree@^3.2.4:
|
|||||||
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
|
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
|
||||||
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
|
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
|
||||||
|
|
||||||
|
table@^6.0.9:
|
||||||
|
version "6.8.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca"
|
||||||
|
integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==
|
||||||
|
dependencies:
|
||||||
|
ajv "^8.0.1"
|
||||||
|
lodash.truncate "^4.4.2"
|
||||||
|
slice-ansi "^4.0.0"
|
||||||
|
string-width "^4.2.3"
|
||||||
|
strip-ansi "^6.0.1"
|
||||||
|
|
||||||
tail@^2.0.0:
|
tail@^2.0.0:
|
||||||
version "2.2.3"
|
version "2.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/tail/-/tail-2.2.3.tgz#3e6bf65963bb868913e4e3b770cc1584c9d8091c"
|
resolved "https://registry.yarnpkg.com/tail/-/tail-2.2.3.tgz#3e6bf65963bb868913e4e3b770cc1584c9d8091c"
|
||||||
@@ -19492,6 +19755,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
|
|||||||
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
|
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
|
||||||
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
|
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
|
||||||
|
|
||||||
|
type-check@^0.4.0, type-check@~0.4.0:
|
||||||
|
version "0.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
|
||||||
|
integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
|
||||||
|
dependencies:
|
||||||
|
prelude-ls "^1.2.1"
|
||||||
|
|
||||||
type-check@~0.3.2:
|
type-check@~0.3.2:
|
||||||
version "0.3.2"
|
version "0.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
|
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
|
||||||
@@ -19986,6 +20256,11 @@ uuid@^8.3.0:
|
|||||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
|
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
|
||||||
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
|
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
|
||||||
|
|
||||||
|
v8-compile-cache@^2.0.3:
|
||||||
|
version "2.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
|
||||||
|
integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
|
||||||
|
|
||||||
v8-to-istanbul@^4.1.3:
|
v8-to-istanbul@^4.1.3:
|
||||||
version "4.1.4"
|
version "4.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6"
|
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6"
|
||||||
@@ -20339,7 +20614,7 @@ windows-release@^3.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
execa "^1.0.0"
|
execa "^1.0.0"
|
||||||
|
|
||||||
word-wrap@~1.2.3:
|
word-wrap@^1.2.3, word-wrap@~1.2.3:
|
||||||
version "1.2.3"
|
version "1.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
|
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
|
||||||
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
|
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
|
||||||
|
|||||||
Reference in new issue
Block a user