react-native-config-ultimate 0.1.0 → 0.2.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.
Files changed (112) hide show
  1. package/README.md +476 -121
  2. package/android/build.gradle +1 -1
  3. package/android/rncu.gradle +19 -15
  4. package/android/src/main/java/com/reactnativeultimateconfig/UltimateConfigHelper.java +87 -0
  5. package/android/src/main/java/com/reactnativeultimateconfig/UltimateConfigPackage.java +1 -1
  6. package/android/src/newarch/java/com/reactnativeultimateconfig/UltimateConfigModule.java +3 -50
  7. package/android/src/oldarch/java/com/reactnativeultimateconfig/UltimateConfigModule.java +3 -54
  8. package/ios/UltimateConfig.mm +2 -1
  9. package/lib/commonjs/cli.js +11 -2
  10. package/lib/commonjs/cli.js.map +1 -1
  11. package/lib/commonjs/flatten.js +6 -1
  12. package/lib/commonjs/flatten.js.map +1 -1
  13. package/lib/commonjs/load-env.js +14 -0
  14. package/lib/commonjs/load-env.js.map +1 -1
  15. package/lib/commonjs/main.js +5 -1
  16. package/lib/commonjs/main.js.map +1 -1
  17. package/lib/commonjs/render-env.js +1 -1
  18. package/lib/commonjs/render-env.js.map +1 -1
  19. package/lib/commonjs/resolve-env.js +5 -1
  20. package/lib/commonjs/resolve-env.js.map +1 -1
  21. package/lib/commonjs/templates/override.js.handlebars +1 -10
  22. package/lib/commonjs/validate-env.js +20 -7
  23. package/lib/commonjs/validate-env.js.map +1 -1
  24. package/lib/module/cli.js +11 -2
  25. package/lib/module/cli.js.map +1 -1
  26. package/lib/module/flatten.js +6 -1
  27. package/lib/module/flatten.js.map +1 -1
  28. package/lib/module/load-env.js +14 -0
  29. package/lib/module/load-env.js.map +1 -1
  30. package/lib/module/main.js +6 -2
  31. package/lib/module/main.js.map +1 -1
  32. package/lib/module/render-env.js +1 -1
  33. package/lib/module/render-env.js.map +1 -1
  34. package/lib/module/resolve-env.js +5 -1
  35. package/lib/module/resolve-env.js.map +1 -1
  36. package/lib/module/templates/override.js.handlebars +1 -10
  37. package/lib/module/validate-env.js +19 -7
  38. package/lib/module/validate-env.js.map +1 -1
  39. package/lib/typescript/src/cli.d.ts.map +1 -1
  40. package/lib/typescript/src/flatten.d.ts.map +1 -1
  41. package/lib/typescript/src/load-env.d.ts.map +1 -1
  42. package/lib/typescript/src/main.d.ts +1 -1
  43. package/lib/typescript/src/main.d.ts.map +1 -1
  44. package/lib/typescript/src/render-env.d.ts.map +1 -1
  45. package/lib/typescript/src/resolve-env.d.ts +8 -1
  46. package/lib/typescript/src/resolve-env.d.ts.map +1 -1
  47. package/lib/typescript/src/validate-env.d.ts +8 -0
  48. package/lib/typescript/src/validate-env.d.ts.map +1 -1
  49. package/package.json +4 -2
  50. package/src/cli.ts +12 -2
  51. package/src/flatten.ts +6 -1
  52. package/src/load-env.ts +18 -0
  53. package/src/main.ts +6 -2
  54. package/src/render-env.ts +4 -1
  55. package/src/resolve-env.ts +16 -2
  56. package/src/templates/override.js.handlebars +1 -10
  57. package/src/validate-env.ts +23 -7
  58. package/android/rnuc.yaml +0 -1
  59. package/lib/commonjs/bin.spec.js +0 -50
  60. package/lib/commonjs/bin.spec.js.map +0 -1
  61. package/lib/commonjs/cli.spec.js +0 -190
  62. package/lib/commonjs/cli.spec.js.map +0 -1
  63. package/lib/commonjs/flatten.spec.js +0 -32
  64. package/lib/commonjs/flatten.spec.js.map +0 -1
  65. package/lib/commonjs/load-env.spec.js +0 -257
  66. package/lib/commonjs/load-env.spec.js.map +0 -1
  67. package/lib/commonjs/main.spec.js +0 -228
  68. package/lib/commonjs/main.spec.js.map +0 -1
  69. package/lib/commonjs/render-env.spec.js +0 -397
  70. package/lib/commonjs/render-env.spec.js.map +0 -1
  71. package/lib/commonjs/resolve-env.spec.js +0 -31
  72. package/lib/commonjs/resolve-env.spec.js.map +0 -1
  73. package/lib/commonjs/validate-env.spec.js +0 -325
  74. package/lib/commonjs/validate-env.spec.js.map +0 -1
  75. package/lib/commonjs/write-env.spec.js +0 -115
  76. package/lib/commonjs/write-env.spec.js.map +0 -1
  77. package/lib/module/bin.spec.js +0 -49
  78. package/lib/module/bin.spec.js.map +0 -1
  79. package/lib/module/cli.spec.js +0 -190
  80. package/lib/module/cli.spec.js.map +0 -1
  81. package/lib/module/flatten.spec.js +0 -31
  82. package/lib/module/flatten.spec.js.map +0 -1
  83. package/lib/module/load-env.spec.js +0 -257
  84. package/lib/module/load-env.spec.js.map +0 -1
  85. package/lib/module/main.spec.js +0 -224
  86. package/lib/module/main.spec.js.map +0 -1
  87. package/lib/module/render-env.spec.js +0 -396
  88. package/lib/module/render-env.spec.js.map +0 -1
  89. package/lib/module/resolve-env.spec.js +0 -30
  90. package/lib/module/resolve-env.spec.js.map +0 -1
  91. package/lib/module/validate-env.spec.js +0 -325
  92. package/lib/module/validate-env.spec.js.map +0 -1
  93. package/lib/module/write-env.spec.js +0 -115
  94. package/lib/module/write-env.spec.js.map +0 -1
  95. package/lib/typescript/src/bin.spec.d.ts +0 -2
  96. package/lib/typescript/src/bin.spec.d.ts.map +0 -1
  97. package/lib/typescript/src/cli.spec.d.ts +0 -14
  98. package/lib/typescript/src/cli.spec.d.ts.map +0 -1
  99. package/lib/typescript/src/flatten.spec.d.ts +0 -2
  100. package/lib/typescript/src/flatten.spec.d.ts.map +0 -1
  101. package/lib/typescript/src/load-env.spec.d.ts +0 -6
  102. package/lib/typescript/src/load-env.spec.d.ts.map +0 -1
  103. package/lib/typescript/src/main.spec.d.ts +0 -2
  104. package/lib/typescript/src/main.spec.d.ts.map +0 -1
  105. package/lib/typescript/src/render-env.spec.d.ts +0 -2
  106. package/lib/typescript/src/render-env.spec.d.ts.map +0 -1
  107. package/lib/typescript/src/resolve-env.spec.d.ts +0 -2
  108. package/lib/typescript/src/resolve-env.spec.d.ts.map +0 -1
  109. package/lib/typescript/src/validate-env.spec.d.ts +0 -2
  110. package/lib/typescript/src/validate-env.spec.d.ts.map +0 -1
  111. package/lib/typescript/src/write-env.spec.d.ts +0 -9
  112. package/lib/typescript/src/write-env.spec.d.ts.map +0 -1
@@ -36,7 +36,9 @@ def readYaml(yamlPath) {
36
36
  " after the last rncu run, which resets the file)."
37
37
  )
38
38
  }
39
- def cfg = new org.yaml.snakeyaml.Yaml().load(yamlFile.newInputStream())
39
+ def cfg = new org.yaml.snakeyaml.Yaml(
40
+ new org.yaml.snakeyaml.constructor.SafeConstructor(new org.yaml.snakeyaml.LoaderOptions())
41
+ ).load(yamlFile.newInputStream())
40
42
  if (
41
43
  cfg instanceof String
42
44
  || cfg instanceof Integer
@@ -55,14 +57,14 @@ def buildRootConfig() {
55
57
  if (flavorMappingExists) {
56
58
  def config = [:]
57
59
  def flavorMapping = project.ext.get('flavorEnvMapping')
58
- println "Flavor mapping detected: ${flavorMapping}"
59
- flavorMapping.each { flavor, yamlPath ->
60
+ logger.info "[rncu] Flavor mapping detected: ${flavorMapping.keySet()}"
61
+ flavorMapping.each { flavor, yamlPath ->
60
62
  def absolutePath = Paths.get(project.rootDir.getAbsolutePath(), yamlPath)
61
63
  config.put(flavor, readYaml(absolutePath))
62
64
  }
63
65
  return config
64
66
  } else {
65
- println "No flavor mapping detected. Reading injected file"
67
+ logger.info "[rncu] No flavor mapping detected. Reading injected file"
66
68
  def cfg = readYaml(Paths.get(buildscript.sourceFile.getParent(), "rncu.yaml"))
67
69
  return cfg
68
70
  }
@@ -90,41 +92,43 @@ def flattenConfig(cfg) {
90
92
  }
91
93
 
92
94
  def rootConfig = buildRootConfig()
93
- println "Root config ${rootConfig}"
95
+ logger.info "[rncu] Config loaded with ${rootConfig instanceof Map ? rootConfig.size() : 'N/A'} keys"
94
96
 
95
97
  def configPerFlavor(flavorName, rootConfig) {
96
98
  def mapping = project.ext.has('flavorEnvMapping')
97
99
  if (mapping && !flavorName.isEmpty()) {
98
- println "mapping exists"
100
+ logger.info "[rncu] Using flavor mapping for '${flavorName}'"
99
101
  def f = rootConfig.get(flavorName)
100
102
  return f
101
103
  } else {
102
- println "mapping does not exist or flavor is not defined"
104
+ logger.info "[rncu] No flavor mapping using root config"
103
105
  return rootConfig
104
106
  }
105
107
  }
106
108
 
107
109
  def escape_double(str) {
108
- return str.replace('"', '\\"')
110
+ return str.replace('\\', '\\\\').replace('"', '\\"')
109
111
  }
110
112
  def escape_single(str) {
111
- return str.replace("'", "\\'")
113
+ return str.replace('\\', '\\\\').replace("'", "\\'")
112
114
  }
113
115
 
114
116
  android {
115
117
  // patch all variants with config values
116
118
  applicationVariants.all { variant ->
117
- println "processing variant ${variant.name}"
118
- def flavorName = variant.flavorName
119
+ logger.info "[rncu] processing variant ${variant.name}"
120
+ def flavorName = variant.flavorName
119
121
 
120
122
  def cfg = flattenConfig(configPerFlavor(flavorName, rootConfig))
121
- println "config per flavor ${flavorName} ${cfg}"
122
123
  def keySet = cfg.keySet().collect()
123
- println "all keys ${keySet}"
124
+ logger.info "[rncu] variant '${variant.name}': ${keySet.size()} keys [${keySet.join(', ')}]"
124
125
  def rncuKeys = java.lang.String.join(",", keySet)
125
- println "all keys as string ${rncuKeys}"
126
126
  variant.buildConfigField "String", "__RNCU_KEYS", "\"${rncuKeys}\""
127
- variant.mergedFlavor.manifestPlaceholders.putAll(cfg)
127
+ // Only inject manifest placeholders if explicitly opted in via project.ext.rncuManifestPlaceholders = true
128
+ // This prevents accidental secret leakage into AndroidManifest.xml (readable in APK/AAB).
129
+ if (project.ext.has('rncuManifestPlaceholders') && project.ext.get('rncuManifestPlaceholders') == true) {
130
+ variant.mergedFlavor.manifestPlaceholders.putAll(cfg)
131
+ }
128
132
 
129
133
  cfg.each { k,v ->
130
134
  if (v instanceof java.lang.String) {
@@ -0,0 +1,87 @@
1
+ package com.reactnativeultimateconfig;
2
+
3
+ import android.util.Log;
4
+
5
+ import androidx.annotation.NonNull;
6
+ import androidx.annotation.Nullable;
7
+
8
+ import java.util.HashMap;
9
+ import java.util.Map;
10
+
11
+ /**
12
+ * Shared helper for reading config values from the app's BuildConfig class.
13
+ * Used by both Old Architecture (Bridge) and New Architecture (TurboModules)
14
+ * implementations to avoid code duplication.
15
+ */
16
+ final class UltimateConfigHelper {
17
+ private static final String TAG = "UltimateConfig";
18
+
19
+ @Nullable
20
+ private static Class<?> _buildConfig;
21
+
22
+ static void setBuildConfig(Class<?> buildConfig) {
23
+ _buildConfig = buildConfig;
24
+ }
25
+
26
+ @Nullable
27
+ static Class<?> getBuildConfig() {
28
+ return _buildConfig;
29
+ }
30
+
31
+ /**
32
+ * Read config values from the app's BuildConfig class.
33
+ * The rncu CLI generates fields in BuildConfig via rncu.yaml → build.gradle.
34
+ */
35
+ @NonNull
36
+ static Map<String, Object> readConfigValues() {
37
+ final Map<String, Object> constants = new HashMap<>();
38
+ try {
39
+ Class<?> act = _buildConfig;
40
+ if (act == null) {
41
+ // The user forgot to wire MainApplication. Without this call we have
42
+ // no way to find the app's generated BuildConfig fields, so the JS
43
+ // side will see an empty Config object. Surface the cause loudly
44
+ // instead of silently returning {} — the symptom is otherwise hard
45
+ // to diagnose (Config.MY_VAR === undefined with no error).
46
+ Log.w(
47
+ TAG,
48
+ "setBuildConfig was never called. Add " +
49
+ "UltimateConfigModule.setBuildConfig(BuildConfig.class) " +
50
+ "to MainApplication.onCreate() — required on both Old and New Architecture."
51
+ );
52
+ return constants;
53
+ }
54
+
55
+ // Try both key names for backwards compatibility
56
+ String keys = null;
57
+ try {
58
+ keys = (String) act.getField("__RNCU_KEYS").get(act);
59
+ } catch (NoSuchFieldException e1) {
60
+ try {
61
+ keys = (String) act.getField("__RNUC_KEYS").get(act);
62
+ } catch (NoSuchFieldException e2) {
63
+ String msg = "react-native-config-ultimate: Neither __RNCU_KEYS nor __RNUC_KEYS found in BuildConfig. " +
64
+ "Did you run 'npx rncu <env-file>' and rebuild?";
65
+ if (BuildConfig.DEBUG) {
66
+ throw new RuntimeException(msg);
67
+ } else {
68
+ Log.e(TAG, msg);
69
+ }
70
+ }
71
+ }
72
+
73
+ if (keys == null || keys.isEmpty()) return constants;
74
+ for (String k : keys.split(",")) {
75
+ Object value = act.getField(k).get(act);
76
+ if (value != null) {
77
+ constants.put(k, value);
78
+ }
79
+ }
80
+ } catch (Exception e) {
81
+ Log.w(TAG, "Failed to read config constants from BuildConfig: " + e.getMessage());
82
+ }
83
+ return constants;
84
+ }
85
+
86
+ private UltimateConfigHelper() {} // prevent instantiation
87
+ }
@@ -43,7 +43,7 @@ public class UltimateConfigPackage extends TurboReactPackage {
43
43
  UltimateConfigModule.NAME,
44
44
  false, // canOverrideExistingModule
45
45
  false, // needsEagerInit
46
- isTurboModule, // isCxxModule — true for TurboModules
46
+ false, // isCxxModule — false: this is a Java TurboModule, not C++ JSI
47
47
  isTurboModule // isTurboModule
48
48
  )
49
49
  );
@@ -3,19 +3,17 @@ package com.reactnativeultimateconfig;
3
3
  import android.util.Log;
4
4
 
5
5
  import androidx.annotation.NonNull;
6
- import androidx.annotation.Nullable;
7
6
 
8
7
  import com.facebook.react.bridge.ReactApplicationContext;
9
8
  import com.facebook.react.module.annotations.ReactModule;
10
9
 
11
10
  import org.json.JSONObject;
12
11
 
13
- import java.util.HashMap;
14
12
  import java.util.Map;
15
13
 
16
14
  /**
17
15
  * New Architecture (TurboModules) implementation of UltimateConfig.
18
- *
16
+ *
19
17
  * Extends the Codegen-generated NativeUltimateConfigSpec which provides
20
18
  * the TurboModule binding. Implements getAll() which returns config
21
19
  * values as a JSON string (matching the TypeScript spec).
@@ -24,11 +22,8 @@ import java.util.Map;
24
22
  public class UltimateConfigModule extends NativeUltimateConfigSpec {
25
23
  public static final String NAME = "UltimateConfig";
26
24
 
27
- @Nullable
28
- private static Class<?> _buildConfig;
29
-
30
25
  public static void setBuildConfig(Class<?> buildConfig) {
31
- _buildConfig = buildConfig;
26
+ UltimateConfigHelper.setBuildConfig(buildConfig);
32
27
  }
33
28
 
34
29
  public UltimateConfigModule(ReactApplicationContext reactContext) {
@@ -41,48 +36,6 @@ public class UltimateConfigModule extends NativeUltimateConfigSpec {
41
36
  return NAME;
42
37
  }
43
38
 
44
- /**
45
- * Read config values from the app's BuildConfig class.
46
- * The rncu CLI generates fields in BuildConfig via rncu.yaml → build.gradle.
47
- */
48
- @NonNull
49
- private Map<String, Object> readConfigValues() {
50
- final Map<String, Object> constants = new HashMap<>();
51
- try {
52
- Class<?> act = _buildConfig;
53
- if (act == null) return constants;
54
-
55
- // Try both key names for backwards compatibility
56
- String keys = null;
57
- try {
58
- keys = (String) act.getField("__RNCU_KEYS").get(act);
59
- } catch (NoSuchFieldException e1) {
60
- try {
61
- keys = (String) act.getField("__RNUC_KEYS").get(act);
62
- } catch (NoSuchFieldException e2) {
63
- String msg = "react-native-config-ultimate: Neither __RNCU_KEYS nor __RNUC_KEYS found in BuildConfig. " +
64
- "Did you run 'npx rncu <env-file>' and rebuild?";
65
- if (BuildConfig.DEBUG) {
66
- throw new RuntimeException(msg);
67
- } else {
68
- Log.e(NAME, msg);
69
- }
70
- }
71
- }
72
-
73
- if (keys == null || keys.isEmpty()) return constants;
74
- for (String k : keys.split(",")) {
75
- Object value = act.getField(k).get(act);
76
- if (value != null) {
77
- constants.put(k, value);
78
- }
79
- }
80
- } catch (Exception e) {
81
- Log.w(NAME, "Failed to read config constants from BuildConfig: " + e.getMessage());
82
- }
83
- return constants;
84
- }
85
-
86
39
  /**
87
40
  * TurboModule method: returns all config values as a JSON string.
88
41
  * This matches the TypeScript spec: getAll(): string
@@ -90,7 +43,7 @@ public class UltimateConfigModule extends NativeUltimateConfigSpec {
90
43
  @Override
91
44
  @NonNull
92
45
  public String getAll() {
93
- Map<String, Object> values = readConfigValues();
46
+ Map<String, Object> values = UltimateConfigHelper.readConfigValues();
94
47
  try {
95
48
  JSONObject json = new JSONObject(values);
96
49
  return json.toString();
@@ -1,22 +1,16 @@
1
1
  package com.reactnativeultimateconfig;
2
2
 
3
- import android.util.Log;
4
-
5
3
  import androidx.annotation.NonNull;
6
- import androidx.annotation.Nullable;
7
4
 
8
5
  import com.facebook.react.bridge.ReactApplicationContext;
9
6
  import com.facebook.react.bridge.ReactContextBaseJavaModule;
10
7
  import com.facebook.react.module.annotations.ReactModule;
11
8
 
12
- import org.json.JSONObject;
13
-
14
- import java.util.HashMap;
15
9
  import java.util.Map;
16
10
 
17
11
  /**
18
12
  * Old Architecture (Bridge) implementation of UltimateConfig.
19
- *
13
+ *
20
14
  * This module exposes config values via getConstants() which React Native's
21
15
  * bridge reads at module initialization time.
22
16
  */
@@ -24,11 +18,8 @@ import java.util.Map;
24
18
  public class UltimateConfigModule extends ReactContextBaseJavaModule {
25
19
  public static final String NAME = "UltimateConfig";
26
20
 
27
- @Nullable
28
- private static Class<?> _buildConfig;
29
-
30
21
  public static void setBuildConfig(Class<?> buildConfig) {
31
- _buildConfig = buildConfig;
22
+ UltimateConfigHelper.setBuildConfig(buildConfig);
32
23
  }
33
24
 
34
25
  public UltimateConfigModule(ReactApplicationContext reactContext) {
@@ -41,51 +32,9 @@ public class UltimateConfigModule extends ReactContextBaseJavaModule {
41
32
  return NAME;
42
33
  }
43
34
 
44
- /**
45
- * Read config values from the app's BuildConfig class.
46
- * The rncu CLI generates fields in BuildConfig via rncu.yaml → build.gradle.
47
- */
48
- @NonNull
49
- private Map<String, Object> readConfigValues() {
50
- final Map<String, Object> constants = new HashMap<>();
51
- try {
52
- Class<?> act = _buildConfig;
53
- if (act == null) return constants;
54
-
55
- // Try both key names for backwards compatibility
56
- String keys = null;
57
- try {
58
- keys = (String) act.getField("__RNCU_KEYS").get(act);
59
- } catch (NoSuchFieldException e1) {
60
- try {
61
- keys = (String) act.getField("__RNUC_KEYS").get(act);
62
- } catch (NoSuchFieldException e2) {
63
- String msg = "react-native-config-ultimate: Neither __RNCU_KEYS nor __RNUC_KEYS found in BuildConfig. " +
64
- "Did you run 'npx rncu <env-file>' and rebuild?";
65
- if (BuildConfig.DEBUG) {
66
- throw new RuntimeException(msg);
67
- } else {
68
- Log.e(NAME, msg);
69
- }
70
- }
71
- }
72
-
73
- if (keys == null || keys.isEmpty()) return constants;
74
- for (String k : keys.split(",")) {
75
- Object value = act.getField(k).get(act);
76
- if (value != null) {
77
- constants.put(k, value);
78
- }
79
- }
80
- } catch (Exception e) {
81
- Log.w(NAME, "Failed to read config constants from BuildConfig: " + e.getMessage());
82
- }
83
- return constants;
84
- }
85
-
86
35
  @Override
87
36
  @NonNull
88
37
  public Map<String, Object> getConstants() {
89
- return readConfigValues();
38
+ return UltimateConfigHelper.readConfigValues();
90
39
  }
91
40
  }
@@ -28,7 +28,8 @@ RCT_EXPORT_MODULE()
28
28
  if (error || !jsonData) {
29
29
  return @"{}";
30
30
  }
31
- return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
31
+ NSString *result = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
32
+ return result ?: @"{}";
32
33
  }
33
34
 
34
35
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
@@ -42,7 +42,7 @@ async function cli() {
42
42
  default: false,
43
43
  description: 'Watch env file(s) for changes and regenerate automatically. ' + 'Note: changes to native vars (iOS xcconfig, Android BuildConfig) ' + 'still require a full native rebuild.'
44
44
  }).usage('Usage: $0 <env-file> [env-file2 ...] [options]').help().parseAsync();
45
- const project_root = argv.projectRoot;
45
+ const project_root = path.resolve(argv.projectRoot);
46
46
 
47
47
  /**
48
48
  * Resolve the library root directory.
@@ -57,7 +57,7 @@ async function cli() {
57
57
  * (write-env.ts will create the directories on first run).
58
58
  */
59
59
  const lib_root = (() => {
60
- if (argv.libRoot) return argv.libRoot;
60
+ if (argv.libRoot) return path.resolve(argv.libRoot);
61
61
  const conventional = path.join(project_root, 'node_modules', 'react-native-config-ultimate');
62
62
 
63
63
  // If the directory already exists at the conventional location, use it.
@@ -79,6 +79,10 @@ async function cli() {
79
79
  // Accept one or more positional env file paths.
80
80
  // Multiple files are merged left-to-right (last file wins for conflicting keys).
81
81
  const env_files = argv._.map(String);
82
+ if (env_files.length === 0) {
83
+ log_err('No env file specified. Usage: rncu <env-file> [env-file2 ...]');
84
+ process.exit(1);
85
+ }
82
86
 
83
87
  // Validate env files exist before running anything.
84
88
  const missing_files = env_files.filter(f => !fs.existsSync(f));
@@ -140,4 +144,9 @@ async function cli() {
140
144
  void watcher.close().then(() => process.exit(0));
141
145
  });
142
146
  }
147
+
148
+ // Auto-invoke when run as CLI script (not when required by tests)
149
+ if (require.main === module) {
150
+ cli();
151
+ }
143
152
  //# sourceMappingURL=cli.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_yargs","_interopRequireDefault","require","path","_interopRequireWildcard","fs","_chokidar","_main","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","load_rc","rc_file","existsSync","undefined","cache","resolve","log","msg","process","stdout","write","log_err","stderr","cli","argv","yargs","slice","option","type","cwd","description","alias","usage","help","parseAsync","project_root","projectRoot","lib_root","libRoot","conventional","join","pkg_json","paths","dirname","env_files","_","map","String","missing_files","filter","length","exit","run","changed_path","start","Date","now","rc","main","err","Error","message","watch","files_to_watch","watcher","ignoreInitial","persistent","on","p","stdin","resume","close","then"],"sourceRoot":"../../src","sources":["cli.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_yargs","_interopRequireDefault","require","path","_interopRequireWildcard","fs","_chokidar","_main","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","load_rc","rc_file","existsSync","undefined","cache","resolve","log","msg","process","stdout","write","log_err","stderr","cli","argv","yargs","slice","option","type","cwd","description","alias","usage","help","parseAsync","project_root","projectRoot","lib_root","libRoot","conventional","join","pkg_json","paths","dirname","env_files","_","map","String","length","exit","missing_files","filter","run","changed_path","start","Date","now","rc","main","err","Error","message","watch","files_to_watch","watcher","ignoreInitial","persistent","on","p","stdin","resume","close","then","module"],"sourceRoot":"../../src","sources":["cli.ts"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,12 @@ function flatten(config, platform) {
13
13
  const result = {};
14
14
  for (const [key, value] of Object.entries(config)) {
15
15
  if (value && typeof value === 'object') {
16
- result[key] = value[platform];
16
+ const resolved = value[platform];
17
+ // Only include the key if this platform has a value defined.
18
+ // Omitting undefined prevents broken output in native templates.
19
+ if (resolved !== undefined) {
20
+ result[key] = resolved;
21
+ }
17
22
  } else {
18
23
  result[key] = value;
19
24
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_assert","_interopRequireDefault","require","e","__esModule","default","VALID_PLATFORMS","flatten","config","platform","assert","includes","join","result","key","value","Object","entries"],"sourceRoot":"../../src","sources":["flatten.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQ5B,MAAMG,eAA2B,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC;AAE9C,SAASC,OAAOA,CAACC,MAAiB,EAAEC,QAAkB,EAAc;EACjF,IAAAC,eAAM,EAACF,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE,kCAAkC,CAAC;EAChF,IAAAE,eAAM,EACJJ,eAAe,CAACK,QAAQ,CAACF,QAAQ,CAAC,EAClC,4BAA4B,GAAGH,eAAe,CAACM,IAAI,CAAC,IAAI,CAC1D,CAAC;EACD,MAAMC,MAAkB,GAAG,CAAC,CAAC;EAC7B,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACT,MAAM,CAAC,EAAE;IACjD,IAAIO,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACtCF,MAAM,CAACC,GAAG,CAAC,GAAIC,KAAK,CAAsBN,QAAQ,CAAC;IACrD,CAAC,MAAM;MACLI,MAAM,CAACC,GAAG,CAAC,GAAGC,KAAoB;IACpC;EACF;EACA,OAAOF,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"names":["_assert","_interopRequireDefault","require","e","__esModule","default","VALID_PLATFORMS","flatten","config","platform","assert","includes","join","result","key","value","Object","entries","resolved","undefined"],"sourceRoot":"../../src","sources":["flatten.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA4B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQ5B,MAAMG,eAA2B,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC;AAE9C,SAASC,OAAOA,CAACC,MAAiB,EAAEC,QAAkB,EAAc;EACjF,IAAAC,eAAM,EAACF,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE,kCAAkC,CAAC;EAChF,IAAAE,eAAM,EACJJ,eAAe,CAACK,QAAQ,CAACF,QAAQ,CAAC,EAClC,4BAA4B,GAAGH,eAAe,CAACM,IAAI,CAAC,IAAI,CAC1D,CAAC;EACD,MAAMC,MAAkB,GAAG,CAAC,CAAC;EAC7B,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACT,MAAM,CAAC,EAAE;IACjD,IAAIO,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACtC,MAAMG,QAAQ,GAAIH,KAAK,CAAsBN,QAAQ,CAAC;MACtD;MACA;MACA,IAAIS,QAAQ,KAAKC,SAAS,EAAE;QAC1BN,MAAM,CAACC,GAAG,CAAC,GAAGI,QAAQ;MACxB;IACF,CAAC,MAAM;MACLL,MAAM,CAACC,GAAG,CAAC,GAAGC,KAAoB;IACpC;EACF;EACA,OAAOF,MAAM;AACf","ignoreList":[]}
@@ -21,6 +21,20 @@ function read_yaml(config_path) {
21
21
  if (typeof data === 'undefined' || data === null || typeof data !== 'object') {
22
22
  throw new Error(`Expected to read object from ${config_path}, but got '${data}'`);
23
23
  }
24
+
25
+ // Reject unsupported YAML types that would silently break template rendering.
26
+ // js-yaml parses unquoted dates (e.g. 2024-01-01) as Date objects.
27
+ const errors = [];
28
+ for (const [key, value] of Object.entries(data)) {
29
+ if (value instanceof Date) {
30
+ errors.push(`${key}: YAML parsed as Date. Quote the value to treat it as a string: "${key}: \\"${String(value)}\\""`);
31
+ } else if (Array.isArray(value)) {
32
+ errors.push(`${key}: arrays are not supported. Use per-platform objects or scalar values.`);
33
+ }
34
+ }
35
+ if (errors.length > 0) {
36
+ throw new Error(`[rncu] Unsupported value types in ${config_path}:\n` + errors.map(e => ` • ${e}`).join('\n'));
37
+ }
24
38
  return data;
25
39
  }
26
40
 
@@ -1 +1 @@
1
- {"version":3,"names":["dotenv","_interopRequireWildcard","require","_dotenvExpand","yaml","path","fs","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","detect_format","config_path","ext","parse","read_yaml","data","load","readFileSync","toString","Error","load_env","config_paths","paths","Array","isArray","length","formats","map","allDotenv","every","raw","p","content","assign","result","expand","parsed","merged","expanded"],"sourceRoot":"../../src","sources":["load-env.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["dotenv","_interopRequireWildcard","require","_dotenvExpand","yaml","path","fs","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","detect_format","config_path","ext","parse","read_yaml","data","load","readFileSync","toString","Error","errors","key","value","entries","Date","push","String","Array","isArray","length","map","join","load_env","config_paths","paths","formats","allDotenv","every","raw","p","content","assign","result","expand","parsed","merged","expanded"],"sourceRoot":"../../src","sources":["load-env.ts"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,7 @@ var _validateEnv = require("./validate-env");
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
14
  /**
15
15
  * Main build-time pipeline:
16
- * load → resolve (on_env hook) → validate (schema) → flatten → render → write
16
+ * load → resolve (on_env hook) → validate keys → validate schema → flatten → render → write
17
17
  *
18
18
  * @param project_root Root of the React Native project
19
19
  * @param lib_root Root of the react-native-config-ultimate install
@@ -22,6 +22,10 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
22
22
  */
23
23
  async function main(project_root, lib_root, env_file, rc) {
24
24
  const env = await (0, _resolveEnv.default)((0, _loadEnv.default)(env_file), rc);
25
+
26
+ // Always validate key names — prevents template injection in generated
27
+ // native files regardless of whether the user has defined a schema.
28
+ (0, _validateEnv.validate_keys)(env);
25
29
  if (rc?.schema) {
26
30
  (0, _validateEnv.validate_env)(env, rc.schema);
27
31
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_loadEnv","_interopRequireDefault","require","_renderEnv","_writeEnv","_flatten","_resolveEnv","_validateEnv","e","__esModule","default","main","project_root","lib_root","env_file","rc","env","resolve_env","load_env","schema","validate_env","flat","ios","flatten","android","web","files_to_write","render_env","write_env"],"sourceRoot":"../../src","sources":["main.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,WAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAA8C,SAAAD,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAK9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,eAAeG,IAAIA,CAChCC,YAAoB,EACpBC,QAAgB,EAChBC,QAA2B,EAC3BC,EAAO,EACQ;EACf,MAAMC,GAAY,GAAG,MAAM,IAAAC,mBAAW,EAAC,IAAAC,gBAAQ,EAACJ,QAAQ,CAAC,EAAEC,EAAE,CAAC;EAE9D,IAAIA,EAAE,EAAEI,MAAM,EAAE;IACd,IAAAC,yBAAY,EAACJ,GAAG,EAAED,EAAE,CAACI,MAAM,CAAC;EAC9B;EAEA,MAAME,IAAI,GAAG;IACXC,GAAG,EAAE,IAAAC,gBAAO,EAACP,GAAG,EAAe,KAAK,CAAC;IACrCQ,OAAO,EAAE,IAAAD,gBAAO,EAACP,GAAG,EAAe,SAAS,CAAC;IAC7CS,GAAG,EAAE,IAAAF,gBAAO,EAACP,GAAG,EAAe,KAAK;EACtC,CAAC;EACD,MAAMU,cAAc,GAAG,IAAAC,kBAAU,EAACf,YAAY,EAAEC,QAAQ,EAAEQ,IAAI,EAAEN,EAAE,CAAC;EACnE,IAAAa,iBAAS,EAACF,cAAc,CAAC;AAC3B","ignoreList":[]}
1
+ {"version":3,"names":["_loadEnv","_interopRequireDefault","require","_renderEnv","_writeEnv","_flatten","_resolveEnv","_validateEnv","e","__esModule","default","main","project_root","lib_root","env_file","rc","env","resolve_env","load_env","validate_keys","schema","validate_env","flat","ios","flatten","android","web","files_to_write","render_env","write_env"],"sourceRoot":"../../src","sources":["main.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,WAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAA6D,SAAAD,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAK7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,eAAeG,IAAIA,CAChCC,YAAoB,EACpBC,QAAgB,EAChBC,QAA2B,EAC3BC,EAAO,EACQ;EACf,MAAMC,GAAY,GAAG,MAAM,IAAAC,mBAAW,EAAC,IAAAC,gBAAQ,EAACJ,QAAQ,CAAC,EAAEC,EAAE,CAAC;;EAE9D;EACA;EACA,IAAAI,0BAAa,EAACH,GAAG,CAAC;EAElB,IAAID,EAAE,EAAEK,MAAM,EAAE;IACd,IAAAC,yBAAY,EAACL,GAAG,EAAED,EAAE,CAACK,MAAM,CAAC;EAC9B;EAEA,MAAME,IAAI,GAAG;IACXC,GAAG,EAAE,IAAAC,gBAAO,EAACR,GAAG,EAAe,KAAK,CAAC;IACrCS,OAAO,EAAE,IAAAD,gBAAO,EAACR,GAAG,EAAe,SAAS,CAAC;IAC7CU,GAAG,EAAE,IAAAF,gBAAO,EAACR,GAAG,EAAe,KAAK;EACtC,CAAC;EACD,MAAMW,cAAc,GAAG,IAAAC,kBAAU,EAAChB,YAAY,EAAEC,QAAQ,EAAES,IAAI,EAAEP,EAAE,CAAC;EACnE,IAAAc,iBAAS,EAACF,cAAc,CAAC;AAC3B","ignoreList":[]}
@@ -31,7 +31,7 @@ function escape(value) {
31
31
  }
32
32
  function xcconfig_format(value) {
33
33
  if (is_string(value)) {
34
- return value.replace(/\/\//gm, '/$()/');
34
+ return value.replace(/\n/gm, '').replace(/\r/gm, '').replace(/\/\//gm, '/$()/');
35
35
  }
36
36
  return value;
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"names":["path","_interopRequireWildcard","require","fs","_handlebars","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","code_file_name","config_file_name","is_string","value","is_number","is_boolean","escape","replace","xcconfig_format","to_json","JSON","stringify","handlebars","registerHelper","template_cache","Map","get_compiled_template","template_name","cached","template_path","join","__dirname","compiled","compile","readFileSync","render_template","data","render_env","project_root","lib_root","env","rc","ios","android","web","map","existsSync","js_override"],"sourceRoot":"../../src","sources":["render-env.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["path","_interopRequireWildcard","require","fs","_handlebars","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","code_file_name","config_file_name","is_string","value","is_number","is_boolean","escape","replace","xcconfig_format","to_json","JSON","stringify","handlebars","registerHelper","template_cache","Map","get_compiled_template","template_name","cached","template_path","join","__dirname","compiled","compile","readFileSync","render_template","data","render_env","project_root","lib_root","env","rc","ios","android","web","map","existsSync","js_override"],"sourceRoot":"../../src","sources":["render-env.ts"],"mappings":"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","ignoreList":[]}
@@ -22,7 +22,11 @@ exports.default = resolve_env;
22
22
  async function resolve_env(env, rc) {
23
23
  if (rc && rc.on_env) {
24
24
  const patched_env = await rc.on_env(env);
25
- return typeof patched_env === 'undefined' ? env : patched_env;
25
+ if (typeof patched_env === 'undefined') return env;
26
+ if (!patched_env || typeof patched_env !== 'object' || Array.isArray(patched_env)) {
27
+ throw new Error(`[rncu] on_env hook must return an object (or undefined to keep the original), ` + `but got ${typeof patched_env}: ${String(patched_env)}`);
28
+ }
29
+ return patched_env;
26
30
  } else {
27
31
  return env;
28
32
  }
@@ -1 +1 @@
1
- {"version":3,"names":["resolve_env","env","rc","on_env","patched_env"],"sourceRoot":"../../src","sources":["resolve-env.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsBe,eAAeA,WAAWA,CAACC,GAAY,EAAEC,EAAO,EAAoB;EACjF,IAAIA,EAAE,IAAIA,EAAE,CAACC,MAAM,EAAE;IACnB,MAAMC,WAAW,GAAG,MAAMF,EAAE,CAACC,MAAM,CAACF,GAAG,CAAC;IACxC,OAAO,OAAOG,WAAW,KAAK,WAAW,GAAGH,GAAG,GAAIG,WAAuB;EAC5E,CAAC,MAAM;IACL,OAAOH,GAAG;EACZ;AACF","ignoreList":[]}
1
+ {"version":3,"names":["resolve_env","env","rc","on_env","patched_env","Array","isArray","Error","String"],"sourceRoot":"../../src","sources":["resolve-env.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA6Be,eAAeA,WAAWA,CAACC,GAAY,EAAEC,EAAO,EAAoB;EACjF,IAAIA,EAAE,IAAIA,EAAE,CAACC,MAAM,EAAE;IACnB,MAAMC,WAAW,GAAG,MAAMF,EAAE,CAACC,MAAM,CAACF,GAAG,CAAC;IACxC,IAAI,OAAOG,WAAW,KAAK,WAAW,EAAE,OAAOH,GAAG;IAClD,IAAI,CAACG,WAAW,IAAI,OAAOA,WAAW,KAAK,QAAQ,IAAIC,KAAK,CAACC,OAAO,CAACF,WAAW,CAAC,EAAE;MACjF,MAAM,IAAIG,KAAK,CACb,gFAAgF,GAC9E,WAAW,OAAOH,WAAW,KAAKI,MAAM,CAACJ,WAAW,CAAC,EACzD,CAAC;IACH;IACA,OAAOA,WAAW;EACpB,CAAC,MAAM;IACL,OAAOH,GAAG;EACZ;AACF","ignoreList":[]}
@@ -4,13 +4,4 @@ const IOS_DATA = {{{toJSON @root.ios}}}
4
4
 
5
5
  const ANDROID_DATA = {{{toJSON @root.android}}}
6
6
 
7
- module.exports = {
8
- {{#each @root.ios}}
9
- get {{{@key}}}() {
10
- return RN.Platform.select({
11
- ios: IOS_DATA["{{{@key}}}"],
12
- android: ANDROID_DATA["{{{@key}}}"],
13
- });
14
- },
15
- {{/each}}
16
- }
7
+ module.exports = RN.Platform.select({ ios: IOS_DATA, android: ANDROID_DATA }) || {};