28 lines
777 B
JavaScript
28 lines
777 B
JavaScript
|
const path = require('path')
|
||
|
const fs = require('fs')
|
||
|
|
||
|
const projectRoot = path.join(__dirname, '..')
|
||
|
const webBuildJs = path.join(projectRoot, 'web-build', 'static', 'js')
|
||
|
const templateFile = path.join(
|
||
|
projectRoot,
|
||
|
'bskyweb',
|
||
|
'templates',
|
||
|
'scripts.html',
|
||
|
)
|
||
|
|
||
|
const jsFiles = fs.readdirSync(webBuildJs).filter(name => name.endsWith('.js'))
|
||
|
jsFiles.sort((a, b) => {
|
||
|
// make sure main is written last
|
||
|
if (a.startsWith('main')) return 1
|
||
|
if (b.startsWith('main')) return -1
|
||
|
return a.localeCompare(b)
|
||
|
})
|
||
|
|
||
|
console.log(`Found ${jsFiles.length} js files in web-build`)
|
||
|
console.log(`Writing ${templateFile}`)
|
||
|
|
||
|
const outputFile = jsFiles
|
||
|
.map(name => `<script defer="defer" src="/static/js/${name}"></script>`)
|
||
|
.join('\n')
|
||
|
fs.writeFileSync(templateFile, outputFile)
|