expo-dev-client 0.7.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,12 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 0.8.0 — 2021-12-22
14
+
15
+ ### 💡 Others
16
+
17
+ - Updated `@expo/config-plugins` from `4.0.2` to `4.0.14` ([#15621](https://github.com/expo/expo/pull/15621) by [@EvanBacon](https://github.com/EvanBacon))
18
+
13
19
  ## 0.7.2 — 2021-12-15
14
20
 
15
21
  _This version does not introduce any user-facing changes._
@@ -23,7 +23,7 @@ android {
23
23
  minSdkVersion safeExtGet('minSdkVersion', 21)
24
24
  targetSdkVersion safeExtGet('targetSdkVersion', 30)
25
25
  versionCode 1
26
- versionName "0.7.2"
26
+ versionName "0.8.0"
27
27
 
28
28
  testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
29
29
  }
@@ -77,6 +77,7 @@ repositories {
77
77
  }
78
78
 
79
79
  dependencies {
80
+ androidTestImplementation project(':expo-modules-core')
80
81
  androidTestImplementation project(":expo-dev-menu-interface")
81
82
  androidTestImplementation project(":expo-updates-interface")
82
83
  androidTestImplementation project(":expo-dev-menu")
package/dependencies.js CHANGED
@@ -1,27 +1 @@
1
- const path = require('path');
2
-
3
- module.exports = {
4
- 'expo-dev-launcher': {
5
- root: resolve('expo-dev-launcher'),
6
- },
7
- 'expo-dev-menu': {
8
- root: resolve('expo-dev-menu'),
9
- },
10
- 'expo-dev-menu-interface': {
11
- root: resolve('expo-dev-menu-interface'),
12
- },
13
- 'expo-manifests': {
14
- root: resolve('expo-manifests'),
15
- },
16
- 'expo-updates-interface': {
17
- root: resolve('expo-updates-interface'),
18
- },
19
- };
20
-
21
- function resolve(name) {
22
- return path.dirname(
23
- require.resolve(name + '/package.json', {
24
- paths: [__dirname],
25
- })
26
- );
27
- }
1
+ module.exports = {};
@@ -0,0 +1,4 @@
1
+ {
2
+ "name": "expo-dev-client",
3
+ "platforms": ["ios", "android"]
4
+ }
@@ -1,6 +1,6 @@
1
1
  require 'json'
2
2
 
3
- package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
3
+ package = JSON.parse(File.read(File.join(__dir__, '../package.json')))
4
4
 
5
5
  Pod::Spec.new do |s|
6
6
  s.name = 'expo-dev-client'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-dev-client",
3
- "version": "0.7.2",
3
+ "version": "0.8.0",
4
4
  "description": "Expo Development Client",
5
5
  "main": "build/DevClient.js",
6
6
  "types": "build/DevClient.d.ts",
@@ -31,10 +31,10 @@
31
31
  "license": "MIT",
32
32
  "homepage": "https://docs.expo.dev/clients/introduction/",
33
33
  "dependencies": {
34
- "@expo/config-plugins": "^4.0.2",
35
- "expo-dev-launcher": "0.9.1",
36
- "expo-dev-menu": "0.8.6",
37
- "expo-dev-menu-interface": "0.4.2",
34
+ "@expo/config-plugins": "^4.0.14",
35
+ "expo-dev-launcher": "0.10.0",
36
+ "expo-dev-menu": "0.9.0",
37
+ "expo-dev-menu-interface": "0.5.0",
38
38
  "expo-manifests": "~0.2.2",
39
39
  "expo-updates-interface": "~0.5.0"
40
40
  },
@@ -42,8 +42,11 @@
42
42
  "expo-module-scripts": "^2.0.0",
43
43
  "expo-test-runner": "0.0.7"
44
44
  },
45
+ "peerDependencies": {
46
+ "expo": "*"
47
+ },
45
48
  "jest": {
46
49
  "preset": "expo-module-scripts"
47
50
  },
48
- "gitHead": "58a32c58b6532ec0e14df10b772fa33f7657fbcc"
51
+ "gitHead": "db3c974468338f22450238dc273b343a76e2c347"
49
52
  }
@@ -8,48 +8,12 @@ const config_plugins_1 = require("@expo/config-plugins");
8
8
  const app_plugin_1 = __importDefault(require("expo-dev-launcher/app.plugin"));
9
9
  // @ts-expect-error missing types
10
10
  const app_plugin_2 = __importDefault(require("expo-dev-menu/app.plugin"));
11
- const fs_1 = __importDefault(require("fs"));
12
- const path_1 = __importDefault(require("path"));
13
- const constants_1 = require("./constants");
14
11
  const withGeneratedAndroidScheme_1 = require("./withGeneratedAndroidScheme");
15
12
  const withGeneratedIosScheme_1 = require("./withGeneratedIosScheme");
16
13
  const pkg = require('expo-dev-client/package.json');
17
- const REACT_NATIVE_CONFIG_JS = `// File created by expo-dev-client/app.plugin.js
18
-
19
- module.exports = {
20
- dependencies: {
21
- ...require('expo-dev-client/dependencies'),
22
- },
23
- };
24
- `;
25
- function withReactNativeConfigJs(config) {
26
- config = (0, config_plugins_1.withDangerousMod)(config, ['android', addReactNativeConfigAsync]);
27
- config = (0, config_plugins_1.withDangerousMod)(config, ['ios', addReactNativeConfigAsync]);
28
- return config;
29
- }
30
- const addReactNativeConfigAsync = async (config) => {
31
- const filename = path_1.default.join(config.modRequest.projectRoot, 'react-native.config.js');
32
- try {
33
- const config = fs_1.default.readFileSync(filename, 'utf8');
34
- if (!config.includes('expo-dev-client/dependencies')) {
35
- throw new Error(`Could not add expo-dev-client dependencies to existing file ${filename}. See expo-dev-client installation instructions to add them manually: ${constants_1.InstallationPage}`);
36
- }
37
- }
38
- catch (error) {
39
- if (error.code === 'ENOENT') {
40
- // The file doesn't exist, so we create it.
41
- fs_1.default.writeFileSync(filename, REACT_NATIVE_CONFIG_JS);
42
- }
43
- else {
44
- throw error;
45
- }
46
- }
47
- return config;
48
- };
49
14
  function withDevClient(config) {
50
15
  config = (0, app_plugin_2.default)(config);
51
16
  config = (0, app_plugin_1.default)(config);
52
- config = withReactNativeConfigJs(config);
53
17
  config = (0, withGeneratedAndroidScheme_1.withGeneratedAndroidScheme)(config);
54
18
  config = (0, withGeneratedIosScheme_1.withGeneratedIosScheme)(config);
55
19
  return config;
@@ -1,57 +1,18 @@
1
- import { createRunOncePlugin, Mod, withDangerousMod } from '@expo/config-plugins';
1
+ import { createRunOncePlugin } from '@expo/config-plugins';
2
2
  import { ExpoConfig } from '@expo/config-types';
3
3
  // @ts-expect-error missing types
4
4
  import withDevLauncher from 'expo-dev-launcher/app.plugin';
5
5
  // @ts-expect-error missing types
6
6
  import withDevMenu from 'expo-dev-menu/app.plugin';
7
- import fs from 'fs';
8
- import path from 'path';
9
7
 
10
- import { InstallationPage } from './constants';
11
8
  import { withGeneratedAndroidScheme } from './withGeneratedAndroidScheme';
12
9
  import { withGeneratedIosScheme } from './withGeneratedIosScheme';
13
10
 
14
11
  const pkg = require('expo-dev-client/package.json');
15
12
 
16
- const REACT_NATIVE_CONFIG_JS = `// File created by expo-dev-client/app.plugin.js
17
-
18
- module.exports = {
19
- dependencies: {
20
- ...require('expo-dev-client/dependencies'),
21
- },
22
- };
23
- `;
24
-
25
- function withReactNativeConfigJs(config: ExpoConfig): ExpoConfig {
26
- config = withDangerousMod(config, ['android', addReactNativeConfigAsync]);
27
- config = withDangerousMod(config, ['ios', addReactNativeConfigAsync]);
28
- return config;
29
- }
30
-
31
- const addReactNativeConfigAsync: Mod = async (config) => {
32
- const filename = path.join(config.modRequest.projectRoot, 'react-native.config.js');
33
- try {
34
- const config = fs.readFileSync(filename, 'utf8');
35
- if (!config.includes('expo-dev-client/dependencies')) {
36
- throw new Error(
37
- `Could not add expo-dev-client dependencies to existing file ${filename}. See expo-dev-client installation instructions to add them manually: ${InstallationPage}`
38
- );
39
- }
40
- } catch (error: any) {
41
- if (error.code === 'ENOENT') {
42
- // The file doesn't exist, so we create it.
43
- fs.writeFileSync(filename, REACT_NATIVE_CONFIG_JS);
44
- } else {
45
- throw error;
46
- }
47
- }
48
- return config;
49
- };
50
-
51
13
  function withDevClient(config: ExpoConfig) {
52
14
  config = withDevMenu(config);
53
15
  config = withDevLauncher(config);
54
- config = withReactNativeConfigJs(config);
55
16
  config = withGeneratedAndroidScheme(config);
56
17
  config = withGeneratedIosScheme(config);
57
18
  return config;
@@ -1,13 +0,0 @@
1
- module.exports = {
2
- dependency: {
3
- platforms: {
4
- ios: {
5
- /**
6
- * We need this property to trick `react-native-cli`. Normally, this tool looks for the XCode project.
7
- * We can generate it using `XcodeGen` but we don't want to add the project file to this library.
8
- */
9
- project: 'ios/EXDevClient.xcodeproj/project.pbxproj',
10
- },
11
- },
12
- },
13
- };