Class: Darkroom::JavaScriptDelegate
- Defined in:
- lib/darkroom/delegates/javascript_delegate.rb
Overview
Delegate for handling JavaScript-specific asset processing.
Constant Summary collapse
- IDENTIFIER_REGEX =
/[_$a-zA-Z][_$a-zA-Z0-9]*/.freeze
- COMMA_REGEX =
/,/.freeze
- QUOTED_REGEX =
/ (?<quoted> (?<quote>['"])(?: (?<=[^\\])\\(?:\\\\)*\k<quote> | (?!\k<quote>). )*\k<quote> ) /x.freeze
- IMPORT_REGEX =
Imports ##
/ (?<=^|;|})[^\S\n]* import\s+( ((?<default>#{IDENTIFIER_REGEX.source})(?:\s*,\s*|(?=\s+from\s+)))? ( \*\s+as\s+(?<module>#{IDENTIFIER_REGEX.source}) | \{(?<named>[\s\S]+?)\} )? \s+from\s+ )?#{Asset::QUOTED_PATH_REGEX.source} [^\S\n]*;?[^\S\n]*(\n|\Z) /x.freeze
- IMPORT_ITEM_REGEX =
/ \s* (?<name>#{IDENTIFIER_REGEX.source}|#{QUOTED_REGEX.source}(?=\s+as\s+)) (\s+as\s+(?<alias>#{IDENTIFIER_REGEX.source}))? \s* /x.freeze
- EXPORT_REGEX =
Exports ##
/ (?<=^|;|})[^\S\n]* export\s+( (?<default>default\s+)? (?<keep>(let|const|var|function\*?|class)\s+(?<name>#{IDENTIFIER_REGEX.source})) | \{(?<named>.+?)\} [^\S\n]*;?[^\S\n]*(\n|\Z) ) /x.freeze
- EXPORT_ITEM_REGEX =
/ \s* (?<name>#{IDENTIFIER_REGEX.source}) (\s+as\s+(?<alias>#{IDENTIFIER_REGEX.source}|#{QUOTED_REGEX.source}))? \s* /x.freeze
Constants inherited from Delegate
Delegate::IMPORT_REGEX_CAPTURES, Delegate::LIB_REQUIRES, Delegate::REFERENCE_REGEX_CAPTURES
Method Summary
Methods inherited from Delegate
compile, compile_delegate, compile_handler, compile_lib, content_type, each_parser, error, finalize, finalize_handler, finalize_lib, handler, import, minify, minify_handler, minify_lib, parse, parsers, reference, regex, validate_regex!