Skip to content

Commit 8495023

Browse files
committed
introduce createRequire in es6 mode
1 parent be236bf commit 8495023

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

tools/file_packager.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -629,15 +629,16 @@ 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) => {'''
638639

639640
else:
640-
ret = '''
641+
ret += '''
641642
var Module = typeof %(EXPORT_NAME)s != 'undefined' ? %(EXPORT_NAME)s : {};\n''' % {"EXPORT_NAME": options.export_name}
642643

643644
ret += '''
@@ -663,6 +664,12 @@ def generate_js(data_target, data_files, metadata):
663664
if (!check) throw msg + new Error().stack;
664665
}\n'''
665666

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

0 commit comments

Comments
 (0)