[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
New GNU ELPA package: firefox-javascript-repl - Jack into Firefox
From: |
Sacha Chua |
Subject: |
New GNU ELPA package: firefox-javascript-repl - Jack into Firefox |
Date: |
Mon, 05 Jun 2023 09:18:09 -0400 |
Summary: Jack into Firefox
Requires: emacs-26.1
Website: https://elpa.gnu.org/packages/firefox-javascript-repl.html
Maintainer: Thomas Fitzsimmons <fitzsim@fitzsim.org>
Author: Thomas Fitzsimmons <fitzsim@fitzsim.org>
Usage:
Start the REPL:
M-x firefox-javascript-repl RET
To stop the REPL, kill the *firefox-javascript-debugger* buffer:
C-x k RET yes RET
or quit Firefox from within Firefox.
Description:
REPL into a new Firefox instance's JavaScript engine. A new
throwaway Firefox profile directory is created before each run, so
you won't need to modify your existing profiles. This mode takes
care of starting the new Firefox process in debugging mode, which
may be tedious to do by hand.
This `comint' mode is barebones and unstructured, meant for quick
JavaScript experiments. On newer versions of Emacs with
`comint-indirect-buffer' support, syntax highlighting happens on
the current statement.
Paste each statement from `example.js' into the REPL to try it out.
For projects you should probably use `dap-mode' and `lsp-mode'
instead.
Only Firefox and Firefox-derivative browsers will ever be supported
(unless someone sends a really convincing patch). I promise to
attempt to stive to keep this working with at least the
greenest-of-evergreen Firefox and Firefox ESR versions (see
Compatibility). My sense is that the Firefox Remote Debugging
Protocol is less of a moving target than it used to be. Emacs
versions back to 26.1 (or earlier if anyone can test on Emacs <
26.1) will be supported.
Wouldn't it be great (for other people) to turn this into a full
SLIME analog for JavaScript (patches accepted)? I tried `jsSlime'
(https://github.com/segv/jss) but its most recent update is ten
years old and the Firefox Remote Debugging Protocol has changed too
much.
The function `fjrepl--extract-result' could do a way better job of
getting results but I find it OK for little experiments. If I need
more information I submit a more precise JavaScript statement.
Syntax errors currently fail silently.
Installation:
M-x package-install RET firefox-javascript-repl RET
Compatibility:
╔════════════╦══════════════╦══════════╦══════════════════════╗
║ Test Date ║ Architecture ║ Browser ║ Version ║
╠════════════╬══════════════╬══════════╬══════════════════════╣
║ 2023-05-26 ║ ppc64le ║ Firefox ║ 102.11.0esr (64-bit) ║
║ 2023-05-26 ║ x86-64 ║ Firefox ║ 113.0.2 (64-bit) ║
║ 2023-05-26 ║ x86-64 ║ Abrowser ║ 111.0.1 (64-bit) ║
╙────────────╨──────────────╨──────────╨──────────────────────╜
Acronyms:
FRDP: Firefox Remote Debugging Protocol
https://firefox-source-docs.mozilla.org/devtools/backend/protocol.html
---------
You are receiving this message via the info-gnu-emacs@gnu.org mailing list.
List info/preferences: https://lists.gnu.org/mailman/listinfo/info-gnu-emacs
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- New GNU ELPA package: firefox-javascript-repl - Jack into Firefox,
Sacha Chua <=