Compare commits

..
Author SHA1 Message Date
semantic-release-bot 7a570fb05a chore: 2.0.0
## @config-plugins/android-jsc-intl [2.0.0](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-05-10)

### ⚠ BREAKING CHANGES

* **android-jsc-intl:** add SDK 45 support (#77)

### Features

* **android-jsc-intl:** add SDK 45 support ([#77](https://github.com/expo/config-plugins/issues/77)) ([aed0904](https://github.com/expo/config-plugins/commit/aed09045d61bc67b375a277b96bdc90ed5245d0f))
2022-05-10 00:05:35 +00:00
Evan Bacon aed09045d6 feat(android-jsc-intl)!: add SDK 45 support (#77)
* feat(android-jsc-intl)!: add SDK 45 support

* Update README.md
2022-05-09 17:02:24 -07:00
semantic-release-bot ad810c8b11 chore: 1.0.3
### @config-plugins/react-native-ble-plx [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-05-09)

### Other chores

* **react-native-ble-plx:** lint fix ([a99c60e](https://github.com/expo/config-plugins/commit/a99c60efd5fe53d369551c9a1323701ab14e935b))
2022-05-09 23:52:05 +00:00
dependabot[bot] e445cb4bc8 chore(deps): bump @expo/config-types in /packages/react-native-branch (#76)
Bumps [@expo/config-types](https://github.com/expo/expo-cli/tree/HEAD/packages/config-types) from 44.0.0 to 45.0.0.
- [Release notes](https://github.com/expo/expo-cli/releases)
- [Changelog](https://github.com/expo/expo-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/expo/expo-cli/commits/HEAD/packages/config-types)

---
updated-dependencies:
- dependency-name: "@expo/config-types"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-09 16:48:18 -07:00
semantic-release-bot 9b22a71343 chore: 1.0.3
### @config-plugins/react-native-google-cast [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-23)

### Other chores

* **react-native-google-cast:** lint fix ([21c4928](https://github.com/expo/config-plugins/commit/21c49280d49a3584863d8338e4b34c508249a595))
2022-03-23 19:03:10 +00:00
evanbacon e49a241243 fix: drop build folders 2022-03-23 13:59:17 -05:00
semantic-release-bot 2e06dcae54 chore: 1.0.3
### @config-plugins/react-native-adjust [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-23)

### Bug Fixes

* upgrade google play-services-analytics to v18.0.1 ([a24ea1d](https://github.com/expo/config-plugins/commit/a24ea1df58e9d0639dc4fa016aae8a4e15d53529))
2022-03-23 17:17:22 +00:00
Yann Pringault a24ea1df58 fix: upgrade google play-services-analytics to v18.0.1 2022-03-23 12:03:11 -05:00
semantic-release-bot 50646306c5 chore: 1.0.4
### @config-plugins/android-jsc-intl [1.0.4](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-23)

### Other chores

* **android-jsc-intl:** lint fix ([5ca4e44](https://github.com/expo/config-plugins/commit/5ca4e44a49ad5c3153b4a2b15acf69db594d76b8))
2022-03-23 05:26:26 +00:00
dependabot[bot] 6fbb2192ad chore(deps): bump @expo/config-types in /packages/react-native-branch (#63)
Bumps [@expo/config-types](https://github.com/expo/expo-cli/tree/HEAD/packages/config-types) from 43.0.1 to 44.0.0.
- [Release notes](https://github.com/expo/expo-cli/releases)
- [Changelog](https://github.com/expo/expo-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/expo/expo-cli/commits/HEAD/packages/config-types)

---
updated-dependencies:
- dependency-name: "@expo/config-types"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-23 00:22:42 -05:00
semantic-release-bot 7c3cda4f79 chore: 1.0.3
### @config-plugins/ios-stickers [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)

### Other chores

* **ios-stickers:** lint fix ([331ecb1](https://github.com/expo/config-plugins/commit/331ecb163f000578bc519ebe94f90d62374095d1))
2022-03-22 22:41:06 +00:00
Evan Bacon a78e569f54 test: add tests for core plugin methods (#64)
* test: add tests for core plugin methods

* Update test.yml
2022-03-22 17:38:19 -05:00
33 changed files with 249 additions and 152 deletions

No files matched your search

+3 -1
View File
@@ -40,6 +40,7 @@ jobs:
ios-stickers, ios-stickers,
react-native-ble-plx, react-native-ble-plx,
react-native-blob-util, react-native-blob-util,
react-native-branch,
react-native-google-cast, react-native-google-cast,
react-native-pdf, react-native-pdf,
# react-native-quick-actions, # react-native-quick-actions,
@@ -58,7 +59,8 @@ jobs:
run: yarn lint --max-warnings 0 run: yarn lint --max-warnings 0
working-directory: packages/${{ matrix.package }} working-directory: packages/${{ matrix.package }}
- name: Test ${{ matrix.package }} - name: Test ${{ matrix.package }}
run: cd packages/${{ matrix.package }} && yarn test run: yarn test
working-directory: packages/${{ matrix.package }}
env: env:
CI: true CI: true
EXPO_DEBUG: true EXPO_DEBUG: true
+18
View File
@@ -1,3 +1,21 @@
## @config-plugins/android-jsc-intl [2.0.0](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-05-10)
### ⚠ BREAKING CHANGES
* **android-jsc-intl:** add SDK 45 support (#77)
### Features
* **android-jsc-intl:** add SDK 45 support ([#77](https://github.com/expo/config-plugins/issues/77)) ([aed0904](https://github.com/expo/config-plugins/commit/aed09045d61bc67b375a277b96bdc90ed5245d0f))
### @config-plugins/android-jsc-intl [1.0.4](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-23)
### Other chores
* **android-jsc-intl:** lint fix ([5ca4e44](https://github.com/expo/config-plugins/commit/5ca4e44a49ad5c3153b4a2b15acf69db594d76b8))
### @config-plugins/android-jsc-intl [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22) ### @config-plugins/android-jsc-intl [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
+1 -1
View File
@@ -6,7 +6,7 @@ Adding this plugin lets you use `Intl` in your Android app, without using Hermes
## Expo installation ## Expo installation
> Tested against Expo SDK 44 > Tested against Expo SDK 45
This package cannot be used in the "Expo Go" app because [it requires custom native code](https://docs.expo.io/workflow/customizing/). This package cannot be used in the "Expo Go" app because [it requires custom native code](https://docs.expo.io/workflow/customizing/).
+4 -6
View File
@@ -8,13 +8,11 @@ const config_plugins_1 = require("@expo/config-plugins");
*/ */
const withAndroidJscIntl = (config) => { const withAndroidJscIntl = (config) => {
// Return the modified config. // Return the modified config.
return config_plugins_1.withAppBuildGradle(config, config => { return config_plugins_1.withAppBuildGradle(config, (config) => {
if (config.modResults.language === 'groovy') { if (config.modResults.language !== "groovy") {
config.modResults.contents = config.modResults.contents.replace('org.webkit:android-jsc:+', 'org.webkit:android-jsc-intl:+'); throw new Error("[@expo/config-plugins][withAndroidJscIntl] Cannot enable Intl in Android JSC app gradle because the build.gradle is not groovy.");
}
else {
throw new Error('[@expo/config-plugins][withAndroidJscIntl] Cannot enable Intl in Android JSC app gradle because the build.gradle is not groovy.');
} }
config.modResults.contents = config.modResults.contents.replace("org.webkit:android-jsc:+", "org.webkit:android-jsc-intl:+");
return config; return config;
}); });
}; };
+2 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "@config-plugins/android-jsc-intl", "name": "@config-plugins/android-jsc-intl",
"version": "1.0.3", "version": "2.0.0",
"description": "Config plugin for android-jsc-intl package", "description": "Config plugin for android-jsc-intl package",
"main": "build/withAndroidJscIntl.js", "main": "build/withAndroidJscIntl.js",
"types": "build/withAndroidJscIntl.d.ts", "types": "build/withAndroidJscIntl.d.ts",
@@ -31,7 +31,7 @@
"preset": "expo-module-scripts" "preset": "expo-module-scripts"
}, },
"dependencies": { "dependencies": {
"@expo/config-plugins": "^4.1.0" "@expo/config-plugins": "~4.1.4"
}, },
"devDependencies": { "devDependencies": {
"expo-module-scripts": "^2.0.0" "expo-module-scripts": "^2.0.0"
@@ -8,16 +8,17 @@ 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(
"org.webkit:android-jsc:+",
"org.webkit:android-jsc-intl:+"
);
} else {
throw new Error( throw new Error(
"[@expo/config-plugins][withAndroidJscIntl] Cannot enable Intl in Android JSC app gradle because the build.gradle is not groovy." "[@expo/config-plugins][withAndroidJscIntl] Cannot enable Intl in Android JSC app gradle because the build.gradle is not groovy."
); );
} }
config.modResults.contents = config.modResults.contents.replace(
"org.webkit:android-jsc:+",
"org.webkit:android-jsc-intl:+"
);
return config; return config;
}); });
}; };
+7
View File
@@ -1,3 +1,10 @@
### @config-plugins/ios-stickers [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
### Other chores
* **ios-stickers:** lint fix ([331ecb1](https://github.com/expo/config-plugins/commit/331ecb163f000578bc519ebe94f90d62374095d1))
### @config-plugins/ios-stickers [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22) ### @config-plugins/ios-stickers [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
+1 -1
View File
@@ -4,12 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeStickersProps = void 0; exports.normalizeStickersProps = void 0;
const path_1 = __importDefault(require("path"));
const schema_utils_1 = require("schema-utils"); const schema_utils_1 = require("schema-utils");
const options_json_1 = __importDefault(require("./options.json")); const options_json_1 = __importDefault(require("./options.json"));
const withStickerAssets_1 = require("./withStickerAssets"); const withStickerAssets_1 = require("./withStickerAssets");
const withStickerInfoPlist_1 = require("./withStickerInfoPlist"); const withStickerInfoPlist_1 = require("./withStickerInfoPlist");
const withStickerXcodeTarget_1 = require("./withStickerXcodeTarget"); const withStickerXcodeTarget_1 = require("./withStickerXcodeTarget");
const path_1 = __importDefault(require("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 = { const sizeColumnMap = {
4: "small", 4: "small",
+3 -3
View File
@@ -70,9 +70,9 @@ const pbxTargetDependency = "PBXTargetDependency";
const pbxContainerItemProxy = "PBXContainerItemProxy"; const pbxContainerItemProxy = "PBXContainerItemProxy";
function addStickersTarget(proj, name, bundleId, subfolder) { function addStickersTarget(proj, name, bundleId, subfolder) {
// 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
if (!targetName) { if (!targetName) {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@config-plugins/ios-stickers", "name": "@config-plugins/ios-stickers",
"version": "1.0.2", "version": "1.0.3",
"description": "Config plugin to auto configure iOS iMessage stickers", "description": "Config plugin to auto configure iOS iMessage stickers",
"main": "build/withStickerPack.js", "main": "build/withStickerPack.js",
"types": "build/withStickerPack.d.ts", "types": "build/withStickerPack.d.ts",
@@ -1,3 +1,10 @@
### @config-plugins/react-native-adjust [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-23)
### Bug Fixes
* upgrade google play-services-analytics to v18.0.1 ([a24ea1d](https://github.com/expo/config-plugins/commit/a24ea1df58e9d0639dc4fa016aae8a4e15d53529))
### @config-plugins/react-native-adjust [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-adjust [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
-5
View File
@@ -1,5 +0,0 @@
import { ConfigPlugin } from "@expo/config-plugins";
declare const _default: ConfigPlugin<void | {
targetAndroid12?: boolean | undefined;
}>;
export default _default;
-92
View File
@@ -1,92 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const config_plugins_1 = require("@expo/config-plugins");
const generateCode_1 = require("@expo/config-plugins/build/utils/generateCode");
const withXcodeLinkBinaryWithLibraries = (config, { library, status }) => {
return config_plugins_1.withXcodeProject(config, (config) => {
const options = status === "optional" ? { weak: true } : {};
const target = config_plugins_1.IOSConfig.XcodeUtils.getApplicationNativeTarget({
project: config.modResults,
projectName: config.modRequest.projectName,
});
config.modResults.addFramework(library, {
target: target.uuid,
...options,
});
return config;
});
};
const addAndroidPackagingOptions = (src) => {
return generateCode_1.mergeContents({
tag: "react-native-play-services-analytics",
src,
newSrc: `
implementation 'com.google.android.gms:play-services-analytics:18.0.0'
implementation 'com.android.installreferrer:installreferrer:2.2'
`,
anchor: /dependencies(?:\s+)?\{/,
// Inside the dependencies block.
offset: 1,
comment: "//",
});
};
const withGradle = (config) => {
return config_plugins_1.withAppBuildGradle(config, (config) => {
if (config.modResults.language === "groovy") {
config.modResults.contents = addAndroidPackagingOptions(config.modResults.contents).contents;
}
else {
throw new Error("Cannot add Play Services maven gradle because the project build.gradle is not groovy");
}
return config;
});
};
/**
* Apply react-native-adjust configuration for Expo SDK +44 projects.
*/
const withAdjustPlugin = (config, _props) => {
const props = _props || {};
config = withXcodeLinkBinaryWithLibraries(config, {
library: "iAd.framework",
status: "optional",
});
config = withXcodeLinkBinaryWithLibraries(config, {
library: "AdServices.framework",
status: "optional",
});
config = withXcodeLinkBinaryWithLibraries(config, {
library: "AdSupport.framework",
status: "optional",
});
config = withXcodeLinkBinaryWithLibraries(config, {
library: "StoreKit.framework",
status: "optional",
});
config = withXcodeLinkBinaryWithLibraries(config, {
library: "AppTrackingTransparency.framework",
status: "optional",
});
if (props.targetAndroid12) {
config = config_plugins_1.AndroidConfig.Version.withBuildScriptExtMinimumVersion(config, {
name: "compileSdkVersion",
minVersion: 31,
});
config = config_plugins_1.AndroidConfig.Permissions.withPermissions(config, [
"com.google.android.gms.permission.AD_ID",
]);
}
config = withGradle(config);
// Return the modified config.
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-adjust` to a future
// upstream plugin in `react-native-adjust`
name: "react-native-adjust",
// 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(withAdjustPlugin, pkg.name, pkg.version);
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@config-plugins/react-native-adjust", "name": "@config-plugins/react-native-adjust",
"version": "1.0.2", "version": "1.0.3",
"description": "Config plugin to auto configure Adjust SDK on prebuild", "description": "Config plugin to auto configure Adjust SDK on prebuild",
"main": "build/withReactNativeAdjust.js", "main": "build/withReactNativeAdjust.js",
"types": "build/withReactNativeAdjust.d.ts", "types": "build/withReactNativeAdjust.d.ts",
@@ -34,7 +34,7 @@ const addAndroidPackagingOptions = (src: string) => {
tag: "react-native-play-services-analytics", tag: "react-native-play-services-analytics",
src, src,
newSrc: ` newSrc: `
implementation 'com.google.android.gms:play-services-analytics:18.0.0' implementation 'com.google.android.gms:play-services-analytics:18.0.1'
implementation 'com.android.installreferrer:installreferrer:2.2' implementation 'com.android.installreferrer:installreferrer:2.2'
`, `,
anchor: /dependencies(?:\s+)?\{/, anchor: /dependencies(?:\s+)?\{/,
@@ -1,3 +1,10 @@
### @config-plugins/react-native-ble-plx [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-05-09)
### Other chores
* **react-native-ble-plx:** lint fix ([a99c60e](https://github.com/expo/config-plugins/commit/a99c60efd5fe53d369551c9a1323701ab14e935b))
### @config-plugins/react-native-ble-plx [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-ble-plx [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
-1
View File
@@ -1,5 +1,4 @@
"use strict"; "use strict";
/* eslint-disable flowtype/no-types-missing-file-annotation */
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.BackgroundMode = void 0; exports.BackgroundMode = void 0;
const config_plugins_1 = require("@expo/config-plugins"); const config_plugins_1 = require("@expo/config-plugins");
+1 -1
View File
@@ -1,5 +1,5 @@
import { ConfigPlugin, AndroidConfig } from "@expo/config-plugins"; import { ConfigPlugin, AndroidConfig } from "@expo/config-plugins";
declare type InnerManifest = AndroidConfig.Manifest.AndroidManifest['manifest']; declare type InnerManifest = AndroidConfig.Manifest.AndroidManifest["manifest"];
declare type ManifestPermission = InnerManifest["permission"]; declare type ManifestPermission = InnerManifest["permission"];
declare type AndroidManifest = { declare type AndroidManifest = {
manifest: InnerManifest & { manifest: InnerManifest & {
-1
View File
@@ -1,5 +1,4 @@
"use strict"; "use strict";
/* eslint-disable flowtype/no-types-missing-file-annotation */
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.addBLEHardwareFeatureToManifest = exports.addFineControlPermissionToManifest = exports.withBLEAndroidManifest = void 0; exports.addBLEHardwareFeatureToManifest = exports.addFineControlPermissionToManifest = exports.withBLEAndroidManifest = void 0;
const config_plugins_1 = require("@expo/config-plugins"); const config_plugins_1 = require("@expo/config-plugins");
+1 -1
View File
@@ -1,4 +1,4 @@
import { ConfigPlugin } from '@expo/config-plugins'; import { ConfigPlugin } from "@expo/config-plugins";
export declare enum BackgroundMode { export declare enum BackgroundMode {
Central = "central", Central = "central",
Peripheral = "peripheral" Peripheral = "peripheral"
+4 -5
View File
@@ -1,7 +1,6 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.withBLEBackgroundModes = exports.BackgroundMode = void 0; exports.withBLEBackgroundModes = exports.BackgroundMode = void 0;
/* eslint-disable flowtype/no-types-missing-file-annotation */
const config_plugins_1 = require("@expo/config-plugins"); const config_plugins_1 = require("@expo/config-plugins");
var BackgroundMode; var BackgroundMode;
(function (BackgroundMode) { (function (BackgroundMode) {
@@ -9,18 +8,18 @@ var BackgroundMode;
BackgroundMode["Peripheral"] = "peripheral"; BackgroundMode["Peripheral"] = "peripheral";
})(BackgroundMode = exports.BackgroundMode || (exports.BackgroundMode = {})); })(BackgroundMode = exports.BackgroundMode || (exports.BackgroundMode = {}));
function ensureKey(arr, key) { function ensureKey(arr, key) {
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`.
*/ */
const withBLEBackgroundModes = (c, modes) => { const withBLEBackgroundModes = (c, modes) => {
return config_plugins_1.withInfoPlist(c, config => { return config_plugins_1.withInfoPlist(c, (config) => {
if (!Array.isArray(config.modResults.UIBackgroundModes)) { if (!Array.isArray(config.modResults.UIBackgroundModes)) {
config.modResults.UIBackgroundModes = []; config.modResults.UIBackgroundModes = [];
} }
-1
View File
@@ -1,7 +1,6 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.withBluetoothPermissions = void 0; exports.withBluetoothPermissions = void 0;
/* eslint-disable flowtype/no-types-missing-file-annotation */
const config_plugins_1 = require("@expo/config-plugins"); const config_plugins_1 = require("@expo/config-plugins");
const BLUETOOTH_ALWAYS = "Allow $(PRODUCT_NAME) to connect to bluetooth devices"; const BLUETOOTH_ALWAYS = "Allow $(PRODUCT_NAME) to connect to bluetooth devices";
const BLUETOOTH_PERIPHERAL_USAGE = "Allow $(PRODUCT_NAME) to connect to bluetooth devices"; const BLUETOOTH_PERIPHERAL_USAGE = "Allow $(PRODUCT_NAME) to connect to bluetooth devices";
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@config-plugins/react-native-ble-plx", "name": "@config-plugins/react-native-ble-plx",
"version": "1.0.2", "version": "1.0.3",
"description": "Config plugin to auto configure react-native-ble-plx on prebuild", "description": "Config plugin to auto configure react-native-ble-plx on prebuild",
"main": "build/withBLE.js", "main": "build/withBLE.js",
"types": "build/withBLE.d.ts", "types": "build/withBLE.d.ts",
+1 -1
View File
@@ -34,7 +34,7 @@
}, },
"dependencies": { "dependencies": {
"@expo/config-plugins": "^4.1.0", "@expo/config-plugins": "^4.1.0",
"@expo/config-types": "^43.0.1" "@expo/config-types": "^45.0.0"
}, },
"devDependencies": { "devDependencies": {
"expo-module-scripts": "^2.0.0" "expo-module-scripts": "^2.0.0"
@@ -0,0 +1,24 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.expo.mycoolapp">
<uses-permission android:name="android.permission.INTERNET" />
<queries>
<!-- Support checking for http(s) links via the Linking API -->
<intent>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
</intent>
</queries>
<application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="true" android:theme="@style/AppTheme">
<activity android:name=".MainActivity" android:launchMode="singleTask" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
</manifest>
@@ -0,0 +1,53 @@
import { AndroidConfig } from "@expo/config-plugins";
import { resolve } from "path";
import { getBranchApiKey, setBranchApiKey } from "../withBranchAndroid";
const { findMetaDataItem, getMainApplication, readAndroidManifestAsync } =
AndroidConfig.Manifest;
const sampleManifestPath = resolve(
__dirname,
"./fixtures",
"react-native-AndroidManifest.xml"
);
describe(getBranchApiKey, () => {
it(`returns null if no android branch api key is provided`, () => {
expect(getBranchApiKey({ android: { config: {} } } as any)).toBe(null);
});
it(`returns apikey if android branch api key is provided`, () => {
expect(
getBranchApiKey({
android: { config: { branch: { apiKey: "MY-API-KEY" } } },
} as any)
).toBe("MY-API-KEY");
});
});
describe(setBranchApiKey, () => {
it("sets branch api key in AndroidManifest.xml if given", async () => {
let androidManifestJson = await readAndroidManifestAsync(
sampleManifestPath
);
androidManifestJson = await setBranchApiKey(
"MY-API-KEY",
androidManifestJson
);
let mainApplication = getMainApplication(androidManifestJson);
expect(
findMetaDataItem(mainApplication, "io.branch.sdk.BranchKey")
).toBeGreaterThan(-1);
// Unset the item
androidManifestJson = await setBranchApiKey(null, androidManifestJson);
mainApplication = getMainApplication(androidManifestJson);
expect(findMetaDataItem(mainApplication, "io.branch.sdk.BranchKey")).toBe(
-1
);
});
});
@@ -0,0 +1,27 @@
import { getBranchApiKey, setBranchApiKey } from "../withBranchIOS";
describe(getBranchApiKey, () => {
it(`returns null if no api key is provided`, () => {
expect(getBranchApiKey({})).toBe(null);
});
it(`returns the api key if provided`, () => {
expect(
getBranchApiKey({ ios: { config: { branch: { apiKey: "123" } } } })
).toBe("123");
});
});
describe(setBranchApiKey, () => {
it(`sets branch_key.live if the api key is given`, () => {
expect(setBranchApiKey("123", {})).toMatchObject({
branch_key: {
live: "123",
},
});
});
it(`makes no changes to the infoPlist no api key is provided`, () => {
expect(setBranchApiKey(null, {})).toMatchObject({});
});
});
@@ -9,7 +9,7 @@ export function getBranchApiKey(config: Pick<ExpoConfig, "ios">) {
} }
export function setBranchApiKey( export function setBranchApiKey(
apiKey: string, apiKey: string | null,
infoPlist: InfoPlist infoPlist: InfoPlist
): InfoPlist { ): InfoPlist {
if (apiKey === null) { if (apiKey === null) {
@@ -1,3 +1,10 @@
### @config-plugins/react-native-google-cast [1.0.3](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-23)
### Other chores
* **react-native-google-cast:** lint fix ([21c4928](https://github.com/expo/config-plugins/commit/21c49280d49a3584863d8338e4b34c508249a595))
### @config-plugins/react-native-google-cast [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-google-cast [1.0.2](https://github.com/expo/config-plugins/compare/@config-plugins/[email protected]...@config-plugins/[email protected]) (2022-03-22)
+2 -2
View File
@@ -2,8 +2,8 @@
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.withAndroidGoogleCast = void 0; exports.withAndroidGoogleCast = void 0;
const config_plugins_1 = require("@expo/config-plugins"); const config_plugins_1 = require("@expo/config-plugins");
const generateCode_1 = require("@expo/config-plugins/build/utils/generateCode");
const codeMod_1 = require("@expo/config-plugins/build/android/codeMod"); const codeMod_1 = require("@expo/config-plugins/build/android/codeMod");
const generateCode_1 = require("@expo/config-plugins/build/utils/generateCode");
const { addMetaDataItemToMainApplication, getMainApplicationOrThrow } = config_plugins_1.AndroidConfig.Manifest; const { addMetaDataItemToMainApplication, getMainApplicationOrThrow } = config_plugins_1.AndroidConfig.Manifest;
const META_PROVIDER_CLASS = "com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"; const META_PROVIDER_CLASS = "com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME";
const META_RECEIVER_APP_ID = "com.reactnative.googlecast.RECEIVER_APPLICATION_ID"; const META_RECEIVER_APP_ID = "com.reactnative.googlecast.RECEIVER_APPLICATION_ID";
@@ -63,7 +63,7 @@ const withAppBuildGradleImport = (config, { version }) => {
}; };
const withMainActivityLazyLoading = (config) => { const withMainActivityLazyLoading = (config) => {
return config_plugins_1.withMainActivity(config, async (config) => { return config_plugins_1.withMainActivity(config, async (config) => {
let src = codeMod_1.addImports(config.modResults.contents, ["com.google.android.gms.cast.framework.CastContext"], config.modResults.language === "java"); const src = codeMod_1.addImports(config.modResults.contents, ["com.google.android.gms.cast.framework.CastContext"], config.modResults.language === "java");
if (config.modResults.language === "java") { if (config.modResults.language === "java") {
config.modResults.contents = addGoogleCastLazyLoadingImport(src).contents; config.modResults.contents = addGoogleCastLazyLoadingImport(src).contents;
} }
+19 -16
View File
@@ -17,9 +17,12 @@ const withIosWifiEntitlements = (config) => {
}); });
}; };
const LOCAL_NETWORK_USAGE = "${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi network"; const LOCAL_NETWORK_USAGE = "${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi network";
const BLUETOOTH_ALWAYS_USAGE = "${PRODUCT_NAME} uses Bluetooth to discover nearby Cast devices"; // const BLUETOOTH_ALWAYS_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 = "${PRODUCT_NAME} uses microphone access to listen for ultrasonic tokens when pairing with nearby Cast devices"; // const BLUETOOTH_PERIPHERAL_USAGE =
// "${PRODUCT_NAME} uses Bluetooth to discover nearby Cast devices";
// const MICROPHONE_USAGE =
// "${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.
* *
@@ -45,19 +48,19 @@ const withIosLocalNetworkPermissions = (config, { receiverAppId = "CC1AD845" } =
return config; return config;
}); });
}; };
const withIosGuestMode = (config) => { // const withIosGuestMode: ConfigPlugin = (config) => {
return config_plugins_1.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 = (config, props) => { const withIosAppDelegateLoaded = (config, props) => {
return config_plugins_1.withAppDelegate(config, (config) => { return config_plugins_1.withAppDelegate(config, (config) => {
@@ -1,6 +1,6 @@
{ {
"name": "@config-plugins/react-native-google-cast", "name": "@config-plugins/react-native-google-cast",
"version": "1.0.2", "version": "1.0.3",
"description": "Config plugin to auto configure Google Cast on prebuild", "description": "Config plugin to auto configure Google Cast on prebuild",
"main": "build/withGoogleCast.js", "main": "build/withGoogleCast.js",
"types": "build/withGoogleCast.d.ts", "types": "build/withGoogleCast.d.ts",
+44
View File
@@ -1923,6 +1923,27 @@
xcode "^3.0.1" xcode "^3.0.1"
xml2js "0.4.23" xml2js "0.4.23"
"@expo/config-plugins@~4.1.4":
version "4.1.4"
resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-4.1.4.tgz#08e1a6314dc0f96cd165a748b5997b5ec75a84d0"
integrity sha512-fkOjXnSieQfVSWVLKhst0DnCAyeHksvWky1CldFCQllhDB1HHBiP09Z8pamVB783n3qr/1HNZiSp6k2iUcaSoA==
dependencies:
"@expo/config-types" "^45.0.0"
"@expo/json-file" "8.2.36"
"@expo/plist" "0.0.18"
"@expo/sdk-runtime-versions" "^1.0.0"
"@react-native/normalize-color" "^2.0.0"
chalk "^4.1.2"
debug "^4.3.1"
find-up "~5.0.0"
getenv "^1.0.0"
glob "7.1.6"
resolve-from "^5.0.0"
semver "^7.3.5"
slash "^3.0.0"
xcode "^3.0.1"
xml2js "0.4.23"
"@expo/config-types@^40.0.0-beta.2": "@expo/config-types@^40.0.0-beta.2":
version "40.0.0-beta.2" version "40.0.0-beta.2"
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-40.0.0-beta.2.tgz#4fea4ef5654d02218b02b0b3772529a9ce5b0471" resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-40.0.0-beta.2.tgz#4fea4ef5654d02218b02b0b3772529a9ce5b0471"
@@ -1948,6 +1969,11 @@
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-44.0.0.tgz#d3480fe2c99f9e895dae4ebba58b74ed72d03e26" resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-44.0.0.tgz#d3480fe2c99f9e895dae4ebba58b74ed72d03e26"
integrity sha512-d+gpdKOAhqaD5RmcMzGgKzNtvE1w+GCqpFQNSXLliYlXjj+Tv0eL8EPeAdPtvke0vowpPFwd5McXLA90dgY6Jg== integrity sha512-d+gpdKOAhqaD5RmcMzGgKzNtvE1w+GCqpFQNSXLliYlXjj+Tv0eL8EPeAdPtvke0vowpPFwd5McXLA90dgY6Jg==
"@expo/config-types@^45.0.0":
version "45.0.0"
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-45.0.0.tgz#963c2fdce8fbcbd003758b92ed8a25375f437ef6"
integrity sha512-/QGhhLWyaGautgEyU50UJr5YqKJix5t77ePTwreOVAhmZH+ff3nrrtYTTnccx+qF08ZNQmfAyYMCD3rQfzpiJA==
"@expo/[email protected]": "@expo/[email protected]":
version "5.0.1" version "5.0.1"
resolved "https://registry.yarnpkg.com/@expo/config/-/config-5.0.1.tgz#845b2d87bb360bac3e578fa629b68f10377f2005" resolved "https://registry.yarnpkg.com/@expo/config/-/config-5.0.1.tgz#845b2d87bb360bac3e578fa629b68f10377f2005"
@@ -2129,6 +2155,15 @@
json5 "^1.0.1" json5 "^1.0.1"
write-file-atomic "^2.3.0" write-file-atomic "^2.3.0"
"@expo/[email protected]":
version "8.2.36"
resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.36.tgz#62a505cb7f30a34d097386476794680a3f7385ff"
integrity sha512-tOZfTiIFA5KmMpdW9KF7bc6CFiGjb0xnbieJhTGlHrLL+ps2G0OkqmuZ3pFEXBOMnJYUVpnSy++52LFxvpa5ZQ==
dependencies:
"@babel/code-frame" "~7.10.4"
json5 "^1.0.1"
write-file-atomic "^2.3.0"
"@expo/metro-config@^0.1.59": "@expo/metro-config@^0.1.59":
version "0.1.76" version "0.1.76"
resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.1.76.tgz#b54cf4372bf8df74b3c6e259186169ee83f78639" resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.1.76.tgz#b54cf4372bf8df74b3c6e259186169ee83f78639"
@@ -2221,6 +2256,15 @@
base64-js "^1.2.3" base64-js "^1.2.3"
xmlbuilder "^14.0.0" xmlbuilder "^14.0.0"
"@expo/[email protected]":
version "0.0.18"
resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.0.18.tgz#9abcde78df703a88f6d9fa1a557ee2f045d178b0"
integrity sha512-+48gRqUiz65R21CZ/IXa7RNBXgAI/uPSdvJqoN9x1hfL44DNbUoWHgHiEXTx7XelcATpDwNTz6sHLfy0iNqf+w==
dependencies:
"@xmldom/xmldom" "~0.7.0"
base64-js "^1.2.3"
xmlbuilder "^14.0.0"
"@expo/prebuild-config@^3.0.6": "@expo/prebuild-config@^3.0.6":
version "3.0.7" version "3.0.7"
resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-3.0.7.tgz#9d2e22b06ea61377331d561e5fb47a505d96757c" resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-3.0.7.tgz#9d2e22b06ea61377331d561e5fb47a505d96757c"