fatal error: use-plugin: Could not load plugin not_found
flameleo11p opened this issue · 1 comments
npm i seneca
"seneca": "^3.23.3"
Scene: when using multiple
divided seneca ( connected different business) in a project
[1]
file: src.zip
├── package.json
├── package-lock.json
├── src
│ ├── app.js
│ ├── data_api
│ │ ├── index.js
│ │ └── my_plugin.js
│ └── render_api
│ ...... ├── index.js
│ ...... ├── my_plugin2.js
│ ...... └── my_plugin.js
└── src.zip
init multi seneca instance in different folder
seneca2 will load plugins in folder1 (seneca1's folder)
then seneca2.act link to folder1.my_plugin.js
if swap seneca1 and seneca2 init sequence
will change the fatal error & exec result
.
// "seneca": "^3.23.3"
// src/app.js
const seneca1 = require("./data_api/index.js")()
const seneca2 = require("./render_api/index.js")()
var print = function (err, ret) {
console.log(ret)
}
seneca1.act('say:fuck', print)
seneca2.act('say:fuck', print)
seneca2.act('say:fuck2', print)
`
`
// xxx_api/index.js
const Seneca = require('seneca')
module.exports = function () {
var sen = Seneca()
.quiet() // only log errors
.use('my_plugin')
return sen;
}
`
[2]
why Seneca().quiet() // only log errors
marked that only show log errors, but show nothing
only remove .quiet() will show this super long and complicated info just talk about only plugin not found
error log:
{"kind":"fatal","level":600,"plugin":"seneca","tag":"3.23.3","id":"g4p7ajdsuftn/1629198310869/28183/3.23.3/-","code":"not_found","notice":"seneca: use-plugin: Could not load plugin my_plugin2; searched the following folder and file paths: [ /drive_d/work/seneca/test/test2/node_modules/seneca: undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src/data_api: undefined, undefined, undefined, undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src: undefined, undefined, undefined, undefined, undefined, undefined, ] .","err":{"eraro":true,"orig":{"eraro":true,"orig":null,"code":"not_found","use-plugin":true,"package":"use-plugin","msg":"use-plugin: Could not load plugin my_plugin2; searched the following folder and file paths: [ /drive_d/work/seneca/test/test2/node_modules/seneca: undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src/data_api: undefined, undefined, undefined, undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src: undefined, undefined, undefined, undefined, undefined, undefined, ] .","details":{"options":{},"history":[{"module":"/drive_d/work/seneca/test/test2/node_modules/seneca/seneca.js","name":"seneca-my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/node_modules/seneca/seneca.js","name":"@seneca/my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/node_modules/seneca/seneca.js","name":"my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/src/data_api/index.js","name":"seneca-my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/src/data_api/index.js","name":"@seneca/my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/src/data_api/index.js","name":"my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/src/data_api/index.js","name":"./my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/src/data_api/index.js","name":"./seneca-my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/src/data_api/index.js","name":"./@seneca/my_plugin2"},{"module":".","name":"seneca-my_plugin2"},{"module":".","name":"@seneca/my_plugin2"},{"module":".","name":"my_plugin2"},{"module":".","name":"./my_plugin2"},{"module":".","name":"./seneca-my_plugin2"},{"module":".","name":"./@seneca/my_plugin2"}],"name":"my_plugin2","full":"my_plugin2","search":[{"type":"normal","name":"seneca-my_plugin2"},{"type":"normal","name":"@seneca/my_plugin2"},{"type":"normal","name":"my_plugin2"},{"type":"normal","name":"./my_plugin2"},{"type":"normal","name":"./seneca-my_plugin2"},{"type":"normal","name":"./@seneca/my_plugin2"}],"modulepath":".","requirepath":"./@seneca/my_plugin2","found":{"type":"normal","name":"./@seneca/my_plugin2"},"defaults":{},"searchlist":"[ /drive_d/work/seneca/test/test2/node_modules/seneca: undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src/data_api: undefined, undefined, undefined, undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src: undefined, undefined, undefined, undefined, undefined, undefined, ] "},"callpoint":"at Task.load [as exec] (/drive_d/work/seneca/test/test2/node_modules/seneca/lib/plugin.js:137:43)"},"code":"not_found","use-plugin":true,"package":"seneca","msg":"seneca: use-plugin: Could not load plugin my_plugin2; searched the following folder and file paths: [ /drive_d/work/seneca/test/test2/node_modules/seneca: undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src/data_api: undefined, undefined, undefined, undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src: undefined, undefined, undefined, undefined, undefined, undefined, ] .","details":{"errmsg":"use-plugin: Could not load plugin my_plugin2; searched the following folder and file paths: [ /drive_d/work/seneca/test/test2/node_modules/seneca: undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src/data_api: undefined, undefined, undefined, undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src: undefined, undefined, undefined, undefined, undefined, undefined, ] .","errline":"at use_plugin_desc (/drive_d/work/seneca/test/test2/node_modules/use-plugin/use.js:171:11)","orig$":{"eraro":true,"orig":null,"code":"not_found","use-plugin":true,"package":"use-plugin","msg":"use-plugin: Could not load plugin my_plugin2; searched the following folder and file paths: [ /drive_d/work/seneca/test/test2/node_modules/seneca: undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src/data_api: undefined, undefined, undefined, undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src: undefined, undefined, undefined, undefined, undefined, undefined, ] .","details":{"options":{},"history":[{"module":"/drive_d/work/seneca/test/test2/node_modules/seneca/seneca.js","name":"seneca-my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/node_modules/seneca/seneca.js","name":"@seneca/my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/node_modules/seneca/seneca.js","name":"my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/src/data_api/index.js","name":"seneca-my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/src/data_api/index.js","name":"@seneca/my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/src/data_api/index.js","name":"my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/src/data_api/index.js","name":"./my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/src/data_api/index.js","name":"./seneca-my_plugin2"},{"module":"/drive_d/work/seneca/test/test2/src/data_api/index.js","name":"./@seneca/my_plugin2"},{"module":".","name":"seneca-my_plugin2"},{"module":".","name":"@seneca/my_plugin2"},{"module":".","name":"my_plugin2"},{"module":".","name":"./my_plugin2"},{"module":".","name":"./seneca-my_plugin2"},{"module":".","name":"./@seneca/my_plugin2"}],"name":"my_plugin2","full":"my_plugin2","search":[{"type":"normal","name":"seneca-my_plugin2"},{"type":"normal","name":"@seneca/my_plugin2"},{"type":"normal","name":"my_plugin2"},{"type":"normal","name":"./my_plugin2"},{"type":"normal","name":"./seneca-my_plugin2"},{"type":"normal","name":"./@seneca/my_plugin2"}],"modulepath":".","requirepath":"./@seneca/my_plugin2","found":{"type":"normal","name":"./@seneca/my_plugin2"},"defaults":{},"searchlist":"[ /drive_d/work/seneca/test/test2/node_modules/seneca: undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src/data_api: undefined, undefined, undefined, undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src: undefined, undefined, undefined, undefined, undefined, undefined, ] "},"callpoint":"at Task.load [as exec] (/drive_d/work/seneca/test/test2/node_modules/seneca/lib/plugin.js:137:43)"},"message$":"use-plugin: Could not load plugin my_plugin2; searched the following folder and file paths: [ /drive_d/work/seneca/test/test2/node_modules/seneca: undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src/data_api: undefined, undefined, undefined, undefined, undefined, undefined, ] [ /drive_d/work/seneca/test/test2/src: undefined, undefined, undefined, undefined, undefined, undefined, ] ."},"callpoint":"at use_plugin_desc (/drive_d/work/seneca/test/test2/node_modules/use-plugin/use.js:171:11)","seneca":true,"plugin_callpoint":"at module.exports (/drive_d/work/seneca/test/test2/src/render_api/index.js:8:5)","fatal$":true},"isot":"2021-08-17T11:05:10.886Z","when":1629198310886,"level_name":"fatal","seneca_id":"g4p7ajdsuftn/1629198310869/28183/3.23.3/-"} {"kind":"plugin","case":"READY","name":"transport","level":300,"isot":"2021-08-17T11:05:10.917Z","when":1629198310917,"level_name":"info","seneca_id":"78c8vvmplind/1629198310803/28183/3.23.3/-","seneca_did":"6lgu","plugin_name":"transport"} {"kind":"plugin","case":"READY","name":"transport","level":300,"isot":"2021-08-17T11:05:10.919Z","when":1629198310919,"level_name":"info","seneca_id":"g4p7ajdsuftn/1629198310869/28183/3.23.3/-","seneca_did":"h0u7","plugin_name":"transport"} {"kind":"plugin","case":"READY","name":"my_plugin","level":300,"isot":"2021-08-17T11:05:10.926Z","when":1629198310926,"level_name":"info","seneca_id":"78c8vvmplind/1629198310803/28183/3.23.3/-","seneca_did":"oth7","plugin_name":"my_plugin"} {"kind":"plugin","case":"READY","name":"my_plugin","level":300,"isot":"2021-08-17T11:05:10.926Z","when":1629198310926,"level_name":"info","seneca_id":"g4p7ajdsuftn/1629198310869/28183/3.23.3/-","seneca_did":"qznm","plugin_name":"my_plugin"}
Thanks - this is a bug!
The workaround is to use require
to load plugins:
.use(require('./my_plugin'))
.use(require('./my_plugin2'))
Note however that in general it is better to only create one Seneca instance per service - do you have a use case for creating multiple instances?