@geekbears/gb-nest-firebase
v1.0.18
Published
Firebase NestJs Module
Downloads
181
Readme
This dynamic module was generated with Nest Dynamic Package Generator Schematics. You can read more about using the generator here.
Installation
To install this generated project:
npm install @geekbears/gb-nest-firebase
Usage (Dynamic)
@Module({
imports: [
GbNestFirebaseModule.forRootAsync({
inject: [ConfigService],
useFactory(configService: ConfigService) {
const privateKey = Buffer.from(configService.get<string>('FIREBASE_PRIVATE_KEY'), 'base64').toString(
'utf-8',
);
const credentials: GbNestFirebaseOptions = {
googleApplicationCredential: {
clientEmail: configService.get('FIREBASE_CLIENT_EMAIL'),
privateKey,
projectId: configService.get('FIREBASE_PROJECT_ID'),
},
};
return credentials;
},
}),
],
})
export class AppModule {}
// using in service class
export class Service {
constructor(
@InjectFirebaseAdmin() private readonly firebase: FirebaseAdmin,
) {}
}
Testing
If you selected yes
for the question Generate a testing client?
, a small testing module was automatically generated
called GbNestFirebaseClientModule. You can test that the template was properly generated by running
npm run start:dev
Then connect to http://localhost:3000.
Customizing
The files in the project have comments that should help guide you.
You can also refer to this article for details on the concepts behind this module pattern.
You can read more about using the generator here.
About @nestjsplus/dyn-schematics
Nest Dynamic Package Generator Schematics generates a starter template for building NestJS dynamic packages. It uses the @nestjs/cli
core package, and provides customized schematics for generating modular NestJS applications. See here for the full set of available schematics, and documentation.