1234567891011121314151617181920212223242526272829 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.parseBoltRules = void 0;
- const fs = require("fs");
- const spawn = require("cross-spawn");
- const clc = require("colorette");
- const _ = require("lodash");
- const error_1 = require("./error");
- function parseBoltRules(filename) {
- const ruleSrc = fs.readFileSync(filename, "utf8");
- const result = spawn.sync("npx", ["--no-install", "firebase-bolt"], {
- input: ruleSrc,
- timeout: 10000,
- encoding: "utf-8",
- });
- if (result.error && _.get(result.error, "code") === "ENOENT") {
- throw new error_1.FirebaseError("Bolt not installed, run " + clc.bold("npm install -g firebase-bolt"));
- }
- else if (result.error) {
- throw new error_1.FirebaseError("Unexpected error parsing Bolt rules file", {
- exit: 2,
- });
- }
- else if (result.status != null && result.status > 0) {
- throw new error_1.FirebaseError(result.stderr.toString(), { exit: 1 });
- }
- return result.stdout;
- }
- exports.parseBoltRules = parseBoltRules;
|