broccolijs / broccoli-funnel

MIT License
66 stars 37 forks source link

[confirmed] windows bug #53

Closed stefanpenner closed 8 years ago

stefanpenner commented 8 years ago

https://github.com/yahoo/ember-intl/issues/251#issuecomment-153420363

I'll see if i can round up a windows machine/vm here..

stefanpenner commented 8 years ago

basically, consumers often use path.join for one reason or another, but this results in different paths provided and breaks the tree construction and potentially other things.

The solution, is for broccoli-funnel to "normalize" user input to something it internally prefers to deal with posix. This will make funnel usage more portable.

I suspect the following will be sufficient.

var path = require('path');
function normalize(filePath) {
  if (path.sep !== '/') {
    return filePath.split(path.sep).join('/')
  }
  return filePath;
}

I'm about to head out for dinner, but will address this either when i return or in the AM.

stefanpenner commented 8 years ago

I believe https://github.com/joliss/node-walk-sync/pull/18 address this, but will confirm on my windows machine tonight.

Kilowhisky commented 8 years ago

I'm still having the issue with ember 1.13.12.

stefanpenner commented 8 years ago

I'm still having the issue with ember 1.13.12.

Can you provide a reproduction (or describe whats going on?) unfortunately without more info its hard to resolve.

Kilowhisky commented 8 years ago

I'm still getting the error message as described here:

https://github.com/jasonmit/ember-cli-moment-shim/issues/19

Unfortunately i've reverted back to 1.13.8 so i don't have my package.json anymore. If you would like i can try and upgrade again and get all my current packages and versions.

I have these global versions though. npm: 3.3.12 node: v5.0.0 ember-cli: 1.13.12 os: win32 x64.

Don't know if this matters but when i do npm --v i get 3.3.12 but when i do ember --version it comes up with npm version of 2.14.10.

stefanpenner commented 8 years ago

@Kilowhisky can you share

npm ls broccoli-funnel broccoli-merge-trees broccoli-caching-writer ember-cli-moment
Kilowhisky commented 8 years ago

myapp@0.0.1 C:\Projects\GIT\myapp ├─┬ ember-cli@1.13.12 │ ├─┬ broccoli-config-loader@1.0.0 │ │ └── broccoli-caching-writer@2.2.0 │ ├── broccoli-funnel@1.0.0 │ ├── broccoli-merge-trees@1.0.0 │ └─┬ broccoli-sourcemap-concat@2.0.2 │ └── broccoli-caching-writer@2.2.0 ├─┬ ember-cli-babel@5.1.6 │ ├─┬ broccoli-babel-transpiler@5.5.0 │ │ └── broccoli-merge-trees@1.0.0 │ └── broccoli-funnel@1.0.0 ├─┬ ember-cli-blanket@0.6.2 │ ├── broccoli-funnel@0.2.15 │ └── broccoli-merge-trees@0.2.4 └─┬ ember-cli-less@1.5.2 └─┬ broccoli-less-single@0.6.0 └── broccoli-caching-writer@2.2.0

I'm using my own custom moment instead of ember-cli-moment. I still make use of the ember-cli-moment-shim though.

myapp@0.0.1 C:\Projects\GIT\myapp └── ember-cli-moment-shim@0.6.2

stefanpenner commented 8 years ago

@Kilowhisky strange ember-cli-moment-shim has a dependency on broccoli-funnel I am surprised it doesn't show up during npm ls broccoli-funnel https://github.com/jasonmit/ember-cli-moment-shim/blob/master/package.json#L24

Anyways, yes something seems fishy.

vlascik commented 8 years ago

Same problem here, as described in https://github.com/quaertym/ember-cli-compass-compiler/issues/65

stefanpenner commented 8 years ago

i believe this is sorted out

watzon commented 8 years ago

I am still getting this issue. Seems to be a problem with the way path.normalize and path.join work on windows. Right now I have several of each and I get the error

Error: ENOENT: no such file or directory, mkdir 'C:\Users\FA-0042\Documents\Projects\salesforce\JohnsonControls\buildresources\tmp\funnel-output_path-MC8q0Jpj.tmp\out\pages'
  at Error (native)
  at Object.fs.mkdirSync (fs.js:842:18)
  at Funnel.applyPatch [as _applyPatch] (C:\Users\FA-0042\Documents\Projects\salesforce\JohnsonControls\buildresources\node_modules\broccoli-funnel\index.js:291:10)
  at Funnel.<anonymous> (C:\Users\FA-0042\Documents\Projects\salesforce\JohnsonControls\buildresources\node_modules\broccoli-funnel\index.js:250:10)
  at Array.forEach (native)
  at Funnel.processFilters (C:\Users\FA-0042\Documents\Projects\salesforce\JohnsonControls\buildresources\node_modules\broccoli-funnel\index.js:249:9)
  at Funnel.build (C:\Users\FA-0042\Documents\Projects\salesforce\JohnsonControls\buildresources\node_modules\broccoli-funnel\index.js:172:10)
  at C:\Users\FA-0042\Documents\Projects\salesforce\JohnsonControls\buildresources\node_modules\broccoli-plugin\read_compat.js:61:34
  at lib$rsvp$$internal$$tryCatch (C:\Users\FA-0042\Documents\Projects\salesforce\JohnsonControls\buildresources\node_modules\rsvp\dist\rsvp.js:1036:16)
  at lib$rsvp$$internal$$invokeCallback (C:\Users\FA-0042\Documents\Projects\salesforce\JohnsonControls\buildresources\node_modules\rsvp\dist\rsvp.js:1048:17)
  at lib$rsvp$$internal$$publish (C:\Users\FA-0042\Documents\Projects\salesforce\JohnsonControls\buildresources\node_modules\rsvp\dist\rsvp.js:1019:11)
  at lib$rsvp$asap$$flush (C:\Users\FA-0042\Documents\Projects\salesforce\JohnsonControls\buildresources\node_modules\rsvp\dist\rsvp.js:1198:9)
  at _combinedTickCallback (node.js:376:9)
  at process._tickCallback (node.js:407:11)
  at Function.Module.runMain (module.js:449:11)
  at startup (node.js:142:18)
  at node.js:939:3

but if I remove the path.normalize and path.join statements it builds just fine

watzon commented 8 years ago

Changing my path statements to path.posix.normalize and path.posix.join worked for me

stefanpenner commented 8 years ago

@iDev0urer reproduction please and we can reopen, otherwise it isn't really actionable.

velykov commented 8 years ago

I have this bug in windows, is it still open?