Firebase Bolt Compiler
Compiles Firebase Bolt files to TypeScript, Flow, and more.
This package is a rewrite of firebase-bolt-transpiler in TypeScript. It uses the same AST types from the original firebase-bolt package providing more safety and flexibility to generate different code artifacts.
Installation
yarn install firebase-bolt-compiler
Usage
To generate TypeScript:
firebase-bolt-compiler < rules.bolt
To generate Flow:
firebase-bolt-compiler --flow < rules.bolt
Example
Using the following rules.bolt
file as an input:
path /users/{uid} is Users {
read() { true }
write() { isCurrentUser(uid) }
}
type Users extends User[] {}
type User {
firstName: String;
lastName: String;
}
Will generate the TypeScript code below:
export const P_users = ['users'] as const;
export type T_Users = { [key: string]: T_User };
export interface T_User {
firstName: string;
lastName: string;
}
export interface dbPaths {
users?: Record<string, T_Users>
}