ember-cli
Version:
Command line tool for developing ambitious ember.js apps
1,158 lines • 269 kB
JSON
{
"project": {
"logo": "https://ember-cli.com/assets/images/ember-cli-logo-small-dark.png",
"name": "ember-cli",
"description": "Command line tool for developing ambitious ember.js apps",
"version": "6.9.1-release-a1d1a35f71"
},
"files": {
"lib/broccoli/default-packager.js": {
"name": "lib/broccoli/default-packager.js",
"modules": {},
"classes": {
"DefaultPackager": 1
},
"fors": {},
"namespaces": {}
},
"lib/broccoli/ember-addon.js": {
"name": "lib/broccoli/ember-addon.js",
"modules": {
"ember-cli": 1
},
"classes": {
"EmberAddon": 1
},
"fors": {},
"namespaces": {}
},
"lib/broccoli/ember-app.js": {
"name": "lib/broccoli/ember-app.js",
"modules": {},
"classes": {
"EmberApp": 1
},
"fors": {},
"namespaces": {}
},
"lib/cli/cli.js": {
"name": "lib/cli/cli.js",
"modules": {},
"classes": {
"CLI": 1
},
"fors": {},
"namespaces": {}
},
"lib/debug/assert.js": {
"name": "lib/debug/assert.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/debug/deprecate.js": {
"name": "lib/debug/deprecate.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/models/package-info-cache/index.js": {
"name": "lib/models/package-info-cache/index.js",
"modules": {},
"classes": {
"PackageInfoCache": 1
},
"fors": {},
"namespaces": {}
},
"lib/models/package-info-cache/node-modules-list.js": {
"name": "lib/models/package-info-cache/node-modules-list.js",
"modules": {},
"classes": {
"NodeModulesList": 1
},
"fors": {},
"namespaces": {}
},
"lib/models/package-info-cache/package-info.js": {
"name": "lib/models/package-info-cache/package-info.js",
"modules": {},
"classes": {
"PackageInfo": 1
},
"fors": {},
"namespaces": {}
},
"lib/models/per-bundle-addon-cache/addon-proxy.js": {
"name": "lib/models/per-bundle-addon-cache/addon-proxy.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/models/per-bundle-addon-cache/index.js": {
"name": "lib/models/per-bundle-addon-cache/index.js",
"modules": {},
"classes": {
"PerBundleAddonCache": 1
},
"fors": {},
"namespaces": {}
},
"lib/models/per-bundle-addon-cache/target-instance.js": {
"name": "lib/models/per-bundle-addon-cache/target-instance.js",
"modules": {},
"classes": {
"TARGET_INSTANCE": 1
},
"fors": {},
"namespaces": {}
},
"lib/models/addon-info.js": {
"name": "lib/models/addon-info.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/models/addon.js": {
"name": "lib/models/addon.js",
"modules": {},
"classes": {
"Addon": 1
},
"fors": {},
"namespaces": {}
},
"lib/models/blueprint.js": {
"name": "lib/models/blueprint.js",
"modules": {},
"classes": {
"Blueprint": 1
},
"fors": {},
"namespaces": {
"Blueprint": 1
}
},
"lib/models/builder.js": {
"name": "lib/models/builder.js",
"modules": {},
"classes": {
"Builder": 1
},
"fors": {},
"namespaces": {}
},
"lib/models/command.js": {
"name": "lib/models/command.js",
"modules": {},
"classes": {
"Command": 1
},
"fors": {},
"namespaces": {}
},
"lib/models/hardware-info.js": {
"name": "lib/models/hardware-info.js",
"modules": {},
"classes": {},
"fors": {
"HardwareInfo": 1
},
"namespaces": {}
},
"lib/models/host-info-cache.js": {
"name": "lib/models/host-info-cache.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/models/instantiate-addons.js": {
"name": "lib/models/instantiate-addons.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/models/instrumentation.js": {
"name": "lib/models/instrumentation.js",
"modules": {},
"classes": {
"Instrumentation": 1
},
"fors": {},
"namespaces": {}
},
"lib/models/project.js": {
"name": "lib/models/project.js",
"modules": {},
"classes": {
"Project": 1
},
"fors": {},
"namespaces": {}
},
"lib/models/task.js": {
"name": "lib/models/task.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/tasks/server/middleware/broccoli-serve-files/index.js": {
"name": "lib/tasks/server/middleware/broccoli-serve-files/index.js",
"modules": {},
"classes": {
"ServeFilesAddon": 1
},
"fors": {},
"namespaces": {}
},
"lib/tasks/server/middleware/broccoli-watcher/index.js": {
"name": "lib/tasks/server/middleware/broccoli-watcher/index.js",
"modules": {},
"classes": {
"WatcherAddon": 1
},
"fors": {},
"namespaces": {}
},
"lib/tasks/server/middleware/history-support/index.js": {
"name": "lib/tasks/server/middleware/history-support/index.js",
"modules": {},
"classes": {
"HistorySupportAddon": 1
},
"fors": {},
"namespaces": {}
},
"lib/tasks/server/middleware/tests-server/index.js": {
"name": "lib/tasks/server/middleware/tests-server/index.js",
"modules": {},
"classes": {
"TestsServerAddon": 1
},
"fors": {},
"namespaces": {}
},
"lib/tasks/transforms/amd/index.js": {
"name": "lib/tasks/transforms/amd/index.js",
"modules": {},
"classes": {
"AmdTransformAddon": 1
},
"fors": {},
"namespaces": {}
},
"lib/tasks/build-watch.js": {
"name": "lib/tasks/build-watch.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/tasks/npm-task.js": {
"name": "lib/tasks/npm-task.js",
"modules": {},
"classes": {
"NpmTask": 1
},
"fors": {},
"namespaces": {}
},
"lib/tasks/serve.js": {
"name": "lib/tasks/serve.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/tasks/test-server.js": {
"name": "lib/tasks/test-server.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/utilities/ember-app-utils.js": {
"name": "lib/utilities/ember-app-utils.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/utilities/insert-into-file.js": {
"name": "lib/utilities/insert-into-file.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/utilities/is-lazy-engine.js": {
"name": "lib/utilities/is-lazy-engine.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/utilities/valid-project-name.js": {
"name": "lib/utilities/valid-project-name.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/utilities/will-interrupt-process.js": {
"name": "lib/utilities/will-interrupt-process.js",
"modules": {},
"classes": {},
"fors": {},
"namespaces": {}
},
"lib/utilities/windows-admin.js": {
"name": "lib/utilities/windows-admin.js",
"modules": {},
"classes": {
"WindowsSymlinkChecker": 1
},
"fors": {},
"namespaces": {}
}
},
"modules": {
"ember-cli": {
"name": "ember-cli",
"submodules": {},
"elements": {},
"classes": {
"DefaultPackager": 1,
"EmberAddon": 1,
"EmberApp": 1,
"CLI": 1,
"PackageInfoCache": 1,
"NodeModulesList": 1,
"PackageInfo": 1,
"PerBundleAddonCache": 1,
"TARGET_INSTANCE": 1,
"Addon": 1,
"Blueprint": 1,
"Builder": 1,
"Command": 1,
"HardwareInfo": 1,
"Instrumentation": 1,
"Project": 1,
"ServeFilesAddon": 1,
"WatcherAddon": 1,
"HistorySupportAddon": 1,
"TestsServerAddon": 1,
"AmdTransformAddon": 1,
"NpmTask": 1,
"WindowsSymlinkChecker": 1
},
"fors": {
"HardwareInfo": 1
},
"namespaces": {
"Blueprint": 1
},
"tag": "module",
"file": "lib/utilities/windows-admin.js",
"line": 6,
"access": "private",
"tagname": "",
"is_constructor": 1,
"extends": "Task"
}
},
"classes": {
"DefaultPackager": {
"name": "DefaultPackager",
"shortname": "DefaultPackager",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"file": "lib/broccoli/default-packager.js",
"line": 98,
"description": "Responsible for packaging Ember.js application.",
"is_constructor": 1
},
"EmberAddon": {
"name": "EmberAddon",
"shortname": "EmberAddon",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/broccoli/ember-addon.js",
"line": 13,
"description": "EmberAddon is used during addon development.",
"extends": "EmberApp",
"is_constructor": 1,
"params": [
{
"name": "defaults",
"description": "",
"type": "Object",
"optional": true
},
{
"name": "options",
"description": "Configuration options",
"type": "Object",
"optional": true,
"optdefault": "{}"
}
]
},
"EmberApp": {
"name": "EmberApp",
"shortname": "EmberApp",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/broccoli/ember-app.js",
"line": 44,
"description": "EmberApp is the main class Ember CLI uses to manage the Broccoli trees\nfor your application. It is very tightly integrated with Broccoli and has\na `toTree()` method you can use to get the entire tree for your application.\n\nAvailable init options:\n- storeConfigInMeta, defaults to `true`\n- autoRun, defaults to `true`\n- minifyCSS, defaults to `{enabled: !!isProduction,options: { relativeTo: 'assets' }}\n- sourcemaps, defaults to `{}`\n- trees, defaults to `{}`\n- vendorFiles, defaults to `{}`\n- addons, defaults to `{ exclude: [], include: [] }`",
"is_constructor": 1,
"params": [
{
"name": "defaults",
"description": "",
"type": "Object",
"optional": true
},
{
"name": "options",
"description": "Configuration options",
"type": "Object",
"optional": true,
"optdefault": "{}"
}
]
},
"CLI": {
"name": "CLI",
"shortname": "CLI",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/cli/cli.js",
"line": 15,
"access": "private",
"tagname": "",
"is_constructor": 1,
"params": [
{
"name": "options",
"description": ""
}
]
},
"PackageInfoCache": {
"name": "PackageInfoCache",
"shortname": "PackageInfoCache",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/models/package-info-cache/index.js",
"line": 23,
"description": "Class that stores entries that are either PackageInfo or NodeModulesList objects.\nThe entries are stored in a map keyed by real directory path.",
"access": "public",
"tagname": ""
},
"NodeModulesList": {
"name": "NodeModulesList",
"shortname": "NodeModulesList",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/models/package-info-cache/node-modules-list.js",
"line": 7,
"description": "Class that stores information about a node_modules directory (i.e., the\npackages and subdirectories in the directory). It is one of the\ntwo types of entries in a PackageInfoCache. It is only created by the\nPackageInfoCache.",
"access": "public",
"tagname": ""
},
"PackageInfo": {
"name": "PackageInfo",
"shortname": "PackageInfo",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/models/package-info-cache/package-info.js",
"line": 50,
"description": "Class that stores information about a single package (directory tree with\na package.json and other data, like and Addon or Project.) It is one of the\ntwo types of entries in a PackageInfoCache. It is only created by the\nPackageInfoCache.",
"access": "public",
"tagname": ""
},
"PerBundleAddonCache": {
"name": "PerBundleAddonCache",
"shortname": "PerBundleAddonCache",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/models/per-bundle-addon-cache/index.js",
"line": 46,
"description": "For large applications with many addons (and many instances of each, resulting in\npotentially many millions of addon instances during a build), the build can become\nvery, very slow (tens of minutes) partially due to the sheer number of addon instances.\nThe PerBundleAddonCache deals with this slowness by doing 3 things:\n\n(1) Making only a single copy of each of certain addons and their dependent addons\n(2) Replacing any other instances of those addons with Proxy copies to the single instance\n(3) Having the Proxies return an empty array for their dependent addons, rather\n than proxying to the contents of the single addon instance. This gives up the\n ability of the Proxies to traverse downward into their child addons,\n something that many addons do not do anyway, for the huge reduction in duplications\n of those child addons. For applications that enable `ember-engines` dedupe logic,\n that logic is stateful, and having the Proxies allow access to the child addons array\n just breaks everything, because that logic will try multiple times to remove items\n it thinks are duplicated, messing up the single copy of the child addon array.\n See the explanation of the dedupe logic in\n {@link https://github.com/ember-engines/ember-engines/blob/master/packages/ember-engines/lib/utils/deeply-non-duplicated-addon.js}\n\nWhat follows are the more technical details of how the PerBundleAddonCache implements\nthe above 3 behaviors.\n\nThis class supports per-bundle-host (bundle host = project or lazy engine)\ncaching of addon instances. During addon initialization we cannot add a\ncache to each bundle host object AFTER it is instantiated because running the\naddon constructor ultimately causes Addon class `setupRegistry` code to\nrun which instantiates child addons, which need the cache to already be\nin place for the parent bundle host.\nWe handle this by providing a global cache that exists independent of the\nbundle host objects. That is this object.\n\nThere are a number of \"behaviors\" being implemented by this object and\nits contents. They are:\n(1) Any addon that is a lazy engine has only a single real instance per\nproject - all other references to the lazy engine are to be proxies. These\nlazy engines are compared by name, not by packageInfo.realPath.\n(2) Any addon that is not a lazy engine, there is only a single real instance\nof the addon per \"bundle host\" (i.e. lazy engine or project).\n(3) An optimization - any addon that is in a lazy engine but that is also\nin bundled by its LCA host - the single instance is the one bundled by this\nhost. All other instances (in any lazy engine) are proxies.\n\nNOTE: the optimization is only enabled if the environment variable that controls\n`ember-engines` transitive deduplication (process.env.EMBER_ENGINES_ADDON_DEDUPE)\nis set to a truthy value. For more info, see:\nhttps://github.com/ember-engines/ember-engines/blob/master/packages/ember-engines/lib/engine-addon.js#L396",
"access": "public",
"tagname": ""
},
"TARGET_INSTANCE": {
"name": "TARGET_INSTANCE",
"shortname": "TARGET_INSTANCE",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/models/per-bundle-addon-cache/target-instance.js",
"line": 3,
"description": "A Symbol constant for sharing between index.js and addon-proxy.js rather than\nputting the symbol into the Symbol global cache. The symbol is used in per-bundle\ncache entries to refer to the field that points at the real instance that a Proxy\nrefers to.",
"type": "Symbol",
"access": "private",
"tagname": "",
"final": 1
},
"Addon": {
"name": "Addon",
"shortname": "Addon",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/models/addon.js",
"line": 122,
"description": "Root class for an Addon. If your addon module exports an Object this\nwill be extended from this base class. If you export a constructor (function),\nit will **not** extend from this class.\n\nHooks:\n\n- {{#crossLink \"Addon/config:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/blueprintsPath:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/includedCommands:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/importTransforms:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/serverMiddleware:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/testemMiddleware:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/postBuild:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/preBuild:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/outputReady:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/buildError:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/included:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/shouldIncludeChildAddon:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/setupPreprocessorRegistry:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/preprocessTree:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/postprocessTree:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/lintTree:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/contentFor:method\"}}{{/crossLink}}\n- {{#crossLink \"Addon/treeFor:method\"}}{{/crossLink}}",
"extends": "CoreObject",
"is_constructor": 1,
"params": [
{
"name": "parent",
"description": "The project or addon that directly depends on this addon",
"type": "Project|Addon"
},
{
"name": "project",
"description": "The current project (deprecated)",
"type": "Project"
}
]
},
"Blueprint": {
"name": "Blueprint",
"shortname": "Blueprint",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "Blueprint",
"file": "lib/models/blueprint.js",
"line": 35,
"description": "A blueprint is a bundle of template files with optional install\nlogic.\n\nBlueprints follow a simple structure. Let's take the built-in\n`controller` blueprint as an example:\n\n```\nblueprints/controller\n├── files\n│ ├── app\n│ │ └── __path__\n│ │ └── __name__.js\n└── index.js\n\nblueprints/controller-test\n├── files\n│ └── tests\n│ └── unit\n│ └── controllers\n│ └── __test__.js\n└── index.js\n```\n\n## Files\n\n`files` contains templates for the all the files to be\ninstalled into the target directory.\n\nThe `__name__` token is subtituted with the dasherized\nentity name at install time. For example, when the user\ninvokes `ember generate controller foo` then `__name__` becomes\n`foo`. When the `--pod` flag is used, for example `ember\ngenerate controller foo --pod` then `__name__` becomes\n`controller`.\n\nThe `__path__` token is substituted with the blueprint\nname at install time. For example, when the user invokes\n`ember generate controller foo` then `__path__` becomes\n`controller`. When the `--pod` flag is used, for example\n`ember generate controller foo --pod` then `__path__`\nbecomes `foo` (or `<podModulePrefix>/foo` if the\npodModulePrefix is defined). This token is primarily for\npod support, and is only necessary if the blueprint can be\nused in pod structure. If the blueprint does not require pod\nsupport, simply use the blueprint name instead of the\n`__path__` token.\n\nThe `__test__` token is substituted with the dasherized\nentity name and appended with `-test` at install time.\nThis token is primarily for pod support and only necessary\nif the blueprint requires support for a pod structure. If\nthe blueprint does not require pod support, simply use the\n`__name__` token instead.\n\n## Template Variables (AKA Locals)\n\nVariables can be inserted into templates with\n`<%= someVariableName %>`.\n\nFor example, the built-in `util` blueprint\n`files/app/utils/__name__.js` looks like this:\n\n```js\nexport default function <%= camelizedModuleName %>() {\n return true;\n}\n```\n\n`<%= camelizedModuleName %>` is replaced with the real\nvalue at install time.\n\nThe following template variables are provided by default:\n\n- `dasherizedPackageName`\n- `classifiedPackageName`\n- `dasherizedModuleName`\n- `classifiedModuleName`\n- `camelizedModuleName`\n\n`packageName` is the project name as found in the project's\n`package.json`.\n\n`moduleName` is the name of the entity being generated.\n\nThe mechanism for providing custom template variables is\ndescribed below.\n\n## Index.js\n\nCustom installation and uninstallation behavior can be added\nby overriding the hooks documented below. `index.js` should\nexport a plain object, which will extend the prototype of the\n`Blueprint` class. If needed, the original `Blueprint` prototype\ncan be accessed through the `_super` property.\n\n```js\nmodule.exports = {\n locals(options) {\n // Return custom template variables here.\n return {};\n },\n\n normalizeEntityName(entityName) {\n // Normalize and validate entity name here.\n return entityName;\n },\n\n fileMapTokens(options) {\n // Return custom tokens to be replaced in your files\n return {\n __token__(options){\n // logic to determine value goes here\n return 'value';\n }\n }\n },\n\n filesPath(options) {\n return path.join(this.path, 'files');\n },\n\n beforeInstall(options) {},\n afterInstall(options) {},\n beforeUninstall(options) {},\n afterUninstall(options) {}\n\n};\n```\n\n## Blueprint Hooks\n\n### beforeInstall & beforeUninstall\n\nCalled before any of the template files are processed and receives\nthe `options` and `locals` hashes as parameters. Typically used for\nvalidating any additional command line options or for any asynchronous\nsetup that is needed. As an example, the `controller` blueprint validates\nits `--type` option in this hook. If you need to run any asynchronous code,\nwrap it in a promise and return that promise from these hooks. This will\nensure that your code is executed correctly.\n\n### afterInstall & afterUninstall\n\nThe `afterInstall` and `afterUninstall` hooks receives the same\narguments as `locals`. Use it to perform any custom work after the\nfiles are processed. For example, the built-in `route` blueprint\nuses these hooks to add and remove relevant route declarations in\n`app/router.js`.\n\n### Overriding Install\n\nIf you don't want your blueprint to install the contents of\n`files` you can override the `install` method. It receives the\nsame `options` object described above and must return a promise.\nSee the built-in `resource` blueprint for an example of this.",
"is_constructor": 1,
"extends": "CoreObject",
"params": [
{
"name": "blueprintPath",
"description": "",
"type": "String",
"optional": true
},
{
"name": "blueprintOptions",
"description": "",
"type": "Object",
"optional": true
}
]
},
"Builder": {
"name": "Builder",
"shortname": "Builder",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/models/builder.js",
"line": 14,
"description": "Wrapper for the Broccoli [Builder](https://github.com/broccolijs/broccoli/blob/master/lib/builder.js) class.",
"access": "private",
"tagname": ""
},
"Command": {
"name": "Command",
"shortname": "Command",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/models/command.js",
"line": 46,
"description": "The base class for all CLI commands."
},
"HardwareInfo": {
"name": "HardwareInfo",
"shortname": "HardwareInfo",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": ""
},
"Instrumentation": {
"name": "Instrumentation",
"shortname": "Instrumentation",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/models/instrumentation.js",
"line": 38,
"description": "An instance of this class is used for invoking the instrumentation\nhooks on addons.\n\nThe instrumentation types currently supported are:\n\n* init\n* build\n* command\n* shutdown",
"access": "private",
"tagname": ""
},
"Project": {
"name": "Project",
"shortname": "Project",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/models/project.js",
"line": 29,
"description": "The Project model is tied to your package.json. It is instantiated\nby giving {{#crossLink \"Project/closestSync:method\"}}{{/crossLink}}\nthe path to your project.",
"is_constructor": 1,
"params": [
{
"name": "root",
"description": "Root directory for the project",
"type": "String"
},
{
"name": "pkg",
"description": "Contents of package.json",
"type": "Object"
},
{
"name": "ui",
"description": "",
"type": "UI"
},
{
"name": "cli",
"description": "",
"type": "CLI"
}
]
},
"ServeFilesAddon": {
"name": "ServeFilesAddon",
"shortname": "ServeFilesAddon",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/tasks/server/middleware/broccoli-serve-files/index.js",
"line": 6,
"description": "This addon is used to serve the requested assets and set the required response\nheaders. It runs after broccoli-watcher addon.",
"is_constructor": 1
},
"WatcherAddon": {
"name": "WatcherAddon",
"shortname": "WatcherAddon",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/tasks/server/middleware/broccoli-watcher/index.js",
"line": 7,
"description": "This addon is used to set the default response headers for the assets that will be\nserved by the next middleware. It waits for the watcher promise to resolve before\nsetting the response headers.",
"is_constructor": 1
},
"HistorySupportAddon": {
"name": "HistorySupportAddon",
"shortname": "HistorySupportAddon",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/tasks/server/middleware/history-support/index.js",
"line": 8,
"description": "This addon is used to serve the `index.html` file at every requested\nURL that begins with `rootURL` and is expecting `text/html` output.",
"is_constructor": 1
},
"TestsServerAddon": {
"name": "TestsServerAddon",
"shortname": "TestsServerAddon",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/tasks/server/middleware/tests-server/index.js",
"line": 9,
"description": "This addon is used to serve the QUnit or Mocha test runner\nat `rootURL + '/tests'`.",
"is_constructor": 1
},
"AmdTransformAddon": {
"name": "AmdTransformAddon",
"shortname": "AmdTransformAddon",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/tasks/transforms/amd/index.js",
"line": 4,
"description": "This addon is used to register a custom AMD transform for app and addons to use.",
"is_constructor": 1
},
"NpmTask": {
"name": "NpmTask",
"shortname": "NpmTask",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/tasks/npm-task.js",
"line": 14,
"access": "private",
"tagname": "",
"is_constructor": 1,
"params": [
{
"name": "options",
"description": "",
"type": "Object"
}
]
},
"WindowsSymlinkChecker": {
"name": "WindowsSymlinkChecker",
"shortname": "WindowsSymlinkChecker",
"classitems": [],
"plugins": [],
"extensions": [],
"plugin_for": [],
"extension_for": [],
"module": "ember-cli",
"namespace": "",
"file": "lib/utilities/windows-admin.js",
"line": 6,
"description": "On Windows, users will have a much better experience if symlinks are enabled\n and usable. When queried, this object informs Windows users regarding\n improving their build performance, and how.\n > Windows Vista: nothing we can really do, so we fall back to junctions for folders + copying of files\n <= Windows Vista: symlinks are available but using them is somewhat tricky\n * if the user is an admin, the process needs to have been started with elevated privileges\n * if the user is not an admin, a specific setting needs to be enabled\n <= Windows 10\n * if developer mode is enabled, symlinks \"just work\"\n * https://blogs.windows.com/buildingapps/2016/12/02/symlinks-windows-10\n```js\n let checker = WindowsSymlinkChecker;\n let {\n windows,\n elevated\n } = await = checker.checkIfSymlinksNeedToBeEnabled(); // aslso emits helpful warnings\n ```",
"access": "public",
"tagname": ""
}
},
"elements": {},
"classitems": [
{
"file": "lib/broccoli/ember-app.js",
"line": 163,
"description": "Initializes the `tests` and `hinting` properties.\n\nDefaults to `false` unless `ember test` was used or this is *not* a production build.",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "_initTestsAndHinting",
"params": [
{
"name": "options",
"description": "",
"type": "Object"
}
],
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 179,
"description": "Initializes the `project` property from `options.project` or the\nclosest Ember CLI project from the current working directory.",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "_initProject",
"params": [
{
"name": "options",
"description": "",
"type": "Object"
}
],
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 200,
"description": "Initializes the `options` property from the `options` parameter and\na set of default values from Ember CLI.",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "_initOptions",
"params": [
{
"name": "options",
"description": "",
"type": "Object"
}
],
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 321,
"description": "Resolves a path relative to the project's root",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "_resolveLocal",
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 331,
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "_initVendorFiles",
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 358,
"description": "Returns the environment name",
"access": "public",
"tagname": "",
"static": 1,
"itemtype": "method",
"name": "env",
"return": {
"description": "Environment name",
"type": "String"
},
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 370,
"description": "Delegates to `broccoli-concat` with the `sourceMapConfig` option set to `options.sourcemaps`.",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "_concatFiles",
"params": [
{
"name": "tree",
"description": ""
},
{
"name": "options",
"description": ""
}
],
"return": {
"description": ""
},
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 385,
"description": "Checks the result of `addon.isEnabled()` if it exists, defaults to `true` otherwise.",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "_addonEnabled",
"params": [
{
"name": "addon",
"description": "",
"type": "Addon"
}
],
"return": {
"description": "",
"type": "Boolean"
},
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 397,
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "_addonDisabledByExclude",
"params": [
{
"name": "addon",
"description": "",
"type": "Addon"
}
],
"return": {
"description": "",
"type": "Boolean"
},
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 408,
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "_addonDisabledByInclude",
"params": [
{
"name": "addon",
"description": "",
"type": "Addon"
}
],
"return": {
"description": "",
"type": "Boolean"
},
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 419,
"description": "Returns whether an addon should be added to the project",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "shouldIncludeAddon",
"params": [
{
"name": "addon",
"description": "",
"type": "Addon"
}
],
"return": {
"description": "",
"type": "Boolean"
},
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 435,
"description": "Calls the included hook on addons.",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "_notifyAddonIncluded",
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 471,
"description": "Calls the importTransforms hook on addons.",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "_importAddonTransforms",
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 520,
"description": "Loads and initializes addons for this project.\nCalls initializeAddons on the Project.",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "initializeAddons",
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 547,
"description": "Returns a list of trees for a given type, returned by all addons.",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "addonTreesFor",
"params": [
{
"name": "type",
"description": "Type of tree",
"type": "String"
}
],
"return": {
"description": "List of trees",
"type": "Array"
},
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 559,
"description": "Runs addon post-processing on a given tree and returns the processed tree.\n\nThis enables addons to do process immediately **after** the preprocessor for a\ngiven type is run, but before concatenation occurs. If an addon wishes to\napply a transform before the preprocessors run, they can instead implement the\npreprocessTree hook.\n\nTo utilize this addons implement `postprocessTree` hook.\n\nAn example, would be to apply some broccoli transform on all JS files, but\nonly after the existing pre-processors have run.\n\n```js\nmodule.exports = {\n name: 'my-cool-addon',\n postprocessTree(type, tree) {\n if (type === 'js') {\n return someBroccoliTransform(tree);\n }\n\n return tree;\n }\n}\n\n```",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "addonPostprocessTree",
"params": [
{
"name": "type",
"description": "Type of tree",
"type": "String"
},
{
"name": "tree",
"description": "Tree to process",
"type": "Tree"
}
],
"return": {
"description": "Processed tree",
"type": "Tree"
},
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 596,
"description": "Runs addon pre-processing on a given tree and returns the processed tree.\n\nThis enables addons to do process immediately **before** the preprocessor for a\ngiven type is run. If an addon wishes to apply a transform after the\npreprocessors run, they can instead implement the postprocessTree hook.\n\nTo utilize this addons implement `preprocessTree` hook.\n\nAn example, would be to remove some set of files before the preprocessors run.\n\n```js\nvar stew = require('broccoli-stew');\n\nmodule.exports = {\n name: 'my-cool-addon',\n preprocessTree(type, tree) {\n if (type === 'js' && type === 'template') {\n return stew.rm(tree, someGlobPattern);\n }\n\n return tree;\n }\n}\n```",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "addonPreprocessTree",
"params": [
{
"name": "type",
"description": "Type of tree",
"type": "String"
},
{
"name": "tree",
"description": "Tree to process",
"type": "Tree"
}
],
"return": {
"description": "Processed tree",
"type": "Tree"
},
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/ember-app.js",
"line": 632,
"description": "Runs addon lintTree hooks and returns a single tree containing all\ntheir output.",
"access": "private",
"tagname": "",
"itemtype": "method",
"name": "addonLintTree",
"params": [
{
"name": "type",
"description": "Type of tree",
"type": "String"
},
{
"name": "tree",
"description": "Tree to process",
"type": "Tree"
}
],
"return": {
"description": "Processed tree",
"type": "Tree"
},
"class": "EmberApp",
"module": "ember-cli"
},
{
"file": "lib/broccoli/embe