valor-software / ng2-dragula

Simple drag and drop with dragula
http://valor-software.com/ng2-dragula/
MIT License
1.91k stars 430 forks source link

Uncaught ReferenceError: global is not defined #849

Open Mathem8tic opened 6 years ago

Mathem8tic commented 6 years ago

Angular 6.0.0-rc.3 and Angular-CLI 6.0.0-rc.2. Error in browser console. Will try and figure out solution and report back...

julianobrasil commented 6 years ago

It happens with @angular 6.0.0-rc.3 and @angular/cli 6.0.0-rc.3 too.

julianobrasil commented 6 years ago

In fact it fails with any versions combination newer than @angular 6.0.0-rc.0 + @angular/cli 1.7.4

It's working with the following combinations: @angular 6.0.0-rc.0 + @angular/cli 1.7.4 @angular 6.0.0-rc.4 + @angular/cli 1.7.4

julianobrasil commented 6 years ago

This is probably the cause: https://github.com/angular/angular-cli/issues/9827#issuecomment-369578814

plantsmiles commented 6 years ago

Anyone have any luck on this?

jvanhall commented 6 years ago

Any update on this?

rrajewski commented 6 years ago

I was able to work around this for now by adding an entry for dragula to the paths in my tsconfig.json

"paths": {
      "dragula": ["../node_modules/dragula/dist/dragula.min.js"]
    }
julianobrasil commented 6 years ago

@rrajewski, I owe you a beer!

BTW, I put it on tsconfig.app.json (inside /src directory)

lukica88 commented 6 years ago

You can add (window as any).global = window; in polyfills.ts

geelus commented 6 years ago

You can add (window as any).global = window; in polyfills.ts worked for me. thanks

roopeshchinnakampalli commented 6 years ago

You can add (window as any).global = window; in polyfills.ts

Worked like charm. Thanks!

Gerros commented 6 years ago

The solution is just a workaround... Can this be solved properly? https://github.com/angular/angular-cli/issues/9827#issuecomment-369578814

amanymh commented 6 years ago
<script>
var global = global || window;
var Buffer = Buffer || [];
var process = process || {
  env: { DEBUG: undefined },
  version: []
};

i added this to index.html and that sove the problem

cormacrelf commented 6 years ago

@Gerros unfortunately the fix will be just to integrate the workaround. Usually one would just send issues upstream to dragula (code search on both repos reveals no use of global here), but that project has not been touched in a year and I don’t think the original owner still looks at it (calling @bevacqua?). It will have to be @lukica88’s solution but in one of our source files (any one will do) with a link to this issue in a comment. (I can’t push new versions but @valorkin can.)

valorkin commented 6 years ago

@cormacrelf I can give you push access and could help to set up publish from CI (like in ngx bootstrap) Drop me a note if you are interested in maintaining ng2-dragula :)

Plus I can ask @bevacqua to do the same with dragula :)

cormacrelf commented 6 years ago

I already have push access. I am supposedly a maintainer. CI publish would make things a lot easier.

(Side note: I have been a bit busy maintaining my own drag and drop library. It’s not like you can really have a conflict of interest at this scale, but all the free time I have left over for drag and drop libraries is going there. I also haven’t used this in live code in almost a year. If anyone else is making heavy use of ng2-dragula, please become a maintainer too.)

On 11 Jun 2018, at 23:28, Dmitriy Shekhovtsov notifications@github.com wrote:

@cormacrelf I can give you push access and could help to set up publish from CI (like in ngx bootstrap) Drop me a note if you are interested in maintaining ng2-dragula :)

Plus I can ask @bevacqua to do the same with dragula :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

cormacrelf commented 6 years ago

Also @valorkin, last publish was 1.5.0 from #636, but you don't appear to have pushed the commit changing the version number. Was there anything else you didn't push, or can just bump the version past 1.5.0 without losing anything? Ref #747 as well.

vikbi commented 6 years ago

adding this line in to pollyfills.ts fixed my problem if u r using angular 6

(window as any).global = window;

cormacrelf commented 6 years ago

Actually, this can't be fixed in ng2-dragula. Seriously.

It would appear dragula gets loaded first, and tries to use window.global. So any polyfilling from inside the lib is too late. To fix it, you'd need to summon @bevacqua from wherever he's gone (other projects, apparently), or maintain a fork. I'm not going to maintain a fork.

I'm leaving this issue open so people can find it, and adding a note to the docs in lieu of actually solving it.

cormacrelf commented 6 years ago

Ref https://github.com/bevacqua/dragula/pull/534

mhadji commented 6 years ago

adding this line in to pollyfills.ts fixed my problem if u r using angular 6

(window as any).global = window;

Mathem8tic commented 6 years ago

Thanks @mhadji, there are a couple quick fixes for this listed above similar to what you have suggested. I think this issue has morphed into a bigger conversation over time. I was able to get things working with something similar to your suggestion.

cormacrelf commented 6 years ago

I'm leaving this issue open so people can find it, and adding a note to the docs in lieu of actually solving it.

Guys. I’m leaving it open. Until the polyfill is no longer necessary.

Hypenate commented 6 years ago

Caution, I installed ng2-dragula and got this error, so I uninstalled but the error remained... Good I pushed my code so I could reset my branch.

alaanaeim125 commented 3 years ago

add this line in polyfills.ts

(window as any).global = window;

exf6514 commented 1 year ago

Any update on this? I am still getting this after upgrading to Angular 15 and I have the (window as any).global = window; line in polyfills.ts

pparce commented 1 year ago

add this line in AppComponent constructor solved the problem in angular 16 window['global'] = window;