Code Monkey home page Code Monkey logo

Comments (6)

gfranko avatar gfranko commented on July 18, 2024

I'm glad AMDClean is coming in useful for you! In the 0.2.4 release, I came up for a solution to not remove certain define() and/or require() method calls using JavaScript comments.

If you don't want one or more define() and require() methods to be removed by amdclean, then you must put a comment with only the words amdclean on the same line or one line above the method in question. For example, amdclean would not remove the define() method below:

// amdclean
define('example', [], function() {});

Let me know if this works for you!

from amdclean.

gfranko avatar gfranko commented on July 18, 2024

After re-reading your question, I think I misunderstood you. Currently, AMDClean is more suited for creating JavaScript libraries that are only using one IIFE to wrap everything inside of a single scope. If you have an idea for a solution to your use-case, I would be more than happy to support it.

A better alternative, for your use case, may be to use almond.js.

@millermedeiros I would love your input on this issue

from amdclean.

Ptico avatar Ptico commented on July 18, 2024

Sorry, my english is not as good as i want. I use some libraries in my application which have been built with umd boilerplate (https://github.com/cujojs/when/ for example) that's the problem.

The simplest possible solution, as for me, is to provide option which declares global hash of dependencies:

var amd = Object.create(null);

(function (global) {
    'use strict';
    amd['a'] = function () {
            return 1;
        }();
}(this));
amd['b'] = function (one) {
        console.log(one);
    }(amd['a']);

it still has much smaller footprint than almond, but solves the problem. What do you think?

from amdclean.

gfranko avatar gfranko commented on July 18, 2024

Your english is great. The misunderstanding was my mistake.

I like the solution and will support this in the next release. I will also support an option that allows you to name the global variable to something other than amd if you choose.

from amdclean.

Ptico avatar Ptico commented on July 18, 2024

Thanks a lot! Can't wait to return amdclean back to my build stack.

from amdclean.

gfranko avatar gfranko commented on July 18, 2024

This is now supported in the v0.3.3 release. You can use the globalObject and globalObjectName options, like this:

amdclean.clean({
    // The source code you would like to be 'cleaned'
    code: 'define("example", [], function(one, two) {});',
  // Determines if all of your local modules are stored in a single global object (helps with scoping in certain cases)
  globalObject: false,
  // Determines the name of your global object that stores all of your global modules
  globalObjectName: 'amdclean'
})

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.