99 Commits

Author SHA1 Message Date
Igor Minar
501b83441d refactor(forms): remove FORM_PROVIDERS, FORM_DIRECTIVES, REACTIVE_FORM_PROVIDERS, REACTIVE_DIRECTIVES
All of these have been replaced by FormsModule and ReactiveFormsModule.
2016-08-25 13:29:03 -07:00
Alex Eagle
c7a874dd2f feature(ngc): allow codegen to skip over .d.ts inputs () 2016-08-23 16:26:35 -07:00
vikerman
5c93a8800a fix(core): Share private types through an exported interface. ()
Instead of using declare namespace to share the types. This allows the generated code to be compiled with closure with full optimizations.
2016-08-23 16:18:11 -07:00
Chuck Jazdzewski
14a30f3ca0 fix(compiler): Correctly handles references to static methods ()
Fixes: 
2016-08-23 11:58:12 -07:00
Igor Minar
3c2b2ff332 test: fix existing tests by removing usage of obsolete stuff like component level directives, AsyncCompleter and TestComponentBuilder 2016-08-23 09:59:00 -07:00
Chuck Jazdzewski
39a2c39cef feat(compiler): Added "strictMetadataEmit" option to ngc ()
ngc can now validate metadata before emitting to verify it doesn't
contain an error symbol that will result in a runtime error if
it is used by the StaticReflector.

To enable this add the section,

  "angularCompilerOptions": {
    "strictMetadataEmit": true
  }

to the top level of the tsconfig.json file passed to ngc.

Enabled metadata validation for packages that are intended to be
used statically.
2016-08-22 17:37:48 -07:00
Alex Eagle
e0fbca9fb0 feat(ngc): support pathmapping using a separate reflector ()
Until we have comprehensive E2E tests, it's too risky to change the
reflector_host Misko wrote before final. But google3 uses path mapping
and needs all imports to be  and all paths to be canonicalized to
the longest rootDir.

This change introduces a subclass of ReflectorHost with overrides for methods
that differ. After final (or when we have good tests), we'll refactor
them back into one class.
2016-08-22 11:48:33 -07:00
Julie Ralph
bb7d55244d fix(zones): bump zone version to 0.6.15 ()
This fixes issues with microtasks being called too early
in certain tests.
2016-08-19 14:35:26 -07:00
Miško Hevery
8a5eb08672 fix(fakeAsync): have fakeAsync use Proxy zone. ()
Closes 

It is possible for code in `beforeEach` to capture and fork a zone
(for example creating `NgZone` in `beforeEach`). Subsequently the code
in `it` may chose to do `fakeAsync`. The issue is that because the
code in `it` can use `NgZone` from the `beforeEach`. it effectively can
escape the `fakeAsync` zone. A solution is to run all of the test in
`ProxyZone` which allows a test to dynamically replace the rules at any
time. This allows the `beforeEach` to fork a zone, and then `it` to
retroactively became `fakeAsync` zone.
2016-08-19 12:10:53 -07:00
Alex Eagle
cd8cbd3762 fix(ngc): don't codegen foo.d.ngfactory.ts from foo.d.ts () 2016-08-18 10:11:06 -07:00
Hans
40e160c22c fix(platform-browser-dynamic): Rename CACHED_TEMPLATE_PROVIDER to RESOURCE_CACHE_PROVIDER ()
* fix(platform-browser-dynamic): Rename CACHED_TEMPLATE_PROVIDER to RESOURCE_CACHE_PROVIDER

Closes 

BREAKING CHANGE:

`CACHED_TEMPLATE_PROVIDER` is now renamed to `RESOURCE_CACHE_PROVIDER`

Before:

```js
import {CACHED_TEMPLATE_PROVIDER} from '@angular/platform-browser-dynamic';
```

After:

```js
import {RESOURCE_CACHE_PROVIDER} from '@angular/platform-browser-dynamic';
```

* Rename XHR -> ResourceLoader
2016-08-17 09:24:44 -07:00
Josh Thomas
44a4814766 Update package.json ()
Update compiler-cli dependencies to increment tsc-wrapped to 0.2.2. It appears this was missed in the rc5 release.
2016-08-16 19:40:25 -07:00
Victor Berchet
f6a7d6504c feat(i18n): xliff integration 2016-08-15 22:28:38 -07:00
Victor Berchet
96bf42261b fix(XmlHelper): declaration 2016-08-15 22:21:40 -07:00
Miško Hevery
bec5c5fdad refactor(Provider): remove deprecated provider/bind API ()
Closes 

BREAKING CHANGE:

These forms of providers are no longer accepted:
  bind(MyClass).toFactory(...)
  new Provider(MyClass, toFactory: ...)

We now only accept:
  {provider: MyClass, toFactory: ...}
2016-08-15 19:37:42 -07:00
Chuck Jazdzewski
48751cceae refactor(core): Removed deprecated Query and ViewQuery ()
BREAKING CHANGE: previously deprecated Query and ViewQuery  were removed; see deprecation notice for migration instructions.
2016-08-15 16:07:55 -07:00
Victor Savkin
60b10134df cleanup(platform): removed webworker and server deprecated apis () 2016-08-15 13:44:01 -07:00
Alex Eagle
9317056138 fix(ngc): Revert "fix(ngc): add an option to produce TS1.9-pathMapping imports ()" ()
This reverts commit beadf6167a24e9ee0a567f2b4800a318785e00ec.
2016-08-12 17:38:29 -07:00
Matias Niemelä
6580d67875 feat(i18n): pass translation config directly into ngc () 2016-08-12 14:45:36 -07:00
Victor Berchet
50345b8c36 feat(i18n): add an HtmlParser decorator ()
* fix(i18n): merge retains attributes w/o value

* feat(i18n): allow attributes on ng-container (i.e. i18n)

* feat(i18n): add an HtmlParser decorator

* style: clang format
2016-08-11 21:00:35 -07:00
Alex Eagle
6e842fc5bf feat(ngc): allow ngc implementations to provide XHR () 2016-08-11 15:04:00 -07:00
Alex Eagle
9a11ec2624 fix(metadata): treat empty array of metadata like absent file () 2016-08-10 11:52:56 -07:00
Misko Hevery
f9da3c98d6 chore: remove deprecated router 2/2 2016-08-09 15:24:14 -07:00
Alex Eagle
beadf6167a fix(ngc): add an option to produce TS1.9-pathMapping imports ()
This fixes a regression in 
2016-08-09 14:58:19 -07:00
Victor Berchet
b65f66feff feat(i18n): switch to sha1 for message fingerprinting 2016-08-09 09:52:11 -07:00
Miško Hevery
0d1f3c3b07 fix: support trailing slash in basePath () 2016-08-05 11:11:24 -07:00
Miško Hevery
790362e243 fix: put all ngc files into a single directory ()
Prior to this change `ngc` would place generated files which refer
to components in the node_modules into the node_module. This is an
issue. Now all of the files are forced into a single directory
as specified in `tsconfig.json` by the `genDir` option.

see: https://docs.google.com/document/d/1OgP1RIpZ-lWUc4113J3w13HTDcW-1-0o7TuGz0tGx0g
2016-08-03 21:34:03 -07:00
Chuck Jazdzewski
9925aa89dc fix(compiler): Report references to non-exported symbols.
Includes fixes to places now reported as errors.

Part of 
2016-08-03 15:42:38 -07:00
Tobias Bosch
8efbcc996a fix(compiler): allow to use pipes inside of *ngIf ()
Fixes 
2016-08-02 12:19:34 -07:00
Chuck Jazdzewski
82e7ecd611 fix(compiler): StaticReflect now resolves re-exported symbols ()
Fixes: 
2016-08-02 11:45:14 -07:00
Tobias Bosch
7e4fd7d7da refactor(core): introduce @NgModule.bootstrap and ngDoBootstrap method
If a `@NgModule` has a `bootstrap` property, `PlatformRef.bootstrapModule` /
`PlatformRef.bootstrapModuleFactory` will automatically bootstrap the components
listed in there.
If such a property does not exist, `PlatformRef.bootstrapModule` /
`PlatformRef.bootstrapModuleFactory` will try to call the method `ngDoBootstrap(appRef: ApplicationRef)` on the module class.
Otherwise an error is reported.
2016-08-02 11:23:26 -07:00
Tobias Bosch
a46437c57d refactor(core): fix bootstrapModule regarding zones and initializers ()
This makes `bootstrapModuleFactory` wait for promises
returned by `APP_INITIALIZER`s, also making `bootstrapModuleFactory` async.
I.e. now `bootstrapModule` and `bootstrapModuleFactory` behave in the
same way.

This ensures that all code from module instantiation, to creating
`ApplicationRef`s as well as calling `APP_INITIALIZERS` is run
in the Angular zone.

This also moves the invocation of the initializers from the `ApplicationRef`
constructor into the `bootstrapModuleFactory` call, allowing initializers
to get a hold of `ApplicationRef` (see ).

Fixes 
Fixes 
Fixes 
2016-08-01 02:12:59 -07:00
Victor Berchet
e34a04d2ad feat(xmb/xtb): support dtd 2016-07-29 14:18:34 -07:00
Victor Berchet
0eee1d5de3 feat(i18n): xtb serializer 2016-07-29 13:40:58 -07:00
Chuck Jazdzewski
763ca60f5b feat(compiler): Support default parameters in static reflector ()
Closes: 
2016-07-29 09:10:45 -07:00
Tobias Bosch
0988cc82b0 refactor(core): remove ViewResolver and ViewResolverMock
The methods on `ViewResolverMock` have been merged into `DirectiveResolver`.

BREAKING CHANGE:
- ES5 users can no longer use the `View(…)` function to provide `ViewMetadata`.
  This mirrors the removal of the `@View` decorator a while ago.
2016-07-29 04:47:17 -07:00
Chuck Jazdzewski
20b03bad11 feat(compiler): Added support for conditional expressions. ()
Expression evaluated by the static reflector can now supports
conditional expressions.

Closes: 
2016-07-28 17:32:29 -07:00
Tobias Bosch
9b39e499ac fix(core): support components without a selector ()
Components without a selector now get the selector `ng-component`.
Directives without a selector will throw an error message.

Closes 
Closes 
2016-07-28 10:39:10 -07:00
Chuck Jazdzewski
b58e9ea775 feat(compiler): Added support for references to static fields. ()
Closes: 
2016-07-27 19:26:59 -07:00
Tobias Bosch
367f0fd142 fix(static_reflector): report methods with decorators in propMetadata as well
This was the behavior of our regular reflector as well, although the
method name does not imply this.

Fixes 
Closes 
2016-07-27 10:50:58 -07:00
Chuck Jazdzewski
b449467940 feat(compiler): Allow calls to simple static methods ()
Closes: 
2016-07-26 10:18:35 -07:00
Tobias Bosch
5a21f168d6 refactor(core): change bootstrap of modules and names of platforms
BREAKING CHANGES:
- `browserPlatform`/`browserDynamicPlatform`/... have been deprecated and renamed into `platformBrowser`/`platformBrowserDynamic`/....
- `bootstrapModule` and `bootstrapModuleFactory` have been moved to be members of `PlaformRef`.
  E.g. `platformBrowserDynamic().bootstrapModule(MyModule)`.
2016-07-26 07:28:55 -07:00
Tobias Bosch
00b726f695 refactor(core): introduce NgModule.schemas
This allows Angular to error on unknown properties,
allowing applications that don’t use custom elements
to get better error reporting.

Part of 

BREAKING CHANGE:
- By default, Angular will error during parsing
  on unknown properties,
  even if they are on elements with a `-` in their name
  (aka custom elements). If you application is using
  custom elements, fill the new parameter `@NgModule.schemas`
  with the value `[CUSTOM_ELEMENTS_SCHEMA]`.

  E.g. for bootstrap:
  ```
  bootstrap(MyComponent, {schemas: [CUSTOM_ELEMENTS_SCHEMA]});
  ```
2016-07-26 07:04:36 -07:00
Tobias Bosch
f02da4e91a feat(core): introduce ModuleWithProviders.
Modules can now provider helper functions that allow
to import a module together with an array of providers.

Part of 
2016-07-26 07:04:36 -07:00
Tobias Bosch
d6b65db9a7 fix(static_reflector): resolve values of functions in the function context 2016-07-26 07:04:36 -07:00
Tobias Bosch
6f4e49ed53 refactor(core): rename precompile into entryComponents.
Part of 

BREAKING CHANGE:
- `@Component.precompile` was renamed to `@Component.entryComponents`
  (old property still works but is deprecated)
- `ANALYZE_FOR_PRECOMPILE` was renamed to `ANALYZE_FOR_ENTRY_COMPONENTS` (no deprecations)
2016-07-26 07:04:36 -07:00
Tobias Bosch
46b212706b refactor(core): change module semantics
This contains major changes to the compiler, bootstrap of the platforms
and test environment initialization.

Main part of 
Closes 

BREAKING CHANGE:
- Semantics and name of `@AppModule` (now `@NgModule`) changed quite a bit.
  This is actually not breaking as `@AppModules` were not part of rc.4.
  We will have detailed docs on `@NgModule` separately.
- `coreLoadAndBootstrap` and `coreBootstrap` can't be used any more (without migration support).
  Use `bootstrapModule` / `bootstrapModuleFactory` instead.
- All Components listed in routes have to be part of the `declarations` of an NgModule.
  Either directly on the bootstrap module / lazy loaded module, or in an NgModule imported by them.
2016-07-26 07:04:10 -07:00
Victor Berchet
00aa7a76b6 chore(tests): enable lint, make it green. () 2016-07-21 17:12:00 -07:00
Chuck Jazdzewski
961c9d48ae fix(compiler): Query expression lambdas should have dynamic type
Fixes: 
2016-07-13 15:41:30 -07:00
Chuck Jazdzewski
9229bbbc80 Revert "fix(compiler): Generates function expressions as returning any ()"
This reverts commit eb5763c23f081dd48c68c53009f8d787e9d3d5c0.
2016-07-13 15:41:30 -07:00