LibreJS intercepts HTTP responses and rewrites their contents after analyzing JavaScript within them. It does not remove script nodes and attributes from the page, but instead “deactivates” them by replacing their content with a commented notice.
LibreJS detects the most common cases using the HTTP response method described above, but in less common edge cases, or when running code locally, LibreJS cannot detect JavaScript during the response stage.