install() -> installAdmin()
This commit is contained in:
@@ -107,7 +107,7 @@ export class FrontblockAdmin extends AdminBase<AdminConf>{
|
||||
status = await updater.cloneRepo("https://gitea.frontblock.me/fb-dist/admin.git", force)
|
||||
|
||||
this.destroy()
|
||||
const installer = require("./Installer").install
|
||||
const installer = require("./Installer").installAdmin
|
||||
installer(this.getPlugins())
|
||||
}
|
||||
return status
|
||||
|
||||
+27
-10
@@ -19,17 +19,34 @@ const logger = Logger.getLogger("installer")
|
||||
export type NPMPkgName = string
|
||||
export type NPMVersion = string
|
||||
|
||||
export const install = (plugins: Plugin[] = []) => {
|
||||
|
||||
const npmPkgs:[NPMPkgName, NPMVersion][] = [['sqlite3', '4.1.0'], ['knex', '0.19.2']]
|
||||
export const defaultNodePkgs = ():[NPMPkgName, NPMVersion][] => {
|
||||
return [
|
||||
['sqlite3', '4.1.0'],
|
||||
['knex', '0.19.2']
|
||||
]
|
||||
}
|
||||
|
||||
export const npmInstall = (prefix: string = './plugins') => async (npmPkgs: [NPMPkgName, NPMVersion][]) => {
|
||||
const deps = npmPkgs.map(tuple => tuple.join('@') ).join(" ")
|
||||
logger.info("Installing plaform dependencies: "+deps)
|
||||
logger.info('npm install --prefix', prefix, deps)
|
||||
|
||||
exec("npm i --prefix ./plugins " + deps).then(process => {
|
||||
|
||||
logger.debug(process.stdout)
|
||||
const Admin = require("./Admin").FrontblockAdmin
|
||||
new Admin(plugins)
|
||||
})
|
||||
const { error, stdout, stderr } = await exec('npm i --prefix ' + prefix + ' ' + deps)
|
||||
|
||||
if (error) throw new Error(stderr)
|
||||
else logger.info(stdout)
|
||||
}
|
||||
|
||||
export const installAdmin = async (plugins: Plugin[] = []) => {
|
||||
logger.debug('Installing Admin')
|
||||
|
||||
try {
|
||||
await npmInstall()(defaultNodePkgs())
|
||||
logger.info('Installed node dependencies')
|
||||
} catch (error) {
|
||||
logger.fatal('Unable to install node dependencies: ', error)
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const Admin = require("./Admin").FrontblockAdmin
|
||||
new Admin(plugins)
|
||||
}
|
||||
@@ -1,2 +1,2 @@
|
||||
import { install } from "./Installer";
|
||||
install([])
|
||||
import { installAdmin } from "./Installer";
|
||||
installAdmin([])
|
||||
|
||||
Reference in New Issue
Block a user