Add: typescript compile step and update packaging

This commit is contained in:
nichwall committed 2026-08-23 15:34:08 -07:00
1 parent 513a0679f5
commit a7ebb3e1af
9 files changed
+123 -25

No files matched your search

+46
View File
@@ -0,0 +1,46 @@
const fs = require('fs')
const path = require('path')
const { spawnSync } = require('child_process')
const projectRoot = path.resolve(__dirname, '..')
const outputDirectory = path.join(projectRoot, 'dist-server')
fs.rmSync(outputDirectory, { recursive: true, force: true })
fs.mkdirSync(outputDirectory, { recursive: true })
fs.copyFileSync(path.join(projectRoot, 'package.json'), path.join(outputDirectory, 'package.json'))
fs.copyFileSync(path.join(projectRoot, 'index.js'), path.join(outputDirectory, 'index.js'))
const devConfigPath = path.join(projectRoot, 'dev.js')
if (fs.existsSync(devConfigPath)) {
fs.copyFileSync(devConfigPath, path.join(outputDirectory, 'dev.js'))
}
fs.cpSync(path.join(projectRoot, 'server'), path.join(outputDirectory, 'server'), {
recursive: true,
force: true
})
const testDirectory = path.join(projectRoot, 'test')
if (fs.existsSync(testDirectory)) {
fs.cpSync(testDirectory, path.join(outputDirectory, 'test'), {
recursive: true,
force: true
})
}
function hasTypeScriptSource(directory) {
for (const entry of fs.readdirSync(directory, { withFileTypes: true })) {
const entryPath = path.join(directory, entry.name)
if (entry.isDirectory() && hasTypeScriptSource(entryPath)) return true
if (entry.isFile() && entry.name.endsWith('.ts')) return true
}
return false
}
if (hasTypeScriptSource(path.join(projectRoot, 'server'))) {
const result = spawnSync(process.execPath, [require.resolve('typescript/bin/tsc'), '--project', 'tsconfig.server.json'], {
cwd: projectRoot,
stdio: 'inherit'
})
process.exit(result.status || 0)
}