#2458 Added additional file watching mechanism: Watchman
This helps resolve the recent Node + Yosemite file watching issues, but also improves file watching (when available) for all *nix
systems
What is Watchman?
Watchman runs as a standalone service, this allows it to manage file-watching for multiple consumers (in our case ember-cli apps)
How do I used it?
homebrew: brew install watchman
other: https://facebook.github.io/watchman/docs/install.html
windows: not supported yet, but it may happen
What happens if its not installed?
We fall back to the existing watcher NodeWatcher
How do I force it to fallback to NodeWatch
sh
ember <command> --watcher=node
Common problem: invalid watchman found, version: [2.9.8] did not satisfy [^3.0.0]
this basically means you have an older version of watchman installed. Be sure to install 3.0.0
and run watchman shutdown-server
before re-starting your ember server.
server/*
file changesember-cli-esnext
per defaultember test --module
and ember test --filter
pod
mode all the timeDEBUG=ember-cli:* ember <command>
to see ember-cli specific verbose logging.ember init <glob-pattern>
, this allows you to re-blueprint a single file like: ember init app/index.html
--env production
.outputPaths.app.css
optionoutputPaths.app.html
optionAdd much more: view entire diff
broccoli-less-single
, use ember-cli-less
for .less
support now. #2210<meta>
tag. #2219ember test --filter "foo bar"
or ember test --server --filter "foo bar"
will limit test runs
to tests that contain “foo bar” in their module name or test name. #2223content-for
hooks to index.html
and tests/index.html
. #2236ember build --watch
and ember serve
commands. #2237, #2246, and #2297broccoli-asset-rev
to 0.3.1. #2250ember-export-application-global
to allow easier debugging. #2270.gitignore
to properly match bower_components
. #2285baseURL
in ember serve
startup messages. #2291tmp/
being removed due to following of symlinks. #2290 and #2301ember test --server
. This provides a work around for folks having EMFILE
errors in some scenarios. #2296index.html
via storeConfigInMeta
option in the Brocfile.js
. #2298localhost
for the livereload server). #2306bowerDirectory
to Project
model (discovered on initialization). #2287app/index.html
and tests/index.html
. #2236tests/index.html
. #2236tests/index.html
. #2236Blueprint.prototype.addBowerPackagesToProject
. #2222Blueprint.prototype.addPackagesToProject
. #2245addon/styles/app.css
are able to compile properly (copying contents of addon/styles/app.css
into vendor.css
). #2301httpServer
instance to serverMiddleware
(and ./server/index.js
). #2302addon
tree). #2189--pod
option to blueprints for generate and destroy. Add fileMapTokens
hook to blueprints, and optional
blueprint file tokens __path__
and __test__
for pod support. #1994ember build
and ember serve
. #2043<script>
tags. Set the stage for enabling content security policy. #2058environment
and getJSON
options to EmberApp
(in the Brocfile.js
).configPath
option to EmberApp
(in the Brocfile.js
) to allow using a custom file for obtaining configuration
information. #2068app://localhost/
URLs needed for node-webkit. #2088config
information out of the assets/my-app-name.js
file and into a <meta>
tag in the document head
. #2086
<my-app-name>/config/environments/*
from module system output.[BREAKING BUGFIX] Update loader.js
entry in bower.json
to use the proper name.
This requires editing bower.json
to change:
"loader": "stefanpenner/loader.js#1.0.1",
To:
"loader.js": "stefanpenner/loader.js#1.0.1",
* [BREAKING ENHANCEMENT] Replace in `index.html` with
. #2153
addon/
directory is no longer required when running local development server inside an addon. #2044dummy
for all addon’s names). #2042Registry.prototype.remove
to make it easier to remove preprocessor plugins. #2048Registry.prototype.extensionsForType
to make it easier to detect what extensions are support for a given type
of file (js
, css
, or template
files). #2050addon
tree to contain any filetype that is known by the JS preprocessor registry. #2054config
hook). #2133contentFor
method to add string output into the associated
`` section in index.html
. #2153description
for blueprints created by ember generate blueprint
. #2062in-repo-addon
generator. #2072before
and after
options to Blueprint.prototype.insertIntoFile
. #2122git
based application blueprints. #2103modulePrefix
to config/environment.js
. #1933window.MyAppNameENV
. You will now need to import the configuration instead of relying on using the global. #1903. javascript
import ENV from '<appName>/config/environment';
ENV.API_HOST; // example.com
.ember-cli
file and document disableAnalytics. #1801ember test
with a custom baseURL work properly. #1915broccoli-sass
AND broccoli-less
is now possible). #1918startApp
to provide app configuration. #1329env === 'production'
checks. #1929ember help generate
. #1279broccoli-asset-rev
to 0.1.1
. #1945package.json
/bower.json
to depend on ember-data. #1873podModulePrefix
from config/environment.js. #2024ember test
runs nothing. #2025public/
folder will be copied into a folder for that addon’s name
in the output path. #1930addon/styles
tree. Previously, the addon styles tree was looking for addon/styles/styles/
. #1964config
hook for addons. #1972ember-addon
twice when running ember init
(to upgrade an addon). #1982addon/templates
to be properly available inside the my-addon-name.js
file with the correct module name. #1983Blueprint.prototype.lookupBlueprint
which allows a blueprint to lookup other Blueprints. This makes it much easier to provide Blueprints that
augment existing internal blueprints without having to copy and override them completely. #2016app/styles/app.ext
is not found. #1866 and #1894broccoli-caching-writer
to fix performance regression. #1901.bowerrc
without directory
specified does not error. #1902ember g http-mock foo
output to pass JSHint. #1896tests/.jshintrc
. #1782.ember-cli
config file. #1797ember-cli-qunit
version.ember init
stalls on fresh system due to bower install
prompting for permission to use analytics. #1805config/environments.js
(fixes a regression in 0.0.42). #1809config/environments.js
). #1825<base>
tag changes when the config file is updated. #1825/tests/index.html
with the test environment configuration (was previously whatever server was running). #1825bower_components
and vendor
are kept separate for import purposes. When we moved to separate directories for
bower_components/
and vendor/
in 0.0.41, to allow for users to upgrade easier we merged those two folders into one single vendor
tree. This meant that you would still app.import('vendor/baz/foo.js')
and import Foo from 'vendor';
even if the file actually resides in
bower_components/
. This lead to much confusion and forced users to understand the internals that are going on (merging the two directories into vendor/
).
Now you would import things from bower_components/
or vendor/
if that is where they were on disk. #1836ember-cli-qunit
to 0.1.0. To avoid vendoring files in the addon and prevent having to run bower install
within the addon
itself (in a postinstall
hook) the addon now installs its required packages directly into the applications bower.json
file.
This speeds up the build and make addon development much easier. #1877ember g http-proxy
does not truncate the base path on proxied requests. #1874ember g resource
generator. #1817view.state
property. #1826ember g adapter
extend from application adapter if present. #1831ember g adapter
. #1831ember g http-mock
. #1823Blueprint.prototype.addBowerPackageToProject
. #1830Blueprint.prototype.insertIntoFile
. #1857Addon.prototype.blueprintsPath
implementation. Now if an addon has a blueprints/
folder, it will be automatically used
as the blueprintsPath
. #1876CoreObject
into a standalone package (core-object
). #1752baseURL
in test
to allow testem
to function properly with a custom baseURL
specified. #1748broccoli-concat
to solve a performance issue with the recent addon changes (allows better caching when no changes are detected). #1757 and #1766.bowerrc
file back for app
blueprint. Helps alleviate upgrade issues, and ensures a parent directories .bowerrc
cannot break an ember-cli app. #1761app.import
‘ed assets can be properly watched (and trigger a reload upon change). #1774postBuild
hook is called on addons during ember build
. #1775config/environment.js
changes. #1777this._super.someMethodName()
in subclasses of CoreObject. #1721.jshintrc
: disable esnext Promise global (prevents issues when RSVP Promise was intended but
(non-universally-implemented) global Promise was used instead. #1723.bowerrc
file from application blueprint (will still use directory specified in .bowerrc
, but uses the default
of bower_components/
if no .bowerrc
exists). #1679.ember-cli
settings file. #1676__name__
with module name. #1658qunit
support into an addon. #1295ember new foo-bar --dry-run
does not create new directory. #1602addon
tree that will be namespaced with the addons name. #1544assets/
files can be served from public/
or when added via app.import
(using the destDir
). #1549ember-resolver
version (allows for components and their templates to be grouped together). #1540testem
version. #1539originate
from application blueprint.--type
option (and check) to controller
and route
generators. #1498normalizeEntityName
hook before locals
hook #1717ember serve --proxy
#1583loader.js
to 1.0.1
. #1543public/
to contain files in the root of the project. #1549robots.txt
and crossdomain.xml
files in the root of the project. #1550memoize
from EmberApp. Allows multiple EmberApps to be instantiated #1361ember destroy
command (removes files added by generate
command). #1547broccoli-ember-hbs-template-compiler
to 1.6.1
.--output-path
is a parent directory #1730vendor/
) on Windows. #1264app.import
to pull in non-js/css assets from their own vendor/
tree. #1159app.import
to import non-js/css assets, you can now specify the destination of the asset. #1159ember build
failing if the public/ folder was deleted. #1270ember-cli-coffeescript
. To use CoffeeScript with future versions run npm install --save-dev ember-cli-coffeescript
(and broccoli-coffee
is no longer needed as a direct dependency). #1289Blueprint.prototype.normalizeEntityName
’s return value should update the entity name. #1283lastVersionCheckAt
timestamp when the version is checked from npm. #1323broccoli-es3-safe-recast
to fix bugs with incorrectly replaced segments. #1340"
-syntax. #1371process.env.EMBER_ADDON_ENV
to “development”. #config/environment.js
contains an (empty) section for the “test” environment #1401ember new
command #1369LOG_RESOLVER
flag to reduce console.log noise by default. #1431broccoli-asset-rev
to 0.0.17
ember-qunit
to 0.1.8
. #1427templates
tree). #4138ember build --watch
should run until SIGTERM. #1197ember generate
always operate in relation to project root. #1165ember-cli-ember-data
to 0.1.0
. #1178ember-cli-ic-ajax
to prevent warnings. #1180ember generate
. #1184Ember
or Em
to be global in tests. Ember
or Em
needs to be imported. #1201--dry-run
more obvious & add --skip-npm
and --skip-bower
. #1205ember init
inside an existing project #1209ember
command. #1196Brocfile.js
process. #1214broccoli-asset-rev
has been moved to an addon using the standard addon post-processing hooks. #1214app.toTree
to accept an array of additional trees to merge in the final output. #1214app/templates
into its own tree to prevent preprocessing template files as if they were JavaScript. #1238app.import
for assets in the root of vendor/
(this is a significant performance penalty).ember update
command. #899ember test
with failing tests. #1123./server/index.js
file. It now receives the instantiated express
server. #1097ember-qunit-notifications
to 0.0.3
. #1117ember build --watch
#1131Project
model to load the project name and environment configuration (removes boilerplate from Brocfile.js
). #989--port
option through when calling ember test --port 8987
(allows overriding the port when running concurrent ember test
commands). #991.ember-cli
configuration file. #563ember init
. #1000MyApplicationENV
global). #1017.jshintrc
file is looked up in the project’s root. #1019build
, serve
, and test
commands. #1045/dist
by default) up to date with both ember server
and ember build
. #1034ember-cli-ic-ajax
addon to bring in ic-ajax. #1047ember-cli-ember-data
addon to bring in ember-data. #1047ember-addon
as the “addon” keyword. #1071customHash
in fingerprint options. #1024ES3SafeFilter
. #966--watcher
option for switching between polling and events-based file watching. #970ember server
or ember test --server
. #971generate
commands that depend on inflection
. f016820vendor
assets in eval when wrapInEval
is set. #983wrapInEval
by default for application assets when running in development. #983window.MyProjectNameENV
instead of window.ENV
. #922leek
to 0.0.6
. #934leek
upgrade fixes #642, #709ember-data
shim. #941/assets/vendor.js
for vendored code. #949registry
access from EmberApp
. #955EmberENV
is setup (to allow enabling flagged features). #957testem
port to be specified when running ember test --server
. #729EMBER_ENV=production ember build
. #753app/templates/components
directory is created automatically. #761ember-init
, Use app name if specified, over package.json or cwd name. #792node_modules/ember-cli/lib/broccoli/
. #857ember server
and ember test --server
simultaneously. #862wrapInEval
by default. #866tests
and hinting
to new EmberApp()
. #876ember test --server
from bleeding through testem
UI.#877vendor/_loader.js
file. #880ember-resolver
to 0.1.1
(and lock down version in bower.json
). #885baseURL
in your environment.js
now gets the leading and trailing slash automatically if you omit them. #683baseURL
. #683project.require()
can now be used to require files from the user’s project. #683vendor/
assets in build output. #645ember server
. #648app.js
and app.css
files are now named for your application name. #638vendor/
for changes (watching vendor drammatically increases CPU usage). #693ember --help
output for test and version commands. #701testem
version to fix error thrown for certain assertions when running ember test
, also fixes issue with ember test --server
in Node 0.10. #714blueprint.js
to remove unnecessary variable assignment, change double iteration to simple reduce, and remove function that only swapped arguments and called through. #537test-loader.js
for readability and to prevent unnecessary iterations #524Ember.setupForTesting
and
Router.reopen({location: 'none'});
from test helpers #516.^1.1.1
.ic-ajax
exports to prevent import validation warnings. #533ember init
fails on NULL_PROJECT
(#546)Brocfile.js
. #534compress
and mangle
options with uglify-js
. #564ember-cli
has on Windows
. #578Watcher
. #587broccoli-bower
to automatically import vendored files. Use app.import
to import dependencies and specify modules to whitelist. #562proxy-url
and proxy-host
parameters and introduced proxy
param with full proxy url. (#567)package.json
forces an older version of ember-cli
. Fixed in #518.index.html
: Script tags were moved into body, ENV
and the app are now defined in the same script tag.ember test
with Testem integration (388).ember help
now offers nicely colored output0.0.1
0.2.0
0.9.0
v0.9.0 brocfile changesconfig/environments.js
to pass options to Ember.Application.create
. (#370)tmp/output/
when running ember server
. This is very useful for
debugging the current Broccoli tree without manually running ember build
. (#457)ember test --server
to run the testem
command line server. ember test --server
will automatically re-run your tests after a rebuild. #474app/
and test/
trees when building in development. This generates console logs as well as QUnit tests (so that ember test
shows failures). #482package.json
while doing ember init
. This allows you to use a different application name than your folder name. #491ember server --live-reload=false
. #510test
(#256)loader.js
from bower
(0c1e8d28)ic-ajax
(#225)tests
and app
code. Tests are now within ‘assets/tests.js’ (#220).--proxy-port
and --proxy-host
parameters to ember server
command (#40).ember-cli
file to provide default flags to commands (7b90bd9)registerPlugin
method on preprocessor module that allows anyone to register additional plugins (59ddbd)