From af3ec4548eb65b695febb162672d7c50befa5359 Mon Sep 17 00:00:00 2001 From: Dmitry Vasilev Date: Tue, 17 Jan 2023 12:56:59 +0800 Subject: [PATCH] remote urls are always external --- src/parse_js.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/parse_js.js b/src/parse_js.js index 59d8b83..81cd5c9 100644 --- a/src/parse_js.js +++ b/src/parse_js.js @@ -1203,16 +1203,20 @@ const import_statement = string_literal ]) ]), - ({value: [external, imp]}) => { + ({value: [pragma_external, imp]}) => { const {value: [_import, identifiers, module], ...node} = imp + // remove quotes + const module_string = module.value.slice(1, module.value.length - 1) + // if url starts with protocol, then it is always external + const is_external_url = new RegExp('^\\w+://').test(module_string) return { ...node, not_evaluatable: true, type: 'import', - is_external: external != null, + is_external: is_external_url || pragma_external != null, // TODO refactor hanlding of string literals. Drop quotes from value and // fix codegen for string_literal - module: module.value.slice(1, module.value.length - 1), + module: module_string, children: identifiers == null ? [] : identifiers.value[0].value, } }