@simondotm/nx-firebase 1.1.0-beta.0 → 2.0.0-beta.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/README.md +10 -10
- package/executors.json +0 -8
- package/generators.json +11 -0
- package/package.json +7 -4
- package/src/generators/application/application.d.ts +3 -3
- package/src/generators/application/application.js +119 -19
- package/src/generators/application/application.js.map +1 -1
- package/src/generators/application/files/readme.md__tmpl__ +12 -9
- package/src/generators/application/files_firebase/firebase.json__tmpl__ +6 -13
- package/src/generators/application/files_workspace/{firebase.__name__.json__tmpl__ → firebase.__projectName__.json__tmpl__} +6 -13
- package/src/generators/application/lib/create-files.js +10 -25
- package/src/generators/application/lib/create-files.js.map +1 -1
- package/src/generators/application/lib/index.d.ts +0 -3
- package/src/generators/application/lib/index.js +0 -3
- package/src/generators/application/lib/index.js.map +1 -1
- package/src/generators/application/schema.d.ts +3 -11
- package/src/generators/application/schema.json +0 -41
- package/src/generators/function/files/package.json__tmpl__ +19 -0
- package/src/generators/function/files/readme.md__tmpl__ +31 -0
- package/src/generators/function/function.d.ts +14 -0
- package/src/generators/function/function.js +77 -0
- package/src/generators/function/function.js.map +1 -0
- package/src/generators/function/lib/add-function.d.ts +3 -0
- package/src/generators/function/lib/add-function.js +25 -0
- package/src/generators/function/lib/add-function.js.map +1 -0
- package/src/generators/function/lib/create-files.d.ts +9 -0
- package/src/generators/function/lib/create-files.js +37 -0
- package/src/generators/function/lib/create-files.js.map +1 -0
- package/src/generators/{application → function}/lib/delete-files.d.ts +1 -1
- package/src/generators/{application → function}/lib/delete-files.js +1 -1
- package/src/generators/function/lib/delete-files.js.map +1 -0
- package/src/generators/function/lib/index.d.ts +3 -0
- package/src/generators/function/lib/index.js +7 -0
- package/src/generators/function/lib/index.js.map +1 -0
- package/src/generators/function/lib/update-project.d.ts +3 -0
- package/src/generators/function/lib/update-project.js +52 -0
- package/src/generators/function/lib/update-project.js.map +1 -0
- package/src/generators/function/schema.d.ts +51 -0
- package/src/generators/function/schema.json +57 -0
- package/src/generators/init/init.js +1 -5
- package/src/generators/init/init.js.map +1 -1
- package/src/generators/init/lib/add-dependencies.js +3 -4
- package/src/generators/init/lib/add-dependencies.js.map +1 -1
- package/src/generators/init/lib/add-git-ignore-entry.d.ts +1 -1
- package/src/generators/init/lib/add-git-ignore-entry.js +1 -0
- package/src/generators/init/lib/add-git-ignore-entry.js.map +1 -1
- package/src/generators/init/schema.d.ts +4 -4
- package/src/generators/init/schema.json +8 -7
- package/src/generators/sync/lib/firebase-changes.d.ts +3 -0
- package/src/generators/sync/lib/firebase-changes.js +102 -0
- package/src/generators/sync/lib/firebase-changes.js.map +1 -0
- package/src/generators/sync/lib/firebase-configs.d.ts +3 -0
- package/src/generators/sync/lib/firebase-configs.js +61 -0
- package/src/generators/sync/lib/firebase-configs.js.map +1 -0
- package/src/generators/sync/lib/firebase-projects.d.ts +20 -0
- package/src/generators/sync/lib/firebase-projects.js +75 -0
- package/src/generators/sync/lib/firebase-projects.js.map +1 -0
- package/src/generators/sync/lib/firebase-workspace.d.ts +3 -0
- package/src/generators/sync/lib/firebase-workspace.js +15 -0
- package/src/generators/sync/lib/firebase-workspace.js.map +1 -0
- package/src/generators/sync/lib/index.d.ts +7 -0
- package/src/generators/sync/lib/index.js +11 -0
- package/src/generators/sync/lib/index.js.map +1 -0
- package/src/generators/sync/lib/tags.d.ts +14 -0
- package/src/generators/sync/lib/tags.js +43 -0
- package/src/generators/sync/lib/tags.js.map +1 -0
- package/src/generators/sync/lib/types.d.ts +46 -0
- package/src/generators/sync/lib/types.js +5 -0
- package/src/generators/sync/lib/types.js.map +1 -0
- package/src/generators/sync/schema.d.ts +5 -0
- package/src/generators/sync/schema.json +19 -0
- package/src/generators/sync/sync.d.ts +8 -0
- package/src/generators/sync/sync.js +167 -0
- package/src/generators/sync/sync.js.map +1 -0
- package/src/utils/debug.d.ts +4 -0
- package/src/utils/debug.js +25 -0
- package/src/utils/debug.js.map +1 -0
- package/src/utils/firebase-config.d.ts +77 -0
- package/src/utils/firebase-config.js +52 -0
- package/src/utils/firebase-config.js.map +1 -0
- package/src/utils/index.d.ts +3 -0
- package/src/utils/index.js +3 -0
- package/src/utils/index.js.map +1 -1
- package/src/utils/project-name.d.ts +5 -0
- package/src/utils/project-name.js +38 -0
- package/src/utils/project-name.js.map +1 -0
- package/src/utils/update-tsconfig.d.ts +8 -0
- package/src/{generators/application/lib → utils}/update-tsconfig.js +5 -5
- package/src/utils/update-tsconfig.js.map +1 -0
- package/src/utils/versions.d.ts +1 -0
- package/src/utils/versions.js +5 -4
- package/src/utils/versions.js.map +1 -1
- package/src/executors/build/build.d.ts +0 -8
- package/src/executors/build/build.js +0 -82
- package/src/executors/build/build.js.map +0 -1
- package/src/executors/build/lib/copy-dependencies.d.ts +0 -3
- package/src/executors/build/lib/copy-dependencies.js +0 -53
- package/src/executors/build/lib/copy-dependencies.js.map +0 -1
- package/src/executors/build/lib/firebase-build.d.ts +0 -2
- package/src/executors/build/lib/firebase-build.js +0 -16
- package/src/executors/build/lib/firebase-build.js.map +0 -1
- package/src/executors/build/lib/get-dependencies.d.ts +0 -8
- package/src/executors/build/lib/get-dependencies.js +0 -87
- package/src/executors/build/lib/get-dependencies.js.map +0 -1
- package/src/executors/build/lib/index.d.ts +0 -1
- package/src/executors/build/lib/index.js +0 -5
- package/src/executors/build/lib/index.js.map +0 -1
- package/src/executors/build/lib/rewrite-package.d.ts +0 -8
- package/src/executors/build/lib/rewrite-package.js +0 -44
- package/src/executors/build/lib/rewrite-package.js.map +0 -1
- package/src/executors/build/schema.d.ts +0 -1
- package/src/executors/build/schema.json +0 -167
- package/src/generators/application/files/package.json__tmpl__ +0 -21
- package/src/generators/application/lib/add-project.d.ts +0 -39
- package/src/generators/application/lib/add-project.js +0 -115
- package/src/generators/application/lib/add-project.js.map +0 -1
- package/src/generators/application/lib/delete-files.js.map +0 -1
- package/src/generators/application/lib/normalize-options.d.ts +0 -5
- package/src/generators/application/lib/normalize-options.js +0 -44
- package/src/generators/application/lib/normalize-options.js.map +0 -1
- package/src/generators/application/lib/update-tsconfig.d.ts +0 -9
- package/src/generators/application/lib/update-tsconfig.js.map +0 -1
- package/src/utils/e2ePatch.d.ts +0 -2
- package/src/utils/e2ePatch.js +0 -135
- package/src/utils/e2ePatch.js.map +0 -1
- /package/src/generators/{application/files/src/index.ts__tmpl__ → function/files/src/main.ts__tmpl__} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase-changes.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/sync/lib/firebase-changes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFirebaseConfigs = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
const types_1 = require("./types");
|
|
7
|
+
const debug_1 = require("../../../utils/debug");
|
|
8
|
+
const FIREBASE_CONFIG_FILE_MATCHER = /(firebase)(\S*)(.json)/;
|
|
9
|
+
function getFirebaseConfigs(tree, projects) {
|
|
10
|
+
const firebaseConfigs = new Map();
|
|
11
|
+
const firebaseAppConfigs = new Map();
|
|
12
|
+
const firebaseConfigProjects = new Map();
|
|
13
|
+
(0, debug_1.debugInfo)(`- firebaseAppProjects=${(0, debug_1.mapKeys)(projects.firebaseAppProjects)}`);
|
|
14
|
+
(0, debug_1.debugInfo)(`- firebaseFunctionProjects=${(0, debug_1.mapKeys)(projects.firebaseFunctionProjects)}`);
|
|
15
|
+
// collect all firebase[.*].json config files in workspace
|
|
16
|
+
const rootFiles = tree.children('');
|
|
17
|
+
rootFiles.map((child) => {
|
|
18
|
+
if (tree.isFile(child)) {
|
|
19
|
+
if (child.match(FIREBASE_CONFIG_FILE_MATCHER)) {
|
|
20
|
+
firebaseConfigs.set(child, (0, devkit_1.readJson)(tree, child));
|
|
21
|
+
// set an firebaseConfigProjects as null for now, later we will add the project
|
|
22
|
+
firebaseConfigProjects.set(child, types_1.CONFIG_NO_APP);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
(0, debug_1.debugInfo)(`- firebaseConfigs=${(0, debug_1.mapKeys)(firebaseConfigs)}`);
|
|
27
|
+
// map firebase configs to their apps
|
|
28
|
+
// we do this by reading the --config setting directly from each firebase app's firebase target
|
|
29
|
+
// this is more robust & flexible than using filename assumptions for configs
|
|
30
|
+
// it also means users can freely rename their firebase configs and the plugin will work
|
|
31
|
+
projects.firebaseAppProjects.forEach((project, name) => {
|
|
32
|
+
const firebaseTarget = project.targets.firebase;
|
|
33
|
+
if (!firebaseTarget) {
|
|
34
|
+
throw new Error(`Firebase app project ${name} does not have a 'firebase' target. Sync will no longer work.`);
|
|
35
|
+
}
|
|
36
|
+
const firebaseConfigName = (0, utils_1.getFirebaseConfigFromProject)(tree, project);
|
|
37
|
+
firebaseAppConfigs.set(name, firebaseConfigName);
|
|
38
|
+
firebaseConfigProjects.set(firebaseConfigName, name);
|
|
39
|
+
// bit opinionated, but we need to sanity check that
|
|
40
|
+
// production configurations on this target use the same config file.
|
|
41
|
+
// since we cant rename configs safely with this scenario
|
|
42
|
+
// different build configs should only differ in --project
|
|
43
|
+
const configurations = firebaseTarget.configurations;
|
|
44
|
+
for (const configuration in configurations) {
|
|
45
|
+
const additionalConfigName = (0, utils_1.getFirebaseConfigFromCommand)(tree, project, configurations[configuration].command);
|
|
46
|
+
if (additionalConfigName !== firebaseConfigName) {
|
|
47
|
+
throw new Error(`Firebase app project ${name} target firebase.configurations.${configuration} has a different --config setting which is unsupported by this plugin.`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
(0, debug_1.debugInfo)(`- firebaseAppConfigs=${(0, debug_1.mapEntries)(firebaseAppConfigs)}`);
|
|
52
|
+
(0, debug_1.debugInfo)(`- firebaseConfigProjects=${(0, debug_1.mapEntries)(firebaseConfigProjects)},
|
|
53
|
+
)}`);
|
|
54
|
+
return {
|
|
55
|
+
firebaseConfigs,
|
|
56
|
+
firebaseAppConfigs,
|
|
57
|
+
firebaseConfigProjects,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
exports.getFirebaseConfigs = getFirebaseConfigs;
|
|
61
|
+
//# sourceMappingURL=firebase-configs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase-configs.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/sync/lib/firebase-configs.ts"],"names":[],"mappings":";;;AAAA,uCAA2C;AAE3C,0CAIuB;AACvB,mCAA0E;AAC1E,gDAAqE;AAErE,MAAM,4BAA4B,GAAG,wBAAwB,CAAA;AAE7D,SAAgB,kBAAkB,CAChC,IAAU,EACV,QAA0B;IAE1B,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAA;IACzD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAA;IACpD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAExD,IAAA,iBAAS,EAAC,yBAAyB,IAAA,eAAO,EAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAA;IAC3E,IAAA,iBAAS,EACP,8BAA8B,IAAA,eAAO,EAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAC3E,CAAA;IAED,0DAA0D;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACnC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACtB,IAAI,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE;gBAC7C,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,IAAA,iBAAQ,EAAiB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;gBACjE,+EAA+E;gBAC/E,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAa,CAAC,CAAA;aACjD;SACF;IACH,CAAC,CAAC,CAAA;IACF,IAAA,iBAAS,EAAC,qBAAqB,IAAA,eAAO,EAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IAE1D,qCAAqC;IACrC,+FAA+F;IAC/F,6EAA6E;IAC7E,wFAAwF;IACxF,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACrD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAA;QAC/C,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,+DAA+D,CAC5F,CAAA;SACF;QACD,MAAM,kBAAkB,GAAG,IAAA,oCAA4B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACtE,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;QAChD,sBAAsB,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA;QAEpD,oDAAoD;QACpD,qEAAqE;QACrE,yDAAyD;QACzD,0DAA0D;QAC1D,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAA;QACpD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YAC1C,MAAM,oBAAoB,GAAG,IAAA,oCAA4B,EACvD,IAAI,EACJ,OAAO,EACP,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO,CACtC,CAAA;YACD,IAAI,oBAAoB,KAAK,kBAAkB,EAAE;gBAC/C,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,mCAAmC,aAAa,wEAAwE,CACrJ,CAAA;aACF;SACF;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,iBAAS,EAAC,wBAAwB,IAAA,kBAAU,EAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;IACnE,IAAA,iBAAS,EACP,4BAA4B,IAAA,kBAAU,EAAC,sBAAsB,CAAC;OAC3D,CACJ,CAAA;IAED,OAAO;QACL,eAAe;QACf,kBAAkB;QAClB,sBAAsB;KACvB,CAAA;AACH,CAAC;AAvED,gDAuEC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ProjectConfiguration, TargetConfiguration, Tree } from '@nx/devkit';
|
|
2
|
+
import { SyncGeneratorSchema } from '../schema';
|
|
3
|
+
import { FirebaseProjects } from './types';
|
|
4
|
+
export declare function isFirebaseApp(project: ProjectConfiguration): boolean;
|
|
5
|
+
export declare function isFirebaseFunction(project: ProjectConfiguration): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Scan the workspace, identifying firebase projects managed by this plugin by their tags:
|
|
8
|
+
* - firebase:app
|
|
9
|
+
* - firebase:function
|
|
10
|
+
* @param tree - host workspace
|
|
11
|
+
* @returns FirebaseProjects object
|
|
12
|
+
*/
|
|
13
|
+
export declare function getFirebaseProjects(tree: Tree): FirebaseProjects;
|
|
14
|
+
/**
|
|
15
|
+
* Rewrite the firebase deploy command for the given function deploy target
|
|
16
|
+
* to either add or update the --project cli parameter
|
|
17
|
+
* @param target - deploy target in the function
|
|
18
|
+
* @param options -
|
|
19
|
+
*/
|
|
20
|
+
export declare function updateFirebaseAppDeployProject(target: TargetConfiguration, options: SyncGeneratorSchema): boolean;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateFirebaseAppDeployProject = exports.getFirebaseProjects = exports.isFirebaseFunction = exports.isFirebaseApp = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const debug_1 = require("../../../utils/debug");
|
|
6
|
+
const FIREBASE_PROJECT_MATCHER = /(--project[ =])([^\s]+)/;
|
|
7
|
+
const FIREBASE_COMMAND_MATCHER = /(firebase)/;
|
|
8
|
+
function isFirebaseApp(project) {
|
|
9
|
+
var _a;
|
|
10
|
+
return (_a = project.tags) === null || _a === void 0 ? void 0 : _a.includes('firebase:app');
|
|
11
|
+
}
|
|
12
|
+
exports.isFirebaseApp = isFirebaseApp;
|
|
13
|
+
function isFirebaseFunction(project) {
|
|
14
|
+
var _a;
|
|
15
|
+
return (_a = project.tags) === null || _a === void 0 ? void 0 : _a.includes('firebase:function');
|
|
16
|
+
}
|
|
17
|
+
exports.isFirebaseFunction = isFirebaseFunction;
|
|
18
|
+
/**
|
|
19
|
+
* Scan the workspace, identifying firebase projects managed by this plugin by their tags:
|
|
20
|
+
* - firebase:app
|
|
21
|
+
* - firebase:function
|
|
22
|
+
* @param tree - host workspace
|
|
23
|
+
* @returns FirebaseProjects object
|
|
24
|
+
*/
|
|
25
|
+
function getFirebaseProjects(tree) {
|
|
26
|
+
const projects = (0, devkit_1.getProjects)(tree);
|
|
27
|
+
const firebaseAppProjects = new Map();
|
|
28
|
+
const firebaseFunctionProjects = new Map();
|
|
29
|
+
(0, debug_1.debugInfo)('- building list of firebase apps & functions');
|
|
30
|
+
projects.forEach((project, projectName) => {
|
|
31
|
+
if (isFirebaseApp(project)) {
|
|
32
|
+
firebaseAppProjects.set(projectName, project);
|
|
33
|
+
}
|
|
34
|
+
if (isFirebaseFunction(project)) {
|
|
35
|
+
firebaseFunctionProjects.set(projectName, project);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return {
|
|
39
|
+
firebaseAppProjects,
|
|
40
|
+
firebaseFunctionProjects,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
exports.getFirebaseProjects = getFirebaseProjects;
|
|
44
|
+
/**
|
|
45
|
+
* Rewrite the firebase deploy command for the given function deploy target
|
|
46
|
+
* to either add or update the --project cli parameter
|
|
47
|
+
* @param target - deploy target in the function
|
|
48
|
+
* @param options -
|
|
49
|
+
*/
|
|
50
|
+
function updateFirebaseAppDeployProject(target, options) {
|
|
51
|
+
const command = target.options.command;
|
|
52
|
+
if (command.includes('firebase')) {
|
|
53
|
+
(0, debug_1.debugInfo)('- found firebase target command');
|
|
54
|
+
(0, debug_1.debugInfo)(`- command=${command}`);
|
|
55
|
+
if (command.includes('--project')) {
|
|
56
|
+
(0, debug_1.debugInfo)('- found --project in firebase target command');
|
|
57
|
+
// already set, so update
|
|
58
|
+
target.options.command = command.replace(FIREBASE_PROJECT_MATCHER, '$1' + options.project);
|
|
59
|
+
(0, debug_1.debugInfo)(`- new command: ${target.options.command}`);
|
|
60
|
+
devkit_1.logger.info(`CHANGE updating firebase target --project for '${options.app}' to '--project=${options.project}'`);
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
(0, debug_1.debugInfo)('- did not find --project in deploy command');
|
|
65
|
+
// no set, so add
|
|
66
|
+
target.options.command = command.replace(FIREBASE_COMMAND_MATCHER, '$1' + ' ' + `--project=${options.project}`);
|
|
67
|
+
(0, debug_1.debugInfo)(`- new command: ${target.options.command}`);
|
|
68
|
+
devkit_1.logger.info(`CHANGE setting firebase target --project for '${options.app}' to '--project=${options.project}'`);
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
exports.updateFirebaseAppDeployProject = updateFirebaseAppDeployProject;
|
|
75
|
+
//# sourceMappingURL=firebase-projects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase-projects.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/sync/lib/firebase-projects.ts"],"names":[],"mappings":";;;AAAA,uCAMmB;AAGnB,gDAAgD;AAGhD,MAAM,wBAAwB,GAAG,yBAAyB,CAAA;AAC1D,MAAM,wBAAwB,GAAG,YAAY,CAAA;AAE7C,SAAgB,aAAa,CAAC,OAA6B;;IACzD,OAAO,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;AAC/C,CAAC;AAFD,sCAEC;AAED,SAAgB,kBAAkB,CAAC,OAA6B;;IAC9D,OAAO,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA;AACpD,CAAC;AAFD,gDAEC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,IAAU;IAC5C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAA;IAClC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAgC,CAAA;IACnE,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAgC,CAAA;IAExE,IAAA,iBAAS,EAAC,8CAA8C,CAAC,CAAA;IACzD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE;QACxC,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;YAC1B,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;SAC9C;QACD,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE;YAC/B,wBAAwB,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;SACnD;IACH,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,mBAAmB;QACnB,wBAAwB;KACzB,CAAA;AACH,CAAC;AAnBD,kDAmBC;AAED;;;;;GAKG;AACH,SAAgB,8BAA8B,CAC5C,MAA2B,EAC3B,OAA4B;IAE5B,MAAM,OAAO,GAAW,MAAM,CAAC,OAAO,CAAC,OAAO,CAAA;IAC9C,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;QAChC,IAAA,iBAAS,EAAC,iCAAiC,CAAC,CAAA;QAC5C,IAAA,iBAAS,EAAC,aAAa,OAAO,EAAE,CAAC,CAAA;QACjC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YACjC,IAAA,iBAAS,EAAC,8CAA8C,CAAC,CAAA;YACzD,yBAAyB;YACzB,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CACtC,wBAAwB,EACxB,IAAI,GAAG,OAAO,CAAC,OAAO,CACvB,CAAA;YACD,IAAA,iBAAS,EAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;YAErD,eAAM,CAAC,IAAI,CACT,kDAAkD,OAAO,CAAC,GAAG,mBAAmB,OAAO,CAAC,OAAO,GAAG,CACnG,CAAA;YACD,OAAO,IAAI,CAAA;SACZ;aAAM;YACL,IAAA,iBAAS,EAAC,4CAA4C,CAAC,CAAA;YAEvD,iBAAiB;YACjB,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CACtC,wBAAwB,EACxB,IAAI,GAAG,GAAG,GAAG,aAAa,OAAO,CAAC,OAAO,EAAE,CAC5C,CAAA;YACD,IAAA,iBAAS,EAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;YACrD,eAAM,CAAC,IAAI,CACT,iDAAiD,OAAO,CAAC,GAAG,mBAAmB,OAAO,CAAC,OAAO,GAAG,CAClG,CAAA;YACD,OAAO,IAAI,CAAA;SACZ;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AArCD,wEAqCC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFirebaseWorkspace = void 0;
|
|
4
|
+
const firebase_changes_1 = require("./firebase-changes");
|
|
5
|
+
const firebase_projects_1 = require("./firebase-projects");
|
|
6
|
+
const firebase_configs_1 = require("./firebase-configs");
|
|
7
|
+
function getFirebaseWorkspace(tree) {
|
|
8
|
+
// build list of firebase apps and functions in the workspace
|
|
9
|
+
const projects = (0, firebase_projects_1.getFirebaseProjects)(tree);
|
|
10
|
+
const configs = (0, firebase_configs_1.getFirebaseConfigs)(tree, projects);
|
|
11
|
+
const changes = (0, firebase_changes_1.getFirebaseChanges)(tree, projects, configs);
|
|
12
|
+
return Object.assign(Object.assign(Object.assign({}, projects), changes), configs);
|
|
13
|
+
}
|
|
14
|
+
exports.getFirebaseWorkspace = getFirebaseWorkspace;
|
|
15
|
+
//# sourceMappingURL=firebase-workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase-workspace.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/sync/lib/firebase-workspace.ts"],"names":[],"mappings":";;;AACA,yDAAuD;AACvD,2DAAyD;AAEzD,yDAAuD;AAEvD,SAAgB,oBAAoB,CAAC,IAAU;IAC7C,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,IAAA,uCAAmB,EAAC,IAAI,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAA,qCAAkB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAA,qCAAkB,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAE3D,qDACK,QAAQ,GACR,OAAO,GACP,OAAO,EACX;AACH,CAAC;AAXD,oDAWC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("../../../utils/debug"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./firebase-changes"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./firebase-configs"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./firebase-projects"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./firebase-workspace"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./tags"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./types"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ProjectConfiguration, Tree } from '@nx/devkit';
|
|
2
|
+
/**
|
|
3
|
+
* Parse a firebase tag value for the given scope
|
|
4
|
+
* Expected to find tag of format: `firebase:name:<projectname>` or `firebase:dep:<appname>`
|
|
5
|
+
* @param project - Project to be checked
|
|
6
|
+
* @param scope - `firebase:name` or `firebase:dep`
|
|
7
|
+
* @returns value part of tag
|
|
8
|
+
* @throws if requested tag is missing, or malformed
|
|
9
|
+
*/
|
|
10
|
+
export declare function getFirebaseScopeFromTag(project: ProjectConfiguration, scope: 'firebase:name' | 'firebase:dep'): {
|
|
11
|
+
tagValue: string;
|
|
12
|
+
tagIndex: number;
|
|
13
|
+
};
|
|
14
|
+
export declare function updateFirebaseProjectNameTag(tree: Tree, project: ProjectConfiguration): void;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateFirebaseProjectNameTag = exports.getFirebaseScopeFromTag = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const debug_1 = require("../../../utils/debug");
|
|
6
|
+
/**
|
|
7
|
+
* Parse a firebase tag value for the given scope
|
|
8
|
+
* Expected to find tag of format: `firebase:name:<projectname>` or `firebase:dep:<appname>`
|
|
9
|
+
* @param project - Project to be checked
|
|
10
|
+
* @param scope - `firebase:name` or `firebase:dep`
|
|
11
|
+
* @returns value part of tag
|
|
12
|
+
* @throws if requested tag is missing, or malformed
|
|
13
|
+
*/
|
|
14
|
+
function getFirebaseScopeFromTag(project, scope) {
|
|
15
|
+
const tags = project.tags;
|
|
16
|
+
if (tags) {
|
|
17
|
+
for (let i = 0; i < tags.length; ++i) {
|
|
18
|
+
const tag = tags[i];
|
|
19
|
+
(0, debug_1.debugInfo)(`- checking tag '${tag}' for scope '${scope}'`);
|
|
20
|
+
if (tag.includes(scope)) {
|
|
21
|
+
(0, debug_1.debugInfo)(`- matched tag '${tag}' for scope '${scope}'`);
|
|
22
|
+
const scopes = tag.split(':');
|
|
23
|
+
if (scopes.length === 3) {
|
|
24
|
+
(0, debug_1.debugInfo)(`- returning tagValue '${scopes[2]}' tagIndex '${i}'`);
|
|
25
|
+
return { tagValue: scopes[2], tagIndex: i };
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
throw new Error(`Malformed '${scope}' tag in project '${project.name}', expected '${scope}:<value>', found '${tag}'`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
throw new Error(`Project '${project.name}' has a missing '${scope}' tag in project. Ensure this is set correctly.`);
|
|
34
|
+
}
|
|
35
|
+
exports.getFirebaseScopeFromTag = getFirebaseScopeFromTag;
|
|
36
|
+
function updateFirebaseProjectNameTag(tree, project) {
|
|
37
|
+
const appNameTag = getFirebaseScopeFromTag(project, 'firebase:name');
|
|
38
|
+
const newAppNameTag = `firebase:name:${project.name}`;
|
|
39
|
+
project.tags[appNameTag.tagIndex] = newAppNameTag;
|
|
40
|
+
(0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
|
|
41
|
+
}
|
|
42
|
+
exports.updateFirebaseProjectNameTag = updateFirebaseProjectNameTag;
|
|
43
|
+
//# sourceMappingURL=tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/sync/lib/tags.ts"],"names":[],"mappings":";;;AAAA,uCAImB;AACnB,gDAAgD;AAEhD;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CACrC,OAA6B,EAC7B,KAAuC;IAEvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IACzB,IAAI,IAAI,EAAE;QACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,IAAA,iBAAS,EAAC,mBAAmB,GAAG,gBAAgB,KAAK,GAAG,CAAC,CAAA;YACzD,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACvB,IAAA,iBAAS,EAAC,kBAAkB,GAAG,gBAAgB,KAAK,GAAG,CAAC,CAAA;gBACxD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;oBACvB,IAAA,iBAAS,EAAC,yBAAyB,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;oBAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;iBAC5C;qBAAM;oBACL,MAAM,IAAI,KAAK,CACb,cAAc,KAAK,qBAAqB,OAAO,CAAC,IAAI,gBAAgB,KAAK,qBAAqB,GAAG,GAAG,CACrG,CAAA;iBACF;aACF;SACF;KACF;IACD,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,IAAI,oBAAoB,KAAK,iDAAiD,CACnG,CAAA;AACH,CAAC;AA1BD,0DA0BC;AAED,SAAgB,4BAA4B,CAC1C,IAAU,EACV,OAA6B;IAE7B,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;IACpE,MAAM,aAAa,GAAG,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAA;IACrD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAA;IACjD,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACzD,CAAC;AARD,oEAQC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ProjectConfiguration } from '@nx/devkit';
|
|
2
|
+
import { FirebaseConfig } from '../../../utils';
|
|
3
|
+
export declare const CONFIG_NO_APP = "CONFIG_NO_APP";
|
|
4
|
+
export interface FirebaseProjects {
|
|
5
|
+
/**
|
|
6
|
+
* app projectName -> ProjectConfig
|
|
7
|
+
*/
|
|
8
|
+
firebaseAppProjects: Map<string, ProjectConfiguration>;
|
|
9
|
+
/**
|
|
10
|
+
* function projectName -> ProjectConfig
|
|
11
|
+
*/
|
|
12
|
+
firebaseFunctionProjects: Map<string, ProjectConfiguration>;
|
|
13
|
+
}
|
|
14
|
+
export interface FirebaseConfigs {
|
|
15
|
+
/**
|
|
16
|
+
* configFilename -> FirebaseConfig
|
|
17
|
+
*/
|
|
18
|
+
firebaseConfigs: Map<string, FirebaseConfig>;
|
|
19
|
+
/**
|
|
20
|
+
* projectName -> configFileName
|
|
21
|
+
*/
|
|
22
|
+
firebaseAppConfigs: Map<string, string>;
|
|
23
|
+
/**
|
|
24
|
+
* configFilename -> Project Name (or MISSING_CONFIG if config is not referenced by an app)
|
|
25
|
+
*/
|
|
26
|
+
firebaseConfigProjects: Map<string, string>;
|
|
27
|
+
}
|
|
28
|
+
export interface FirebaseChanges {
|
|
29
|
+
/**
|
|
30
|
+
* map of app project name -> deletion status
|
|
31
|
+
*/
|
|
32
|
+
deletedApps: Map<string, boolean>;
|
|
33
|
+
/**
|
|
34
|
+
* map of function project name -> deletion status
|
|
35
|
+
*/
|
|
36
|
+
deletedFunctions: Map<string, boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* map of previous app name -> new app project
|
|
39
|
+
*/
|
|
40
|
+
renamedApps: Map<string, ProjectConfiguration>;
|
|
41
|
+
/**
|
|
42
|
+
* map of previous function name -> new function project
|
|
43
|
+
*/
|
|
44
|
+
renamedFunctions: Map<string, ProjectConfiguration>;
|
|
45
|
+
}
|
|
46
|
+
export type FirebaseWorkspace = FirebaseProjects & FirebaseChanges & FirebaseConfigs;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../packages/nx-firebase/src/generators/sync/lib/types.ts"],"names":[],"mappings":";;;AAIa,QAAA,aAAa,GAAG,eAAe,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "Sync",
|
|
4
|
+
"title": "",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"app": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "The Nx firebase application you would like to sync",
|
|
10
|
+
"default": ""
|
|
11
|
+
},
|
|
12
|
+
"project": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "The firebase project that should be associated with this application",
|
|
15
|
+
"default": ""
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"required": []
|
|
19
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { GeneratorCallback, Tree } from '@nx/devkit';
|
|
2
|
+
import { SyncGeneratorSchema } from './schema';
|
|
3
|
+
/**
|
|
4
|
+
* Sync firebase workspace
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
export declare function syncGenerator(tree: Tree, options: SyncGeneratorSchema): Promise<GeneratorCallback>;
|
|
8
|
+
export default syncGenerator;
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.syncGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const devkit_1 = require("@nx/devkit");
|
|
6
|
+
const utils_1 = require("../../utils");
|
|
7
|
+
const init_1 = require("../init/init");
|
|
8
|
+
const lib_1 = require("./lib");
|
|
9
|
+
const FUNCTIONS_DEPLOY_MATCHER = /(--only[ =]functions:)([^\s]+)/;
|
|
10
|
+
/**
|
|
11
|
+
* Sync firebase workspace
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
function syncGenerator(tree, 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
|
+
// change the firebase project for an nx firebase app project
|
|
21
|
+
if (options.project) {
|
|
22
|
+
// --project option requires --app option to be specified
|
|
23
|
+
if (!options.app) {
|
|
24
|
+
throw new Error('--app not specified for --project option');
|
|
25
|
+
}
|
|
26
|
+
// validate app parameter
|
|
27
|
+
const project = (0, devkit_1.readProjectConfiguration)(tree, options.app);
|
|
28
|
+
if (!(0, lib_1.isFirebaseApp)(project)) {
|
|
29
|
+
throw new Error(`Project '${options.app}' is not a Firebase application.`);
|
|
30
|
+
}
|
|
31
|
+
(0, lib_1.debugInfo)(`- changing project for ${options.app} to ${options.project}`);
|
|
32
|
+
if ((0, lib_1.updateFirebaseAppDeployProject)(project.targets.firebase, options)) {
|
|
33
|
+
(0, devkit_1.updateProjectConfiguration)(tree, options.app, project);
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
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
|
+
/**
|
|
43
|
+
* Nx automatically:
|
|
44
|
+
* - updates implicitDependencies when projects are renamed with `nx g mv`
|
|
45
|
+
* - deletes implicitDependencies when projects are deleted with `nx g rm`
|
|
46
|
+
* So we do not have to consider these scenarios.
|
|
47
|
+
*/
|
|
48
|
+
// 1. remove any orphaned firebase config files that no longer linked to an app
|
|
49
|
+
workspace.firebaseConfigProjects.forEach((projectName, configName) => {
|
|
50
|
+
if (projectName === lib_1.CONFIG_NO_APP) {
|
|
51
|
+
(0, lib_1.debugInfo)(`- found firebase config ${configName} with no app`);
|
|
52
|
+
tree.delete(configName);
|
|
53
|
+
// its ok to delete keys in forEach
|
|
54
|
+
workspace.firebaseConfigProjects.delete(configName);
|
|
55
|
+
workspace.firebaseConfigs.delete(configName);
|
|
56
|
+
// dont need to sync firebaseAppConfigs since this app wont exist in there
|
|
57
|
+
devkit_1.logger.info(`CHANGE Firebase config '${configName}' is no longer referenced by any firebase app, deleted`);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
// 2. rename firebase config files too if app is renamed
|
|
61
|
+
workspace.renamedApps.forEach((project, oldProjectName) => {
|
|
62
|
+
const configFileName = workspace.firebaseAppConfigs.get(project.name);
|
|
63
|
+
// dont rename config file if it is firebase.json
|
|
64
|
+
if (configFileName === 'firebase.json') {
|
|
65
|
+
devkit_1.logger.info(`CHANGE Firebase app '${oldProjectName}' linked to primary config file was renamed to '${project.name}', skipping rename of '${configFileName}'`);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const config = workspace.firebaseConfigs.get(configFileName);
|
|
69
|
+
// create a copy of the firebase config with the renamed project name
|
|
70
|
+
const newConfigFileName = `firebase.${project.name}.json`;
|
|
71
|
+
(0, devkit_1.writeJson)(tree, newConfigFileName, config);
|
|
72
|
+
// rewrite the --config=<configFileName> part of the firebase target command
|
|
73
|
+
(0, utils_1.setFirebaseConfigFromCommand)(project, newConfigFileName);
|
|
74
|
+
// write the updated project
|
|
75
|
+
(0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
|
|
76
|
+
// delete the original config from the workspace
|
|
77
|
+
tree.delete(configFileName);
|
|
78
|
+
// rewrite the workspace to the newly renamed config file
|
|
79
|
+
workspace.firebaseConfigs.delete(configFileName);
|
|
80
|
+
workspace.firebaseAppConfigs.delete(project.name);
|
|
81
|
+
workspace.firebaseConfigProjects.delete(configFileName);
|
|
82
|
+
workspace.firebaseConfigs.set(newConfigFileName, config);
|
|
83
|
+
workspace.firebaseAppConfigs.set(project.name, newConfigFileName);
|
|
84
|
+
workspace.firebaseConfigProjects.set(newConfigFileName, project.name);
|
|
85
|
+
devkit_1.logger.info(`CHANGE Firebase app '${oldProjectName}' was renamed to '${project.name}', renamed config file to '${newConfigFileName}'`);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
// 3. update the firebase:name tag for renamed apps
|
|
89
|
+
workspace.renamedApps.forEach((project, oldName) => {
|
|
90
|
+
(0, lib_1.updateFirebaseProjectNameTag)(tree, project);
|
|
91
|
+
devkit_1.logger.info(`CHANGE Firebase app '${oldName}' was renamed to '${project.name}', updated firebase:name tag`);
|
|
92
|
+
});
|
|
93
|
+
// 4. update the firebase:dep tag for functions linked to renamed apps
|
|
94
|
+
workspace.firebaseFunctionProjects.forEach((project, name) => {
|
|
95
|
+
const { tagValue, tagIndex } = (0, lib_1.getFirebaseScopeFromTag)(project, 'firebase:dep');
|
|
96
|
+
if (workspace.renamedApps.has(tagValue)) {
|
|
97
|
+
const renamedApp = workspace.renamedApps.get(tagValue);
|
|
98
|
+
project.tags[tagIndex] = `firebase:dep:${renamedApp.name}`;
|
|
99
|
+
devkit_1.logger.info(`CHANGE Firebase app '${tagValue}' was renamed to '${renamedApp.name}', updated firebase:dep tag in firebase function '${name}'`);
|
|
100
|
+
(0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
if (workspace.deletedApps.has(tagValue) ||
|
|
104
|
+
!workspace.firebaseAppProjects.has(tagValue)) {
|
|
105
|
+
devkit_1.logger.warn(`CHANGE Firebase app '${tagValue}' was deleted, firebase:dep tag for firebase function '${name}' is no longer linked to a Firebase app.`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
// 5. update the firebase:name tag for renamed functions
|
|
110
|
+
workspace.renamedFunctions.forEach((project, oldName) => {
|
|
111
|
+
(0, lib_1.updateFirebaseProjectNameTag)(tree, project);
|
|
112
|
+
devkit_1.logger.info(`CHANGE Firebase function '${oldName}' was renamed to '${project.name}', updated firebase:name tag`);
|
|
113
|
+
});
|
|
114
|
+
// 6. update the deploy command for renamed functions
|
|
115
|
+
workspace.renamedFunctions.forEach((project, oldName) => {
|
|
116
|
+
const deployCommand = project.targets.deploy.options.command;
|
|
117
|
+
project.targets.deploy.options.command = deployCommand.replace(FUNCTIONS_DEPLOY_MATCHER, '$1' + project.name);
|
|
118
|
+
devkit_1.logger.info(`CHANGE Firebase function '${oldName}' was renamed to '${project.name}', updated deploy target to '--only=functions:${project.name}'`);
|
|
119
|
+
(0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
|
|
120
|
+
});
|
|
121
|
+
// 7. sync firebase configs for deleted & renamed functions
|
|
122
|
+
workspace.firebaseConfigs.forEach((config, configFileName) => {
|
|
123
|
+
let configUpdated = false;
|
|
124
|
+
const functions = config.functions;
|
|
125
|
+
const updatedFunctions = [];
|
|
126
|
+
// remove deleted functions
|
|
127
|
+
functions.forEach((func) => {
|
|
128
|
+
// remove functions where codebase is linked to a now deleted firebase function project
|
|
129
|
+
if (workspace.deletedFunctions.has(func.codebase)) {
|
|
130
|
+
devkit_1.logger.info(`CHANGE Firebase function '${func.codebase}' was deleted, removing function codebase from '${configFileName}'`);
|
|
131
|
+
configUpdated = true;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
// rename function codebase if linked to a renamed firebase function project
|
|
135
|
+
const codebase = func.codebase;
|
|
136
|
+
(0, lib_1.debugInfo)(`- checking if codebase '${codebase}' is renamed`);
|
|
137
|
+
if (workspace.renamedFunctions.has(codebase)) {
|
|
138
|
+
// change name of codebase
|
|
139
|
+
const project = workspace.renamedFunctions.get(codebase);
|
|
140
|
+
(0, lib_1.debugInfo)(`- codebase '${codebase}' is renamed to ${project.name}`);
|
|
141
|
+
func.codebase = project.name;
|
|
142
|
+
// change source dir
|
|
143
|
+
func.source = project.targets.build.options.outputPath;
|
|
144
|
+
devkit_1.logger.info(`CHANGE Firebase function '${codebase}' was renamed to '${project.name}', updated codebase in '${configFileName}'`);
|
|
145
|
+
configUpdated = true;
|
|
146
|
+
}
|
|
147
|
+
updatedFunctions.push(func);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
if (configUpdated) {
|
|
151
|
+
config.functions = updatedFunctions;
|
|
152
|
+
(0, devkit_1.writeJson)(tree, configFileName, config);
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
// if user deletes a project that was linked to firebase.json config but there
|
|
156
|
+
// are other firebase apps in the workspace, we need to inform user about
|
|
157
|
+
// this, since we dont have a way
|
|
158
|
+
// other firebase apps in the workspace, we'll just advise
|
|
159
|
+
if (!tree.exists('firebase.json') && workspace.firebaseAppProjects.size) {
|
|
160
|
+
devkit_1.logger.warn(`None of the Firebase apps in this workspace use 'firebase.json' as their config. Firebase CLI may not work as expected. This can be fixed by renaming the config for one of your firebase projects to 'firebase.json'.`);
|
|
161
|
+
}
|
|
162
|
+
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
exports.syncGenerator = syncGenerator;
|
|
166
|
+
exports.default = syncGenerator;
|
|
167
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../../../packages/nx-firebase/src/generators/sync/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapEntries = exports.mapValues = exports.mapKeys = exports.debugInfo = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
// debug info just for plugin
|
|
6
|
+
const ENABLE_DEBUG_INFO = false;
|
|
7
|
+
function debugInfo(info) {
|
|
8
|
+
if (ENABLE_DEBUG_INFO) {
|
|
9
|
+
devkit_1.logger.info(info);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.debugInfo = debugInfo;
|
|
13
|
+
function mapKeys(map) {
|
|
14
|
+
return JSON.stringify([...map.keys()], null, 3);
|
|
15
|
+
}
|
|
16
|
+
exports.mapKeys = mapKeys;
|
|
17
|
+
function mapValues(map) {
|
|
18
|
+
return JSON.stringify([...map.values()], null, 3);
|
|
19
|
+
}
|
|
20
|
+
exports.mapValues = mapValues;
|
|
21
|
+
function mapEntries(map) {
|
|
22
|
+
return JSON.stringify([...map.entries()], null, 3);
|
|
23
|
+
}
|
|
24
|
+
exports.mapEntries = mapEntries;
|
|
25
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +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"}
|