#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 --filterpod 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-revto 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-revto 0.0.17ember-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.10.2.00.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)