Giter Club home page Giter Club logo

Comments (3)

gfranko avatar gfranko commented on July 24, 2024

With the AMDclean 2.3.0 release, the config option is now supported (when you pass it to the amdclean.clean() method).

Unfortunately, the way moment.js is written, this AMDclean update does not release the global moment property. Please create a ticket for moment.js to support releasing the global moment property when a project is built into one file (it does not even work if you bundle everything into one file and include Require.js).

Thanks and let me know if you have any questions!

from amdclean.

jhchill666 avatar jhchill666 commented on July 24, 2024

Any update on this, from either side?

I'm having a heap of problems with RequireJS, AmdClean and Moment.

On some build boxes, everything works as expected, and on identical other boxes, get moment is undefined all over the place.

On the boxes that work, amdclean yeilds the following:

_moment_ = function (require, exports, module) {
      if (module.config && module.config() && module.config().noGlobal === true) {
        // release the global variable
        globalScope.moment = oldGlobalMoment;
      }
      return moment;
    }({}, {}, module.moment);

And on non-working builds:

moment = function (require, exports, module) {
      if (module.config && module.config() && module.config().noGlobal === true) {
        // release the global variable
        globalScope.moment = oldGlobalMoment;
      }
      return moment;
    }({}, {}, module.moment);

As you can see, the working version wraps the moment variable in underscores, _moment_.

Why does AmdClean does this on some boxes and not on others? Is there a way to ensure it is wrapped?

from amdclean.

joshdick avatar joshdick commented on July 24, 2024

I'm running into similar issues while trying to use the RequireJS Optimizer and AMDclean 2.7.0 to bundle moment.js 2.10.6 into a project.

My project is wrapped with a UMD wrapper which is very similar to the one that appears in moment.js. When moment.js is bundled into the built file, I end up seeing ReferenceError: moment is not defined when my built file is loaded as an AMD module. It appears that moment's UMD wrapper causes it to register as an anonymous AMD module when it appears inside another UMD wrapper, rather than exporting itself as a global.

It looks like this could be related to moment/moment#1574 or some of the other issues mentioned in it?

@gfranko or @ichernev, I'm curious if either of you have any suggestions or insights? Thanks!

from amdclean.

Related Issues (20)

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.