Create a getNormalizedPath() method which we can always use when getting
and putting items from the node cache.
Remove the need to invoke both super() and init(), so that we can start
to fail-fast when the same node is registered multiple times.
Made JsLib an interface so that JsLibAppWrapper doesn't have to extend
it, which leads to multiple nodes being registered for the same
directory path, which I would now like to make illegal, so I can
fail-fast and catch problems as soon as they happen.
Don't create the same node multiple times if there is more than one
matching constructor -- this bug was found by preventing the same node
directory from being registered multiple times.
Fixed a typo.
Stopped creating an AssetLocation that corresponds to the aspect and
workbench for the index html as this was causing us to try to register
the same node directory multiple times. Given that these index files are
not created by plug-ins that need to scan the contents of the asset
location, and given that asset locations exist solely to limit what is
bundled, we can instead just use the 'resources' asset location.
Use the super constructor rather than an init() method to perform all
initialization of super classes -- this was previously avoided because
the directory of the root node couldn't be provided within the super
constructor, but has been worked around by providing an alternate
constructor for that case.
Created an InstantiatedBRJSNode class as an alternative to
AbstractBRJSNode, for BRJSNode classes that are instantiated
dynamically, and shouldn't be stored centrally within a model that
doesn't allow nodes for the same directory to be registered multiple
times.
Make failing test pass by changing it to match the current behavior.
It's quite likely that the current behavior is correct rather than the
tests as we now no longer bundle stuff unless we are using source code
with the same asset location, but in any case, the new bundler tests
that we are in the process of writing are a much more appropriate place
to test the new bundling behavior.