Commit Graph

6681 Commits

Author SHA1 Message Date
Victor Berchet fc9e6b2a0a docs: add details about `OpaqueToken` deprecation in the changelog (#14790) 2017-03-01 08:01:08 -08:00
Martin Probst 968995a4c6 fix(upgrade): fix upgrade component Closure optimization. (#14801)
$scope and $element are passed to AngularJS, which is not optimized
together with the app. That means properties must be quoted to prevent
renaming.
2017-03-01 06:49:25 -08:00
Tobias Bosch 5ba55b0e04 fix(compiler): fix identifier names of `EMPTY_MAP` / `EMPTY_ARRAY` (#14806) 2017-02-28 14:16:26 -08:00
Tobias Bosch 126fda2613 perf: delete pre-view-engine core, compiler, platform-browser, etc code (#14788)
After the introduction of the view engine, we can drop a lot of code that is not used any more.

This should reduce the size of the app bundles because a lot of this code was not being properly tree-shaken by today's tools even though it was dead code.
2017-02-27 23:08:19 -08:00
Dzmitry Shylovich e58cb7ba08 docs: fix animations module instructions in the changelog (#14729)
Closes #14728
2017-02-27 16:17:14 -08:00
Tobias Bosch 5caab71f7d refactor: make identifiers for generated code small to improve dev size 2017-02-27 14:50:41 -08:00
Tobias Bosch d2e42567a6 fix(core): call lifecycle hooks for siblings in declaration order 2017-02-27 14:50:41 -08:00
Tobias Bosch 14d37fe052 refactor(core): move `NodeType` and `ProviderType` into `NodeFlags`
Also removes `ng-reflect` attributes for element properties.
2017-02-27 14:50:41 -08:00
Mike Brocchi f356041f09 docs: update version in changelog to reflect RC.1 (not 0) (#14740) 2017-02-27 11:26:16 -08:00
Tobias Bosch 77682a3397 fix(compiler): quote `animation` in `RendererTypeV2` and skip if empty (#14773) 2017-02-27 11:23:37 -08:00
Igor Minar 213e210a93 docs: changelog - add anchor to the FESM section 2017-02-25 20:17:02 -08:00
Igor Minar c868457e21 docs: improve Flat ES Modules docs 2017-02-25 20:15:50 -08:00
Igor Minar f32f4de95c docs: more changelog fixes 2017-02-24 18:24:18 -08:00
Igor Minar 26ed2621a3 docs: fix typo in the changelog 2017-02-24 18:22:30 -08:00
Igor Minar c7d1b3664b docs: update release schedule due to bad 4.0.0-rc.0 release 2017-02-24 18:08:28 -08:00
Igor Minar da79ad3cec build: cut 4.0.0-rc.1
rc.0 is not part of the repo history because of a missing fix that was discovered after publishing to npm
2017-02-24 18:03:23 -08:00
Igor Minar 7b02eae0e8 build: manually bump tsc-wrapped version to rc.0 2017-02-24 17:57:55 -08:00
Igor Minar 0c01d990bf docs: add changelog for 4.0.0-rc.0 2017-02-24 17:57:55 -08:00
Tobias Bosch 2602b039b4 fix(animations): ignore triggers that are registered multiple times (#14723) 2017-02-24 16:28:14 -08:00
Tobias Bosch 9186068df1 fix(animations): always create a new `AnimationRenderer`
E.g. for no view encapsulation, the delegate will always be the same.
Nevertheless, we still need to create a new `AnimationRenderer` per
component.

Attention: This change will conflict with a local mod in G3.
2017-02-24 16:27:45 -08:00
Tobias Bosch 8824e39325 refactor(platform-browser): extract animations providers into separate file
This is needed so that we can use them in a local modification in G3.

Attention: This change will conflict with a local mod in G3.
2017-02-24 16:27:45 -08:00
Jason Aden 932a02f1c5 build(language-service): fix tsconfig needed for language-service rollup (#14717) 2017-02-24 15:16:23 -08:00
Igor Minar 3c9a46c231 fix(core): fix directive instantiation (#14715)
this issue was discovered in g3 and the patch was confirmed there.

we should add a test as a followup up change.
2017-02-24 13:03:55 -08:00
Tobias Bosch 436a179552 fix(animations): properly cache renderer and namespace triggers (#14703)
- Don’t use the animation renderer if a component
  used style encapsulation but no animations.
- The `AnimationRenderer` should be cached in the same
  lifecycle as its delegate.
- Trigger names need to be namespaced per component type.
2017-02-24 12:10:19 -08:00
Chuck Jazdzewski 5094aef8fd fix(compiler-cli): fix flat module import on Windows (#14712) 2017-02-24 11:52:18 -08:00
Matias Niemelä 93ddd38107 refactor(animations): make modules and bundles into plural Animations (#14695) 2017-02-24 09:36:58 -08:00
Matias Niemelä 32c2fd5c9f refactor(animations): change NoOp -> Noop (#14690) 2017-02-24 00:32:19 -08:00
Peter Bacon Darwin 1f3198cb50 feat(aio): copy example code from angular.io 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 3e34ba01bd docs(aio): migrate content docs from angular.io
This content was generated by a tool: https://github.com/petebacondarwin/aio-migrator
2017-02-23 23:23:58 -08:00
Peter Bacon Darwin c3247c64a4 docs(aio): remove unused partial file 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 1282da1b14 feat(aio): support unannotated JSON example files 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 1c08f1a6b2 fix(aio): remove unused extractTitleFromGuides processor 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin dfed388139 fix(aio): convert API and content docs to JSON 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 5e9474d24c feat(aio): include guide and tutorial in the doc generation 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin b92f52649b fix(aio): remove unused `getExampleFilename` service 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 3f8d5ac478 feat(aio): support annotating JSON files with doc-regions
This change allows the example writer to add doc-region annotations to
files that do not allow comments. This is done by creating a clone of the
file and adding `.annotated` to the file name. This new file can contain
inline `// ...` comments that can be used to annotate the doc regions.

Example:

**package.json**

```
{
  "name": "angular.io",
  "version": "0.0.0",
  "main": "index.js",
  "repository": "git@github.com:angular/angular.git",
  "author": "Angular",
  "license": "MIT",
  "private": true,
}
````

**package.json.annotated**

```
{
  "name": "angular.io",
// #docregion version
  "version": "0.0.0",
// #enddocregion
  "main": "index.js",
  "repository": "git@github.com:angular/angular.git",
  "author": "Angular",
  "license": "MIT",
  "private": true,
}
````

This region can then be referenced in examples just like any other doc region:

```
{@example 'package.json' region="version"}
```
2017-02-23 23:23:58 -08:00
Peter Bacon Darwin bee567afad fix(aio): add `@suppress` tag that is used in the API docs 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 649bab8ff8 fix(aio): handle html docregions that do not end on the same line 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin 6a9251874b fix(aio): region parser error line numbers were off by one 2017-02-23 23:23:58 -08:00
Peter Bacon Darwin c208f97461 fix(aio): correctly handle "empty" region names 2017-02-23 23:23:58 -08:00
Jason Aden 2da3844673 build(language-service): support deep import bundling of language services (#14689) 2017-02-23 22:53:17 -08:00
Victor Berchet 41da5998cd feat(router): add an option to rerun guards and resolvers when query changes (#14624)
Closes #14514
Closes #14567
2017-02-23 22:12:30 -08:00
Matias Niemelä be8510356a fix(animations): microtasks should not be timeouts (#14687) 2017-02-23 21:23:57 -08:00
Victor Berchet 01907bafb0 build(platform-server): update parse5 to v3 (#14538) 2017-02-23 21:14:04 -08:00
Marc Laval 39f56fafdd feat(compiler-cli): add an `outFile` option to ng-xi18n
Fixes #11416
Closes #14508
Closes #14657
2017-02-23 20:39:46 -08:00
Marc Laval 234f05996c feat(compiler-cli): add a `locale` option to ng-xi18n
Fixes #12303
Closes #14537
2017-02-23 20:39:46 -08:00
Victor Berchet e99d721612 feat(compiler): Add a `enableLegacyTemplate` option to support `<template>`
When the `enableLegacyTemplate` is set to `false`, `<template>` tags and the
`template` attribute are no more used to define angular templates but are
treated as regular tag and attribute.

The default value is `true`.

In order to define a template, you have to use the `<ng-template>` tag.

This option applies to your application and all the libraries it uses. That is
you should make sure none of them rely on the legacy way to defined templates
when this option is turned off (`false`).
2017-02-23 20:03:16 -08:00
Victor Berchet bf8eb41248 feat(compiler): introduce `<ng-template>`, deprecate `<template>` and `template` attribute
The rationale of this change is to improve the inter-operability with web
components that might make use of the `<template>` tag.

DEPRECATION

The template tags and template attribute are deprecated:

    <template ngFor [ngFor]=items let-item><li>...</li></template>
    <li template="ngFor: let item of items">...</li>

should be rewritten as:

    <ng-template ngFor [ngFor]=items let-item><li>...</li></ng-template>

Note that they still be supported in 4.x with a deprecartion warning in
development mode.

MIGRATION

- `template` tags (or elements with a `template` attribute) should be rewritten
as a `ng-template` tag,
- `ng-content` selectors should be updated to referto a `ng-template` where they
use to refer to a template: `<ng-content selector="template[attr]">` should be
rewritten as `<ng-content selector="ng-template[attr]">`
- if you consume a component relying on your templates being actual `template`
elements (that is they include a `<ng-content selector="template[attr]">`). You
should  still migrate to `ng-template` and make use of `ngProjectAs` to override
the way `ng-content` sees the template:
`<ng-template projectAs="template[attr]">`
- while `template` elements are deprecated in 4.x they continue to work.
2017-02-23 20:03:16 -08:00
Victor Berchet 3f519207a4 refactor(compiler): misc + add a test for directives on inline templates 2017-02-23 20:03:16 -08:00
Dzmitry Shylovich ee747f7d0c refactor(core): change abstract classes for interfaces (#12324)
BREAKING CHANGE: Because all lifecycle hooks are now interfaces
the code that uses 'extends' keyword will no longer compile.

To migrate the code follow the example below:

Before:
```
@Component()
class SomeComponent extends OnInit {}
```
After:
```
@Component()
class SomeComponent implements OnInit {}
```

we don't expect anyone to be affected by this change.

Closes #10083
2017-02-23 18:04:51 -08:00