Cheers for the question, Gio.
As of the merge of https://github.com/GPII/universal/pull/487 fixing
GPII-2151, it *should* have been the case that all test cases will run
properly regardless of the position of the checkout. They did at the
time of the merge - but with the universal truth that functionality
which is not tested is broken, this condition must have been broken by
some test cases which were committed since that time (February this year).
The issue is pretty simple to fix up. It is caused by an oddity with
node module resolution which generally prohibits resolving a module name
from within itself, unless its parent is named "node_modules". There was
a lot of code which was a bit slack about this in the old days, for
example, test code which would issue
require("universal");
from within universal. This is faulty, but still seemed preferable to
writing what it seems that node authors would have liked, which is
something uncivilized like
require("../../../../..");
which as well as being incomprehensible will break if the test is moved
to another directory.
For a while now this has been resolved by the Fluid module system API
with docs at
http://docs.fluidproject.org/infusion/development/NodeAPI.html#fluid-require-modulename-foreignrequire-namespace-
by replacing the call above with
require("%universal")
the problem is solved, but it is possible that not everyone got the
memo. If some tests fail, and we care, we should i) reopen the JIRA
GPII-2151 with a list of the failing ones and after it is fixed ii)
change our CI for universal so that it checks it out to an ordinary
directory.
CHeers,
Antranig
On 03/07/2017 15:50, Tirloni, Giovanni wrote:
Hello,
Regarding our requirement to have the universal live inside a node_modules
directory, could someone help me understand the machinery behind that? Since
some tests pass and others don't (when universal is not living inside
node_modules), does that mean this is a work in progress?
I've found this JIRAs that seem to be related but I'm not sure they document
the situation completely:
https://issues.gpii.net/browse/GPII-23
https://issues.gpii.net/browse/GPII-36
https://issues.gpii.net/browse/GPII-91
https://issues.gpii.net/browse/GPII-492
https://issues.gpii.net/browse/GPII-1527
https://issues.gpii.net/browse/GPII-2151
I apologize in advanced if someone explained this to me before, my memory is
a bit blurry on this topic.
Regards,
Giovanni
_______________________________________________
Architecture mailing list
[email protected]
http://lists.gpii.net/mailman/listinfo/architecture
_______________________________________________
Architecture mailing list
[email protected]
http://lists.gpii.net/mailman/listinfo/architecture