From de9659c35b8f26a11bb2d245cc812d736be5a1c7 Mon Sep 17 00:00:00 2001 From: Simon M Date: Fri, 23 Jan 2026 17:23:29 +0000 Subject: [PATCH 1/3] Don't call init generator in function/sync generator --- .../src/generators/function/function.ts | 5 ----- packages/nx-firebase/src/generators/sync/sync.ts | 14 ++++---------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/packages/nx-firebase/src/generators/function/function.ts b/packages/nx-firebase/src/generators/function/function.ts index c2799d7a..6f4155c1 100644 --- a/packages/nx-firebase/src/generators/function/function.ts +++ b/packages/nx-firebase/src/generators/function/function.ts @@ -9,7 +9,6 @@ import { } from '@nx/devkit' import { applicationGenerator as nodeApplicationGenerator } from '@nx/node' -import { initGenerator } from '../init/init' import { getFirebaseConfigFromProject, updateTsConfig } from '../../utils' import { addFunctionConfig, createFiles, updateProject } from './lib' @@ -104,10 +103,6 @@ export async function functionGenerator( // const options = normalizeOptions(host, schema) - // initialise plugin - const initTask = await initGenerator(host, {}) - tasks.push(initTask) - // We use @nx/node:app to scaffold our function application, then modify as required // `nx g @nx/node:app function-name --directory functions/dir --e2eTestRunner=none --framework=none --unitTestRunner=jest --bundler=esbuild --tags=firebase:firebase-app` diff --git a/packages/nx-firebase/src/generators/sync/sync.ts b/packages/nx-firebase/src/generators/sync/sync.ts index 5f0ee1bf..02ec8b1a 100644 --- a/packages/nx-firebase/src/generators/sync/sync.ts +++ b/packages/nx-firebase/src/generators/sync/sync.ts @@ -4,7 +4,6 @@ import { joinPathFragments, logger, readProjectConfiguration, - runTasksInSerial, Tree, updateProjectConfiguration, writeJson, @@ -12,7 +11,6 @@ import { import { SyncGeneratorSchema } from './schema' import { setFirebaseConfigFromCommand } from '../../utils' -import initGenerator from '../init/init' import { debugInfo, @@ -35,13 +33,7 @@ export async function syncGenerator( tree: Tree, options: SyncGeneratorSchema, ): Promise { - const tasks: GeneratorCallback[] = [] - - // initialise plugin - const initTask = await initGenerator(tree, {}) - tasks.push(initTask) - - // otherwise, sync the workspace. + // sync the workspace. // build lists of firebase apps & functions that have been deleted or renamed debugInfo('- Syncing workspace') @@ -407,7 +399,9 @@ export async function syncGenerator( ) } - return runTasksInSerial(...tasks) + return () => { + // noop - no install tasks needed + } } export default syncGenerator From f7b1b4aad5c2daca84dd56360314130229f79971 Mon Sep 17 00:00:00 2001 From: Simon M Date: Fri, 23 Jan 2026 17:28:43 +0000 Subject: [PATCH 2/3] Remove `firebase-functions-test` as a plugin dependency. Its optional. --- .../nx-firebase/src/__generated__/nx-firebase-versions.ts | 1 - packages/nx-firebase/src/generators/init/init.spec.ts | 7 ------- .../src/generators/init/lib/add-dependencies.ts | 4 ---- tools/generate-package-versions.js | 1 - 4 files changed, 13 deletions(-) diff --git a/packages/nx-firebase/src/__generated__/nx-firebase-versions.ts b/packages/nx-firebase/src/__generated__/nx-firebase-versions.ts index 98069a61..e23b261c 100644 --- a/packages/nx-firebase/src/__generated__/nx-firebase-versions.ts +++ b/packages/nx-firebase/src/__generated__/nx-firebase-versions.ts @@ -7,7 +7,6 @@ export const packageVersions = { firebase: '12.8.0', firebaseAdmin: '13.6.0', firebaseFunctions: '7.0.3', - firebaseFunctionsTest: '3.4.1', firebaseTools: '15.3.1', killPort: '2.0.1', nodeEngine: '20', diff --git a/packages/nx-firebase/src/generators/init/init.spec.ts b/packages/nx-firebase/src/generators/init/init.spec.ts index a1c9bd18..5a7bc2f4 100644 --- a/packages/nx-firebase/src/generators/init/init.spec.ts +++ b/packages/nx-firebase/src/generators/init/init.spec.ts @@ -80,9 +80,6 @@ describe('init generator', () => { `^${packageVersions.firebaseFunctions}`, ) - expect(packageJson.devDependencies['firebase-functions-test']).toBe( - `^${packageVersions.firebaseFunctionsTest}`, - ) expect(packageJson.devDependencies['firebase-tools']).toBe( `^${packageVersions.firebaseTools}`, ) @@ -115,7 +112,6 @@ describe('init generator', () => { packageJsonDefault.devDependencies['firebase-tools'] = testVersion packageJsonDefault.devDependencies['kill-port'] = testVersion - packageJsonDefault.devDependencies['firebase-functions-test'] = testVersion devkit.writeJson(tree, 'package.json', packageJsonDefault) @@ -126,9 +122,6 @@ describe('init generator', () => { expect(packageJson.dependencies['firebase']).toBe(testVersion) expect(packageJson.dependencies['firebase-admin']).toBe(testVersion) expect(packageJson.dependencies['firebase-functions']).toBe(testVersion) - expect(packageJson.devDependencies['firebase-functions-test']).toBe( - testVersion, - ) expect(packageJson.devDependencies['firebase-tools']).toBe(testVersion) expect(packageJson.devDependencies['kill-port']).toBe(testVersion) diff --git a/packages/nx-firebase/src/generators/init/lib/add-dependencies.ts b/packages/nx-firebase/src/generators/init/lib/add-dependencies.ts index b5e94556..4f36b65e 100644 --- a/packages/nx-firebase/src/generators/init/lib/add-dependencies.ts +++ b/packages/nx-firebase/src/generators/init/lib/add-dependencies.ts @@ -74,10 +74,6 @@ export function addDependencies(tree: Tree): GeneratorCallback { 'firebase-tools', `^${packageVersions.firebaseTools}`, ) - addDevDependencyIfNotPresent( - 'firebase-functions-test', - `^${packageVersions.firebaseFunctionsTest}`, - ) // kill-port is used by the emulate target to ensure clean emulator startup // since Nx doesn't kill processes cleanly atm diff --git a/tools/generate-package-versions.js b/tools/generate-package-versions.js index 57911d8e..e67657ad 100644 --- a/tools/generate-package-versions.js +++ b/tools/generate-package-versions.js @@ -63,7 +63,6 @@ export const packageVersions = { firebase: '${packageJson.devDependencies['firebase']}', firebaseAdmin: '${packageJson.devDependencies['firebase-admin']}', firebaseFunctions: '${packageJson.devDependencies['firebase-functions']}', - firebaseFunctionsTest: '${packageJson.devDependencies['firebase-functions-test']}', firebaseTools: '${packageJson.devDependencies['firebase-tools']}', killPort: '${packageJson.devDependencies['kill-port']}', nodeEngine: '${nodeVersion}', From 52a4123544ec322ef0eb1d6ae3f6400759fcf7ab Mon Sep 17 00:00:00 2001 From: Simon M Date: Fri, 23 Jan 2026 17:46:54 +0000 Subject: [PATCH 3/3] Fix e2e test for firebase-functions-test --- e2e/nx-firebase-e2e/tests/test-workspace.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/nx-firebase-e2e/tests/test-workspace.spec.ts b/e2e/nx-firebase-e2e/tests/test-workspace.spec.ts index 3f67c63b..a5341a4b 100644 --- a/e2e/nx-firebase-e2e/tests/test-workspace.spec.ts +++ b/e2e/nx-firebase-e2e/tests/test-workspace.spec.ts @@ -43,7 +43,7 @@ describe('workspace setup', () => { expect(packageJson.dependencies['firebase-functions']).toBeDefined() expect( packageJson.devDependencies['firebase-functions-test'], - ).toBeDefined() + ).toBeUndefined() // check that plugin init generator adds @google-cloud/functions-framework if pnpm is being used // Use tmpProjPath() to detect the package manager in the e2e workspace, not the main project