Plugins: Fix applying default extension and AMD detection (#74471)

* fix(plugins): support edge cases where default extension was not added

* fix(plugins): only apply AMD wrapper to AMD format plugins

* refactor(plugins): update regex for codeql warnings

* refactor(plugins): remove check for commented out dependency strings in AMD regex

* test(plugins): add tests for systemjs hook amd detection
This commit is contained in:
Jack Westbrook
2023-09-07 14:30:35 +02:00
committed by GitHub
parent 272398f26c
commit 0d1845f857
4 changed files with 251 additions and 32 deletions

View File

@@ -1,5 +1,5 @@
export const SHARED_DEPENDENCY_PREFIX = 'package';
export const LOAD_PLUGIN_CSS_REGEX = /^plugins.+\.css$/i;
export const JS_CONTENT_TYPE_REGEX = /^(text|application)\/(x-)?javascript(;|$)/;
export const ENDS_WITH_FILE_EXTENSION_REGEX = /\/?\.[a-zA-Z]{2,}$/;
export const IS_SYSTEM_MODULE_REGEX = /System\.register\(/;
export const AMD_MODULE_REGEX =
/(?:^\uFEFF?|[^$_a-zA-Z\xA0-\uFFFF.])define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?\s*(\[(\s*(("[^"]+"|'[^']+')\s*,|\/\/.*\r?\n))*(\s*("[^"]+"|'[^']+')\s*,?)?(\s*(\/\/.*\r?\n|\/\*\/))*\s*\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;