12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.isLocalExtension = exports.readFile = exports.findExtensionYaml = exports.getLocalExtensionSpec = void 0;
- const fs = require("fs-extra");
- const path = require("path");
- const yaml = require("js-yaml");
- const fsutils_1 = require("../fsutils");
- const error_1 = require("../error");
- const logger_1 = require("../logger");
- const EXTENSIONS_SPEC_FILE = "extension.yaml";
- const EXTENSIONS_PREINSTALL_FILE = "PREINSTALL.md";
- async function getLocalExtensionSpec(directory) {
- const spec = await parseYAML(readFile(path.resolve(directory, EXTENSIONS_SPEC_FILE)));
- try {
- const preinstall = readFile(path.resolve(directory, EXTENSIONS_PREINSTALL_FILE));
- spec.preinstallContent = preinstall;
- }
- catch (err) {
- logger_1.logger.debug(`No PREINSTALL.md found in directory ${directory}.`);
- }
- return spec;
- }
- exports.getLocalExtensionSpec = getLocalExtensionSpec;
- function findExtensionYaml(directory) {
- while (!(0, fsutils_1.fileExistsSync)(path.resolve(directory, EXTENSIONS_SPEC_FILE))) {
- const parentDir = path.dirname(directory);
- if (parentDir === directory) {
- throw new error_1.FirebaseError("Couldn't find an extension.yaml file. Check that you are in the root directory of your extension.");
- }
- directory = parentDir;
- }
- return directory;
- }
- exports.findExtensionYaml = findExtensionYaml;
- function readFile(pathToFile) {
- try {
- return fs.readFileSync(pathToFile, "utf8");
- }
- catch (err) {
- if (err.code === "ENOENT") {
- throw new error_1.FirebaseError(`Could not find "${pathToFile}""`, { original: err });
- }
- throw new error_1.FirebaseError(`Failed to read file at "${pathToFile}"`, { original: err });
- }
- }
- exports.readFile = readFile;
- function isLocalExtension(extensionName) {
- try {
- fs.readdirSync(extensionName);
- }
- catch (err) {
- return false;
- }
- return true;
- }
- exports.isLocalExtension = isLocalExtension;
- function parseYAML(source) {
- try {
- return yaml.safeLoad(source);
- }
- catch (err) {
- if (err instanceof yaml.YAMLException) {
- throw new error_1.FirebaseError(`YAML Error: ${err.message}`, { original: err });
- }
- throw new error_1.FirebaseError(err.message);
- }
- }
|