Refactors all of the usages of the deprecated `Http` by replacing them with the `HttpClient`.
BREAKING CHANGE: Material now requires `@angular/common` instead of `@angular/http` and uses `HttpClient` instead of `Http`.
Before this change, all of `@angular/material` was bundled into a
single, flat JS file.
After this change, each top-level component (i.e., each directory under
`src/lib`) will be have its own JS file (and d.ts and metadata.json).
The benefit of this change is that current versions of webpack will be
able to do a much better job of only including the code an app is using.
It also allows (but does not require) people to explicitly import from specific components,
e.g.
```
import {MdButtonModule} from '@angular/material/button';
``
For development _within Angular Material itself_ we have to use these
deeper imports because the root `@angular/material` doesn't exist until
we build the relase package.
Additionally, this PR adds a `tsconfig.json` for each dir under `src/`
with the correct path mappings for that directory, so that IDEs will
correctly generate imports.
Closure Compiler CI check is also disabled by this PR; it cannot work
with the new package structure until a release with
https://github.com/google/closure-compiler/pull/2600 is made available.
* create moment adapter
* add Moment to karma.conf.js
* use MAT_DATE_LOCALE
* tests are now running
* add in tests
* WIP: demo
* add synthetic default imports for moment
* add locale switching to demo
* fix moment import issues with tests
* fix aot
* address comments
* fix closure issue
* add additional explanation of rollup issue
* remove moment adapter demo since it is preventing sync into g3 (will add
back as a docs example in future PR).
* fix bad rebase
For every Pull Request, a job that runs the Google Closure Compiler against the demo-app will be started. In the past Closure Compiler wasn't able to properly handle CommonJS packages from the node modules.
Now the Google Closure Compiler will be reconfigured to properly handle CommonJS packages (meaning that RxJS no longer needs to be built manually)
* The closure script now detects the CDK entry points from the filesystem. This is important to avoid hard-coding the CDK entry points multiple times in the project.
When testing against closure, RxJS will be re-compiled to target ES2015 modules.
The RxJS tsconfig file takes all `@types` that are installed and due to a recent update of the gulp types, building RxJS fails now.
* build: use shared logic to build packages
* No longer creates the whole set of gulp tasks just to build a single package.
* Makes the package building & releasing more consistent. No extra `build:release` just for the `lib` package.
References #4108
* Address feedback
* Due to the TSConfig file renaming in #3791 and the fact that they were merged at the same time, the path in the closure-compiler script is now invalid.
* build: run closure-compiler
* Adds a script that runs the closure-compiler against the devapp / demo-app.
* The script will run on the CI as a new mode. Ensuring that all our components are closure-compatible.
Fixes#1206.
* Address feedback