@@ -629,15 +629,20 @@ def escape_for_makefile(fpath):
629
629
def generate_js (data_target , data_files , metadata ):
630
630
# emcc will add this to the output itself, so it is only needed for
631
631
# standalone calls
632
- ret = ''
633
- if not options .from_emcc :
632
+ if options .from_emcc :
633
+ ret = ''
634
+ else :
634
635
if options .export_es6 :
635
- if options .support_node :
636
- ret += 'import { createRequire } from \' module\' ;\n \n '
637
- ret += '''export default function loadDataFile(Module) {
638
- return new Promise((loadDataResolve, loadDataReject) => {'''
636
+ ret = 'export default async function loadDataFile(Module) {\n '
637
+ if options .support_node and options .export_es6 :
638
+ ret += '''if (isNode) {
639
+ const { createRequire } = await import('module');
640
+ /** @suppress{duplicate} */
641
+ var require = createRequire(import.meta.url);
642
+ }\n '''
643
+ ret += 'return new Promise((loadDataResolve, loadDataReject) => {\n '
639
644
else :
640
- ret + = '''
645
+ ret = '''
641
646
var Module = typeof %(EXPORT_NAME)s != 'undefined' ? %(EXPORT_NAME)s : {};\n ''' % {"EXPORT_NAME" : options .export_name }
642
647
643
648
ret += '''
@@ -663,11 +668,6 @@ def generate_js(data_target, data_files, metadata):
663
668
if (!check) throw msg + new Error().stack;
664
669
}\n '''
665
670
666
- if options .support_node and options .export_es6 :
667
- ret += '''if (isNode) {
668
- var require = createRequire(import.meta.url);
669
- }'''
670
-
671
671
# Set up folders
672
672
partial_dirs = []
673
673
for file_ in data_files :
0 commit comments