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)
|
status = await updater.cloneRepo("https://gitea.frontblock.me/fb-dist/admin.git", force)
|
||||||
|
|
||||||
this.destroy()
|
this.destroy()
|
||||||
const installer = require("./Installer").install
|
const installer = require("./Installer").installAdmin
|
||||||
installer(this.getPlugins())
|
installer(this.getPlugins())
|
||||||
}
|
}
|
||||||
return status
|
return status
|
||||||
|
|||||||
@@ -19,17 +19,34 @@ const logger = Logger.getLogger("installer")
|
|||||||
export type NPMPkgName = string
|
export type NPMPkgName = string
|
||||||
export type NPMVersion = string
|
export type NPMVersion = string
|
||||||
|
|
||||||
export const install = (plugins: Plugin[] = []) => {
|
export const defaultNodePkgs = ():[NPMPkgName, NPMVersion][] => {
|
||||||
|
return [
|
||||||
|
['sqlite3', '4.1.0'],
|
||||||
|
['knex', '0.19.2']
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
const npmPkgs:[NPMPkgName, NPMVersion][] = [['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(" ")
|
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 => {
|
const { error, stdout, stderr } = await exec('npm i --prefix ' + prefix + ' ' + deps)
|
||||||
|
|
||||||
logger.debug(process.stdout)
|
if (error) throw new Error(stderr)
|
||||||
const Admin = require("./Admin").FrontblockAdmin
|
else logger.info(stdout)
|
||||||
new Admin(plugins)
|
}
|
||||||
})
|
|
||||||
|
|
||||||
|
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";
|
import { installAdmin } from "./Installer";
|
||||||
install([])
|
installAdmin([])
|
||||||
|
|||||||
Reference in New Issue
Block a user