From a04aca59515102ce11a268dd36b735f8f9e34744 Mon Sep 17 00:00:00 2001 From: cha0s Date: Tue, 9 Jan 2024 23:03:03 -0600 Subject: [PATCH] refactor: priority --- build/flecks.yml | 48 ++------------------------- packages/app/src/client/index.js | 19 +++++++---- packages/bootstrap/src/server.js | 30 +++++++++-------- packages/core/src/electron/server.js | 43 ++++++++++++++---------- packages/universe/src/server/index.js | 19 ++++++----- 5 files changed, 67 insertions(+), 92 deletions(-) diff --git a/build/flecks.yml b/build/flecks.yml index 3bdb47f..58b6fea 100644 --- a/build/flecks.yml +++ b/build/flecks.yml @@ -48,15 +48,9 @@ browserWindowOptions: backgroundColor: '#212121' show: false - window: - - '@humus/core' - - '...' + installExtensions: false '@flecks/governor': {} -'@flecks/react': - providers: - - '@flecks/redux' - - '@flecks/react/router' - - '...' +'@flecks/react': {} '@flecks/react/router': {} '@flecks/redis': {} '@flecks/redis/server': @@ -66,41 +60,13 @@ '@flecks/repl': {} '@flecks/server': nodeArgs: + - '--stack-trace-limit=30' - '--inspect' - # - '--log-deopt' - # - '--log-ic' - # - '--logfile=/home/cha0s/yuge/tmp/v8.log' - up: - - '@flecks/docker' - - '@flecks/db' - - '@flecks/redis' - - '@flecks/user/session' - - '@flecks/user' - - '@flecks/user/local' - - '@flecks/governor' - - '...' - - '@humus/bootstrap' - - '@humus/universe' - - '@flecks/web' - - '@flecks/electron' - - '@flecks/repl' '@flecks/socket': {} -'@flecks/socket/server': - 'request.socket': - - '@flecks/user/session' - - '@flecks/user' - - '@flecks/governor' - - '@humus/universe' '@flecks/user': {} '@flecks/user/local': {} '@flecks/user/session': {} '@flecks/web': {} -'@flecks/web/client': - up: - - '@flecks/socket' - - '@humus/app' - - '@flecks/react' - - '...' '@flecks/web/server': devDisableHostCheck: true dll: @@ -129,17 +95,9 @@ - 'react-window' port: 32350 public: 'humus.localhost' - 'request.route': - - '@flecks/user/session' - - '@flecks/user' - - '@humus/core/electron' - - '...' 'request.socket': - '@humus/universe/server' - '...' - 'stream.html': - - '@flecks/react' - - '...' '@humus/app': resolution: [1600, 900] '@humus/bootstrap': {} diff --git a/packages/app/src/client/index.js b/packages/app/src/client/index.js index e915ca9..eaa3379 100644 --- a/packages/app/src/client/index.js +++ b/packages/app/src/client/index.js @@ -1,3 +1,5 @@ +import {Flecks} from '@flecks/core'; + import Receiver from './receiver'; export const hooks = { @@ -19,11 +21,14 @@ export const hooks = { } ), - '@flecks/web/client.up': (flecks) => { - window.flecks = flecks; - const Synchronizer = Receiver(flecks); - const synchronizer = new Synchronizer(); - flecks.humus.app.synchronizer = synchronizer; - synchronizer.listenTo(flecks.socket.client); - }, + '@flecks/web/client.up': Flecks.priority( + (flecks) => { + window.flecks = flecks; + const Synchronizer = Receiver(flecks); + const synchronizer = new Synchronizer(); + flecks.humus.app.synchronizer = synchronizer; + synchronizer.listenTo(flecks.socket.client); + }, + {after: '@flecks/socket/client'}, + ), }; diff --git a/packages/bootstrap/src/server.js b/packages/bootstrap/src/server.js index 834b9c7..6f7552d 100644 --- a/packages/bootstrap/src/server.js +++ b/packages/bootstrap/src/server.js @@ -1,16 +1,18 @@ +import {Flecks} from '@flecks/core'; + export const hooks = { - '@flecks/server.up': async (flecks) => { - // if ('production' === NODE_ENV) { - // return; - // } - const {User} = flecks.db.Models; - if (!await User.findOne({where: {email: 'humus@cha0s.io'}})) { - const user = await User.create({ - email: 'humus@cha0s.io', - isAdmin: true, - }); - await user.addHashedPassword('foobar'); - await user.save(); - } - }, + '@flecks/server.up': Flecks.priority( + async (flecks) => { + const {User} = flecks.db.Models; + if (!await User.findOne({where: {email: 'humus@cha0s.io'}})) { + const user = await User.create({ + email: 'humus@cha0s.io', + isAdmin: true, + }); + await user.addHashedPassword('foobar'); + await user.save(); + } + }, + {after: '@flecks/user/local/server'}, + ), }; diff --git a/packages/core/src/electron/server.js b/packages/core/src/electron/server.js index 137ba08..6d33468 100644 --- a/packages/core/src/electron/server.js +++ b/packages/core/src/electron/server.js @@ -1,3 +1,4 @@ +import {Flecks} from '@flecks/core'; import isElectron from 'is-electron'; const { @@ -5,22 +6,28 @@ const { } = process.env; export const hooks = { - '@flecks/electron/server.window': async (win) => { - // win.removeMenu(); - if ('production' !== NODE_ENV) { - win.openDevTools(); - } - win.maximize(); - win.once('ready-to-show', () => { - win.show(); - }); - }, - '@flecks/web/server.request.route': (flecks) => async (req, res, next) => { - if (isElectron() && 0 === req.user.id) { - const {User} = flecks.db.Models; - req.logIn(await User.findByPk(1), next); - return; - } - next(); - }, + '@flecks/electron/server.window': Flecks.priority( + async (win) => { + // win.removeMenu(); + if ('production' !== NODE_ENV) { + win.openDevTools(); + } + win.maximize(); + win.once('ready-to-show', () => { + win.show(); + }); + }, + {after: '@flecks/electron/server'}, + ), + '@flecks/web/server.request.route': Flecks.priority( + (flecks) => async (req, res, next) => { + if (isElectron() && 0 === req.user.id) { + const {User} = flecks.db.Models; + req.logIn(await User.findByPk(1), next); + return; + } + next(); + }, + {after: '@flecks/user/server'}, + ), }; diff --git a/packages/universe/src/server/index.js b/packages/universe/src/server/index.js index 5f2dae3..783d0a5 100644 --- a/packages/universe/src/server/index.js +++ b/packages/universe/src/server/index.js @@ -64,12 +64,15 @@ export const hooks = { '@flecks/socket.packets.decorate': ( Flecks.decorate(require.context('./packets/decorators', false, /\.js$/)) ), - '@flecks/socket/server.request.socket': (flecks) => async ({handshake}, next) => { - const {universe} = flecks.humus.universe; - const {user} = handshake; - if (0 !== user.id) { - handshake.entity = await universe.loadOrCreateEntity(user); - } - next(); - }, + '@flecks/socket/server.request.socket': Flecks.priority( + (flecks) => async ({handshake}, next) => { + const {universe} = flecks.humus.universe; + const {user} = handshake; + if (0 !== user.id) { + handshake.entity = await universe.loadOrCreateEntity(user); + } + next(); + }, + {after: '@flecks/governor/server'}, + ), };