Skip to content

Commit 2f4e343

Browse files
fredzqmrosalyntanjoehan
authored
Make FDC SDK init default outputDir disjoint (#7546)
* Bump FDC local toolkit to v1.3.3. * Add PR number to changelog. * changelog * bump * Update CHANGELOG.md * m * Update FDC SDK init defaults * m * PascalCase for swift * add <appDir>/app/src/main/kotlin logic back * default path --------- Co-authored-by: Rosalyn Tan <[email protected]> Co-authored-by: joehan <[email protected]>
1 parent 2037176 commit 2f4e343

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
- Automatically detect app platform during `init dataconnect:sdk`.
44
- Support `sharp` ^0.33.x for web frameworks. (#7517)
55
- Update Firebase Data Connect toolkit to v1.3.4, which supports `offset`, cascade delete support, always all foreign fields and multiple generated SDK options. (#7545)
6+
- Update Data Connect SDK Options Default to avoid duplicate output path. (#7545)

src/init/features/dataconnect/sdk.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
} from "../../../dataconnect/types";
2222
import { DataConnectEmulator } from "../../../emulator/dataconnectEmulator";
2323
import { FirebaseError } from "../../../error";
24-
import { camelCase, snakeCase } from "lodash";
24+
import { camelCase, snakeCase, upperFirst } from "lodash";
2525
import { logSuccess, logBullet } from "../../../utils";
2626

2727
export type SDKInfo = {
@@ -108,12 +108,10 @@ async function askQuestions(setup: Setup, config: Config): Promise<SDKInfo> {
108108
if (targetPlatform === Platform.IOS) {
109109
const outputDir =
110110
newConnectorYaml.generate.swiftSdk?.outputDir ||
111-
path.relative(
112-
connectorInfo.directory,
113-
path.join(appDir, `generated/${newConnectorYaml.connectorId}`),
114-
);
111+
path.relative(connectorInfo.directory, path.join(appDir, `generated/swift`));
115112
const pkg =
116-
newConnectorYaml.generate.swiftSdk?.package ?? camelCase(newConnectorYaml.connectorId);
113+
newConnectorYaml.generate.swiftSdk?.package ??
114+
upperFirst(camelCase(newConnectorYaml.connectorId));
117115
const swiftSdk = { outputDir, package: pkg };
118116
newConnectorYaml.generate.swiftSdk = swiftSdk;
119117
displayIOSWarning = true;
@@ -124,7 +122,7 @@ async function askQuestions(setup: Setup, config: Config): Promise<SDKInfo> {
124122
newConnectorYaml.generate.javascriptSdk?.outputDir ||
125123
path.relative(
126124
connectorInfo.directory,
127-
path.join(appDir, `generated/${newConnectorYaml.connectorId}`),
125+
path.join(appDir, `generated/javascript/${newConnectorYaml.connectorId}`),
128126
);
129127
const pkg =
130128
newConnectorYaml.generate.javascriptSdk?.package ??
@@ -150,7 +148,7 @@ async function askQuestions(setup: Setup, config: Config): Promise<SDKInfo> {
150148
// app/src/main/kotlin and app/src/main/java are conventional for Android,
151149
// but not required or enforced. If one of them is present (preferring the
152150
// "kotlin" directory), use it. Otherwise, fall back to the app directory.
153-
let baseDir = path.join(appDir, "generated");
151+
let baseDir = path.join(appDir, `generated/kotlin`);
154152
for (const candidateSubdir of ["app/src/main/java", "app/src/main/kotlin"]) {
155153
const candidateDir = path.join(appDir, candidateSubdir);
156154
if (fs.existsSync(candidateDir)) {

0 commit comments

Comments
 (0)