@angular/fire 16.0.0 → 17.0.0-canary.6604db7

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 (124) hide show
  1. package/README.md +0 -4
  2. package/analytics/package.json +3 -0
  3. package/app/package.json +3 -0
  4. package/app-check/package.json +3 -0
  5. package/auth/firebase.d.ts +2 -1
  6. package/auth/package.json +3 -0
  7. package/auth-guard/package.json +3 -0
  8. package/compat/analytics/package.json +3 -0
  9. package/compat/auth/package.json +3 -0
  10. package/compat/auth-guard/package.json +3 -0
  11. package/compat/database/package.json +3 -0
  12. package/compat/firestore/package.json +3 -0
  13. package/compat/functions/package.json +3 -0
  14. package/compat/messaging/package.json +3 -0
  15. package/compat/package.json +3 -0
  16. package/compat/performance/package.json +3 -0
  17. package/compat/remote-config/package.json +3 -0
  18. package/compat/storage/package.json +3 -0
  19. package/database/package.json +3 -0
  20. package/esm2022/analytics/analytics.module.mjs +7 -7
  21. package/esm2022/analytics/screen-tracking.service.mjs +6 -6
  22. package/esm2022/analytics/user-tracking.service.mjs +5 -5
  23. package/esm2022/app/app.module.mjs +7 -7
  24. package/esm2022/app-check/app-check.module.mjs +6 -6
  25. package/esm2022/auth/auth.module.mjs +6 -6
  26. package/esm2022/auth/firebase.mjs +3 -2
  27. package/esm2022/auth-guard/auth-guard.mjs +5 -5
  28. package/esm2022/auth-guard/auth-guard.module.mjs +6 -6
  29. package/esm2022/compat/analytics/analytics.mjs +6 -6
  30. package/esm2022/compat/analytics/analytics.module.mjs +7 -7
  31. package/esm2022/compat/analytics/screen-tracking.service.mjs +6 -6
  32. package/esm2022/compat/analytics/user-tracking.service.mjs +6 -6
  33. package/esm2022/compat/auth/auth.mjs +6 -6
  34. package/esm2022/compat/auth/auth.module.mjs +6 -6
  35. package/esm2022/compat/auth-guard/auth-guard.mjs +5 -5
  36. package/esm2022/compat/auth-guard/auth-guard.module.mjs +6 -6
  37. package/esm2022/compat/database/database.mjs +6 -6
  38. package/esm2022/compat/database/database.module.mjs +6 -6
  39. package/esm2022/compat/firebase.app.module.mjs +7 -7
  40. package/esm2022/compat/firestore/firestore.mjs +6 -6
  41. package/esm2022/compat/firestore/firestore.module.mjs +6 -6
  42. package/esm2022/compat/functions/functions.mjs +6 -6
  43. package/esm2022/compat/functions/functions.module.mjs +6 -6
  44. package/esm2022/compat/messaging/messaging.mjs +6 -6
  45. package/esm2022/compat/messaging/messaging.module.mjs +6 -6
  46. package/esm2022/compat/performance/performance.mjs +6 -6
  47. package/esm2022/compat/performance/performance.module.mjs +7 -7
  48. package/esm2022/compat/performance/performance.service.mjs +5 -5
  49. package/esm2022/compat/remote-config/remote-config.mjs +6 -6
  50. package/esm2022/compat/remote-config/remote-config.module.mjs +6 -6
  51. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +10 -10
  52. package/esm2022/compat/storage/storage.mjs +6 -6
  53. package/esm2022/compat/storage/storage.module.mjs +6 -6
  54. package/esm2022/database/database.module.mjs +6 -6
  55. package/esm2022/firestore/firestore.module.mjs +6 -6
  56. package/esm2022/firestore/lite/lite.module.mjs +6 -6
  57. package/esm2022/functions/functions.module.mjs +6 -6
  58. package/esm2022/messaging/messaging.module.mjs +6 -6
  59. package/esm2022/performance/performance.module.mjs +6 -6
  60. package/esm2022/remote-config/remote-config.module.mjs +6 -6
  61. package/esm2022/storage/storage.module.mjs +6 -6
  62. package/esm2022/zones.mjs +5 -5
  63. package/fesm2022/angular-fire-analytics.mjs +17 -17
  64. package/fesm2022/angular-fire-analytics.mjs.map +1 -1
  65. package/fesm2022/angular-fire-app-check.mjs +7 -7
  66. package/fesm2022/angular-fire-app-check.mjs.map +1 -1
  67. package/fesm2022/angular-fire-app.mjs +7 -7
  68. package/fesm2022/angular-fire-app.mjs.map +1 -1
  69. package/fesm2022/angular-fire-auth-guard.mjs +9 -9
  70. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -1
  71. package/fesm2022/angular-fire-auth.mjs +9 -8
  72. package/fesm2022/angular-fire-auth.mjs.map +1 -1
  73. package/fesm2022/angular-fire-compat-analytics.mjs +22 -22
  74. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
  75. package/fesm2022/angular-fire-compat-auth-guard.mjs +9 -9
  76. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -1
  77. package/fesm2022/angular-fire-compat-auth.mjs +10 -10
  78. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
  79. package/fesm2022/angular-fire-compat-database.mjs +10 -10
  80. package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
  81. package/fesm2022/angular-fire-compat-firestore.mjs +10 -10
  82. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
  83. package/fesm2022/angular-fire-compat-functions.mjs +10 -10
  84. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -1
  85. package/fesm2022/angular-fire-compat-messaging.mjs +11 -11
  86. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -1
  87. package/fesm2022/angular-fire-compat-performance.mjs +16 -16
  88. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -1
  89. package/fesm2022/angular-fire-compat-remote-config.mjs +11 -11
  90. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
  91. package/fesm2022/angular-fire-compat-storage.mjs +19 -19
  92. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
  93. package/fesm2022/angular-fire-compat.mjs +6 -6
  94. package/fesm2022/angular-fire-compat.mjs.map +1 -1
  95. package/fesm2022/angular-fire-database.mjs +6 -6
  96. package/fesm2022/angular-fire-database.mjs.map +1 -1
  97. package/fesm2022/angular-fire-firestore-lite.mjs +6 -6
  98. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
  99. package/fesm2022/angular-fire-firestore.mjs +6 -6
  100. package/fesm2022/angular-fire-firestore.mjs.map +1 -1
  101. package/fesm2022/angular-fire-functions.mjs +6 -6
  102. package/fesm2022/angular-fire-functions.mjs.map +1 -1
  103. package/fesm2022/angular-fire-messaging.mjs +6 -6
  104. package/fesm2022/angular-fire-messaging.mjs.map +1 -1
  105. package/fesm2022/angular-fire-performance.mjs +6 -6
  106. package/fesm2022/angular-fire-performance.mjs.map +1 -1
  107. package/fesm2022/angular-fire-remote-config.mjs +6 -6
  108. package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
  109. package/fesm2022/angular-fire-storage.mjs +6 -6
  110. package/fesm2022/angular-fire-storage.mjs.map +1 -1
  111. package/fesm2022/angular-fire.mjs +4 -4
  112. package/fesm2022/angular-fire.mjs.map +1 -1
  113. package/firestore/lite/package.json +3 -0
  114. package/firestore/package.json +3 -0
  115. package/functions/package.json +3 -0
  116. package/messaging/package.json +3 -0
  117. package/package.json +10 -10
  118. package/performance/package.json +3 -0
  119. package/remote-config/package.json +3 -0
  120. package/schematics/firebaseTools.js +2 -2
  121. package/schematics/setup/index.js +21 -6
  122. package/schematics/setup/prompts.js +24 -19
  123. package/schematics/utils.js +3 -1
  124. package/storage/package.json +3 -0
@@ -34,10 +34,8 @@ const setupProject = (tree, context, features, config) => {
34
34
  firebaseApp: config.firebaseApp,
35
35
  firebaseHostingSite: config.firebaseHostingSite,
36
36
  sdkConfig: config.sdkConfig,
37
- prerender: undefined,
38
- browserTarget: config.browserTarget,
39
- serverTarget: config.serverTarget,
40
- prerenderTarget: config.prerenderTarget,
37
+ buildTarget: config.buildTarget,
38
+ serveTarget: config.serveTarget,
41
39
  ssrRegion: config.ssrRegion,
42
40
  },
43
41
  tree,
@@ -69,7 +67,10 @@ const ngAddSetupProject = (options) => (host, context) => __awaiter(void 0, void
69
67
  (0, fs_1.writeFileSync)((0, path_1.join)(projectRoot, 'firebase.json'), '{}');
70
68
  }
71
69
  const user = yield (0, prompts_1.userPrompt)({ projectRoot });
72
- yield firebaseTools.login.use(user.email, { projectRoot });
70
+ const defaultUser = yield firebaseTools.login(options);
71
+ if (user.email !== (defaultUser === null || defaultUser === void 0 ? void 0 : defaultUser.email)) {
72
+ yield firebaseTools.login.use(user.email, { projectRoot });
73
+ }
73
74
  const { project: ngProject, projectName: ngProjectName } = (0, utils_1.getProject)(options, host);
74
75
  const [defaultProjectName] = (0, utils_1.getFirebaseProjectNameFromHost)(host, ngProjectName);
75
76
  const firebaseProject = yield (0, prompts_1.projectPrompt)(defaultProjectName, { projectRoot, account: user.email });
@@ -122,6 +123,7 @@ function generateFirebaseJson(tree, path, project, region) {
122
123
  }
123
124
  exports.generateFirebaseJson = generateFirebaseJson;
124
125
  const setupFirebase = (config) => {
126
+ var _a, _b, _c, _d;
125
127
  const { tree, workspacePath, workspace, options } = config;
126
128
  const project = workspace.projects[options.project];
127
129
  if (!project.architect) {
@@ -129,7 +131,20 @@ const setupFirebase = (config) => {
129
131
  }
130
132
  project.architect.deploy = {
131
133
  builder: '@angular/fire:deploy',
132
- options: Object.assign(Object.assign({ version: 2, browserTarget: options.browserTarget }, (options.serverTarget ? { serverTarget: options.serverTarget } : {})), (options.prerenderTarget ? { prerenderTarget: options.prerenderTarget } : {}))
134
+ options: {
135
+ version: 2,
136
+ },
137
+ configurations: {
138
+ production: {
139
+ buildTarget: (_a = options.buildTarget) === null || _a === void 0 ? void 0 : _a[0],
140
+ serveTarget: (_b = options.serveTarget) === null || _b === void 0 ? void 0 : _b[0],
141
+ },
142
+ development: {
143
+ buildTarget: (_c = options.buildTarget) === null || _c === void 0 ? void 0 : _c[1],
144
+ serveTarget: (_d = options.serveTarget) === null || _d === void 0 ? void 0 : _d[1],
145
+ }
146
+ },
147
+ defaultConfiguration: 'development',
133
148
  };
134
149
  tree.overwrite(workspacePath, JSON.stringify(workspace, null, 2));
135
150
  generateFirebaseJson(tree, 'firebase.json', options.project, options.ssrRegion);
@@ -33,6 +33,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.projectTypePrompt = exports.sitePrompt = exports.appPrompt = exports.projectPrompt = exports.userPrompt = exports.featuresPrompt = exports.searchSites = exports.searchApps = exports.searchProjects = void 0;
36
+ const child_process_1 = require("child_process");
36
37
  const fuzzy = __importStar(require("fuzzy"));
37
38
  const inquirer = __importStar(require("inquirer"));
38
39
  const common_1 = require("../common");
@@ -141,15 +142,14 @@ exports.featuresPrompt = featuresPrompt;
141
142
  const userPrompt = (options) => __awaiter(void 0, void 0, void 0, function* () {
142
143
  var _a;
143
144
  const firebaseTools = yield (0, firebaseTools_1.getFirebaseTools)();
144
- const users = yield firebaseTools.login.list();
145
- if (!users || users.length === 0) {
146
- yield firebaseTools.login();
147
- const user = yield firebaseTools.login(options);
148
- return user;
145
+ let loginList = yield firebaseTools.login.list();
146
+ if (!Array.isArray(loginList) || loginList.length === 0) {
147
+ (0, child_process_1.spawnSync)('firebase login', { shell: true, cwd: options.projectRoot, stdio: 'inherit' });
148
+ return yield firebaseTools.login(options);
149
149
  }
150
150
  else {
151
151
  const defaultUser = yield firebaseTools.login(options);
152
- const choices = users.map(({ user }) => ({ name: user.email, value: user }));
152
+ const choices = loginList.map(({ user }) => ({ name: user.email, value: user }));
153
153
  const newChoice = { name: '[Login in with another account]', value: NEW_OPTION };
154
154
  const { user } = yield inquirer.prompt({
155
155
  type: 'list',
@@ -159,8 +159,17 @@ const userPrompt = (options) => __awaiter(void 0, void 0, void 0, function* () {
159
159
  default: (_a = choices.find(it => it.value.email === defaultUser.email)) === null || _a === void 0 ? void 0 : _a.value,
160
160
  });
161
161
  if (user === NEW_OPTION) {
162
- const { user } = yield firebaseTools.login.add();
163
- return user;
162
+ (0, child_process_1.spawnSync)('firebase login:add', { shell: true, cwd: options.projectRoot, stdio: 'inherit' });
163
+ loginList = yield firebaseTools.login.list();
164
+ if (!Array.isArray(loginList)) {
165
+ throw new Error("firebase login:list did not respond as expected");
166
+ }
167
+ const priorEmails = choices.map(it => it.name);
168
+ const newLogin = loginList.find(it => !priorEmails.includes(it.user.email));
169
+ if (!newLogin) {
170
+ throw new Error("Did not find a new user.");
171
+ }
172
+ return newLogin.user;
164
173
  }
165
174
  return user;
166
175
  }
@@ -256,15 +265,11 @@ const ALLOWED_SSR_REGIONS = [
256
265
  { name: 'asia-east1 (Taiwan)', value: 'asia-east1' },
257
266
  ];
258
267
  const projectTypePrompt = (project, name) => __awaiter(void 0, void 0, void 0, function* () {
259
- var _b, _c, _d, _e, _f, _g;
260
- let serverTarget;
261
- let browserTarget = `${name}:build:${((_c = (_b = project.architect) === null || _b === void 0 ? void 0 : _b.build) === null || _c === void 0 ? void 0 : _c.defaultConfiguration) || 'production'}`;
262
- let prerenderTarget;
263
- if ((0, utils_1.isUniversalApp)(project)) {
264
- serverTarget = `${name}:server:${((_e = (_d = project.architect) === null || _d === void 0 ? void 0 : _d.server) === null || _e === void 0 ? void 0 : _e.defaultConfiguration) || 'production'}`;
265
- browserTarget = `${name}:build:${((_g = (_f = project.architect) === null || _f === void 0 ? void 0 : _f.build) === null || _g === void 0 ? void 0 : _g.defaultConfiguration) || 'production'}`;
266
- const prerender = (0, utils_1.hasPrerenderOption)(project);
267
- prerenderTarget = prerender && `${name}:prerender:${prerender.defaultConfiguration || 'production'}`;
268
+ const buildTarget = [`${name}:build:production`, `${name}:build:development`];
269
+ const serveTarget = (0, utils_1.isUniversalApp)(project) ?
270
+ [`${name}:serve-ssr:production`, `${name}:serve-ssr:development`] :
271
+ [`${name}:serve:production`, `${name}:serve:development`];
272
+ if ((0, utils_1.isUniversalApp)(project) || (0, utils_1.isSSRApp)(project)) {
268
273
  const { ssrRegion } = yield inquirer.prompt({
269
274
  type: 'list',
270
275
  name: 'ssrRegion',
@@ -272,8 +277,8 @@ const projectTypePrompt = (project, name) => __awaiter(void 0, void 0, void 0, f
272
277
  message: 'In which region would you like to host server-side content?',
273
278
  default: DEFAULT_REGION,
274
279
  });
275
- return { prerender, projectType: 3, ssrRegion, browserTarget, serverTarget, prerenderTarget };
280
+ return { projectType: 3, ssrRegion, buildTarget, serveTarget };
276
281
  }
277
- return { projectType: 3, browserTarget, serverTarget, prerenderTarget };
282
+ return { projectType: 3, buildTarget, serveTarget };
278
283
  });
279
284
  exports.projectTypePrompt = projectTypePrompt;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.addIgnoreFiles = exports.featureToRules = exports.addFixesToServer = exports.addEnvironmentEntry = exports.getFirebaseProjectNameFromFs = exports.getFirebaseProjectNameFromHost = exports.getProject = exports.getWorkspace = exports.shortAppId = exports.hasPrerenderOption = exports.isUniversalApp = void 0;
6
+ exports.addIgnoreFiles = exports.featureToRules = exports.addFixesToServer = exports.addEnvironmentEntry = exports.getFirebaseProjectNameFromFs = exports.getFirebaseProjectNameFromHost = exports.getProject = exports.getWorkspace = exports.shortAppId = exports.hasPrerenderOption = exports.isSSRApp = exports.isUniversalApp = void 0;
7
7
  const fs_1 = require("fs");
8
8
  const path_1 = require("path");
9
9
  const schematics_1 = require("@angular-devkit/schematics");
@@ -14,6 +14,8 @@ const change_1 = require("@schematics/angular/utility/change");
14
14
  const common_1 = require("./common");
15
15
  const isUniversalApp = (project) => { var _a; return (_a = project.architect) === null || _a === void 0 ? void 0 : _a.server; };
16
16
  exports.isUniversalApp = isUniversalApp;
17
+ const isSSRApp = (project) => { var _a, _b; return !!((_b = (_a = project.architect) === null || _a === void 0 ? void 0 : _a.build.options) === null || _b === void 0 ? void 0 : _b.ssr); };
18
+ exports.isSSRApp = isSSRApp;
17
19
  const hasPrerenderOption = (project) => { var _a; return (_a = project.architect) === null || _a === void 0 ? void 0 : _a.prerender; };
18
20
  exports.hasPrerenderOption = hasPrerenderOption;
19
21
  const shortAppId = (app) => { var _a; return (_a = app === null || app === void 0 ? void 0 : app.appId) === null || _a === void 0 ? void 0 : _a.split('/').pop(); };
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../fesm2022/angular-fire-storage.mjs"
3
+ }