generateFirebaseJson method
Generate firebase.json
Implementation
Future<void> generateFirebaseJson() async {
if (config.firebaseProjectId == null) {
warn('Firebase project ID not set, skipping firebase.json');
return;
}
info('Generating firebase.json (render mode: '
'${config.jasprRenderMode.displayName})...');
final String hostingPublicPath = _hostingPublicPath();
final List<Map<String, Object>> rewrites = _hostingRewrites();
final String rewritesJson = _renderRewrites(rewrites);
final String content =
'''
{
"firestore": {
"rules": "config/firestore.rules",
"indexes": "config/firestore.indexes.json"
},
"storage": {
"rules": "config/storage.rules"
},
"hosting": [
{
"target": "release",
"public": "$hostingPublicPath",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": $rewritesJson
},
{
"target": "beta",
"public": "$hostingPublicPath",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": $rewritesJson
}
]
}
''';
final File file = File(p.join(config.outputDir, 'firebase.json'));
await file.writeAsString(content);
success('Generated: firebase.json');
}