ModulepreloadDetector

Extract modulepreload link hints from HTML source without fetching, validating browser support, or resolving their hrefs.

Description

Modulepreload hints identify JavaScript modules a browser may fetch and prepare early.

Modulepreload hints identify JavaScript modules a browser may fetch and prepare early. Detecting their links is separate from resolving an import graph.1

Extract modulepreload link hints from HTML source without fetching, validating browser support, or resolving their hrefs.

When to use ModulepreloadDetector

Use this tool to extract modulepreload link hints from HTML source without fetching, validating browser support, or resolving their hrefs.

Choose the URL, decoded source text, header value or explicit byte list requested by this tool. Paste the complete relevant input and follow its parsing and encoding conventions.

How to use ModulepreloadDetector and understand its results

  1. Choose the URL, decoded source text, header value or explicit byte list requested by this tool. Paste the complete relevant input and follow its parsing and encoding conventions.
  2. Enter html using the field table and calculation rules, then run the tool.
  3. Read hrefs. The explanation below defines the units, signs, ordering and any flags or placeholder values.
  4. If the tool reports an input issue, correct the values and run it again. Apply the stated assumptions when interpreting a successfully returned result.
Input fieldMeaningValue type; see rules belowRequirement
htmlHTML source.string; maximum length: 1000000Required

Paste HTML source. Scan link start tags, tokenize rel case-insensitively on ASCII whitespace and collect matching href attributes. Decode supported references and preserve duplicates/order; return an empty list if absent.

hrefs=source-order link hrefs with a rel token equal to modulepreload

Units, indexing, boundary conditions and exceptional cases are defined in the calculation rules above.

Output fieldMeaningValue type
hrefsMatching link hrefs in document order.list of string; maximum length: 1000000; minimum entries: 0; maximum entries: 100000
json
{
  "input": {
    "html": "<link rel=\"MODULEPRELOAD\" href=\"/app.js\"><link rel=\"stylesheet\" href=\"/style.css\">"
  },
  "output": {
    "hrefs": [
      "/app.js"
    ]
  }
}

Limitations and assumptions

No module is fetched, executed or resolved. as/crossorigin attributes and browser support are not evaluated, and source scanning does not execute scripts or implement complete DOM recovery.

Numeric inputs must be finite. Follow the calculation-specific rules for overflow, underflow and exceptional cases. Extremely large text inputs are rejected. Missing required fields, extra fields, wrong value types and violations of the calculation rules are input errors.

Alternative or Complementary methods

Use LinkPreloadDetector: Extract preload link hints from HTML source without fetching, validating browser support, or resolving their hrefs. For a complementary task, use Import Map Parser: Parse imports and scopes from import-map JSON into portable entries, preserving null addresses and leaving URL resolution to the caller.

References

  1. ModulepreloadDetector — tool.io

Similar or alternative tools

  • LinkPreloadDetector

    Extract preload link hints from HTML source without fetching, validating browser support, or resolving their hrefs.

  • Import Map Parser

    Parse imports and scopes from import-map JSON into portable entries, preserving null addresses and leaving URL resolution to the caller.

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies