summaryrefslogtreecommitdiff
path: root/frontend-old/node_modules/@firebase/util/postinstall.js
diff options
context:
space:
mode:
authoraltaf-creator <dev@altafcreator.com>2025-11-16 19:08:29 +0800
committeraltaf-creator <dev@altafcreator.com>2025-11-16 19:08:29 +0800
commit434aa8343fdcbb4d5002f934979913c099489bee (patch)
tree55bab4ec5a6151be57797d34f61faf5ea744471b /frontend-old/node_modules/@firebase/util/postinstall.js
parent893c388d4e99442a36005e5971a87730623f946e (diff)
sdk, del
Diffstat (limited to 'frontend-old/node_modules/@firebase/util/postinstall.js')
-rw-r--r--frontend-old/node_modules/@firebase/util/postinstall.js153
1 files changed, 0 insertions, 153 deletions
diff --git a/frontend-old/node_modules/@firebase/util/postinstall.js b/frontend-old/node_modules/@firebase/util/postinstall.js
deleted file mode 100644
index 6987d13..0000000
--- a/frontend-old/node_modules/@firebase/util/postinstall.js
+++ /dev/null
@@ -1,153 +0,0 @@
-/**
- * @license
- * Copyright 2025 Google LLC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-const { writeFile, readFile } = require('node:fs/promises');
-const { pathToFileURL } = require('node:url');
-const { isAbsolute, join } = require('node:path');
-
-const ENV_VARIABLE = 'FIREBASE_WEBAPP_CONFIG';
-
-async function getPartialConfig() {
- const envVariable = process.env[ENV_VARIABLE]?.trim();
-
- if (!envVariable) {
- return undefined;
- }
-
- // Like FIREBASE_CONFIG (admin autoinit) FIREBASE_WEBAPP_CONFIG can be
- // either a JSON representation of FirebaseOptions or the path to a filename
- if (envVariable.startsWith('{"')) {
- try {
- return JSON.parse(envVariable);
- } catch (e) {
- console.warn(
- `JSON payload in \$${ENV_VARIABLE} could not be parsed, ignoring.\n`,
- e
- );
- return undefined;
- }
- }
-
- const fileURL = pathToFileURL(
- isAbsolute(envVariable) ? envVariable : join(process.cwd(), envVariable)
- );
-
- try {
- const fileContents = await readFile(fileURL, 'utf-8');
- return JSON.parse(fileContents);
- } catch (e) {
- console.warn(
- `Contents of "${envVariable}" could not be parsed, ignoring \$${ENV_VARIABLE}.\n`,
- e
- );
- return undefined;
- }
-}
-
-async function getFinalConfig(partialConfig) {
- if (!partialConfig) {
- return undefined;
- }
- // In Firebase App Hosting the config provided to the environment variable is up-to-date and
- // "complete" we should not reach out to the webConfig endpoint to freshen it
- if (process.env.X_GOOGLE_TARGET_PLATFORM === 'fah') {
- return partialConfig;
- }
- const projectId = partialConfig.projectId || '-';
- // If the projectId starts with demo- this is an demo project from the firebase emulators
- // treat the config as whole
- if (projectId.startsWith('demo-')) {
- return partialConfig;
- }
- const appId = partialConfig.appId;
- const apiKey = partialConfig.apiKey;
- if (!appId || !apiKey) {
- console.warn(
- `Unable to fetch Firebase config, appId and apiKey are required, ignoring \$${ENV_VARIABLE}.`
- );
- return undefined;
- }
-
- const url = `https://firebase.googleapis.com/v1alpha/projects/${projectId}/apps/${appId}/webConfig`;
-
- try {
- const response = await fetch(url, {
- headers: { 'x-goog-api-key': apiKey }
- });
- if (!response.ok) {
- console.warn(
- `Unable to fetch Firebase config, ignoring \$${ENV_VARIABLE}.`
- );
- console.warn(
- `${url} returned ${response.statusText} (${response.status})`
- );
- try {
- console.warn((await response.json()).error.message);
- } catch (e) {}
- return undefined;
- }
- const json = await response.json();
- return { ...json, apiKey };
- } catch (e) {
- console.warn(
- `Unable to fetch Firebase config, ignoring \$${ENV_VARIABLE}.\n`,
- e
- );
- return undefined;
- }
-}
-
-function handleUnexpectedError(e) {
- console.warn(
- `Unexpected error encountered in @firebase/util postinstall script, ignoring \$${ENV_VARIABLE}.`
- );
- console.warn(e);
- process.exit(0);
-}
-
-getPartialConfig()
- .catch(handleUnexpectedError)
- .then(getFinalConfig)
- .catch(handleUnexpectedError)
- .then(async finalConfig => {
- const defaults = finalConfig && {
- config: finalConfig,
- emulatorHosts: {
- firestore: process.env.FIRESTORE_EMULATOR_HOST,
- database: process.env.FIREBASE_DATABASE_EMULATOR_HOST,
- storage: process.env.FIREBASE_STORAGE_EMULATOR_HOST,
- auth: process.env.FIREBASE_AUTH_EMULATOR_HOST
- }
- };
-
- await Promise.all([
- writeFile(
- join(__dirname, 'dist', 'postinstall.js'),
- `'use strict';
-Object.defineProperty(exports, '__esModule', { value: true });
-exports.getDefaultsFromPostinstall = () => (${JSON.stringify(defaults)});`
- ),
- writeFile(
- join(__dirname, 'dist', 'postinstall.mjs'),
- `const getDefaultsFromPostinstall = () => (${JSON.stringify(defaults)});
-export { getDefaultsFromPostinstall };`
- )
- ]);
-
- process.exit(0);
- })
- .catch(handleUnexpectedError);