feat: init
This commit is contained in:
100
node_modules/nitropack/dist/presets/firebase/preset.mjs
generated
vendored
Normal file
100
node_modules/nitropack/dist/presets/firebase/preset.mjs
generated
vendored
Normal file
@@ -0,0 +1,100 @@
|
||||
import { defineNitroPreset, writeFile } from "nitropack/kit";
|
||||
import { version as nitroVersion } from "nitropack/meta";
|
||||
import { basename, join, relative } from "pathe";
|
||||
import { genSafeVariableName } from "knitwork";
|
||||
import { stringifyYAML } from "confbox";
|
||||
import { updatePackageJSON, writeFirebaseConfig } from "./utils.mjs";
|
||||
const firebase = defineNitroPreset(
|
||||
{
|
||||
entry: `./runtime/firebase-gen-{{ firebase.gen }}`,
|
||||
commands: {
|
||||
deploy: "npx firebase-tools deploy"
|
||||
},
|
||||
firebase: {
|
||||
// we need this defined here so it's picked up by the template in firebase's entry
|
||||
gen: Number.parseInt(process.env.NITRO_FIREBASE_GEN || "") || "default"
|
||||
},
|
||||
hooks: {
|
||||
async compiled(nitro) {
|
||||
await writeFirebaseConfig(nitro);
|
||||
await updatePackageJSON(nitro);
|
||||
},
|
||||
"rollup:before": (nitro, rollupConfig) => {
|
||||
const _gen = nitro.options.firebase?.gen;
|
||||
if (!_gen || _gen === "default") {
|
||||
nitro.logger.warn(
|
||||
"Neither `firebase.gen` or `NITRO_FIREBASE_GEN` is set. Nitro will default to Cloud Functions 1st generation. It is recommended to set this to the latest generation (currently `2`). Set the version to remove this warning. See https://nitro.build/deploy/providers/firebase for more information."
|
||||
);
|
||||
nitro.options.firebase = { gen: 1 };
|
||||
}
|
||||
nitro.options.appConfig.nitro = nitro.options.appConfig.nitro || {};
|
||||
nitro.options.appConfig.nitro.firebase = nitro.options.firebase;
|
||||
const { serverFunctionName } = nitro.options.firebase;
|
||||
if (serverFunctionName && serverFunctionName !== genSafeVariableName(serverFunctionName)) {
|
||||
throw new Error(
|
||||
`\`firebase.serverFunctionName\` must be a valid JS variable name: \`${serverFunctionName}\``
|
||||
);
|
||||
}
|
||||
rollupConfig.plugins.unshift({
|
||||
name: "nitro:firebase",
|
||||
transform: (code, id) => {
|
||||
if (basename(id).startsWith("firebase-gen-")) {
|
||||
return {
|
||||
code: code.replace(
|
||||
/__firebaseServerFunctionName__/g,
|
||||
serverFunctionName || "server"
|
||||
),
|
||||
map: null
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "firebase",
|
||||
url: import.meta.url
|
||||
}
|
||||
);
|
||||
const firebaseAppHosting = defineNitroPreset(
|
||||
{
|
||||
extends: "node-server",
|
||||
serveStatic: true,
|
||||
hooks: {
|
||||
async compiled(nitro) {
|
||||
const serverEntry = join(nitro.options.output.serverDir, "index.mjs");
|
||||
await writeFile(
|
||||
join(nitro.options.rootDir, ".apphosting/bundle.yaml"),
|
||||
stringifyYAML({
|
||||
version: "v1",
|
||||
runConfig: {
|
||||
runCommand: `node ${relative(nitro.options.rootDir, serverEntry)}`,
|
||||
...nitro.options.firebase?.appHosting
|
||||
},
|
||||
metadata: {
|
||||
framework: nitro.options.framework.name || "nitropack",
|
||||
frameworkVersion: nitro.options.framework.version || "2.x",
|
||||
adapterPackageName: "nitropack",
|
||||
adapterVersion: nitroVersion
|
||||
},
|
||||
outputFiles: {
|
||||
serverApp: {
|
||||
include: [
|
||||
relative(nitro.options.rootDir, nitro.options.output.dir)
|
||||
]
|
||||
}
|
||||
}
|
||||
}),
|
||||
true
|
||||
);
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "firebase-app-hosting",
|
||||
stdName: "firebase_app_hosting",
|
||||
url: import.meta.url
|
||||
}
|
||||
);
|
||||
export default [firebase, firebaseAppHosting];
|
||||
Reference in New Issue
Block a user