History

js: require: allow custom module search paths via mp.module_paths

Avi Halachmi (:avih) committed 6 years ago

Commit 4fc5cd31 parent 3d2e30d2 files · +18 −4Browse files

Showing the changes to DOCS/man/javascript.rst (1 of 2 files). Show all

Unified · Split

DOCS/man/javascript.rst+8−0
@@ -240,6 +240,9 @@ Note: ``read_file`` and ``write_file`` throw on errors, allow text content only. · 239 unmodified lines
240240 anything from the filesystem), and returns it as a function. Very similar
241241 to a ``Function`` constructor, but shows at stack traces as ``fname``.
242242
243+``mp.module_paths``
244+ Global modules search paths array for the ``require`` function (see below).
245+
243246 Timers (global)
244247 ---------------
245248
@@ -301,6 +304,11 @@ or ``~/x``. Otherwise, it's considered a global module id and searched at · 55 unmodified lines
301304 ``require("x")`` is searched as file ``x.js`` at those dirs, and id ``foo/x`` is
302305 searched as file ``x.js`` inside dir ``foo`` at those dirs.
303306
307+Search paths for global module id's are at the array ``mp.module_paths``, which
308+is searched in order. Initially it contains one item: ``~~/scripts/modules.js``
309+such that it behaves as described above. Modifying it will affect future
310+``require`` calls with global module id's which are not already loaded/cached.
311+
304312 No ``global`` variable, but a module's ``this`` at its top lexical scope is the
305313 global object - also in strict mode. If you have a module which needs ``global``
306314 as the global object, you could do ``this.global = this;`` before ``require``.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t