Class: ThemeCheck::ParserBlockingJavaScript
- Inherits:
-
LiquidCheck
- Object
- Check
- LiquidCheck
- ThemeCheck::ParserBlockingJavaScript
- Defined in:
- lib/theme_check/checks/parser_blocking_javascript.rb
Overview
Reports errors when trying to use parser-blocking script tags
Constant Summary collapse
- PARSER_BLOCKING_SCRIPT_TAG =
%r{ <script # Find the start of a script tag (?=(?:[^>]|\n|\r)+?src=)+? # Make sure src= is in the script with a lookahead (?:(?!defer|async|type=["']module['"]).)*? # Find tags that don't have defer|async|type="module" > }xim
- SCRIPT_TAG_FILTER =
/\{\{[^}]+script_tag\s+\}\}/
Constants inherited from Check
Check::CATEGORIES, Check::SEVERITIES
Instance Attribute Summary
Attributes inherited from Check
Instance Method Summary collapse
Methods inherited from LiquidCheck
Methods included from ChecksTracking
Methods included from ParsingHelpers
Methods inherited from Check
all, can_disable, #can_disable?, category, #category, #code_name, doc, #doc, #ignore!, #ignored?, #severity, severity, #to_s, #unignore!
Methods included from JsonHelpers
Instance Method Details
#on_document(node) ⇒ Object
16 17 18 19 20 |
# File 'lib/theme_check/checks/parser_blocking_javascript.rb', line 16 def on_document(node) @source = node.template.source @node = node record_offenses end |