Skip to content

Commit 9b3ccca

Browse files
committed
introduce createRequire in es6 mode
1 parent 2f77367 commit 9b3ccca

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

tools/file_packager.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -629,15 +629,15 @@ def escape_for_makefile(fpath):
629629
def generate_js(data_target, data_files, metadata):
630630
# emcc will add this to the output itself, so it is only needed for
631631
# standalone calls
632-
if options.from_emcc:
633-
ret = ''
634-
else:
632+
ret = ''
633+
if not options.from_emcc:
635634
if options.export_es6:
636-
ret = '''export default function loadDataFile(Module) {
635+
if options.support_node:
636+
ret += 'import { createRequire } from \'module\';\n\n'
637+
ret += '''export default function loadDataFile(Module) {
637638
return new Promise((loadDataResolve, loadDataReject) => {'''
638-
639639
else:
640-
ret = '''
640+
ret += '''
641641
var Module = typeof %(EXPORT_NAME)s != 'undefined' ? %(EXPORT_NAME)s : {};\n''' % {"EXPORT_NAME": options.export_name}
642642

643643
ret += '''
@@ -663,6 +663,11 @@ def generate_js(data_target, data_files, metadata):
663663
if (!check) throw msg + new Error().stack;
664664
}\n'''
665665

666+
if options.support_node and options.export_es6:
667+
ret += '''if (isNode) {
668+
var require = createRequire(import.meta.url);
669+
}'''
670+
666671
# Set up folders
667672
partial_dirs = []
668673
for file_ in data_files:

0 commit comments

Comments
 (0)