ember-cli-addon-aware-resolver
Resolve paths within dependent packages, with additional awareness of:
- ember apps
- ember in-repo addons
- the pre-embroider (v1) ember addon format
Installation
yard add ember-cli-addon-aware-resolver
Usage
const resolveCliAware = ; // => /some/absolute/foo // for an ember app at /some/absolute/path // => /some/absolute/path/app/foo // with a v1 ember-addon configured as follows "ember-addon": paths: "./lib/my-in-repo-addon" // => /some/absolute/path/lib/my-in-repo-addon/addon/some/path/in/addon // => /some/absolute/foo try ; catch e ecode // => "MODULE_NOT_FOUND"
Limitations
-
Non-ember npm dependencies are not supported. It is assumed all resolutions one of:
- classic ember apps
- classic ember addons
- v2 ember addons
-
No support for app namespace merging: so files in an addon's
app
directory will not be resolved. Similarly,${my-addon}/test-support
will not be resolved as being merged to${my-app}/tests
. -
No support for path conflict resolution. This is unlikely to affect anybody, but if you have an Ember app with
my-app/app/tests/foo
,my-app/tests/foo
will not resolve to this file, but instead only look formy-app/tests/foo
-
No support for customized
this.treePaths
in addons. -
"main" imports are not supported (i.e. imports without paths)