@nx/react-native 20.3.0-beta.0 → 20.3.0-beta.1
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/migrations.json +73 -0
- package/package.json +7 -7
- package/plugins/plugin.js +1 -1
- package/src/generators/application/files/app/Gemfile.template +4 -4
- package/src/generators/application/files/app/android/app/build.gradle.template +9 -8
- package/src/generators/application/files/app/android/app/src/main/AndroidManifest.xml.template +1 -0
- package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/MainApplication.kt.template +7 -6
- package/src/generators/application/files/app/android/build.gradle.template +4 -4
- package/src/generators/application/files/app/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/src/generators/application/files/app/android/gradle.properties +1 -3
- package/src/generators/application/files/app/android/gradlew.bat +2 -0
- package/src/generators/application/files/app/android/gradlew.template +5 -2
- package/src/generators/application/files/app/android/settings.gradle.template +3 -1
- package/src/generators/application/files/app/tsconfig.json.template +2 -0
- package/src/generators/application/lib/normalize-options.d.ts +1 -0
- package/src/generators/application/lib/normalize-options.js +2 -0
- package/src/generators/application/schema.json +1 -1
- package/src/generators/library/files/lib/tsconfig.json.template +2 -0
- package/src/generators/library/library.js +5 -2
- package/src/generators/storybook-configuration/schema.json +2 -1
- package/src/generators/web-configuration/files/base-vite/vite.config.ts__tmpl__ +4 -2
- package/src/generators/web-configuration/files/base-webpack/webpack.config.js__tmpl__ +4 -0
- package/src/generators/web-configuration/schema.json +1 -1
- package/src/generators/web-configuration/web-configuration.js +1 -0
- package/src/utils/add-linting.js +2 -1
- package/src/utils/ensure-dependencies.js +2 -0
- package/src/utils/versions.d.ts +17 -14
- package/src/utils/versions.js +18 -15
package/migrations.json
CHANGED
|
@@ -220,6 +220,79 @@
|
|
|
220
220
|
"alwaysAddToPackageJson": false
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
+
},
|
|
224
|
+
"20.3.0": {
|
|
225
|
+
"version": "20.3.0-beta.0",
|
|
226
|
+
"packages": {
|
|
227
|
+
"react-native": {
|
|
228
|
+
"version": "~0.76.3",
|
|
229
|
+
"alwaysAddToPackageJson": false
|
|
230
|
+
},
|
|
231
|
+
"@react-native-community/cli": {
|
|
232
|
+
"version": "~15.0.1",
|
|
233
|
+
"alwaysAddToPackageJson": true
|
|
234
|
+
},
|
|
235
|
+
"@react-native-community/cli-platform-android": {
|
|
236
|
+
"version": "~15.0.1",
|
|
237
|
+
"alwaysAddToPackageJson": true
|
|
238
|
+
},
|
|
239
|
+
"@react-native-community/cli-platform-ios": {
|
|
240
|
+
"version": "~15.0.1",
|
|
241
|
+
"alwaysAddToPackageJson": true
|
|
242
|
+
},
|
|
243
|
+
"@react-native/babel-preset": {
|
|
244
|
+
"version": "~0.76.3",
|
|
245
|
+
"alwaysAddToPackageJson": false
|
|
246
|
+
},
|
|
247
|
+
"@react-native/metro-config": {
|
|
248
|
+
"version": "~0.76.3",
|
|
249
|
+
"alwaysAddToPackageJson": false
|
|
250
|
+
},
|
|
251
|
+
"react-native-web": {
|
|
252
|
+
"version": "~0.19.13",
|
|
253
|
+
"alwaysAddToPackageJson": false
|
|
254
|
+
},
|
|
255
|
+
"react": {
|
|
256
|
+
"version": "~18.3.1",
|
|
257
|
+
"alwaysAddToPackageJson": false
|
|
258
|
+
},
|
|
259
|
+
"react-dom": {
|
|
260
|
+
"version": "~18.3.1",
|
|
261
|
+
"alwaysAddToPackageJson": false
|
|
262
|
+
},
|
|
263
|
+
"react-test-renderer": {
|
|
264
|
+
"version": "~18.3.1",
|
|
265
|
+
"alwaysAddToPackageJson": false
|
|
266
|
+
},
|
|
267
|
+
"@types/react": {
|
|
268
|
+
"version": "~18.3.12",
|
|
269
|
+
"alwaysAddToPackageJson": false
|
|
270
|
+
},
|
|
271
|
+
"@types/react-dom": {
|
|
272
|
+
"version": "~18.3.1",
|
|
273
|
+
"alwaysAddToPackageJson": false
|
|
274
|
+
},
|
|
275
|
+
"@testing-library/react-native": {
|
|
276
|
+
"version": "~12.9.0",
|
|
277
|
+
"alwaysAddToPackageJson": false
|
|
278
|
+
},
|
|
279
|
+
"react-native-svg-transformer": {
|
|
280
|
+
"version": "~1.5.0",
|
|
281
|
+
"alwaysAddToPackageJson": false
|
|
282
|
+
},
|
|
283
|
+
"react-native-svg": {
|
|
284
|
+
"version": "~15.8.0",
|
|
285
|
+
"alwaysAddToPackageJson": false
|
|
286
|
+
},
|
|
287
|
+
"react-native-svg-web": {
|
|
288
|
+
"version": "~1.0.9",
|
|
289
|
+
"addToPackageJson": "devDependencies"
|
|
290
|
+
},
|
|
291
|
+
"@babel/runtime": {
|
|
292
|
+
"version": "~7.26.0",
|
|
293
|
+
"alwaysAddToPackageJson": false
|
|
294
|
+
}
|
|
295
|
+
}
|
|
223
296
|
}
|
|
224
297
|
}
|
|
225
298
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/react-native",
|
|
3
|
-
"version": "20.3.0-beta.
|
|
3
|
+
"version": "20.3.0-beta.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The Nx Plugin for React Native contains generators for managing React Native applications and libraries within an Nx workspace. It provides: \n\n-Integration with libraries such as Jest, Detox, and Storybook.\n-Scaffolding for creating buildable libraries that can be published to npm.\n-Utilities for automatic workspace refactoring.",
|
|
6
6
|
"keywords": [
|
|
@@ -36,12 +36,12 @@
|
|
|
36
36
|
"node-fetch": "^2.6.7",
|
|
37
37
|
"tsconfig-paths": "^4.1.2",
|
|
38
38
|
"tslib": "^2.3.0",
|
|
39
|
-
"@nx/devkit": "20.3.0-beta.
|
|
40
|
-
"@nx/jest": "20.3.0-beta.
|
|
41
|
-
"@nx/js": "20.3.0-beta.
|
|
42
|
-
"@nx/eslint": "20.3.0-beta.
|
|
43
|
-
"@nx/react": "20.3.0-beta.
|
|
44
|
-
"@nx/workspace": "20.3.0-beta.
|
|
39
|
+
"@nx/devkit": "20.3.0-beta.1",
|
|
40
|
+
"@nx/jest": "20.3.0-beta.1",
|
|
41
|
+
"@nx/js": "20.3.0-beta.1",
|
|
42
|
+
"@nx/eslint": "20.3.0-beta.1",
|
|
43
|
+
"@nx/react": "20.3.0-beta.1",
|
|
44
|
+
"@nx/workspace": "20.3.0-beta.1"
|
|
45
45
|
},
|
|
46
46
|
"executors": "./executors.json",
|
|
47
47
|
"ng-update": {
|
package/plugins/plugin.js
CHANGED
|
@@ -24,7 +24,7 @@ exports.createNodesV2 = [
|
|
|
24
24
|
'**/app.{json,config.js,config.ts}',
|
|
25
25
|
async (configFiles, options, context) => {
|
|
26
26
|
const optionsHash = (0, devkit_internals_1.hashObject)(options);
|
|
27
|
-
const cachePath = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, `
|
|
27
|
+
const cachePath = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, `react-native-${optionsHash}.hash`);
|
|
28
28
|
const targetsCache = readTargetsCache(cachePath);
|
|
29
29
|
try {
|
|
30
30
|
return await (0, devkit_1.createNodesFromFiles)((configFile, options, context) => createNodesInternal(configFile, options, context, targetsCache), configFiles, options, context);
|
|
@@ -3,7 +3,7 @@ source 'https://rubygems.org'
|
|
|
3
3
|
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
|
|
4
4
|
ruby ">= 2.6.10"
|
|
5
5
|
|
|
6
|
-
#
|
|
7
|
-
|
|
8
|
-
gem '
|
|
9
|
-
gem '
|
|
6
|
+
# Exclude problematic versions of cocoapods and activesupport that causes build failures.
|
|
7
|
+
gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
|
|
8
|
+
gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
|
|
9
|
+
gem 'xcodeproj', '< 1.26.0'
|
|
@@ -8,13 +8,13 @@ apply plugin: "com.facebook.react"
|
|
|
8
8
|
*/
|
|
9
9
|
react {
|
|
10
10
|
/* Folders */
|
|
11
|
-
// The root of your project, i.e. where "package.json" lives. Default is '
|
|
12
|
-
// root = file("
|
|
13
|
-
// The folder where the react-native NPM package is. Default is
|
|
11
|
+
// The root of your project, i.e. where "package.json" lives. Default is '../..'
|
|
12
|
+
// root = file("../../")
|
|
13
|
+
// The folder where the react-native NPM package is. Default is ../../node_modules/react-native
|
|
14
14
|
reactNativeDir = file("<%= offsetFromRoot %>../../node_modules/react-native")
|
|
15
|
-
// The folder where the react-native Codegen package is. Default is
|
|
15
|
+
// The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen
|
|
16
16
|
codegenDir = file("<%= offsetFromRoot %>../../node_modules/@react-native/codegen")
|
|
17
|
-
// The cli.js file which is the React Native CLI entrypoint. Default is
|
|
17
|
+
// The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js
|
|
18
18
|
cliFile = file("<%= offsetFromRoot %>../../node_modules/react-native/cli.js")
|
|
19
19
|
|
|
20
20
|
/* Variants */
|
|
@@ -45,10 +45,13 @@ react {
|
|
|
45
45
|
|
|
46
46
|
/* Hermes Commands */
|
|
47
47
|
// The hermes compiler command to run. By default it is 'hermesc'
|
|
48
|
-
hermesCommand = "<%= offsetFromRoot
|
|
48
|
+
hermesCommand = "<%= offsetFromRoot %>../../node_modules/react-native/sdks/hermesc/%OS-BIN%/hermesc"
|
|
49
49
|
//
|
|
50
50
|
// The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
|
|
51
51
|
// hermesFlags = ["-O", "-output-source-map"]
|
|
52
|
+
|
|
53
|
+
/* Autolinking */
|
|
54
|
+
autolinkLibrariesWithApp()
|
|
52
55
|
}
|
|
53
56
|
|
|
54
57
|
/**
|
|
@@ -114,5 +117,3 @@ dependencies {
|
|
|
114
117
|
implementation jscFlavor
|
|
115
118
|
}
|
|
116
119
|
}
|
|
117
|
-
|
|
118
|
-
apply from: file("<%= offsetFromRoot %>../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
|
|
@@ -9,17 +9,18 @@ import com.facebook.react.ReactPackage
|
|
|
9
9
|
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
|
|
10
10
|
import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
|
|
11
11
|
import com.facebook.react.defaults.DefaultReactNativeHost
|
|
12
|
+
import com.facebook.react.soloader.OpenSourceMergedSoMapping
|
|
12
13
|
import com.facebook.soloader.SoLoader
|
|
13
14
|
|
|
14
15
|
class MainApplication : Application(), ReactApplication {
|
|
15
16
|
|
|
16
17
|
override val reactNativeHost: ReactNativeHost =
|
|
17
18
|
object : DefaultReactNativeHost(this) {
|
|
18
|
-
override fun getPackages(): List<ReactPackage>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
override fun getPackages(): List<ReactPackage> =
|
|
20
|
+
PackageList(this).packages.apply {
|
|
21
|
+
// Packages that cannot be autolinked yet can be added manually here, for example:
|
|
22
|
+
// add(MyReactNativePackage())
|
|
23
|
+
}
|
|
23
24
|
|
|
24
25
|
override fun getJSMainModuleName(): String = "src/main"
|
|
25
26
|
|
|
@@ -34,7 +35,7 @@ class MainApplication : Application(), ReactApplication {
|
|
|
34
35
|
|
|
35
36
|
override fun onCreate() {
|
|
36
37
|
super.onCreate()
|
|
37
|
-
SoLoader.init(this,
|
|
38
|
+
SoLoader.init(this, OpenSourceMergedSoMapping)
|
|
38
39
|
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
|
39
40
|
// If you opted-in for the New Architecture, we load the native entry point for this app.
|
|
40
41
|
load()
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
buildscript {
|
|
2
2
|
ext {
|
|
3
|
-
buildToolsVersion = "
|
|
4
|
-
minSdkVersion =
|
|
5
|
-
compileSdkVersion =
|
|
3
|
+
buildToolsVersion = "35.0.0"
|
|
4
|
+
minSdkVersion = 24
|
|
5
|
+
compileSdkVersion = 35
|
|
6
6
|
targetSdkVersion = 34
|
|
7
7
|
ndkVersion = "26.1.10909125"
|
|
8
|
-
kotlinVersion = "1.9.
|
|
8
|
+
kotlinVersion = "1.9.24"
|
|
9
9
|
}
|
|
10
10
|
repositories {
|
|
11
11
|
google()
|
package/src/generators/application/files/app/android/gradle/wrapper/gradle-wrapper.properties
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
distributionBase=GRADLE_USER_HOME
|
|
2
2
|
distributionPath=wrapper/dists
|
|
3
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.
|
|
3
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
|
|
4
4
|
networkTimeout=10000
|
|
5
5
|
validateDistributionUrl=true
|
|
6
6
|
zipStoreBase=GRADLE_USER_HOME
|
|
@@ -21,8 +21,6 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
|
|
|
21
21
|
# Android operating system, and which are packaged with your app's APK
|
|
22
22
|
# https://developer.android.com/topic/libraries/support-library/androidx-rn
|
|
23
23
|
android.useAndroidX=true
|
|
24
|
-
# Automatically convert third-party libraries to use AndroidX
|
|
25
|
-
android.enableJetifier=true
|
|
26
24
|
|
|
27
25
|
# Use this property to specify which architecture you want to build.
|
|
28
26
|
# You can also override it from the CLI using
|
|
@@ -34,7 +32,7 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
|
|
|
34
32
|
# your application. You should enable this flag either if you want
|
|
35
33
|
# to write custom TurboModules/Fabric components OR use libraries that
|
|
36
34
|
# are providing them.
|
|
37
|
-
newArchEnabled=
|
|
35
|
+
newArchEnabled=true
|
|
38
36
|
|
|
39
37
|
# Use this property to enable or disable the Hermes JS engine.
|
|
40
38
|
# If set to false, you will be using JSC instead.
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
@rem See the License for the specific language governing permissions and
|
|
14
14
|
@rem limitations under the License.
|
|
15
15
|
@rem
|
|
16
|
+
@rem SPDX-License-Identifier: Apache-2.0
|
|
17
|
+
@rem
|
|
16
18
|
|
|
17
19
|
@if "%DEBUG%"=="" @echo off
|
|
18
20
|
@rem ##########################################################################
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
# See the License for the specific language governing permissions and
|
|
16
16
|
# limitations under the License.
|
|
17
17
|
#
|
|
18
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
19
|
+
#
|
|
18
20
|
|
|
19
21
|
##############################################################################
|
|
20
22
|
#
|
|
@@ -55,7 +57,7 @@
|
|
|
55
57
|
# Darwin, MinGW, and NonStop.
|
|
56
58
|
#
|
|
57
59
|
# (3) This script is generated from the Groovy template
|
|
58
|
-
# https://github.com/gradle/gradle/blob/HEAD/
|
|
60
|
+
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
|
59
61
|
# within the Gradle project.
|
|
60
62
|
#
|
|
61
63
|
# You can find Gradle at https://github.com/gradle/gradle/.
|
|
@@ -84,7 +86,8 @@ done
|
|
|
84
86
|
# shellcheck disable=SC2034
|
|
85
87
|
APP_BASE_NAME=${0##*/}
|
|
86
88
|
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
|
87
|
-
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null &&
|
|
89
|
+
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
|
|
90
|
+
' "$PWD" ) || exit
|
|
88
91
|
|
|
89
92
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
|
90
93
|
MAX_FD=maximum
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
pluginManagement { includeBuild("<%= offsetFromRoot %>../node_modules/@react-native/gradle-plugin") }
|
|
2
|
+
plugins { id("com.facebook.react.settings") }
|
|
3
|
+
extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
|
|
1
4
|
rootProject.name = '<%= className %>'
|
|
2
|
-
apply from: file("<%= offsetFromRoot %>../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
|
|
3
5
|
include ':app'
|
|
4
6
|
includeBuild('<%= offsetFromRoot %>../node_modules/@react-native/gradle-plugin')
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "<%= rootTsConfigPath %>",
|
|
3
|
+
<%_ if (!isTsSolutionSetup) { _%>
|
|
3
4
|
"compilerOptions": {
|
|
4
5
|
"allowSyntheticDefaultImports": true,
|
|
5
6
|
"jsx": "react-native",
|
|
@@ -9,6 +10,7 @@
|
|
|
9
10
|
"resolveJsonModule": true,
|
|
10
11
|
"declaration": true
|
|
11
12
|
},
|
|
13
|
+
<%_ } _%>
|
|
12
14
|
"files": [],
|
|
13
15
|
"include": [],
|
|
14
16
|
"references": [
|
|
@@ -13,5 +13,6 @@ export interface NormalizedSchema extends Schema {
|
|
|
13
13
|
rootProject: boolean;
|
|
14
14
|
e2eProjectName: string;
|
|
15
15
|
e2eProjectRoot: string;
|
|
16
|
+
isTsSolutionSetup: boolean;
|
|
16
17
|
}
|
|
17
18
|
export declare function normalizeOptions(host: Tree, options: Schema): Promise<NormalizedSchema>;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.normalizeOptions = normalizeOptions;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const project_name_and_root_utils_1 = require("@nx/devkit/src/generators/project-name-and-root-utils");
|
|
6
|
+
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
|
|
6
7
|
async function normalizeOptions(host, options) {
|
|
7
8
|
await (0, project_name_and_root_utils_1.ensureProjectName)(host, options, 'application');
|
|
8
9
|
const { projectName: appProjectName, names: projectNames, projectRoot: appProjectRoot, } = await (0, project_name_and_root_utils_1.determineProjectNameAndRootOptions)(host, {
|
|
@@ -40,5 +41,6 @@ async function normalizeOptions(host, options) {
|
|
|
40
41
|
rootProject,
|
|
41
42
|
e2eProjectName,
|
|
42
43
|
e2eProjectRoot,
|
|
44
|
+
isTsSolutionSetup: (0, ts_solution_setup_1.isUsingTsSolutionSetup)(host),
|
|
43
45
|
};
|
|
44
46
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "<%= rootTsConfigPath %>",
|
|
3
|
+
<%_ if (!isUsingTsSolutionConfig) { _%>
|
|
3
4
|
"compilerOptions": {
|
|
4
5
|
"jsx": "react-jsx",
|
|
5
6
|
"allowJs": true,
|
|
6
7
|
"esModuleInterop": true,
|
|
7
8
|
"allowSyntheticDefaultImports": true
|
|
8
9
|
},
|
|
10
|
+
<%_ } _%>
|
|
9
11
|
"files": [],
|
|
10
12
|
"include": [],
|
|
11
13
|
"references": [
|
|
@@ -53,7 +53,7 @@ async function reactNativeLibraryGeneratorInternal(host, schema) {
|
|
|
53
53
|
if (options.publishable || options.buildable) {
|
|
54
54
|
updateLibPackageNpmScope(host, options);
|
|
55
55
|
}
|
|
56
|
-
if (!options.skipTsConfig) {
|
|
56
|
+
if (!options.skipTsConfig && !options.isUsingTsSolutionConfig) {
|
|
57
57
|
(0, js_1.addTsConfigPath)(host, options.importPath, [
|
|
58
58
|
(0, devkit_1.joinPathFragments)(options.projectRoot, './src', 'index.' + (options.js ? 'js' : 'ts')),
|
|
59
59
|
]);
|
|
@@ -70,7 +70,7 @@ async function reactNativeLibraryGeneratorInternal(host, schema) {
|
|
|
70
70
|
}
|
|
71
71
|
// Always run install to link packages.
|
|
72
72
|
if (options.isUsingTsSolutionConfig) {
|
|
73
|
-
tasks.push(() => (0, devkit_1.installPackagesTask)(host));
|
|
73
|
+
tasks.push(() => (0, devkit_1.installPackagesTask)(host, true));
|
|
74
74
|
}
|
|
75
75
|
tasks.push(() => {
|
|
76
76
|
(0, log_show_project_command_1.logShowProjectCommand)(options.name);
|
|
@@ -140,6 +140,9 @@ async function addProject(host, options) {
|
|
|
140
140
|
return rollupConfigTask;
|
|
141
141
|
}
|
|
142
142
|
function updateTsConfig(tree, options) {
|
|
143
|
+
if (options.isUsingTsSolutionConfig) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
143
146
|
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(options.projectRoot, 'tsconfig.json'), (json) => {
|
|
144
147
|
if (options.strict) {
|
|
145
148
|
json.compilerOptions = {
|
|
@@ -30,7 +30,7 @@ const rollupPlugin = (matchers: RegExp[]) => ({
|
|
|
30
30
|
|
|
31
31
|
export default defineConfig({
|
|
32
32
|
root: __dirname,
|
|
33
|
-
cacheDir: '
|
|
33
|
+
cacheDir: '<%= offsetFromRoot %>node_modules/.vite/<%= projectRoot %>',
|
|
34
34
|
define: {
|
|
35
35
|
global: 'window',
|
|
36
36
|
},
|
|
@@ -38,12 +38,14 @@ export default defineConfig({
|
|
|
38
38
|
extensions,
|
|
39
39
|
alias: {
|
|
40
40
|
'react-native': 'react-native-web',
|
|
41
|
+
'react-native-svg': 'react-native-svg-web',
|
|
42
|
+
'@react-native/assets-registry/registry': 'react-native-web/dist/modules/AssetRegistry/index',
|
|
41
43
|
},
|
|
42
44
|
},
|
|
43
45
|
build: {
|
|
44
46
|
reportCompressedSize: true,
|
|
45
47
|
commonjsOptions: { transformMixedEsModules: true },
|
|
46
|
-
outDir: '
|
|
48
|
+
outDir: '<%= offsetFromRoot %>dist/<%= projectRoot %>/web',
|
|
47
49
|
rollupOptions: {
|
|
48
50
|
plugins: [rollupPlugin([/react-native-vector-icons/])],
|
|
49
51
|
},
|
|
@@ -6,6 +6,8 @@ module.exports = {
|
|
|
6
6
|
resolve: {
|
|
7
7
|
alias: {
|
|
8
8
|
'react-native$': 'react-native-web',
|
|
9
|
+
'react-native-svg': 'react-native-svg-web',
|
|
10
|
+
'@react-native/assets-registry/registry': 'react-native-web/dist/modules/AssetRegistry/index',
|
|
9
11
|
},
|
|
10
12
|
extensions: ['.web.tsx', '.web.ts', '.web.jsx', '.web.js']
|
|
11
13
|
},
|
|
@@ -51,6 +53,8 @@ module.exports = composePlugins(
|
|
|
51
53
|
config.resolve.alias = {
|
|
52
54
|
...config.resolve.alias ?? {},
|
|
53
55
|
'react-native$': 'react-native-web',
|
|
56
|
+
'react-native-svg': 'react-native-svg-web',
|
|
57
|
+
'@react-native/assets-registry/registry': 'react-native-web/dist/modules/AssetRegistry/index',
|
|
54
58
|
};
|
|
55
59
|
config.resolve.extensions = [
|
|
56
60
|
'.web.tsx',
|
|
@@ -21,6 +21,7 @@ async function webConfigurationGenerator(tree, options) {
|
|
|
21
21
|
if (!options.skipPackageJson) {
|
|
22
22
|
const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {}, {
|
|
23
23
|
'react-native-web': versions_1.reactNativeWebVersion,
|
|
24
|
+
'react-native-svg-web': versions_1.reacttNativeSvgWebVersion,
|
|
24
25
|
});
|
|
25
26
|
tasks.push(installTask);
|
|
26
27
|
}
|
package/src/utils/add-linting.js
CHANGED
|
@@ -17,6 +17,7 @@ async function addLinting(host, options) {
|
|
|
17
17
|
tsConfigPaths: options.tsConfigPaths,
|
|
18
18
|
skipFormat: true,
|
|
19
19
|
skipPackageJson: options.skipPackageJson,
|
|
20
|
+
setParserOptionsProject: options.setParserOptionsProject,
|
|
20
21
|
addPlugin: options.addPlugin,
|
|
21
22
|
});
|
|
22
23
|
tasks.push(lintTask);
|
|
@@ -43,7 +44,7 @@ async function addLinting(host, options) {
|
|
|
43
44
|
]);
|
|
44
45
|
}
|
|
45
46
|
if (!options.skipPackageJson) {
|
|
46
|
-
const installTask =
|
|
47
|
+
const installTask = (0, devkit_1.addDependenciesToPackageJson)(host, lint_1.extraEslintDependencies.dependencies, lint_1.extraEslintDependencies.devDependencies);
|
|
47
48
|
tasks.push(installTask);
|
|
48
49
|
}
|
|
49
50
|
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
@@ -13,7 +13,9 @@ function ensureDependencies(tree) {
|
|
|
13
13
|
'@react-native/metro-config': versions_2.reactNativeMetroConfigVersion,
|
|
14
14
|
'@testing-library/react-native': versions_2.testingLibraryReactNativeVersion,
|
|
15
15
|
'@testing-library/jest-native': versions_2.testingLibraryJestNativeVersion,
|
|
16
|
+
'@react-native-community/cli': versions_2.reactNativeCommunityCliVersion,
|
|
16
17
|
'@react-native-community/cli-platform-android': versions_2.reactNativeCommunityCliPlatformAndroidVersion,
|
|
18
|
+
'@react-native-community/cli-platform-ios': versions_2.reactNativeCommunityCliPlatformIosVersion,
|
|
17
19
|
'jest-react-native': versions_2.jestReactNativeVersion,
|
|
18
20
|
'react-test-renderer': versions_2.reactTestRendererVersion,
|
|
19
21
|
'react-native-svg-transformer': versions_2.reactNativeSvgTransformerVersion,
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
export declare const nxVersion: any;
|
|
2
|
-
export declare const reactNativeVersion = "0.
|
|
2
|
+
export declare const reactNativeVersion = "~0.76.3";
|
|
3
3
|
export declare const typesNodeVersion = "18.16.9";
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const
|
|
4
|
+
export declare const reactNativeCommunityCliVersion = "~15.0.1";
|
|
5
|
+
export declare const reactNativeCommunityCliPlatformAndroidVersion = "~15.0.1";
|
|
6
|
+
export declare const reactNativeCommunityCliPlatformIosVersion = "~15.0.1";
|
|
7
|
+
export declare const reactNativeBabelPresetVersion = "~0.76.3";
|
|
8
|
+
export declare const reactNativeMetroConfigVersion = "~0.76.3";
|
|
9
|
+
export declare const reactNativeWebVersion = "~0.19.13";
|
|
10
|
+
export declare const reactVersion = "~18.3.1";
|
|
11
|
+
export declare const reactDomVersion = "~18.3.1";
|
|
12
|
+
export declare const reactTestRendererVersion = "~18.3.1";
|
|
13
|
+
export declare const typesReactVersion = "~18.3.12";
|
|
14
|
+
export declare const typesReactDomVersion = "~18.3.1";
|
|
15
|
+
export declare const testingLibraryReactNativeVersion = "~12.9.0";
|
|
14
16
|
export declare const testingLibraryJestNativeVersion = "~5.4.3";
|
|
15
17
|
export declare const jestReactNativeVersion = "18.0.0";
|
|
16
|
-
export declare const reactNativeSvgTransformerVersion = "1.
|
|
17
|
-
export declare const reactNativeSvgVersion = "15.
|
|
18
|
-
export declare const
|
|
18
|
+
export declare const reactNativeSvgTransformerVersion = "~1.5.0";
|
|
19
|
+
export declare const reactNativeSvgVersion = "~15.8.0";
|
|
20
|
+
export declare const reacttNativeSvgWebVersion = "~1.0.9";
|
|
21
|
+
export declare const babelRuntimeVersion = "~7.26.0";
|
package/src/utils/versions.js
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.babelRuntimeVersion = exports.reactNativeSvgVersion = exports.reactNativeSvgTransformerVersion = exports.jestReactNativeVersion = exports.testingLibraryJestNativeVersion = exports.testingLibraryReactNativeVersion = exports.typesReactDomVersion = exports.typesReactVersion = exports.reactTestRendererVersion = exports.reactDomVersion = exports.reactVersion = exports.reactNativeWebVersion = exports.reactNativeMetroConfigVersion = exports.reactNativeBabelPresetVersion = exports.reactNativeCommunityCliPlatformAndroidVersion = exports.typesNodeVersion = exports.reactNativeVersion = exports.nxVersion = void 0;
|
|
3
|
+
exports.babelRuntimeVersion = exports.reacttNativeSvgWebVersion = exports.reactNativeSvgVersion = exports.reactNativeSvgTransformerVersion = exports.jestReactNativeVersion = exports.testingLibraryJestNativeVersion = exports.testingLibraryReactNativeVersion = exports.typesReactDomVersion = exports.typesReactVersion = exports.reactTestRendererVersion = exports.reactDomVersion = exports.reactVersion = exports.reactNativeWebVersion = exports.reactNativeMetroConfigVersion = exports.reactNativeBabelPresetVersion = exports.reactNativeCommunityCliPlatformIosVersion = exports.reactNativeCommunityCliPlatformAndroidVersion = exports.reactNativeCommunityCliVersion = exports.typesNodeVersion = exports.reactNativeVersion = exports.nxVersion = void 0;
|
|
4
4
|
exports.nxVersion = require('../../package.json').version;
|
|
5
|
-
exports.reactNativeVersion = '0.
|
|
5
|
+
exports.reactNativeVersion = '~0.76.3';
|
|
6
6
|
exports.typesNodeVersion = '18.16.9';
|
|
7
|
-
exports.
|
|
8
|
-
exports.
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
12
|
-
exports.
|
|
13
|
-
exports.
|
|
14
|
-
exports.
|
|
15
|
-
exports.
|
|
16
|
-
exports.
|
|
7
|
+
exports.reactNativeCommunityCliVersion = '~15.0.1';
|
|
8
|
+
exports.reactNativeCommunityCliPlatformAndroidVersion = '~15.0.1';
|
|
9
|
+
exports.reactNativeCommunityCliPlatformIosVersion = '~15.0.1';
|
|
10
|
+
exports.reactNativeBabelPresetVersion = '~0.76.3';
|
|
11
|
+
exports.reactNativeMetroConfigVersion = '~0.76.3';
|
|
12
|
+
exports.reactNativeWebVersion = '~0.19.13';
|
|
13
|
+
exports.reactVersion = '~18.3.1';
|
|
14
|
+
exports.reactDomVersion = '~18.3.1';
|
|
15
|
+
exports.reactTestRendererVersion = '~18.3.1';
|
|
16
|
+
exports.typesReactVersion = '~18.3.12';
|
|
17
|
+
exports.typesReactDomVersion = '~18.3.1';
|
|
18
|
+
exports.testingLibraryReactNativeVersion = '~12.9.0';
|
|
17
19
|
exports.testingLibraryJestNativeVersion = '~5.4.3';
|
|
18
20
|
exports.jestReactNativeVersion = '18.0.0';
|
|
19
|
-
exports.reactNativeSvgTransformerVersion = '1.
|
|
20
|
-
exports.reactNativeSvgVersion = '15.
|
|
21
|
-
exports.
|
|
21
|
+
exports.reactNativeSvgTransformerVersion = '~1.5.0';
|
|
22
|
+
exports.reactNativeSvgVersion = '~15.8.0';
|
|
23
|
+
exports.reacttNativeSvgWebVersion = '~1.0.9';
|
|
24
|
+
exports.babelRuntimeVersion = '~7.26.0';
|