@react-native-community/cli-config 20.2.0 → 21.0.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.
@@ -2,15 +2,17 @@ import { Config } from '@react-native-community/cli-types';
2
2
  /**
3
3
  * Loads CLI configuration
4
4
  */
5
- export default function loadConfig({ projectRoot, selectedPlatform, }: {
5
+ export default function loadConfig({ projectRoot, selectedPlatform, platforms, }: {
6
6
  projectRoot?: string;
7
7
  selectedPlatform?: string;
8
+ platforms?: Config['platforms'];
8
9
  }): Config;
9
10
  /**
10
11
  * Load CLI configuration asynchronously, which supports reading ESM modules.
11
12
  */
12
- export declare function loadConfigAsync({ projectRoot, selectedPlatform, }: {
13
+ export declare function loadConfigAsync({ projectRoot, selectedPlatform, platforms, }: {
13
14
  projectRoot?: string;
14
15
  selectedPlatform?: string;
16
+ platforms?: Config['platforms'];
15
17
  }): Promise<Config>;
16
18
  //# sourceMappingURL=loadConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadConfig.d.ts","sourceRoot":"","sources":["../src/loadConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,MAAM,EAEP,MAAM,mCAAmC,CAAC;AA8E3C;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,WAA+B,EAC/B,gBAAgB,GACjB,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,MAAM,CAsFT;AAED;;GAEG;AAEH,wBAAsB,eAAe,CAAC,EACpC,WAA+B,EAC/B,gBAAgB,GACjB,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC,MAAM,CAAC,CA0FlB"}
1
+ {"version":3,"file":"loadConfig.d.ts","sourceRoot":"","sources":["../src/loadConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,MAAM,EAEP,MAAM,mCAAmC,CAAC;AAyG3C;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,WAA+B,EAC/B,gBAAgB,EAChB,SAAS,GACV,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;CACjC,GAAG,MAAM,CA2FT;AAED;;GAEG;AAEH,wBAAsB,eAAe,CAAC,EACpC,WAA+B,EAC/B,gBAAgB,EAChB,SAAS,GACV,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;CACjC,GAAG,OAAO,CAAC,MAAM,CAAC,CA+FlB"}
@@ -66,12 +66,36 @@ const removeDuplicateCommands = commands => {
66
66
  return Array.from(uniqueCommandsMap.values());
67
67
  };
68
68
 
69
+ /**
70
+ * `react-native` provides the platforms that dependencies are linked into, so
71
+ * it is never linked as a dependency itself.
72
+ */
73
+ const isLinkableDependency = dependencyName => dependencyName !== 'react-native';
74
+
75
+ /**
76
+ * Returns the built-in platforms to seed the config with, honoring the
77
+ * `selectedPlatform` filter the same way dependency platforms are filtered. The
78
+ * project's own and dependencies' platforms are layered on top of these.
79
+ */
80
+ const getBasePlatforms = (platforms, selectedPlatform) => {
81
+ if (!platforms) {
82
+ return {};
83
+ }
84
+ if (selectedPlatform != null) {
85
+ return platforms[selectedPlatform] ? {
86
+ [selectedPlatform]: platforms[selectedPlatform]
87
+ } : {};
88
+ }
89
+ return platforms;
90
+ };
91
+
69
92
  /**
70
93
  * Loads CLI configuration
71
94
  */
72
95
  function loadConfig({
73
96
  projectRoot = (0, _cliTools().findProjectRoot)(),
74
- selectedPlatform
97
+ selectedPlatform,
98
+ platforms
75
99
  }) {
76
100
  let lazyProject;
77
101
  const userConfig = (0, _readConfigFromDisk.readConfigFromDisk)(projectRoot);
@@ -86,7 +110,10 @@ function loadConfig({
86
110
  dependencies: userConfig.dependencies,
87
111
  commands: userConfig.commands,
88
112
  healthChecks: userConfig.healthChecks || [],
89
- platforms: userConfig.platforms,
113
+ platforms: {
114
+ ...getBasePlatforms(platforms, selectedPlatform),
115
+ ...userConfig.platforms
116
+ },
90
117
  assets: userConfig.assets,
91
118
  get project() {
92
119
  if (lazyProject) {
@@ -108,11 +135,11 @@ function loadConfig({
108
135
  let root = localDependencyRoot || (0, _cliTools().resolveNodeModuleDir)(projectRoot, dependencyName);
109
136
  let config = (0, _readConfigFromDisk.readDependencyConfigFromDisk)(root, dependencyName);
110
137
  return (0, _assign.default)({}, acc, {
111
- dependencies: (0, _assign.default)({}, acc.dependencies, {
138
+ dependencies: isLinkableDependency(dependencyName) ? (0, _assign.default)({}, acc.dependencies, {
112
139
  get [dependencyName]() {
113
140
  return getDependencyConfig(root, dependencyName, finalConfig, config, userConfig);
114
141
  }
115
- }),
142
+ }) : acc.dependencies,
116
143
  commands: removeDuplicateCommands([...config.commands, ...acc.commands]),
117
144
  platforms: {
118
145
  ...acc.platforms,
@@ -135,7 +162,8 @@ function loadConfig({
135
162
 
136
163
  async function loadConfigAsync({
137
164
  projectRoot = (0, _cliTools().findProjectRoot)(),
138
- selectedPlatform
165
+ selectedPlatform,
166
+ platforms
139
167
  }) {
140
168
  let lazyProject;
141
169
  const userConfig = await (0, _readConfigFromDisk.readConfigFromDiskAsync)(projectRoot);
@@ -150,7 +178,10 @@ async function loadConfigAsync({
150
178
  dependencies: userConfig.dependencies,
151
179
  commands: userConfig.commands,
152
180
  healthChecks: userConfig.healthChecks || [],
153
- platforms: userConfig.platforms,
181
+ platforms: {
182
+ ...getBasePlatforms(platforms, selectedPlatform),
183
+ ...userConfig.platforms
184
+ },
154
185
  assets: userConfig.assets,
155
186
  get project() {
156
187
  if (lazyProject) {
@@ -173,11 +204,11 @@ async function loadConfigAsync({
173
204
  let root = localDependencyRoot || (0, _cliTools().resolveNodeModuleDir)(projectRoot, dependencyName);
174
205
  let config = await (0, _readConfigFromDisk.readDependencyConfigFromDiskAsync)(root, dependencyName);
175
206
  return (0, _assign.default)({}, acc, {
176
- dependencies: (0, _assign.default)({}, acc.dependencies, {
207
+ dependencies: isLinkableDependency(dependencyName) ? (0, _assign.default)({}, acc.dependencies, {
177
208
  get [dependencyName]() {
178
209
  return getDependencyConfig(root, dependencyName, finalConfig, config, userConfig);
179
210
  }
180
- }),
211
+ }) : acc.dependencies,
181
212
  commands: removeDuplicateCommands([...config.commands, ...acc.commands]),
182
213
  platforms: {
183
214
  ...acc.platforms,
@@ -1 +1 @@
1
- {"version":3,"file":"loadConfig.js","names":["getDependencyConfig","root","dependencyName","finalConfig","config","userConfig","merge","name","platforms","Object","keys","reduce","dependency","platform","platformConfig","length","dependencyConfig","dependencies","getReactNativeVersion","reactNativePath","semver","version","current","major","minor","e","UnknownProjectError","removeDuplicateCommands","commands","uniqueCommandsMap","Map","forEach","command","set","Array","from","values","loadConfig","projectRoot","findProjectRoot","selectedPlatform","lazyProject","readConfigFromDisk","initialConfig","path","resolve","resolveReactNativePath","reactNativeVersion","healthChecks","assets","project","projectConfig","Set","findDependencies","acc","localDependencyRoot","resolveNodeModuleDir","readDependencyConfigFromDisk","assign","undefined","loadConfigAsync","readConfigFromDiskAsync","accPromise","readDependencyConfigFromDiskAsync","Promise"],"sources":["../src/loadConfig.ts"],"sourcesContent":["import path from 'path';\nimport {\n UserDependencyConfig,\n ProjectConfig,\n DependencyConfig,\n UserConfig,\n Config,\n Command,\n} from '@react-native-community/cli-types';\nimport {\n findProjectRoot,\n version,\n resolveNodeModuleDir,\n UnknownProjectError,\n} from '@react-native-community/cli-tools';\nimport findDependencies from './findDependencies';\nimport resolveReactNativePath from './resolveReactNativePath';\nimport {\n readConfigFromDisk,\n readConfigFromDiskAsync,\n readDependencyConfigFromDisk,\n readDependencyConfigFromDiskAsync,\n} from './readConfigFromDisk';\nimport assign from './assign';\nimport merge from './merge';\n\nfunction getDependencyConfig(\n root: string,\n dependencyName: string,\n finalConfig: Config,\n config: UserDependencyConfig,\n userConfig: UserConfig,\n): DependencyConfig {\n return merge(\n {\n root,\n name: dependencyName,\n platforms: Object.keys(finalConfig.platforms).reduce(\n (dependency, platform) => {\n const platformConfig = finalConfig.platforms[platform];\n dependency[platform] =\n // Linking platforms is not supported\n Object.keys(config.platforms).length > 0 || !platformConfig\n ? null\n : platformConfig.dependencyConfig(\n root,\n config.dependency.platforms?.[platform],\n );\n return dependency;\n },\n {} as Config['platforms'],\n ),\n },\n userConfig.dependencies[dependencyName] || {},\n ) as DependencyConfig;\n}\n\n// Try our best to figure out what version of React Native we're running. This is\n// currently being used to get our deeplinks working, so it's only worried with\n// the major and minor version.\nfunction getReactNativeVersion(reactNativePath: string) {\n try {\n let semver = version.current(reactNativePath);\n if (semver) {\n // Retain only these version, since they correspond with our documentation.\n return `${semver.major}.${semver.minor}`;\n }\n } catch (e) {\n // If we don't seem to be in a well formed project, give up quietly.\n if (!(e instanceof UnknownProjectError)) {\n throw e;\n }\n }\n return 'unknown';\n}\n\nconst removeDuplicateCommands = <T extends boolean>(commands: Command<T>[]) => {\n const uniqueCommandsMap = new Map();\n\n commands.forEach((command) => {\n uniqueCommandsMap.set(command.name, command);\n });\n\n return Array.from(uniqueCommandsMap.values());\n};\n\n/**\n * Loads CLI configuration\n */\nexport default function loadConfig({\n projectRoot = findProjectRoot(),\n selectedPlatform,\n}: {\n projectRoot?: string;\n selectedPlatform?: string;\n}): Config {\n let lazyProject: ProjectConfig;\n const userConfig = readConfigFromDisk(projectRoot);\n\n const initialConfig: Config = {\n root: projectRoot,\n get reactNativePath() {\n return userConfig.reactNativePath\n ? path.resolve(projectRoot, userConfig.reactNativePath)\n : resolveReactNativePath(projectRoot);\n },\n get reactNativeVersion() {\n return getReactNativeVersion(initialConfig.reactNativePath);\n },\n dependencies: userConfig.dependencies,\n commands: userConfig.commands,\n healthChecks: userConfig.healthChecks || [],\n platforms: userConfig.platforms,\n assets: userConfig.assets,\n get project() {\n if (lazyProject) {\n return lazyProject;\n }\n\n lazyProject = {};\n for (const platform in finalConfig.platforms) {\n const platformConfig = finalConfig.platforms[platform];\n if (platformConfig) {\n lazyProject[platform] = platformConfig.projectConfig(\n projectRoot,\n userConfig.project[platform] || {},\n );\n }\n }\n\n return lazyProject;\n },\n };\n\n const finalConfig = Array.from(\n new Set([\n ...Object.keys(userConfig.dependencies),\n ...findDependencies(projectRoot),\n ]),\n ).reduce((acc: Config, dependencyName) => {\n const localDependencyRoot =\n userConfig.dependencies[dependencyName] &&\n userConfig.dependencies[dependencyName].root;\n try {\n let root =\n localDependencyRoot ||\n resolveNodeModuleDir(projectRoot, dependencyName);\n let config = readDependencyConfigFromDisk(root, dependencyName);\n\n return assign({}, acc, {\n dependencies: assign({}, acc.dependencies, {\n get [dependencyName](): DependencyConfig {\n return getDependencyConfig(\n root,\n dependencyName,\n finalConfig,\n config,\n userConfig,\n );\n },\n }),\n commands: removeDuplicateCommands([\n ...config.commands,\n ...acc.commands,\n ]),\n platforms: {\n ...acc.platforms,\n ...(selectedPlatform && config.platforms[selectedPlatform]\n ? {[selectedPlatform]: config.platforms[selectedPlatform]}\n : !selectedPlatform\n ? config.platforms\n : undefined),\n },\n healthChecks: [...acc.healthChecks, ...config.healthChecks],\n }) as Config;\n } catch {\n return acc;\n }\n }, initialConfig);\n\n return finalConfig;\n}\n\n/**\n * Load CLI configuration asynchronously, which supports reading ESM modules.\n */\n\nexport async function loadConfigAsync({\n projectRoot = findProjectRoot(),\n selectedPlatform,\n}: {\n projectRoot?: string;\n selectedPlatform?: string;\n}): Promise<Config> {\n let lazyProject: ProjectConfig;\n const userConfig = await readConfigFromDiskAsync(projectRoot);\n\n const initialConfig: Config = {\n root: projectRoot,\n get reactNativePath() {\n return userConfig.reactNativePath\n ? path.resolve(projectRoot, userConfig.reactNativePath)\n : resolveReactNativePath(projectRoot);\n },\n get reactNativeVersion() {\n return getReactNativeVersion(initialConfig.reactNativePath);\n },\n dependencies: userConfig.dependencies,\n commands: userConfig.commands,\n healthChecks: userConfig.healthChecks || [],\n platforms: userConfig.platforms,\n assets: userConfig.assets,\n get project() {\n if (lazyProject) {\n return lazyProject;\n }\n\n lazyProject = {};\n for (const platform in finalConfig.platforms) {\n const platformConfig = finalConfig.platforms[platform];\n if (platformConfig) {\n lazyProject[platform] = platformConfig.projectConfig(\n projectRoot,\n userConfig.project[platform] || {},\n );\n }\n }\n\n return lazyProject;\n },\n };\n\n const finalConfig = await Array.from(\n new Set([\n ...Object.keys(userConfig.dependencies),\n ...findDependencies(projectRoot),\n ]),\n ).reduce(async (accPromise: Promise<Config>, dependencyName) => {\n const acc = await accPromise;\n const localDependencyRoot =\n userConfig.dependencies[dependencyName] &&\n userConfig.dependencies[dependencyName].root;\n try {\n let root =\n localDependencyRoot ||\n resolveNodeModuleDir(projectRoot, dependencyName);\n let config = await readDependencyConfigFromDiskAsync(\n root,\n dependencyName,\n );\n\n return assign({}, acc, {\n dependencies: assign({}, acc.dependencies, {\n get [dependencyName](): DependencyConfig {\n return getDependencyConfig(\n root,\n dependencyName,\n finalConfig,\n config,\n userConfig,\n );\n },\n }),\n commands: removeDuplicateCommands([\n ...config.commands,\n ...acc.commands,\n ]),\n platforms: {\n ...acc.platforms,\n ...(selectedPlatform && config.platforms[selectedPlatform]\n ? {[selectedPlatform]: config.platforms[selectedPlatform]}\n : !selectedPlatform\n ? config.platforms\n : undefined),\n },\n healthChecks: [...acc.healthChecks, ...config.healthChecks],\n }) as Config;\n } catch {\n return acc;\n }\n }, Promise.resolve(initialConfig));\n\n return finalConfig;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"loadConfig.js","names":["getDependencyConfig","root","dependencyName","finalConfig","config","userConfig","merge","name","platforms","Object","keys","reduce","dependency","platform","platformConfig","length","dependencyConfig","dependencies","getReactNativeVersion","reactNativePath","semver","version","current","major","minor","e","UnknownProjectError","removeDuplicateCommands","commands","uniqueCommandsMap","Map","forEach","command","set","Array","from","values","isLinkableDependency","getBasePlatforms","selectedPlatform","loadConfig","projectRoot","findProjectRoot","lazyProject","readConfigFromDisk","initialConfig","path","resolve","resolveReactNativePath","reactNativeVersion","healthChecks","assets","project","projectConfig","Set","findDependencies","acc","localDependencyRoot","resolveNodeModuleDir","readDependencyConfigFromDisk","assign","undefined","loadConfigAsync","readConfigFromDiskAsync","accPromise","readDependencyConfigFromDiskAsync","Promise"],"sources":["../src/loadConfig.ts"],"sourcesContent":["import path from 'path';\nimport {\n UserDependencyConfig,\n ProjectConfig,\n DependencyConfig,\n UserConfig,\n Config,\n Command,\n} from '@react-native-community/cli-types';\nimport {\n findProjectRoot,\n version,\n resolveNodeModuleDir,\n UnknownProjectError,\n} from '@react-native-community/cli-tools';\nimport findDependencies from './findDependencies';\nimport resolveReactNativePath from './resolveReactNativePath';\nimport {\n readConfigFromDisk,\n readConfigFromDiskAsync,\n readDependencyConfigFromDisk,\n readDependencyConfigFromDiskAsync,\n} from './readConfigFromDisk';\nimport assign from './assign';\nimport merge from './merge';\n\nfunction getDependencyConfig(\n root: string,\n dependencyName: string,\n finalConfig: Config,\n config: UserDependencyConfig,\n userConfig: UserConfig,\n): DependencyConfig {\n return merge(\n {\n root,\n name: dependencyName,\n platforms: Object.keys(finalConfig.platforms).reduce(\n (dependency, platform) => {\n const platformConfig = finalConfig.platforms[platform];\n dependency[platform] =\n // Linking platforms is not supported\n Object.keys(config.platforms).length > 0 || !platformConfig\n ? null\n : platformConfig.dependencyConfig(\n root,\n config.dependency.platforms?.[platform],\n );\n return dependency;\n },\n {} as Config['platforms'],\n ),\n },\n userConfig.dependencies[dependencyName] || {},\n ) as DependencyConfig;\n}\n\n// Try our best to figure out what version of React Native we're running. This is\n// currently being used to get our deeplinks working, so it's only worried with\n// the major and minor version.\nfunction getReactNativeVersion(reactNativePath: string) {\n try {\n let semver = version.current(reactNativePath);\n if (semver) {\n // Retain only these version, since they correspond with our documentation.\n return `${semver.major}.${semver.minor}`;\n }\n } catch (e) {\n // If we don't seem to be in a well formed project, give up quietly.\n if (!(e instanceof UnknownProjectError)) {\n throw e;\n }\n }\n return 'unknown';\n}\n\nconst removeDuplicateCommands = <T extends boolean>(commands: Command<T>[]) => {\n const uniqueCommandsMap = new Map();\n\n commands.forEach((command) => {\n uniqueCommandsMap.set(command.name, command);\n });\n\n return Array.from(uniqueCommandsMap.values());\n};\n\n/**\n * `react-native` provides the platforms that dependencies are linked into, so\n * it is never linked as a dependency itself.\n */\nconst isLinkableDependency = (dependencyName: string) =>\n dependencyName !== 'react-native';\n\n/**\n * Returns the built-in platforms to seed the config with, honoring the\n * `selectedPlatform` filter the same way dependency platforms are filtered. The\n * project's own and dependencies' platforms are layered on top of these.\n */\nconst getBasePlatforms = (\n platforms: Config['platforms'] | undefined,\n selectedPlatform: string | undefined,\n): {[platform: string]: Config['platforms'][string]} => {\n if (!platforms) {\n return {};\n }\n if (selectedPlatform != null) {\n return platforms[selectedPlatform]\n ? {[selectedPlatform]: platforms[selectedPlatform]}\n : {};\n }\n return platforms;\n};\n\n/**\n * Loads CLI configuration\n */\nexport default function loadConfig({\n projectRoot = findProjectRoot(),\n selectedPlatform,\n platforms,\n}: {\n projectRoot?: string;\n selectedPlatform?: string;\n platforms?: Config['platforms'];\n}): Config {\n let lazyProject: ProjectConfig;\n const userConfig = readConfigFromDisk(projectRoot);\n\n const initialConfig: Config = {\n root: projectRoot,\n get reactNativePath() {\n return userConfig.reactNativePath\n ? path.resolve(projectRoot, userConfig.reactNativePath)\n : resolveReactNativePath(projectRoot);\n },\n get reactNativeVersion() {\n return getReactNativeVersion(initialConfig.reactNativePath);\n },\n dependencies: userConfig.dependencies,\n commands: userConfig.commands,\n healthChecks: userConfig.healthChecks || [],\n platforms: {\n ...getBasePlatforms(platforms, selectedPlatform),\n ...userConfig.platforms,\n },\n assets: userConfig.assets,\n get project() {\n if (lazyProject) {\n return lazyProject;\n }\n\n lazyProject = {};\n for (const platform in finalConfig.platforms) {\n const platformConfig = finalConfig.platforms[platform];\n if (platformConfig) {\n lazyProject[platform] = platformConfig.projectConfig(\n projectRoot,\n userConfig.project[platform] || {},\n );\n }\n }\n\n return lazyProject;\n },\n };\n\n const finalConfig = Array.from(\n new Set([\n ...Object.keys(userConfig.dependencies),\n ...findDependencies(projectRoot),\n ]),\n ).reduce((acc: Config, dependencyName) => {\n const localDependencyRoot =\n userConfig.dependencies[dependencyName] &&\n userConfig.dependencies[dependencyName].root;\n try {\n let root =\n localDependencyRoot ||\n resolveNodeModuleDir(projectRoot, dependencyName);\n let config = readDependencyConfigFromDisk(root, dependencyName);\n\n return assign({}, acc, {\n dependencies: isLinkableDependency(dependencyName)\n ? assign({}, acc.dependencies, {\n get [dependencyName](): DependencyConfig {\n return getDependencyConfig(\n root,\n dependencyName,\n finalConfig,\n config,\n userConfig,\n );\n },\n })\n : acc.dependencies,\n commands: removeDuplicateCommands([\n ...config.commands,\n ...acc.commands,\n ]),\n platforms: {\n ...acc.platforms,\n ...(selectedPlatform && config.platforms[selectedPlatform]\n ? {[selectedPlatform]: config.platforms[selectedPlatform]}\n : !selectedPlatform\n ? config.platforms\n : undefined),\n },\n healthChecks: [...acc.healthChecks, ...config.healthChecks],\n }) as Config;\n } catch {\n return acc;\n }\n }, initialConfig);\n\n return finalConfig;\n}\n\n/**\n * Load CLI configuration asynchronously, which supports reading ESM modules.\n */\n\nexport async function loadConfigAsync({\n projectRoot = findProjectRoot(),\n selectedPlatform,\n platforms,\n}: {\n projectRoot?: string;\n selectedPlatform?: string;\n platforms?: Config['platforms'];\n}): Promise<Config> {\n let lazyProject: ProjectConfig;\n const userConfig = await readConfigFromDiskAsync(projectRoot);\n\n const initialConfig: Config = {\n root: projectRoot,\n get reactNativePath() {\n return userConfig.reactNativePath\n ? path.resolve(projectRoot, userConfig.reactNativePath)\n : resolveReactNativePath(projectRoot);\n },\n get reactNativeVersion() {\n return getReactNativeVersion(initialConfig.reactNativePath);\n },\n dependencies: userConfig.dependencies,\n commands: userConfig.commands,\n healthChecks: userConfig.healthChecks || [],\n platforms: {\n ...getBasePlatforms(platforms, selectedPlatform),\n ...userConfig.platforms,\n },\n assets: userConfig.assets,\n get project() {\n if (lazyProject) {\n return lazyProject;\n }\n\n lazyProject = {};\n for (const platform in finalConfig.platforms) {\n const platformConfig = finalConfig.platforms[platform];\n if (platformConfig) {\n lazyProject[platform] = platformConfig.projectConfig(\n projectRoot,\n userConfig.project[platform] || {},\n );\n }\n }\n\n return lazyProject;\n },\n };\n\n const finalConfig = await Array.from(\n new Set([\n ...Object.keys(userConfig.dependencies),\n ...findDependencies(projectRoot),\n ]),\n ).reduce(async (accPromise: Promise<Config>, dependencyName) => {\n const acc = await accPromise;\n const localDependencyRoot =\n userConfig.dependencies[dependencyName] &&\n userConfig.dependencies[dependencyName].root;\n try {\n let root =\n localDependencyRoot ||\n resolveNodeModuleDir(projectRoot, dependencyName);\n let config = await readDependencyConfigFromDiskAsync(\n root,\n dependencyName,\n );\n\n return assign({}, acc, {\n dependencies: isLinkableDependency(dependencyName)\n ? assign({}, acc.dependencies, {\n get [dependencyName](): DependencyConfig {\n return getDependencyConfig(\n root,\n dependencyName,\n finalConfig,\n config,\n userConfig,\n );\n },\n })\n : acc.dependencies,\n commands: removeDuplicateCommands([\n ...config.commands,\n ...acc.commands,\n ]),\n platforms: {\n ...acc.platforms,\n ...(selectedPlatform && config.platforms[selectedPlatform]\n ? {[selectedPlatform]: config.platforms[selectedPlatform]}\n : !selectedPlatform\n ? config.platforms\n : undefined),\n },\n healthChecks: [...acc.healthChecks, ...config.healthChecks],\n }) as Config;\n } catch {\n return acc;\n }\n }, Promise.resolve(initialConfig));\n\n return finalConfig;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-native-community/cli-config",
3
- "version": "20.2.0",
3
+ "version": "21.0.0",
4
4
  "license": "MIT",
5
5
  "main": "build/index.js",
6
6
  "publishConfig": {
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "types": "build/index.d.ts",
10
10
  "dependencies": {
11
- "@react-native-community/cli-tools": "20.2.0",
11
+ "@react-native-community/cli-tools": "21.0.0",
12
12
  "cosmiconfig": "^9.0.0",
13
13
  "deepmerge": "^4.3.0",
14
14
  "fast-glob": "^3.3.2",
@@ -21,7 +21,7 @@
21
21
  "!*.map"
22
22
  ],
23
23
  "devDependencies": {
24
- "@react-native-community/cli-types": "20.2.0",
24
+ "@react-native-community/cli-types": "21.0.0",
25
25
  "@types/cosmiconfig": "^5.0.3"
26
26
  },
27
27
  "homepage": "https://github.com/react-native-community/cli/tree/main/packages/cli-config",
@@ -30,5 +30,5 @@
30
30
  "url": "https://github.com/react-native-community/cli.git",
31
31
  "directory": "packages/cli-config"
32
32
  },
33
- "gitHead": "9013a480c66aece0e23cc8082ee23f92274e3cf4"
33
+ "gitHead": "5ffa497ccd1913677b71dbf2eeff303cfe233b56"
34
34
  }