Skip to content

Commit 6f10cbb

Browse files
committed
alternative way to import require
1 parent 9b3ccca commit 6f10cbb

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

tools/file_packager.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -629,15 +629,13 @@ 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-
ret = ''
633-
if not options.from_emcc:
632+
if options.from_emcc:
633+
ret = ''
634+
else:
634635
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'
639637
else:
640-
ret += '''
638+
ret = '''
641639
var Module = typeof %(EXPORT_NAME)s != 'undefined' ? %(EXPORT_NAME)s : {};\n''' % {"EXPORT_NAME": options.export_name}
642640

643641
ret += '''
@@ -656,18 +654,23 @@ def generate_js(data_target, data_files, metadata):
656654

657655
if options.support_node:
658656
ret += " var isNode = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string';\n"
657+
658+
if options.support_node and options.export_es6:
659+
ret += '''if (isNode) {
660+
const { createRequire } = await import('module');
661+
/** @suppress{duplicate} */
662+
var require = createRequire(import.meta.url);
663+
}\n'''
664+
665+
if options.export_es6:
666+
ret += 'return new Promise((loadDataResolve, loadDataReject) => {\n'
659667
ret += ' function loadPackage(metadata) {\n'
660668

661669
code = '''
662670
function assert(check, msg) {
663671
if (!check) throw msg + new Error().stack;
664672
}\n'''
665673

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

0 commit comments

Comments
 (0)