aseemk / requireDir

Node.js helper to require() directories.
MIT License
484 stars 59 forks source link

How can I have this working in coffeescript? #1

Closed sjamayee closed 9 years ago

sjamayee commented 11 years ago

It works for node.js with the index.js

Is it possible to have this working with the 'index.coffee' files too?

The version with specific require's in coffeescript is also working, but when I want to use require-dir and use dot-notation like 'm1.m11.m12.m13.module13', this does not work.

Here I have the results of my tests:

C:_TEST\m1>node _m11.js Duplicate tests passed. Recurse tests passed. Simple tests passed.

All tests passed! M12/m1 created! List of modules ... M12/m1 M12/m2 created! List of modules ... M12/m1,M12/m2 M12/m3 created! List of modules ... M12/m1,M12/m2,M12/m3 M12/m4 created! List of modules ... M12/m1,M12/m2,M12/m3,M12/m4 M12/m5 created! List of modules ... M12/m1,M12/m2,M12/m3,M12/m4,M12/m5 M12/m6 created! List of modules ... M12/m1,M12/m2,M12/m3,M12/m4,M12/m5,M12/m6

C:_TEST\m1>node m11/m12/m13/_m13.js Duplicate tests passed. Recurse tests passed. Simple tests passed.

All tests passed! M13/m1 created! List of modules ... M13/m1 M13/m2 created! List of modules ... M13/m1,M13/m2 M13/m3 created! List of modules ... M13/m1,M13/m2,M13/m3 M13/m4 created! List of modules ... M13/m1,M13/m2,M13/m3,M13/m4 M13/m5 created! List of modules ... M13/m1,M13/m2,M13/m3,M13/m4,M13/m5 M13/m6 created! List of modules ... M13/m1,M13/m2,M13/m3,M13/m4,M13/m5,M13/m6

C:_TEST\m1>coffee _m11.coffee Duplicate tests passed. Recurse tests passed. AssertionError: {"a":"a","b":"b","c":"c"} deepEqual {"a":"a","b":"b"} at Object. (C:_TEST\m1\node_modules\require-dir\test\simple.js:5:8) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at Object. (C:_TEST\m1\node_modules\require-dir\test\index.js:1:76) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:72:33) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:72:33) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:72:33) at Object. (C:_TEST\m1\index.coffee:1:18, :2:42) at Object. (C:_TEST\m1\index.coffee:1:1, :6:4) at Module._compile (module.js:456:26) at Object.loadFile (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:182:19) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at Object. (C:_TEST\m1\index.js:3:42) at Object. (C:_TEST\m1\index.js:7:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object. (C:_TEST\m1\m11\m12\m13_m13.js:5:8) at Object. (C:_TEST\m1\m11\m12\m13_m13.js:35:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at Object. (C:_TEST\m1\m11\m12\m13\index.coffee:1:18, :2:42) at Object. (C:_TEST\m1\m11\m12\m13\index.coffee:1:1, :6:4) at Module._compile (module.js:456:26) at Object.loadFile (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:182:19) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at Object. (C:_TEST\m1\m11\m12\m13\index.js:3:42) at Object. (C:_TEST\m1\m11\m12\m13\index.js:7:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:72:33) at Object. (C:_TEST\m1\m11\m12\index.coffee:1:18, :2:42) at Object. (C:_TEST\m1\m11\m12\index.coffee:1:1, :6:4) at Module._compile (module.js:456:26) at Object.loadFile (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:182:19) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at Object. (C:_TEST\m1\m11\m12\index.js:3:42) at Object. (C:_TEST\m1\m11\m12\index.js:7:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:72:33) at Object. (C:_TEST\m1\m11\index.coffee:1:18, :2:42) at Object. (C:_TEST\m1\m11\index.coffee:1:1, :6:4) at Module._compile (module.js:456:26) at Object.loadFile (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:182:19) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at Object. (C:_TEST\m1\m11\index.js:3:42) at Object. (C:_TEST\m1\m11\index.js:7:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object. (C:_TEST\m1_m11.coffee:1:7, :4:9) at Object. (C:_TEST\m1_m11.coffee:1:1, :34:4) at Module._compile (module.js:456:26)

C:_TEST\m1>coffee m11/m12/m13/_m13.coffee TypeError: Cannot read property 'm12' of undefined at Object. (C:_TEST\m1\m11\m12\m13_m13.js:7:18) at Object. (C:_TEST\m1\m11\m12\m13_m13.js:35:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at Object. (C:_TEST\m1\m11\m12\m13\index.coffee:1:18, :2:42) at Object. (C:_TEST\m1\m11\m12\m13\index.coffee:1:1, :6:4) at Module._compile (module.js:456:26) at Object.loadFile (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:182:19) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at Object. (C:_TEST\m1\m11\m12\m13\index.js:3:42) at Object. (C:_TEST\m1\m11\m12\m13\index.js:7:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:72:33) at Object. (C:_TEST\m1\m11\m12\index.coffee:1:18, :2:42) at Object. (C:_TEST\m1\m11\m12\index.coffee:1:1, :6:4) at Module._compile (module.js:456:26) at Object.loadFile (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:182:19) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at Object. (C:_TEST\m1\m11\m12\index.js:3:42) at Object. (C:_TEST\m1\m11\m12\index.js:7:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:72:33) at Object. (C:_TEST\m1\m11\index.coffee:1:18, :2:42) at Object. (C:_TEST\m1\m11\index.coffee:1:1, :6:4) at Module._compile (module.js:456:26) at Object.loadFile (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:182:19) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at Object. (C:_TEST\m1\m11\index.js:3:42) at Object. (C:_TEST\m1\m11\index.js:7:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:72:33) at Object. (C:_TEST\m1\index.coffee:1:18, :2:42) at Object. (C:_TEST\m1\index.coffee:1:1, :6:4) at Module._compile (module.js:456:26) at Object.loadFile (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:182:19) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at requireDir (C:_TEST\m1\node_modules\require-dir\index.js:112:33) at Object. (C:_TEST\m1\index.js:3:42) at Object. (C:_TEST\m1\index.js:7:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (C:_SOFTWARE\nodejs\node_modules\coffee-script\lib\coffee-script\coffee-script.js:211:36) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object. (C:_TEST\m1\m11\m12\m13_m13.coffee:1:6, :4:8) at Object. (C:_TEST\m1\m11\m12\m13_m13.coffee:1:1, :34:4) at Module._compile (module.js:456:26)

C:_TEST\m1>

C:_TEST\m1>dir /S Volume in drive C has no label. Volume Serial Number is 327D-5717

Directories without node_modules (require-dir)

Directory of C:_TEST\m1

index.coffee index.js module11.coffee module11.js _m11.coffee _m11.js m11

Directory of C:_TEST\m1\m11

index.coffee index.js m12

Directory of C:_TEST\m1\m11\m12

index.coffee index.js module12.coffee module12.js m13

Directory of C:_TEST\m1\m11\m12\m13

index.coffee index.js module13.coffee module13.js _m13.coffee _m13.js

aseemk commented 11 years ago

Hmm, strange. We use this with CoffeeScript and it works fine. Let's figure out what could be happening.

Could you upload your files somewhere? Maybe zip it up and paste a Dropbox link?

sjamayee commented 11 years ago

Hi Aseem,

Maybe it's some simple thing, but I don't see it ...

I have put a zip here: https://www.dropbox.com/s/in16c09ywsvz8xk/_TEST.zip

Att. with relocation: there's an absolute path in _m13.coffee -> m1 = require('\/_TEST/m1')

thanks for your help,

Jan

aseemk commented 9 years ago

Sorry, I don't have the bandwidth to troubleshoot here, but this module does work with CoffeeScript. (There are tests, and we use it in our own apps at FiftyThree, which we write in CoffeeScript.)