-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathsetup.js
55 lines (45 loc) · 1.3 KB
/
setup.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
const readline = require('readline')
const files = require('fs')
const reader = readline.createInterface(
{
input: process.stdin,
output: process.stdout
})
reader.question('API Key: ', key =>
{
reader.question('Project ID: ', id =>
{
generateFiles(id, key)
reader.close()
})
})
function generateFiles(projectId, apiKey)
{
var rc = firebaserc(projectId)
var front = frontend(projectId, apiKey)
var back = backend(projectId)
files.writeFileSync('.firebaserc', rc)
files.writeFileSync('./public/js/common/config.js', front)
files.writeFileSync('./functions/config.js', back)
console.log('Setup completed!')
}
function firebaserc(projectId)
{
return `{\n\t"projects": {\n\t\t"default": "${projectId}"\n\t}\n}`
}
function frontend(projectId, apiKey)
{
var result = 'const FIREBASE_CONFIG = {\n'
result += `\tapiKey: '${apiKey}',\n`
result += `\tauthDomain: '${projectId}.firebaseapp.com',\n`
result += `\tdatabaseURL: 'https://${projectId}.firebaseio.com',\n`
result += `\tprojectId: '${projectId}',\n`
result += `\tstorageBucket: '${projectId}.appspot.com',\n`
result += `\tmessagingSenderId: ''\n`
result += '}'
return result
}
function backend(projectId)
{
return `module.exports = {\n\tdatabaseURL: 'https://${projectId}.firebaseio.com',\n\tstorageBucket: '${projectId}.appspot.com'\n}`
}