mirror of
https://github.com/pockethost/pockethost.git
synced 2025-07-01 18:32:31 +00:00
feat: backend service template
This commit is contained in:
parent
fb264d2557
commit
3a3aa77110
33
_templates/service/new/service.ejs.t
Normal file
33
_templates/service/new/service.ejs.t
Normal file
@ -0,0 +1,33 @@
|
||||
---
|
||||
to: packages/daemon/src/services/<%= name %>.ts
|
||||
---
|
||||
<%
|
||||
const { changeCase, inflection } = h
|
||||
const { dasherize } = inflection
|
||||
const { upper, camel, pascal, snake, lower } = changeCase
|
||||
const nameName = camel(name)
|
||||
const NameName = pascal(name)
|
||||
const NAME_NAME = upper(snake(NameName))
|
||||
const name_name = lower(NAME_NAME)
|
||||
const dashName = dasherize(name_name)
|
||||
h.replace('./packages/daemon/src/server.ts', /\/\/ gen:import/, `import { ${nameName}Service } from './services/${NameName}'\n // gen:import`);
|
||||
h.replace('./packages/daemon/src/server.ts', /\/\/ gen:service/, `await ${nameName}Service({ logger })\n // gen:service`);
|
||||
|
||||
%>
|
||||
import { mkSingleton, SingletonBaseConfig } from '@pockethost/common'
|
||||
|
||||
export type <%=NameName%>ServiceConfig = SingletonBaseConfig & {}
|
||||
|
||||
export const <%=nameName%>Service = mkSingleton(
|
||||
async (config: <%=NameName%>ServiceConfig) => {
|
||||
const { logger } = config
|
||||
const _serviceLogger = logger.create('<%=NameName%>Service')
|
||||
const { dbg, error, warn, abort } = _serviceLogger
|
||||
|
||||
dbg(`Initializing <%=NameName%>Service`)
|
||||
|
||||
return {
|
||||
shutdown: async () => {},
|
||||
}
|
||||
}
|
||||
)
|
@ -20,6 +20,7 @@ import { logger as loggerService } from '@pockethost/common'
|
||||
import { exec } from 'child_process'
|
||||
import { centralDbService } from './services/CentralDbService'
|
||||
import { instanceLoggerService } from './services/InstanceLoggerService'
|
||||
// gen:import
|
||||
|
||||
loggerService({ debug: DEBUG, trace: TRACE, errorTrace: !DEBUG })
|
||||
|
||||
@ -92,6 +93,7 @@ global.EventSource = require('eventsource')
|
||||
instanceApiTimeoutMs: 1000,
|
||||
})
|
||||
await centralDbService({ logger })
|
||||
// gen:service
|
||||
|
||||
info(`Hooking into process exit event`)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user