mirror of
https://github.com/HeyPuter/puter.git
synced 2025-02-02 23:28:39 +08:00
dev: simplify module/extension setup
This commit is contained in:
parent
7569e8a703
commit
58f34b948a
@ -25,6 +25,7 @@ const { hideBin } = require('yargs/helpers');
|
|||||||
const { Extension } = require("./Extension");
|
const { Extension } = require("./Extension");
|
||||||
const { ExtensionModule } = require("./ExtensionModule");
|
const { ExtensionModule } = require("./ExtensionModule");
|
||||||
const { spawn } = require("node:child_process");
|
const { spawn } = require("node:child_process");
|
||||||
|
const { quot } = require("./util/strutil");
|
||||||
|
|
||||||
class Kernel extends AdvancedBase {
|
class Kernel extends AdvancedBase {
|
||||||
constructor ({ entry_path } = {}) {
|
constructor ({ entry_path } = {}) {
|
||||||
@ -226,6 +227,15 @@ class Kernel extends AdvancedBase {
|
|||||||
|
|
||||||
const mod_paths = this.environment.mod_paths;
|
const mod_paths = this.environment.mod_paths;
|
||||||
for ( const mods_dirpath of mod_paths ) {
|
for ( const mods_dirpath of mod_paths ) {
|
||||||
|
if ( ! fs.existsSync(mods_dirpath) ) {
|
||||||
|
this.services.logger.error(
|
||||||
|
`mod directory not found: ${quot(mods_dirpath)}; skipping...`
|
||||||
|
);
|
||||||
|
// intentional delay so error is seen
|
||||||
|
this.services.logger.info('boot will continue in 4 seconds');
|
||||||
|
await new Promise(rslv => setTimeout(rslv, 4000));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
const mod_dirnames = fs.readdirSync(mods_dirpath);
|
const mod_dirnames = fs.readdirSync(mods_dirpath);
|
||||||
for ( const mod_dirname of mod_dirnames ) {
|
for ( const mod_dirname of mod_dirnames ) {
|
||||||
let mod_path = path_.join(mods_dirpath, mod_dirname);
|
let mod_path = path_.join(mods_dirpath, mod_dirname);
|
||||||
|
@ -341,6 +341,13 @@ class RuntimeEnvironment extends AdvancedBase {
|
|||||||
const mod_paths = [];
|
const mod_paths = [];
|
||||||
environment.mod_paths = mod_paths;
|
environment.mod_paths = mod_paths;
|
||||||
|
|
||||||
|
// Trying this as a default for now...
|
||||||
|
if ( ! config.mod_directories ) {
|
||||||
|
config.mod_directories = [
|
||||||
|
'{source}/../mods/mods_enabled',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
// If configured, add a user-specified mod path
|
// If configured, add a user-specified mod path
|
||||||
if ( config.mod_directories ) {
|
if ( config.mod_directories ) {
|
||||||
for ( const dir of config.mod_directories ) {
|
for ( const dir of config.mod_directories ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user