171
edits
m (→Show of Hands) |
(explicated more details about require.paths) |
||
| Line 9: | Line 9: | ||
## … | ## … | ||
## The "require" function may have a "main" property that is the top-level "id" of the program. | ## The "require" function may have a "main" property that is the top-level "id" of the program. | ||
## The "require" function may have a "paths" attribute, that is a prioritized Array of path Strings, from high to low, of paths to top-level module directories. | ## The "require" function may have a "paths" attribute, that is a prioritized Array of path Strings, from high to low, of paths to top-level module directories. | ||
### The "paths" property must not exist in "sandbox" (a secured module system). | |||
### The "paths" attribute must be referentially identical in all modules. | |||
### Replacing the "paths" object with an alternate object may have no affect. | |||
### If the "paths" attribute exists, in-place modification of the contents of "paths" must be reflected by corresponding module search behavior. | |||
### If the "paths" attribute exists, it may not be an exhaustive list of search paths, as the loader may internally look in other locations before or after the mentioned paths. | |||
### If the "paths" attribute exists, it is the loader's prorogative to resolve, normalize, or canonicalize the paths provided. | |||
# In a module, there must be a free variable "module", that is an Object. | # In a module, there must be a free variable "module", that is an Object. | ||
## The "module" object must have an "id" that is the top-level "id" of the module. | ## The "module" object must have an "id" that is the top-level "id" of the module. | ||
edits