Hello yarn berry

This commit is contained in:
undefined committed 2021-05-26 23:35:36 +08:00
1 parent 04a4306895
commit 782f334a27
62 files changed
+448 -239

No files matched your search

+3 -2
View File
@@ -1,7 +1,7 @@
/* eslint-disable no-await-in-loop */
/* eslint-disable import/no-dynamic-require */
import { argv } from 'yargs';
import { ObjectID } from 'mongodb';
import cac from 'cac';
import {
lib, service, model, script,
builtinLib, builtinModel, builtinScript,
@@ -11,6 +11,7 @@ import { validate } from '../lib/validator';
import * as bus from '../service/bus';
import db from '../service/db';
const argv = cac().parse();
const COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
const ARR = /=>.*$/mg;
function parseParameters(fn: Function) {
@@ -29,7 +30,7 @@ async function runScript(name: string, arg: any) {
}
async function cli() {
const [, modelName, func, ...args] = argv._ as [string, string, string, ...any[]];
const [, modelName, func, ...args] = argv.args as [string, string, string, ...any[]];
if (modelName === 'script') {
let arg: any;
try {
+3 -2
View File
@@ -3,7 +3,7 @@
import os from 'os';
import path from 'path';
import fs from 'fs-extra';
import { argv } from 'yargs';
import cac from 'cac';
import { builtinModel } from './common';
import { Entry } from '../loader';
import { Logger } from '../logger';
@@ -11,13 +11,14 @@ import options from '../options';
import * as bus from '../service/bus';
import db from '../service/db';
const argv = cac().parse();
const logger = new Logger('entry/master');
const tmpdir = path.resolve(os.tmpdir(), 'hydro');
const lockfile = path.resolve(tmpdir, 'lock.json');
export async function load(call: Entry) {
fs.ensureDirSync(tmpdir);
if (fs.existsSync(lockfile) && !argv.ignorelock) {
if (fs.existsSync(lockfile) && !argv.options.ignorelock) {
try {
const file = require(lockfile);
process.kill(file.pid, 0);
+2 -2
View File
@@ -6,11 +6,11 @@ import Koa, { Context } from 'koa';
import Body from 'koa-body';
import cache from 'koa-static-cache';
import mongodb from 'mongodb';
import { argv } from 'yargs';
import cac from 'cac';
import { Logger } from '../logger';
const logger = new Logger('setup');
const listenPort = argv.port || 8888;
const listenPort = cac().parse().options.port || 8888;
async function get(ctx: Context) {
ctx.body = `<!DOCTYPE html>
+23 -22
View File
@@ -1,6 +1,6 @@
/* eslint-disable no-await-in-loop */
/* eslint-disable import/no-dynamic-require */
import { argv } from 'yargs';
import cac from 'cac';
import {
locale, template, lib, service, model, handler, script, setting, uistatic,
builtinLib, builtinScript, builtinHandler, builtinModel,
@@ -11,32 +11,33 @@ import db from '../service/db';
import { Logger } from '../logger';
const logger = new Logger('loader/worker');
const detail = cac().parse().options.loaderDetail;
export async function load() {
const pending = global.addons;
const fail = [];
const active = [];
if (argv.loaderDetail) logger.info('start');
if (detail) logger.info('start');
require('../lib/i18n');
require('../utils');
require('../error');
require('../options');
if (argv.loaderDetail) logger.info('finish: options');
if (detail) logger.info('finish: options');
await Promise.all([
locale(pending, fail),
template(pending, fail),
uistatic(pending, fail),
]);
if (argv.loaderDetail) logger.info('finish: locale/template/static');
if (detail) logger.info('finish: locale/template/static');
const opts = options();
await db.start(opts);
if (argv.loaderDetail) logger.info('finish: db.connect');
if (detail) logger.info('finish: db.connect');
const modelSystem = require('../model/system');
await modelSystem.runConfig();
if (argv.loaderDetail) logger.info('finish: config');
if (detail) logger.info('finish: config');
const storage = require('../service/storage');
await storage.start();
if (argv.loaderDetail) logger.info('finish: storage.connect');
if (detail) logger.info('finish: storage.connect');
for (const i of builtinLib) {
let t;
try {
@@ -46,40 +47,40 @@ export async function load() {
}
require(t);
}
if (argv.loaderDetail) logger.info('finish: lib.builtin');
if (detail) logger.info('finish: lib.builtin');
await lib(pending, fail);
if (argv.loaderDetail) logger.info('finish: lib.extra');
if (detail) logger.info('finish: lib.extra');
require('../service/gridfs');
require('../service/monitor');
if (argv.loaderDetail) logger.info('finish: gridfs/monitor');
if (detail) logger.info('finish: gridfs/monitor');
const server = require('../service/server');
await server.prepare();
if (argv.loaderDetail) logger.info('finish: server');
if (detail) logger.info('finish: server');
await service(pending, fail);
if (argv.loaderDetail) logger.info('finish: service.extra');
if (detail) logger.info('finish: service.extra');
for (const i of builtinModel) require(`../model/${i}`);
if (argv.loaderDetail) logger.info('finish: model.builtin');
if (detail) logger.info('finish: model.builtin');
for (const i of builtinHandler) require(`../handler/${i}`);
if (argv.loaderDetail) logger.info('finish: handler.builtin');
if (detail) logger.info('finish: handler.builtin');
await model(pending, fail);
if (argv.loaderDetail) logger.info('finish: model.extra');
if (detail) logger.info('finish: model.extra');
const modelSetting = require('../model/setting');
await setting(pending, fail, modelSetting);
if (argv.loaderDetail) logger.info('finish: setting');
if (detail) logger.info('finish: setting');
await handler(pending, fail);
if (argv.loaderDetail) logger.info('finish: handler.extra');
if (detail) logger.info('finish: handler.extra');
for (const i in global.Hydro.handler) await global.Hydro.handler[i]();
if (argv.loaderDetail) logger.info('finish: handler.apply');
if (detail) logger.info('finish: handler.apply');
const notfound = require('../handler/notfound');
await notfound.apply();
for (const i of builtinScript) require(`../script/${i}`);
if (argv.loaderDetail) logger.info('finish: script.builtin');
if (detail) logger.info('finish: script.builtin');
await script(pending, fail, active);
if (argv.loaderDetail) logger.info('finish: script.extra');
if (detail) logger.info('finish: script.extra');
await bus.serial('app/started');
if (argv.loaderDetail) logger.info('finish: bus.serial(start)');
if (detail) logger.info('finish: bus.serial(start)');
await server.start();
if (argv.loaderDetail) logger.info('finish: server.start');
if (detail) logger.info('finish: server.start');
setInterval(() => {
process.send({ event: 'stat', count: global.Hydro.stat.reqCount });
global.Hydro.stat.reqCount = 0;