Extends:

EmberApp → EmberAddon

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
public
import(asset, [options])
public
toTree([additionalTrees]): Tree
Private Methods
private
private
private
private
_addonInstalled(addonName): Boolean
private
private
_concatFiles(tree, options):
private
_getAssetPath(asset): (String | Undefined)
private
_import(assetPath, options, directory, subdirectory, extension)
private
private
_initOptions(options)
private
_initProject(options)
private
private
private
private
private
private
addonLintTree(type, tree): Tree
private
addonPostprocessTree(type, tree): Tree
private
addonPreprocessTree(type, tree): Tree
private
private
private
private
private
private
testIndex( ): Tree
private

Public Constructors

lib/broccoli/ember-addon.js:13

public EmberAddon([defaults], [options={}])

Parameters:

Name Type Attribute Description
defaults Object
  • optional
options Object
  • optional
  • default: {}

Configuration options

Public Methods

lib/broccoli/ember-app.js:1435

public dependencies( ): Object

Inherited from EmberApp

Return:

Object Alias to the project's dependencies function
lib/broccoli/ember-app.js:1444

public import(asset, [options])

Inherited from EmberApp
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
  • optional
Options object
options.type String
  • optional
  • default: 'vendor'

Either 'vendor' or 'test'

options.prepend Boolean
  • optional
  • default: false

Whether or not this asset should be prepended

options.destDir String
  • optional

Destination directory, defaults to the name of the directory the asset is in

options.outputFile String
  • optional

Specifies the output file for given import. Defaults to assets/vendor.{js,css}

options.using Array
  • optional

Specifies the array of transformations to be done on the asset. Can do an amd shim and/or custom transformation

lib/broccoli/ember-app.js:1738

public toTree([additionalTrees]): Tree

Inherited from EmberApp
Returns the merged tree for this application

Parameters:

Name Type Attribute Description
additionalTrees Array
  • optional
Array of additional trees to merge

Return:

Tree Merged tree for this application

Private Methods

lib/broccoli/ember-app.js:539

private _addonDisabledByBlacklist(addon): Boolean

Inherited from EmberApp

Parameters:

Name Type Attribute Description
addon Addon

Return:

lib/broccoli/ember-app.js:550

private _addonDisabledByWhitelist(addon): Boolean

Inherited from EmberApp

Parameters:

Name Type Attribute Description
addon Addon

Return:

lib/broccoli/ember-app.js:527

private _addonEnabled(addon): Boolean

Inherited from EmberApp
Checks the result of addon.isEnabled() if it exists, defaults to true otherwise.

Parameters:

Name Type Attribute Description
addon Addon

Return:

lib/broccoli/ember-app.js:1425

private _addonInstalled(addonName): Boolean

Inherited from EmberApp

Parameters:

Name Type Attribute Description
addonName String
The name of the addon we are checking to see if it's installed

Return:

lib/broccoli/ember-app.js:561

private _checkEmberCliBabel(addons): Boolean

Inherited from EmberApp

Parameters:

Name Type Attribute Description
addons Addons

Return:

lib/broccoli/ember-app.js:512

private _concatFiles(tree, options):

Inherited from EmberApp
Delegates to broccoli-concat with the sourceMapConfig option set to options.sourcemaps.

Parameters:

Name Type Attribute Description
tree Object
options Object

Return:

lib/broccoli/ember-app.js:1573

private _getAssetPath(asset): (String | Undefined)

Inherited from EmberApp

Parameters:

Name Type Attribute Description
asset (Object | String)

Return:

(String | Undefined) assetPath
lib/broccoli/ember-app.js:1494

private _import(assetPath, options, directory, subdirectory, extension)

Inherited from EmberApp

Parameters:

Name Type Attribute Description
assetPath String
options Object
directory String
subdirectory String
extension String
lib/broccoli/ember-app.js:641

private _importAddonTransforms( )

Inherited from EmberApp
Calls the importTransforms hook on addons.
lib/broccoli/ember-app.js:221

private _initOptions(options)

Inherited from EmberApp
Initializes the options property from the options parameter and a set of default values from Ember CLI.

Parameters:

Name Type Attribute Description
options Object
lib/broccoli/ember-app.js:203

private _initProject(options)

Inherited from EmberApp
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
lib/broccoli/ember-app.js:187

private _initTestsAndHinting(options)

Inherited from EmberApp
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
lib/broccoli/ember-app.js:391

private _initVendorFiles( )

Inherited from EmberApp
lib/broccoli/ember-app.js:603

private _notifyAddonIncluded( )

Inherited from EmberApp
Calls the included hook on addons.
lib/broccoli/ember-app.js:1130

private _podTemplatePatterns( ): Array

Inherited from EmberApp

Return:

Array An array of regular expressions.
lib/broccoli/ember-app.js:381

private _resolveLocal( )

Inherited from EmberApp
Resolves a path relative to the project's root
lib/broccoli/ember-app.js:883

private addonLintTree(type, tree): Tree

Inherited from EmberApp
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
lib/broccoli/ember-app.js:809

private addonPostprocessTree(type, tree): Tree

Inherited from EmberApp
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
lib/broccoli/ember-app.js:847

private addonPreprocessTree(type, tree): Tree

Inherited from EmberApp
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
lib/broccoli/ember-app.js:713

private addonTreesFor(type): Array

Inherited from EmberApp
Returns a list of trees for a given type, returned by all addons.

Parameters:

Name Type Attribute Description
type String
Type of tree

Return:

Array List of trees
lib/broccoli/ember-app.js:1375

private getLintTests( ): Array

Inherited from EmberApp
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:

lib/broccoli/ember-app.js:686

private initializeAddons( )

Inherited from EmberApp
Loads and initializes addons for this project. Calls initializeAddons on the Project.
lib/broccoli/ember-app.js:902

private populateLegacyFiles( )

Inherited from EmberApp
Imports legacy imports in this.vendorFiles
lib/broccoli/ember-app.js:587

private shouldIncludeAddon(addon): Boolean

Inherited from EmberApp
Returns whether an addon should be added to the project

Parameters:

Name Type Attribute Description
addon Addon

Return:

lib/broccoli/ember-app.js:953

private testIndex( ): Tree

Inherited from EmberApp
Returns the tree for /tests/index.html

Return:

Tree Tree for /tests/index.html
Inherited from EmberApp
Returns an array of trees for this application

Return:

Array An array of trees