@nrwl/react-native 13.2.1 → 13.3.0-beta.10
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/package.json +8 -7
- package/plugins/metro-resolver.js +93 -25
- package/plugins/metro-resolver.js.map +1 -1
- package/plugins/with-nx-metro.js +1 -1
- package/plugins/with-nx-metro.js.map +1 -1
- package/project.json +1 -3
- package/src/executors/build-android/build-android.impl.js +3 -3
- package/src/executors/build-android/build-android.impl.js.map +1 -1
- package/src/executors/build-android/build-android.impl.ts +7 -3
- package/src/executors/bundle/bundle.impl.js +3 -7
- package/src/executors/bundle/bundle.impl.js.map +1 -1
- package/src/executors/bundle/bundle.impl.ts +3 -7
- package/src/executors/run-android/run-android.impl.js +10 -7
- package/src/executors/run-android/run-android.impl.js.map +1 -1
- package/src/executors/run-android/run-android.impl.ts +10 -7
- package/src/executors/run-android/schema.d.ts +1 -0
- package/src/executors/run-android/schema.json +5 -0
- package/src/executors/run-ios/run-ios.impl.js +9 -6
- package/src/executors/run-ios/run-ios.impl.js.map +1 -1
- package/src/executors/run-ios/run-ios.impl.ts +9 -6
- package/src/executors/run-ios/schema.d.ts +1 -0
- package/src/executors/run-ios/schema.json +5 -0
- package/src/executors/start/start.impl.js +1 -1
- package/src/executors/start/start.impl.js.map +1 -1
- package/src/executors/start/start.impl.ts +1 -1
- package/src/executors/sync-deps/sync-deps.impl.d.ts +1 -1
- package/src/executors/sync-deps/sync-deps.impl.js +3 -3
- package/src/executors/sync-deps/sync-deps.impl.js.map +1 -1
- package/src/executors/sync-deps/sync-deps.impl.ts +8 -2
- package/src/generators/application/application.js +5 -5
- package/src/generators/application/application.js.map +1 -1
- package/src/generators/application/files/app/android/app/build.gradle.template +1 -1
- package/src/generators/application/files/app/ios/__className__.xcodeproj/project.pbxproj.template +1 -1
- package/src/generators/application/files/app/src/app/App.tsx.template +427 -106
- package/src/generators/application/files/app/src/app/icons/blog.svg +1 -0
- package/src/generators/application/files/app/src/app/icons/book.svg +1 -0
- package/src/generators/application/files/app/src/app/icons/checkmark.svg +1 -0
- package/src/generators/application/files/app/src/app/icons/chevron-right.svg +1 -0
- package/src/generators/application/files/app/src/app/icons/courses.svg +1 -0
- package/src/generators/application/files/app/src/app/icons/github.svg +1 -0
- package/src/generators/application/files/app/src/app/icons/heart.svg +1 -0
- package/src/generators/application/files/app/src/app/{logo.png → icons/logo.png} +0 -0
- package/src/generators/application/files/app/src/app/icons/nx-cloud.svg +1 -0
- package/src/generators/application/files/app/src/app/icons/pointer.svg +1 -0
- package/src/generators/application/files/app/src/app/icons/terminal.svg +1 -0
- package/src/generators/application/files/app/src/app/icons/vscode.svg +1 -0
- package/src/generators/application/files/app/src/app/icons/youtube.svg +1 -0
- package/src/generators/application/lib/add-project.js +2 -2
- package/src/generators/application/lib/add-project.js.map +1 -1
- package/src/generators/application/lib/nomalize-options.spec.ts +10 -5
- package/src/generators/application/lib/normalize-options.d.ts +1 -0
- package/src/generators/application/lib/normalize-options.js +4 -2
- package/src/generators/application/lib/normalize-options.js.map +1 -1
- package/src/generators/init/init.js +7 -17
- package/src/generators/init/init.js.map +1 -1
- package/src/generators/library/library.js +2 -2
- package/src/generators/library/library.js.map +1 -1
- package/src/generators/library/library.spec.ts +1 -1
- package/src/migrations/update-12-5-0/update-jest-for-react-native.js +9 -3
- package/src/migrations/update-12-5-0/update-jest-for-react-native.js.map +1 -1
- package/src/utils/add-jest.d.ts +1 -1
- package/src/utils/add-jest.js +2 -2
- package/src/utils/add-jest.js.map +1 -1
- package/src/utils/add-linting.js +6 -18
- package/src/utils/add-linting.js.map +1 -1
- package/src/utils/ensure-node-modules-symlink.js +1 -82
- package/src/utils/ensure-node-modules-symlink.js.map +1 -1
- package/src/utils/ensure-node-modules-symlink.spec.ts +8 -86
- package/src/utils/pod-install-task.d.ts +4 -4
- package/src/utils/pod-install-task.js +7 -7
- package/src/utils/pod-install-task.js.map +1 -1
- package/src/utils/symlink-task.d.ts +1 -1
- package/src/utils/symlink-task.js +2 -3
- package/src/utils/symlink-task.js.map +1 -1
- package/src/utils/versions.d.ts +1 -0
- package/src/utils/versions.js +3 -2
- package/src/utils/versions.js.map +1 -1
- package/src/generators/application/files/app/src/app/star.svg +0 -11
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nrwl/react-native",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.3.0-beta.10",
|
|
4
4
|
"description": "React Native Plugin for Nx",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Monorepo",
|
|
@@ -24,13 +24,14 @@
|
|
|
24
24
|
"main": "index.js",
|
|
25
25
|
"types": "index.d.ts",
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@nrwl/detox": "13.
|
|
28
|
-
"@nrwl/devkit": "13.
|
|
29
|
-
"@nrwl/jest": "13.
|
|
30
|
-
"@nrwl/linter": "13.
|
|
31
|
-
"@nrwl/react": "13.
|
|
32
|
-
"@nrwl/workspace": "13.
|
|
27
|
+
"@nrwl/detox": "13.3.0-beta.10",
|
|
28
|
+
"@nrwl/devkit": "13.3.0-beta.10",
|
|
29
|
+
"@nrwl/jest": "13.3.0-beta.10",
|
|
30
|
+
"@nrwl/linter": "13.3.0-beta.10",
|
|
31
|
+
"@nrwl/react": "13.3.0-beta.10",
|
|
32
|
+
"@nrwl/workspace": "13.3.0-beta.10",
|
|
33
33
|
"chalk": "^4.1.0",
|
|
34
|
+
"enhanced-resolve": "^5.8.3",
|
|
34
35
|
"ignore": "^5.0.4",
|
|
35
36
|
"metro-resolver": "^0.66.2",
|
|
36
37
|
"node-fetch": "^2.6.1",
|
|
@@ -5,6 +5,11 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const metroResolver = require("metro-resolver");
|
|
6
6
|
const tsconfig_paths_1 = require("tsconfig-paths");
|
|
7
7
|
const chalk = require("chalk");
|
|
8
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
9
|
+
const enhanced_resolve_1 = require("enhanced-resolve");
|
|
10
|
+
const path_1 = require("path");
|
|
11
|
+
const fs = require("fs");
|
|
12
|
+
const app_root_1 = require("@nrwl/tao/src/utils/app-root");
|
|
8
13
|
/*
|
|
9
14
|
* Use tsconfig to resolve additional workspace libs.
|
|
10
15
|
*
|
|
@@ -17,37 +22,83 @@ function getResolveRequest(extensions) {
|
|
|
17
22
|
if (DEBUG)
|
|
18
23
|
console.log(chalk.cyan(`[Nx] Resolving: ${moduleName}`));
|
|
19
24
|
const { resolveRequest } = _context, context = (0, tslib_1.__rest)(_context, ["resolveRequest"]);
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
let resolvedPath = defaultMetroResolver(context, moduleName, platform);
|
|
26
|
+
if (resolvedPath) {
|
|
27
|
+
return resolvedPath;
|
|
22
28
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const matcher = getMatcher();
|
|
28
|
-
let match;
|
|
29
|
-
const matchExtension = extensions.find((extension) => {
|
|
30
|
-
match = matcher(realModuleName, undefined, undefined, ['.' + extension]);
|
|
31
|
-
return !!match;
|
|
32
|
-
});
|
|
33
|
-
if (match) {
|
|
34
|
-
return {
|
|
35
|
-
type: 'sourceFile',
|
|
36
|
-
filePath: !matchExtension || match.endsWith(`.${matchExtension}`)
|
|
37
|
-
? match
|
|
38
|
-
: `${match}.${matchExtension}`,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
if (DEBUG) {
|
|
43
|
-
console.log(chalk.red(`[Nx] Failed to resolve ${chalk.bold(moduleName)}`));
|
|
44
|
-
console.log(chalk.cyan(`[Nx] The following tsconfig paths was used:\n:${chalk.bold(JSON.stringify(paths, null, 2))}`));
|
|
29
|
+
if ((0, devkit_1.detectPackageManager)(app_root_1.appRootPath) === 'pnpm') {
|
|
30
|
+
resolvedPath = pnpmResolver(extensions, context, realModuleName, moduleName);
|
|
31
|
+
if (resolvedPath) {
|
|
32
|
+
return resolvedPath;
|
|
45
33
|
}
|
|
46
|
-
throw new Error(`Cannot resolve ${chalk.bold(moduleName)}`);
|
|
47
34
|
}
|
|
35
|
+
return tsconfigPathsResolver(extensions, realModuleName, moduleName);
|
|
48
36
|
};
|
|
49
37
|
}
|
|
50
38
|
exports.getResolveRequest = getResolveRequest;
|
|
39
|
+
/**
|
|
40
|
+
* This function try to resolve path using metro's default resolver
|
|
41
|
+
* @returns path if resolved, else undefined
|
|
42
|
+
*/
|
|
43
|
+
function defaultMetroResolver(context, moduleName, platform) {
|
|
44
|
+
const DEBUG = process.env.NX_REACT_NATIVE_DEBUG === 'true';
|
|
45
|
+
try {
|
|
46
|
+
return metroResolver.resolve(context, moduleName, platform);
|
|
47
|
+
}
|
|
48
|
+
catch (_a) {
|
|
49
|
+
if (DEBUG)
|
|
50
|
+
console.log(chalk.cyan(`[Nx] Unable to resolve with default Metro resolver: ${moduleName}`));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* This resolver try to resolve module for pnpm.
|
|
55
|
+
* @returns path if resolved, else undefined
|
|
56
|
+
* This pnpm resolver is inspired from https://github.com/vjpr/pnpm-react-native-example/blob/main/packages/pnpm-expo-helper/util/make-resolver.js
|
|
57
|
+
*/
|
|
58
|
+
function pnpmResolver(extensions, context, realModuleName, moduleName) {
|
|
59
|
+
const DEBUG = process.env.NX_REACT_NATIVE_DEBUG === 'true';
|
|
60
|
+
try {
|
|
61
|
+
const pnpmResolver = getPnpmResolver(app_root_1.appRootPath, extensions);
|
|
62
|
+
const lookupStartPath = (0, path_1.dirname)(context.originModulePath);
|
|
63
|
+
const filePath = pnpmResolver.resolveSync({}, lookupStartPath, realModuleName);
|
|
64
|
+
if (filePath) {
|
|
65
|
+
return { type: 'sourceFile', filePath };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch (_a) {
|
|
69
|
+
if (DEBUG)
|
|
70
|
+
console.log(chalk.cyan(`[Nx] Unable to resolve with default PNPM resolver: ${moduleName}`));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* This function try to resolve files that are specified in tsconfig's paths
|
|
75
|
+
* @returns path if resolved, else undefined
|
|
76
|
+
*/
|
|
77
|
+
function tsconfigPathsResolver(extensions, realModuleName, moduleName) {
|
|
78
|
+
const DEBUG = process.env.NX_REACT_NATIVE_DEBUG === 'true';
|
|
79
|
+
const matcher = getMatcher();
|
|
80
|
+
let match;
|
|
81
|
+
// find out the file extension
|
|
82
|
+
const matchExtension = extensions.find((extension) => {
|
|
83
|
+
match = matcher(realModuleName, undefined, undefined, ['.' + extension]);
|
|
84
|
+
return !!match;
|
|
85
|
+
});
|
|
86
|
+
if (match) {
|
|
87
|
+
return {
|
|
88
|
+
type: 'sourceFile',
|
|
89
|
+
filePath: !matchExtension || match.endsWith(`.${matchExtension}`)
|
|
90
|
+
? match
|
|
91
|
+
: `${match}.${matchExtension}`,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
if (DEBUG) {
|
|
96
|
+
console.log(chalk.red(`[Nx] Failed to resolve ${chalk.bold(moduleName)}`));
|
|
97
|
+
console.log(chalk.cyan(`[Nx] The following tsconfig paths was used:\n:${chalk.bold(JSON.stringify(paths, null, 2))}`));
|
|
98
|
+
}
|
|
99
|
+
throw new Error(`Cannot resolve ${chalk.bold(moduleName)}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
51
102
|
let matcher;
|
|
52
103
|
let absoluteBaseUrl;
|
|
53
104
|
let paths;
|
|
@@ -71,4 +122,21 @@ function getMatcher() {
|
|
|
71
122
|
}
|
|
72
123
|
return matcher;
|
|
73
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* This function returns resolver for pnpm.
|
|
127
|
+
* It is inspired form https://github.com/vjpr/pnpm-expo-example/blob/main/packages/pnpm-expo-helper/util/make-resolver.js.
|
|
128
|
+
*/
|
|
129
|
+
let resolver;
|
|
130
|
+
function getPnpmResolver(appRootPath, extensions) {
|
|
131
|
+
if (!resolver) {
|
|
132
|
+
const fileSystem = new enhanced_resolve_1.CachedInputFileSystem(fs, 4000);
|
|
133
|
+
resolver = enhanced_resolve_1.ResolverFactory.createResolver({
|
|
134
|
+
fileSystem,
|
|
135
|
+
extensions: extensions.map((extension) => '.' + extension),
|
|
136
|
+
useSyncFileSystemCalls: true,
|
|
137
|
+
modules: [(0, path_1.join)(appRootPath, 'node_modules'), 'node_modules'],
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
return resolver;
|
|
141
|
+
}
|
|
74
142
|
//# sourceMappingURL=metro-resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metro-resolver.js","sourceRoot":"","sources":["../../../../packages/react-native/plugins/metro-resolver.ts"],"names":[],"mappings":";;;;AAAA,gDAAgD;AAEhD,mDAA6D;AAC7D,+BAA+B;
|
|
1
|
+
{"version":3,"file":"metro-resolver.js","sourceRoot":"","sources":["../../../../packages/react-native/plugins/metro-resolver.ts"],"names":[],"mappings":"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"}
|
package/plugins/with-nx-metro.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.withNxMetro = void 0;
|
|
|
4
4
|
const app_root_1 = require("@nrwl/workspace/src/utils/app-root");
|
|
5
5
|
const metro_resolver_1 = require("./metro-resolver");
|
|
6
6
|
function withNxMetro(config, opts = {}) {
|
|
7
|
-
const extensions = ['', 'ts', 'tsx', 'js', 'jsx'];
|
|
7
|
+
const extensions = ['', 'ts', 'tsx', 'js', 'jsx', 'json'];
|
|
8
8
|
if (opts.debug)
|
|
9
9
|
process.env.NX_REACT_NATIVE_DEBUG = 'true';
|
|
10
10
|
if (opts.extensions)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-nx-metro.js","sourceRoot":"","sources":["../../../../packages/react-native/plugins/with-nx-metro.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACjE,qDAAqD;AAOrD,SAAgB,WAAW,CAAC,MAAW,EAAE,OAAsB,EAAE;IAC/D,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"with-nx-metro.js","sourceRoot":"","sources":["../../../../packages/react-native/plugins/with-nx-metro.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACjE,qDAAqD;AAOrD,SAAgB,WAAW,CAAC,MAAW,EAAE,OAAsB,EAAE;IAC/D,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;IAC3D,IAAI,IAAI,CAAC,UAAU;QAAE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAEzD,sEAAsE;IACtE,MAAM,CAAC,WAAW,GAAG,sBAAW,CAAC;IAEjC,8CAA8C;IAC9C,MAAM,CAAC,QAAQ,mCACV,MAAM,CAAC,QAAQ,KAClB,cAAc,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC,GAC9C,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,kCAeC"}
|
package/project.json
CHANGED
|
@@ -26,13 +26,11 @@
|
|
|
26
26
|
"outputs": ["coverage/packages/react-native"]
|
|
27
27
|
},
|
|
28
28
|
"build-base": {
|
|
29
|
-
"executor": "@nrwl/
|
|
29
|
+
"executor": "@nrwl/js:tsc",
|
|
30
30
|
"options": {
|
|
31
31
|
"outputPath": "build/packages/react-native",
|
|
32
32
|
"tsConfig": "packages/react-native/tsconfig.lib.json",
|
|
33
|
-
"packageJson": "packages/react-native/package.json",
|
|
34
33
|
"main": "packages/react-native/index.ts",
|
|
35
|
-
"updateBuildableProjectDepsInPackageJson": false,
|
|
36
34
|
"assets": [
|
|
37
35
|
"packages/react-native/*.md",
|
|
38
36
|
{
|
|
@@ -13,7 +13,7 @@ function buildAndroidExecutor(options, context) {
|
|
|
13
13
|
(0, fs_1.chmodSync)((0, path_1.join)(projectRoot, 'android', 'gradlew'), 0o775);
|
|
14
14
|
(0, fs_1.chmodSync)((0, path_1.join)(projectRoot, 'android', 'gradlew.bat'), 0o775);
|
|
15
15
|
try {
|
|
16
|
-
yield (0, tslib_1.__await)(runCliBuild(projectRoot, options));
|
|
16
|
+
yield (0, tslib_1.__await)(runCliBuild(context.root, projectRoot, options));
|
|
17
17
|
yield yield (0, tslib_1.__await)({ success: true });
|
|
18
18
|
}
|
|
19
19
|
finally {
|
|
@@ -24,10 +24,10 @@ function buildAndroidExecutor(options, context) {
|
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
exports.default = buildAndroidExecutor;
|
|
27
|
-
function runCliBuild(projectRoot, options) {
|
|
27
|
+
function runCliBuild(workspaceRoot, projectRoot, options) {
|
|
28
28
|
return new Promise((resolve, reject) => {
|
|
29
29
|
childProcess = (0, child_process_1.spawn)(process.platform === 'win32' ? 'gradlew.bat' : './gradlew', [options.apk ? 'assembleRelease' : 'bundleRelease'], {
|
|
30
|
-
cwd: (0, path_1.join)(projectRoot, 'android'),
|
|
30
|
+
cwd: (0, path_1.join)(workspaceRoot, projectRoot, 'android'),
|
|
31
31
|
stdio: [0, 1, 2],
|
|
32
32
|
});
|
|
33
33
|
// Ensure the child process is killed when the parent exits
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-android.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/build-android/build-android.impl.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,yFAAmF;AACnF,iDAAoD;AACpD,2BAA+B;AAM/B,IAAI,YAA0B,CAAC;AAE/B,SAA+B,oBAAoB,CACjD,OAAgC,EAChC,OAAwB;;QAExB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACzE,IAAA,sDAAwB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;QAE9D,IAAI;YACF,2BAAM,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA,CAAC;
|
|
1
|
+
{"version":3,"file":"build-android.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/build-android/build-android.impl.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,yFAAmF;AACnF,iDAAoD;AACpD,2BAA+B;AAM/B,IAAI,YAA0B,CAAC;AAE/B,SAA+B,oBAAoB,CACjD,OAAgC,EAChC,OAAwB;;QAExB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACzE,IAAA,sDAAwB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;QAE9D,IAAI;YACF,2BAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA,CAAC;YACtD,iCAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA,CAAC;SACzB;gBAAS;YACR,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,EAAE,CAAC;aACrB;SACF;IACH,CAAC;CAAA;AAjBD,uCAiBC;AAED,SAAS,WAAW,CAClB,aAAqB,EACrB,WAAmB,EACnB,OAAgC;IAEhC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,YAAY,GAAG,IAAA,qBAAK,EAClB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAC1D,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,EACnD;YACE,GAAG,EAAE,IAAA,WAAI,EAAC,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC;YAChD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACjB,CACF,CAAC;QAEF,2DAA2D;QAC3D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,CAAC;aACd;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -20,7 +20,7 @@ export default async function* buildAndroidExecutor(
|
|
|
20
20
|
chmodSync(join(projectRoot, 'android', 'gradlew.bat'), 0o775);
|
|
21
21
|
|
|
22
22
|
try {
|
|
23
|
-
await runCliBuild(projectRoot, options);
|
|
23
|
+
await runCliBuild(context.root, projectRoot, options);
|
|
24
24
|
yield { success: true };
|
|
25
25
|
} finally {
|
|
26
26
|
if (childProcess) {
|
|
@@ -29,13 +29,17 @@ export default async function* buildAndroidExecutor(
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
function runCliBuild(
|
|
32
|
+
function runCliBuild(
|
|
33
|
+
workspaceRoot: string,
|
|
34
|
+
projectRoot: string,
|
|
35
|
+
options: ReactNativeBuildOptions
|
|
36
|
+
) {
|
|
33
37
|
return new Promise((resolve, reject) => {
|
|
34
38
|
childProcess = spawn(
|
|
35
39
|
process.platform === 'win32' ? 'gradlew.bat' : './gradlew',
|
|
36
40
|
[options.apk ? 'assembleRelease' : 'bundleRelease'],
|
|
37
41
|
{
|
|
38
|
-
cwd: join(projectRoot, 'android'),
|
|
42
|
+
cwd: join(workspaceRoot, projectRoot, 'android'),
|
|
39
43
|
stdio: [0, 1, 2],
|
|
40
44
|
}
|
|
41
45
|
);
|
|
@@ -10,12 +10,8 @@ let childProcess;
|
|
|
10
10
|
function bundleExecutor(options, context) {
|
|
11
11
|
return (0, tslib_1.__asyncGenerator)(this, arguments, function* bundleExecutor_1() {
|
|
12
12
|
const projectRoot = context.workspace.projects[context.projectName].root;
|
|
13
|
-
options.bundleOutput = (0, path_1.
|
|
14
|
-
|
|
15
|
-
.map(() => '..')
|
|
16
|
-
.concat(options.bundleOutput)
|
|
17
|
-
.join(path_1.sep);
|
|
18
|
-
(0, fileutils_1.createDirectory)((0, path_1.dirname)((0, path_1.join)(projectRoot, options.bundleOutput)));
|
|
13
|
+
options.bundleOutput = (0, path_1.join)(context.root, options.bundleOutput);
|
|
14
|
+
(0, fileutils_1.createDirectory)((0, path_1.dirname)(options.bundleOutput));
|
|
19
15
|
(0, ensure_node_modules_symlink_1.ensureNodeModulesSymlink)(context.root, projectRoot);
|
|
20
16
|
try {
|
|
21
17
|
yield (0, tslib_1.__await)(runCliBuild(context.root, projectRoot, options));
|
|
@@ -32,7 +28,7 @@ exports.default = bundleExecutor;
|
|
|
32
28
|
function runCliBuild(workspaceRoot, projectRoot, options) {
|
|
33
29
|
return new Promise((resolve, reject) => {
|
|
34
30
|
const cliOptions = createBundleOptions(options);
|
|
35
|
-
childProcess = (0, child_process_1.fork)((0, path_1.join)(workspaceRoot, './node_modules/react-native/cli.js'), ['bundle', ...cliOptions], { cwd: projectRoot });
|
|
31
|
+
childProcess = (0, child_process_1.fork)((0, path_1.join)(workspaceRoot, './node_modules/react-native/cli.js'), ['bundle', ...cliOptions], { cwd: (0, path_1.join)(workspaceRoot, projectRoot) });
|
|
36
32
|
// Ensure the child process is killed when the parent exits
|
|
37
33
|
process.on('exit', () => childProcess.kill());
|
|
38
34
|
process.on('SIGTERM', () => childProcess.kill());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/bundle/bundle.impl.ts"],"names":[],"mappings":";;;AAAA,uEAA0E;AAC1E,yEAAiE;AACjE,+BAAoD;AACpD,yFAAmF;AACnF,iDAAmD;AAQnD,IAAI,YAA0B,CAAC;AAE/B,SAA+B,cAAc,CAC3C,OAAiC,EACjC,OAAwB;;QAExB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QAEzE,OAAO,CAAC,YAAY,GAAG,IAAA,
|
|
1
|
+
{"version":3,"file":"bundle.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/bundle/bundle.impl.ts"],"names":[],"mappings":";;;AAAA,uEAA0E;AAC1E,yEAAiE;AACjE,+BAAoD;AACpD,yFAAmF;AACnF,iDAAmD;AAQnD,IAAI,YAA0B,CAAC;AAE/B,SAA+B,cAAc,CAC3C,OAAiC,EACjC,OAAwB;;QAExB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QAEzE,OAAO,CAAC,YAAY,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAA,2BAAe,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/C,IAAA,sDAAwB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAEpD,IAAI;YACF,2BAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA,CAAC;YACtD,iCAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA,CAAC;SACzB;gBAAS;YACR,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,EAAE,CAAC;aACrB;SACF;IACH,CAAC;CAAA;AAnBD,iCAmBC;AAED,SAAS,WAAW,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO;IACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAChD,YAAY,GAAG,IAAA,oBAAI,EACjB,IAAA,WAAI,EAAC,aAAa,EAAE,oCAAoC,CAAC,EACzD,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,EACzB,EAAE,GAAG,EAAE,IAAA,WAAI,EAAC,aAAa,EAAE,WAAW,CAAC,EAAE,CAC1C,CAAC;QAEF,2DAA2D;QAC3D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,CAAC;aACd;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAO;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,IAAA,4BAAU,EAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
|
|
@@ -18,13 +18,9 @@ export default async function* bundleExecutor(
|
|
|
18
18
|
): AsyncGenerator<ReactNativeBundleOutput> {
|
|
19
19
|
const projectRoot = context.workspace.projects[context.projectName].root;
|
|
20
20
|
|
|
21
|
-
options.bundleOutput =
|
|
22
|
-
.split(sep)
|
|
23
|
-
.map(() => '..')
|
|
24
|
-
.concat(options.bundleOutput)
|
|
25
|
-
.join(sep);
|
|
21
|
+
options.bundleOutput = join(context.root, options.bundleOutput);
|
|
26
22
|
|
|
27
|
-
createDirectory(dirname(
|
|
23
|
+
createDirectory(dirname(options.bundleOutput));
|
|
28
24
|
ensureNodeModulesSymlink(context.root, projectRoot);
|
|
29
25
|
|
|
30
26
|
try {
|
|
@@ -43,7 +39,7 @@ function runCliBuild(workspaceRoot, projectRoot, options) {
|
|
|
43
39
|
childProcess = fork(
|
|
44
40
|
join(workspaceRoot, './node_modules/react-native/cli.js'),
|
|
45
41
|
['bundle', ...cliOptions],
|
|
46
|
-
{ cwd: projectRoot }
|
|
42
|
+
{ cwd: join(workspaceRoot, projectRoot) }
|
|
47
43
|
);
|
|
48
44
|
|
|
49
45
|
// Ensure the child process is killed when the parent exits
|
|
@@ -12,15 +12,18 @@ function runAndroidExecutor(options, context) {
|
|
|
12
12
|
return (0, tslib_1.__asyncGenerator)(this, arguments, function* runAndroidExecutor_1() {
|
|
13
13
|
const projectRoot = context.workspace.projects[context.projectName].root;
|
|
14
14
|
(0, ensure_node_modules_symlink_1.ensureNodeModulesSymlink)(context.root, projectRoot);
|
|
15
|
-
(0, fs_1.chmodSync)((0, path_1.join)(projectRoot, 'android', 'gradlew'), 0o775);
|
|
16
|
-
(0, fs_1.chmodSync)((0, path_1.join)(projectRoot, 'android', 'gradlew.bat'), 0o775);
|
|
15
|
+
(0, fs_1.chmodSync)((0, path_1.join)(context.root, projectRoot, 'android', 'gradlew'), 0o775);
|
|
16
|
+
(0, fs_1.chmodSync)((0, path_1.join)(context.root, projectRoot, 'android', 'gradlew.bat'), 0o775);
|
|
17
17
|
if (options.sync) {
|
|
18
|
-
(0, sync_deps_impl_1.displayNewlyAddedDepsMessage)(context.projectName, yield (0, tslib_1.__await)((0, sync_deps_impl_1.syncDeps)(context.projectName, projectRoot)));
|
|
18
|
+
(0, sync_deps_impl_1.displayNewlyAddedDepsMessage)(context.projectName, yield (0, tslib_1.__await)((0, sync_deps_impl_1.syncDeps)(context.projectName, projectRoot, context.root)));
|
|
19
19
|
}
|
|
20
20
|
try {
|
|
21
21
|
const tasks = [runCliRunAndroid(context.root, projectRoot, options)];
|
|
22
22
|
if (options.packager) {
|
|
23
|
-
tasks.push((0, start_impl_1.runCliStart)(context.root, projectRoot, {
|
|
23
|
+
tasks.push((0, start_impl_1.runCliStart)(context.root, projectRoot, {
|
|
24
|
+
port: options.port,
|
|
25
|
+
resetCache: options.resetCache,
|
|
26
|
+
}));
|
|
24
27
|
}
|
|
25
28
|
yield (0, tslib_1.__await)(Promise.all(tasks));
|
|
26
29
|
yield yield (0, tslib_1.__await)({ success: true });
|
|
@@ -40,7 +43,7 @@ function runCliRunAndroid(workspaceRoot, projectRoot, options) {
|
|
|
40
43
|
* Not passing '--packager' due to cli will launch start command from the project root
|
|
41
44
|
*/
|
|
42
45
|
childProcess = (0, child_process_1.fork)((0, path_1.join)(workspaceRoot, './node_modules/react-native/cli.js'), ['run-android', ...createRunAndroidOptions(options), '--no-packager'], {
|
|
43
|
-
cwd: projectRoot,
|
|
46
|
+
cwd: (0, path_1.join)(workspaceRoot, projectRoot),
|
|
44
47
|
env: Object.assign(Object.assign({}, process.env), { RCT_METRO_PORT: options.port.toString() }),
|
|
45
48
|
});
|
|
46
49
|
// Ensure the child process is killed when the parent exits
|
|
@@ -59,7 +62,7 @@ function runCliRunAndroid(workspaceRoot, projectRoot, options) {
|
|
|
59
62
|
});
|
|
60
63
|
});
|
|
61
64
|
}
|
|
62
|
-
const
|
|
65
|
+
const nxOrStartOptions = ['sync', 'install', 'packager', 'port', 'resetCache'];
|
|
63
66
|
function createRunAndroidOptions(options) {
|
|
64
67
|
return Object.keys(options).reduce((acc, k) => {
|
|
65
68
|
const v = options[k];
|
|
@@ -71,7 +74,7 @@ function createRunAndroidOptions(options) {
|
|
|
71
74
|
acc.push(`--no-jetifier`);
|
|
72
75
|
}
|
|
73
76
|
}
|
|
74
|
-
else if (v && !
|
|
77
|
+
else if (v && !nxOrStartOptions.includes(k)) {
|
|
75
78
|
acc.push(`--${k}`, v);
|
|
76
79
|
}
|
|
77
80
|
return acc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-android.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/run-android/run-android.impl.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,iDAAmD;AAEnD,yFAAmF;AACnF,gEAGqC;AACrC,2BAA+B;AAE/B,oDAAkD;AAMlD,IAAI,YAA0B,CAAC;AAE/B,SAA+B,kBAAkB,CAC/C,OAAqC,EACrC,OAAwB;;QAExB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACzE,IAAA,sDAAwB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"run-android.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/run-android/run-android.impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,13 +23,13 @@ export default async function* runAndroidExecutor(
|
|
|
23
23
|
): AsyncGenerator<ReactNativeRunAndroidOutput> {
|
|
24
24
|
const projectRoot = context.workspace.projects[context.projectName].root;
|
|
25
25
|
ensureNodeModulesSymlink(context.root, projectRoot);
|
|
26
|
-
chmodSync(join(projectRoot, 'android', 'gradlew'), 0o775);
|
|
27
|
-
chmodSync(join(projectRoot, 'android', 'gradlew.bat'), 0o775);
|
|
26
|
+
chmodSync(join(context.root, projectRoot, 'android', 'gradlew'), 0o775);
|
|
27
|
+
chmodSync(join(context.root, projectRoot, 'android', 'gradlew.bat'), 0o775);
|
|
28
28
|
|
|
29
29
|
if (options.sync) {
|
|
30
30
|
displayNewlyAddedDepsMessage(
|
|
31
31
|
context.projectName,
|
|
32
|
-
await syncDeps(context.projectName, projectRoot)
|
|
32
|
+
await syncDeps(context.projectName, projectRoot, context.root)
|
|
33
33
|
);
|
|
34
34
|
}
|
|
35
35
|
|
|
@@ -37,7 +37,10 @@ export default async function* runAndroidExecutor(
|
|
|
37
37
|
const tasks = [runCliRunAndroid(context.root, projectRoot, options)];
|
|
38
38
|
if (options.packager) {
|
|
39
39
|
tasks.push(
|
|
40
|
-
runCliStart(context.root, projectRoot, {
|
|
40
|
+
runCliStart(context.root, projectRoot, {
|
|
41
|
+
port: options.port,
|
|
42
|
+
resetCache: options.resetCache,
|
|
43
|
+
})
|
|
41
44
|
);
|
|
42
45
|
}
|
|
43
46
|
|
|
@@ -65,7 +68,7 @@ function runCliRunAndroid(
|
|
|
65
68
|
join(workspaceRoot, './node_modules/react-native/cli.js'),
|
|
66
69
|
['run-android', ...createRunAndroidOptions(options), '--no-packager'],
|
|
67
70
|
{
|
|
68
|
-
cwd: projectRoot,
|
|
71
|
+
cwd: join(workspaceRoot, projectRoot),
|
|
69
72
|
env: { ...process.env, RCT_METRO_PORT: options.port.toString() },
|
|
70
73
|
}
|
|
71
74
|
);
|
|
@@ -87,7 +90,7 @@ function runCliRunAndroid(
|
|
|
87
90
|
});
|
|
88
91
|
}
|
|
89
92
|
|
|
90
|
-
const
|
|
93
|
+
const nxOrStartOptions = ['sync', 'install', 'packager', 'port', 'resetCache'];
|
|
91
94
|
|
|
92
95
|
function createRunAndroidOptions(options) {
|
|
93
96
|
return Object.keys(options).reduce((acc, k) => {
|
|
@@ -98,7 +101,7 @@ function createRunAndroidOptions(options) {
|
|
|
98
101
|
if (!v) {
|
|
99
102
|
acc.push(`--no-jetifier`);
|
|
100
103
|
}
|
|
101
|
-
} else if (v && !
|
|
104
|
+
} else if (v && !nxOrStartOptions.includes(k)) {
|
|
102
105
|
acc.push(`--${k}`, v);
|
|
103
106
|
}
|
|
104
107
|
return acc;
|
|
@@ -17,15 +17,18 @@ function runIosExecutor(options, context) {
|
|
|
17
17
|
const projectRoot = context.workspace.projects[context.projectName].root;
|
|
18
18
|
(0, ensure_node_modules_symlink_1.ensureNodeModulesSymlink)(context.root, projectRoot);
|
|
19
19
|
if (options.sync) {
|
|
20
|
-
(0, sync_deps_impl_1.displayNewlyAddedDepsMessage)(context.projectName, yield (0, tslib_1.__await)((0, sync_deps_impl_1.syncDeps)(context.projectName, projectRoot)));
|
|
20
|
+
(0, sync_deps_impl_1.displayNewlyAddedDepsMessage)(context.projectName, yield (0, tslib_1.__await)((0, sync_deps_impl_1.syncDeps)(context.projectName, projectRoot, context.root)));
|
|
21
21
|
}
|
|
22
22
|
if (options.install) {
|
|
23
|
-
yield (0, tslib_1.__await)((0, pod_install_task_1.podInstall)((0, path_1.join)(projectRoot, 'ios')));
|
|
23
|
+
yield (0, tslib_1.__await)((0, pod_install_task_1.podInstall)((0, path_1.join)(context.root, projectRoot, 'ios')));
|
|
24
24
|
}
|
|
25
25
|
try {
|
|
26
26
|
const tasks = [runCliRunIOS(context.root, projectRoot, options)];
|
|
27
27
|
if (options.packager && options.xcodeConfiguration !== 'Release') {
|
|
28
|
-
tasks.push((0, start_impl_1.runCliStart)(context.root, projectRoot, {
|
|
28
|
+
tasks.push((0, start_impl_1.runCliStart)(context.root, projectRoot, {
|
|
29
|
+
port: options.port,
|
|
30
|
+
resetCache: options.resetCache,
|
|
31
|
+
}));
|
|
29
32
|
}
|
|
30
33
|
yield (0, tslib_1.__await)(Promise.all(tasks));
|
|
31
34
|
yield yield (0, tslib_1.__await)({ success: true });
|
|
@@ -45,7 +48,7 @@ function runCliRunIOS(workspaceRoot, projectRoot, options) {
|
|
|
45
48
|
* Not passing '--packager' due to cli will launch start command from the project root
|
|
46
49
|
*/
|
|
47
50
|
childProcess = (0, child_process_1.fork)((0, path_1.join)(workspaceRoot, './node_modules/react-native/cli.js'), ['run-ios', ...createRunIOSOptions(options), '--no-packager'], {
|
|
48
|
-
cwd: projectRoot,
|
|
51
|
+
cwd: (0, path_1.join)(workspaceRoot, projectRoot),
|
|
49
52
|
env: Object.assign(Object.assign({}, process.env), { RCT_METRO_PORT: options.port.toString() }),
|
|
50
53
|
});
|
|
51
54
|
// Ensure the child process is killed when the parent exits
|
|
@@ -64,14 +67,14 @@ function runCliRunIOS(workspaceRoot, projectRoot, options) {
|
|
|
64
67
|
});
|
|
65
68
|
});
|
|
66
69
|
}
|
|
67
|
-
const
|
|
70
|
+
const nxOrStartOptions = ['sync', 'install', 'packager', 'port', 'resetCache'];
|
|
68
71
|
function createRunIOSOptions(options) {
|
|
69
72
|
return Object.keys(options).reduce((acc, k) => {
|
|
70
73
|
const v = options[k];
|
|
71
74
|
if (k === 'xcodeConfiguration') {
|
|
72
75
|
acc.push('--configuration', v);
|
|
73
76
|
}
|
|
74
|
-
else if (v && !
|
|
77
|
+
else if (v && !nxOrStartOptions.includes(k)) {
|
|
75
78
|
acc.push(`--${k}`, options[k]);
|
|
76
79
|
}
|
|
77
80
|
return acc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-ios.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/run-ios/run-ios.impl.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,iDAAmD;AACnD,2BAA8B;AAE9B,yFAAmF;AACnF,gEAGqC;AACrC,mEAA0D;AAE1D,oDAAkD;AAMlD,IAAI,YAA0B,CAAC;AAE/B,SAA+B,cAAc,CAC3C,OAAiC,EACjC,OAAwB;;QAExB,IAAI,IAAA,aAAQ,GAAE,KAAK,QAAQ,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACzE,IAAA,sDAAwB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAA,6CAA4B,EAC1B,OAAO,CAAC,WAAW,EACnB,2BAAM,IAAA,yBAAQ,EAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA,
|
|
1
|
+
{"version":3,"file":"run-ios.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/run-ios/run-ios.impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,18 +30,21 @@ export default async function* runIosExecutor(
|
|
|
30
30
|
if (options.sync) {
|
|
31
31
|
displayNewlyAddedDepsMessage(
|
|
32
32
|
context.projectName,
|
|
33
|
-
await syncDeps(context.projectName, projectRoot)
|
|
33
|
+
await syncDeps(context.projectName, projectRoot, context.root)
|
|
34
34
|
);
|
|
35
35
|
}
|
|
36
36
|
if (options.install) {
|
|
37
|
-
await podInstall(join(projectRoot, 'ios'));
|
|
37
|
+
await podInstall(join(context.root, projectRoot, 'ios'));
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
try {
|
|
41
41
|
const tasks = [runCliRunIOS(context.root, projectRoot, options)];
|
|
42
42
|
if (options.packager && options.xcodeConfiguration !== 'Release') {
|
|
43
43
|
tasks.push(
|
|
44
|
-
runCliStart(context.root, projectRoot, {
|
|
44
|
+
runCliStart(context.root, projectRoot, {
|
|
45
|
+
port: options.port,
|
|
46
|
+
resetCache: options.resetCache,
|
|
47
|
+
})
|
|
45
48
|
);
|
|
46
49
|
}
|
|
47
50
|
|
|
@@ -69,7 +72,7 @@ function runCliRunIOS(
|
|
|
69
72
|
join(workspaceRoot, './node_modules/react-native/cli.js'),
|
|
70
73
|
['run-ios', ...createRunIOSOptions(options), '--no-packager'],
|
|
71
74
|
{
|
|
72
|
-
cwd: projectRoot,
|
|
75
|
+
cwd: join(workspaceRoot, projectRoot),
|
|
73
76
|
env: { ...process.env, RCT_METRO_PORT: options.port.toString() },
|
|
74
77
|
}
|
|
75
78
|
);
|
|
@@ -91,14 +94,14 @@ function runCliRunIOS(
|
|
|
91
94
|
});
|
|
92
95
|
}
|
|
93
96
|
|
|
94
|
-
const
|
|
97
|
+
const nxOrStartOptions = ['sync', 'install', 'packager', 'port', 'resetCache'];
|
|
95
98
|
|
|
96
99
|
function createRunIOSOptions(options) {
|
|
97
100
|
return Object.keys(options).reduce((acc, k) => {
|
|
98
101
|
const v = options[k];
|
|
99
102
|
if (k === 'xcodeConfiguration') {
|
|
100
103
|
acc.push('--configuration', v);
|
|
101
|
-
} else if (v && !
|
|
104
|
+
} else if (v && !nxOrStartOptions.includes(k)) {
|
|
102
105
|
acc.push(`--${k}`, options[k]);
|
|
103
106
|
}
|
|
104
107
|
return acc;
|