esperanto-source 0.6.31 → 0.6.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/esperanto/source/version.rb +1 -1
- data/vendor/esperanto.browser.js +83 -77
- data/vendor/esperanto.js +228 -170
- metadata +1 -1
data/vendor/esperanto.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
esperanto.js v0.6.
|
|
2
|
+
esperanto.js v0.6.32 - 2015-05-07
|
|
3
3
|
http://esperantojs.org
|
|
4
4
|
|
|
5
5
|
Released under the MIT License.
|
|
@@ -9,11 +9,9 @@
|
|
|
9
9
|
|
|
10
10
|
var acorn = require('acorn');
|
|
11
11
|
var MagicString = require('magic-string');
|
|
12
|
-
var
|
|
12
|
+
var _path = require('path');
|
|
13
13
|
var sander = require('sander');
|
|
14
14
|
|
|
15
|
-
var hasOwnProp = Object.prototype.hasOwnProperty;
|
|
16
|
-
|
|
17
15
|
function hasNamedImports ( mod ) {
|
|
18
16
|
var i = mod.imports.length;
|
|
19
17
|
|
|
@@ -38,29 +36,29 @@ function walk ( ast, leave) {var enter = leave.enter, leave = leave.leave;
|
|
|
38
36
|
visit( ast, null, enter, leave );
|
|
39
37
|
}
|
|
40
38
|
|
|
41
|
-
var
|
|
42
|
-
skip: function() {return
|
|
39
|
+
var ast_walk__context = {
|
|
40
|
+
skip: function() {return ast_walk__context.shouldSkip = true}
|
|
43
41
|
};
|
|
44
42
|
|
|
45
|
-
var
|
|
43
|
+
var ast_walk__childKeys = {};
|
|
46
44
|
|
|
47
|
-
var
|
|
45
|
+
var ast_walk__toString = Object.prototype.toString;
|
|
48
46
|
|
|
49
47
|
function isArray ( thing ) {
|
|
50
|
-
return
|
|
48
|
+
return ast_walk__toString.call( thing ) === '[object Array]';
|
|
51
49
|
}
|
|
52
50
|
|
|
53
51
|
function visit ( node, parent, enter, leave ) {
|
|
54
52
|
if ( !node ) return;
|
|
55
53
|
|
|
56
54
|
if ( enter ) {
|
|
57
|
-
|
|
58
|
-
enter.call(
|
|
59
|
-
if (
|
|
55
|
+
ast_walk__context.shouldSkip = false;
|
|
56
|
+
enter.call( ast_walk__context, node, parent );
|
|
57
|
+
if ( ast_walk__context.shouldSkip ) return;
|
|
60
58
|
}
|
|
61
59
|
|
|
62
|
-
var keys =
|
|
63
|
-
|
|
60
|
+
var keys = ast_walk__childKeys[ node.type ] || (
|
|
61
|
+
ast_walk__childKeys[ node.type ] = Object.keys( node ).filter( function(key ) {return typeof node[ key ] === 'object'} )
|
|
64
62
|
);
|
|
65
63
|
|
|
66
64
|
var key, value, i, j;
|
|
@@ -349,7 +347,7 @@ function findImportsAndExports ( mod, source, ast ) {
|
|
|
349
347
|
*/
|
|
350
348
|
function processImport ( node, passthrough ) {
|
|
351
349
|
var x = {
|
|
352
|
-
|
|
350
|
+
module: null, // used by bundler - filled in later
|
|
353
351
|
node: node,
|
|
354
352
|
start: node.start,
|
|
355
353
|
end: node.end,
|
|
@@ -499,6 +497,9 @@ function processExport ( node, source ) {
|
|
|
499
497
|
return result;
|
|
500
498
|
}
|
|
501
499
|
|
|
500
|
+
var hasOwnProp = Object.prototype.hasOwnProperty;
|
|
501
|
+
var utils_hasOwnProp = hasOwnProp;
|
|
502
|
+
|
|
502
503
|
function getUnscopedNames ( mod ) {
|
|
503
504
|
var unscoped = [], importedNames, scope;
|
|
504
505
|
|
|
@@ -511,7 +512,7 @@ function getUnscopedNames ( mod ) {
|
|
|
511
512
|
});
|
|
512
513
|
});
|
|
513
514
|
}
|
|
514
|
-
return
|
|
515
|
+
return utils_hasOwnProp.call( importedNames, name );
|
|
515
516
|
}
|
|
516
517
|
|
|
517
518
|
walk( mod.ast, {
|
|
@@ -563,7 +564,7 @@ function disallowConflictingImports ( imports ) {
|
|
|
563
564
|
}
|
|
564
565
|
|
|
565
566
|
function checkName ( name ) {
|
|
566
|
-
if (
|
|
567
|
+
if ( utils_hasOwnProp.call( usedNames, name ) ) {
|
|
567
568
|
throw new SyntaxError( (("Duplicated import ('" + name) + "')") );
|
|
568
569
|
}
|
|
569
570
|
|
|
@@ -659,7 +660,7 @@ function determineImportNames ( imports, userFn, usedNames ) {
|
|
|
659
660
|
moduleId = x.path;
|
|
660
661
|
|
|
661
662
|
// use existing value
|
|
662
|
-
if (
|
|
663
|
+
if ( utils_hasOwnProp.call( nameById, moduleId ) ) {
|
|
663
664
|
x.name = nameById[ moduleId ];
|
|
664
665
|
return;
|
|
665
666
|
}
|
|
@@ -668,7 +669,7 @@ function determineImportNames ( imports, userFn, usedNames ) {
|
|
|
668
669
|
if ( userFn && ( name = userFn( moduleId ) ) ) {
|
|
669
670
|
name = sanitize( name );
|
|
670
671
|
|
|
671
|
-
if (
|
|
672
|
+
if ( utils_hasOwnProp.call( usedNames, name ) ) {
|
|
672
673
|
// TODO write a test for this
|
|
673
674
|
throw new Error( (("Naming collision: module " + moduleId) + (" cannot be called " + name) + "") );
|
|
674
675
|
}
|
|
@@ -685,7 +686,7 @@ function determineImportNames ( imports, userFn, usedNames ) {
|
|
|
685
686
|
while ( i-- > 0 ) {
|
|
686
687
|
candidate = prefix + sanitize( parts.slice( i ).join( '__' ) );
|
|
687
688
|
|
|
688
|
-
if ( !
|
|
689
|
+
if ( !utils_hasOwnProp.call( usedNames, candidate ) ) {
|
|
689
690
|
name = candidate;
|
|
690
691
|
break;
|
|
691
692
|
}
|
|
@@ -704,13 +705,13 @@ function determineImportNames ( imports, userFn, usedNames ) {
|
|
|
704
705
|
// use inferred names for default imports, wherever they
|
|
705
706
|
// don't clash with path-based names
|
|
706
707
|
imports.forEach( function(x ) {
|
|
707
|
-
if ( x.as && !
|
|
708
|
+
if ( x.as && !utils_hasOwnProp.call( usedNames, x.as ) ) {
|
|
708
709
|
inferredNames[ x.path ] = x.as;
|
|
709
710
|
}
|
|
710
711
|
});
|
|
711
712
|
|
|
712
713
|
imports.forEach( function(x ) {
|
|
713
|
-
if (
|
|
714
|
+
if ( utils_hasOwnProp.call( inferredNames, x.path ) ) {
|
|
714
715
|
x.name = inferredNames[ x.path ];
|
|
715
716
|
}
|
|
716
717
|
});
|
|
@@ -751,7 +752,7 @@ function resolveAgainst ( importerPath ) {
|
|
|
751
752
|
};
|
|
752
753
|
}
|
|
753
754
|
|
|
754
|
-
function sortModules ( entry
|
|
755
|
+
function sortModules ( entry ) {
|
|
755
756
|
var seen = {};
|
|
756
757
|
var ordered = [];
|
|
757
758
|
var swapPairs = [];
|
|
@@ -760,12 +761,12 @@ function sortModules ( entry, moduleLookup ) {
|
|
|
760
761
|
seen[ mod.id ] = true;
|
|
761
762
|
|
|
762
763
|
mod.imports.forEach( function(x ) {
|
|
763
|
-
var imported =
|
|
764
|
+
var imported = x.module;
|
|
764
765
|
|
|
765
|
-
if (
|
|
766
|
+
if ( imported.isExternal || imported.isSkipped ) return;
|
|
766
767
|
|
|
767
768
|
// ignore modules we've already included
|
|
768
|
-
if (
|
|
769
|
+
if ( utils_hasOwnProp.call( seen, imported.id ) ) {
|
|
769
770
|
if ( shouldSwap( imported, mod ) ) {
|
|
770
771
|
swapPairs.push([ imported, mod ]);
|
|
771
772
|
}
|
|
@@ -794,15 +795,15 @@ function sortModules ( entry, moduleLookup ) {
|
|
|
794
795
|
|
|
795
796
|
function shouldSwap ( a, b ) {
|
|
796
797
|
// if these modules don't import each other, abort
|
|
797
|
-
if ( !(
|
|
798
|
+
if ( !( utils_sortModules__imports( a, b ) && utils_sortModules__imports( b, a ) ) ) return;
|
|
798
799
|
|
|
799
800
|
return usesAtTopLevel( b, a ) && !usesAtTopLevel( a, b );
|
|
800
801
|
}
|
|
801
802
|
|
|
802
|
-
function
|
|
803
|
+
function utils_sortModules__imports ( a, b ) {
|
|
803
804
|
var i = a.imports.length;
|
|
804
805
|
while ( i-- ) {
|
|
805
|
-
if ( a.imports[i].
|
|
806
|
+
if ( a.imports[i].module === b ) {
|
|
806
807
|
return true;
|
|
807
808
|
}
|
|
808
809
|
}
|
|
@@ -814,7 +815,7 @@ function usesAtTopLevel ( a, b ) {
|
|
|
814
815
|
// find out which bindings a imports from b
|
|
815
816
|
var i = a.imports.length;
|
|
816
817
|
while ( i-- ) {
|
|
817
|
-
if ( a.imports[i].
|
|
818
|
+
if ( a.imports[i].module === b ) {
|
|
818
819
|
bindings.push.apply( bindings, a.imports[i].specifiers.map( function(x ) {return x.as} ) );
|
|
819
820
|
}
|
|
820
821
|
}
|
|
@@ -849,18 +850,16 @@ function resolveChains ( modules, moduleLookup ) {
|
|
|
849
850
|
var origin = {};
|
|
850
851
|
|
|
851
852
|
mod.imports.forEach( function(x ) {
|
|
853
|
+
var imported = x.module;
|
|
854
|
+
|
|
852
855
|
x.specifiers.forEach( function(s ) {
|
|
853
856
|
if ( s.isBatch ) {
|
|
854
|
-
//
|
|
855
|
-
|
|
856
|
-
if ( hasOwnProp.call( moduleLookup, x.id ) ) {
|
|
857
|
-
moduleLookup[ x.id ]._exportsNamespace = true;
|
|
858
|
-
}
|
|
859
|
-
|
|
857
|
+
// tell that module that it needs to export an object full of getters
|
|
858
|
+
imported._exportsNamespace = true;
|
|
860
859
|
return; // TODO can batch imports be chained?
|
|
861
860
|
}
|
|
862
861
|
|
|
863
|
-
origin[ s.as ] = (("" + (
|
|
862
|
+
origin[ s.as ] = (("" + (s.name)) + ("@" + (imported.id)) + "");
|
|
864
863
|
});
|
|
865
864
|
});
|
|
866
865
|
|
|
@@ -868,14 +867,49 @@ function resolveChains ( modules, moduleLookup ) {
|
|
|
868
867
|
if ( !x.specifiers ) return;
|
|
869
868
|
|
|
870
869
|
x.specifiers.forEach( function(s ) {
|
|
871
|
-
if (
|
|
872
|
-
chains[ (("" + (
|
|
870
|
+
if ( utils_hasOwnProp.call( origin, s.name ) ) {
|
|
871
|
+
chains[ (("" + (s.name)) + ("@" + (mod.id)) + "") ] = origin[ s.name ];
|
|
873
872
|
}
|
|
874
873
|
});
|
|
875
874
|
});
|
|
876
875
|
});
|
|
877
876
|
|
|
878
|
-
|
|
877
|
+
// Second pass - assigning origins to specifiers
|
|
878
|
+
modules.forEach( function(mod ) {
|
|
879
|
+
mod.imports.forEach( function(x ) {
|
|
880
|
+
var imported = x.module;
|
|
881
|
+
|
|
882
|
+
x.specifiers.forEach( function(s ) {
|
|
883
|
+
if ( s.isBatch ) {
|
|
884
|
+
return; // TODO can batch imports be chained?
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
setOrigin( s, (("" + (s.name)) + ("@" + (imported.id)) + ""), chains, moduleLookup );
|
|
888
|
+
});
|
|
889
|
+
});
|
|
890
|
+
|
|
891
|
+
mod.exports.forEach( function(x ) {
|
|
892
|
+
if ( !x.specifiers ) return;
|
|
893
|
+
|
|
894
|
+
x.specifiers.forEach( function(s ) {
|
|
895
|
+
setOrigin( s, (("" + (s.name)) + ("@" + (mod.id)) + ""), chains, moduleLookup );
|
|
896
|
+
});
|
|
897
|
+
});
|
|
898
|
+
});
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
function setOrigin ( specifier, hash, chains, moduleLookup ) {
|
|
902
|
+
var isChained;
|
|
903
|
+
|
|
904
|
+
while ( utils_hasOwnProp.call( chains, hash ) ) {
|
|
905
|
+
hash = chains[ hash ];
|
|
906
|
+
isChained = true;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
if ( isChained ) {
|
|
910
|
+
var name = (moduleId = hash.split( '@' ))[0], moduleId = moduleId[1];
|
|
911
|
+
specifier.origin = { module: moduleLookup[ moduleId ], name: name };
|
|
912
|
+
}
|
|
879
913
|
}
|
|
880
914
|
|
|
881
915
|
// from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects
|
|
@@ -906,8 +940,8 @@ function getUniqueNames ( bundle ) {
|
|
|
906
940
|
// infer names from default imports - e.g. with `import _ from './utils'`,
|
|
907
941
|
// use '_' instead of generating a name from 'utils'
|
|
908
942
|
function inferName ( x ) {
|
|
909
|
-
if ( x.isDefault && !
|
|
910
|
-
names[ x.id ] = x.as;
|
|
943
|
+
if ( x.isDefault && !utils_hasOwnProp.call( names, x.module.id ) && !utils_hasOwnProp.call( used, x.as ) ) {
|
|
944
|
+
names[ x.module.id ] = x.as;
|
|
911
945
|
used[ x.as ] = true;
|
|
912
946
|
}
|
|
913
947
|
}
|
|
@@ -919,7 +953,7 @@ function getUniqueNames ( bundle ) {
|
|
|
919
953
|
// introducing conflicts
|
|
920
954
|
modules.concat( externalModules ).forEach( function(mod ) {
|
|
921
955
|
// is this already named?
|
|
922
|
-
if (
|
|
956
|
+
if ( utils_hasOwnProp.call( names, mod.id ) ) {
|
|
923
957
|
mod.name = names[ mod.id ];
|
|
924
958
|
return;
|
|
925
959
|
}
|
|
@@ -931,12 +965,12 @@ function getUniqueNames ( bundle ) {
|
|
|
931
965
|
while ( i-- ) {
|
|
932
966
|
name = sanitize( parts.slice( i ).join( '_' ) );
|
|
933
967
|
|
|
934
|
-
if ( !
|
|
968
|
+
if ( !utils_hasOwnProp.call( used, name ) ) {
|
|
935
969
|
break;
|
|
936
970
|
}
|
|
937
971
|
}
|
|
938
972
|
|
|
939
|
-
while (
|
|
973
|
+
while ( utils_hasOwnProp.call( used, name ) ) {
|
|
940
974
|
name = '_' + name;
|
|
941
975
|
}
|
|
942
976
|
|
|
@@ -950,9 +984,9 @@ function getUniqueNames ( bundle ) {
|
|
|
950
984
|
function populateExternalModuleImports ( bundle ) {
|
|
951
985
|
bundle.modules.forEach( function(mod ) {
|
|
952
986
|
mod.imports.forEach( function(x ) {
|
|
953
|
-
var externalModule =
|
|
987
|
+
var externalModule = x.module;
|
|
954
988
|
|
|
955
|
-
if ( !externalModule ) {
|
|
989
|
+
if ( !externalModule.isExternal ) {
|
|
956
990
|
return;
|
|
957
991
|
}
|
|
958
992
|
|
|
@@ -1007,7 +1041,7 @@ function topLevelScopeConflicts ( bundle ) {
|
|
|
1007
1041
|
|
|
1008
1042
|
// merge this module's top scope with bundle top scope
|
|
1009
1043
|
names.forEach( function(name ) {
|
|
1010
|
-
if (
|
|
1044
|
+
if ( utils_hasOwnProp.call( inBundle, name ) ) {
|
|
1011
1045
|
conflicts[ name ] = true;
|
|
1012
1046
|
} else {
|
|
1013
1047
|
inBundle[ name ] = true;
|
|
@@ -1031,11 +1065,11 @@ function populateIdentifierReplacements ( bundle ) {
|
|
|
1031
1065
|
var result;
|
|
1032
1066
|
|
|
1033
1067
|
if ( x.hasDeclaration && x.name ) {
|
|
1034
|
-
result =
|
|
1068
|
+
result = utils_hasOwnProp.call( conflicts, x.name ) || otherModulesDeclare( mod, x.name ) ?
|
|
1035
1069
|
(("" + (mod.name)) + ("__" + (x.name)) + "") :
|
|
1036
1070
|
x.name;
|
|
1037
1071
|
} else {
|
|
1038
|
-
result =
|
|
1072
|
+
result = utils_hasOwnProp.call( conflicts, mod.name ) || ( x.value !== mod.name && ~mod.ast._topLevelNames.indexOf( mod.name )) || otherModulesDeclare( mod, mod.name ) ?
|
|
1039
1073
|
(("" + (mod.name)) + "__default") :
|
|
1040
1074
|
mod.name;
|
|
1041
1075
|
}
|
|
@@ -1050,63 +1084,55 @@ function populateIdentifierReplacements ( bundle ) {
|
|
|
1050
1084
|
var moduleIdentifiers = mod.identifierReplacements;
|
|
1051
1085
|
|
|
1052
1086
|
mod.ast._topLevelNames.forEach( function(n ) {
|
|
1053
|
-
moduleIdentifiers[n] =
|
|
1087
|
+
moduleIdentifiers[n] = utils_hasOwnProp.call( conflicts, n ) ?
|
|
1054
1088
|
(("" + (mod.name)) + ("__" + n) + "") :
|
|
1055
1089
|
n;
|
|
1056
1090
|
});
|
|
1057
1091
|
|
|
1058
1092
|
mod.imports.forEach( function(x ) {
|
|
1059
|
-
var externalModule;
|
|
1060
|
-
|
|
1061
1093
|
if ( x.passthrough ) {
|
|
1062
1094
|
return;
|
|
1063
1095
|
}
|
|
1064
1096
|
|
|
1065
|
-
|
|
1097
|
+
var imported = x.module;
|
|
1066
1098
|
|
|
1067
1099
|
x.specifiers.forEach( function(s ) {
|
|
1068
|
-
var
|
|
1069
|
-
|
|
1070
|
-
moduleId = x.id;
|
|
1100
|
+
var replacement;
|
|
1071
1101
|
|
|
1072
1102
|
if ( s.isBatch ) {
|
|
1073
|
-
replacement =
|
|
1103
|
+
replacement = x.module.name;
|
|
1074
1104
|
}
|
|
1075
1105
|
|
|
1076
1106
|
else {
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
// If this is a chained import, get the origin
|
|
1080
|
-
hash = (("" + moduleId) + ("@" + specifierName) + "");
|
|
1081
|
-
while ( hasOwnProp.call( bundle.chains, hash ) ) {
|
|
1082
|
-
hash = bundle.chains[ hash ];
|
|
1083
|
-
isChained = true;
|
|
1084
|
-
}
|
|
1107
|
+
var mod;
|
|
1108
|
+
var specifierName;
|
|
1085
1109
|
|
|
1086
|
-
if (
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
specifierName =
|
|
1110
|
+
if ( s.origin ) {
|
|
1111
|
+
// chained bindings
|
|
1112
|
+
mod = s.origin.module;
|
|
1113
|
+
specifierName = s.origin.name;
|
|
1114
|
+
} else {
|
|
1115
|
+
mod = imported;
|
|
1116
|
+
specifierName = s.name;
|
|
1090
1117
|
}
|
|
1091
1118
|
|
|
1092
|
-
|
|
1093
|
-
moduleName = mod && mod.name;
|
|
1119
|
+
var moduleName = mod && mod.name;
|
|
1094
1120
|
|
|
1095
1121
|
if ( specifierName === 'default' ) {
|
|
1096
1122
|
// if it's an external module, always use __default if the
|
|
1097
1123
|
// bundle also uses named imports
|
|
1098
|
-
if (
|
|
1099
|
-
replacement =
|
|
1124
|
+
if ( imported.isExternal ) {
|
|
1125
|
+
replacement = imported.needsNamed ? (("" + moduleName) + "__default") : moduleName;
|
|
1100
1126
|
}
|
|
1101
1127
|
|
|
1102
1128
|
// TODO We currently need to check for the existence of `mod`, because modules
|
|
1103
1129
|
// can be skipped. Would be better to replace skipped modules with dummies
|
|
1104
1130
|
// - see https://github.com/Rich-Harris/esperanto/issues/32
|
|
1105
|
-
else if ( mod ) {
|
|
1131
|
+
else if ( mod && !mod.isSkipped ) {
|
|
1106
1132
|
replacement = mod.identifierReplacements.default;
|
|
1107
1133
|
}
|
|
1108
|
-
} else if ( !
|
|
1109
|
-
replacement =
|
|
1134
|
+
} else if ( !imported.isExternal ) {
|
|
1135
|
+
replacement = utils_hasOwnProp.call( conflicts, specifierName ) ?
|
|
1110
1136
|
(("" + moduleName) + ("__" + specifierName) + "") :
|
|
1111
1137
|
specifierName;
|
|
1112
1138
|
} else {
|
|
@@ -1132,7 +1158,7 @@ function populateIdentifierReplacements ( bundle ) {
|
|
|
1132
1158
|
continue;
|
|
1133
1159
|
}
|
|
1134
1160
|
|
|
1135
|
-
if (
|
|
1161
|
+
if ( utils_hasOwnProp.call( otherMod.ast._declared, replacement ) ) {
|
|
1136
1162
|
return true;
|
|
1137
1163
|
}
|
|
1138
1164
|
}
|
|
@@ -1145,29 +1171,32 @@ function resolveExports ( bundle ) {
|
|
|
1145
1171
|
bundle.entryModule.exports.forEach( function(x ) {
|
|
1146
1172
|
if ( x.specifiers ) {
|
|
1147
1173
|
x.specifiers.forEach( function(s ) {
|
|
1148
|
-
var
|
|
1174
|
+
var module;
|
|
1175
|
+
var name;
|
|
1149
1176
|
|
|
1150
|
-
|
|
1151
|
-
|
|
1177
|
+
if ( s.origin ) {
|
|
1178
|
+
module = s.origin.module;
|
|
1179
|
+
name = s.origin.name;
|
|
1180
|
+
} else {
|
|
1181
|
+
module = bundle.entryModule;
|
|
1182
|
+
name = s.name;
|
|
1152
1183
|
}
|
|
1153
1184
|
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
addExport( moduleId, name, s.name );
|
|
1185
|
+
addExport( module, name, s.name );
|
|
1157
1186
|
});
|
|
1158
1187
|
}
|
|
1159
1188
|
|
|
1160
1189
|
else if ( !x.isDefault && x.name ) {
|
|
1161
|
-
addExport( bundle.
|
|
1190
|
+
addExport( bundle.entryModule, x.name, x.name );
|
|
1162
1191
|
}
|
|
1163
1192
|
});
|
|
1164
1193
|
|
|
1165
|
-
function addExport (
|
|
1166
|
-
if ( !bundleExports[
|
|
1167
|
-
bundleExports[
|
|
1194
|
+
function addExport ( module, name, as ) {
|
|
1195
|
+
if ( !bundleExports[ module.id ] ) {
|
|
1196
|
+
bundleExports[ module.id ] = {};
|
|
1168
1197
|
}
|
|
1169
1198
|
|
|
1170
|
-
bundleExports[
|
|
1199
|
+
bundleExports[ module.id ][ name ] = as;
|
|
1171
1200
|
}
|
|
1172
1201
|
|
|
1173
1202
|
return bundleExports;
|
|
@@ -1224,14 +1253,14 @@ function disallowIllegalReassignment ( node, importedBindings, importedNamespace
|
|
|
1224
1253
|
|
|
1225
1254
|
var name = assignee.name;
|
|
1226
1255
|
|
|
1227
|
-
if (
|
|
1256
|
+
if ( utils_hasOwnProp.call( isNamespaceAssignment ? importedNamespaces : importedBindings, name ) && !scope.contains( name ) ) {
|
|
1228
1257
|
throw new Error( ( isNamespaceAssignment ? namespaceMessage : bindingMessage ) + '`' + name + '`' );
|
|
1229
1258
|
}
|
|
1230
1259
|
}
|
|
1231
1260
|
|
|
1232
1261
|
function replaceIdentifiers ( body, node, identifierReplacements, scope ) {
|
|
1233
1262
|
var name = node.name;
|
|
1234
|
-
var replacement =
|
|
1263
|
+
var replacement = utils_hasOwnProp.call( identifierReplacements, name ) && identifierReplacements[ name ];
|
|
1235
1264
|
|
|
1236
1265
|
// TODO unchanged identifiers shouldn't have got this far -
|
|
1237
1266
|
// remove the `replacement !== name` safeguard once that's the case
|
|
@@ -1262,7 +1291,7 @@ function rewriteExportAssignments ( body, node, parent, exports, scope, captured
|
|
|
1262
1291
|
return; // shadows an export
|
|
1263
1292
|
}
|
|
1264
1293
|
|
|
1265
|
-
if ( exports &&
|
|
1294
|
+
if ( exports && utils_hasOwnProp.call( exports, name ) ) {
|
|
1266
1295
|
var exportAs = exports[ name ];
|
|
1267
1296
|
|
|
1268
1297
|
if ( !!capturedUpdates ) {
|
|
@@ -1359,11 +1388,11 @@ function exportCapturedUpdate ( c ) {
|
|
|
1359
1388
|
return ((" exports." + (c.exportAs)) + (" = " + (c.name)) + ";");
|
|
1360
1389
|
}
|
|
1361
1390
|
|
|
1362
|
-
function
|
|
1391
|
+
function combine_transformBody__transformBody ( bundle, mod, body ) {
|
|
1363
1392
|
var identifierReplacements = mod.identifierReplacements;
|
|
1364
1393
|
var importedBindings = (importedNamespaces = getReadOnlyIdentifiers( mod.imports ))[0], importedNamespaces = importedNamespaces[1];
|
|
1365
1394
|
|
|
1366
|
-
var exportNames =
|
|
1395
|
+
var exportNames = utils_hasOwnProp.call( bundle.exports, mod.id ) && bundle.exports[ mod.id ];
|
|
1367
1396
|
|
|
1368
1397
|
traverseAst( mod.ast, body, identifierReplacements, importedBindings, importedNamespaces, exportNames );
|
|
1369
1398
|
|
|
@@ -1401,7 +1430,7 @@ function transformBody__transformBody ( bundle, mod, body ) {
|
|
|
1401
1430
|
if ( name === identifierReplacements.default ) {
|
|
1402
1431
|
body.remove( x.start, x.end );
|
|
1403
1432
|
} else {
|
|
1404
|
-
var original =
|
|
1433
|
+
var original = utils_hasOwnProp.call( identifierReplacements, name ) ? identifierReplacements[ name ] : name;
|
|
1405
1434
|
body.replace( x.start, x.end, (("var " + (identifierReplacements.default)) + (" = " + original) + ";") );
|
|
1406
1435
|
}
|
|
1407
1436
|
}
|
|
@@ -1493,22 +1522,22 @@ function combine ( bundle ) {
|
|
|
1493
1522
|
bundle.modules.forEach( function(mod ) {
|
|
1494
1523
|
// verify that this module doesn't import non-exported identifiers
|
|
1495
1524
|
mod.imports.forEach( function(x ) {
|
|
1496
|
-
var
|
|
1525
|
+
var imported = x.module;
|
|
1497
1526
|
|
|
1498
|
-
if (
|
|
1527
|
+
if ( imported.isExternal || imported.isSkipped || x.isBatch ) {
|
|
1499
1528
|
return;
|
|
1500
1529
|
}
|
|
1501
1530
|
|
|
1502
1531
|
x.specifiers.forEach( function(s ) {
|
|
1503
|
-
if ( !
|
|
1504
|
-
throw new Error( (("Module '" + (
|
|
1532
|
+
if ( !imported.doesExport[ s.name ] ) {
|
|
1533
|
+
throw new Error( (("Module '" + (imported.id)) + ("' does not export '" + (s.name)) + ("' (imported by '" + (mod.id)) + "')") );
|
|
1505
1534
|
}
|
|
1506
1535
|
});
|
|
1507
1536
|
});
|
|
1508
1537
|
|
|
1509
1538
|
bundle.body.addSource({
|
|
1510
|
-
filename:
|
|
1511
|
-
content:
|
|
1539
|
+
filename: mod.path,
|
|
1540
|
+
content: combine_transformBody__transformBody( bundle, mod, mod.body ),
|
|
1512
1541
|
indentExclusionRanges: mod.ast._templateLiteralRanges
|
|
1513
1542
|
});
|
|
1514
1543
|
});
|
|
@@ -1581,7 +1610,7 @@ function getModule ( mod ) {
|
|
|
1581
1610
|
return mod;
|
|
1582
1611
|
}
|
|
1583
1612
|
|
|
1584
|
-
var
|
|
1613
|
+
var bundler_getBundle__Promise = sander.Promise;
|
|
1585
1614
|
|
|
1586
1615
|
function getBundle ( options ) {
|
|
1587
1616
|
var entry = options.entry.replace( /\.js$/, '' );
|
|
@@ -1591,7 +1620,7 @@ function getBundle ( options ) {
|
|
|
1591
1620
|
var promiseByPath = {};
|
|
1592
1621
|
var skip = options.skip;
|
|
1593
1622
|
var names = options.names;
|
|
1594
|
-
var base = ( options.base ?
|
|
1623
|
+
var base = ( options.base ? _path.resolve( options.base ) : process.cwd() ) + '/';
|
|
1595
1624
|
var externalModules = [];
|
|
1596
1625
|
var externalModuleLookup = {};
|
|
1597
1626
|
|
|
@@ -1599,27 +1628,31 @@ function getBundle ( options ) {
|
|
|
1599
1628
|
entry = entry.substring( base.length );
|
|
1600
1629
|
}
|
|
1601
1630
|
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
var bundle = {
|
|
1608
|
-
entry: entry,
|
|
1609
|
-
entryModule: entryModule,
|
|
1610
|
-
base: base,
|
|
1611
|
-
modules: modules,
|
|
1612
|
-
moduleLookup: moduleLookup,
|
|
1613
|
-
externalModules: externalModules,
|
|
1614
|
-
externalModuleLookup: externalModuleLookup,
|
|
1615
|
-
skip: skip,
|
|
1616
|
-
names: names,
|
|
1617
|
-
chains: resolveChains( modules, moduleLookup )
|
|
1618
|
-
};
|
|
1631
|
+
// resolve user module paths
|
|
1632
|
+
options.modules && Object.keys( options.modules ).forEach( function(relativePath ) {
|
|
1633
|
+
userModules[ _path.resolve( base, relativePath ) ] = options.modules[ relativePath ];
|
|
1634
|
+
});
|
|
1619
1635
|
|
|
1620
|
-
|
|
1636
|
+
var cyclicalModules = [];
|
|
1637
|
+
|
|
1638
|
+
return resolvePath( base, userModules, entry, null ).then( function(absolutePath ) {
|
|
1639
|
+
return fetchModule( entry, absolutePath ).then( function(entryModule ) {
|
|
1640
|
+
return bundler_getBundle__Promise.all( cyclicalModules ).then( function() {
|
|
1641
|
+
modules = sortModules( entryModule );
|
|
1642
|
+
|
|
1643
|
+
var bundle = {
|
|
1644
|
+
entryModule: entryModule,
|
|
1645
|
+
modules: modules,
|
|
1646
|
+
externalModules: externalModules,
|
|
1647
|
+
names: names
|
|
1648
|
+
};
|
|
1649
|
+
|
|
1650
|
+
resolveChains( modules, moduleLookup );
|
|
1651
|
+
combine( bundle );
|
|
1652
|
+
|
|
1653
|
+
return bundle;
|
|
1654
|
+
});
|
|
1621
1655
|
|
|
1622
|
-
return bundle;
|
|
1623
1656
|
});
|
|
1624
1657
|
}, function ( err ) {
|
|
1625
1658
|
if ( err.code === 'ENOENT' ) {
|
|
@@ -1629,13 +1662,11 @@ function getBundle ( options ) {
|
|
|
1629
1662
|
throw err;
|
|
1630
1663
|
});
|
|
1631
1664
|
|
|
1632
|
-
function fetchModule ( moduleId,
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
hasOwnProp.call( userModules, relativePath ) ?
|
|
1638
|
-
getBundle__Promise.resolve( userModules[ relativePath ] ) :
|
|
1665
|
+
function fetchModule ( moduleId, absolutePath ) {
|
|
1666
|
+
if ( !utils_hasOwnProp.call( promiseByPath, absolutePath ) ) {
|
|
1667
|
+
promiseByPath[ absolutePath ] = (
|
|
1668
|
+
utils_hasOwnProp.call( userModules, absolutePath ) ?
|
|
1669
|
+
bundler_getBundle__Promise.resolve( userModules[ absolutePath ] ) :
|
|
1639
1670
|
sander.readFile( absolutePath ).then( String )
|
|
1640
1671
|
).then( function ( source ) {
|
|
1641
1672
|
var code, ast;
|
|
@@ -1662,41 +1693,62 @@ function getBundle ( options ) {
|
|
|
1662
1693
|
path: absolutePath,
|
|
1663
1694
|
code: code,
|
|
1664
1695
|
ast: ast,
|
|
1665
|
-
|
|
1696
|
+
|
|
1697
|
+
// TODO should not need this
|
|
1698
|
+
relativePath: _path.relative( base, absolutePath )
|
|
1666
1699
|
});
|
|
1667
1700
|
|
|
1668
1701
|
modules.push( module );
|
|
1669
1702
|
moduleLookup[ moduleId ] = module;
|
|
1670
1703
|
|
|
1671
1704
|
var promises = module.imports.map( function(x ) {
|
|
1672
|
-
|
|
1705
|
+
// TODO remove this, use x.module instead. more flexible, no lookups involved
|
|
1706
|
+
var id = resolveId( x.path, module.relativePath );
|
|
1673
1707
|
|
|
1674
|
-
if (
|
|
1708
|
+
if ( id === moduleId ) {
|
|
1675
1709
|
throw new Error( 'A module (' + moduleId + ') cannot import itself' );
|
|
1676
1710
|
}
|
|
1677
1711
|
|
|
1678
1712
|
// Some modules can be skipped
|
|
1679
|
-
if ( skip && ~skip.indexOf(
|
|
1680
|
-
|
|
1713
|
+
if ( skip && ~skip.indexOf( id ) ) {
|
|
1714
|
+
var skippedModule = {
|
|
1715
|
+
id: id,
|
|
1716
|
+
isSkipped: true
|
|
1717
|
+
};
|
|
1718
|
+
|
|
1719
|
+
x.module = skippedModule;
|
|
1720
|
+
return skippedModule;
|
|
1681
1721
|
}
|
|
1682
1722
|
|
|
1683
|
-
return resolvePath( base, userModules,
|
|
1684
|
-
|
|
1685
|
-
|
|
1723
|
+
return resolvePath( base, userModules, id, absolutePath, options.resolvePath ).then( function(absolutePath ) {
|
|
1724
|
+
var promise = utils_hasOwnProp.call( promiseByPath, absolutePath ) && promiseByPath[ absolutePath ];
|
|
1725
|
+
var cyclical = !!promise;
|
|
1726
|
+
|
|
1727
|
+
if ( cyclical ) {
|
|
1728
|
+
// ensure all modules are set before we
|
|
1729
|
+
// create the bundle...
|
|
1730
|
+
cyclicalModules.push(
|
|
1731
|
+
promise.then( function(module ) {return x.module = module} )
|
|
1732
|
+
);
|
|
1733
|
+
|
|
1734
|
+
// ...then short-circuit
|
|
1686
1735
|
return;
|
|
1687
1736
|
}
|
|
1688
1737
|
|
|
1689
|
-
return fetchModule(
|
|
1738
|
+
return fetchModule( id, absolutePath ).then( function(module ) {return x.module = module} );
|
|
1690
1739
|
}, function handleError ( err ) {
|
|
1691
1740
|
if ( err.code === 'ENOENT' ) {
|
|
1692
1741
|
// Most likely an external module
|
|
1693
|
-
if ( !
|
|
1742
|
+
if ( !utils_hasOwnProp.call( externalModuleLookup, id ) ) {
|
|
1694
1743
|
var externalModule = {
|
|
1695
|
-
id:
|
|
1744
|
+
id: id,
|
|
1745
|
+
isExternal: true
|
|
1696
1746
|
};
|
|
1697
1747
|
|
|
1748
|
+
x.module = externalModule;
|
|
1749
|
+
|
|
1698
1750
|
externalModules.push( externalModule );
|
|
1699
|
-
externalModuleLookup[
|
|
1751
|
+
externalModuleLookup[ id ] = externalModule;
|
|
1700
1752
|
}
|
|
1701
1753
|
} else {
|
|
1702
1754
|
throw err;
|
|
@@ -1704,11 +1756,12 @@ function getBundle ( options ) {
|
|
|
1704
1756
|
} );
|
|
1705
1757
|
});
|
|
1706
1758
|
|
|
1707
|
-
return
|
|
1759
|
+
return bundler_getBundle__Promise.all( promises )
|
|
1760
|
+
.then( function() {return module} );
|
|
1708
1761
|
});
|
|
1709
1762
|
}
|
|
1710
1763
|
|
|
1711
|
-
return promiseByPath[
|
|
1764
|
+
return promiseByPath[ absolutePath ];
|
|
1712
1765
|
}
|
|
1713
1766
|
}
|
|
1714
1767
|
|
|
@@ -1716,9 +1769,9 @@ function resolvePath ( base, userModules, moduleId, importerPath, resolver ) {
|
|
|
1716
1769
|
var noExt = moduleId.replace( /\.js$/, '' );
|
|
1717
1770
|
|
|
1718
1771
|
return tryPath( base, noExt + '.js', userModules )
|
|
1719
|
-
.catch( function() {return tryPath( base, noExt +
|
|
1772
|
+
.catch( function() {return tryPath( base, noExt + _path.sep + 'index.js', userModules )} )
|
|
1720
1773
|
.catch( function ( err ) {
|
|
1721
|
-
var resolvedPromise = resolver &&
|
|
1774
|
+
var resolvedPromise = resolver && bundler_getBundle__Promise.resolve( resolver( moduleId, importerPath ) );
|
|
1722
1775
|
|
|
1723
1776
|
if ( resolvedPromise ) {
|
|
1724
1777
|
return resolvedPromise.then( function(resolvedPath ) {
|
|
@@ -1729,7 +1782,7 @@ function resolvePath ( base, userModules, moduleId, importerPath, resolver ) {
|
|
|
1729
1782
|
throw err;
|
|
1730
1783
|
}
|
|
1731
1784
|
|
|
1732
|
-
return sander.stat( resolvedPath ).then( function() {return resolvedPath} );
|
|
1785
|
+
return sander.stat( resolvedPath ).then( function() {return _path.resolve( base, resolvedPath )} );
|
|
1733
1786
|
});
|
|
1734
1787
|
} else {
|
|
1735
1788
|
throw err;
|
|
@@ -1738,10 +1791,12 @@ function resolvePath ( base, userModules, moduleId, importerPath, resolver ) {
|
|
|
1738
1791
|
}
|
|
1739
1792
|
|
|
1740
1793
|
function tryPath ( base, filename, userModules ) {
|
|
1741
|
-
|
|
1742
|
-
|
|
1794
|
+
var absolutePath = _path.resolve( base, filename );
|
|
1795
|
+
|
|
1796
|
+
if ( utils_hasOwnProp.call( userModules, absolutePath ) ) {
|
|
1797
|
+
return bundler_getBundle__Promise.resolve( absolutePath );
|
|
1743
1798
|
}
|
|
1744
|
-
return sander.stat(
|
|
1799
|
+
return sander.stat( absolutePath ).then( function() {return absolutePath} );
|
|
1745
1800
|
}
|
|
1746
1801
|
|
|
1747
1802
|
function isThenable ( obj ) {
|
|
@@ -1796,7 +1851,7 @@ function transformExportDeclaration ( declaration, body ) {
|
|
|
1796
1851
|
|
|
1797
1852
|
var ABSOLUTE_PATH = /^(?:[A-Z]:)?[\/\\]/i;
|
|
1798
1853
|
|
|
1799
|
-
var
|
|
1854
|
+
var utils_packageResult__warned = {};
|
|
1800
1855
|
|
|
1801
1856
|
function packageResult ( bundleOrModule, body, options, methodName, isBundle ) {
|
|
1802
1857
|
// wrap output
|
|
@@ -1848,9 +1903,9 @@ function packageResult ( bundleOrModule, body, options, methodName, isBundle ) {
|
|
|
1848
1903
|
code: code,
|
|
1849
1904
|
map: map,
|
|
1850
1905
|
toString: function () {
|
|
1851
|
-
if ( !
|
|
1906
|
+
if ( !utils_packageResult__warned[ methodName ] ) {
|
|
1852
1907
|
console.log( (("Warning: esperanto." + methodName) + "() returns an object with a 'code' property. You should use this instead of using the returned value directly") );
|
|
1853
|
-
|
|
1908
|
+
utils_packageResult__warned[ methodName ] = true;
|
|
1854
1909
|
}
|
|
1855
1910
|
|
|
1856
1911
|
return code;
|
|
@@ -1966,7 +2021,7 @@ function amdIntro (useStrict) {var name = useStrict.name, imports = useStrict.im
|
|
|
1966
2021
|
return intro;
|
|
1967
2022
|
}
|
|
1968
2023
|
|
|
1969
|
-
function
|
|
2024
|
+
function defaultsMode_amd__amd ( mod, options ) {
|
|
1970
2025
|
mod.imports.forEach( function(x ) {
|
|
1971
2026
|
mod.body.remove( x.start, x.next );
|
|
1972
2027
|
});
|
|
@@ -1990,11 +2045,11 @@ function amd__amd ( mod, options ) {
|
|
|
1990
2045
|
return packageResult( mod, mod.body, options, 'toAmd' );
|
|
1991
2046
|
}
|
|
1992
2047
|
|
|
1993
|
-
function
|
|
2048
|
+
function defaultsMode_cjs__cjs ( mod, options ) {
|
|
1994
2049
|
var seen = {};
|
|
1995
2050
|
|
|
1996
2051
|
mod.imports.forEach( function(x ) {
|
|
1997
|
-
if ( !
|
|
2052
|
+
if ( !utils_hasOwnProp.call( seen, x.path ) ) {
|
|
1998
2053
|
var replacement = x.isEmpty ? (("" + (req(x.path))) + ";") : (("var " + (x.as)) + (" = " + (req(x.path))) + ";");
|
|
1999
2054
|
mod.body.replace( x.start, x.end, replacement );
|
|
2000
2055
|
|
|
@@ -2104,15 +2159,17 @@ EsperantoError.prototype = new Error();
|
|
|
2104
2159
|
EsperantoError.prototype.constructor = EsperantoError;
|
|
2105
2160
|
EsperantoError.prototype.name = 'EsperantoError';
|
|
2106
2161
|
|
|
2162
|
+
var utils_EsperantoError = EsperantoError;
|
|
2163
|
+
|
|
2107
2164
|
function requireName ( options ) {
|
|
2108
2165
|
if ( !options.name ) {
|
|
2109
|
-
throw new
|
|
2166
|
+
throw new utils_EsperantoError( 'You must supply a `name` option for UMD modules', {
|
|
2110
2167
|
code: 'MISSING_NAME'
|
|
2111
2168
|
});
|
|
2112
2169
|
}
|
|
2113
2170
|
}
|
|
2114
2171
|
|
|
2115
|
-
function
|
|
2172
|
+
function defaultsMode_umd__umd ( mod, options ) {
|
|
2116
2173
|
requireName( options );
|
|
2117
2174
|
|
|
2118
2175
|
mod.imports.forEach( function(x ) {
|
|
@@ -2137,9 +2194,9 @@ function umd__umd ( mod, options ) {
|
|
|
2137
2194
|
}
|
|
2138
2195
|
|
|
2139
2196
|
var defaultsMode = {
|
|
2140
|
-
amd:
|
|
2141
|
-
cjs:
|
|
2142
|
-
umd:
|
|
2197
|
+
amd: defaultsMode_amd__amd,
|
|
2198
|
+
cjs: defaultsMode_cjs__cjs,
|
|
2199
|
+
umd: defaultsMode_umd__umd
|
|
2143
2200
|
};
|
|
2144
2201
|
|
|
2145
2202
|
function gatherImports ( imports ) {
|
|
@@ -2276,7 +2333,7 @@ function utils_transformBody__transformBody ( mod, body, options ) {
|
|
|
2276
2333
|
}
|
|
2277
2334
|
|
|
2278
2335
|
function deconflict ( name, declared ) {
|
|
2279
|
-
while (
|
|
2336
|
+
while ( utils_hasOwnProp.call( declared, name ) ) {
|
|
2280
2337
|
name = '_' + name;
|
|
2281
2338
|
}
|
|
2282
2339
|
|
|
@@ -2307,7 +2364,7 @@ function strictMode_cjs__cjs ( mod, options ) {
|
|
|
2307
2364
|
|
|
2308
2365
|
// Create block of require statements
|
|
2309
2366
|
var importBlock = mod.imports.map( function(x ) {
|
|
2310
|
-
if ( !
|
|
2367
|
+
if ( !utils_hasOwnProp.call( seen, x.path ) ) {
|
|
2311
2368
|
seen[ x.path ] = true;
|
|
2312
2369
|
|
|
2313
2370
|
if ( x.isEmpty ) {
|
|
@@ -2365,7 +2422,7 @@ var moduleBuilders = {
|
|
|
2365
2422
|
strictMode: strictMode
|
|
2366
2423
|
};
|
|
2367
2424
|
|
|
2368
|
-
function
|
|
2425
|
+
function builders_defaultsMode_amd__amd ( bundle, options ) {
|
|
2369
2426
|
var defaultName = bundle.entryModule.identifierReplacements.default;
|
|
2370
2427
|
if ( defaultName ) {
|
|
2371
2428
|
bundle.body.append( (("\n\nreturn " + defaultName) + ";") );
|
|
@@ -2382,7 +2439,7 @@ function defaultsMode_amd__amd ( bundle, options ) {
|
|
|
2382
2439
|
return packageResult( bundle, bundle.body, options, 'toAmd', true );
|
|
2383
2440
|
}
|
|
2384
2441
|
|
|
2385
|
-
function
|
|
2442
|
+
function builders_defaultsMode_cjs__cjs ( bundle, options ) {
|
|
2386
2443
|
var importBlock = bundle.externalModules.map( function(x ) {
|
|
2387
2444
|
return (("var " + (x.name)) + (" = " + (req(x.id))) + ";");
|
|
2388
2445
|
}).join( '\n' );
|
|
@@ -2403,7 +2460,7 @@ function defaultsMode_cjs__cjs ( bundle, options ) {
|
|
|
2403
2460
|
return packageResult( bundle, bundle.body, options, 'toCjs', true );
|
|
2404
2461
|
}
|
|
2405
2462
|
|
|
2406
|
-
function
|
|
2463
|
+
function builders_defaultsMode_umd__umd ( bundle, options ) {
|
|
2407
2464
|
requireName( options );
|
|
2408
2465
|
|
|
2409
2466
|
var entry = bundle.entryModule;
|
|
@@ -2427,9 +2484,9 @@ function defaultsMode_umd__umd ( bundle, options ) {
|
|
|
2427
2484
|
}
|
|
2428
2485
|
|
|
2429
2486
|
var builders_defaultsMode = {
|
|
2430
|
-
amd:
|
|
2431
|
-
cjs:
|
|
2432
|
-
umd:
|
|
2487
|
+
amd: builders_defaultsMode_amd__amd,
|
|
2488
|
+
cjs: builders_defaultsMode_cjs__cjs,
|
|
2489
|
+
umd: builders_defaultsMode_umd__umd
|
|
2433
2490
|
};
|
|
2434
2491
|
|
|
2435
2492
|
function getExportBlock ( entry ) {
|
|
@@ -2641,7 +2698,7 @@ var esperanto = {
|
|
|
2641
2698
|
|
|
2642
2699
|
bundle.modules.forEach( function(mod ) {
|
|
2643
2700
|
mod.imports.forEach( function(x ) {
|
|
2644
|
-
if (
|
|
2701
|
+
if ( x.module.isExternal && ( !x.isDefault && !x.isBatch ) ) {
|
|
2645
2702
|
throw new Error( 'You can only have named external imports in strict mode (pass `strict: true`)' );
|
|
2646
2703
|
}
|
|
2647
2704
|
});
|
|
@@ -2678,4 +2735,5 @@ function flattenExports ( exports ) {
|
|
|
2678
2735
|
return flattened;
|
|
2679
2736
|
}
|
|
2680
2737
|
|
|
2681
|
-
module.exports = esperanto;
|
|
2738
|
+
module.exports = esperanto;
|
|
2739
|
+
//# sourceMappingURL=/Users/tricknotes/src/github.com/esperantojs/esperanto/test/.gobble-build/01-esperantoBundle/1/esperanto.js.map
|