create-react-native-library 0.35.1 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -34,8 +34,8 @@ async function generateExampleApp({
|
|
|
34
34
|
const args = type === 'native' ?
|
|
35
35
|
// `npx react-native init <projectName> --directory example --skip-install`
|
|
36
36
|
['react-native@latest', 'init', `${projectName}Example`, '--directory', directory, '--version', reactNativeVersion, '--skip-install', '--npm'] :
|
|
37
|
-
// `npx create-expo-app example --no-install`
|
|
38
|
-
['create-expo-app@latest', directory, '--no-install'];
|
|
37
|
+
// `npx create-expo-app example --no-install --template blank`
|
|
38
|
+
['create-expo-app@latest', directory, '--no-install', '--template', 'blank'];
|
|
39
39
|
await (0, _spawn.spawn)('npx', args, {
|
|
40
40
|
cwd: dest,
|
|
41
41
|
env: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateExampleApp.js","names":["_fsExtra","_interopRequireDefault","require","_path","_https","_spawn","obj","__esModule","default","FILES_TO_DELETE","PACKAGES_TO_REMOVE","PACKAGES_TO_ADD_DEV","PACKAGES_TO_ADD_WEB","PACKAGES_TO_ADD_WEB_DEV","generateExampleApp","type","dest","slug","projectName","arch","reactNativeVersion","directory","path","join","args","spawn","cwd","env","process","npm_config_yes","file","fs","remove","pkg","JSON","parse","readFile","name","jest","scripts","dependencies","devDependencies","test","lint","SCRIPTS_TO_ADD","Object","assign","forEach","sdkVersion","expo","split","replace","bundledNativeModules","Promise","resolve","reject","https","get","res","data","on","chunk","e","entries","version","web","writeJSON","spaces","gradleProperties","writeFile","podfile"],"sources":["../../src/utils/generateExampleApp.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport https from 'https';\nimport { spawn } from './spawn';\n\nconst FILES_TO_DELETE = [\n '__tests__',\n '.buckconfig',\n '.eslintrc.js',\n '.flowconfig',\n '.git',\n '.gitignore',\n '.prettierrc.js',\n 'App.js',\n 'App.tsx',\n 'index.js',\n 'tsconfig.json',\n];\n\nconst PACKAGES_TO_REMOVE = [\n '@react-native/eslint-config',\n '@tsconfig/react-native',\n '@types/jest',\n '@types/react',\n '@types/react-test-renderer',\n '@typescript-eslint/eslint-plugin',\n '@typescript-eslint/parser',\n 'babel-jest',\n 'eslint',\n 'jest',\n 'prettier',\n 'react-test-renderer',\n 'typescript',\n];\n\nconst PACKAGES_TO_ADD_DEV = {\n 'babel-plugin-module-resolver': '^5.0.0',\n};\n\nconst PACKAGES_TO_ADD_WEB = {\n 'react-dom': '18.2.0',\n 'react-native-web': '~0.18.10',\n};\n\nconst PACKAGES_TO_ADD_WEB_DEV = {\n '@expo/webpack-config': '^18.0.1',\n 'babel-loader': '^8.1.0',\n};\n\nexport default async function generateExampleApp({\n type,\n dest,\n slug,\n projectName,\n arch,\n reactNativeVersion = 'latest',\n}: {\n type: 'expo' | 'native';\n dest: string;\n slug: string;\n projectName: string;\n arch: 'new' | 'mixed' | 'legacy';\n reactNativeVersion?: string;\n}) {\n const directory = path.join(dest, 'example');\n const args =\n type === 'native'\n ? // `npx react-native init <projectName> --directory example --skip-install`\n [\n 'react-native@latest',\n 'init',\n `${projectName}Example`,\n '--directory',\n directory,\n '--version',\n reactNativeVersion,\n '--skip-install',\n '--npm',\n ]\n : // `npx create-expo-app example --no-install`\n ['create-expo-app@latest', directory, '--no-install'];\n\n await spawn('npx', args, {\n cwd: dest,\n env: { ...process.env, npm_config_yes: 'true' },\n });\n\n // Remove unnecessary files and folders\n for (const file of FILES_TO_DELETE) {\n await fs.remove(path.join(directory, file));\n }\n\n // Patch the example app's package.json\n const pkg = JSON.parse(\n await fs.readFile(path.join(directory, 'package.json'), 'utf8')\n );\n\n pkg.name = `${slug}-example`;\n\n // Remove Jest config for now\n delete pkg.jest;\n\n const { scripts, dependencies, devDependencies } = pkg;\n\n delete scripts.test;\n delete scripts.lint;\n\n const SCRIPTS_TO_ADD = {\n 'build:android':\n 'cd android && ./gradlew assembleDebug --no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a',\n 'build:ios': `cd ios && xcodebuild -workspace ${projectName}Example.xcworkspace -scheme ${projectName}Example -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO`,\n };\n\n if (type === 'native') {\n Object.assign(scripts, SCRIPTS_TO_ADD);\n }\n\n PACKAGES_TO_REMOVE.forEach((name) => {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete devDependencies[name];\n });\n\n Object.assign(devDependencies, PACKAGES_TO_ADD_DEV);\n\n if (type === 'expo') {\n const sdkVersion = dependencies.expo.split('.')[0].replace(/[^\\d]/, '');\n\n let bundledNativeModules: Record<string, string>;\n\n try {\n bundledNativeModules = await new Promise((resolve, reject) => {\n https\n .get(\n `https://raw.githubusercontent.com/expo/expo/sdk-${sdkVersion}/packages/expo/bundledNativeModules.json`,\n (res) => {\n let data = '';\n\n res.on('data', (chunk) => (data += chunk));\n res.on('end', () => {\n try {\n resolve(JSON.parse(data));\n } catch (e) {\n reject(e);\n }\n });\n }\n )\n .on('error', reject);\n });\n } catch (e) {\n bundledNativeModules = {};\n }\n\n Object.entries(PACKAGES_TO_ADD_WEB).forEach(([name, version]) => {\n dependencies[name] = bundledNativeModules[name] || version;\n });\n\n Object.entries(PACKAGES_TO_ADD_WEB_DEV).forEach(([name, version]) => {\n devDependencies[name] = bundledNativeModules[name] || version;\n });\n\n scripts.web = 'expo start --web';\n }\n\n await fs.writeJSON(path.join(directory, 'package.json'), pkg, {\n spaces: 2,\n });\n\n // If the library is on new architecture, enable new arch for iOS and Android\n if (arch === 'new') {\n // Android\n // Change newArchEnabled=false to newArchEnabled=true in example/android/gradle.properties\n const gradleProperties = await fs.readFile(\n path.join(directory, 'android', 'gradle.properties'),\n 'utf8'\n );\n\n await fs.writeFile(\n path.join(directory, 'android', 'gradle.properties'),\n gradleProperties.replace('newArchEnabled=false', 'newArchEnabled=true')\n );\n\n // iOS\n // Add ENV['RCT_NEW_ARCH_ENABLED'] = 1 on top of example/ios/Podfile\n const podfile = await fs.readFile(\n path.join(directory, 'ios', 'Podfile'),\n 'utf8'\n );\n\n await fs.writeFile(\n path.join(directory, 'ios', 'Podfile'),\n \"ENV['RCT_NEW_ARCH_ENABLED'] = '1'\\n\\n\" + podfile\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generateExampleApp.js","names":["_fsExtra","_interopRequireDefault","require","_path","_https","_spawn","obj","__esModule","default","FILES_TO_DELETE","PACKAGES_TO_REMOVE","PACKAGES_TO_ADD_DEV","PACKAGES_TO_ADD_WEB","PACKAGES_TO_ADD_WEB_DEV","generateExampleApp","type","dest","slug","projectName","arch","reactNativeVersion","directory","path","join","args","spawn","cwd","env","process","npm_config_yes","file","fs","remove","pkg","JSON","parse","readFile","name","jest","scripts","dependencies","devDependencies","test","lint","SCRIPTS_TO_ADD","Object","assign","forEach","sdkVersion","expo","split","replace","bundledNativeModules","Promise","resolve","reject","https","get","res","data","on","chunk","e","entries","version","web","writeJSON","spaces","gradleProperties","writeFile","podfile"],"sources":["../../src/utils/generateExampleApp.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport https from 'https';\nimport { spawn } from './spawn';\n\nconst FILES_TO_DELETE = [\n '__tests__',\n '.buckconfig',\n '.eslintrc.js',\n '.flowconfig',\n '.git',\n '.gitignore',\n '.prettierrc.js',\n 'App.js',\n 'App.tsx',\n 'index.js',\n 'tsconfig.json',\n];\n\nconst PACKAGES_TO_REMOVE = [\n '@react-native/eslint-config',\n '@tsconfig/react-native',\n '@types/jest',\n '@types/react',\n '@types/react-test-renderer',\n '@typescript-eslint/eslint-plugin',\n '@typescript-eslint/parser',\n 'babel-jest',\n 'eslint',\n 'jest',\n 'prettier',\n 'react-test-renderer',\n 'typescript',\n];\n\nconst PACKAGES_TO_ADD_DEV = {\n 'babel-plugin-module-resolver': '^5.0.0',\n};\n\nconst PACKAGES_TO_ADD_WEB = {\n 'react-dom': '18.2.0',\n 'react-native-web': '~0.18.10',\n};\n\nconst PACKAGES_TO_ADD_WEB_DEV = {\n '@expo/webpack-config': '^18.0.1',\n 'babel-loader': '^8.1.0',\n};\n\nexport default async function generateExampleApp({\n type,\n dest,\n slug,\n projectName,\n arch,\n reactNativeVersion = 'latest',\n}: {\n type: 'expo' | 'native';\n dest: string;\n slug: string;\n projectName: string;\n arch: 'new' | 'mixed' | 'legacy';\n reactNativeVersion?: string;\n}) {\n const directory = path.join(dest, 'example');\n const args =\n type === 'native'\n ? // `npx react-native init <projectName> --directory example --skip-install`\n [\n 'react-native@latest',\n 'init',\n `${projectName}Example`,\n '--directory',\n directory,\n '--version',\n reactNativeVersion,\n '--skip-install',\n '--npm',\n ]\n : // `npx create-expo-app example --no-install --template blank`\n [\n 'create-expo-app@latest',\n directory,\n '--no-install',\n '--template',\n 'blank',\n ];\n\n await spawn('npx', args, {\n cwd: dest,\n env: { ...process.env, npm_config_yes: 'true' },\n });\n\n // Remove unnecessary files and folders\n for (const file of FILES_TO_DELETE) {\n await fs.remove(path.join(directory, file));\n }\n\n // Patch the example app's package.json\n const pkg = JSON.parse(\n await fs.readFile(path.join(directory, 'package.json'), 'utf8')\n );\n\n pkg.name = `${slug}-example`;\n\n // Remove Jest config for now\n delete pkg.jest;\n\n const { scripts, dependencies, devDependencies } = pkg;\n\n delete scripts.test;\n delete scripts.lint;\n\n const SCRIPTS_TO_ADD = {\n 'build:android':\n 'cd android && ./gradlew assembleDebug --no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a',\n 'build:ios': `cd ios && xcodebuild -workspace ${projectName}Example.xcworkspace -scheme ${projectName}Example -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO`,\n };\n\n if (type === 'native') {\n Object.assign(scripts, SCRIPTS_TO_ADD);\n }\n\n PACKAGES_TO_REMOVE.forEach((name) => {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete devDependencies[name];\n });\n\n Object.assign(devDependencies, PACKAGES_TO_ADD_DEV);\n\n if (type === 'expo') {\n const sdkVersion = dependencies.expo.split('.')[0].replace(/[^\\d]/, '');\n\n let bundledNativeModules: Record<string, string>;\n\n try {\n bundledNativeModules = await new Promise((resolve, reject) => {\n https\n .get(\n `https://raw.githubusercontent.com/expo/expo/sdk-${sdkVersion}/packages/expo/bundledNativeModules.json`,\n (res) => {\n let data = '';\n\n res.on('data', (chunk) => (data += chunk));\n res.on('end', () => {\n try {\n resolve(JSON.parse(data));\n } catch (e) {\n reject(e);\n }\n });\n }\n )\n .on('error', reject);\n });\n } catch (e) {\n bundledNativeModules = {};\n }\n\n Object.entries(PACKAGES_TO_ADD_WEB).forEach(([name, version]) => {\n dependencies[name] = bundledNativeModules[name] || version;\n });\n\n Object.entries(PACKAGES_TO_ADD_WEB_DEV).forEach(([name, version]) => {\n devDependencies[name] = bundledNativeModules[name] || version;\n });\n\n scripts.web = 'expo start --web';\n }\n\n await fs.writeJSON(path.join(directory, 'package.json'), pkg, {\n spaces: 2,\n });\n\n // If the library is on new architecture, enable new arch for iOS and Android\n if (arch === 'new') {\n // Android\n // Change newArchEnabled=false to newArchEnabled=true in example/android/gradle.properties\n const gradleProperties = await fs.readFile(\n path.join(directory, 'android', 'gradle.properties'),\n 'utf8'\n );\n\n await fs.writeFile(\n path.join(directory, 'android', 'gradle.properties'),\n gradleProperties.replace('newArchEnabled=false', 'newArchEnabled=true')\n );\n\n // iOS\n // Add ENV['RCT_NEW_ARCH_ENABLED'] = 1 on top of example/ios/Podfile\n const podfile = await fs.readFile(\n path.join(directory, 'ios', 'Podfile'),\n 'utf8'\n );\n\n await fs.writeFile(\n path.join(directory, 'ios', 'Podfile'),\n \"ENV['RCT_NEW_ARCH_ENABLED'] = '1'\\n\\n\" + podfile\n );\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-react-native-library",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.36.0",
|
|
4
4
|
"description": "CLI to scaffold React Native libraries",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"@types/validate-npm-package-name": "^3.0.3",
|
|
66
66
|
"@types/yargs": "^17.0.10"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "4646e08f940ab57f1d337a1bfaa355077caa978e"
|
|
69
69
|
}
|
|
@@ -18,6 +18,11 @@ buildscript {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
def reactNativeArchitectures() {
|
|
22
|
+
def value = rootProject.getProperties().get("reactNativeArchitectures")
|
|
23
|
+
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
|
|
24
|
+
}
|
|
25
|
+
|
|
21
26
|
def isNewArchitectureEnabled() {
|
|
22
27
|
return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
|
|
23
28
|
}
|
|
@@ -75,6 +80,7 @@ android {
|
|
|
75
80
|
externalNativeBuild {
|
|
76
81
|
cmake {
|
|
77
82
|
cppFlags "-O2 -frtti -fexceptions -Wall -fstack-protector-all"
|
|
83
|
+
abiFilters (*reactNativeArchitectures())
|
|
78
84
|
}
|
|
79
85
|
}
|
|
80
86
|
<% } -%>
|
|
@@ -27,24 +27,24 @@ Pod::Spec.new do |s|
|
|
|
27
27
|
if respond_to?(:install_modules_dependencies, true)
|
|
28
28
|
install_modules_dependencies(s)
|
|
29
29
|
else
|
|
30
|
-
|
|
30
|
+
s.dependency "React-Core"
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
33
|
+
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
|
34
|
+
s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
|
|
35
|
+
s.pod_target_xcconfig = {
|
|
36
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
|
|
37
|
+
"OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
|
|
38
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
|
|
39
|
+
}
|
|
40
40
|
<% if (project.view) { -%>
|
|
41
|
-
|
|
41
|
+
s.dependency "React-RCTFabric"
|
|
42
42
|
<% } -%>
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
end
|
|
43
|
+
s.dependency "React-Codegen"
|
|
44
|
+
s.dependency "RCT-Folly"
|
|
45
|
+
s.dependency "RCTRequired"
|
|
46
|
+
s.dependency "RCTTypeSafety"
|
|
47
|
+
s.dependency "ReactCommon/turbomodule/core"
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
50
|
end
|