12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- // ===========================================
- // Wiki.js
- // Licensed under AGPLv3
- // ===========================================
- const path = require('path')
- const { nanoid } = require('nanoid')
- const { DateTime } = require('luxon')
- const semver = require('semver')
- if (!semver.satisfies(process.version, '>=18')) {
- console.error('ERROR: Node.js 18.x or later required!')
- process.exit(1)
- }
- let WIKI = {
- IS_DEBUG: process.env.NODE_ENV === 'development',
- IS_MASTER: true,
- ROOTPATH: process.cwd(),
- INSTANCE_ID: nanoid(10),
- SERVERPATH: path.join(process.cwd(), 'server'),
- Error: require('./helpers/error'),
- configSvc: require('./core/config'),
- kernel: require('./core/kernel'),
- startedAt: DateTime.utc(),
- storage: {
- defs: [],
- modules: []
- }
- }
- global.WIKI = WIKI
- WIKI.configSvc.init()
- // ----------------------------------------
- // Init Logger
- // ----------------------------------------
- WIKI.logger = require('./core/logger').init()
- // ----------------------------------------
- // Start Kernel
- // ----------------------------------------
- WIKI.kernel.init()
- // ----------------------------------------
- // Register exit handler
- // ----------------------------------------
- process.on('SIGINT', () => {
- WIKI.kernel.shutdown()
- })
- process.on('message', (msg) => {
- if (msg === 'shutdown') {
- WIKI.kernel.shutdown()
- }
- })
|