package resolution
This commit is contained in:
@@ -1224,7 +1224,18 @@ if (prog_info) {
|
||||
}
|
||||
|
||||
$_.clock(_ => {
|
||||
var file_info = shop.file_info ? shop.file_info(prog_path) : null
|
||||
var _file_info_ok = false
|
||||
var file_info = null
|
||||
var _try_fi = function() {
|
||||
file_info = shop.file_info ? shop.file_info(prog_path) : null
|
||||
_file_info_ok = true
|
||||
} disruption {}
|
||||
_try_fi()
|
||||
if (!_file_info_ok || !file_info)
|
||||
file_info = {path: prog_path, is_module: false, is_actor: true, package: null, name: prog}
|
||||
// If the unified resolver found the package, use that as the authoritative source
|
||||
if (prog_info && prog_info.pkg)
|
||||
file_info.package = prog_info.pkg
|
||||
var inject = shop.script_inject_for ? shop.script_inject_for(file_info) : []
|
||||
|
||||
// Build env with runtime functions + capability injections
|
||||
@@ -1278,10 +1289,22 @@ $_.clock(_ => {
|
||||
|
||||
env.use = function(path) {
|
||||
var ck = 'core/' + path
|
||||
var _use_core_result = null
|
||||
var _use_core_ok = false
|
||||
if (use_cache[ck]) return use_cache[ck]
|
||||
var core_mod = use_core(path)
|
||||
if (core_mod) return core_mod
|
||||
return shop.use(path, pkg)
|
||||
var _try_core = function() {
|
||||
_use_core_result = use_core(path)
|
||||
_use_core_ok = true
|
||||
} disruption {}
|
||||
_try_core()
|
||||
if (_use_core_ok && _use_core_result) return _use_core_result
|
||||
var _shop_use = function() {
|
||||
return shop.use(path, pkg)
|
||||
} disruption {
|
||||
log.error(`use('${path}') failed (package: ${pkg})`)
|
||||
disrupt
|
||||
}
|
||||
return _shop_use()
|
||||
}
|
||||
env.args = _cell.args.arg
|
||||
env.log = log
|
||||
|
||||
Reference in New Issue
Block a user