mirror of
https://github.com/expo/config-plugins.git
synced 2026-11-13 20:28:07 -10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5f4e90059e | ||
|
|
c3a375b292 | ||
|
|
1648e8598b | ||
|
|
e2d2b27494 | ||
|
|
ff8b167764 | ||
|
|
eee366bebc | ||
|
|
72fa3e14ef | ||
|
|
6324eb041b | ||
|
|
480ec19161 | ||
|
|
39a9e63fe9 | ||
|
|
7ffc38a808 | ||
|
|
97dcf1aca6 | ||
|
|
4dcc613a70 | ||
|
|
b07ab9e848 | ||
|
|
7411365343 | ||
|
|
e6e8745f05 | ||
|
|
e9f737cfeb | ||
|
|
b0cfebadb4 | ||
|
|
eb957dec79 | ||
|
|
eb4927760b | ||
|
|
3719d67596 | ||
|
|
df9ac710d5 | ||
|
|
73109da98d | ||
|
|
c904bc6a5f | ||
|
|
1374ab2bf4 | ||
|
|
429dcdc1d0 | ||
|
|
5de4ae3e61 | ||
|
|
537afa4c7d | ||
|
|
ada8b99f32 | ||
|
|
546da1c354 | ||
|
|
71c0aa1387 | ||
|
|
8414fda99b | ||
|
|
95c1f0fcd0 |
No files matched your search
@@ -0,0 +1 @@
|
||||
/* @EvanBacon
|
||||
@@ -0,0 +1,24 @@
|
||||
<!--
|
||||
🚨 We use semantic release (a bot publishes everything automatically)
|
||||
🚨 so please use conventional commit style for the PR title:
|
||||
🚨 https://www.conventionalcommits.org/en/v1.0.0/
|
||||
🚨 Example: feat(detox): add new step
|
||||
-->
|
||||
|
||||
# Why
|
||||
|
||||
<!--
|
||||
Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests.
|
||||
-->
|
||||
|
||||
# How
|
||||
|
||||
<!--
|
||||
How did you build this feature or fix this bug and why?
|
||||
-->
|
||||
|
||||
# Test Plan
|
||||
|
||||
<!--
|
||||
Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction.
|
||||
-->
|
||||
@@ -1,25 +0,0 @@
|
||||
name: PR Title
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- "*"
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
- edited
|
||||
- synchronize
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: aslafy-z/[email protected]
|
||||
# continue-on-error: true
|
||||
id: title-check
|
||||
with:
|
||||
success-state: PR title is valid
|
||||
failure-state: "PR title does not follow the conventional commit spec: https://www.conventionalcommits.org/en/v1.0.0/"
|
||||
context-name: pr-title
|
||||
preset: conventional-changelog-angular@latest
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
@@ -24,14 +24,14 @@ jobs:
|
||||
|
||||
# If the dry run fails then it will prevent us from automatically breaking the repo.
|
||||
- name: Semantic release (dry run)
|
||||
run: npx multi-semantic-release --dry-run
|
||||
run: npx multi-semantic-release --dry-run --ignore-private-packages
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
- name: Semantic release
|
||||
# use `--ignore-packages` to ignore packages on bumping process
|
||||
# npx multi-semantic-release --ignore-packages=packages/a/**,packages/b/**
|
||||
run: npx multi-semantic-release
|
||||
run: npx multi-semantic-release --ignore-private-packages
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
+1
-1
@@ -49,6 +49,7 @@ module.exports = {
|
||||
},
|
||||
],
|
||||
"@semantic-release/changelog",
|
||||
"@semantic-release/npm",
|
||||
[
|
||||
"@semantic-release/git",
|
||||
{
|
||||
@@ -57,6 +58,5 @@ module.exports = {
|
||||
},
|
||||
],
|
||||
"@semantic-release/github",
|
||||
"@semantic-release/npm",
|
||||
],
|
||||
};
|
||||
+14
-14
@@ -21,20 +21,20 @@
|
||||
"android": "expo run:android"
|
||||
},
|
||||
"dependencies": {
|
||||
"@config-plugins/android-jsc-intl": "1.0.1",
|
||||
"@config-plugins/detox": "1.0.1",
|
||||
"@config-plugins/ffmpeg-kit-react-native": "1.0.0",
|
||||
"@config-plugins/ios-stickers": "1.0.0",
|
||||
"@config-plugins/react-native-adjust": "1.0.0",
|
||||
"@config-plugins/react-native-ble-plx": "1.0.0",
|
||||
"@config-plugins/react-native-blob-util": "1.0.1",
|
||||
"@config-plugins/react-native-branch": "1.0.0",
|
||||
"@config-plugins/react-native-callkeep": "1.0.0",
|
||||
"@config-plugins/react-native-dynamic-app-icon": "1.0.0",
|
||||
"@config-plugins/react-native-google-cast": "1.0.0",
|
||||
"@config-plugins/react-native-pdf": "1.0.0",
|
||||
"@config-plugins/react-native-quick-actions": "1.0.0",
|
||||
"@config-plugins/react-native-webrtc": "1.0.0",
|
||||
"@config-plugins/android-jsc-intl": "*",
|
||||
"@config-plugins/detox": "*",
|
||||
"@config-plugins/ffmpeg-kit-react-native": "*",
|
||||
"@config-plugins/ios-stickers": "*",
|
||||
"@config-plugins/react-native-adjust": "*",
|
||||
"@config-plugins/react-native-ble-plx": "*",
|
||||
"@config-plugins/react-native-blob-util": "*",
|
||||
"@config-plugins/react-native-branch": "*",
|
||||
"@config-plugins/react-native-callkeep": "*",
|
||||
"@config-plugins/react-native-dynamic-app-icon": "*",
|
||||
"@config-plugins/react-native-google-cast": "*",
|
||||
"@config-plugins/react-native-pdf": "*",
|
||||
"@config-plugins/react-native-quick-actions": "*",
|
||||
"@config-plugins/react-native-webrtc": "*",
|
||||
"expo": "^44.0.0",
|
||||
"expo-localization": "~12.0.0",
|
||||
"expo-splash-screen": "~0.14.0",
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
### @config-plugins/android-jsc-intl [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
### @config-plugins/android-jsc-intl [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-15)
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/android-jsc-intl",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.2",
|
||||
"description": "Config plugin for android-jsc-intl package",
|
||||
"main": "build/withAndroidJscIntl.js",
|
||||
"types": "build/withAndroidJscIntl.d.ts",
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
### @config-plugins/detox [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/detox@1.0.0...@config-plugins/detox@1.0.1) (2022-03-15)
|
||||
### @config-plugins/detox [1.2.2](https://github.com/expo/config-plugins/compare/@config-plugins/detox@1.2.1...@config-plugins/detox@1.2.2) (2022-03-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **detox:** remove invalid changelog entries ([4affbbb](https://github.com/expo/config-plugins/commit/4affbbb7ccd0d1309e6711a73bd4227011849064))
|
||||
* **detox:** use improved xml generation ([#47](https://github.com/expo/config-plugins/issues/47)) ([6324eb0](https://github.com/expo/config-plugins/commit/6324eb041b3b4eb2318c0a1ea0297e3b7bf28f7c))
|
||||
|
||||
## @config-plugins/detox 1.2.0
|
||||
### @config-plugins/detox [1.2.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
### @config-plugins/detox 1.2.0
|
||||
+9
-6
@@ -42,12 +42,15 @@ function getTemplateConfigContent(subdomains) {
|
||||
}
|
||||
function getTemplateFile(subdomains) {
|
||||
const content = getTemplateConfigContent(subdomains);
|
||||
return `
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<network-security-config>
|
||||
${content}
|
||||
</network-security-config>
|
||||
`;
|
||||
/**
|
||||
* May not have new lines or spaces in the beginning.
|
||||
* Otherwise build fails with:
|
||||
* "AAPT: error: XML or text declaration not at start of entity"
|
||||
*/
|
||||
return `<?xml version="1.0" encoding="utf-8"?>
|
||||
<network-security-config>
|
||||
${content}
|
||||
</network-security-config>`;
|
||||
}
|
||||
exports.getTemplateFile = getTemplateFile;
|
||||
/**
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/detox",
|
||||
"version": "1.2.0",
|
||||
"version": "1.2.2",
|
||||
"description": "Config plugin to auto configure detox on prebuild",
|
||||
"main": "build/withDetox.js",
|
||||
"types": "build/withDetox.d.ts",
|
||||
|
||||
@@ -1,25 +1,21 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`getTemplateFile returns domain-config when subdomains is an array 1`] = `
|
||||
"
|
||||
<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>
|
||||
<network-security-config>
|
||||
"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>
|
||||
<network-security-config>
|
||||
|
||||
<domain-config cleartextTrafficPermitted=\\"true\\">
|
||||
<domain includeSubdomains=\\"true\\">localhost</domain>
|
||||
</domain-config>
|
||||
|
||||
</network-security-config>
|
||||
"
|
||||
</network-security-config>"
|
||||
`;
|
||||
|
||||
exports[`getTemplateFile returns only base-config when subdomains is '*' 1`] = `
|
||||
"
|
||||
<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>
|
||||
<network-security-config>
|
||||
<base-config cleartextTrafficPermitted=\\"true\\" />
|
||||
</network-security-config>
|
||||
"
|
||||
"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>
|
||||
<network-security-config>
|
||||
<base-config cleartextTrafficPermitted=\\"true\\" />
|
||||
</network-security-config>"
|
||||
`;
|
||||
|
||||
exports[`withNetworkSecurityConfigManifest doesn't modify config if subdomains is an empty array 1`] = `
|
||||
|
||||
@@ -29,12 +29,15 @@ function getTemplateConfigContent(subdomains: SubdomainsType) {
|
||||
|
||||
export function getTemplateFile(subdomains: SubdomainsType): string {
|
||||
const content = getTemplateConfigContent(subdomains);
|
||||
return `
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<network-security-config>
|
||||
${content}
|
||||
</network-security-config>
|
||||
`;
|
||||
/**
|
||||
* May not have new lines or spaces in the beginning.
|
||||
* Otherwise build fails with:
|
||||
* "AAPT: error: XML or text declaration not at start of entity"
|
||||
*/
|
||||
return `<?xml version="1.0" encoding="utf-8"?>
|
||||
<network-security-config>
|
||||
${content}
|
||||
</network-security-config>`;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
### @config-plugins/ffmpeg-kit-react-native [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
|
||||
|
||||
|
||||
### Other chores
|
||||
|
||||
* **ffmpeg-kit-react-native:** update plugin to use `AndroidConfig.Version.withBuildScriptExtMinimumVersion` ([#60](https://github.com/expo/config-plugins/issues/60)) ([c3a375b](https://github.com/expo/config-plugins/commit/c3a375b292d6405be7b3277d10ab4f8dbb006047))
|
||||
|
||||
### @config-plugins/ffmpeg-kit-react-native [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
## @config-plugins/ffmpeg-kit-react-native 1.0.0 (2022-03-15)
|
||||
|
||||
|
||||
|
||||
-10
@@ -1,10 +0,0 @@
|
||||
import { ConfigPlugin } from "@expo/config-plugins";
|
||||
/** Sets a numeric version for a value in the project.gradle buildscript.ext object to be at least the provided props.minVersion, if the existing value is greater then no change will be made. */
|
||||
export declare const withBuildScriptExtMinimumVersion: ConfigPlugin<{
|
||||
name: string;
|
||||
minVersion: number;
|
||||
}>;
|
||||
export declare function setMinBuildScriptExtVersion(buildGradle: string, { name, minVersion }: {
|
||||
name: string;
|
||||
minVersion: number;
|
||||
}): string;
|
||||
@@ -1,31 +0,0 @@
|
||||
"use strict";
|
||||
// Copied from https://github.com/expo/expo-cli/blob/main/packages/config-plugins/src/android/Version.ts
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.setMinBuildScriptExtVersion = exports.withBuildScriptExtMinimumVersion = void 0;
|
||||
const config_plugins_1 = require("@expo/config-plugins");
|
||||
/** Sets a numeric version for a value in the project.gradle buildscript.ext object to be at least the provided props.minVersion, if the existing value is greater then no change will be made. */
|
||||
const withBuildScriptExtMinimumVersion = (config, props) => {
|
||||
return config_plugins_1.withProjectBuildGradle(config, (config) => {
|
||||
if (config.modResults.language === "groovy") {
|
||||
config.modResults.contents = setMinBuildScriptExtVersion(config.modResults.contents, props);
|
||||
}
|
||||
else {
|
||||
config_plugins_1.WarningAggregator.addWarningAndroid("withBuildScriptExtVersion", `Cannot automatically configure project build.gradle if it's not groovy`);
|
||||
}
|
||||
return config;
|
||||
});
|
||||
};
|
||||
exports.withBuildScriptExtMinimumVersion = withBuildScriptExtMinimumVersion;
|
||||
function setMinBuildScriptExtVersion(buildGradle, { name, minVersion }) {
|
||||
var _a;
|
||||
const regex = new RegExp(`(${name}\\s?=\\s?)(\\d+(?:\\.\\d+)?)`);
|
||||
const currentVersion = (_a = buildGradle.match(regex)) === null || _a === void 0 ? void 0 : _a[2];
|
||||
if (!currentVersion) {
|
||||
config_plugins_1.WarningAggregator.addWarningAndroid("withBuildScriptExtVersion", `Cannot set minimum buildscript.ext.${name} version because the property "${name}" cannot be found or does not have a numeric value.`);
|
||||
// TODO: Maybe just add the property...
|
||||
return buildGradle;
|
||||
}
|
||||
const currentVersionNum = Number(currentVersion);
|
||||
return buildGradle.replace(regex, `$1${Math.max(minVersion, currentVersionNum)}`);
|
||||
}
|
||||
exports.setMinBuildScriptExtVersion = setMinBuildScriptExtVersion;
|
||||
+1
-2
@@ -2,7 +2,6 @@
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const config_plugins_1 = require("@expo/config-plugins");
|
||||
const withAndroidFFMPEGPackage_1 = require("./withAndroidFFMPEGPackage");
|
||||
const withBuildScriptExtMinimumVersion_1 = require("./withBuildScriptExtMinimumVersion");
|
||||
const withCocoaPodsImport_1 = require("./withCocoaPodsImport");
|
||||
const withIosDeploymentTarget_1 = require("./withIosDeploymentTarget");
|
||||
let pkg = {
|
||||
@@ -31,7 +30,7 @@ const withFFMPEG = (config, _props) => {
|
||||
// Android
|
||||
// Set min SDK Version to 24.
|
||||
[
|
||||
withBuildScriptExtMinimumVersion_1.withBuildScriptExtMinimumVersion,
|
||||
config_plugins_1.AndroidConfig.Version.withBuildScriptExtMinimumVersion,
|
||||
{
|
||||
name: "minSdkVersion",
|
||||
minVersion: 24,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/ffmpeg-kit-react-native",
|
||||
"version": "0.0.1",
|
||||
"version": "1.0.2",
|
||||
"description": "Config plugin to auto configure FFMPEG on prebuild",
|
||||
"main": "build/withFFMPEG.js",
|
||||
"types": "build/withFFMPEG.d.ts",
|
||||
|
||||
-89
@@ -1,89 +0,0 @@
|
||||
import { WarningAggregator } from "@expo/config-plugins";
|
||||
import { setMinBuildScriptExtVersion } from "../withBuildScriptExtMinimumVersion";
|
||||
|
||||
const EXAMPLE_PROJECT_BUILD_GRADLE = `
|
||||
buildscript {
|
||||
ext {
|
||||
buildToolsVersion = "29.0.3"
|
||||
minSdkVersion = 21
|
||||
compileSdkVersion = 30
|
||||
targetSdkVersion = 30
|
||||
oddFormat = 30.2
|
||||
}
|
||||
repositories {
|
||||
}
|
||||
dependencies {
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
mavenLocal()
|
||||
maven {
|
||||
// Android JSC is installed from npm
|
||||
url(new File(["node", "--print", "require.resolve('jsc-android/package.json')"].execute(null, rootDir).text.trim(), "../dist"))
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
describe(setMinBuildScriptExtVersion, () => {
|
||||
beforeEach(() => {
|
||||
// @ts-ignore: jest
|
||||
// eslint-disable-next-line import/namespace
|
||||
WarningAggregator.addWarningAndroid = jest.fn();
|
||||
});
|
||||
|
||||
it(`sets the minSdkVersion in build.gradle if minSdkVersion is given`, () => {
|
||||
expect(
|
||||
setMinBuildScriptExtVersion(EXAMPLE_PROJECT_BUILD_GRADLE, {
|
||||
name: "minSdkVersion",
|
||||
minVersion: 22,
|
||||
})
|
||||
).toMatch(/minSdkVersion = 22/);
|
||||
expect(WarningAggregator.addWarningAndroid).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it(`sets the oddFormat in build.gradle if oddFormat is given`, () => {
|
||||
expect(
|
||||
setMinBuildScriptExtVersion(EXAMPLE_PROJECT_BUILD_GRADLE, {
|
||||
name: "oddFormat",
|
||||
minVersion: 30.3,
|
||||
})
|
||||
).toMatch(/oddFormat = 30\.3/);
|
||||
expect(WarningAggregator.addWarningAndroid).not.toHaveBeenCalled();
|
||||
});
|
||||
it(`does not change the compileSdkVersion in build.gradle if compileSdkVersion is lower than the existing value`, () => {
|
||||
expect(
|
||||
setMinBuildScriptExtVersion(EXAMPLE_PROJECT_BUILD_GRADLE, {
|
||||
name: "compileSdkVersion",
|
||||
minVersion: 12,
|
||||
})
|
||||
).toBe(EXAMPLE_PROJECT_BUILD_GRADLE);
|
||||
expect(WarningAggregator.addWarningAndroid).not.toHaveBeenCalled();
|
||||
});
|
||||
it(`warns when it cannot find the requested value`, () => {
|
||||
expect(
|
||||
setMinBuildScriptExtVersion(EXAMPLE_PROJECT_BUILD_GRADLE, {
|
||||
name: "foobar",
|
||||
minVersion: 12,
|
||||
})
|
||||
).toBe(EXAMPLE_PROJECT_BUILD_GRADLE);
|
||||
expect(WarningAggregator.addWarningAndroid).toBeCalledWith(
|
||||
"withBuildScriptExtVersion",
|
||||
'Cannot set minimum buildscript.ext.foobar version because the property "foobar" cannot be found or does not have a numeric value.'
|
||||
);
|
||||
});
|
||||
it(`does warns when targeting a property with a string value`, () => {
|
||||
expect(
|
||||
setMinBuildScriptExtVersion(EXAMPLE_PROJECT_BUILD_GRADLE, {
|
||||
name: "buildToolsVersion",
|
||||
minVersion: 12,
|
||||
})
|
||||
).toBe(EXAMPLE_PROJECT_BUILD_GRADLE);
|
||||
expect(WarningAggregator.addWarningAndroid).toBeCalledWith(
|
||||
"withBuildScriptExtVersion",
|
||||
'Cannot set minimum buildscript.ext.buildToolsVersion version because the property "buildToolsVersion" cannot be found or does not have a numeric value.'
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -1,50 +0,0 @@
|
||||
// Copied from https://github.com/expo/expo-cli/blob/main/packages/config-plugins/src/android/Version.ts
|
||||
|
||||
import {
|
||||
ConfigPlugin,
|
||||
WarningAggregator,
|
||||
withProjectBuildGradle,
|
||||
} from "@expo/config-plugins";
|
||||
|
||||
/** Sets a numeric version for a value in the project.gradle buildscript.ext object to be at least the provided props.minVersion, if the existing value is greater then no change will be made. */
|
||||
export const withBuildScriptExtMinimumVersion: ConfigPlugin<{
|
||||
name: string;
|
||||
minVersion: number;
|
||||
}> = (config, props) => {
|
||||
return withProjectBuildGradle(config, (config) => {
|
||||
if (config.modResults.language === "groovy") {
|
||||
config.modResults.contents = setMinBuildScriptExtVersion(
|
||||
config.modResults.contents,
|
||||
props
|
||||
);
|
||||
} else {
|
||||
WarningAggregator.addWarningAndroid(
|
||||
"withBuildScriptExtVersion",
|
||||
`Cannot automatically configure project build.gradle if it's not groovy`
|
||||
);
|
||||
}
|
||||
return config;
|
||||
});
|
||||
};
|
||||
|
||||
export function setMinBuildScriptExtVersion(
|
||||
buildGradle: string,
|
||||
{ name, minVersion }: { name: string; minVersion: number }
|
||||
) {
|
||||
const regex = new RegExp(`(${name}\\s?=\\s?)(\\d+(?:\\.\\d+)?)`);
|
||||
const currentVersion = buildGradle.match(regex)?.[2];
|
||||
if (!currentVersion) {
|
||||
WarningAggregator.addWarningAndroid(
|
||||
"withBuildScriptExtVersion",
|
||||
`Cannot set minimum buildscript.ext.${name} version because the property "${name}" cannot be found or does not have a numeric value.`
|
||||
);
|
||||
// TODO: Maybe just add the property...
|
||||
return buildGradle;
|
||||
}
|
||||
|
||||
const currentVersionNum = Number(currentVersion);
|
||||
return buildGradle.replace(
|
||||
regex,
|
||||
`$1${Math.max(minVersion, currentVersionNum)}`
|
||||
);
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
import {
|
||||
AndroidConfig,
|
||||
ConfigPlugin,
|
||||
createRunOncePlugin,
|
||||
withPlugins,
|
||||
} from "@expo/config-plugins";
|
||||
|
||||
import { withAndroidFFMPEGPackage } from "./withAndroidFFMPEGPackage";
|
||||
import { withBuildScriptExtMinimumVersion } from "./withBuildScriptExtMinimumVersion";
|
||||
import {
|
||||
withCocoaPodsImport,
|
||||
withPodfilePropertiesPackage,
|
||||
@@ -56,7 +56,7 @@ const withFFMPEG: ConfigPlugin<void | Props> = (config, _props) => {
|
||||
|
||||
// Set min SDK Version to 24.
|
||||
[
|
||||
withBuildScriptExtMinimumVersion,
|
||||
AndroidConfig.Version.withBuildScriptExtMinimumVersion,
|
||||
{
|
||||
name: "minSdkVersion",
|
||||
minVersion: 24,
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
### @config-plugins/ios-stickers [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
|
||||
### Documentation changes
|
||||
|
||||
* **ios-stickers:** add doc block ([#55](https://github.com/expo/config-plugins/issues/55)) ([c904bc6](https://github.com/expo/config-plugins/commit/c904bc6a5f410645696a0356b5c188b94f80c231))
|
||||
|
||||
## @config-plugins/ios-stickers 1.0.0 (2022-03-15)
|
||||
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
import { ConfigPlugin } from "@expo/config-plugins";
|
||||
/** Dangerously applies sticker assets to the iOS project. */
|
||||
export declare const withStickerAssets: ConfigPlugin<{
|
||||
icon?: string;
|
||||
size: string;
|
||||
|
||||
@@ -44,6 +44,7 @@ function createSticker({ stickerpackPath, name, imageBuffer, extension, accessib
|
||||
name: stickerName,
|
||||
};
|
||||
}
|
||||
/** Dangerously applies sticker assets to the iOS project. */
|
||||
const withStickerAssets = (config, { stickers, icon, size }) => {
|
||||
// Default to using the app icon
|
||||
if (!icon) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/ios-stickers",
|
||||
"version": "0.0.4",
|
||||
"version": "1.0.1",
|
||||
"description": "Config plugin to auto configure iOS iMessage stickers",
|
||||
"main": "build/withStickerPack.js",
|
||||
"types": "build/withStickerPack.d.ts",
|
||||
|
||||
@@ -68,6 +68,7 @@ function createSticker({
|
||||
};
|
||||
}
|
||||
|
||||
/** Dangerously applies sticker assets to the iOS project. */
|
||||
export const withStickerAssets: ConfigPlugin<{
|
||||
icon?: string;
|
||||
size: string;
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
### @config-plugins/react-native-adjust [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
## @config-plugins/react-native-adjust 1.0.0 (2022-03-15)
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/react-native-adjust",
|
||||
"version": "0.0.1",
|
||||
"version": "1.0.1",
|
||||
"description": "Config plugin to auto configure Adjust SDK on prebuild",
|
||||
"main": "build/withReactNativeAdjust.js",
|
||||
"types": "build/withReactNativeAdjust.d.ts",
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
### @config-plugins/react-native-ble-plx [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
## @config-plugins/react-native-ble-plx 1.0.0 (2022-03-15)
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/react-native-ble-plx",
|
||||
"version": "0.0.2",
|
||||
"version": "1.0.1",
|
||||
"description": "Config plugin to auto configure react-native-ble-plx on prebuild",
|
||||
"main": "build/withBLE.js",
|
||||
"types": "build/withBLE.d.ts",
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
### @config-plugins/react-native-blob-util [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
### @config-plugins/react-native-blob-util [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-15)
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/react-native-blob-util",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.2",
|
||||
"description": "Config plugin to auto configure react-native-blob-util on prebuild",
|
||||
"main": "build/withReactNativeBlobUtil.js",
|
||||
"types": "build/withReactNativeBlobUtil.d.ts",
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
### @config-plugins/react-native-branch [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
## @config-plugins/react-native-branch 1.0.0 (2022-03-15)
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/react-native-branch",
|
||||
"version": "0.0.1",
|
||||
"version": "1.0.1",
|
||||
"description": "Config plugin to auto configure react-native-branch on prebuild",
|
||||
"author": "650 Industries, Inc.",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
### @config-plugins/react-native-callkeep [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
## @config-plugins/react-native-callkeep 1.0.0 (2022-03-15)
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/react-native-callkeep",
|
||||
"version": "0.0.1",
|
||||
"version": "1.0.1",
|
||||
"description": "Config plugin to auto configure callkeep on prebuild",
|
||||
"main": "build/withCallkeep.js",
|
||||
"types": "build/withCallkeep.d.ts",
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
### @config-plugins/react-native-dynamic-app-icon [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
## @config-plugins/react-native-dynamic-app-icon 1.0.0 (2022-03-15)
|
||||
|
||||
|
||||
### Other chores
|
||||
|
||||
* upgrade @expo/config-plugins ([#49](https://github.com/expo/config-plugins/issues/49)) ([119e31e](https://github.com/expo/config-plugins/commit/119e31edf110409272ace750f02d651124e1a22d))
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/react-native-dynamic-app-icon",
|
||||
"version": "0.0.2",
|
||||
"version": "1.0.1",
|
||||
"description": "Config plugin to auto configure react-native-dynamic-app-icon",
|
||||
"main": "build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
### @config-plugins/react-native-google-cast [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
## @config-plugins/react-native-google-cast 1.0.0 (2022-03-15)
|
||||
|
||||
|
||||
### Other chores
|
||||
|
||||
* upgrade @expo/config-plugins ([#49](https://github.com/expo/config-plugins/issues/49)) ([119e31e](https://github.com/expo/config-plugins/commit/119e31edf110409272ace750f02d651124e1a22d))
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/react-native-google-cast",
|
||||
"version": "0.1.0",
|
||||
"version": "1.0.1",
|
||||
"description": "Config plugin to auto configure Google Cast on prebuild",
|
||||
"main": "build/withGoogleCast.js",
|
||||
"types": "build/withGoogleCast.d.ts",
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
### @config-plugins/react-native-pdf [1.0.1](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
## @config-plugins/react-native-pdf 1.0.0 (2022-03-15)
|
||||
|
||||
|
||||
### Other chores
|
||||
|
||||
* upgrade @expo/config-plugins ([#49](https://github.com/expo/config-plugins/issues/49)) ([119e31e](https://github.com/expo/config-plugins/commit/119e31edf110409272ace750f02d651124e1a22d))
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/react-native-pdf",
|
||||
"version": "0.0.0",
|
||||
"version": "1.0.1",
|
||||
"description": "Config plugin to auto configure react-native-pdf on prebuild",
|
||||
"main": "build/withPdf.js",
|
||||
"types": "build/withPdf.d.ts",
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
### @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)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
## @config-plugins/react-native-quick-actions 1.0.0 (2022-03-15)
|
||||
|
||||
|
||||
### Other chores
|
||||
|
||||
* upgrade @expo/config-plugins ([#49](https://github.com/expo/config-plugins/issues/49)) ([119e31e](https://github.com/expo/config-plugins/commit/119e31edf110409272ace750f02d651124e1a22d))
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/react-native-quick-actions",
|
||||
"version": "0.0.1",
|
||||
"version": "1.0.1",
|
||||
"description": "Config plugin for react-native-quick-actions package",
|
||||
"main": "build/withReactNativeQuickActions.js",
|
||||
"types": "build/withReactNativeQuickActions.d.ts",
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
## @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)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **react-native-webrtc:** add config mod for Android minSdkVersion 24 ([ff8b167](https://github.com/expo/config-plugins/commit/ff8b1677640a560ca98abd8a83f349b3a1ee9017))
|
||||
|
||||
### @config-plugins/react-native-webrtc [2.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-16)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* fix versions [skip ci] ([#53](https://github.com/expo/config-plugins/issues/53)) ([5de4ae3](https://github.com/expo/config-plugins/commit/5de4ae3e6182c32b7aa24d70ccd23a11663bb089))
|
||||
|
||||
## @config-plugins/react-native-webrtc 2.0.1
|
||||
@@ -59,7 +59,10 @@ export default {
|
||||
};
|
||||
```
|
||||
|
||||
This plugin will also disable desugaring in the Android `gradle.properties`: `android.enableDexingArtifactTransform.desugaring=false`, and disable iOS Bitcode for "Release" builds (required).
|
||||
## Important Notes
|
||||
|
||||
- For iOS, this plugin disables Bitcodes for all builds (required).
|
||||
- For Android, this plugin disables desugaring in `gradle.properties`: `android.enableDexingArtifactTransform.desugaring=false` and the [minimum deployment target is changed to `24`](https://github.com/react-native-webrtc/react-native-webrtc/issues/720#issuecomment-552374206) (from `21`) which may break other packages in your app!
|
||||
|
||||
## Manual Setup
|
||||
|
||||
|
||||
+4
@@ -21,6 +21,10 @@ const withWebRTC = (config, props = {}) => {
|
||||
"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;
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@config-plugins/react-native-webrtc",
|
||||
"version": "2.0.1",
|
||||
"version": "2.1.0",
|
||||
"description": "Config plugin to setup react-native-webrtc on prebuild",
|
||||
"main": "build/withWebRTC.js",
|
||||
"types": "build/withWebRTC.d.ts",
|
||||
|
||||
@@ -31,7 +31,12 @@ const withWebRTC: ConfigPlugin<IOSPermissionsProps | void> = (
|
||||
"android.permission.SYSTEM_ALERT_WINDOW",
|
||||
"android.permission.WAKE_LOCK",
|
||||
]);
|
||||
|
||||
config = AndroidConfig.Version.withBuildScriptExtMinimumVersion(config,
|
||||
{
|
||||
name: "minSdkVersion",
|
||||
minVersion: 24,
|
||||
}
|
||||
)
|
||||
config = withDesugaring(config, true);
|
||||
|
||||
return config;
|
||||
|
||||
Reference in new issue
Block a user