ServerJS/Modules/Secure

< ServerJS‎ | Modules
Revision as of 00:23, 5 March 2009 by KrisKowal (talk | contribs) (Removed constraints for objects returned by require, or the transitive environment.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

To be usable in secured module loaders, a module must conform to additional constraints:

  1. A module must not write to any free variables or their transitive members.
  2. A module must not refer to any free variables apart from primordials ("Object", "Array", etc. as defined by ECMAScript), "require", "environment", and "exports".
  3. A module must not tamper with (assign to, assign to members of, delete, or otherwise mutate) the transitive primordials.