-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuildForFirebase.sh
40 lines (33 loc) · 1.08 KB
/
buildForFirebase.sh
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
#!/bin/bash
cd apps
echo "generating /apps directory index file for Firebase"
cat > dirIndexForFirebase.js << 'EOF'
const { resolve } = require('path'), { readdir } = require('fs').promises;
const directory = ".";
async function getFiles(dir) {
const dirents = await readdir(dir, { withFileTypes: true });
const files = await Promise.all(dirents
.filter((dirent) => dirent.name.includes('.kajuapp'))
.map((dirent) => {
if (dirent.isDirectory()) {
return getFiles(resolve(dirent.name));
}
let direntName = dirent.name;
if (dir != directory) {
direntName = direntName + "/" + direntName;
}
return direntName;
}));
return Array.prototype.concat(...files);
}
getFiles(directory).then(results => {
let html = "<ul>"
+ results.map(fileOrDirectory => {
return `<li><a href="${fileOrDirectory}">${fileOrDirectory}</a></li>`
}).join("");
html += '</ul>';
process.stdout.write(html);
});
EOF
node dirIndexForFirebase.js > index.html
cd ..