Open flameleo11p opened 2 years ago
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?
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"}