* Now re-runs the given deploy mode a second time if failed the first time. This ensure that deployment works fine most of the time and should also avoid conflicts between different Travis CI jobs that are deplyoing at the same time.
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
Currently the custom TSLint rules of the repository had to be pushed as JavaScript files because TSLint was only able to run them as JavaScript files.
Recently with TSLint 5.7.0 (https://github.com/palantir/tslint/commit/90dd3f472199c68662eaecc47663969cb8ea6ed1), custom rules can be also loaded directly as TypeScript files in combination with ts-node.
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)
* feat: update to Angular 4.3
* Bumps the Angular requirement to 4.3. This is also a prerequisite to the Angular 5 update since we encountered the same errors there.
* Refactors the sidenav not to use a `Promise.resolve` for toggling the initial animation, because it was making it impossible to flush the animations in unit tests. The new simplified approach uses a property to pass the animation state.
* Fixes the nested menu test failures.
* Fixes a "changed after checked" error in the autocomplete demo app.
Relates to #6454.
* fix: e2e failures
A few custom TSLint rules already accept an option array that can be used to whitelist specific files. These whitelists are based on normal Regular Expressions which do not work very well for path matching.
This commit changes the existing whitelists to use minimatch, which is a package that allows matching strings/paths against globs. For rules like `requireLicenseBanner` where the whitelist is hardcoded right now, the whitelist has been introduced as well.
Updates tslint to 5.5.0 and resolves some errors that weren't being caught before. This version also has the advantage of printing out the full stack trace if one of the rules throws an error.
* Fixes the stylelint deprecation warning
* Fixes that stylelint lints the compiled bundles from `dist/` folders of the `dashboard` or `screenshot` app
* Updates the package-lock with NPM@5.1
* At some point the `@types/rx` package has been added as a dependency on the project. The `@types/rx` are not for the RxJS implementation that Angular uses. Also RxJS provides typings on it's own since it's build using TypeScript.
Apparently developers that clone the Material repository to get their own version of Material are running the `npm run build` command and are expecting the CDK and Material release output to be inside of the `dist/` folder.
Currently only the Material package will be built and the CDK isn't built at all. This commit changes the npm build task so that it builds every release package of the publish task.
Closes#5372
* No longer includes the license comments from every source file in the different FESM and UMD bundles.
* Build packages are now emitted with explicit `LF` line endings instead of platform dependent line endings.
The dependency on `tsc-wrapped` should be added explicitly. Our tooling uses the `@angular/tsc-wrapped` package directly and it currently only works because the `@angular/compiler-cli` has a dependency on it.
If not specified explicitly, the `@angular/tsc-wrapped` dependency might be a local dependency of the compiler-cli and our tooling won't be able to access it anymore.
Recently Dgeni switch to a more recent version of TypeScript and now getters and setters are counting as individual members. This causes different properties to show up twice in the API docs.
Fixes this temporary by filtering duplicate member docs. Also removes the inhertied docs processor since it doesn't work and needs some more work in the `dgeni-packages` repository.
Fixes#4923
Fixes the Universal Prerendering task by using the same workaround as for the AOT job (building sources in the output directory already)
Building the sources in the output directory (similar as for the AOT task) is theonly known workaround for https://github.com/angular/angular/issues/12249
* In components inline styles there shouldn't be any Sourcemap reference. This adds bloat and also doesn't do anything right now.
* No longer builds sourcemaps for all compiled SCSS. The sourcemaps don't work for development either (styles are inlined too)
* Prebuilt themes no longer contain source-maps.
* build: upgrade dev dependencies
* Upgrades outdated development dependencies to the latest versions.
* Skipped upgrading Autoprefixer due to a breaking change with the Browserlist.
* Skipped upgrading UglifyJS due to unresolved issues in UglifyJS3
* Skipped upgrading google-closure-compiler due to https://github.com/alexeagle/closure-compiler-angular-bundling/issues/30
* Skipped upgrading jasmine types because they now enforce types in `expect` calls (which is nice) but for Protractor the `expect` automatically unwraps promises (See https://github.com/angular/protractor/issues/4176)
* Lock jasmine types
* 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
* Fixes the Google Cloud Storage upload for the goldens.
The issue seems to happen because the `@google-cloud/storage` package has been installed manually and the `google-cloud` now uses a different storage version than before. Noticed this while debugging the `google-cloud` package.
* At some point in tslint the `no-unused-variable` rule has been deprecated in favor of `noUnusedLocals` and `noUnusedParameters`. Since we don't want to have compilation errors for unused variables we re-implemented the `no-unused-variable` rule ourself and used it as a custom rule.
* Recently we switched to a newer version of TSLint and TypeScript and the custom tslint rule won't ever work again. (tslint now requires a type-checker to be enabled). The custom rule fails currently and causes TSLint to not work with some editors (e.g Webstorm).