sealcode / sealious

An extensible, declarative node framework
25 stars 2 forks source link

Incorrect information about plugins on start sealious app #259

Closed arkadiusz-wieczorek closed 8 years ago

arkadiusz-wieczorek commented 8 years ago
arkadiusz@arkadiusz-ThinkPad-X200:~/Projects/Placetag$ sudo node .
11:34:53.973 - info: Checking /home/arkadiusz/Projects/Placetag/package.json for Sealious plugins...
11:34:53.994 - info:    ✓ found plugin sealious-channel-rest
11:34:54.710 - info: Checking /home/arkadiusz/Projects/Placetag/node_modules/sealious-channel-rest/package.json for Sealious plugins...
11:34:54.711 - info:   No plugins found.
11:34:54.712 - info:    ✓ found plugin sealious-datastore-mongo
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
11:34:54.863 - info: Checking /home/arkadiusz/Projects/Placetag/node_modules/sealious-datastore-mongo/package.json for Sealious plugins...
11:34:54.864 - info:   No plugins found.
11:34:54.865 - info:    ✓ found plugin sealious-www-server
11:34:54.865 - info: Checking /home/arkadiusz/Projects/Placetag/node_modules/sealious-www-server/package.json for Sealious plugins...
11:34:54.867 - info:   No plugins found.
11:34:54.868 - info: Checking /home/arkadiusz/Projects/Placetag/node_modules/sealious/package.json for Sealious plugins...
11:34:54.872 - info:    ✓ found plugin sealious-datastore-tingo
11:34:54.983 - info: Checking /home/arkadiusz/Projects/Placetag/node_modules/sealious/node_modules/sealious-datastore-tingo/package.json for Sealious plugins...
11:34:54.985 - info:   No plugins found.
11:34:55.149 - info: Starting all chips:
...

Sealious version: 0.6.23

11:34:54.711 - info: No plugins found. 11:34:54.712 - info: ✓ found plugin sealious-datastore-mongo

11:34:54.864 - info: No plugins found. 11:34:54.865 - info: ✓ found plugin sealious-www-server

As you can see awhile we have information "No plugins found.", after this information we get information about used plugins. In my opinion the function load_plugins_from_dir in PluginManager is incorrect. Probably we should add promises for don't return unsuitable information about plugins.

kuba-orlik commented 8 years ago

Please include your node.js version and your project's package.json file

On 30 January 2016 at 11:55, Arkadiusz Wieczorek notifications@github.com wrote:

arkadiusz@arkadiusz-ThinkPad-X200:~/Projects/Placetag$ sudo node . 11:34:53.973 - info: Checking /home/arkadiusz/Projects/Placetag/package.json for Sealious plugins... 11:34:53.994 - info: ✓ found plugin sealious-channel-rest 11:34:54.710 - info: Checking /home/arkadiusz/Projects/Placetag/node_modules/sealious-channel-rest/package.json for Sealious plugins... 11:34:54.711 - info: No plugins found. 11:34:54.712 - info: ✓ found plugin sealious-datastore-mongo { [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' } js-bson: Failed to load c++ bson extension, using pure JS version 11:34:54.863 - info: Checking /home/arkadiusz/Projects/Placetag/node_modules/sealious-datastore-mongo/package.json for Sealious plugins... 11:34:54.864 - info: No plugins found. 11:34:54.865 - info: ✓ found plugin sealious-www-server 11:34:54.865 - info: Checking /home/arkadiusz/Projects/Placetag/node_modules/sealious-www-server/package.json for Sealious plugins... 11:34:54.867 - info: No plugins found. 11:34:54.868 - info: Checking /home/arkadiusz/Projects/Placetag/node_modules/sealious/package.json for Sealious plugins... 11:34:54.872 - info: ✓ found plugin sealious-datastore-tingo 11:34:54.983 - info: Checking /home/arkadiusz/Projects/Placetag/node_modules/sealious/node_modules/sealious-datastore-tingo/package.json for Sealious plugins... 11:34:54.985 - info: No plugins found. 11:34:55.149 - info: Starting all chips: ...

Sealious version: 0.6.23

As you can see awhile we have information "No plugins found.", after this information we get information about used plugins. In my opinion the function load_plugins_from_dir in PluginManager is incorrect. Probably we should add promises for don't return unsuitable information about plugins.

— Reply to this email directly or view it on GitHub https://github.com/Sealious/sealious/issues/259.

arkadiusz-wieczorek commented 8 years ago

node.js version: 4.0.0 package.json - https://github.com/debian-sh/Placetag/blob/dev/package.json on my local machine I've set latest value for sealious package in package.json

kuba-orlik commented 8 years ago

It turned out the unintuitive output order came not from asynchronous code, but from the fact that Sealious plug-ins are loaded recursively. I've revamped the algorithm so the output looks like this with Logger set up to debug level:

19:18:07.436 - info: Loading plugins...
19:18:07.460 - debug: sealious (/home/kuba/projects/Sealious/sealious/package.json) requires: sealious-datastore-tingo
19:18:07.543 - info:    ✓ sealious-datastore-tingo
19:18:07.615 - debug: placetag-app (/home/kuba/temp/Placetag/package.json) requires: sealious-channel-rest, sealious-datastore-mongo, sealious-www-server
19:18:07.616 - debug: sealious-channel-rest (/home/kuba/temp/Placetag/node_modules/sealious-channel-rest/package.json) requires: sealious-www-server
19:18:08.236 - info:    ✓ sealious-www-server
19:18:08.238 - info:    ✓ sealious-channel-rest
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
19:18:08.353 - info:    ✓ sealious-datastore-mongo
19:18:08.357 - info:    ✓ sealious-www-server

And like this with info level:

19:18:07.436 - info: Loading plugins...
19:18:07.543 - info:    ✓ sealious-datastore-tingo
19:18:08.236 - info:    ✓ sealious-www-server
19:18:08.238 - info:    ✓ sealious-channel-rest
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
19:18:08.353 - info:    ✓ sealious-datastore-mongo
19:18:08.357 - info:    ✓ sealious-www-server

Changes are now awaiting to be merged to 0.6 branch

arkadiusz-wieczorek commented 8 years ago

At now it works!