EmberAddon - ember-cli
Extends:
EmberAddon is used during addon development.
Constructor Summary
| Public Constructors | |
|---|---|
| public |
EmberAddon([defaults], [options={}]) EmberAddon is used during addon development. |
Method Summary
| Public Methods | |
|---|---|
| public |
dependencies( ): Object |
| public |
import(asset, [options]) |
| public |
toTree([additionalTrees]): Tree |
| Private Methods | |
|---|---|
| private |
_addonDisabledByExclude(addon): Boolean |
| private |
_addonDisabledByInclude(addon): Boolean |
| private |
_addonEnabled(addon): Boolean |
| private |
_concatFiles(tree, options): |
| private |
_getAssetPath(asset): (String | Undefined) |
| private |
_import(assetPath, options, directory, subdirectory, extension) |
| private | |
| private |
_initOptions(options) |
| private |
_initProject(options) |
| private |
_initTestsAndHinting(options) |
| private | |
| private | |
| private | |
| private | |
| private |
addonLintTree(type, tree): Tree |
| private |
addonPostprocessTree(type, tree): Tree |
| private |
addonPreprocessTree(type, tree): Tree |
| private |
addonTreesFor(type): Array |
| private |
getLintTests( ): Array |
| private | |
| private | |
| private |
shouldIncludeAddon(addon): Boolean |
| private | |
Public Constructors
Public Methods
Return:
Object Alias to the project's dependencies function
Imports an asset into the application.
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| asset | Object | String |
|
Either a path to the asset or an object with environment names and paths as key-value pairs. |
| options | Object |
|
Options object |
| options.type | String |
|
Either 'vendor' or 'test' |
| options.prepend | Boolean |
|
Whether or not this asset should be prepended |
| options.destDir | String |
|
Destination directory, defaults to the name of the directory the asset is in |
| options.outputFile | String |
|
Specifies the output file for given import. Defaults to assets/vendor.{js,css} |
| options.using | Array |
|
Specifies the array of transformations to be done on the asset. Can do an amd shim and/or custom transformation |
Returns the merged tree for this application
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| additionalTrees | Array |
|
Array of additional trees to merge |
Return:
Tree Merged tree for this application
Private Methods
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| addon | Addon |
|
Return:
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| addon | Addon |
|
Return:
Checks the result of addon.isEnabled() if it exists, defaults to true otherwise.
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| addon | Addon |
|
Return:
Delegates to broccoli-concat with the sourceMapConfig option set to options.sourcemaps.
Return:
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| asset | (Object | String) |
|
Return:
(String | Undefined) assetPath
Calls the importTransforms hook on addons.
Initializes the options property from the options parameter and
a set of default values from Ember CLI.
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| options | Object |
|
Initializes the project property from options.project or the
closest Ember CLI project from the current working directory.
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| options | Object |
|
Initializes the tests and hinting properties.
Defaults to false unless ember test was used or this is *not* a production build.
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| options | Object |
|
Calls the included hook on addons.
Return:
Array An array of regular expressions.
Resolves a path relative to the project's root
Runs addon lintTree hooks and returns a single tree containing all their output.
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| type | String |
|
Type of tree |
| tree | Tree |
|
Tree to process |
Return:
Tree Processed tree
private addonPostprocessTree(type, tree): Tree
Runs addon post-processing on a given tree and returns the processed tree.
This enables addons to do process immediately **after** the preprocessor for a
given type is run, but before concatenation occurs. If an addon wishes to
apply a transform before the preprocessors run, they can instead implement the
preprocessTree hook.
To utilize this addons implement postprocessTree hook.
An example, would be to apply some broccoli transform on all JS files, but
only after the existing pre-processors have run.
`js
module.exports = {
name: 'my-cool-addon',
postprocessTree(type, tree) {
if (type === 'js') {
return someBroccoliTransform(tree);
}
return tree;
}
}
`
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| type | String |
|
Type of tree |
| tree | Tree |
|
Tree to process |
Return:
Tree Processed tree
Runs addon pre-processing on a given tree and returns the processed tree.
This enables addons to do process immediately **before** the preprocessor for a
given type is run. If an addon wishes to apply a transform after the
preprocessors run, they can instead implement the postprocessTree hook.
To utilize this addons implement preprocessTree hook.
An example, would be to remove some set of files before the preprocessors run.
`js
var stew = require('broccoli-stew');
module.exports = {
name: 'my-cool-addon',
preprocessTree(type, tree) {
if (type === 'js' && type === 'template') {
return stew.rm(tree, someGlobPattern);
}
return tree;
}
}
`
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| type | String |
|
Type of tree |
| tree | Tree |
|
Tree to process |
Return:
Tree Processed tree
Returns a list of trees for a given type, returned by all addons.
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| type | String |
|
Type of tree |
Return:
Runs the app, tests and templates trees through the chain of addons that produces lint trees.
Those lint trees are afterwards funneled into the tests folder, babel-ified and returned as an array.
Return:
Loads and initializes addons for this project. Calls initializeAddons on the Project.
Imports legacy imports in this.vendorFiles
Returns whether an addon should be added to the project
Parameters:
| Name | Type | Attribute | Description |
|---|---|---|---|
| addon | Addon |
|
Return:
Returns an array of trees for this application
Return:
Array An array of trees