init project
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
export function writeExpressApiTemplate(targetDir, name) {
|
||||
fs.mkdirSync(path.join(targetDir, 'routes'), { recursive: true });
|
||||
fs.writeFileSync(path.join(targetDir, 'package.json'), `${JSON.stringify({
|
||||
name,
|
||||
version: '0.1.0',
|
||||
private: true,
|
||||
type: 'module',
|
||||
scripts: {
|
||||
dev: 'node --watch index.js',
|
||||
start: 'node index.js',
|
||||
test: 'echo "no tests yet" && exit 0',
|
||||
},
|
||||
dependencies: {
|
||||
express: '^5.0.0',
|
||||
},
|
||||
}, null, 2)}\n`);
|
||||
fs.writeFileSync(path.join(targetDir, 'index.js'), `import express from 'express';
|
||||
import healthRouter from './routes/health.js';
|
||||
|
||||
const app = express();
|
||||
app.use(express.json());
|
||||
app.use('/api/health', healthRouter);
|
||||
|
||||
const port = process.env.PORT ?? 3000;
|
||||
app.listen(port, () => {
|
||||
console.log(\`${name} listening on http://localhost:\${port}\`);
|
||||
});
|
||||
`);
|
||||
fs.writeFileSync(path.join(targetDir, 'routes', 'health.js'), `import { Router } from 'express';
|
||||
|
||||
const router = Router();
|
||||
|
||||
router.get('/', (_req, res) => {
|
||||
res.json({ status: 'ok' });
|
||||
});
|
||||
|
||||
export default router;
|
||||
`);
|
||||
fs.writeFileSync(path.join(targetDir, '.gitignore'), 'node_modules/\n');
|
||||
return targetDir;
|
||||
}
|
||||
//# sourceMappingURL=expressApi.js.map
|
||||
Reference in New Issue
Block a user