GithubHelp home page GithubHelp logo

hem's Introduction

Spine

Build Status Gitter

Spine is a lightweight MVC library for building JavaScript web applications. Spine gives you structure and then gets out of your way, allowing you to concentrate on the fun stuff: building awesome web applications.

Spine is opinionated in its approach to web application architecture and design. Spine's architecture complements patterns such as de-coupled components and CommonJS modules, markedly helping with code quality and maintainability.

The library is written in CoffeeScript, and though it doesn't necessarily require CoffeeScript to develop applications - you can use whichever language you're most familiar with or prefer - the documentation and some associated tools like Hem and spine.app cater to those who prefer CoffeeScript's syntax.

Learn it

Documentation is often incomplete or just lies waiting to happen. Approachable source code reduces knowledge dependencies. This is an area where Spine really excels compared to other MVC frameworks. Spine is tiny; the core library comes in at less than 700 lines of CoffeeScript code. It is written in such a way to prefer readability over terseness or clever tricks, and it is small enough that within a rather small timeframe you can understand how all the pieces work together. Expertise is achievable within days or weeks rather than months or years. For these reasons, remaining lightweight and simple is fundamental to Spine.

For documentation, usage, and examples, see: spine.github.io

The test suite can also occasionally provide additional useful examples, especially if you are looking for non-coffeescript examples.

Contributing

Reporting issues

To file a bug report, please visit the GitHub issues page. It's great if you can attach code (test cases and fixes for bugs, and test cases and a proposed implementation for features), but reproducible bug reports are also welcome.

For support or help with using spine please use the Spine Google Group and/or StackOverflow rather than opening an issue on Github. If you post in those places you are more likely to get more people to chime in, and others can benefit from it more readily.

Cloning master and running the test suite

To get started contributing to Spine, first clone the repository and make sure you can run the test suite. If you're not familiar with Git, visit the Git homepage to download Git for your platform.

First, clone the repository:

$ git clone git://github.com/spine/spine.git
$ cd spine

Next, You will need node and npm to pull in the testing libraries. Once you're all set with those then from within the Spine repo directory run

$ npm install

This will install CoffeeScript and the Karma test runner.

At this point you can easily run the complete test suite using

$ npm test

But this isn't very practical for development, since it runs the test suite multiple times agains different versions of jQuery.

A better approach is to install the Karma CLI

$ npm install -g karma-cli

Then you can use $ karma start to run the tests using the latest stable version of jQuery. Karma will keep running in the background and re-run tests whenever you change any files. When the Karma server is running, you can debug tests in your browser by visiting http://localhost:9876/debug.html.

It's also possible to test agains a specific version of jQuery if needed: $ JQUERY_VERSION=1.9.1 karma start.

Contributing to the Spine documentation

Perhaps the easiest way to get started with contributing is through the docs. If you find typos, bugs, or omissions in the docs, please submit a pull request to fix. The Spine website, which is the primary documentation, is a very simple Wintersmith app at spine.github.io. Basic markdown familiarity is probably all you need to be able to make changes.

Contributing to the Spine code

This recommended contribution process is based on the Ruby on Rails contribution guide. In general, please include tests with new features or bugfixes, work in a feature branch until you're ready to submit or discuss your code, then fork the repository, push to your fork, and issue a pull request.

CoffeeScript

When submitting a pull request for code, please submit in CoffeeScript. Building the effected js files is required for testing sake, but submitting those js files is optional.

Assuming you have Node.js and npm already installed then proceed by installing local dev dependencies:

$ npm install

Then use the provided build scripts to compile your CoffeeScript files:

$ cake build
$ cake watch

These tasks use a locally installed copy of CoffeeScript to ensure all contributors use the same version of the compiler.

Git

Let's say I'm going to submit a patch to add someFeatureFix:

$ git checkout dev

Feature branches should start from dev not master. If you branch off of, or do builds on the master branch you will get CoffeeScript source map files, which are cool, but tend to ruin automatic merges with git.

$ git checkout -b someFeatureFix
$ vim test/...
  # (...add tests...)
$ cake watch
  # (...this should recompile and changes you make in your CoffeeScript...)

-- figure out what spine module your changes belong in
$ vim src/spine.coffee
or
$ vim src/[otherSpineComponent].coffee
  # (...add the feature/fix...)
$ open test/index.html
  # (...make sure tests run for each component that was changed...)
  # (...test in other browsers with various jquery versions if you feel like there is risk... )
$ git commit -m "Add Some Feature Fix"

Then, fork the Spine repository, and push your branch to your fork:

$ git remote add <your user name> [email protected]:<your user name>/spine.git
$ git push <your user name> someFeatureFix

Finally, issue a pull request from inside the GitHub interface to the dev branch of spine, and your contribution is ready for consideration, discussion, and (hopefully) merging in!

hem's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hem's Issues

Incorrect modules' paths when building Spine app on Windows

Hello,

I am trying to build an Spine application with Hem on Windows. I figured out a way to do that, please see: https://groups.google.com/d/msg/spinejs/fj_wphMyuJA/AyDdYa_oe4oJ

Everything is working Ok until know, but there is an issue:

The modules' paths are generated this way:

"d:\Temp\spine\testapp\spine\lib\spine":function
"d:\Temp\spine\testapp\app\index"
"d:\Temp\spine\testapp\app\lib\setup"

"d:\\Temp\\spine\\testapp\\app\\index":function(a,b,c){(function(){var a,d,e=Object.prototype.hasOwnProperty,f=function(a,b){function d(){this.constructor=a}

Of course, I am getting an error:

uncaught exception: module index not found

Any advice ?

Thanks.

Stylus Update

Hey Alex, Stylus added "@extends" support on the past few days.

Any ideas on how to make hem use the latest stylus?

Planning on updating it?

css is required?

As hem is quite convenient for easily developing browser applications in coffee-script, it did annoy me when I started working on a plugin-type library in coffee-script that required no css. Hem forced me to create a css folder with a style file inside before it would serve, and it created an empty and unnecessary application.css file in the public folder.

I think that when "css" is set to "" or null hem should just build or serve the javascript application and forget about the css.

Dependencies included multiple times

In spine.mobile application included modules are:

  jqueryify/index
  spine/index
  spine/lib/spine
  spine.mobile/index
  spine/lib/manager
  spine.mobile/lib/touch
  spine.mobile/lib/stage
  spine.mobile/lib/panel
  spine.mobile/node_modules/gfx/index
  spine.mobile/node_modules/gfx/lib/gfx
  spine.mobile/node_modules/gfx/node_modules/jqueryify/index

jquery included twice! Needed to add this line to fix: https://github.com/mmavko/hem/blob/56bac3ba0f2807465edac845f086bdacb024a03c/src/resolve.coffee#L33

(Not to mention that it doesn't work at all as long as gfx/index can't be found.)

require('jqueryify') completely reloads jQuery every time

I'm not sure what makes jqueryify weird:

require('spine') is require('spine') # == true
require('jqueryify') is require('jqueryify') # ==> false

require is looking in its cache for "jqueryify" and it's actually stored as "jqueryify/index".

This looks like a problem in stitch, but I noticed it in hem master and it doesn't happen in the hem available on npm.

`hem -d` breaks spine.map dependency

When I run hem server I get no errors.
When I run hem server -d, I see the following in the js console every page load:

GET http://localhost:9294/spine.map 404 (Not Found)

Advice required for working with npm packages that break Hem conventions

Hi,

Firstly, thank-you for Hem: a fantastic tool that significantly simplifies my workflow!

I'm having a little bit of trouble understanding how I can use Hem with npm packages that don't have an index.js file. For example, I'm trying to use Hem to allow my application to require files from the codemirror npm package. I see that codemirror has the following package.json:

{
  "name": "codemirror",
  "version": "3.14.1",
  "main": "lib/codemirror.js",
  "directories": {
    "lib": "./lib"
  }
  ...
}

I have a number of questions related to this:

  1. When I try to require('codemirror'), Hem can't find the module and I receive module 'codemirror' not found. This makes sense as there is no index.js file (and I see that Hem's stitch.eco looks for the path of an index file). Instead, I see that a require('codemirror/lib/codemirror') does work. Is there any workaround for this so that I can use require('codemirror')?
  2. lib/codemirror.js exports a global variable onto window, rather than onto module.exports, like this: window.CodeMirror = (function() { ... I see that Hem expects the CommonJS style, and so won't pick up this variable. I can change lib/codemirror.js to store the variable on module.exports, but I'd prefer not to change code that I don't own. Is there any workaround for this?
  3. The codemirror npm package includes a number of additional JS files that I'd like to include, but they rely on the presence of the CodeMirror variable. I can issue a separate require statement for each: require('codemirror/lib/codemirror') then a require('codemirror/modes/javascript/javascript'). However, this fails because codemirror/modes/javascript/javascript assumes that it will be able to access the CodeMirror global variable, and I believe that Hem might be requiring files into a "sandboxed" environment where there is no access to other variables. The following doesn't work either: CodeMirror = require('codemirror/lib/codemirror') followed by a require('codemirror/modes/javascript/javascript'). Any ideas?
  4. The codemirror npm package includes a number of CSS files that I'd like to include in my application. Is there any support for this in Hem?

I'm using Spine as my application framework, and would prefer to use the npm dependencies rather than plain-old javascript files (i.e. Hem libs) if possible.

If needed and of interest to the Hem developers, I would be happy to work on a patch to support any of the features above (though I would require a little help in designing solutions).

Thank-you in advance for answers or hints towards solving any of these questions.

Best,
Louis.

hem server/watch broken in Windows

Heyo! Not sure how important Win support is for you, also haven't tried to reproduce the error on Linux yet, but here's what I got so far:

Using v. 0.6.5 of node, I can follow the "Getting Started" spine tutorial, and install hem and spine.app globally. I can also generate an app, and then install the dependencies locally. I can also successfully run hem build. However, hem server or hem watch fail for different reasons.

hem server
Starting server on: 9294

So, it appears to work, but http://localhost:9294 shows nothing. Not even a blank page. It's the exact same issue as shown here: http://stackoverflow.com/questions/8303036/hem-server-serving-nothing

I thought maybe I could use hem watch, but that fails with an error:

hem watch

node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Cannot read property 'id' of undefined
at Object. (C:\Users\Eric\AppData\Roaming\npm\node_modules\hem\assets\stitch.eco:76:46)
at Object. (C:\Users\Eric\AppData\Roaming\npm\node_modules\hem\assets\stitch.eco:79:10)
at Object. (C:\Users\Eric\AppData\Roaming\npm\node_modules\hem\assets\stitch.eco:83:8)
at C:\Users\Eric\AppData\Roaming\npm\node_modules\hem\assets\stitch.eco:85:6
at Package.compileModules (C:\Users\Eric\AppData\Roaming\npm\node_modules\hem\lib\package.js:26:14)
at Package.compile (C:\Users\Eric\AppData\Roaming\npm\node_modules\hem\lib\package.js:46:42)
at Hem.build (C:\Users\Eric\AppData\Roaming\npm\node_modules\hem\lib\hem.js:83:34)
at Hem.watch (C:\Users\Eric\AppData\Roaming\npm\node_modules\hem\lib\hem.js:90:12)
at Hem.exec (C:\Users\Eric\AppData\Roaming\npm\node_modules\hem\lib\hem.js:111:19)
at Function.exec (C:\Users\Eric\AppData\Roaming\npm\node_modules\hem\lib\hem.js:20:34)

Let me know if I can provide more info! I'll test on Linux soon.

Full set up on a Windows XP environment

Hi all,

I'm not sure if this issue must be here or on Spine's repository, I'm sorry if this is not the right place.

Today I started trying to set up a complete development system on Windows, using SpineJS, Spine.App, Node.js, CoffeScript, npm, and of course hem.

I have all of these elements installed on my machine, and I'm running hem server to see the first "welcome" page on http://localhost:9294

What I see is an empty page with this js error:

Message: Object does not support this property or method
Line: 1
Char: 1
Code: 0
URI: http://maccman-spine.herokuapp.com/start.js

Does anybody know what I'm doing wrong?

Thanks in advance!

Add custom compilers

Motivation

I like HAML. There's a great plugin called haml-coffee that lets you write templates in HAML using CoffeeScript instead of Ruby. This would fit very nicely with Spine.

I made a fork, added support for HAML, but I don't thing everybody would benefit from HAML being included in Spine.

It would be great if there was a way to add custom compilers to Hem.

Acceptance Criteria

It is possible to specify custom compilers that Hem will pick up when starting a server or compiling into a package.

Resources

Error building "vanilla" Spine app

[user@host ~]# rm -rf tn
[user@host ~]# spine app tn
[user@host ~]# cd tn
[user@host tn]# ls
app  css  package.json  Procfile  public  slug.json
[user@host tn]# hem build

node.js:134
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
Load path not found for false

The error message does not say so much.

Are you also getting this error or is just me?

Thanks.

"-p" option not working

Looks like something happened in the latest hem to cause the port param alias "-p 1234" to break. The long version "--port 1234" still works though.

jeco templates silently fail to compile on syntax error

Take the following .jeco template:

<% if @condition: %>
    <span>some content</span>
<% else %>
    <span>some other content</else>
<% end %>

There's a typo here because <% else %> should be <% else: %> which I've gotten wrong a few times (forgetting about the colon).

Actual result

Here's the output from hem build:

Building 'appName' target: ./public/application.js
undefined

Expected result

There should probably be a syntax error raised. It's the silent nature of the failure that's the problem, since I ended up searching through every change in the commit trying to figure out where (and what) the issue was.

Steps to reproduce

Try and compile the template above with hem build or hem watch etc.

jade pre-compiled support?

Loving hem + spine/spine.mobile for quickly building out applications. One thing I'm not loving though is eco :). I'd much rather use jade pre-compiled client side templates.

I'm thinking about forking this and giving it a whirl but I wanted to get your opinion on this.

Cheers

"hem server" ignores cssPath, and jsPath options

I develop two spine applications (one of them is Spine mobile app) using hem inside Rails project.
Even if I specify different filename (desktop.js, mobile.js) for built css and js files in slug.json, when using "hem server" those files are inaccessible. I can access it only by default "application.js".

Hem fails to resolve symbolically linked modules

If you've used npm link to install a module in your application, when you require() that module, hem is unable to resolve the dependency and ends up throwing "Load path not found for {filename}"

stylus 0.15.1 dependency update

hem uses outdated stylus 0.13.9 which has a broken dependency on connect that has since been corrected. Please update to the latest version of stylus so "extraneous" and "UNMET DEPENDENCY" errors will go away in our npm tree.

Requiring .styl files from a node module

I am trying to include bootstrap.styl from the bootstrap-stylus node module, the docs say:

Also in the pipeline is the ability to bundle up CSS from Node modules.

but I can't seem to figure out how that works. Am I missing something?

Interest in serving up separate js files?

Hi - for our own developers, we've modified hem to have the capability of serving up individual js files, for those who do not want to debug a monolithic js file. Is that something you all would be interested in? We have some other changes that you may or may not want, So I wanted to ask first before we packaged them up in a pull request

Hem 0.4.24 not working in Spine App generated app

I Installed hem from the version4 branch

Once I run:
->hem build
I get the following output:

Removing application: server
Removing application: routes
Removing application: packages
Building application: server
Building application: routes
Building application: packages
Error: Cannot find module '/Users/omarfouad/Desktop/SpineApp

Add template name for jQuery template

Hi, Alex!
Now hem build template without name:
var template = jQuery.template(htmlMarkup);
In this case i cant referenced this template from other scripts.

I propose to add template filename as name in template build:
var template = jQuery.template(filename, htmlMarkup);

html5 history support / catch all

Apps using history.pushState need some kind of catch all to allow "virtual paths". I'd like to render public/index.html when a 404 occurs, is that possible? Is there a setting or can I use a slug.js file to put this functionality in?

'hem server' not detecting file changes in 0.1.9

Hem 0.1.9 (the latest version) is not automatically detecting changes to my spine app when running "hem server" (although "hem watch" seems to be working correctly). I was able to get it working by uninstalling 0.1.9 (npm uninstall -g hem) and installing 0.1.8 instead (npm install -g [email protected]).

It seems that other people are having the same experience with hem and spine:
http://stackoverflow.com/questions/11561014/spine-js-hem-getting-started

underscore and backbone dependencies break hem

I'm currently setting up my project and have

dependencies: ["underscore", "backbone"]

in my slug.json. The files get included all right, but are accessible using require("underscore/underscore") and require("backbone/backbone") only. I'm assuming this is some issue with resolving the index file of those packages, but I couldn't figure it out. The package.json files have the necessary "main" properties.

Perhaps you can quickly give it a try. I noticed that dependencies that work (like "json2ify") have main files that are called "index.js", so perhaps that's the problem.

Anyway, for anyone else trying to load underscore and backbone as dependencies: create wrapper modules that require and export the full path until this is fixed. Here's my app/underscore.coffee:

module.exports = require "underscore/underscore"

Referencing nonexistent module in slug.json gives unclear error

How to reproduce

  • Create new app
  • Use hem from source (git://github.com/maccman/hem.git) instead of 0.1.6 from npm (that one works)
  • Add any string to dependencies of slug.json.

You will see this error:

Unhandled error!
Error: undefined

Instead of:

Cannot find module: foo. Have you run npm install . ?

@font-face files not working in Firefox with hem server

@font-face{
font-family: "geosanslight";
src: url("fonts/geosanslight.woff") format("woff"), url("fonts/GeosansLight.ttf") format("truetype");
}
firebug net panel indicates the file is retrieved, but it just doesn't work...

Chromium is working.

Firefox doesn't resolve font file (.woff) properly with hem server running, BUT if I do hem build and don't go through port 9294 it all works okay. This isn't a major issue, however since the font changes the size of things slightly it is hard to do layout and design work without the proper fonts displaying.

I wonder if it is not getting served with the right mime type or something like that.

HEM Install Problem

I'm trying to get up and running with Spine on Mac OSX Lion. It's a clean install. When trying to install HEM, I get the following error. What am I missing?

0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'install', '-g', 'hem' ]
2 info using [email protected]
3 info using [email protected]
4 verbose node symlink /usr/local/bin/node
5 verbose config file /Users/me/.npmrc
6 verbose config file /usr/local/etc/npmrc
7 verbose config file /usr/local/lib/node_modules/npm/npmrc
8 verbose read json /usr/local/lib/package.json
9 verbose read json /usr/local/lib/package.json
10 verbose cache add [ 'hem', null ]
11 silly cache add name=undefined spec="hem" args=["hem",null]
12 verbose parsed url { pathname: 'hem', path: 'hem', href: 'hem' }
13 verbose addNamed [ 'hem', '' ]
14 verbose addNamed [ null, '' ]
15 silly addNameRange { name: 'hem', range: '', hasData: false }
16 verbose url raw hem
17 verbose url resolving [ 'https://registry.npmjs.org/', './hem' ]
18 verbose url resolved https://registry.npmjs.org/hem
19 verbose etag "5R0N1UJ6NG75IV6C81AWBO1I2"
20 http GET https://registry.npmjs.org/hem
21 http 304 https://registry.npmjs.org/hem
22 silly registry.get cb [ 304,
22 silly registry.get { server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
22 silly registry.get etag: '"5R0N1UJ6NG75IV6C81AWBO1I2"',
22 silly registry.get date: 'Wed, 27 Jun 2012 04:50:46 GMT',
22 silly registry.get 'content-length': '0' } ]
23 verbose etag hem from cache
24 silly addNameRange number 2 { name: 'hem', range: '', hasData: true }
25 silly addNameRange versions [ 'hem',
25 silly addNameRange [ '0.0.1',
25 silly addNameRange '0.0.2',
25 silly addNameRange '0.0.3',
25 silly addNameRange '0.0.4',
25 silly addNameRange '0.0.5',
25 silly addNameRange '0.0.6',
25 silly addNameRange '0.0.7',
25 silly addNameRange '0.0.8',
25 silly addNameRange '0.0.9',
25 silly addNameRange '0.1.0',
25 silly addNameRange '0.1.1',
25 silly addNameRange '0.1.2',
25 silly addNameRange '0.1.3',
25 silly addNameRange '0.1.5',
25 silly addNameRange '0.1.6',
25 silly addNameRange '0.1.7',
25 silly addNameRange '0.1.8',
25 silly addNameRange '0.1.9' ] ]
26 verbose read json /Users/me/.npm/hem/0.1.9/package/package.json
27 silly resolved [ { name: 'hem',
27 silly resolved description: 'CommonJS stitcher.',
27 silly resolved version: '0.1.9',
27 silly resolved author: { name: 'maccman' },
27 silly resolved licenses: [ [Object] ],
27 silly resolved repository: { type: 'git', url: 'http://github.com/maccman/hem.git' },
27 silly resolved engine: [ 'node >=0.1.102' ],
27 silly resolved main: './lib/hem.js',
27 silly resolved bin: { hem: './bin/hem' },
27 silly resolved dependencies:
27 silly resolved { eco: '1.1.0-rc-3',
27 silly resolved 'uglify-js': '~1.1.1',
27 silly resolved 'fast-detective': '~0.0.1',
27 silly resolved optimist: '~0.2.6',
27 silly resolved stylus: '~0.22.6',
27 silly resolved 'coffee-script': '~1.3.0',
27 silly resolved watch: '~0.4.0',
27 silly resolved strata: '0.15.1' },
27 silly resolved readme: '#Introduction\n\nHem is a project for compiling CommonJS modules when building JavaScript web applications. You can think of Hem as Bundler for Node, or Stitch on steroids. \n\nThis is rather awesome, as it means you don't need to faff around with coping around JavaScript files. jQuery can be a npm dependency, so can jQueryUI and all your custom components. Hem will resolve dependencies dynamically, bundling them together into one file to be served up. Upon deployment, you can serialize your application to disk and serve it statically. \n\n#Installation\n\n npm install -g hem\n\n#Usage\n\nPlease see the Hem guide for usage instructions.',
27 silly resolved _id: '[email protected]',
27 silly resolved from: 'hem' } ]
28 info install [email protected] into /usr/local/lib
29 info installOne [email protected]
30 verbose from cache /Users/me/.npm/hem/0.1.9/package/package.json
31 info /usr/local/lib/node_modules/hem unbuild
32 verbose read json /usr/local/lib/node_modules/hem/package.json
33 verbose tar unpack /Users/me/.npm/hem/0.1.9/package.tgz
34 silly gunzTarPerm modes [ '755', '644' ]
35 silly gunzTarPerm extractEntry package.json
36 silly gunzTarPerm extractEntry .npmignore
37 silly gunzTarPerm extractEntry README.md
38 silly gunzTarPerm extractEntry LICENSE
39 silly gunzTarPerm extractEntry assets/stitch.eco
40 silly gunzTarPerm extractEntry bin/hem
41 silly gunzTarPerm extractEntry Cakefile
42 silly gunzTarPerm extractEntry examples/app/controllers/test.coffee
43 silly gunzTarPerm extractEntry examples/app/index.coffee
44 silly gunzTarPerm extractEntry examples/css/index.styl
45 silly gunzTarPerm extractEntry examples/lib/custom.js
46 silly gunzTarPerm extractEntry examples/public/application.js
47 silly gunzTarPerm extractEntry examples/public/application.css
48 silly gunzTarPerm extractEntry examples/public/index.html
49 silly gunzTarPerm extractEntry examples/slug.json
50 silly gunzTarPerm extractEntry lib/compilers.js
51 silly gunzTarPerm extractEntry lib/css.js
52 silly gunzTarPerm extractEntry lib/dependency.js
53 silly gunzTarPerm extractEntry lib/hem.js
54 silly gunzTarPerm extractEntry lib/package.js
55 silly gunzTarPerm extractEntry lib/resolve.js
56 silly gunzTarPerm extractEntry lib/specs.js
57 silly gunzTarPerm extractEntry lib/stitch.js
58 silly gunzTarPerm extractEntry lib/utils.js
59 silly gunzTarPerm extractEntry src/compilers.coffee
60 silly gunzTarPerm extractEntry src/css.coffee
61 silly gunzTarPerm extractEntry src/dependency.coffee
62 silly gunzTarPerm extractEntry src/hem.coffee
63 silly gunzTarPerm extractEntry src/package.coffee
64 silly gunzTarPerm extractEntry src/resolve.coffee
65 silly gunzTarPerm extractEntry src/specs.coffee
66 silly gunzTarPerm extractEntry src/stitch.coffee
67 silly gunzTarPerm extractEntry src/utils.coffee
68 verbose read json /usr/local/lib/node_modules/hem/package.json
69 info preinstall [email protected]
70 verbose from cache /usr/local/lib/node_modules/hem/package.json
71 verbose readDependencies using package.json deps
72 verbose from cache /usr/local/lib/node_modules/hem/package.json
73 verbose readDependencies using package.json deps
74 verbose cache add [ '[email protected]', null ]
75 silly cache add name=undefined spec="[email protected]" args=["[email protected]",null]
76 verbose parsed url { pathname: '[email protected]',
76 verbose parsed url path: '[email protected]',
76 verbose parsed url href: '[email protected]' }
77 silly cache add name="eco" spec="1.1.0-rc-3" args=["eco","1.1.0-rc-3"]
78 verbose parsed url { pathname: '1.1.0-rc-3',
78 verbose parsed url path: '1.1.0-rc-3',
78 verbose parsed url href: '1.1.0-rc-3' }
79 verbose addNamed [ 'eco', '1.1.0-rc-3' ]
80 verbose addNamed [ '1.1.0-rc-3', '1.1.0-rc-3' ]
81 verbose cache add [ 'uglify-js@~1.1.1', null ]
82 silly cache add name=undefined spec="uglify-js@~1.1.1" args=["uglify-js@~1.1.1",null]
83 verbose parsed url { pathname: 'uglify-js@~1.1.1',
83 verbose parsed url path: 'uglify-js@~1.1.1',
83 verbose parsed url href: 'uglify-js@~1.1.1' }
84 silly cache add name="uglify-js" spec="~1.1.1" args=["uglify-js","~1.1.1"]
85 verbose parsed url { pathname: '~1.1.1', path: '~1.1.1', href: '~1.1.1' }
86 verbose addNamed [ 'uglify-js', '~1.1.1' ]
87 verbose addNamed [ null, '>=1.1.1- <1.2.0-' ]
88 silly addNameRange { name: 'uglify-js', range: '>=1.1.1- <1.2.0-', hasData: false }
89 verbose cache add [ 'fast-detective@~0.0.1', null ]
90 silly cache add name=undefined spec="fast-detective@~0.0.1" args=["fast-detective@~0.0.1",null]
91 verbose parsed url { pathname: 'fast-detective@~0.0.1',
91 verbose parsed url path: 'fast-detective@~0.0.1',
91 verbose parsed url href: 'fast-detective@~0.0.1' }
92 silly cache add name="fast-detective" spec="~0.0.1" args=["fast-detective","~0.0.1"]
93 verbose parsed url { pathname: '~0.0.1', path: '~0.0.1', href: '~0.0.1' }
94 verbose addNamed [ 'fast-detective', '~0.0.1' ]
95 verbose addNamed [ null, '>=0.0.1- <0.1.0-' ]
96 silly addNameRange { name: 'fast-detective',
96 silly addNameRange range: '>=0.0.1- <0.1.0-',
96 silly addNameRange hasData: false }
97 verbose cache add [ 'optimist@~0.2.6', null ]
98 silly cache add name=undefined spec="optimist@~0.2.6" args=["optimist@~0.2.6",null]
99 verbose parsed url { pathname: 'optimist@~0.2.6',
99 verbose parsed url path: 'optimist@~0.2.6',
99 verbose parsed url href: 'optimist@~0.2.6' }
100 silly cache add name="optimist" spec="~0.2.6" args=["optimist","~0.2.6"]
101 verbose parsed url { pathname: '~0.2.6', path: '~0.2.6', href: '~0.2.6' }
102 verbose addNamed [ 'optimist', '~0.2.6' ]
103 verbose addNamed [ null, '>=0.2.6- <0.3.0-' ]
104 silly addNameRange { name: 'optimist', range: '>=0.2.6- <0.3.0-', hasData: false }
105 verbose url raw eco/1.1.0-rc-3
106 verbose url resolving [ 'https://registry.npmjs.org/', './eco/1.1.0-rc-3' ]
107 verbose url resolved https://registry.npmjs.org/eco/1.1.0-rc-3
108 verbose etag "EHGYMQQKOHZ43DWCFXEDAXFVY"
109 http GET https://registry.npmjs.org/eco/1.1.0-rc-3
110 verbose url raw uglify-js
111 verbose url resolving [ 'https://registry.npmjs.org/', './uglify-js' ]
112 verbose url resolved https://registry.npmjs.org/uglify-js
113 verbose etag "7XOUQJCXECD0G730ISFNR87Z2"
114 http GET https://registry.npmjs.org/uglify-js
115 verbose url raw fast-detective
116 verbose url resolving [ 'https://registry.npmjs.org/', './fast-detective' ]
117 verbose url resolved https://registry.npmjs.org/fast-detective
118 verbose etag "CLF86KKQB5S0CF4K1L1C1MFWZ"
119 http GET https://registry.npmjs.org/fast-detective
120 verbose url raw optimist
121 verbose url resolving [ 'https://registry.npmjs.org/', './optimist' ]
122 verbose url resolved https://registry.npmjs.org/optimist
123 verbose etag "3HYWB08RCHASURH5ZPS3O07XN"
124 http GET https://registry.npmjs.org/optimist
125 verbose cache add [ 'stylus@~0.22.6', null ]
126 silly cache add name=undefined spec="stylus@~0.22.6" args=["stylus@~0.22.6",null]
127 verbose parsed url { pathname: 'stylus@~0.22.6',
127 verbose parsed url path: 'stylus@~0.22.6',
127 verbose parsed url href: 'stylus@~0.22.6' }
128 silly cache add name="stylus" spec="~0.22.6" args=["stylus","~0.22.6"]
129 verbose parsed url { pathname: '~0.22.6', path: '~0.22.6', href: '~0.22.6' }
130 verbose addNamed [ 'stylus', '~0.22.6' ]
131 verbose addNamed [ null, '>=0.22.6- <0.23.0-' ]
132 silly addNameRange { name: 'stylus', range: '>=0.22.6- <0.23.0-', hasData: false }
133 verbose cache add [ 'coffee-script@~1.3.0', null ]
134 silly cache add name=undefined spec="coffee-script@~1.3.0" args=["coffee-script@~1.3.0",null]
135 verbose parsed url { pathname: 'coffee-script@~1.3.0',
135 verbose parsed url path: 'coffee-script@~1.3.0',
135 verbose parsed url href: 'coffee-script@~1.3.0' }
136 silly cache add name="coffee-script" spec="~1.3.0" args=["coffee-script","~1.3.0"]
137 verbose parsed url { pathname: '~1.3.0', path: '~1.3.0', href: '~1.3.0' }
138 verbose addNamed [ 'coffee-script', '~1.3.0' ]
139 verbose addNamed [ null, '>=1.3.0- <1.4.0-' ]
140 silly addNameRange { name: 'coffee-script',
140 silly addNameRange range: '>=1.3.0- <1.4.0-',
140 silly addNameRange hasData: false }
141 verbose cache add [ 'watch@~0.4.0', null ]
142 silly cache add name=undefined spec="watch@~0.4.0" args=["watch@~0.4.0",null]
143 verbose parsed url { pathname: 'watch@~0.4.0',
143 verbose parsed url path: 'watch@~0.4.0',
143 verbose parsed url href: 'watch@~0.4.0' }
144 silly cache add name="watch" spec="~0.4.0" args=["watch","~0.4.0"]
145 verbose parsed url { pathname: '~0.4.0', path: '~0.4.0', href: '~0.4.0' }
146 verbose addNamed [ 'watch', '~0.4.0' ]
147 verbose addNamed [ null, '>=0.4.0- <0.5.0-' ]
148 silly addNameRange { name: 'watch', range: '>=0.4.0- <0.5.0-', hasData: false }
149 verbose cache add [ '[email protected]', null ]
150 silly cache add name=undefined spec="[email protected]" args=["[email protected]",null]
151 verbose parsed url { pathname: '[email protected]',
151 verbose parsed url path: '[email protected]',
151 verbose parsed url href: '[email protected]' }
152 silly cache add name="strata" spec="0.15.1" args=["strata","0.15.1"]
153 verbose parsed url { pathname: '0.15.1', path: '0.15.1', href: '0.15.1' }
154 verbose addNamed [ 'strata', '0.15.1' ]
155 verbose addNamed [ '0.15.1', '0.15.1' ]
156 verbose url raw stylus
157 verbose url resolving [ 'https://registry.npmjs.org/', './stylus' ]
158 verbose url resolved https://registry.npmjs.org/stylus
159 verbose etag "AV57DRAOY5LOA5Q0JEBX00KN"
160 http GET https://registry.npmjs.org/stylus
161 verbose url raw coffee-script
162 verbose url resolving [ 'https://registry.npmjs.org/', './coffee-script' ]
163 verbose url resolved https://registry.npmjs.org/coffee-script
164 verbose etag "99UJ9NSZHU7W98C4J51K3D3AI"
165 http GET https://registry.npmjs.org/coffee-script
166 verbose url raw watch
167 verbose url resolving [ 'https://registry.npmjs.org/', './watch' ]
168 verbose url resolved https://registry.npmjs.org/watch
169 verbose etag "3LTRZLTCKAKR9VKHVPE791QC8"
170 http GET https://registry.npmjs.org/watch
171 verbose url raw strata/0.15.1
172 verbose url resolving [ 'https://registry.npmjs.org/', './strata/0.15.1' ]
173 verbose url resolved https://registry.npmjs.org/strata/0.15.1
174 verbose etag "7ZU665KXNWQJRMV9AK3P3KCKH"
175 http GET https://registry.npmjs.org/strata/0.15.1
176 http 304 https://registry.npmjs.org/optimist
177 silly registry.get cb [ 304,
177 silly registry.get { server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
177 silly registry.get etag: '"3HYWB08RCHASURH5ZPS3O07XN"',
177 silly registry.get date: 'Wed, 27 Jun 2012 04:50:50 GMT',
177 silly registry.get 'content-length': '0' } ]
178 verbose etag optimist from cache
179 http 304 https://registry.npmjs.org/eco/1.1.0-rc-3
180 silly registry.get cb [ 304,
180 silly registry.get { server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
180 silly registry.get etag: '"EHGYMQQKOHZ43DWCFXEDAXFVY"',
180 silly registry.get date: 'Wed, 27 Jun 2012 04:50:50 GMT',
180 silly registry.get 'content-length': '0' } ]
181 verbose etag eco/1.1.0-rc-3 from cache
182 http 304 https://registry.npmjs.org/stylus
183 silly registry.get cb [ 304,
183 silly registry.get { server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
183 silly registry.get etag: '"AV57DRAOY5LOA5Q0JEBX00KN"',
183 silly registry.get date: 'Wed, 27 Jun 2012 04:50:50 GMT',
183 silly registry.get 'content-length': '0' } ]
184 verbose etag stylus from cache
185 http 304 https://registry.npmjs.org/uglify-js
186 silly registry.get cb [ 304,
186 silly registry.get { server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
186 silly registry.get etag: '"7XOUQJCXECD0G730ISFNR87Z2"',
186 silly registry.get date: 'Wed, 27 Jun 2012 04:50:50 GMT',
186 silly registry.get 'content-length': '0' } ]
187 verbose etag uglify-js from cache
188 http 304 https://registry.npmjs.org/fast-detective
189 silly registry.get cb [ 304,
189 silly registry.get { server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
189 silly registry.get etag: '"CLF86KKQB5S0CF4K1L1C1MFWZ"',
189 silly registry.get date: 'Wed, 27 Jun 2012 04:50:50 GMT',
189 silly registry.get 'content-length': '0' } ]
190 verbose etag fast-detective from cache
191 silly addNameRange number 2 { name: 'optimist', range: '>=0.2.6- <0.3.0-', hasData: true }
192 silly addNameRange versions [ 'optimist',
192 silly addNameRange [ '0.0.1',
192 silly addNameRange '0.0.2',
192 silly addNameRange '0.0.4',
192 silly addNameRange '0.0.5',
192 silly addNameRange '0.0.6',
192 silly addNameRange '0.0.7',
192 silly addNameRange '0.1.0',
192 silly addNameRange '0.1.1',
192 silly addNameRange '0.1.2',
192 silly addNameRange '0.1.3',
192 silly addNameRange '0.1.4',
192 silly addNameRange '0.1.5',
192 silly addNameRange '0.1.6',
192 silly addNameRange '0.1.7',
192 silly addNameRange '0.1.8',
192 silly addNameRange '0.1.9',
192 silly addNameRange '0.0.3',
192 silly addNameRange '0.2.0',
192 silly addNameRange '0.2.1',
192 silly addNameRange '0.2.2',
192 silly addNameRange '0.2.3',
192 silly addNameRange '0.2.4',
192 silly addNameRange '0.2.5',
192 silly addNameRange '0.2.6',
192 silly addNameRange '0.2.7',
192 silly addNameRange '0.2.8',
192 silly addNameRange '0.3.0',
192 silly addNameRange '0.3.1',
192 silly addNameRange '0.3.3',
192 silly addNameRange '0.3.4' ] ]
193 silly addNameRange number 2 { name: 'stylus', range: '>=0.22.6- <0.23.0-', hasData: true }
194 silly addNameRange versions [ 'stylus',
194 silly addNameRange [ '0.0.1',
194 silly addNameRange '0.0.2',
194 silly addNameRange '0.1.0',
194 silly addNameRange '0.2.0',
194 silly addNameRange '0.2.1',
194 silly addNameRange '0.3.0',
194 silly addNameRange '0.3.1',
194 silly addNameRange '0.4.0',
194 silly addNameRange '0.4.1',
194 silly addNameRange '0.5.0',
194 silly addNameRange '0.5.1',
194 silly addNameRange '0.5.2',
194 silly addNameRange '0.5.3',
194 silly addNameRange '0.6.0',
194 silly addNameRange '0.6.2',
194 silly addNameRange '0.6.3',
194 silly addNameRange '0.6.4',
194 silly addNameRange '0.6.5',
194 silly addNameRange '0.6.6',
194 silly addNameRange '0.6.7',
194 silly addNameRange '0.7.0',
194 silly addNameRange '0.7.1',
194 silly addNameRange '0.7.2',
194 silly addNameRange '0.7.3',
194 silly addNameRange '0.7.4',
194 silly addNameRange '0.8.0',
194 silly addNameRange '0.9.0',
194 silly addNameRange '0.9.1',
194 silly addNameRange '0.9.2',
194 silly addNameRange '0.10.0',
194 silly addNameRange '0.11.0',
194 silly addNameRange '0.11.1',
194 silly addNameRange '0.11.2',
194 silly addNameRange '0.11.3',
194 silly addNameRange '0.11.4',
194 silly addNameRange '0.11.5',
194 silly addNameRange '0.11.6',
194 silly addNameRange '0.11.7',
194 silly addNameRange '0.11.8',
194 silly addNameRange '0.11.9',
194 silly addNameRange '0.11.10',
194 silly addNameRange '0.11.11',
194 silly addNameRange '0.11.12',
194 silly addNameRange '0.12.0',
194 silly addNameRange '0.12.1',
194 silly addNameRange '0.12.2',
194 silly addNameRange '0.12.3',
194 silly addNameRange '0.12.4',
194 silly addNameRange '0.13.0',
194 silly addNameRange '0.13.1',
194 silly addNameRange '0.13.2',
194 silly addNameRange '0.13.3',
194 silly addNameRange '0.13.4',
194 silly addNameRange '0.13.5',
194 silly addNameRange '0.13.6',
194 silly addNameRange '0.13.7',
194 silly addNameRange '0.13.8',
194 silly addNameRange '0.13.9',
194 silly addNameRange '0.14.0',
194 silly addNameRange '0.15.0',
194 silly addNameRange '0.15.1',
194 silly addNameRange '0.15.2',
194 silly addNameRange '0.15.3',
194 silly addNameRange '0.15.4',
194 silly addNameRange '0.16.0',
194 silly addNameRange '0.17.0',
194 silly addNameRange '0.18.0',
194 silly addNameRange '0.26.1',
194 silly addNameRange '0.27.0',
194 silly addNameRange '0.27.1',
194 silly addNameRange '0.27.2' ] ]
195 verbose about to build /usr/local/lib/node_modules/hem
196 info /usr/local/lib/node_modules/hem unbuild
197 verbose from cache /usr/local/lib/node_modules/hem/package.json
198 silly addNameRange number 2 { name: 'uglify-js', range: '>=1.1.1- <1.2.0-', hasData: true }
199 silly addNameRange versions [ 'uglify-js',
199 silly addNameRange [ '0.0.1',
199 silly addNameRange '0.0.2',
199 silly addNameRange '0.0.3',
199 silly addNameRange '0.0.4',
199 silly addNameRange '0.0.5',
199 silly addNameRange '1.0.1',
199 silly addNameRange '1.0.2',
199 silly addNameRange '1.0.3',
199 silly addNameRange '1.0.4',
199 silly addNameRange '1.0.5',
199 silly addNameRange '1.0.6',
199 silly addNameRange '1.0.7',
199 silly addNameRange '1.1.0',
199 silly addNameRange '1.1.1',
199 silly addNameRange '1.2.0',
199 silly addNameRange '1.2.1',
199 silly addNameRange '1.2.2',
199 silly addNameRange '1.2.3',
199 silly addNameRange '1.2.4',
199 silly addNameRange '1.2.5',
199 silly addNameRange '1.2.6',
199 silly addNameRange '1.3.0',
199 silly addNameRange '1.3.1',
199 silly addNameRange '1.3.2' ] ]
200 verbose read json /Users/me/.npm/eco/1.1.0-rc-3/package/package.json
201 verbose read json /Users/me/.npm/optimist/0.2.8/package/package.json
202 silly addNameRange number 2 { name: 'fast-detective',
202 silly addNameRange range: '>=0.0.1- <0.1.0-',
202 silly addNameRange hasData: true }
203 silly addNameRange versions [ 'fast-detective', [ '0.0.1', '0.0.2' ] ]
204 verbose read json /Users/me/.npm/uglify-js/1.1.1/package/package.json
205 verbose read json /Users/me/.npm/fast-detective/0.0.2/package/package.json
206 info preuninstall [email protected]
207 info uninstall [email protected]
208 verbose true,/usr/local/lib/node_modules,/usr/local/lib/node_modules unbuild [email protected]
209 verbose /usr/local/bin,[object Object] binRoot
210 info postuninstall [email protected]
211 error Error: No compatible version found: stylus@'>=0.22.6- <0.23.0-'
211 error Valid install targets:
211 error ["0.0.1","0.0.2","0.1.0","0.2.0","0.2.1","0.3.0","0.3.1","0.4.0","0.4.1","0.5.0","0.5.1","0.5.2","0.5.3","0.6.0","0.6.2","0.6.3","0.6.4","0.6.5","0.6.6","0.6.7","0.7.0","0.7.1","0.7.2","0.7.3","0.7.4","0.8.0","0.9.0","0.9.1","0.9.2","0.10.0","0.11.0","0.11.1","0.11.2","0.11.3","0.11.4","0.11.5","0.11.6","0.11.7","0.11.8","0.11.9","0.11.10","0.11.11","0.11.12","0.12.0","0.12.1","0.12.2","0.12.3","0.12.4","0.13.0","0.13.1","0.13.2","0.13.3","0.13.4","0.13.5","0.13.6","0.13.7","0.13.8","0.13.9","0.14.0","0.15.0","0.15.1","0.15.2","0.15.3","0.15.4","0.16.0","0.17.0","0.18.0","0.26.1","0.27.0","0.27.1","0.27.2"]
211 error at installTargetsError (/usr/local/lib/node_modules/npm/lib/cache.js:506:10)
211 error at next
(/usr/local/lib/node_modules/npm/lib/cache.js:452:17)
211 error at next (/usr/local/lib/node_modules/npm/lib/cache.js:427:44)
211 error at /usr/local/lib/node_modules/npm/lib/cache.js:419:5
211 error at saved (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js:136:7)
211 error at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:230:7
211 error at Object.oncomplete (fs.js:297:15)
211 error [Error: No compatible version found: stylus@'>=0.22.6- <0.23.0-'
211 error Valid install targets:
211 error ["0.0.1","0.0.2","0.1.0","0.2.0","0.2.1","0.3.0","0.3.1","0.4.0","0.4.1","0.5.0","0.5.1","0.5.2","0.5.3","0.6.0","0.6.2","0.6.3","0.6.4","0.6.5","0.6.6","0.6.7","0.7.0","0.7.1","0.7.2","0.7.3","0.7.4","0.8.0","0.9.0","0.9.1","0.9.2","0.10.0","0.11.0","0.11.1","0.11.2","0.11.3","0.11.4","0.11.5","0.11.6","0.11.7","0.11.8","0.11.9","0.11.10","0.11.11","0.11.12","0.12.0","0.12.1","0.12.2","0.12.3","0.12.4","0.13.0","0.13.1","0.13.2","0.13.3","0.13.4","0.13.5","0.13.6","0.13.7","0.13.8","0.13.9","0.14.0","0.15.0","0.15.1","0.15.2","0.15.3","0.15.4","0.16.0","0.17.0","0.18.0","0.26.1","0.27.0","0.27.1","0.27.2"]]
212 error You may report this log at:
212 error http://github.com/isaacs/npm/issues
212 error or email it to:
212 error [email protected]
213 error System Darwin 11.4.0
214 error command "node" "/usr/local/bin/npm" "install" "-g" "hem"
215 error cwd /Users/me
216 error node -v v0.8.0
217 error npm -v 1.1.32
218 error message No compatible version found: stylus@'>=0.22.6- <0.23.0-'
218 error message Valid install targets:
218 error message ["0.0.1","0.0.2","0.1.0","0.2.0","0.2.1","0.3.0","0.3.1","0.4.0","0.4.1","0.5.0","0.5.1","0.5.2","0.5.3","0.6.0","0.6.2","0.6.3","0.6.4","0.6.5","0.6.6","0.6.7","0.7.0","0.7.1","0.7.2","0.7.3","0.7.4","0.8.0","0.9.0","0.9.1","0.9.2","0.10.0","0.11.0","0.11.1","0.11.2","0.11.3","0.11.4","0.11.5","0.11.6","0.11.7","0.11.8","0.11.9","0.11.10","0.11.11","0.11.12","0.12.0","0.12.1","0.12.2","0.12.3","0.12.4","0.13.0","0.13.1","0.13.2","0.13.3","0.13.4","0.13.5","0.13.6","0.13.7","0.13.8","0.13.9","0.14.0","0.15.0","0.15.1","0.15.2","0.15.3","0.15.4","0.16.0","0.17.0","0.18.0","0.26.1","0.27.0","0.27.1","0.27.2"]
219 verbose exit [ 1, true ]

Hem Cannot find module '/path/to/my/app/css'

node v0.6.2
npm v1.0.105
spine 1.0.5
spine.app 0.3.0
hem 0.1.6

After having generate a an app with
spine app myapp

Running: hem server gives fails with: Error: Cannot find module '/path/to/my/app/css'

strata.file middleware priority - files not recompiled

Hi. I'm using a fresh new install of Hem 0.1.9

If I run the server as usual with the hem server command and then edit a few coffee files in my app, refresh the browser cache, application.js is not recompiled (same issue with the .css file)

These routes are never executed :

strata.get(this.options.jsPath, this.hemPackage().createServer());
strata.get(this.options.jsPath, this.hemPackage().createServer());

/application.js is served by strata.file middleware, declared below :

strata.use(strata.file, this.options["public"], ['index.html', 'index.htm']);

The issue appears in your last update, jumping from strata 0.11 to 0.15

sorry

this was an accident

npm installation fails

some plugins require at karma 0.9.3

npm ERR! peerinvalid The package karma does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9.3
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9

uglify/minify bug

I'm seeing missing semicolons between module defines which has the effect of JS parsing two consecutive definitions as chained function calls:

(function() { ... }).call(this)(function() { ... }).call(this)

There should be a statement separator in between. It's there if I hem build -d.

There seems to be a related discussion here:
mishoo/UglifyJS#126

I can't see whether hem is first concatenating and then passing the whole chunk to uglify, or doing it incrementally and then writing the pieces out consecutively to the output (in which case it should be fairly simple to insert a semicolon between the compilation units).

I've tried the v2.4.0 uglify cli on the output of hem build -d and it produces correct code.

debug mode doesn't work?

I've been trying many times to use -d option to be able to work with debug mode, but it seems not working. I expect that debug mode turns on sourceUrl making possible to see in debugger a list of sources, but not the only one result file.

watch ignore dotfiles

Using "hem watch" is almost impossible, as I'm using vim, and any time I modify a file at all (not just when I save it) it rebuilds everything. Having an option to ignore dotfiles would be great.

require 'coffee-script'

If I add coffee-script to package.json, run npm install . and add it as a dependency in slug.json, I get this error:

pyoung@dev:/opt/crowdtwist$ hem server
>> Strata web server version 0.15.1 running on node 0.6.15
>> Listening on 0.0.0.0:1178, CTRL+C to stop

/home/pyoung/src/crowdtwist/trunk/node_modules/hem/lib/resolve.js:43
      throw "Cannot find module: " + request + ". Have you run `npm install .`
                                             ^
Cannot find module: fs. Have you run `npm install .` ?
pyoung@dev:/opt/crowdtwist$ hem build 20

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Cannot find module: fs. Have you run `npm install .` ?

What's the recommended way to add CoffeeScript?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.