[ 
https://issues.apache.org/jira/browse/COUCHDB-1151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13030090#comment-13030090
 ] 

Alexander Shorin commented on COUCHDB-1151:
-------------------------------------------

Actually no, because COUCHDB-1075 solves circular requires and module caching 
problem through solving of this issue. If deadlocks and cache wasn't be 
interested for months so this one should be opened. Otherwise not, because 
COUCHDB-1075 includes this fix.

> Require function doesnt fullfil specification
> ---------------------------------------------
>
>                 Key: COUCHDB-1151
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1151
>             Project: CouchDB
>          Issue Type: Bug
>          Components: JavaScript View Server
>    Affects Versions: 0.11.2, 1.0.2, 1.1
>            Reporter: Alexander Shorin
>            Priority: Critical
>              Labels: commonjs, javascript, require
>         Attachments: design.require.txt, design_docs.js.patch, 
> id_and_require_fixes.patch, utils.js.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> According CommonJS Modules specification [1]:
> > 4.  Module identifiers may be "relative" or "top-level". A module 
> > identifier is "relative" if the first term is "." or "..".
> > 5.  Top-level identifiers are resolved off the conceptual module name space 
> > root.
> This specification is broken in current realization at those terms. See 
> design test case.
> Actually problems:
> 1. Module id is broken if module imports from same level (as via '.') or from 
> parent level (as via '..'). AFAIK, module id should be valid to make 
> require(mod.id) call successful. See`_show/relative-id`, 
> `_show/require-relative-id` and `_show/relative-parent-id` function.
> 2. Absolute module import is broken from relative imported module. 
> See`_show/absolute-require` function.
> 3. Multiple relative imports from same level(as via '.') breaks require 
> function. See `_show/maze` function.
> Those problems makes require function works unexpectedly and obstructs 
> solving at least one more issue #1075 [2]
> I know that all relative imports are discouraged, but if they are supported, 
> why they shouldn't work properly?(:
> [1] http://wiki.commonjs.org/wiki/Modules/1.1.1
> [2] https://issues.apache.org/jira/browse/COUCHDB-1075

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to