Lock the watch at 0.8.0, since 0.9.0 is not working for recursive watchi... #116

Merged
merged 1 commit into from Mar 13, 2014

Projects

None yet

3 participants

@bmustiata
Contributor

The recursive watch is not functioning correctly with the newest watch version (currently 0.9.0).

This fix locks the version to 0.8.0 in order to guarantee its functioning.

@bmustiata
Contributor

Maybe a bit more of a bug description would be nice, so here it is :)

When running shifter with:
shifter --walk --watch --recursive

The build finds all the modules, and advertises it will watch and build them, but doesn't rebuild them when the files change. After bisecting the versions, it seems that the issue is actually caused by an upstream version change in the watch npm library. Thus the proposed fix is simply to lock the version of watch to a functional version (0.8.0), instead of always relying on the latest version.

@caridy
Member
caridy commented Mar 3, 2014

I'm ok with locking down the version, but I will like to get to the bottom of this. As far as I can tell, there are only two important changes in watch, non of them are non-bc:

mikeal/watch@b29d337
mikeal/watch@e31e727
mikeal/watch@c388eb0

I also wonder if this is affecting yogi as well.

@bmustiata
Contributor

Be my guest :-).

The problem is that right now, fresh shifter from npm doesn't work at all
for watching. Tested on both Windows and Linux node 0.10 and 0.8 (i think).

Pretty blockerishfor development if you ask me.

Have fun Caridy,
Bogdan

I'm ok with locking down the version, but I will like to get to the bottom
of this. As far as I can tell, there are only two important changes in watch,
non of them are non-bc:

mikeal/watch@b29d337mikeal/watch@b29d337
mikeal/watch@e31e727mikeal/watch@e31e727
mikeal/watch@c388eb0mikeal/watch@c388eb0

I also wonder if this is affecting yogi as well.

Reply to this email directly or view it on
GitHubhttps://github.com/yui/shifter/pull/116#issuecomment-36536567
.

@caridy
Member
caridy commented Mar 4, 2014

Ok, I wonder what's going on here. I tried to reproduce this, and I was unable to do so. Here is what I did:

  1. fresh clone of yui3 (master)
  2. npm install (where I can see the right dependencies: ── shifter@0.4.3 (progress@0.1.0, watch@0.9.0, cssproc@0.0.7, walkdir@0.0.7, gear@0.8.16, yuicompressor@2.4.7, yuitest-coverage@0.0.6, yuglify@0.1.4, gear-lib@0.8.12)
    )
  3. shifter --walk --watch --recursive

at this point, changing any file (e.g.: src/autocomplete/js/autocomplete-base.js) works just fine in OSX.

Can you provide more details on how to reproduce this?

@bmustiata
Contributor

Hi Caridy, thank you for your tests.

As mentioned before I tested it only under Linux and Windows.

When I change the project, either via just touching it, either via actual
editing, still nothing happens with watch 0.9.0, it always hangs.

I will look at the end of the week on "why" that happens, right now I just
traced and it's definitely the watch library. What I don't understand
though, is why are there still libraries that are not locked on a specific
version. Depending always on the "latest" sounds to me like asking for this
kind of trouble :).

raptor@raptor-work:/projects/test_shifter_project$ npm install -g shifter
npm http GET https://registry.npmjs.org/shifter
npm http 200 https://registry.npmjs.org/shifter
npm http GET https://registry.npmjs.org/gear
npm http GET https://registry.npmjs.org/gear-lib
npm http GET https://registry.npmjs.org/yuitest-coverage
npm http GET https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/yui-lint
npm http GET https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/cpr
npm http GET https://registry.npmjs.org/watch
npm http GET https://registry.npmjs.org/yuicompressor/2.4.7
npm http GET https://registry.npmjs.org/mkdirp
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/istanbul/0.1.37
npm http GET https://registry.npmjs.org/yuglify
npm http GET https://registry.npmjs.org/timethat
npm http GET https://registry.npmjs.org/cssproc
npm http GET https://registry.npmjs.org/progress
npm http GET https://registry.npmjs.org/walkdir
npm http GET https://registry.npmjs.org/ansi-color
npm http 304 https://registry.npmjs.org/gear-lib
npm http 304 https://registry.npmjs.org/jshint
npm http 304 https://registry.npmjs.org/nopt
npm http 304 https://registry.npmjs.org/yuitest-coverage
npm http 304 https://registry.npmjs.org/gear
npm http 304 https://registry.npmjs.org/yui-lint
npm http 304 https://registry.npmjs.org/cpr
npm http 304 https://registry.npmjs.org/watch
npm http 304 https://registry.npmjs.org/which
npm http 304 https://registry.npmjs.org/yuicompressor/2.4.7
npm http 304 https://registry.npmjs.org/rimraf
npm http 200 https://registry.npmjs.org/yuglify
npm http 304 https://registry.npmjs.org/mkdirp
npm http 304 https://registry.npmjs.org/istanbul/0.1.37
npm http 304 https://registry.npmjs.org/walkdir
npm http 304 https://registry.npmjs.org/timethat
npm http 304 https://registry.npmjs.org/cssproc
npm http 304 https://registry.npmjs.org/progress
npm http 304 https://registry.npmjs.org/ansi-color
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/ycssmin
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/abbrev
npm http 304 https://registry.npmjs.org/ycssmin
npm http 304 https://registry.npmjs.org/uglify-js
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/cli/0.4.3
npm http 304 https://registry.npmjs.org/minimatch
npm http 304 https://registry.npmjs.org/cli/0.4.3
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/lru-cache
npm http 304 https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/escodegen
npm http GET https://registry.npmjs.org/handlebars
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/fileset
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/resolve
npm http 304 https://registry.npmjs.org/esprima
npm http 304 https://registry.npmjs.org/escodegen
npm http 304 https://registry.npmjs.org/wordwrap
npm http 304 https://registry.npmjs.org/handlebars
npm http 304 https://registry.npmjs.org/fileset
npm http GET https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/estraverse
npm http 304 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/optimist
npm http 304 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/jslint
npm http GET https://registry.npmjs.org/csslint
npm http GET https://registry.npmjs.org/less
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/knox
npm http 304 https://registry.npmjs.org/csslint
npm http 304 https://registry.npmjs.org/mime
npm http 200 https://registry.npmjs.org/jslint
npm http 304 https://registry.npmjs.org/knox
npm http 304 https://registry.npmjs.org/less
npm http GET https://registry.npmjs.org/xml2js
npm http GET https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/stream-counter
npm http GET https://registry.npmjs.org/shelljs
npm http GET https://github.com/ariya/esprima/tarball/master
npm http 304 https://registry.npmjs.org/xml2js
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/stream-counter
npm http GET https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/peakle
npm http 304 https://registry.npmjs.org/shelljs
npm http 304 https://registry.npmjs.org/cli
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/peakle
npm http GET https://registry.npmjs.org/readable-stream
npm http GET https://registry.npmjs.org/sax
npm http GET https://registry.npmjs.org/uglify-js
npm http 304 https://registry.npmjs.org/readable-stream
npm http 304 https://registry.npmjs.org/sax
npm http 304 https://registry.npmjs.org/uglify-js
npm http 200 https://github.com/ariya/esprima/tarball/master
npm http GET https://registry.npmjs.org/string_decoder
npm http GET https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/ycssmin
npm http 304 https://registry.npmjs.org/string_decoder
npm http 304 https://registry.npmjs.org/nopt
npm http 304 https://registry.npmjs.org/ycssmin
npm http GET https://registry.npmjs.org/abbrev
npm http 304 https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/lru-cache
/home/raptor/programs/node-v0.10.26-linux-x64/bin/shifter ->
/home/raptor/programs/node-v0.10.26-linux-x64/lib/node_modules/shifter/bin/shifter
shifter@0.4.3/home/raptor/programs/node-v0.10.26-linux-x64/lib/node_modules/shifter
├── ansi-color@0.2.1
├── which@1.0.5
├── progress@0.1.0
├── timethat@0.0.2
├── rimraf@2.2.6
├── watch@0.9.0
├── cssproc@0.0.7
├── mkdirp@0.3.5
├── walkdir@0.0.7
├── nopt@2.2.0 (abbrev@1.0.4)
├── cpr@0.0.6 (rimraf@2.0.3, graceful-fs@1.1.14)
├── yuicompressor@2.4.7
├── gear@0.8.16 (async@0.2.10)
├── yuglify@0.1.4 (nopt@2.1.2, uglify-js@1.3.5, ycssmin@1.0.1)
├── jshint@0.9.1 (minimatch@0.0.5, cli@0.4.3)
├── yuitest-coverage@0.0.6
├── istanbul@0.1.37 (abbrev@1.0.4, nopt@2.1.2, wordwrap@0.0.2, async@0.2.10,
resolve@0.4.3, fileset@0.1.5, escodegen@0.0.28, esprima@1.0.4,
handlebars@1.0.12)
├── gear-lib@0.8.12 (mime@1.2.11, async@0.2.10, csslint@0.9.10, glob@3.2.9,
uglify-js@1.3.5, knox@0.8.9, handlebars@1.1.2, less@1.3.3, jslint@0.2.11)
└── yui-lint@0.1.4 (jshint@1.1.0)
raptor@raptor-work:
/projects/test_shifter_project$ shifter --walk
--recursive --watch
shifter [info] racing to find the closest .shifter.json file
shifter [info] no build.json file found, racing to see if we can find one
shifter [info] racing complete, found 2 modules to watch! you may code now,
i'll build them when they change
shifter [info] watching for shifts in assets, css, js, meta
shifter [info] waiting for a gear to shift...

^Craptor@raptor-work:/projects/test_shifter_project$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"
raptor@raptor-work:
/projects/test_shifter_project$ node --version
v0.10.26
raptor@raptor-work:~/projects/test_shifter_project$ which node
/home/raptor/programs/node-v0.10.26-linux-x64/bin/node

On Tue, Mar 4, 2014 at 4:57 PM, Caridy Patino notifications@github.comwrote:

Ok, I wonder what's going on here. I tried to reproduce this, and I was
unable to do so. Here is what I did:

  1. fresh clone of yui3 (master)
  2. npm install (where I can see the right dependencies: ──
    shifter@0.4.3 (progress@0.1.0, watch@0.9.0, cssproc@0.0.7,
    walkdir@0.0.7, gear@0.8.16, yuicompressor@2.4.7, yuitest-coverage@0.0.6,
    yuglify@0.1.4, gear-lib@0.8.12) )
  3. shifter --walk --watch --recursive

at this point, changing any file (e.g.:
src/autocomplete/js/autocomplete-base.js) works just fine in OSX.

Can you provide more details on how to reproduce this?


Reply to this email directly or view it on GitHubhttps://github.com/yui/shifter/pull/116#issuecomment-36639354
.

@marcodussin

I've got the same problem as you: watch is not watching, also if i downgrade version...

@marcodussin

Hi bmustiata

using your branch https://github.com/bmustiata/shifter/tree/bugfix-watch it works for me too.
My configuration is a mac, so the problem seems exist also for that os.

Marco

@caridy
Member
caridy commented Mar 13, 2014

Ok, I will pin this down, and we can investigate more later.

@caridy caridy added a commit that referenced this pull request Mar 13, 2014
@caridy caridy bumping version 0.4.6 for PR #116 4199a12
@caridy caridy merged commit 3c7d4e1 into yui:master Mar 13, 2014

1 check passed

default The Travis CI build passed
Details
@caridy
Member
caridy commented Mar 13, 2014
  • shifter@0.4.6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment