tournament-js / tournament

A tournament base class for static tournament types
MIT License
64 stars 13 forks source link

Browserify unable to locate files #19

Closed jakubtrancik closed 10 years ago

jakubtrancik commented 10 years ago

Hi, your work looks awesome, but as I use Django as my backend, browserify provides much simpler way for me to use it than using NodeJS directly.

I ran into problems during the browserify step though, and I found it impossible to google a solution, so I'm using this as the final resort - many thanks for your time.

I ran the $ npm install duel ffa groupstage tiebreaker --save and $ npm dedupe without problems, but

$ browserify -r duel -r ffa -r groupstage -r tiebreaker > bundle.js

raises following error:

Error: Cannot find module './lib-cov/group.js' from '/home/pro/node_modules/groupstage/node_modules/group' at /usr/lib/node_modules/browserify/node_modules/resolve/lib/async.js:42:25 at load (/usr/lib/node_modules/browserify/node_modules/resolve/lib/async.js:60:43) at /usr/lib/node_modules/browserify/node_modules/resolve/lib/async.js:66:22 at /usr/lib/node_modules/browserify/node_modules/resolve/lib/async.js:21:47 at Object.oncomplete (fs.js:107:15)

If I try to run browserify for each module separately, each gives a similar error. If it would help, here is npm ls output $ npm ls /home/pro ├─┬ duel@1.0.0 │ ├─┬ interlude@1.0.3 │ │ ├── autonomy@0.5.1 │ │ ├── operators@0.1.5 │ │ └── subset@0.1.5 │ └── tournament@1.0.0 ├─┬ ffa@0.7.0 │ ├── group@0.2.1 │ ├─┬ interlude@1.0.3 │ │ ├── autonomy@0.5.1 │ │ ├── operators@0.1.5 │ │ └── subset@0.1.5 │ └── tournament@0.21.0 ├─┬ groupstage@0.7.1 │ ├── group@0.2.1 │ ├─┬ interlude@1.0.3 │ │ ├── autonomy@0.5.1 │ │ ├── operators@0.1.5 │ │ └── subset@0.1.5 │ ├── roundrobin@1.0.2 │ └── tournament@0.21.0 └─┬ tiebreaker@0.4.1 ├─┬ interlude@1.0.3 │ ├── autonomy@0.5.1 │ ├── operators@0.1.5 │ └── subset@0.1.5 └── tournament@0.21.0

Many thanks for your time, and your help would be greatly appreciated.

Jakub Trancik

clux commented 10 years ago

Ah, yes. That looks like a mistaken coverage file left in the group module that can't resolve under a normal install (test dependency). Thought I moved all the coverage stuff to tests so browserify never chokes on it, but must have left that module.

At any rate am in the process of updating those main tournament modules to 1.0.0 now so they'll all dedupe correctly. I'll be sure to include an updated group module in that bundle for groupstage and ffa :)

Thank you for reporting this!

clux commented 10 years ago

Yes this was a problem with more than just group. After adding coverage and changing back to single file export, I never actually published this for most my modules, new versions published now as follows:

operators@0.1.6 autonomy@0.5.2 subset@0.1.6 group@0.2.2

Which will dedupe correctly.

clux commented 10 years ago

The commands you used above now works, however, a dedupe after i release:

ffa@1.0.0 groupstage@1.0.0 tiebreaker@1.0.0

will mean you won't need two versions of tournament in your bundle. Should still work until then as well though.