nitrotasks / nitro

The beautiful way to get things done.
https://nitrotasks.com
GNU Affero General Public License v3.0
518 stars 66 forks source link

Cakefile does not work with given package versions #308

Closed naggie closed 10 years ago

naggie commented 10 years ago

I suspect it's to do with the scunch version, and is similar to this issue: https://github.com/CaffeinatedCode/springseed/issues/113


/home/cbryant/nitro/Cakefile:57
      }).end();
         ^
TypeError: Object [object Promise] has no method 'end'
  at Object.compile.coffee (/home/cbryant/nitro/Cakefile:57:10)
  at Object.path [as action] (/home/cbryant/nitro/Cakefile:128:13)
  at helpers.extend.invoke (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/cake.js:42:26)
  at Object.exports.run (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/cake.js:68:21)
  at Object.<anonymous> (/usr/local/lib/node_modules/coffee-script/bin/cake:7:38)
  at Module._compile (module.js:449:26)
  at Object.Module._extensions..js (module.js:467:10)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:312:12)
  at Module.runMain (module.js:492:10)
  at process.startup.processNextTick.process._tickCallback (node.js:244:9)

Tried on Ubuntu 11.10 and 12.04 with node v0.8.2.

This is the combination of versions that npm installs:

├── base@0.3.7 (git://github.com/stayradiated/base.git#b2186941477736b3a3dfb7f520c95139f7df12d6)
├─┬ coffee-script@1.7.1
├─┬ coffee-scrunch@0.2.3
├─┬ coffeelint@1.0.8
├── jandal@0.0.14
├── jquery@2.1.0
├─┬ minify@0.2.6
├─┬ mocha@1.17.1
├─┬ mouse@0.3.6 (git://github.com/stayradiated/mouse.git#3dd1d9d5f516ab09bb958dfdd7c974f2984aa1b3)
├─┬ node-static@0.7.3
├── node-watch@0.3.4
├── should@3.1.3

Please could you run npm list on a known-good install? Perhaps the .x wildcards are breaking things here. I believe it's better to explicitly list a known-good version even if minor changes are not supposed to break things: they do.

Another annoyance: cake commands don't say anything if sass isn't installed.

stayradiated commented 10 years ago

Oops. I switched promise libraries in one of the dependencies, and didn't think it would affect the external api.

Regarding Sass: We actually use the sass --watch source/stylesheets/screen.scss:app/css/screen.css which is aliased to npm run-script sass-watch.

The problem with using node-sass is that it didn't support some of the features that we were using. I'll pull in the latest version and see if it is still broken.

naggie commented 10 years ago

Excellent. Thanks! image

Compiling now works.

Naturally, I don't have CSS. So, on Ubuntu 12.04 I installed ruby-sass and also latest node-sass (with symlink to simulate sass command) and it did not work.

stayradiated commented 10 years ago

On Ubuntu you should be able to install ruby, and then run gem install sass.