Comments (6)
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.
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.
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.
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.
Thanks a lot! Can't wait to return amdclean back to my build stack.
from amdclean.
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)
- Module config HOT 1
- source-map: sourcesContent lost HOT 1
- does amdclean support amd-feature loader plugin
- AMD checks transformations HOT 1
- Problems with "module" special dependency HOT 3
- require with named callback -- the callback is never called HOT 1
- bin/amdclean HOT 1
- AMD destroys multiline return statements HOT 3
- The variable conflict logic in v2.4.0 and onwards HOT 2
- var a = require('a') => var a = a;
- Bad output
- Deal with conditional loader HOT 1
- A comment in return statement leads to incorrect javascript
- function of the calling module goes before the called module: Cannot read property of undefined HOT 1
- Failed to require relative path
- UMD generated by rollup not recognized HOT 1
- define(modulename, dependencies...
- Bug: aggressiveOptimizations may shadow globals
- Comma-separated calls to define don't get translated HOT 1
- npmjs release update
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from amdclean.