create-react-native-library 0.30.1 → 0.31.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.
@@ -21,11 +21,11 @@ const PACKAGES_TO_ADD_DEV = {
21
21
  'babel-plugin-module-resolver': '^5.0.0'
22
22
  };
23
23
  const PACKAGES_TO_ADD_WEB = {
24
- 'react-dom': '18.1.0',
25
- 'react-native-web': '~0.18.9'
24
+ 'react-dom': '18.2.0',
25
+ 'react-native-web': '~0.18.10'
26
26
  };
27
27
  const PACKAGES_TO_ADD_WEB_DEV = {
28
- '@expo/webpack-config': '^0.17.2',
28
+ '@expo/webpack-config': '^18.0.1',
29
29
  'babel-loader': '^8.1.0'
30
30
  };
31
31
 
@@ -1 +1 @@
1
- {"version":3,"file":"generateExampleApp.js","names":["FILES_TO_DELETE","PACKAGES_TO_REMOVE","PACKAGES_TO_ADD_DEV","PACKAGES_TO_ADD_WEB","PACKAGES_TO_ADD_WEB_DEV","generateExampleApp","type","dest","projectName","arch","reactNativeVersion","directory","path","join","args","Promise","resolve","reject","child","spawn","cwd","env","process","npm_config_yes","stderr","setEncoding","on","data","once","code","Error","file","fs","remove","pkg","JSON","parse","readFile","jest","scripts","dependencies","devDependencies","test","lint","pods","forEach","name","Object","assign","sdkVersion","expo","split","replace","bundledNativeModules","https","get","res","chunk","e","entries","version","web","writeFile","stringify","gradleProperties","podfile"],"sources":["../../src/utils/generateExampleApp.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport spawn from 'cross-spawn';\nimport path from 'path';\nimport https from 'https';\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-community/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.1.0',\n 'react-native-web': '~0.18.9',\n};\n\nconst PACKAGES_TO_ADD_WEB_DEV = {\n '@expo/webpack-config': '^0.17.2',\n 'babel-loader': '^8.1.0',\n};\n\nexport default async function generateExampleApp({\n type,\n dest,\n projectName,\n arch,\n reactNativeVersion = 'latest',\n}: {\n type: 'expo' | 'native';\n dest: 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 new Promise((resolve, reject) => {\n const child = spawn('npx', args, {\n cwd: dest,\n env: { ...process.env, npm_config_yes: 'true' },\n });\n\n let stderr = '';\n\n child.stderr?.setEncoding('utf8');\n child.stderr?.on('data', (data) => {\n stderr += data;\n });\n\n child.once('error', reject);\n child.once('close', resolve);\n child.once('exit', (code) => {\n if (code === 1) {\n reject(new Error(stderr));\n }\n });\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 // 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 if (type === 'native') {\n scripts.pods = 'pod-install --quiet';\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.writeFile(\n path.join(directory, 'package.json'),\n JSON.stringify(pkg, null, 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":["FILES_TO_DELETE","PACKAGES_TO_REMOVE","PACKAGES_TO_ADD_DEV","PACKAGES_TO_ADD_WEB","PACKAGES_TO_ADD_WEB_DEV","generateExampleApp","type","dest","projectName","arch","reactNativeVersion","directory","path","join","args","Promise","resolve","reject","child","spawn","cwd","env","process","npm_config_yes","stderr","setEncoding","on","data","once","code","Error","file","fs","remove","pkg","JSON","parse","readFile","jest","scripts","dependencies","devDependencies","test","lint","pods","forEach","name","Object","assign","sdkVersion","expo","split","replace","bundledNativeModules","https","get","res","chunk","e","entries","version","web","writeFile","stringify","gradleProperties","podfile"],"sources":["../../src/utils/generateExampleApp.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport spawn from 'cross-spawn';\nimport path from 'path';\nimport https from 'https';\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-community/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 projectName,\n arch,\n reactNativeVersion = 'latest',\n}: {\n type: 'expo' | 'native';\n dest: 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 new Promise((resolve, reject) => {\n const child = spawn('npx', args, {\n cwd: dest,\n env: { ...process.env, npm_config_yes: 'true' },\n });\n\n let stderr = '';\n\n child.stderr?.setEncoding('utf8');\n child.stderr?.on('data', (data) => {\n stderr += data;\n });\n\n child.once('error', reject);\n child.once('close', resolve);\n child.once('exit', (code) => {\n if (code === 1) {\n reject(new Error(stderr));\n }\n });\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 // 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 if (type === 'native') {\n scripts.pods = 'pod-install --quiet';\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.writeFile(\n path.join(directory, 'package.json'),\n JSON.stringify(pkg, null, 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.30.1",
3
+ "version": "0.31.0",
4
4
  "description": "CLI to scaffold React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -70,5 +70,5 @@
70
70
  "@types/validate-npm-package-name": "^3.0.3",
71
71
  "@types/yargs": "^17.0.10"
72
72
  },
73
- "gitHead": "2fe844a037e535f590c6542b7aceb0e261d877b1"
73
+ "gitHead": "1902e5f7a295282023bb60d05cdf10fa66de50a5"
74
74
  }
@@ -1 +1 @@
1
- 16.18.1
1
+ v18
@@ -64,14 +64,28 @@ def getExtOrIntegerDefault(name) {
64
64
  return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["<%- project.name -%>_" + name]).toInteger()
65
65
  }
66
66
 
67
- def isAGPVersionGreaterThan(version) {
68
- def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger()
69
- return agpVersion > version
67
+ def supportsNamespace() {
68
+ def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
69
+ def major = parsed[0].toInteger()
70
+ def minor = parsed[1].toInteger()
71
+
72
+ // Namespace support was added in 7.3.0
73
+ if (major == 7 && minor >= 3) {
74
+ return true
75
+ }
76
+
77
+ return major >= 8
70
78
  }
71
79
 
72
80
  android {
73
- if (isAGPVersionGreaterThan(7)) {
81
+ if (supportsNamespace()) {
74
82
  namespace "com.<%- project.package -%>"
83
+ } else {
84
+ sourceSets {
85
+ main {
86
+ manifest.srcFile "src/main/AndroidManifestDeprecated.xml"
87
+ }
88
+ }
75
89
  }
76
90
 
77
91
  <% if (project.cpp || (project.view && (project.arch === "new" || project.arch === "mixed"))) { -%>
@@ -1,4 +1,2 @@
1
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
- package="com.<%- project.package -%>">
3
-
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
4
2
  </manifest>
@@ -0,0 +1,3 @@
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
+ package="com.<%- project.package -%>">
3
+ </manifest>
@@ -7,10 +7,10 @@ RCT_EXPORT_MODULE()
7
7
  <% if (project.arch === 'legacy' || project.arch === 'mixed') { -%>
8
8
  // Example method
9
9
  // See // https://reactnative.dev/docs/native-modules-ios
10
- RCT_REMAP_METHOD(multiply,
11
- multiplyWithA:(double)a withB:(double)b
12
- withResolver:(RCTPromiseResolveBlock)resolve
13
- withRejecter:(RCTPromiseRejectBlock)reject)
10
+ RCT_EXPORT_METHOD(multiply:(double)a
11
+ b:(double)b
12
+ resolve:(RCTPromiseResolveBlock)resolve
13
+ reject:(RCTPromiseRejectBlock)reject)
14
14
  {
15
15
  <% if (project.cpp) { -%>
16
16
  NSNumber *result = @(<%- project.package_cpp -%>::multiply(a, b));
@@ -20,29 +20,23 @@ RCT_REMAP_METHOD(multiply,
20
20
 
21
21
  resolve(result);
22
22
  }
23
- <% } -%>
24
23
 
24
+ <% } -%>
25
25
  <% if (project.arch === 'new' || project.arch === 'mixed') { -%>
26
26
  // Don't compile this code when we build for the old architecture.
27
27
  #ifdef RCT_NEW_ARCH_ENABLED
28
28
  <% if (project.arch === 'new') { -%>
29
29
  - (NSNumber *)multiply:(double)a b:(double)b {
30
- <% } else { -%>
31
- - (void)multiply:(double)a b:(double)b resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
32
- <% } -%>
33
30
  <% if (project.cpp) { -%>
34
31
  NSNumber *result = @(<%- project.package_cpp -%>::multiply(a, b));
35
32
  <% } else { -%>
36
33
  NSNumber *result = @(a * b);
37
34
  <% } -%>
38
35
 
39
- <% if (project.arch === 'new') { -%>
40
36
  return result;
41
- <% } else { -%>
42
- resolve(result);
43
- <% } -%>
44
37
  }
45
38
 
39
+ <% } -%>
46
40
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
47
41
  (const facebook::react::ObjCTurboModule::InitParams &)params
48
42
  {