diff --git a/package-lock.json b/package-lock.json index 6013c1e8..71abcb99 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6197,9 +6197,9 @@ "license": "MIT" }, "node_modules/bufout": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/bufout/-/bufout-0.3.1.tgz", - "integrity": "sha512-d/64PgEfF0Y2OqbDMdCt0yDVx1tBbEC+yzItjEIc42OEd8sDJo4vdzka5NY5GgdpQsSwIsgxOn/LiNwz51h2uQ==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/bufout/-/bufout-0.3.2.tgz", + "integrity": "sha512-8C3TSxBG6jbr0L/PvDo90z5lsc+mpebbV2ZeRlg7f/4Lda/88mb8A4sOngfBj5y1V3I7yRrCuMBPpg5T5tGkcg==", "license": "ISC" }, "node_modules/bytes": { @@ -11652,7 +11652,7 @@ "version": "0.1.0", "dependencies": { "@commander-js/extra-typings": "^13.1.0", - "bufout": "^0.3.1", + "bufout": "^0.3.2", "chalk": "^5.4.1", "cmake-js": "^7.3.1", "commander": "^13.1.0", @@ -11885,7 +11885,7 @@ "dependencies": { "@commander-js/extra-typings": "^13.1.0", "@napi-rs/cli": "3.0.0-alpha.80", - "bufout": "^0.3.1", + "bufout": "^0.3.2", "chalk": "^5.4.1", "commander": "^13.1.0", "ora": "^8.2.0" @@ -12148,7 +12148,7 @@ "license": "MIT", "dependencies": { "@commander-js/extra-typings": "^13.1.0", - "bufout": "^0.3.1", + "bufout": "^0.3.2", "chalk": "^5.4.1", "commander": "^13.1.0", "ora": "^8.2.0", diff --git a/packages/cmake-rn/package.json b/packages/cmake-rn/package.json index 3d4b9c13..6f684371 100644 --- a/packages/cmake-rn/package.json +++ b/packages/cmake-rn/package.json @@ -23,7 +23,7 @@ }, "dependencies": { "@commander-js/extra-typings": "^13.1.0", - "bufout": "^0.3.1", + "bufout": "^0.3.2", "chalk": "^5.4.1", "cmake-js": "^7.3.1", "commander": "^13.1.0", diff --git a/packages/cmake-rn/src/cli.ts b/packages/cmake-rn/src/cli.ts index d4cdd561..107b6ef0 100644 --- a/packages/cmake-rn/src/cli.ts +++ b/packages/cmake-rn/src/cli.ts @@ -42,6 +42,11 @@ const DEFAULT_NDK_VERSION = "27.1.12297006"; // TODO: Add automatic ccache support +const verboseOption = new Option( + "--verbose", + "Print more output during the build" +).default(process.env.CI === "true"); + const sourcePathOption = new Option( "--source ", "Specify the source directory containing a CMakeLists.txt file" @@ -100,6 +105,7 @@ const xcframeworkExtensionOption = new Option( export const program = new Command("cmake-rn") .description("Build React Native Node API modules with CMake") + .addOption(verboseOption) .addOption(sourcePathOption) .addOption(configurationOption) .addOption(tripletOption) @@ -163,6 +169,7 @@ export const program = new Command("cmake-rn") // Configure every triplet project await oraPromise(Promise.all(tripletContext.map(configureProject)), { text: "Configuring projects", + isSilent: globalContext.verbose, successText: "Configured projects", failText: ({ message }) => `Failed to configure projects: ${message}`, }); @@ -182,6 +189,7 @@ export const program = new Command("cmake-rn") ), { text: "Building projects", + isSilent: globalContext.verbose, successText: "Built projects", failText: ({ message }) => `Failed to build projects: ${message}`, } @@ -365,8 +373,14 @@ function getBuildArgs(triplet: SupportedTriplet) { } async function configureProject(context: TripletScopedContext) { - const { triplet, tripletBuildPath, source, ndkVersion, weakNodeApiLinkage } = - context; + const { + verbose, + triplet, + tripletBuildPath, + source, + ndkVersion, + weakNodeApiLinkage, + } = context; await spawn( "cmake", [ @@ -381,13 +395,14 @@ async function configureProject(context: TripletScopedContext) { }), ], { - outputMode: "buffered", + outputMode: verbose ? "inherit" : "buffered", + outputPrefix: verbose ? chalk.dim(`[${triplet}] `) : undefined, } ); } async function buildProject(context: TripletScopedContext) { - const { triplet, tripletBuildPath, configuration } = context; + const { verbose, triplet, tripletBuildPath, configuration } = context; await spawn( "cmake", [ @@ -399,7 +414,8 @@ async function buildProject(context: TripletScopedContext) { ...getBuildArgs(triplet), ], { - outputMode: "buffered", + outputMode: verbose ? "inherit" : "buffered", + outputPrefix: verbose ? chalk.dim(`[${triplet}] `) : undefined, } ); } diff --git a/packages/ferric/package.json b/packages/ferric/package.json index bd89b0ae..e9e38a24 100644 --- a/packages/ferric/package.json +++ b/packages/ferric/package.json @@ -18,7 +18,7 @@ "dependencies": { "@napi-rs/cli": "3.0.0-alpha.80", "@commander-js/extra-typings": "^13.1.0", - "bufout": "^0.3.1", + "bufout": "^0.3.2", "chalk": "^5.4.1", "commander": "^13.1.0", "ora": "^8.2.0" diff --git a/packages/host/package.json b/packages/host/package.json index 3a43bbd6..1079ef60 100644 --- a/packages/host/package.json +++ b/packages/host/package.json @@ -76,7 +76,7 @@ "license": "MIT", "dependencies": { "@commander-js/extra-typings": "^13.1.0", - "bufout": "^0.3.1", + "bufout": "^0.3.2", "chalk": "^5.4.1", "commander": "^13.1.0", "ora": "^8.2.0",