Commit Graph

6927 Commits

Author SHA1 Message Date
470997ebb9 docs(aio): add cookbook doc 2017-02-06 12:08:57 -08:00
bcba0332a6 docs(aio): add examples to test cookbook doc 2017-02-06 12:08:57 -08:00
41db177d0c test(upgrade): test projection on downgraded components with structural directives (#14276)
Brings the tests of #14274 to master.

PR Close #14276
2017-02-03 15:08:26 -06:00
e4b76a493f ci: add petebacondarwin to the angular.io pullapprove group (#14268)
PR Close #14268
2017-02-03 15:08:02 -06:00
a2a290a83c ci: add 'public-api' pullapprove group (#14268) 2017-02-03 15:07:58 -06:00
14d7844b2b feat(core): view engine - integrate with ComponentFactory (#14237)
`ComponentFactory`s can now be created from a `ViewDefinitionFactory` via
`RefFactory.createComponentFactory`.

This commit also:
- splits `Services` into `Refs` and `RootData`
- changes `ViewState` into a bitmask
- implements `ViewContainerRef.move`

Part of #14013

PR Close #14237
2017-02-03 15:07:12 -06:00
388afa414e test(compiler): add integration like tests to compiler unit tests (#14157)
Closes PR #14157

PR Close #14157
2017-02-03 15:06:51 -06:00
4370049cea fix(build): make fsevents an optional dependency in npm (#13945)
PR Close #13945
2017-02-03 15:05:43 -06:00
fb91b2fe78 ci(aio): refactor the protractor config (#14248)
1. Use `jasmine` as framework instead of `jasmine2`.
   (Since angular/protractor@2bde92b, `jasmine2` is an alias for `jasmine`.)
2. Simplify the `chromeOptions` config by always setting.
   (If `process.env.CHROME_BIN` is not defined, `binary` will be ignored.)
2017-02-03 07:44:34 -08:00
0ba5bebf61 build: modularize the gulp file to be easier to maintain (#14259)
This is a precursor to bringing in some of the gulp tasks from angular.io,
which could lead to the gulpfile becoming unwieldy.
2017-02-03 00:10:41 -08:00
a9096437fd feat(aio): delete unused kruft 2017-02-02 23:28:00 -08:00
31d42d87c6 ci: bump node version to 6.9.5 and npm to 3.10.7
this is required by @angular/cli
2017-02-02 23:28:00 -08:00
20a7e26d1e build(aio): switch local angular-cli to @angular/cli
karma.conf merge with angular cli change
2017-02-02 23:28:00 -08:00
6e2c9cb586 feat(aio): add initial doc viewer
with lots of fixes from Igor and Ward <3
2017-02-02 23:28:00 -08:00
559cf9d192 docs(changelog): add changelog for 4.0.0-beta.6 4.0.0-beta.6 2017-02-02 21:19:27 -08:00
1961332f26 chore(release): cut the 4.0.0-beta.6 release 2017-02-02 21:01:27 -08:00
f9b929f28d docs(changelog): add changelog for 2.4.6 2017-02-02 20:06:57 -08:00
69a4bb0bcd doc: standardize deprecation of preserveQueryParams (4.0 only) (#14236)
PR closes #14236
2017-02-01 16:48:19 -08:00
a7479f657a fix: ngModel should use rxjs/symbol/observable to detect observable (#14236)
PR closes #14236
2017-02-01 16:47:41 -08:00
bc20e8ac9d ci: increase git fetch depth to 150 2017-02-01 15:16:48 -08:00
a05e50fda3 feat(core): view engine - add missing DI features (#14225)
Part of #14013

PR Close #14225
2017-02-01 14:16:01 -06:00
ae7f5f37d2 refactor(core): view engine - remove ViewData.parentDiIndex (#14225)
Instead, calculate it on the fly

Part of #14013
2017-02-01 14:15:47 -06:00
45e1e36477 feat(core): view engine - add support for OnPush and detached views. (#14216)
Part of #14013

PR Close #14216
2017-02-01 14:15:47 -06:00
08ff67ea11 feat(core): view engine - add WrappedValue support (#14216)
Part of #14013
2017-02-01 14:15:38 -06:00
1bc5368ea0 fix: closure compiler warning (#14229)
PR Close #14229
2017-02-01 14:11:52 -06:00
093cc04748 fix(common): DatePipe parses input string if it's not a valid date in browser (#13895)
Closes #12334
Closes #13874

PR Close #13895
2017-02-01 14:01:58 -06:00
9d2c71269b refactor(common): remove isDate from facade (#13895) 2017-02-01 14:01:46 -06:00
80d3e14ce4 docs(contributing): fix typo (#14218) 2017-02-01 11:26:12 -08:00
ef48ee0a0a build(aio): remove formatting and styles from dgeni templates
Much of the formatting was hardcoded and copied from the old anguar.io
jade files. This gives us a clean start.

Also, more use has been made of include files to make the templates
easier to understand and manage.
2017-02-01 11:11:43 -08:00
ec8e68ed56 buid(aio): ignore example-region docs in keyword generation 2017-02-01 11:11:43 -08:00
0a29574d98 feat(core): view engine - support content projection (#14209)
Part of #14013

PR Close #14209
2017-02-01 09:29:51 -06:00
86b2b2504f feat(common): rename underlying NgFor class and add a type parameter (#14104)
Note, this affects the underlying class and should not affect usage.

DEPRECATION:
- the `NgFor` class is now deprecated. Use `NgForOf<T>` instead.
  IMPORTANT: Only the `NgFor` class is deprecated, not the `ngFor`
  directive. The `*ngFor` and related directives are unaffected by
  this change  as references to the `NgFor` class generated from
  templates will be automatically converted to references to
  `NgForOf<T>` without requiring any template modifications.
- `TrackByFn` is now deprecated. Use `TrackByFunction<T>` instead.

Migration:
- Replace direct references to the `NgFor` class to `NgForOf<any>`.
- Replace references to `TrackByFn` to `TrackByFunction<any>`.

BREAKING CHANGE:
A definition of `Iterable<T>` is now required to correctly compile
Angular applications. Support for `Iterable<T>` is not required at
runtime but a type definition `Iterable<T>` must be available.

`NgFor`, and now `NgForOf<T>`, already supports `Iterable<T>` at
runtime. With this change the type definition is updated to reflect
this support.

Migration:
- add "es2015.iterable.ts" to your tsconfig.json "libs" fields.

Part of #12398

PR Close #14104
2017-02-01 09:29:51 -06:00
69e14b500b feat(compiler): generate type parameters for generic type references (#14104) 2017-02-01 09:29:51 -06:00
1079b9381c feat(tsc-wrapped): record arity of generic classes (#14104) 2017-02-01 09:29:51 -06:00
7670cc1a86 feat(upgrade): export VERSION from upgrade/static (#14037)
PR Close #14037
2017-02-01 09:29:51 -06:00
ea63676970 refactor(upgrade): use shared code in downgradeNg2Component() (#14037)
This unified the implementations of dynamic's `downgradeNg2Component()` and
static's `downgradeComponent()`.
2017-02-01 09:29:51 -06:00
1367cd9569 fix(upgrade): respect hierarchical injectors for downgraded components (#14037)
Correctly wire up hierarchical injectors for downgraded components in
`upgrade/static`: Downgraded components inherit the injector of the first
downgraded component up the DOM tree.

This is similar to (part of) d91a86a, but for `upgrade/static`.

POSSIBLE BREAKING CHANGE:

In order to enable more control over the wiring of downgraded components and
their content (which eventually allows better control over features like
injector setup and content projection), it was necessary to change the
implementation of the directives generated for downgraed components.

The directives are now terminal and manually take care of projecting and
compiling their contents in the post-linking function. This is similar to how
the dynamic version of `upgrade` does it.

This is not expected to affect apps, since the relative order of individual
operations is preserved. Still, it is difficult to predict how every possible
usecase may be affected.
2017-02-01 09:29:51 -06:00
9aafdc7b02 feat(upgrade): allow non-element selectors for downgraded components (#14037)
This affects the dynamic version of `upgrade` and makes it more consistent with
the static version, while removing an artificial limitation.

This commit also refactors the file layout and code, in order to share code wrt
to dowgrading components between the dynamic and static versions.
2017-02-01 09:29:51 -06:00
1f90f29369 feat(upgrade): return a function (instead of array) from downgradeInjectable() (#14037)
This makes it more consistent with the dynamic version of `upgrade` and makes it
possible to share code between the dynamic and static versions.

This commit also refactors the file layout, moving common and dynamic-specific
files to `common/` and `dynamic/` directories respectively and renaming `aot/`
to `static/`.

Some private keys, used as AngularJS DI tokens, have also been renamed, but this
should  not affect apps, since these keys are undocumented and not supposed to
be used externally.

BREAKING CHANGE:

Previously, `upgrade/static/downgradeInjectable` returned an array of the form:

```js
['dep1', 'dep2', ..., function factory(dep1, dep2, ...) { ... }]
```

Now it returns a function with an `$inject` property:

```js
factory.$inject = ['dep1', 'dep2', ...];
function factory(dep1, dep2, ...) { ... }
```

It shouldn't affect the behavior of apps, since both forms are equally suitable
to be used for registering AngularJS injectable services, but it is possible
that type-checking might fail or that current code breaks if it relies on the
returned value being an array.
2017-02-01 09:29:51 -06:00
49fce37013 ci: fix .pullapprove.yaml'sfile conditions (#14214)
According to [the docs](http://docs.pullapprove.com/groups/conditions/), the correct keywords are `include`/`exclude`, without the trailing `s`.
2017-01-31 22:15:19 -08:00
676081fe66 ci(aio): fix and enable e2e tests on Travis (#14174) 2017-01-31 21:59:37 -08:00
e0e5e78835 fix: lint errors to make circle-ci green 2017-01-31 19:01:48 -06:00
b4214d60a6 fix(compiler): allow expressions or functions in extends (#14158)
Fixes #14154

PR Close #14158
2017-01-31 18:35:10 -06:00
8270bec343 fix: failing integration test 2017-01-31 16:29:13 -08:00
5921c872b6 fix(compiler): only lex messages that are needed by angular (#14208)
To avoid the lexer erroring on syntax not supported by Angular.

PR Close #14208
2017-01-31 16:21:55 -06:00
52b21275f4 feat(core): view engine - add debug information (#14197)
Creates debug information for the renderer,
and also reports errors relative to the
declaration place in the template.

Part of #14013

PR Close #14197
2017-01-31 16:21:54 -06:00
c48dd76f5c build: move typings_test to new integration test fixture (#14149)
PR Close #14149
2017-01-31 15:46:59 -06:00
49fb8143e8 fix(language-service): do not crash when Angular cannot be located (#14123)
Fixes #14122

PR Close #14123
2017-01-31 15:45:52 -06:00
5f2b3173d7 fix(http): use params without RequestOptions (#14101)
`params` has been introduced in 4.0.0-beta.0

Before:

    http.get(url, new RequestOptions({params: searchParams}))

After:

    http.get(url, {params: searchParams})

Fixes #14100

PR Close #14101
2017-01-31 15:44:49 -06:00
c87c3bec93 feat(router): deprecate preserveQueryParams,add queryParamsHandling (#14095)
PR Close #14095
2017-01-31 15:43:25 -06:00