@simondotm/nx-firebase 2.0.0-beta.1 → 2.1.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.
Files changed (64) hide show
  1. package/README.md +17 -13
  2. package/executors.json +9 -1
  3. package/generators.json +6 -1
  4. package/package.json +1 -1
  5. package/src/executors/serve/schema.d.ts +5 -0
  6. package/src/executors/serve/schema.json +28 -0
  7. package/src/executors/serve/serve.d.ts +5 -0
  8. package/src/executors/serve/serve.js +92 -0
  9. package/src/executors/serve/serve.js.map +1 -0
  10. package/src/generators/application/application.js +2 -2
  11. package/src/generators/application/application.js.map +1 -1
  12. package/src/generators/application/files/environment/.env +2 -0
  13. package/src/generators/application/files/environment/.env.local +2 -0
  14. package/src/generators/application/files/environment/.secret.local +2 -0
  15. package/src/generators/function/files/src/main.ts__tmpl__ +15 -16
  16. package/src/generators/function/function.js +1 -1
  17. package/src/generators/function/function.js.map +1 -1
  18. package/src/generators/function/lib/add-function-config.d.ts +3 -0
  19. package/src/generators/function/lib/{add-function.js → add-function-config.js} +5 -4
  20. package/src/generators/function/lib/add-function-config.js.map +1 -0
  21. package/src/generators/function/lib/index.d.ts +1 -1
  22. package/src/generators/function/lib/index.js +1 -1
  23. package/src/generators/function/lib/index.js.map +1 -1
  24. package/src/generators/function/lib/update-project.js +8 -0
  25. package/src/generators/function/lib/update-project.js.map +1 -1
  26. package/src/generators/init/init.js +2 -1
  27. package/src/generators/init/init.js.map +1 -1
  28. package/src/generators/init/lib/add-git-ignore-entry.d.ts +4 -2
  29. package/src/generators/init/lib/add-git-ignore-entry.js +41 -22
  30. package/src/generators/init/lib/add-git-ignore-entry.js.map +1 -1
  31. package/src/generators/init/schema.d.ts +4 -4
  32. package/src/generators/migrate/lib/migrate.d.ts +3 -0
  33. package/src/generators/migrate/lib/migrate.js +75 -0
  34. package/src/generators/migrate/lib/migrate.js.map +1 -0
  35. package/src/generators/migrate/migrate.d.ts +7 -0
  36. package/src/generators/migrate/migrate.js +30 -0
  37. package/src/generators/migrate/migrate.js.map +1 -0
  38. package/src/generators/migrate/schema.d.ts +2 -0
  39. package/src/generators/migrate/schema.json +9 -0
  40. package/src/generators/sync/lib/index.d.ts +1 -0
  41. package/src/generators/sync/lib/index.js +1 -0
  42. package/src/generators/sync/lib/index.js.map +1 -1
  43. package/src/generators/sync/lib/update-targets.d.ts +4 -0
  44. package/src/generators/sync/lib/update-targets.js +21 -0
  45. package/src/generators/sync/lib/update-targets.js.map +1 -0
  46. package/src/generators/sync/schema.d.ts +1 -0
  47. package/src/generators/sync/schema.json +6 -1
  48. package/src/generators/sync/sync.js +88 -5
  49. package/src/generators/sync/sync.js.map +1 -1
  50. package/src/utils/debug.d.ts +3 -3
  51. package/src/utils/debug.js.map +1 -1
  52. package/src/utils/firebase-config.d.ts +36 -18
  53. package/src/utils/firebase-config.js.map +1 -1
  54. package/src/utils/index.d.ts +0 -1
  55. package/src/utils/index.js +0 -1
  56. package/src/utils/index.js.map +1 -1
  57. package/src/utils/versions.d.ts +4 -4
  58. package/src/utils/versions.js +4 -4
  59. package/src/utils/versions.js.map +1 -1
  60. package/src/generators/function/lib/add-function.d.ts +0 -3
  61. package/src/generators/function/lib/add-function.js.map +0 -1
  62. package/src/utils/types.d.ts +0 -1
  63. package/src/utils/types.js +0 -3
  64. package/src/utils/types.js.map +0 -1
package/README.md CHANGED
@@ -4,23 +4,27 @@ A plugin for [Nx](https://nx.dev) v16.1.1+ that provides support for Firebase pr
4
4
 
5
5
  See [CHANGELOG](https://github.com/simondotm/nx-firebase/blob/main/CHANGELOG.md) for release notes.
6
6
 
7
- This plugin was completely rewritten since V2.x. For documentation of the legacy v1.x plugin version see [here](https://github.com/simondotm/nx-firebase/tree/release/v1.1.0).
8
-
9
7
  ## Overview
10
8
 
11
9
  Nx provides a great way to manage monorepo workflows and this plugin helps make it easy to integrate Firebase projects with Nx.
12
10
 
13
- Features:
14
-
15
- * Supports single or multiple firebase projects/apps within an Nx workspace
16
- * Generates Firebase node applications, with default `firebase.json` configurations, rules and indexes for each Firebase app
17
- * Generates Firebase functions using customised Typescript Nx node applications
18
- * Bundling of functions using `esbuild` for extremely fast compilation & tree-shaking for faster cold starts
19
- * Easily import Typescript code libraries in your Firebase functions for code sharing
20
- * Nx's automatic dependency checking for no-fuss builds, and per-project or per-function deployments
21
- * Use the Firebase Emulator suite whilst developing locally - all functions are watched and updated live while you work
22
- * Workspace management with the `sync` generator keeps your `firebase.json` configs automatically updated when renaming or deleting functions
23
- * Only very lightly opinionated about your Firebase configurations and workspace layouts; you can use Nx or the Firebase CLI
11
+ ### Features
12
+
13
+ * **Firebase Apps**
14
+ * Generates Firebase application projects, with default `firebase.json` configurations, rules and indexes for each Firebase app
15
+ * **Firebase Functions**
16
+ * Generates Firebase function apps based on Typescript Nx node applications
17
+ * Bundling of Firebase functions using `esbuild` for extremely fast compilation & tree-shaking for optimal function cold starts
18
+ * Easily import Typescript Nx libraries from your Nx workspace into your Firebase functions for code sharing across projects
19
+ * Supports function environment variables and secrets
20
+ * **Firebase Features**
21
+ * Use the Firebase Emulator suite whilst developing locally - all functions are watched and updated live while you work
22
+ * Use Firebase hosting with Nx to easily build & deploy web apps
23
+ * **Workspace Management**
24
+ * Nx's automatic dependency checking for no-fuss builds, and per-project or per-function deployments
25
+ * Supports single or multiple firebase projects/apps within an Nx workspace
26
+ * Nx workspace management with the `sync` generator keeps your project & `firebase.json` configs automatically updated when renaming or deleting Firebase apps & functions
27
+ * Only very lightly opinionated about your Firebase configurations and workspace layouts; you can use Nx or the Firebase CLI
24
28
 
25
29
  ## Further Information
26
30
 
package/executors.json CHANGED
@@ -1,2 +1,10 @@
1
1
  {
2
- }
2
+ "$schema": "http://json-schema.org/schema",
3
+ "executors": {
4
+ "serve": {
5
+ "implementation": "./src/executors/serve/serve",
6
+ "schema": "./src/executors/serve/schema.json",
7
+ "description": "firebase cli emulation serve executor"
8
+ }
9
+ }
10
+ }
package/generators.json CHANGED
@@ -25,6 +25,11 @@
25
25
  "factory": "./src/generators/sync/sync",
26
26
  "schema": "./src/generators/sync/schema.json",
27
27
  "description": "nx-firebase project sync tool"
28
- }
28
+ },
29
+ "migrate": {
30
+ "factory": "./src/generators/migrate/migrate",
31
+ "schema": "./src/generators/migrate/schema.json",
32
+ "description": "nx-firebase project migration tool"
33
+ }
29
34
  }
30
35
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simondotm/nx-firebase",
3
- "version": "2.0.0-beta.1",
3
+ "version": "2.1.0",
4
4
  "description": "A Firebase plugin for Nx monorepo workspaces.",
5
5
  "author": "Simon Morris",
6
6
  "license": "MIT",
@@ -0,0 +1,5 @@
1
+ // maintains the existing executor format as `nx:run-commands` for compatibility
2
+ export interface FirebaseServeExecutorSchema {
3
+ commands: string[]
4
+ __unparsed__: string[]
5
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "cli": "nx",
4
+ "title": "Firebase serve",
5
+ "description": "Runs the Firebase CLI emulator for the target project",
6
+ "type": "object",
7
+ "properties": {
8
+ "commands": {
9
+ "description": "The serve commands - watch & emulate.",
10
+ "type": "array",
11
+ "items": {
12
+ "type": "string"
13
+ }
14
+ },
15
+ "__unparsed__": {
16
+ "hidden": true,
17
+ "type": "array",
18
+ "items": {
19
+ "type": "string"
20
+ },
21
+ "$default": {
22
+ "$source": "unparsed"
23
+ },
24
+ "x-priority": "internal"
25
+ }
26
+ },
27
+ "required": []
28
+ }
@@ -0,0 +1,5 @@
1
+ import { ExecutorContext } from '@nrwl/devkit';
2
+ import { FirebaseServeExecutorSchema } from './schema';
3
+ export default function runFirebaseServeExecutor(options: FirebaseServeExecutorSchema, context: ExecutorContext): Promise<{
4
+ success: boolean;
5
+ }>;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ const child_process_1 = require("child_process");
6
+ function getCommandFromTarget(project, targetName, commandGrep) {
7
+ const target = project.targets[targetName];
8
+ if (!target) {
9
+ throw new Error(`Could not find target '${targetName}' in project '${project.name}'`);
10
+ }
11
+ const commands = [
12
+ ...(target.options.command ? [target.options.command] : []),
13
+ ...(target.options.commands ? target.options.commands : []),
14
+ ].filter((cmd) => cmd.includes(commandGrep));
15
+ if (commands.length === 0) {
16
+ throw new Error(`Could not find a command in target '${targetName}' that matches '${commandGrep}'`);
17
+ }
18
+ if (commands.length !== 1) {
19
+ devkit_1.logger.warn(`Found multiple commands in target '${targetName}' that match '${commandGrep}', using first match`);
20
+ }
21
+ return commands[0];
22
+ }
23
+ function runFirebaseServeExecutor(options, context) {
24
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
+ return new Promise((resolve) => {
26
+ const projectName = context.projectName;
27
+ const projects = context.projectsConfigurations;
28
+ const project = projects.projects[projectName];
29
+ // Determine the watch target command
30
+ const watchCommand = getCommandFromTarget(project, 'watch', 'nx run-many --targets=build');
31
+ // Determine the firebase target command, so we get --config & --project
32
+ const firebaseCommand = getCommandFromTarget(project, 'firebase', 'firebase');
33
+ // Determine the emulator target command
34
+ const emulateCommand = getCommandFromTarget(project, 'emulate', 'emulators:').replace(`nx run ${projectName}:firebase`, '');
35
+ // Run the watch process
36
+ // eslint-disable-next-line
37
+ const watchProcess = (0, child_process_1.spawn)(watchCommand, [], {
38
+ shell: true,
39
+ stdio: 'inherit',
40
+ detached: false,
41
+ }).on('exit', (code) => {
42
+ if (!code) {
43
+ devkit_1.logger.warn(`serve: watch process finished successfully`);
44
+ }
45
+ else {
46
+ devkit_1.logger.error(`serve: watch process finished with error '${code}'`);
47
+ }
48
+ });
49
+ // determine any extra commands passed on the command line
50
+ const extraArgs = options.__unparsed__.length > 0
51
+ ? ' ' + options.__unparsed__.join(' ')
52
+ : '';
53
+ // Run the firebase emulator process
54
+ const emulatorProcess = (0, child_process_1.spawn)(`${firebaseCommand} ${emulateCommand} ${extraArgs}`, [], {
55
+ shell: true,
56
+ stdio: 'inherit',
57
+ detached: false,
58
+ });
59
+ emulatorProcess.on('exit', (code) => {
60
+ if (!code) {
61
+ devkit_1.logger.warn(`serve: Firebase emulator finished successfully`);
62
+ resolve({ success: true }); // not sure what difference this makes
63
+ }
64
+ else {
65
+ devkit_1.logger.error(`serve: Firebase emulator finished with error '${code}'`);
66
+ resolve({ success: false });
67
+ }
68
+ });
69
+ // Handle signals for serve executor process
70
+ const processExitListener = (signal) => {
71
+ // logger.error(`\nserve: executor received signal '${signal}'`)
72
+ if (signal === 'SIGINT') {
73
+ devkit_1.logger.warn(`\nserve: terminating`);
74
+ // no need for these it seems
75
+ // emulatorProcess.kill()
76
+ // watchProcess.kill()
77
+ }
78
+ if (signal === 0) {
79
+ devkit_1.logger.warn(`serve: finished successfully`);
80
+ }
81
+ if (signal === 1) {
82
+ devkit_1.logger.error(`serve: finished with errors`);
83
+ }
84
+ };
85
+ process.on('exit', processExitListener);
86
+ process.on('SIGTERM', processExitListener);
87
+ process.on('SIGINT', processExitListener);
88
+ });
89
+ });
90
+ }
91
+ exports.default = runFirebaseServeExecutor;
92
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../../../packages/nx-firebase/src/executors/serve/serve.ts"],"names":[],"mappings":"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"}
@@ -98,7 +98,7 @@ function applicationGenerator(tree, rawOptions) {
98
98
  getconfig: {
99
99
  executor: 'nx:run-commands',
100
100
  options: {
101
- command: `nx run ${options.projectName}:firebase functions:config:get > ${options.projectRoot}/.runtimeconfig.json`,
101
+ command: `nx run ${options.projectName}:firebase functions:config:get > ${options.projectRoot}/environment/.runtimeconfig.json`,
102
102
  },
103
103
  },
104
104
  emulate: {
@@ -112,7 +112,7 @@ function applicationGenerator(tree, rawOptions) {
112
112
  },
113
113
  },
114
114
  serve: {
115
- executor: 'nx:run-commands',
115
+ executor: '@simondotm/nx-firebase:serve',
116
116
  options: {
117
117
  commands: [
118
118
  `nx run ${options.projectName}:watch`,
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../packages/nx-firebase/src/generators/application/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../packages/nx-firebase/src/generators/application/application.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ # Firebase function environment variables
2
+ # https://firebase.google.com/docs/functions/config-env?gen=2nd#env-variables
@@ -0,0 +1,2 @@
1
+ # Firebase function emulator environment variables
2
+ # https://firebase.google.com/docs/functions/config-env?gen=2nd#emulator_support
@@ -0,0 +1,2 @@
1
+ # Firebase function emulator secret environment variables
2
+ # https://firebase.google.com/docs/functions/config-env?gen=2nd#secrets_and_credentials_in_the_emulator
@@ -1,23 +1,22 @@
1
- // The Cloud Functions for Firebase SDK to create Cloud Functions and setup triggers.
2
- import * as functions from "firebase-functions";
1
+ /**
2
+ * Import function triggers from their respective submodules:
3
+ *
4
+ * import {onCall} from "firebase-functions/v2/https";
5
+ * import {onDocumentWritten} from "firebase-functions/v2/firestore";
6
+ *
7
+ * See a full list of supported triggers at https://firebase.google.com/docs/functions
8
+ */
3
9
 
4
- // The Firebase Admin SDK to access Firebase Features from within Cloud Functions.
5
- import * as admin from "firebase-admin";
6
- admin.initializeApp();
10
+ import {onRequest} from "firebase-functions/v2/https";
11
+ import * as logger from "firebase-functions/logger";
7
12
 
8
- // Set up extra settings. Since May 29, 2020, Firebase Firebase Added support for
9
- // calling FirebaseFirestore.settings with { ignoreUndefinedProperties: true }.
10
- // When this parameter is set, Cloud Firestore ignores undefined properties
11
- // inside objects rather than rejecting the API call.
12
- admin.firestore().settings({
13
- ignoreUndefinedProperties: true,
14
- });
13
+ // import { initializeApp } from "firebase-admin/app";
14
+ // initializeApp()
15
15
 
16
- // Start writing Firebase Functions
16
+ // Start writing functions
17
17
  // https://firebase.google.com/docs/functions/typescript
18
18
 
19
- export const helloWorld = functions.https.onRequest((request, response) => {
20
- functions.logger.info("Hello logs!", {structuredData: true});
19
+ export const helloWorld = onRequest((request, response) => {
20
+ logger.info("Hello logs!", {structuredData: true});
21
21
  response.send("Hello from Firebase!");
22
22
  });
23
-
@@ -63,7 +63,7 @@ function functionGenerator(tree, rawOptions) {
63
63
  // reconfigure the @nx/node:app to suit firebase functions
64
64
  (0, lib_1.updateProject)(tree, options);
65
65
  // update firebase functions config
66
- (0, lib_1.addFunction)(tree, options);
66
+ (0, lib_1.addFunctionConfig)(tree, options);
67
67
  // ensures newly added files are formatted to match workspace style
68
68
  if (!options.skipFormat) {
69
69
  yield (0, devkit_1.formatFiles)(tree);
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../../../../packages/nx-firebase/src/generators/function/function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../../../../packages/nx-firebase/src/generators/function/function.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { NormalizedOptions } from '../schema';
3
+ export declare function addFunctionConfig(tree: Tree, options: NormalizedOptions): void;
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addFunction = void 0;
3
+ exports.addFunctionConfig = void 0;
4
4
  const devkit_1 = require("@nx/devkit");
5
- function addFunction(tree, options) {
5
+ function addFunctionConfig(tree, options) {
6
6
  (0, devkit_1.updateJson)(tree, options.firebaseConfigName, (json) => {
7
7
  const functionConfig = {
8
8
  codebase: options.projectName,
9
9
  source: (0, devkit_1.joinPathFragments)('dist', options.projectRoot),
10
10
  runtime: `nodejs${options.runTime}`,
11
+ ignore: ['*.local'],
11
12
  };
12
13
  // console.log(`json.functions=${JSON.stringify(json.functions)}`)
13
14
  if (!Array.isArray(json.functions)) {
@@ -25,5 +26,5 @@ function addFunction(tree, options) {
25
26
  return json;
26
27
  });
27
28
  }
28
- exports.addFunction = addFunction;
29
- //# sourceMappingURL=add-function.js.map
29
+ exports.addFunctionConfig = addFunctionConfig;
30
+ //# sourceMappingURL=add-function-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-function-config.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/function/lib/add-function-config.ts"],"names":[],"mappings":";;;AAAA,uCAAgE;AAIhE,SAAgB,iBAAiB,CAAC,IAAU,EAAE,OAA0B;IACtE,IAAA,mBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,IAAoB,EAAE,EAAE;QACpE,MAAM,cAAc,GAAG;YACrB,QAAQ,EAAE,OAAO,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC;YACtD,OAAO,EAAE,SAAS,OAAO,CAAC,OAAO,EAAE;YACnC,MAAM,EAAE,CAAC,SAAS,CAAC;SACpB,CAAA;QAED,kEAAkE;QAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAClC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YAC1D,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;YACnB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE;gBACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;aACtC;SACF;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACnC,uCAAuC;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;YAC/D,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAxBD,8CAwBC"}
@@ -1,3 +1,3 @@
1
- export * from './add-function';
1
+ export * from './add-function-config';
2
2
  export * from './create-files';
3
3
  export * from './update-project';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./add-function"), exports);
4
+ tslib_1.__exportStar(require("./add-function-config"), exports);
5
5
  tslib_1.__exportStar(require("./create-files"), exports);
6
6
  tslib_1.__exportStar(require("./update-project"), exports);
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/function/lib/index.ts"],"names":[],"mappings":";;;AAAA,yDAA8B;AAC9B,yDAA8B;AAC9B,2DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/function/lib/index.ts"],"names":[],"mappings":";;;AAAA,gEAAqC;AACrC,yDAA8B;AAC9B,2DAAgC"}
@@ -28,6 +28,14 @@ function updateProject(tree, options) {
28
28
  },
29
29
  },
30
30
  };
31
+ // add reference to firebase app environment assets
32
+ const firebaseAppRoot = firebaseAppProject.root;
33
+ project.targets.build.options.assets.push({
34
+ glob: '**/*',
35
+ input: `${firebaseAppRoot}/environment`,
36
+ output: '.',
37
+ });
38
+ // add deploy target
31
39
  project.targets.deploy = {
32
40
  executor: 'nx:run-commands',
33
41
  options: {
@@ -1 +1 @@
1
- {"version":3,"file":"update-project.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/function/lib/update-project.ts"],"names":[],"mappings":";;;AAAA,uCAImB;AAGnB,SAAgB,aAAa,CAAC,IAAU,EAAE,OAA0B;IAClE,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAEnE,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;IAErD,kEAAkE;IAClE,kHAAkH;IAClH,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG;QACtB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,CAAC,sBAAsB,CAAC;QACjC,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU;YACpD,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;YACxC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ;YAChD,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;YAC5C,mBAAmB,EAAE,IAAI;YACzB,gEAAgE;YAChE,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,KAAK;YACjB,qBAAqB,EAAE,cAAc;YACrC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;YACjC,cAAc,EAAE;gBACd,QAAQ,EAAE,MAAM;aACjB;SACF;KACF,CAAA;IACD,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG;QACvB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE;YACP,2EAA2E;YAC3E,oGAAoG;YACpG,OAAO,EAAE,UAAU,kBAAkB,CAAC,IAAI,4BAA4B,OAAO,CAAC,WAAW,EAAE;SAC5F;QACD,SAAS,EAAE,CAAC,OAAO,CAAC;KACrB,CAAA;IAED,uCAAuC;IACvC,4FAA4F;IAC5F,+CAA+C;IAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAA;IAE5B,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAE9D,+DAA+D;IAC/D,kBAAkB,CAAC,oBAAoB,KAAvC,kBAAkB,CAAC,oBAAoB,GAAK,EAAE,EAAA;IAC9C,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACjE,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAA;IAC9C,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;AACnE,CAAC;AAlDD,sCAkDC"}
1
+ {"version":3,"file":"update-project.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/function/lib/update-project.ts"],"names":[],"mappings":";;;AAAA,uCAImB;AAGnB,SAAgB,aAAa,CAAC,IAAU,EAAE,OAA0B;IAClE,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAEnE,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;IAErD,kEAAkE;IAClE,kHAAkH;IAClH,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG;QACtB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,CAAC,sBAAsB,CAAC;QACjC,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU;YACpD,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;YACxC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ;YAChD,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;YAC5C,mBAAmB,EAAE,IAAI;YACzB,gEAAgE;YAChE,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,KAAK;YACjB,qBAAqB,EAAE,cAAc;YACrC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;YACjC,cAAc,EAAE;gBACd,QAAQ,EAAE,MAAM;aACjB;SACF;KACF,CAAA;IAED,mDAAmD;IACnD,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAA;IAC/C,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACxC,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,GAAG,eAAe,cAAc;QACvC,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IAEF,oBAAoB;IACpB,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG;QACvB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE;YACP,2EAA2E;YAC3E,oGAAoG;YACpG,OAAO,EAAE,UAAU,kBAAkB,CAAC,IAAI,4BAA4B,OAAO,CAAC,WAAW,EAAE;SAC5F;QACD,SAAS,EAAE,CAAC,OAAO,CAAC;KACrB,CAAA;IAED,uCAAuC;IACvC,4FAA4F;IAC5F,+CAA+C;IAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAA;IAE5B,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAE9D,+DAA+D;IAC/D,kBAAkB,CAAC,oBAAoB,KAAvC,kBAAkB,CAAC,oBAAoB,GAAK,EAAE,EAAA;IAC9C,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACjE,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAA;IAC9C,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;AACnE,CAAC;AA5DD,sCA4DC"}
@@ -21,7 +21,8 @@ function initGenerator(tree, rawOptions) {
21
21
  const options = (0, lib_1.normalizeOptions)(rawOptions);
22
22
  const nodeInitTask = yield (0, node_1.initGenerator)(tree, options);
23
23
  const installPackagesTask = (0, lib_1.addDependencies)(tree);
24
- (0, add_git_ignore_entry_1.addGitIgnoreEntry)(tree);
24
+ (0, add_git_ignore_entry_1.addGitIgnore)(tree);
25
+ (0, add_git_ignore_entry_1.addNxIgnore)(tree);
25
26
  return (0, devkit_1.runTasksInSerial)(nodeInitTask, installPackagesTask);
26
27
  });
27
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../packages/nx-firebase/src/generators/init/init.ts"],"names":[],"mappings":";;;;AACA,uCAAiE;AACjE,mCAA6D;AAC7D,+BAAyD;AACzD,qEAA8D;AAG9D;;;;;;;;;GASG;AACH,SAAsB,aAAa,CACjC,IAAU,EACV,UAAgC;;QAEhC,MAAM,OAAO,GAAG,IAAA,sBAAgB,EAAC,UAAU,CAAC,CAAA;QAC5C,MAAM,YAAY,GAAG,MAAM,IAAA,oBAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3D,MAAM,mBAAmB,GAAG,IAAA,qBAAe,EAAC,IAAI,CAAC,CAAA;QACjD,IAAA,wCAAiB,EAAC,IAAI,CAAC,CAAA;QAEvB,OAAO,IAAA,yBAAgB,EAAC,YAAY,EAAE,mBAAmB,CAAC,CAAA;IAC5D,CAAC;CAAA;AAVD,sCAUC;AAED,kBAAe,aAAa,CAAA;AAEf,QAAA,aAAa,GAAG,IAAA,2BAAkB,EAAC,aAAa,CAAC,CAAA"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../packages/nx-firebase/src/generators/init/init.ts"],"names":[],"mappings":";;;;AACA,uCAAiE;AACjE,mCAA6D;AAC7D,+BAAyD;AACzD,qEAAsE;AAGtE;;;;;;;;;GASG;AACH,SAAsB,aAAa,CACjC,IAAU,EACV,UAAgC;;QAEhC,MAAM,OAAO,GAAG,IAAA,sBAAgB,EAAC,UAAU,CAAC,CAAA;QAC5C,MAAM,YAAY,GAAG,MAAM,IAAA,oBAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3D,MAAM,mBAAmB,GAAG,IAAA,qBAAe,EAAC,IAAI,CAAC,CAAA;QACjD,IAAA,mCAAY,EAAC,IAAI,CAAC,CAAA;QAClB,IAAA,kCAAW,EAAC,IAAI,CAAC,CAAA;QAEjB,OAAO,IAAA,yBAAgB,EAAC,YAAY,EAAE,mBAAmB,CAAC,CAAA;IAC5D,CAAC;CAAA;AAXD,sCAWC;AAED,kBAAe,aAAa,CAAA;AAEf,QAAA,aAAa,GAAG,IAAA,2BAAkB,EAAC,aAAa,CAAC,CAAA"}
@@ -1,3 +1,5 @@
1
1
  import { Tree } from '@nx/devkit';
2
- export declare const gitIgnoreEntries = "\n\n# Nx-Firebase\n.runtimeconfig.json\n**/.emulators/*\n**/.firebase/*\ndatabase-debug.log\nfirebase-debug.log\nfirestore-debug.log\npubsub-debug.log\nui-debug.log\nfirebase-export*\n\n";
3
- export declare function addGitIgnoreEntry(host: Tree): void;
2
+ export declare const gitIgnoreRules: string[];
3
+ export declare const nxIgnoreRules: string[];
4
+ export declare function addGitIgnore(host: Tree): void;
5
+ export declare function addNxIgnore(host: Tree): void;
@@ -1,30 +1,49 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addGitIgnoreEntry = exports.gitIgnoreEntries = void 0;
4
- exports.gitIgnoreEntries = `
5
-
6
- # Nx-Firebase
7
- .runtimeconfig.json
8
- **/.emulators/*
9
- **/.firebase/*
10
- database-debug.log
11
- firebase-debug.log
12
- firestore-debug.log
13
- pubsub-debug.log
14
- ui-debug.log
15
- firebase-export*
16
-
17
- `;
18
- function addGitIgnoreEntry(host) {
3
+ exports.addNxIgnore = exports.addGitIgnore = exports.nxIgnoreRules = exports.gitIgnoreRules = void 0;
4
+ exports.gitIgnoreRules = [
5
+ '# Nx-Firebase',
6
+ '.runtimeconfig.json',
7
+ '**/.emulators/*',
8
+ '**/.firebase/*',
9
+ 'database-debug.log',
10
+ 'firebase-debug.log',
11
+ 'firestore-debug.log',
12
+ 'pubsub-debug.log',
13
+ 'ui-debug.log',
14
+ 'firebase-export*',
15
+ '.secret.local',
16
+ ];
17
+ // these rules tell nx to override .gitignore and consider these files as dependencies
18
+ exports.nxIgnoreRules = [
19
+ '# Nx-Firebase',
20
+ '!.secret.local',
21
+ '!.runtimeconfig.json',
22
+ ];
23
+ function addIgnoreRules(host, ignoreRules, ignoreFile) {
19
24
  var _a;
20
- if (!host.exists('.gitignore')) {
21
- host.write('.gitignore', exports.gitIgnoreEntries);
25
+ if (!host.exists(ignoreFile)) {
26
+ host.write(ignoreFile, `${ignoreRules.join('\n')}\n`);
22
27
  return;
23
28
  }
24
- const content = (_a = host.read('.gitignore')) === null || _a === void 0 ? void 0 : _a.toString('utf-8');
25
- if (!content.includes(exports.gitIgnoreEntries)) {
26
- host.write('.gitignore', content.concat(exports.gitIgnoreEntries));
29
+ let content = (_a = host.read(ignoreFile)) === null || _a === void 0 ? void 0 : _a.toString('utf-8');
30
+ let updated = false;
31
+ for (const entry of ignoreRules) {
32
+ if (!content.includes(entry)) {
33
+ content += `${entry}\n`;
34
+ updated = true;
35
+ }
27
36
  }
37
+ if (updated) {
38
+ host.write(ignoreFile, content);
39
+ }
40
+ }
41
+ function addGitIgnore(host) {
42
+ addIgnoreRules(host, exports.gitIgnoreRules, '.gitignore');
43
+ }
44
+ exports.addGitIgnore = addGitIgnore;
45
+ function addNxIgnore(host) {
46
+ addIgnoreRules(host, exports.nxIgnoreRules, '.nxignore');
28
47
  }
29
- exports.addGitIgnoreEntry = addGitIgnoreEntry;
48
+ exports.addNxIgnore = addNxIgnore;
30
49
  //# sourceMappingURL=add-git-ignore-entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-git-ignore-entry.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/init/lib/add-git-ignore-entry.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAG;;;;;;;;;;;;;CAa/B,CAAA;AAED,SAAgB,iBAAiB,CAAC,IAAU;;IAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;QAC9B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,wBAAgB,CAAC,CAAA;QAC1C,OAAM;KACP;IAED,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,0CAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAgB,CAAC,EAAE;QACvC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC,CAAA;KAC3D;AACH,CAAC;AAVD,8CAUC"}
1
+ {"version":3,"file":"add-git-ignore-entry.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/init/lib/add-git-ignore-entry.ts"],"names":[],"mappings":";;;AAEa,QAAA,cAAc,GAAG;IAC5B,eAAe;IACf,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB;IAChB,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,kBAAkB;IAClB,cAAc;IACd,kBAAkB;IAClB,eAAe;CAChB,CAAA;AAED,sFAAsF;AACzE,QAAA,aAAa,GAAG;IAC3B,eAAe;IACf,gBAAgB;IAChB,sBAAsB;CACvB,CAAA;AAED,SAAS,cAAc,CAAC,IAAU,EAAE,WAAqB,EAAE,UAAkB;;IAC3E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAC5B,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrD,OAAM;KACP;IAED,IAAI,OAAO,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,0CAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IACtD,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;QAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC5B,OAAO,IAAI,GAAG,KAAK,IAAI,CAAA;YACvB,OAAO,GAAG,IAAI,CAAA;SACf;KACF;IACD,IAAI,OAAO,EAAE;QACX,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;KAChC;AACH,CAAC;AAED,SAAgB,YAAY,CAAC,IAAU;IACrC,cAAc,CAAC,IAAI,EAAE,sBAAc,EAAE,YAAY,CAAC,CAAA;AACpD,CAAC;AAFD,oCAEC;AAED,SAAgB,WAAW,CAAC,IAAU;IACpC,cAAc,CAAC,IAAI,EAAE,qBAAa,EAAE,WAAW,CAAC,CAAA;AAClD,CAAC;AAFD,kCAEC"}
@@ -1,6 +1,6 @@
1
1
  export interface InitGeneratorOptions {
2
- unitTestRunner?: 'jest' | 'none';
3
- skipFormat?: boolean;
4
- js?: boolean;
5
- rootProject?: boolean;
2
+ unitTestRunner?: 'jest' | 'none'
3
+ skipFormat?: boolean
4
+ js?: boolean
5
+ rootProject?: boolean
6
6
  }
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { FirebaseWorkspace } from '../../sync/lib/types';
3
+ export declare function runMigrations(tree: Tree, workspace: FirebaseWorkspace): void;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runMigrations = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const fs_1 = require("fs");
6
+ function runMigrations(tree, workspace) {
7
+ devkit_1.logger.info(`Running plugin migrations for workspace`);
8
+ // ensure ignores in .gitignore
9
+ // ensure ignores in .nxignore
10
+ // init generator takes care of this
11
+ // [2.0.0 -> 2.1.0] ensure environment files are present in apps dir
12
+ workspace.firebaseAppProjects.forEach((project, name) => {
13
+ const envPath = `${project.root}/environment`;
14
+ const envFiles = [`.env`, `.env.local`, `.secret.local`];
15
+ for (const envFile of envFiles) {
16
+ const fullPath = `${envPath}/${envFile}`;
17
+ if (!tree.exists(fullPath)) {
18
+ const src = (0, fs_1.readFileSync)((0, devkit_1.joinPathFragments)(__dirname, '..', '..', 'application', 'files', 'environment', envFile));
19
+ tree.write((0, devkit_1.joinPathFragments)(project.root, 'environment', envFile), src);
20
+ devkit_1.logger.info(`MIGRATE Added default environment file 'environment/${envFile}' for firebase app '${name}'`);
21
+ }
22
+ }
23
+ });
24
+ // [2.0.0 -> 2.1.0] ensure getconfig path is environment
25
+ workspace.firebaseAppProjects.forEach((project, name) => {
26
+ const getconfig = project.targets['getconfig'];
27
+ const command = getconfig === null || getconfig === void 0 ? void 0 : getconfig.options.command;
28
+ const legacyPath = (0, devkit_1.joinPathFragments)(project.root, '.runtimeconfig.json');
29
+ if (command.includes(legacyPath)) {
30
+ getconfig.options.command = command.replace(legacyPath, (0, devkit_1.joinPathFragments)(project.root, 'environment', '.runtimeconfig.json'));
31
+ devkit_1.logger.info(`MIGRATE Updated getconfig target to use ignore environment directory for firebase app '${name}'`);
32
+ (0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
33
+ }
34
+ });
35
+ // [2.0.0 -> 2.1.0] ensure globs in function projects
36
+ workspace.firebaseFunctionProjects.forEach((project, name) => {
37
+ var _a;
38
+ const assets = (_a = project.targets['build']) === null || _a === void 0 ? void 0 : _a.options.assets;
39
+ const globs = `{ "glob": "**/*", "input": "${project.root}/environment", "output": "."}`;
40
+ if (!assets.includes(globs)) {
41
+ assets.push(globs);
42
+ devkit_1.logger.info(`MIGRATE Added assets glob for firebase function app '${name}'`);
43
+ (0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
44
+ }
45
+ });
46
+ // [2.0.0 -> 2.1.0] ensure ignores to function firebase.json
47
+ workspace.firebaseConfigs.forEach((config, configFilename) => {
48
+ if (!Array.isArray(config.functions)) {
49
+ // promote to array if single function object
50
+ config.functions = [config.functions];
51
+ }
52
+ config.functions.map((func) => {
53
+ const ignoreRule = '*.local';
54
+ const ignore = func.ignore || [];
55
+ if (!ignore.includes(ignoreRule)) {
56
+ devkit_1.logger.info(`MIGRATE Added ignore rule to firebase config '${configFilename}' for firebase function codebase '${func.codebase}'`);
57
+ ignore.push(ignoreRule);
58
+ }
59
+ func.ignore = ignore;
60
+ });
61
+ (0, devkit_1.writeJson)(tree, configFilename, config);
62
+ });
63
+ // [2.0.0 -> 2.1.0] change firebase serve target
64
+ workspace.firebaseAppProjects.forEach((project, name) => {
65
+ const serve = project.targets['serve'];
66
+ const serveExecutor = '@simondotm/nx-firebase:serve';
67
+ if (serve.executor !== serveExecutor) {
68
+ serve.executor = serveExecutor;
69
+ devkit_1.logger.info(`MIGRATE Updated serve target for firebase app '${name}'`);
70
+ (0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
71
+ }
72
+ });
73
+ }
74
+ exports.runMigrations = runMigrations;
75
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/migrate/lib/migrate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { GeneratorCallback, Tree } from '@nx/devkit';
2
+ import { MigrateGeneratorSchema } from './schema';
3
+ /**
4
+ * Migrate firebase workspace
5
+ *
6
+ */
7
+ export default function migrateGenerator(tree: Tree, options: MigrateGeneratorSchema): Promise<GeneratorCallback>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const devkit_1 = require("@nx/devkit");
5
+ const init_1 = require("../init/init");
6
+ const lib_1 = require("../sync/lib");
7
+ const migrate_1 = require("./lib/migrate");
8
+ /**
9
+ * Migrate firebase workspace
10
+ *
11
+ */
12
+ function migrateGenerator(tree,
13
+ // eslint-disable-next-line
14
+ options) {
15
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
+ const tasks = [];
17
+ // initialise plugin
18
+ const initTask = yield (0, init_1.default)(tree, {});
19
+ tasks.push(initTask);
20
+ // otherwise, sync the workspace.
21
+ // build lists of firebase apps & functions that have been deleted or renamed
22
+ (0, lib_1.debugInfo)('- Migrating workspace');
23
+ const workspace = (0, lib_1.getFirebaseWorkspace)(tree);
24
+ devkit_1.logger.info(`This workspace has ${workspace.firebaseAppProjects.size} firebase apps and ${workspace.firebaseFunctionProjects.size} firebase functions\n\n`);
25
+ (0, migrate_1.runMigrations)(tree, workspace);
26
+ return (0, devkit_1.runTasksInSerial)(...tasks);
27
+ });
28
+ }
29
+ exports.default = migrateGenerator;
30
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../../../packages/nx-firebase/src/generators/migrate/migrate.ts"],"names":[],"mappings":";;;AAAA,uCAA8E;AAG9E,uCAAwC;AAExC,qCAA6D;AAC7D,2CAA6C;AAE7C;;;GAGG;AACH,SAA8B,gBAAgB,CAC5C,IAAU;AACV,2BAA2B;AAC3B,OAA+B;;QAE/B,MAAM,KAAK,GAAwB,EAAE,CAAA;QAErC,oBAAoB;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAa,EAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEpB,iCAAiC;QACjC,6EAA6E;QAC7E,IAAA,eAAS,EAAC,uBAAuB,CAAC,CAAA;QAElC,MAAM,SAAS,GAAG,IAAA,0BAAoB,EAAC,IAAI,CAAC,CAAA;QAE5C,eAAM,CAAC,IAAI,CACT,sBAAsB,SAAS,CAAC,mBAAmB,CAAC,IAAI,sBAAsB,SAAS,CAAC,wBAAwB,CAAC,IAAI,yBAAyB,CAC/I,CAAA;QAED,IAAA,uBAAa,EAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAE9B,OAAO,IAAA,yBAAgB,EAAC,GAAG,KAAK,CAAC,CAAA;IACnC,CAAC;CAAA;AAxBD,mCAwBC"}
@@ -0,0 +1,2 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
2
+ export interface MigrateGeneratorSchema {}
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "Migrate",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ },
8
+ "required": []
9
+ }
@@ -5,3 +5,4 @@ export * from './firebase-projects';
5
5
  export * from './firebase-workspace';
6
6
  export * from './tags';
7
7
  export * from './types';
8
+ export * from './update-targets';
@@ -8,4 +8,5 @@ tslib_1.__exportStar(require("./firebase-projects"), exports);
8
8
  tslib_1.__exportStar(require("./firebase-workspace"), exports);
9
9
  tslib_1.__exportStar(require("./tags"), exports);
10
10
  tslib_1.__exportStar(require("./types"), exports);
11
+ tslib_1.__exportStar(require("./update-targets"), exports);
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/sync/lib/index.ts"],"names":[],"mappings":";;;AAAA,+DAAoC;AACpC,6DAAkC;AAClC,6DAAkC;AAClC,8DAAmC;AACnC,+DAAoC;AACpC,iDAAsB;AACtB,kDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/sync/lib/index.ts"],"names":[],"mappings":";;;AAAA,+DAAoC;AACpC,6DAAkC;AAClC,6DAAkC;AAClC,8DAAmC;AACnC,+DAAoC;AACpC,iDAAsB;AACtB,kDAAuB;AACvB,2DAAgC"}
@@ -0,0 +1,4 @@
1
+ import { ProjectConfiguration, Tree } from '@nx/devkit';
2
+ declare type ValidTarget = 'firebase' | 'watch' | 'emulate' | 'lint' | 'test' | 'serve' | 'deploy' | 'getconfig' | 'killports';
3
+ export declare function renameCommandForTarget(tree: Tree, project: ProjectConfiguration, targetName: ValidTarget, search: string, replace: string): void;
4
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renameCommandForTarget = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ function renameCommandForTarget(tree, project, targetName, search, replace) {
6
+ const target = project.targets[targetName];
7
+ if (!target) {
8
+ throw new Error(`Could not find target '${targetName}' in project '${project.name}'`);
9
+ }
10
+ if (target.options.commands) {
11
+ target.options.commands = target.options.commands.map((cmd) => {
12
+ return cmd.replace(search, replace);
13
+ });
14
+ }
15
+ if (target.options.command) {
16
+ target.options.command = target.options.command.replace(search, replace);
17
+ }
18
+ (0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
19
+ }
20
+ exports.renameCommandForTarget = renameCommandForTarget;
21
+ //# sourceMappingURL=update-targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-targets.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/sync/lib/update-targets.ts"],"names":[],"mappings":";;;AAAA,uCAKmB;AAkBnB,SAAgB,sBAAsB,CACpC,IAAU,EACV,OAA6B,EAC7B,UAAuB,EACvB,MAAc,EACd,OAAe;IAEf,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAqC,CAAA;IAC9E,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CACb,0BAA0B,UAAU,iBAAiB,OAAO,CAAC,IAAI,GAAG,CACrE,CAAA;KACF;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC3B,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5D,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;KACH;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE;QAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACzE;IACD,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACzD,CAAC;AAtBD,wDAsBC"}
@@ -2,4 +2,5 @@ export interface SyncGeneratorSchema {
2
2
  app?: string
3
3
  project?: string
4
4
  // functions?: boolean
5
+ migrate?: boolean
5
6
  }
@@ -13,7 +13,12 @@
13
13
  "type": "string",
14
14
  "description": "The firebase project that should be associated with this application",
15
15
  "default": ""
16
- }
16
+ },
17
+ "migrate": {
18
+ "type": "boolean",
19
+ "description": "Run the plugin migration check for your workspace",
20
+ "default": false
21
+ }
17
22
  },
18
23
  "required": []
19
24
  }
@@ -6,6 +6,7 @@ const devkit_1 = require("@nx/devkit");
6
6
  const utils_1 = require("../../utils");
7
7
  const init_1 = require("../init/init");
8
8
  const lib_1 = require("./lib");
9
+ const migrate_1 = require("../migrate/lib/migrate");
9
10
  const FUNCTIONS_DEPLOY_MATCHER = /(--only[ =]functions:)([^\s]+)/;
10
11
  /**
11
12
  * Sync firebase workspace
@@ -17,6 +18,16 @@ function syncGenerator(tree, options) {
17
18
  // initialise plugin
18
19
  const initTask = yield (0, init_1.default)(tree, {});
19
20
  tasks.push(initTask);
21
+ // otherwise, sync the workspace.
22
+ // build lists of firebase apps & functions that have been deleted or renamed
23
+ (0, lib_1.debugInfo)('- Syncing workspace');
24
+ const workspace = (0, lib_1.getFirebaseWorkspace)(tree);
25
+ devkit_1.logger.info(`This workspace has ${workspace.firebaseAppProjects.size} firebase apps and ${workspace.firebaseFunctionProjects.size} firebase functions\n\n`);
26
+ // run migrations if required
27
+ if (options.migrate) {
28
+ (0, migrate_1.runMigrations)(tree, workspace);
29
+ return;
30
+ }
20
31
  // change the firebase project for an nx firebase app project
21
32
  if (options.project) {
22
33
  // --project option requires --app option to be specified
@@ -34,11 +45,6 @@ function syncGenerator(tree, options) {
34
45
  }
35
46
  return;
36
47
  }
37
- // otherwise, sync the workspace.
38
- // build lists of firebase apps & functions that have been deleted or renamed
39
- (0, lib_1.debugInfo)('- Syncing workspace');
40
- const workspace = (0, lib_1.getFirebaseWorkspace)(tree);
41
- devkit_1.logger.info(`This workspace has ${workspace.firebaseAppProjects.size} firebase apps and ${workspace.firebaseFunctionProjects.size} firebase functions\n\n`);
42
48
  /**
43
49
  * Nx automatically:
44
50
  * - updates implicitDependencies when projects are renamed with `nx g mv`
@@ -89,14 +95,46 @@ function syncGenerator(tree, options) {
89
95
  workspace.renamedApps.forEach((project, oldName) => {
90
96
  (0, lib_1.updateFirebaseProjectNameTag)(tree, project);
91
97
  devkit_1.logger.info(`CHANGE Firebase app '${oldName}' was renamed to '${project.name}', updated firebase:name tag`);
98
+ // we also need to update nx:run-commands in the renamed projects for various targets
99
+ // test target
100
+ (0, lib_1.renameCommandForTarget)(tree, project, 'test', `tag:firebase:dep:${oldName}`, `tag:firebase:dep:${project.name}`);
101
+ // lint target
102
+ (0, lib_1.renameCommandForTarget)(tree, project, 'lint', `tag:firebase:dep:${oldName}`, `tag:firebase:dep:${project.name}`);
103
+ // watch target
104
+ (0, lib_1.renameCommandForTarget)(tree, project, 'watch', `tag:firebase:dep:${oldName}`, `tag:firebase:dep:${project.name}`);
105
+ // serve target
106
+ (0, lib_1.renameCommandForTarget)(tree, project, 'serve', `${oldName}:`, `${project.name}:`);
107
+ // deploy target
108
+ (0, lib_1.renameCommandForTarget)(tree, project, 'deploy', `${oldName}:`, `${project.name}:`);
109
+ // getconfig target
110
+ (0, lib_1.renameCommandForTarget)(tree, project, 'getconfig', `${oldName}:`, `${project.name}:`);
111
+ (0, lib_1.renameCommandForTarget)(tree, project, 'getconfig', `/${oldName}/`, `/${project.name}/`);
112
+ // killports target
113
+ (0, lib_1.renameCommandForTarget)(tree, project, 'killports', `${oldName}:`, `${project.name}:`);
114
+ // emulate target
115
+ (0, lib_1.renameCommandForTarget)(tree, project, 'emulate', `/${oldName}/`, `/${project.name}/`);
116
+ (0, lib_1.renameCommandForTarget)(tree, project, 'emulate', `${oldName}:`, `${project.name}:`);
117
+ devkit_1.logger.info(`CHANGE Firebase app '${oldName}' was renamed to '${project.name}', updated targets`);
92
118
  });
93
119
  // 4. update the firebase:dep tag for functions linked to renamed apps
94
120
  workspace.firebaseFunctionProjects.forEach((project, name) => {
95
121
  const { tagValue, tagIndex } = (0, lib_1.getFirebaseScopeFromTag)(project, 'firebase:dep');
96
122
  if (workspace.renamedApps.has(tagValue)) {
123
+ // update the firebase:dep tag
97
124
  const renamedApp = workspace.renamedApps.get(tagValue);
98
125
  project.tags[tagIndex] = `firebase:dep:${renamedApp.name}`;
99
126
  devkit_1.logger.info(`CHANGE Firebase app '${tagValue}' was renamed to '${renamedApp.name}', updated firebase:dep tag in firebase function '${name}'`);
127
+ // update the environment assets glob also
128
+ const functionAssets = project.targets.build.options.assets;
129
+ for (const asset of functionAssets) {
130
+ if (typeof asset === 'object') {
131
+ if (asset.input) {
132
+ asset.input = renamedApp.root;
133
+ devkit_1.logger.info(`CHANGE Firebase app '${tagValue}' was renamed to '${renamedApp.name}', updated environment assets path in firebase function '${name}'`);
134
+ }
135
+ }
136
+ }
137
+ // update the function project config
100
138
  (0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
101
139
  }
102
140
  else {
@@ -155,6 +193,51 @@ function syncGenerator(tree, options) {
155
193
  (0, devkit_1.writeJson)(tree, configFileName, config);
156
194
  }
157
195
  });
196
+ // 8. sync firebase configs for rules & hosting for renamed apps
197
+ workspace.renamedApps.forEach((project, oldProjectName) => {
198
+ const configFileName = workspace.firebaseAppConfigs.get(project.name);
199
+ const config = workspace.firebaseConfigs.get(configFileName);
200
+ // update config rules that are in the firebase app
201
+ const databaseRules = (0, devkit_1.joinPathFragments)(project.root, 'database.rules.json');
202
+ if (config.database && config.database.rules !== databaseRules) {
203
+ config.database.rules = databaseRules;
204
+ devkit_1.logger.info(`CHANGE Firebase app '${oldProjectName}' was renamed to '${project.name}', updated database rules in '${configFileName}'`);
205
+ }
206
+ const firestoreRules = (0, devkit_1.joinPathFragments)(project.root, 'firestore.rules');
207
+ if (config.firestore && config.firestore.rules !== firestoreRules) {
208
+ config.firestore.rules = firestoreRules;
209
+ devkit_1.logger.info(`CHANGE Firebase app '${oldProjectName}' was renamed to '${project.name}', updated firestore rules in '${configFileName}'`);
210
+ }
211
+ const firestoreIndexes = (0, devkit_1.joinPathFragments)(project.root, 'firestore.indexes.json');
212
+ if (config.firestore && config.firestore.indexes !== firestoreIndexes) {
213
+ config.firestore.indexes = firestoreIndexes;
214
+ devkit_1.logger.info(`CHANGE Firebase app '${oldProjectName}' was renamed to '${project.name}', updated firestore indexes in '${configFileName}'`);
215
+ }
216
+ const storageRules = (0, devkit_1.joinPathFragments)(project.root, 'storage.rules');
217
+ if (config.storage && config.storage.rules !== storageRules) {
218
+ config.storage.rules = storageRules;
219
+ devkit_1.logger.info(`CHANGE Firebase app '${oldProjectName}' was renamed to '${project.name}', updated storage rules in '${configFileName}'`);
220
+ }
221
+ (0, devkit_1.writeJson)(tree, configFileName, config);
222
+ });
223
+ // 9. validate hosting rules match a project
224
+ workspace.firebaseConfigs.forEach((config, configFileName) => {
225
+ const projects = (0, devkit_1.getProjects)(tree);
226
+ if (!Array.isArray(config.hosting)) {
227
+ config.hosting = [config.hosting];
228
+ }
229
+ config.hosting.forEach((host) => {
230
+ let isValid = false;
231
+ projects.forEach((nxProject) => {
232
+ if (host.public.includes(nxProject.root)) {
233
+ isValid = true;
234
+ }
235
+ });
236
+ if (!isValid) {
237
+ devkit_1.logger.warn(`Can't match hosting target '${host.target}' public dir '${host.public}' in '${configFileName}' to a project in this workspace. Is it configured correctly?`);
238
+ }
239
+ });
240
+ });
158
241
  // if user deletes a project that was linked to firebase.json config but there
159
242
  // are other firebase apps in the workspace, we need to inform user about
160
243
  // this, since we dont have a way
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../../../packages/nx-firebase/src/generators/sync/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../../../packages/nx-firebase/src/generators/sync/sync.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export declare function debugInfo(info: string): void;
2
- export declare function mapKeys(map: Map<any, any>): string;
3
- export declare function mapValues(map: Map<any, any>): string;
4
- export declare function mapEntries(map: Map<any, any>): string;
2
+ export declare function mapKeys<T, R>(map: Map<T, R>): string;
3
+ export declare function mapValues<T, R>(map: Map<T, R>): string;
4
+ export declare function mapEntries<T, R>(map: Map<T, R>): string;
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../../../packages/nx-firebase/src/utils/debug.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAEnC,6BAA6B;AAC7B,MAAM,iBAAiB,GAAG,KAAK,CAAA;AAE/B,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,iBAAiB,EAAE;QACrB,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAClB;AACH,CAAC;AAJD,8BAIC;AAED,SAAgB,OAAO,CAAC,GAAkB;IACxC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACjD,CAAC;AAFD,0BAEC;AAED,SAAgB,SAAS,CAAC,GAAkB;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACnD,CAAC;AAFD,8BAEC;AAED,SAAgB,UAAU,CAAC,GAAkB;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACpD,CAAC;AAFD,gCAEC"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../../../packages/nx-firebase/src/utils/debug.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAEnC,6BAA6B;AAC7B,MAAM,iBAAiB,GAAG,KAAK,CAAA;AAE/B,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,iBAAiB,EAAE;QACrB,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAClB;AACH,CAAC;AAJD,8BAIC;AAED,SAAgB,OAAO,CAAO,GAAc;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACjD,CAAC;AAFD,0BAEC;AAED,SAAgB,SAAS,CAAO,GAAc;IAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACnD,CAAC;AAFD,8BAEC;AAED,SAAgB,UAAU,CAAO,GAAc;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACpD,CAAC;AAFD,gCAEC"}
@@ -4,6 +4,41 @@ export interface FirebaseFunction {
4
4
  source: string;
5
5
  codebase: string;
6
6
  runtime: string;
7
+ ignore?: string[];
8
+ }
9
+ export interface FirebaseHosting {
10
+ target?: string;
11
+ public: string;
12
+ ignore?: string[];
13
+ redirects?: {
14
+ source: string;
15
+ destination: string;
16
+ type: number;
17
+ }[];
18
+ rewrites?: {
19
+ source: string;
20
+ destination: string;
21
+ dynamicLinks?: boolean;
22
+ function?: {
23
+ functionId: string;
24
+ region?: string;
25
+ pinTag?: boolean;
26
+ };
27
+ run?: {
28
+ serviceId: string;
29
+ region: string;
30
+ };
31
+ };
32
+ cleanUrls?: boolean;
33
+ trailingSlash?: boolean;
34
+ appAssociation?: 'AUTO';
35
+ headers?: {
36
+ source: string;
37
+ headers: {
38
+ key: string;
39
+ value: string;
40
+ }[];
41
+ }[];
7
42
  }
8
43
  export interface FirebaseConfig {
9
44
  database: {
@@ -13,24 +48,7 @@ export interface FirebaseConfig {
13
48
  rules: string;
14
49
  indexes: string;
15
50
  };
16
- hosting: {
17
- target: string;
18
- public: string;
19
- ignore: string[];
20
- rewrites: {
21
- source: string;
22
- destination: string;
23
- }[];
24
- headers: [
25
- {
26
- source: string;
27
- headers: {
28
- key: string;
29
- value: string;
30
- }[];
31
- }
32
- ];
33
- }[];
51
+ hosting: FirebaseHosting | FirebaseHosting[];
34
52
  storage: {
35
53
  rules: string;
36
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"firebase-config.js","sourceRoot":"","sources":["../../../../../packages/nx-firebase/src/utils/firebase-config.ts"],"names":[],"mappings":";;;AAEA,MAAM,8BAA8B,GAAG,wBAAwB,CAAA;AA0D/D;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAC1C,IAAU,EACV,OAA6B,EAC7B,OAAe;IAEf,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAC3D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC3B,6FAA6F;QAC7F,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,CAAC,IAAI,oCAAoC,UAAU,wCAAwC,CAC3H,CAAA;SACF;QACD,OAAO,UAAU,CAAA;KAClB;IACD,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,CAAC,IAAI,uDAAuD,CAC5F,CAAA;AACH,CAAC;AAnBD,oEAmBC;AAED;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAC1C,IAAU,EACV,OAA6B;IAE7B,OAAO,4BAA4B,CACjC,IAAI,EACJ,OAAO,EACP,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CACzC,CAAA;AACH,CAAC;AATD,oEASC;AAED;;;;GAIG;AACH,SAAgB,4BAA4B,CAC1C,OAA6B,EAC7B,cAAsB;IAEtB,8EAA8E;IAC9E,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAA;IAC/C,cAAc,CAAC,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CACrE,8BAA8B,EAC9B,IAAI,GAAG,cAAc,CACtB,CAAA;IACD,0DAA0D;IAC1D,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAA;IACpD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;QAC1C,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO,GAAG,cAAc,CACpD,aAAa,CACd,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,EAAE,IAAI,GAAG,cAAc,CAAC,CAAA;KACzE;AACH,CAAC;AAjBD,oEAiBC"}
1
+ {"version":3,"file":"firebase-config.js","sourceRoot":"","sources":["../../../../../packages/nx-firebase/src/utils/firebase-config.ts"],"names":[],"mappings":";;;AAEA,MAAM,8BAA8B,GAAG,wBAAwB,CAAA;AA6E/D;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAC1C,IAAU,EACV,OAA6B,EAC7B,OAAe;IAEf,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAC3D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC3B,6FAA6F;QAC7F,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,CAAC,IAAI,oCAAoC,UAAU,wCAAwC,CAC3H,CAAA;SACF;QACD,OAAO,UAAU,CAAA;KAClB;IACD,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,CAAC,IAAI,uDAAuD,CAC5F,CAAA;AACH,CAAC;AAnBD,oEAmBC;AAED;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAC1C,IAAU,EACV,OAA6B;IAE7B,OAAO,4BAA4B,CACjC,IAAI,EACJ,OAAO,EACP,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CACzC,CAAA;AACH,CAAC;AATD,oEASC;AAED;;;;GAIG;AACH,SAAgB,4BAA4B,CAC1C,OAA6B,EAC7B,cAAsB;IAEtB,8EAA8E;IAC9E,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAA;IAC/C,cAAc,CAAC,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CACrE,8BAA8B,EAC9B,IAAI,GAAG,cAAc,CACtB,CAAA;IACD,0DAA0D;IAC1D,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAA;IACpD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;QAC1C,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO,GAAG,cAAc,CACpD,aAAa,CACd,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,EAAE,IAAI,GAAG,cAAc,CAAC,CAAA;KACzE;AACH,CAAC;AAjBD,oEAiBC"}
@@ -1,4 +1,3 @@
1
- export * from './types';
2
1
  export * from './versions';
3
2
  export * from './workspace';
4
3
  export * from './update-tsconfig';
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./types"), exports);
5
4
  tslib_1.__exportStar(require("./versions"), exports);
6
5
  tslib_1.__exportStar(require("./workspace"), exports);
7
6
  tslib_1.__exportStar(require("./update-tsconfig"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/nx-firebase/src/utils/index.ts"],"names":[],"mappings":";;;AAAA,kDAAuB;AACvB,qDAA0B;AAC1B,sDAA2B;AAC3B,4DAAiC;AACjC,yDAA8B;AAC9B,4DAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/nx-firebase/src/utils/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0B;AAC1B,sDAA2B;AAC3B,4DAAiC;AACjC,yDAA8B;AAC9B,4DAAiC"}
@@ -1,11 +1,11 @@
1
1
  export declare const pluginNxVersion = "^16.1.1";
2
2
  export declare const pluginNxVersionMajor = 16;
3
3
  export declare const tsLibVersion = "^2.0.0";
4
- export declare const firebaseAdminVersion = "^11.3.0";
5
- export declare const firebaseFunctionsVersion = "^4.1.0";
6
- export declare const firebaseToolsVersion = "^11.16.1";
4
+ export declare const firebaseAdminVersion = "^11.10.1";
5
+ export declare const firebaseFunctionsVersion = "^4.4.1";
6
+ export declare const firebaseToolsVersion = "^12.4.5";
7
7
  export declare const firebaseVersion = "^9.14.0";
8
- export declare const firebaseFunctionsTestVersion = "^0.2.0";
8
+ export declare const firebaseFunctionsTestVersion = "^3.1.0";
9
9
  export declare const firebaseNodeEngine = "16";
10
10
  export declare const firebaseNodeRuntime: string;
11
11
  export declare const nodeEsVersion: Record<string, string>;
@@ -8,11 +8,11 @@ exports.pluginNxVersionMajor = 16;
8
8
  exports.tsLibVersion = '^2.0.0';
9
9
  // Firebase packages are not managed by the plugin
10
10
  // but they are added if they do not exist already in the workspace
11
- exports.firebaseAdminVersion = '^11.3.0';
12
- exports.firebaseFunctionsVersion = '^4.1.0';
13
- exports.firebaseToolsVersion = '^11.16.1';
11
+ exports.firebaseAdminVersion = '^11.10.1';
12
+ exports.firebaseFunctionsVersion = '^4.4.1';
13
+ exports.firebaseToolsVersion = '^12.4.5';
14
14
  exports.firebaseVersion = '^9.14.0';
15
- exports.firebaseFunctionsTestVersion = '^0.2.0';
15
+ exports.firebaseFunctionsTestVersion = '^3.1.0';
16
16
  // Target node 16 for all firebase projects now
17
17
  exports.firebaseNodeEngine = '16';
18
18
  exports.firebaseNodeRuntime = `nodejs${exports.firebaseNodeEngine}`;
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-firebase/src/utils/versions.ts"],"names":[],"mappings":";;;AAAA,4EAA4E;AAC/D,QAAA,eAAe,GAAG,SAAS,CAAA;AAC3B,QAAA,oBAAoB,GAAG,EAAE,CAAA;AAEtC,6CAA6C;AAChC,QAAA,YAAY,GAAG,QAAQ,CAAA;AAEpC,kDAAkD;AAClD,mEAAmE;AACtD,QAAA,oBAAoB,GAAG,SAAS,CAAA;AAChC,QAAA,wBAAwB,GAAG,QAAQ,CAAA;AACnC,QAAA,oBAAoB,GAAG,UAAU,CAAA;AACjC,QAAA,eAAe,GAAG,SAAS,CAAA;AAC3B,QAAA,4BAA4B,GAAG,QAAQ,CAAA;AAEpD,+CAA+C;AAClC,QAAA,kBAAkB,GAAG,IAAI,CAAA;AACzB,QAAA,mBAAmB,GAAG,SAAS,0BAAkB,EAAE,CAAA;AAEhE,2FAA2F;AAE9E,QAAA,aAAa,GAA2B;IACnD,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,cAAc,GAAG,qBAAa,CAAC,0BAAkB,CAAC,CAAA;AAE/D,IAAI,CAAC,sBAAc,EAAE;IACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;CAC5C;AAED,iDAAiD;AACpC,QAAA,eAAe,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-firebase/src/utils/versions.ts"],"names":[],"mappings":";;;AAAA,4EAA4E;AAC/D,QAAA,eAAe,GAAG,SAAS,CAAA;AAC3B,QAAA,oBAAoB,GAAG,EAAE,CAAA;AAEtC,6CAA6C;AAChC,QAAA,YAAY,GAAG,QAAQ,CAAA;AAEpC,kDAAkD;AAClD,mEAAmE;AACtD,QAAA,oBAAoB,GAAG,UAAU,CAAA;AACjC,QAAA,wBAAwB,GAAG,QAAQ,CAAA;AACnC,QAAA,oBAAoB,GAAG,SAAS,CAAA;AAChC,QAAA,eAAe,GAAG,SAAS,CAAA;AAC3B,QAAA,4BAA4B,GAAG,QAAQ,CAAA;AAEpD,+CAA+C;AAClC,QAAA,kBAAkB,GAAG,IAAI,CAAA;AACzB,QAAA,mBAAmB,GAAG,SAAS,0BAAkB,EAAE,CAAA;AAEhE,2FAA2F;AAE9E,QAAA,aAAa,GAA2B;IACnD,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,cAAc,GAAG,qBAAa,CAAC,0BAAkB,CAAC,CAAA;AAE/D,IAAI,CAAC,sBAAc,EAAE;IACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;CAC5C;AAED,iDAAiD;AACpC,QAAA,eAAe,GAAG,QAAQ,CAAA"}
@@ -1,3 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- import { NormalizedOptions } from '../schema';
3
- export declare function addFunction(tree: Tree, options: NormalizedOptions): void;
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-function.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/function/lib/add-function.ts"],"names":[],"mappings":";;;AAAA,uCAAgE;AAIhE,SAAgB,WAAW,CAAC,IAAU,EAAE,OAA0B;IAChE,IAAA,mBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,IAAoB,EAAE,EAAE;QACpE,MAAM,cAAc,GAAG;YACrB,QAAQ,EAAE,OAAO,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC;YACtD,OAAO,EAAE,SAAS,OAAO,CAAC,OAAO,EAAE;SACpC,CAAA;QAED,kEAAkE;QAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAClC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YAC1D,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;YACnB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE;gBACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;aACtC;SACF;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACnC,uCAAuC;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE;YAC/D,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAvBD,kCAuBC"}
@@ -1 +0,0 @@
1
- export declare type UnitTestRunner = 'jest' | 'none';
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../packages/nx-firebase/src/utils/types.ts"],"names":[],"mappings":""}