@nx/react-native 17.0.4 → 17.0.6
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/.eslintrc.json +1 -7
- package/LICENSE +1 -1
- package/README.md +4 -9
- package/executors.json +0 -5
- package/generators.json +11 -12
- package/migrations.json +0 -126
- package/package.json +15 -11
- package/plugins/metro-resolver.js +1 -4
- package/plugins/with-nx-metro.js +2 -6
- package/src/executors/build-android/build-android.impl.js +6 -2
- package/src/executors/build-android/build-android.impl.ts +6 -2
- package/src/executors/build-android/schema.json +1 -1
- package/src/executors/build-ios/schema.json +1 -1
- package/src/executors/bundle/schema.d.ts +1 -1
- package/src/executors/bundle/schema.json +1 -1
- package/src/executors/ensure-symlink/ensure-symlink.impl.d.ts +0 -4
- package/src/executors/ensure-symlink/ensure-symlink.impl.js +0 -4
- package/src/executors/ensure-symlink/ensure-symlink.impl.ts +0 -4
- package/src/executors/ensure-symlink/schema.json +1 -1
- package/src/executors/pod-install/schema.json +1 -1
- package/src/executors/run-android/run-android.impl.js +17 -5
- package/src/executors/run-android/run-android.impl.ts +18 -9
- package/src/executors/run-android/schema.json +1 -1
- package/src/executors/run-ios/run-ios.impl.js +16 -4
- package/src/executors/run-ios/run-ios.impl.ts +18 -9
- package/src/executors/run-ios/schema.json +1 -1
- package/src/executors/start/schema.d.ts +1 -1
- package/src/executors/start/schema.json +1 -1
- package/src/executors/start/start.impl.js +26 -11
- package/src/executors/start/start.impl.ts +28 -14
- package/src/executors/storybook/storybook.impl.d.ts +0 -4
- package/src/executors/storybook/storybook.impl.js +2 -15
- package/src/executors/storybook/storybook.impl.ts +7 -26
- package/src/executors/sync-deps/schema.d.ts +0 -1
- package/src/executors/sync-deps/schema.json +1 -6
- package/src/executors/sync-deps/sync-deps.impl.d.ts +1 -2
- package/src/executors/sync-deps/sync-deps.impl.js +11 -33
- package/src/executors/sync-deps/sync-deps.impl.ts +18 -57
- package/src/generators/application/application.js +8 -52
- package/src/generators/application/application.spec.ts +2 -29
- package/src/generators/application/files/app/Gemfile.template +1 -2
- package/src/generators/application/files/app/android/app/build.gradle.template +28 -12
- package/src/generators/application/files/app/android/app/src/debug/AndroidManifest.xml.template +6 -2
- package/src/generators/application/files/app/android/app/src/debug/java/com/__lowerCaseName__/ReactNativeFlipper.java.template +75 -0
- package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/MainActivity.java.template +32 -0
- package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/MainApplication.java.template +62 -0
- package/src/generators/application/files/app/android/app/src/release/java/com/__lowerCaseName__/ReactNativeFlipper.java.template +20 -0
- package/src/generators/application/files/app/android/build.gradle.template +20 -7
- package/src/generators/application/files/app/android/gradle/wrapper/gradle-wrapper.properties +1 -2
- package/src/generators/application/files/app/android/gradle.properties +3 -0
- package/src/generators/application/files/app/android/gradlew.template +7 -12
- package/src/generators/application/files/app/android/settings.gradle.template +2 -2
- package/src/generators/application/files/app/babel.config.json.template +3 -0
- package/src/generators/application/files/app/ios/Podfile.template +7 -0
- package/src/generators/application/files/app/ios/__className__/AppDelegate.mm.template +0 -5
- package/src/generators/application/files/app/ios/__className__/Info.plist.template +8 -5
- package/src/generators/application/files/app/ios/__className__.xcodeproj/project.pbxproj.template +33 -11
- package/src/generators/application/files/app/metro.config.js.template +5 -1
- package/src/generators/application/files/app/src/app/App.tsx.template +13 -50
- package/src/generators/application/lib/add-detox.d.ts +3 -0
- package/src/generators/application/lib/add-detox.js +23 -0
- package/src/generators/application/lib/add-project.js +18 -18
- package/src/generators/application/lib/normalize-options.d.ts +0 -7
- package/src/generators/application/lib/normalize-options.js +3 -35
- package/src/generators/application/lib/normalize-options.spec.ts +7 -70
- package/src/generators/application/schema.d.ts +3 -5
- package/src/generators/application/schema.json +6 -14
- package/src/generators/component/files/__fileName__.tsx__tmpl__ +1 -1
- package/src/generators/component/schema.d.ts +3 -3
- package/src/generators/component/schema.json +4 -4
- package/src/generators/component-story/component-story.d.ts +8 -5
- package/src/generators/component-story/component-story.js +69 -8
- package/src/generators/component-story/component-story.spec.ts +428 -0
- package/src/generators/component-story/files/__componentFileName__.stories.__fileExt__ +32 -0
- package/src/generators/component-story/schema.d.ts +0 -1
- package/src/generators/component-story/schema.json +3 -11
- package/src/generators/init/init.d.ts +1 -2
- package/src/generators/init/init.js +56 -55
- package/src/generators/init/init.spec.ts +6 -7
- package/src/generators/init/schema.d.ts +3 -3
- package/src/generators/init/schema.json +18 -13
- package/src/generators/library/files/lib/babel.config.json.template +17 -0
- package/src/generators/library/lib/normalize-options.js +0 -5
- package/src/generators/library/library.js +38 -48
- package/src/generators/library/library.spec.ts +60 -12
- package/src/generators/library/schema.d.ts +0 -1
- package/src/generators/library/schema.json +2 -2
- package/src/generators/stories/schema.d.ts +0 -2
- package/src/generators/stories/schema.json +2 -15
- package/src/generators/stories/stories-app.spec.ts +128 -0
- package/src/generators/stories/stories-lib.spec.ts +105 -0
- package/src/generators/stories/stories.d.ts +2 -5
- package/src/generators/stories/stories.js +50 -7
- package/src/generators/storybook-configuration/configuration.d.ts +2 -7
- package/src/generators/storybook-configuration/configuration.js +48 -18
- package/src/generators/storybook-configuration/configuration.spec.ts +135 -0
- package/src/generators/storybook-configuration/files/app/storybook.ts.template +9 -0
- package/src/generators/storybook-configuration/files/app/toggle-storybook.tsx.template +74 -0
- package/src/generators/storybook-configuration/files/root/story-loader.ts.template +5 -0
- package/src/generators/storybook-configuration/lib/add-resolver-main-fields-to-metro-config.d.ts +6 -0
- package/src/generators/storybook-configuration/lib/add-resolver-main-fields-to-metro-config.js +25 -0
- package/src/generators/storybook-configuration/lib/add-resolver-main-fields-to-metro-config.spec.ts +161 -0
- package/src/generators/storybook-configuration/lib/create-storybook-files.d.ts +6 -0
- package/src/generators/storybook-configuration/lib/create-storybook-files.js +42 -0
- package/src/generators/storybook-configuration/lib/replace-app-import-with-storybook-toggle.d.ts +7 -0
- package/src/generators/storybook-configuration/lib/replace-app-import-with-storybook-toggle.js +29 -0
- package/src/generators/storybook-configuration/lib/replace-app-import-with-storybook-toggle.spec.ts +65 -0
- package/src/generators/storybook-configuration/schema.d.ts +2 -4
- package/src/generators/storybook-configuration/schema.json +12 -22
- package/src/generators/upgrade-native/lib/normalize-options.d.ts +1 -1
- package/src/generators/upgrade-native/schema.d.ts +1 -1
- package/src/generators/upgrade-native/schema.json +3 -3
- package/src/generators/upgrade-native/upgrade-native.d.ts +0 -2
- package/src/generators/upgrade-native/upgrade-native.js +0 -3
- package/src/migrations/update-16-6-0/update-metro-config.js +5 -1
- package/src/migrations/update-16-9-0/remove-types-react-native.js +9 -2
- package/src/utils/add-jest.d.ts +1 -1
- package/src/utils/add-jest.js +1 -13
- package/src/utils/add-linting.d.ts +0 -1
- package/src/utils/add-linting.js +1 -1
- package/src/utils/add-linting.spec.ts +6 -4
- package/src/utils/chmod-android-gradle-files.js +2 -6
- package/src/utils/find-all-npm-dependencies.js +3 -5
- package/src/utils/find-all-npm-dependencies.spec.ts +9 -17
- package/src/utils/symlink-task.d.ts +2 -0
- package/src/utils/symlink-task.js +18 -0
- package/src/utils/testing-generators.js +0 -1
- package/src/utils/versions.d.ts +13 -10
- package/src/utils/versions.js +14 -11
- package/plugin.d.ts +0 -1
- package/plugin.js +0 -6
- package/plugins/plugin.d.ts +0 -14
- package/plugins/plugin.js +0 -162
- package/src/executors/upgrade/schema.d.ts +0 -1
- package/src/executors/upgrade/schema.json +0 -11
- package/src/executors/upgrade/upgrade.impl.d.ts +0 -13
- package/src/executors/upgrade/upgrade.impl.js +0 -47
- package/src/executors/upgrade/upgrade.impl.ts +0 -64
- package/src/generators/application/files/app/.babelrc.js.template +0 -23
- package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/MainActivity.kt.template +0 -22
- package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/MainApplication.kt.template +0 -45
- package/src/generators/application/lib/add-e2e.d.ts +0 -3
- package/src/generators/application/lib/add-e2e.js +0 -46
- package/src/generators/library/files/lib/.babelrc.js.template +0 -21
- package/src/generators/web-configuration/files/base-vite/.babelrc.js.template +0 -23
- package/src/generators/web-configuration/files/base-vite/index.html__tmpl__ +0 -15
- package/src/generators/web-configuration/files/base-vite/public/favicon.ico +0 -0
- package/src/generators/web-configuration/files/base-vite/src/assets/.gitkeep +0 -0
- package/src/generators/web-configuration/files/base-vite/src/main-web.tsx__tmpl__ +0 -9
- package/src/generators/web-configuration/files/base-vite/vite.config.ts__tmpl__ +0 -82
- package/src/generators/web-configuration/files/base-webpack/.babelrc.js.template +0 -23
- package/src/generators/web-configuration/files/base-webpack/src/assets/.gitkeep +0 -0
- package/src/generators/web-configuration/files/base-webpack/src/favicon.ico +0 -0
- package/src/generators/web-configuration/files/base-webpack/src/index.html__tmpl__ +0 -14
- package/src/generators/web-configuration/files/base-webpack/src/main-web.tsx__tmpl__ +0 -9
- package/src/generators/web-configuration/files/base-webpack/webpack.config.js__tmpl__ +0 -77
- package/src/generators/web-configuration/lib/normalize-schema.d.ts +0 -17
- package/src/generators/web-configuration/lib/normalize-schema.js +0 -16
- package/src/generators/web-configuration/lib/webpack-targets.d.ts +0 -7
- package/src/generators/web-configuration/lib/webpack-targets.js +0 -75
- package/src/generators/web-configuration/schema.d.ts +0 -6
- package/src/generators/web-configuration/schema.json +0 -42
- package/src/generators/web-configuration/web-configuration.d.ts +0 -12
- package/src/generators/web-configuration/web-configuration.js +0 -87
- package/src/migrations/update-18-0-0/add-upgrade-target.d.ts +0 -6
- package/src/migrations/update-18-0-0/add-upgrade-target.js +0 -33
- package/src/migrations/update-18-0-0/add-web-configuration.d.ts +0 -8
- package/src/migrations/update-18-0-0/add-web-configuration.js +0 -33
- package/src/migrations/update-18-0-0/add-web-configuration.spec.ts +0 -39
- package/src/migrations/update-18-0-0/change-storybook-targets.d.ts +0 -5
- package/src/migrations/update-18-0-0/change-storybook-targets.js +0 -57
- package/src/migrations/update-18-0-0/remove-block-list.d.ts +0 -6
- package/src/migrations/update-18-0-0/remove-block-list.js +0 -28
- package/src/migrations/update-18-0-0/remove-block-list.spec.ts +0 -68
- package/src/migrations/update-18-0-0/remove-metro.d.ts +0 -14
- package/src/migrations/update-18-0-0/remove-metro.js +0 -29
- package/src/migrations/update-18-0-0/remove-symlink-target.d.ts +0 -6
- package/src/migrations/update-18-0-0/remove-symlink-target.js +0 -30
- package/src/migrations/update-18-0-0/remove-symlink-target.spec.ts +0 -40
- package/src/utils/ensure-dependencies.d.ts +0 -2
- package/src/utils/ensure-dependencies.js +0 -30
|
@@ -26,11 +26,14 @@
|
|
|
26
26
|
<true/>
|
|
27
27
|
<key>NSAppTransportSecurity</key>
|
|
28
28
|
<dict>
|
|
29
|
-
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
<key>NSExceptionDomains</key>
|
|
30
|
+
<dict>
|
|
31
|
+
<key>localhost</key>
|
|
32
|
+
<dict>
|
|
33
|
+
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
|
34
|
+
<true/>
|
|
35
|
+
</dict>
|
|
36
|
+
</dict>
|
|
34
37
|
</dict>
|
|
35
38
|
<key>NSLocationWhenInUseUsageDescription</key>
|
|
36
39
|
<string></string>
|
package/src/generators/application/files/app/ios/__className__.xcodeproj/project.pbxproj.template
CHANGED
|
@@ -177,6 +177,7 @@
|
|
|
177
177
|
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "<%= className %>" */;
|
|
178
178
|
buildPhases = (
|
|
179
179
|
C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
|
|
180
|
+
FD10A7F022414F080027D42C /* Start Packager */,
|
|
180
181
|
13B07F871A680F5B00A75B9A /* Sources */,
|
|
181
182
|
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
|
182
183
|
13B07F8E1A680F5B00A75B9A /* Resources */,
|
|
@@ -263,7 +264,7 @@
|
|
|
263
264
|
);
|
|
264
265
|
runOnlyForDeploymentPostprocessing = 0;
|
|
265
266
|
shellPath = /bin/sh;
|
|
266
|
-
shellScript = "set -e\n\nWITH_ENVIRONMENT=\"
|
|
267
|
+
shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
|
|
267
268
|
};
|
|
268
269
|
00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = {
|
|
269
270
|
isa = PBXShellScriptBuildPhase;
|
|
@@ -377,6 +378,25 @@
|
|
|
377
378
|
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-<%= className %>-<%= className %>Tests/Pods-<%= className %>-<%= className %>Tests-resources.sh\"\n";
|
|
378
379
|
showEnvVarsInLog = 0;
|
|
379
380
|
};
|
|
381
|
+
FD10A7F022414F080027D42C /* Start Packager */ = {
|
|
382
|
+
isa = PBXShellScriptBuildPhase;
|
|
383
|
+
buildActionMask = 2147483647;
|
|
384
|
+
files = (
|
|
385
|
+
);
|
|
386
|
+
inputFileListPaths = (
|
|
387
|
+
);
|
|
388
|
+
inputPaths = (
|
|
389
|
+
);
|
|
390
|
+
name = "Start Packager";
|
|
391
|
+
outputFileListPaths = (
|
|
392
|
+
);
|
|
393
|
+
outputPaths = (
|
|
394
|
+
);
|
|
395
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
396
|
+
shellPath = /bin/sh;
|
|
397
|
+
shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n";
|
|
398
|
+
showEnvVarsInLog = 0;
|
|
399
|
+
};
|
|
380
400
|
/* End PBXShellScriptBuildPhase section */
|
|
381
401
|
|
|
382
402
|
/* Begin PBXSourcesBuildPhase section */
|
|
@@ -418,7 +438,7 @@
|
|
|
418
438
|
"$(inherited)",
|
|
419
439
|
);
|
|
420
440
|
INFOPLIST_FILE = <%= className %>Tests/Info.plist;
|
|
421
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
441
|
+
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
|
422
442
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
423
443
|
"$(inherited)",
|
|
424
444
|
"@executable_path/Frameworks",
|
|
@@ -442,7 +462,7 @@
|
|
|
442
462
|
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
443
463
|
COPY_PHASE_STRIP = NO;
|
|
444
464
|
INFOPLIST_FILE = <%= className %>Tests/Info.plist;
|
|
445
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
465
|
+
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
|
446
466
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
447
467
|
"$(inherited)",
|
|
448
468
|
"@executable_path/Frameworks",
|
|
@@ -516,7 +536,7 @@
|
|
|
516
536
|
buildSettings = {
|
|
517
537
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
518
538
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
|
519
|
-
CLANG_CXX_LANGUAGE_STANDARD = "c++
|
|
539
|
+
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
|
520
540
|
CLANG_CXX_LIBRARY = "libc++";
|
|
521
541
|
CLANG_ENABLE_MODULES = YES;
|
|
522
542
|
CLANG_ENABLE_OBJC_ARC = YES;
|
|
@@ -544,7 +564,7 @@
|
|
|
544
564
|
COPY_PHASE_STRIP = NO;
|
|
545
565
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
546
566
|
ENABLE_TESTABILITY = YES;
|
|
547
|
-
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" =
|
|
567
|
+
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386;
|
|
548
568
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
549
569
|
GCC_DYNAMIC_NO_PIC = NO;
|
|
550
570
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
@@ -560,7 +580,7 @@
|
|
|
560
580
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
561
581
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
562
582
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
563
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
583
|
+
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
|
564
584
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
565
585
|
/usr/lib/swift,
|
|
566
586
|
"$(inherited)",
|
|
@@ -572,13 +592,14 @@
|
|
|
572
592
|
);
|
|
573
593
|
MTL_ENABLE_DEBUG_INFO = YES;
|
|
574
594
|
ONLY_ACTIVE_ARCH = YES;
|
|
595
|
+
OTHER_CFLAGS = "$(inherited)";
|
|
575
596
|
OTHER_CPLUSPLUSFLAGS = (
|
|
576
597
|
"$(OTHER_CFLAGS)",
|
|
577
598
|
"-DFOLLY_NO_CONFIG",
|
|
578
599
|
"-DFOLLY_MOBILE=1",
|
|
579
600
|
"-DFOLLY_USE_LIBCPP=1",
|
|
580
|
-
"-DFOLLY_CFG_NO_COROUTINES=1",
|
|
581
601
|
);
|
|
602
|
+
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
|
582
603
|
SDKROOT = iphoneos;
|
|
583
604
|
};
|
|
584
605
|
name = Debug;
|
|
@@ -588,7 +609,7 @@
|
|
|
588
609
|
buildSettings = {
|
|
589
610
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
590
611
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
|
591
|
-
CLANG_CXX_LANGUAGE_STANDARD = "c++
|
|
612
|
+
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
|
592
613
|
CLANG_CXX_LIBRARY = "libc++";
|
|
593
614
|
CLANG_ENABLE_MODULES = YES;
|
|
594
615
|
CLANG_ENABLE_OBJC_ARC = YES;
|
|
@@ -616,7 +637,7 @@
|
|
|
616
637
|
COPY_PHASE_STRIP = YES;
|
|
617
638
|
ENABLE_NS_ASSERTIONS = NO;
|
|
618
639
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
619
|
-
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" =
|
|
640
|
+
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386;
|
|
620
641
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
621
642
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
622
643
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
@@ -625,7 +646,7 @@
|
|
|
625
646
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
626
647
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
627
648
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
628
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
649
|
+
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
|
629
650
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
630
651
|
/usr/lib/swift,
|
|
631
652
|
"$(inherited)",
|
|
@@ -636,13 +657,14 @@
|
|
|
636
657
|
"\"$(inherited)\"",
|
|
637
658
|
);
|
|
638
659
|
MTL_ENABLE_DEBUG_INFO = NO;
|
|
660
|
+
OTHER_CFLAGS = "$(inherited)";
|
|
639
661
|
OTHER_CPLUSPLUSFLAGS = (
|
|
640
662
|
"$(OTHER_CFLAGS)",
|
|
641
663
|
"-DFOLLY_NO_CONFIG",
|
|
642
664
|
"-DFOLLY_MOBILE=1",
|
|
643
665
|
"-DFOLLY_USE_LIBCPP=1",
|
|
644
|
-
"-DFOLLY_CFG_NO_COROUTINES=1",
|
|
645
666
|
);
|
|
667
|
+
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
|
646
668
|
SDKROOT = iphoneos;
|
|
647
669
|
VALIDATE_PRODUCT = YES;
|
|
648
670
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const { withNxMetro } = require('@nx/react-native');
|
|
2
2
|
const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
|
|
3
|
+
const exclusionList = require('metro-config/src/defaults/exclusionList');
|
|
3
4
|
|
|
4
5
|
const defaultConfig = getDefaultConfig(__dirname);
|
|
5
6
|
const { assetExts, sourceExts } = defaultConfig.resolver;
|
|
@@ -16,7 +17,10 @@ const customConfig = {
|
|
|
16
17
|
},
|
|
17
18
|
resolver: {
|
|
18
19
|
assetExts: assetExts.filter((ext) => ext !== 'svg'),
|
|
19
|
-
sourceExts: [...sourceExts, '
|
|
20
|
+
sourceExts: [...sourceExts, 'svg'],
|
|
21
|
+
blockList: exclusionList([/^(?!.*node_modules).*\/dist\/.*/]),
|
|
22
|
+
// unstable_enableSymlinks: true,
|
|
23
|
+
// unstable_enablePackageExports: true,
|
|
20
24
|
},
|
|
21
25
|
};
|
|
22
26
|
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
TouchableOpacity,
|
|
11
11
|
Linking,
|
|
12
12
|
} from 'react-native';
|
|
13
|
-
import Svg, {
|
|
13
|
+
import Svg, { Path } from 'react-native-svg';
|
|
14
14
|
|
|
15
15
|
export const App = () => {
|
|
16
16
|
const [whatsNextYCoord, setWhatsNextYCoord] = useState<number>(0);
|
|
@@ -19,10 +19,7 @@ export const App = () => {
|
|
|
19
19
|
return (
|
|
20
20
|
<>
|
|
21
21
|
<StatusBar barStyle="dark-content" />
|
|
22
|
-
<SafeAreaView
|
|
23
|
-
style={{
|
|
24
|
-
flex: 1,
|
|
25
|
-
}}>
|
|
22
|
+
<SafeAreaView>
|
|
26
23
|
<ScrollView
|
|
27
24
|
ref={(ref) => {
|
|
28
25
|
scrollViewRef.current = ref;
|
|
@@ -32,7 +29,7 @@ export const App = () => {
|
|
|
32
29
|
>
|
|
33
30
|
<View style={styles.section}>
|
|
34
31
|
<Text style={styles.textLg}>Hello there,</Text>
|
|
35
|
-
<Text style={[styles.textXL, styles.appTitleText]} testID="heading"
|
|
32
|
+
<Text style={[styles.textXL, styles.appTitleText]} testID="heading">
|
|
36
33
|
Welcome <%= displayName %> 👋
|
|
37
34
|
</Text>
|
|
38
35
|
</View>
|
|
@@ -311,14 +308,11 @@ export const App = () => {
|
|
|
311
308
|
Install Nx Console for VSCode
|
|
312
309
|
</Text>
|
|
313
310
|
<Text style={[styles.textXS, styles.textLight]}>
|
|
314
|
-
The official VSCode
|
|
311
|
+
The official VSCode plugin for Nx.
|
|
315
312
|
</Text>
|
|
316
313
|
</View>
|
|
317
314
|
</View>
|
|
318
315
|
</TouchableOpacity>
|
|
319
|
-
</View>
|
|
320
|
-
|
|
321
|
-
<View style={[styles.section, styles.shadowBox]}>
|
|
322
316
|
<TouchableOpacity
|
|
323
317
|
onPress={() =>
|
|
324
318
|
Linking.openURL(
|
|
@@ -327,20 +321,13 @@ export const App = () => {
|
|
|
327
321
|
}
|
|
328
322
|
>
|
|
329
323
|
<View style={[styles.listItem, styles.learning]}>
|
|
330
|
-
<Svg
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
<Path d="m29.13 43.08h4.42a3.53 3.53 0 0 1 2.55.83 2.09 2.09 0 0 1 .6 1.53 2.16 2.16 0 0 1 -1.44 2.09 2.27 2.27 0 0 1 1.86 2.29c0 1.61-1.31 2.59-3.55 2.59h-4.44zm5 2.89c0-.52-.42-.8-1.18-.8h-1.29v1.64h1.24c.79 0 1.25-.26 1.25-.81zm-.9 2.66h-1.57v1.73h1.62c.8 0 1.24-.31 1.24-.86 0-.5-.4-.87-1.27-.87z" />
|
|
338
|
-
<Path d="m38 43.08h4.1a4.19 4.19 0 0 1 3 1 2.93 2.93 0 0 1 .9 2.19 3 3 0 0 1 -1.93 2.89l2.24 3.27h-3l-1.88-2.84h-.87v2.84h-2.56zm4 4.5c.87 0 1.39-.43 1.39-1.11 0-.75-.54-1.12-1.4-1.12h-1.44v2.26z" />
|
|
339
|
-
<Path d="m49.59 43h2.5l4 9.44h-2.79l-.67-1.69h-3.63l-.67 1.69h-2.71zm2.27 5.73-1-2.65-1.06 2.65z" />
|
|
340
|
-
<Path d="m56.46 43.05h2.6v9.37h-2.6z" />
|
|
341
|
-
<Path d="m60.06 43.05h2.42l3.37 5v-5h2.57v9.37h-2.26l-3.53-5.14v5.14h-2.57z" />
|
|
342
|
-
<Path d="m68.86 51 1.45-1.73a4.84 4.84 0 0 0 3 1.13c.71 0 1.08-.24 1.08-.65 0-.4-.31-.6-1.59-.91-2-.46-3.53-1-3.53-2.93 0-1.74 1.37-3 3.62-3a5.89 5.89 0 0 1 3.86 1.25l-1.26 1.84a4.63 4.63 0 0 0 -2.62-.92c-.63 0-.94.25-.94.6 0 .42.32.61 1.63.91 2.14.46 3.44 1.16 3.44 2.91 0 1.91-1.51 3-3.79 3a6.58 6.58 0 0 1 -4.35-1.5z" />
|
|
343
|
-
</G>
|
|
324
|
+
<Svg
|
|
325
|
+
width={48}
|
|
326
|
+
height={48}
|
|
327
|
+
fill="rgba(0, 122, 204, 1)"
|
|
328
|
+
viewBox="0 0 24 24"
|
|
329
|
+
>
|
|
330
|
+
<Path d="M0 0v24h24V0zm3.723 3.111h5v1.834h-1.39v6.277h1.39v1.834h-5v-1.834h1.444V4.945H3.723zm11.055 0H17v6.5c0 .612-.055 1.111-.222 1.556-.167.444-.39.777-.723 1.11-.277.279-.666.557-1.11.668a3.933 3.933 0 0 1-1.445.278c-.778 0-1.444-.167-1.944-.445a4.81 4.81 0 0 1-1.279-1.056l1.39-1.555c.277.334.555.555.833.722.277.167.611.278.945.278.389 0 .721-.111 1-.389.221-.278.333-.667.333-1.278zM2.222 19.5h9V21h-9z" />
|
|
344
331
|
</Svg>
|
|
345
332
|
<View style={styles.listItemTextContainer}>
|
|
346
333
|
<Text
|
|
@@ -387,7 +374,7 @@ export const App = () => {
|
|
|
387
374
|
</View>
|
|
388
375
|
</View>
|
|
389
376
|
<View style={styles.codeBlock}>
|
|
390
|
-
<Text style={[styles.monospace]}>nx connect</Text>
|
|
377
|
+
<Text style={[styles.monospace]}>nx connect-to-nx-cloud</Text>
|
|
391
378
|
</View>
|
|
392
379
|
</View>
|
|
393
380
|
</TouchableOpacity>
|
|
@@ -475,33 +462,9 @@ export const App = () => {
|
|
|
475
462
|
@nx/react-native:component \
|
|
476
463
|
</Text>
|
|
477
464
|
<Text style={[styles.textXS, styles.monospace]}>
|
|
478
|
-
ui
|
|
465
|
+
button --project ui
|
|
479
466
|
</Text>
|
|
480
467
|
</View>
|
|
481
|
-
<View style={styles.listItem}>
|
|
482
|
-
<Svg
|
|
483
|
-
width={24}
|
|
484
|
-
height={24}
|
|
485
|
-
stroke="#000000"
|
|
486
|
-
fill="none"
|
|
487
|
-
viewBox="0 0 24 24"
|
|
488
|
-
>
|
|
489
|
-
<Path
|
|
490
|
-
strokeLinecap="round"
|
|
491
|
-
strokeLinejoin="round"
|
|
492
|
-
strokeWidth="2"
|
|
493
|
-
d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
|
|
494
|
-
/>
|
|
495
|
-
</Svg>
|
|
496
|
-
<View style={styles.listItemTextContainer}>
|
|
497
|
-
<Text style={styles.textSm}>
|
|
498
|
-
View project details
|
|
499
|
-
</Text>
|
|
500
|
-
</View>
|
|
501
|
-
</View>
|
|
502
|
-
<View style={[styles.codeBlock, styles.marginBottomLg]}>
|
|
503
|
-
<Text style={[styles.textXS, styles.monospace]}>nx show project <%= displayName %> --web</Text>
|
|
504
|
-
</View>
|
|
505
468
|
<View style={styles.listItem}>
|
|
506
469
|
<Svg
|
|
507
470
|
width={24}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addDetox = void 0;
|
|
4
|
+
const detox_1 = require("@nx/detox");
|
|
5
|
+
const eslint_1 = require("@nx/eslint");
|
|
6
|
+
async function addDetox(host, options) {
|
|
7
|
+
if (options?.e2eTestRunner !== 'detox') {
|
|
8
|
+
return () => { };
|
|
9
|
+
}
|
|
10
|
+
return (0, detox_1.detoxApplicationGenerator)(host, {
|
|
11
|
+
...options,
|
|
12
|
+
linter: eslint_1.Linter.EsLint,
|
|
13
|
+
e2eName: `${options.projectName}-e2e`,
|
|
14
|
+
e2eDirectory: `${options.appProjectRoot}-e2e`,
|
|
15
|
+
projectNameAndRootFormat: 'as-provided',
|
|
16
|
+
appProject: options.projectName,
|
|
17
|
+
appDisplayName: options.displayName,
|
|
18
|
+
appName: options.name,
|
|
19
|
+
framework: 'react-native',
|
|
20
|
+
skipFormat: true,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
exports.addDetox = addDetox;
|
|
@@ -3,15 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.addProject = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
function addProject(host, options) {
|
|
6
|
-
const nxJson = (0, devkit_1.readNxJson)(host);
|
|
7
|
-
const hasPlugin = nxJson.plugins?.some((p) => typeof p === 'string'
|
|
8
|
-
? p === '@nx/react-native/plugin'
|
|
9
|
-
: p.plugin === '@nx/react-native/plugin');
|
|
10
6
|
const project = {
|
|
11
7
|
root: options.appProjectRoot,
|
|
12
8
|
sourceRoot: `${options.appProjectRoot}/src`,
|
|
13
9
|
projectType: 'application',
|
|
14
|
-
targets:
|
|
10
|
+
targets: { ...getTargets(options) },
|
|
15
11
|
tags: options.parsedTags,
|
|
16
12
|
};
|
|
17
13
|
(0, devkit_1.addProjectConfiguration)(host, options.projectName, {
|
|
@@ -23,19 +19,25 @@ function getTargets(options) {
|
|
|
23
19
|
const architect = {};
|
|
24
20
|
architect.start = {
|
|
25
21
|
executor: '@nx/react-native:start',
|
|
26
|
-
dependsOn: [],
|
|
22
|
+
dependsOn: ['ensure-symlink', 'sync-deps', 'pod-install'],
|
|
27
23
|
options: {
|
|
28
24
|
port: 8081,
|
|
29
25
|
},
|
|
30
26
|
};
|
|
27
|
+
architect.serve = {
|
|
28
|
+
executor: 'nx:run-commands',
|
|
29
|
+
options: {
|
|
30
|
+
command: `nx start ${options.projectName}`,
|
|
31
|
+
},
|
|
32
|
+
};
|
|
31
33
|
architect['run-ios'] = {
|
|
32
34
|
executor: '@nx/react-native:run-ios',
|
|
33
|
-
dependsOn: [],
|
|
35
|
+
dependsOn: ['ensure-symlink', 'sync-deps', 'pod-install'],
|
|
34
36
|
options: {},
|
|
35
37
|
};
|
|
36
38
|
architect['bundle-ios'] = {
|
|
37
39
|
executor: '@nx/react-native:bundle',
|
|
38
|
-
dependsOn: [],
|
|
40
|
+
dependsOn: ['ensure-symlink'],
|
|
39
41
|
outputs: ['{options.bundleOutput}'],
|
|
40
42
|
options: {
|
|
41
43
|
entryFile: options.entryFile,
|
|
@@ -45,7 +47,7 @@ function getTargets(options) {
|
|
|
45
47
|
};
|
|
46
48
|
architect['run-android'] = {
|
|
47
49
|
executor: '@nx/react-native:run-android',
|
|
48
|
-
dependsOn: [],
|
|
50
|
+
dependsOn: ['ensure-symlink', 'sync-deps'],
|
|
49
51
|
options: {},
|
|
50
52
|
};
|
|
51
53
|
architect['build-android'] = {
|
|
@@ -54,28 +56,22 @@ function getTargets(options) {
|
|
|
54
56
|
`{projectRoot}/android/app/build/outputs/bundle`,
|
|
55
57
|
`{projectRoot}/android/app/build/outputs/apk`,
|
|
56
58
|
],
|
|
57
|
-
dependsOn: [],
|
|
59
|
+
dependsOn: ['ensure-symlink', 'sync-deps'],
|
|
58
60
|
options: {},
|
|
59
61
|
};
|
|
60
62
|
architect['build-ios'] = {
|
|
61
63
|
executor: '@nx/react-native:build-ios',
|
|
62
64
|
outputs: ['{projectRoot}/ios/build/Build'],
|
|
63
|
-
dependsOn: [],
|
|
65
|
+
dependsOn: ['ensure-symlink', 'sync-deps', 'pod-install'],
|
|
64
66
|
options: {},
|
|
65
67
|
};
|
|
66
68
|
architect['pod-install'] = {
|
|
67
69
|
executor: '@nx/react-native:pod-install',
|
|
68
|
-
dependsOn: ['sync-deps'],
|
|
69
|
-
outputs: ['{projectRoot}/ios/Pods', '{projectRoot}/ios/Podfile.lock'],
|
|
70
|
-
options: {},
|
|
71
|
-
};
|
|
72
|
-
architect.upgrade = {
|
|
73
|
-
executor: '@nx/react-native:upgrade',
|
|
74
70
|
options: {},
|
|
75
71
|
};
|
|
76
72
|
architect['bundle-android'] = {
|
|
77
73
|
executor: '@nx/react-native:bundle',
|
|
78
|
-
dependsOn: [],
|
|
74
|
+
dependsOn: ['ensure-symlink'],
|
|
79
75
|
outputs: ['{options.bundleOutput}'],
|
|
80
76
|
options: {
|
|
81
77
|
entryFile: options.entryFile,
|
|
@@ -87,5 +83,9 @@ function getTargets(options) {
|
|
|
87
83
|
executor: '@nx/react-native:sync-deps',
|
|
88
84
|
options: {},
|
|
89
85
|
};
|
|
86
|
+
architect['ensure-symlink'] = {
|
|
87
|
+
executor: '@nx/react-native:ensure-symlink',
|
|
88
|
+
options: {},
|
|
89
|
+
};
|
|
90
90
|
return architect;
|
|
91
91
|
}
|
|
@@ -2,7 +2,6 @@ import { Tree } from '@nx/devkit';
|
|
|
2
2
|
import { Schema } from '../schema';
|
|
3
3
|
export interface NormalizedSchema extends Schema {
|
|
4
4
|
className: string;
|
|
5
|
-
fileName: string;
|
|
6
5
|
projectName: string;
|
|
7
6
|
appProjectRoot: string;
|
|
8
7
|
lowerCaseName: string;
|
|
@@ -10,11 +9,5 @@ export interface NormalizedSchema extends Schema {
|
|
|
10
9
|
androidProjectRoot: string;
|
|
11
10
|
parsedTags: string[];
|
|
12
11
|
entryFile: string;
|
|
13
|
-
rootProject: boolean;
|
|
14
|
-
e2eProjectName: string;
|
|
15
|
-
e2eProjectRoot: string;
|
|
16
|
-
e2eWebServerAddress: string;
|
|
17
|
-
e2eWebServerTarget: string;
|
|
18
|
-
e2ePort: number;
|
|
19
12
|
}
|
|
20
13
|
export declare function normalizeOptions(host: Tree, options: Schema): Promise<NormalizedSchema>;
|
|
@@ -12,45 +12,19 @@ async function normalizeOptions(host, options) {
|
|
|
12
12
|
callingGenerator: '@nx/react-native:application',
|
|
13
13
|
});
|
|
14
14
|
options.projectNameAndRootFormat = projectNameAndRootFormat;
|
|
15
|
-
const
|
|
16
|
-
const addPluginDefault = process.env.NX_ADD_PLUGINS !== 'false' &&
|
|
17
|
-
nxJson.useInferencePlugins !== false;
|
|
18
|
-
options.addPlugin ??= addPluginDefault;
|
|
19
|
-
const { className, fileName } = (0, devkit_1.names)(options.name);
|
|
15
|
+
const { className } = (0, devkit_1.names)(options.name);
|
|
20
16
|
const iosProjectRoot = (0, devkit_1.joinPathFragments)(appProjectRoot, 'ios');
|
|
21
17
|
const androidProjectRoot = (0, devkit_1.joinPathFragments)(appProjectRoot, 'android');
|
|
22
|
-
const rootProject = appProjectRoot === '.';
|
|
23
|
-
let e2eWebServerTarget = 'start';
|
|
24
|
-
if (options.addPlugin) {
|
|
25
|
-
if (nxJson.plugins) {
|
|
26
|
-
for (const plugin of nxJson.plugins) {
|
|
27
|
-
if (options.bundler === 'vite' &&
|
|
28
|
-
typeof plugin === 'object' &&
|
|
29
|
-
plugin.plugin === '@nx/react-native/plugin' &&
|
|
30
|
-
plugin.options.startTargetName) {
|
|
31
|
-
e2eWebServerTarget = plugin.options
|
|
32
|
-
.startTargetName;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
let e2ePort = 4200;
|
|
38
|
-
if (nxJson.targetDefaults?.[e2eWebServerTarget] &&
|
|
39
|
-
nxJson.targetDefaults?.[e2eWebServerTarget].options?.port) {
|
|
40
|
-
e2ePort = nxJson.targetDefaults?.[e2eWebServerTarget].options?.port;
|
|
41
|
-
}
|
|
42
|
-
const e2eProjectName = rootProject ? 'e2e' : `${fileName}-e2e`;
|
|
43
|
-
const e2eProjectRoot = rootProject ? 'e2e' : `${appProjectRoot}-e2e`;
|
|
44
|
-
const e2eWebServerAddress = `http://localhost:${e2ePort}`;
|
|
45
18
|
const parsedTags = options.tags
|
|
46
19
|
? options.tags.split(',').map((s) => s.trim())
|
|
47
20
|
: [];
|
|
48
21
|
const entryFile = options.js ? 'src/main.js' : 'src/main.tsx';
|
|
49
22
|
return {
|
|
50
23
|
...options,
|
|
24
|
+
unitTestRunner: options.unitTestRunner || 'jest',
|
|
25
|
+
e2eTestRunner: options.e2eTestRunner || 'detox',
|
|
51
26
|
name: projectNames.projectSimpleName,
|
|
52
27
|
className,
|
|
53
|
-
fileName,
|
|
54
28
|
lowerCaseName: className.toLowerCase(),
|
|
55
29
|
displayName: options.displayName || className,
|
|
56
30
|
projectName: appProjectName,
|
|
@@ -59,12 +33,6 @@ async function normalizeOptions(host, options) {
|
|
|
59
33
|
androidProjectRoot,
|
|
60
34
|
parsedTags,
|
|
61
35
|
entryFile,
|
|
62
|
-
rootProject,
|
|
63
|
-
e2eProjectName,
|
|
64
|
-
e2eProjectRoot,
|
|
65
|
-
e2eWebServerAddress,
|
|
66
|
-
e2eWebServerTarget,
|
|
67
|
-
e2ePort,
|
|
68
36
|
};
|
|
69
37
|
}
|
|
70
38
|
exports.normalizeOptions = normalizeOptions;
|