@callstack/brownfield-cli 5.1.1 → 5.3.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.
- package/CHANGELOG.md +8 -0
- package/dist/brownfield/utils/project.d.ts.map +1 -1
- package/dist/brownfield/utils/project.js +7 -1
- package/dist/expoPluginConfig.d.ts +2 -1
- package/dist/expoPluginConfig.d.ts.map +1 -1
- package/dist/expoPluginConfig.js +10 -2
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/schema.json +2 -2
- package/src/brownfield/utils/project.ts +7 -1
- package/src/expoPluginConfig.ts +15 -3
- package/src/types.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @callstack/brownfield-cli
|
|
2
2
|
|
|
3
|
+
## 5.3.0
|
|
4
|
+
|
|
5
|
+
## 5.2.0
|
|
6
|
+
|
|
7
|
+
### Minor Changes
|
|
8
|
+
|
|
9
|
+
- [#467](https://github.com/callstack/react-native-brownfield/pull/467) [`31c3939`](https://github.com/callstack/react-native-brownfield/commit/31c39399aad0efb098876d35a4fbbe80835d5dba) Thanks [@hurali97](https://github.com/hurali97)! - add expo sdk 58
|
|
10
|
+
|
|
3
11
|
## 5.1.1
|
|
4
12
|
|
|
5
13
|
## 5.1.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/brownfield/utils/project.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,UAAU,EACX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAKjE,OAAO,EAEL,KAAK,aAAa,IAAI,iBAAiB,EACxC,MAAM,cAAc,CAAC;AAiCtB;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/brownfield/utils/project.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,UAAU,EACX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAKjE,OAAO,EAEL,KAAK,aAAa,IAAI,iBAAiB,EACxC,MAAM,cAAc,CAAC;AAiCtB;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,4BAkBxD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOlE;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,EAC9C,aAAa,EACb,UAAU,EAAE,EAAE,GAAG,EAAE,EACnB,WAAW,GACZ,EAAE;IACD,8CAA8C;IAC9C,aAAa,EAAE,aAAa,CAAC;IAE7B,8BAA8B;IAC9B,UAAU,EAAE,iBAAiB,CAAC;IAE9B,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB,QAuBA;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,SAAS,KAAK,GAAG,SAAS,EAC/D,QAAQ,EAAE,QAAQ,GACjB;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;CACzC,CAeA;AAED,wBAAgB,aAAa,CAAC,EAC5B,WAAW,EACX,QAAQ,GACT,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;CAC7B,GAAG,UAAU,CAuBb;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,eAAe,EACrB,aAAa,EAAE,oBAAoB;;;EAQpC"}
|
|
@@ -29,7 +29,13 @@ function projectDependsOnExpo(projectRoot) {
|
|
|
29
29
|
export function getExpoConfigIfIsExpo(projectRoot) {
|
|
30
30
|
const hasAppConfig = hasExpoAppConfig(projectRoot);
|
|
31
31
|
try {
|
|
32
|
-
return getConfig(projectRoot, {
|
|
32
|
+
return getConfig(projectRoot, {
|
|
33
|
+
skipSDKVersionRequirement: true,
|
|
34
|
+
// Only app.json/app.config metadata is needed here. Evaluating plugins
|
|
35
|
+
// can fail for packages that are listed as plugins but are not loadable
|
|
36
|
+
// as Node modules (for example expo-image on Expo SDK 58).
|
|
37
|
+
skipPlugins: true,
|
|
38
|
+
});
|
|
33
39
|
}
|
|
34
40
|
catch (error) {
|
|
35
41
|
if (hasAppConfig) {
|
|
@@ -32,7 +32,7 @@ export type ResolvedBrownfieldPluginAndroidConfig = {
|
|
|
32
32
|
moduleName: string;
|
|
33
33
|
packageName: string;
|
|
34
34
|
minSdkVersion: number;
|
|
35
|
-
targetSdkVersion
|
|
35
|
+
targetSdkVersion?: number;
|
|
36
36
|
compileSdkVersion: number;
|
|
37
37
|
groupId: string;
|
|
38
38
|
artifactId: string;
|
|
@@ -56,6 +56,7 @@ export type ResolvedBrownfieldPluginConfig = {
|
|
|
56
56
|
android: ResolvedBrownfieldPluginAndroidConfig | null;
|
|
57
57
|
};
|
|
58
58
|
type BrownfieldExpoConfig = {
|
|
59
|
+
sdkVersion?: string;
|
|
59
60
|
ios?: {
|
|
60
61
|
bundleIdentifier?: string;
|
|
61
62
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expoPluginConfig.d.ts","sourceRoot":"","sources":["../src/expoPluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE;QACJ,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;QAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;KACvC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"expoPluginConfig.d.ts","sourceRoot":"","sources":["../src/expoPluginConfig.ts"],"names":[],"mappings":"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"}
|
package/dist/expoPluginConfig.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export { loadBrownfieldConfig } from './config.js';
|
|
2
|
+
const EXPO_SDK_COMPILE_SDK_37_FROM_MAJOR = 58;
|
|
3
|
+
function getDefaultCompileSdkVersion(sdkVersion) {
|
|
4
|
+
const expoMajor = sdkVersion ? parseInt(sdkVersion.split('.')[0], 10) : -1;
|
|
5
|
+
return expoMajor >= EXPO_SDK_COMPILE_SDK_37_FROM_MAJOR ? 37 : 35;
|
|
6
|
+
}
|
|
2
7
|
const CONFIG_FILE_PLUGIN_OVERLAP_ERROR = 'Brownfield configuration is defined in both a brownfield config file and app.json plugin options. ' +
|
|
3
8
|
'Use only one source: either brownfield.config.js, brownfield.config.json, package.json#brownfield, or the plugin options in app.json.';
|
|
4
9
|
/**
|
|
@@ -92,8 +97,8 @@ export function resolveBrownfieldPluginConfig(pluginProps, fileConfig, expoConfi
|
|
|
92
97
|
moduleName: androidModuleName,
|
|
93
98
|
packageName: effectiveProps.android?.packageName ?? androidPackage,
|
|
94
99
|
minSdkVersion: effectiveProps.android?.minSdkVersion ?? 24,
|
|
95
|
-
|
|
96
|
-
|
|
100
|
+
compileSdkVersion: effectiveProps.android?.compileSdkVersion ??
|
|
101
|
+
getDefaultCompileSdkVersion(expoConfig.sdkVersion),
|
|
97
102
|
groupId: effectiveProps.android?.groupId ?? androidPackage,
|
|
98
103
|
artifactId: effectiveProps.android?.artifactId ?? androidModuleName,
|
|
99
104
|
version: effectiveProps.android?.version ?? '0.0.1-SNAPSHOT',
|
|
@@ -102,6 +107,9 @@ export function resolveBrownfieldPluginConfig(pluginProps, fileConfig, expoConfi
|
|
|
102
107
|
extraProguardRules,
|
|
103
108
|
useLocalMaven: effectiveProps.android?.useLocalMaven ?? false,
|
|
104
109
|
missingDimensionStrategies: effectiveProps.android?.missingDimensionStrategies ?? [],
|
|
110
|
+
...(effectiveProps.android?.targetSdkVersion != null
|
|
111
|
+
? { targetSdkVersion: effectiveProps.android.targetSdkVersion }
|
|
112
|
+
: {}),
|
|
105
113
|
}
|
|
106
114
|
: null,
|
|
107
115
|
};
|
package/dist/types.d.ts
CHANGED
|
@@ -53,10 +53,12 @@ export type BrownfieldExpoAndroidConfig = {
|
|
|
53
53
|
minSdkVersion?: number;
|
|
54
54
|
/**
|
|
55
55
|
* Target SDK version for the Android library.
|
|
56
|
+
* Used on Expo SDK versions below 58; ignored on 58 and later.
|
|
56
57
|
*/
|
|
57
58
|
targetSdkVersion?: number;
|
|
58
59
|
/**
|
|
59
60
|
* Compile SDK version for the Android library.
|
|
61
|
+
* Defaults to 37 on Expo SDK 58 and later, otherwise 35.
|
|
60
62
|
*/
|
|
61
63
|
compileSdkVersion?: number;
|
|
62
64
|
/**
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAErF,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1C,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC;IAC5C;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG;IAC3E,uHAAuH;IACvH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,sHAAsH;IACtH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,0GAA0G;IAC1G,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,uBAAuB,GACnE,OAAO,CAAC,eAAe,CAAC,CAAC;AAC3B,MAAM,MAAM,+BAA+B,GAAG,uBAAuB,GACnE,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAChC,MAAM,MAAM,2BAA2B,GAAG,uBAAuB,GAC/D,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE7B;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/schema.json
CHANGED
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"type": "string"
|
|
55
55
|
},
|
|
56
56
|
"compileSdkVersion": {
|
|
57
|
-
"description": "Compile SDK version for the Android library.",
|
|
57
|
+
"description": "Compile SDK version for the Android library. Defaults to 37 on Expo SDK 58 and later, otherwise 35.",
|
|
58
58
|
"type": "number"
|
|
59
59
|
},
|
|
60
60
|
"extraProguardRules": {
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"type": "string"
|
|
89
89
|
},
|
|
90
90
|
"targetSdkVersion": {
|
|
91
|
-
"description": "Target SDK version for the Android library.",
|
|
91
|
+
"description": "Target SDK version for the Android library. Used on Expo SDK versions below 58; ignored on 58 and later.",
|
|
92
92
|
"type": "number"
|
|
93
93
|
},
|
|
94
94
|
"useLocalGradlePlugin": {
|
|
@@ -55,7 +55,13 @@ export function getExpoConfigIfIsExpo(projectRoot: string) {
|
|
|
55
55
|
const hasAppConfig = hasExpoAppConfig(projectRoot);
|
|
56
56
|
|
|
57
57
|
try {
|
|
58
|
-
return getConfig(projectRoot, {
|
|
58
|
+
return getConfig(projectRoot, {
|
|
59
|
+
skipSDKVersionRequirement: true,
|
|
60
|
+
// Only app.json/app.config metadata is needed here. Evaluating plugins
|
|
61
|
+
// can fail for packages that are listed as plugins but are not loadable
|
|
62
|
+
// as Node modules (for example expo-image on Expo SDK 58).
|
|
63
|
+
skipPlugins: true,
|
|
64
|
+
});
|
|
59
65
|
} catch (error) {
|
|
60
66
|
if (hasAppConfig) {
|
|
61
67
|
throw error;
|
package/src/expoPluginConfig.ts
CHANGED
|
@@ -35,7 +35,7 @@ export type ResolvedBrownfieldPluginAndroidConfig = {
|
|
|
35
35
|
moduleName: string;
|
|
36
36
|
packageName: string;
|
|
37
37
|
minSdkVersion: number;
|
|
38
|
-
targetSdkVersion
|
|
38
|
+
targetSdkVersion?: number;
|
|
39
39
|
compileSdkVersion: number;
|
|
40
40
|
groupId: string;
|
|
41
41
|
artifactId: string;
|
|
@@ -62,6 +62,7 @@ export type ResolvedBrownfieldPluginConfig = {
|
|
|
62
62
|
};
|
|
63
63
|
|
|
64
64
|
type BrownfieldExpoConfig = {
|
|
65
|
+
sdkVersion?: string;
|
|
65
66
|
ios?: {
|
|
66
67
|
bundleIdentifier?: string;
|
|
67
68
|
};
|
|
@@ -70,6 +71,13 @@ type BrownfieldExpoConfig = {
|
|
|
70
71
|
};
|
|
71
72
|
};
|
|
72
73
|
|
|
74
|
+
const EXPO_SDK_COMPILE_SDK_37_FROM_MAJOR = 58;
|
|
75
|
+
|
|
76
|
+
function getDefaultCompileSdkVersion(sdkVersion: string | undefined): number {
|
|
77
|
+
const expoMajor = sdkVersion ? parseInt(sdkVersion.split('.')[0], 10) : -1;
|
|
78
|
+
return expoMajor >= EXPO_SDK_COMPILE_SDK_37_FROM_MAJOR ? 37 : 35;
|
|
79
|
+
}
|
|
80
|
+
|
|
73
81
|
const CONFIG_FILE_PLUGIN_OVERLAP_ERROR =
|
|
74
82
|
'Brownfield configuration is defined in both a brownfield config file and app.json plugin options. ' +
|
|
75
83
|
'Use only one source: either brownfield.config.js, brownfield.config.json, package.json#brownfield, or the plugin options in app.json.';
|
|
@@ -193,8 +201,9 @@ export function resolveBrownfieldPluginConfig(
|
|
|
193
201
|
moduleName: androidModuleName,
|
|
194
202
|
packageName: effectiveProps.android?.packageName ?? androidPackage,
|
|
195
203
|
minSdkVersion: effectiveProps.android?.minSdkVersion ?? 24,
|
|
196
|
-
|
|
197
|
-
|
|
204
|
+
compileSdkVersion:
|
|
205
|
+
effectiveProps.android?.compileSdkVersion ??
|
|
206
|
+
getDefaultCompileSdkVersion(expoConfig.sdkVersion),
|
|
198
207
|
groupId: effectiveProps.android?.groupId ?? androidPackage,
|
|
199
208
|
artifactId: effectiveProps.android?.artifactId ?? androidModuleName,
|
|
200
209
|
version: effectiveProps.android?.version ?? '0.0.1-SNAPSHOT',
|
|
@@ -205,6 +214,9 @@ export function resolveBrownfieldPluginConfig(
|
|
|
205
214
|
useLocalMaven: effectiveProps.android?.useLocalMaven ?? false,
|
|
206
215
|
missingDimensionStrategies:
|
|
207
216
|
effectiveProps.android?.missingDimensionStrategies ?? [],
|
|
217
|
+
...(effectiveProps.android?.targetSdkVersion != null
|
|
218
|
+
? { targetSdkVersion: effectiveProps.android.targetSdkVersion }
|
|
219
|
+
: {}),
|
|
208
220
|
}
|
|
209
221
|
: null,
|
|
210
222
|
};
|
package/src/types.ts
CHANGED
|
@@ -73,11 +73,13 @@ export type BrownfieldExpoAndroidConfig = {
|
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
75
|
* Target SDK version for the Android library.
|
|
76
|
+
* Used on Expo SDK versions below 58; ignored on 58 and later.
|
|
76
77
|
*/
|
|
77
78
|
targetSdkVersion?: number;
|
|
78
79
|
|
|
79
80
|
/**
|
|
80
81
|
* Compile SDK version for the Android library.
|
|
82
|
+
* Defaults to 37 on Expo SDK 58 and later, otherwise 35.
|
|
81
83
|
*/
|
|
82
84
|
compileSdkVersion?: number;
|
|
83
85
|
|