Tobias Bosch
b0a03fcab3
refactor(compiler): introduce directive wrappers to generate less code
...
- for now only wraps the `@Input` properties and calls
to `ngOnInit`, `ngDoCheck` and `ngOnChanges` of directives.
- also groups eval sources by NgModule.
Part of #11683
2016-10-20 10:41:43 -07:00
Tobias Bosch
acda82c1ed
refactor(compiler): remove private exports
...
All of `@angular/compiler` is private, so we can export
everything we need directly.
2016-10-20 10:41:43 -07:00
Victor Berchet
76dd026447
refactor: remove some facades ( #12335 )
2016-10-19 13:42:39 -07:00
Alex Eagle
cca4a5c519
fix(compiler): don't redeclare a var in the same scope ( #12386 )
...
This is not allowed by Closure Compiler.
2016-10-18 20:28:30 -07:00
Matias Niemelä
6e5f8b59b3
fix(animations): generate aot code for animation trigger output events ( #12291 )
...
Closes #11707
Closes #12291
2016-10-18 17:16:51 -07:00
Victor Berchet
38e2203b24
refactor(core): delete unused reflector code
2016-10-17 23:17:34 -07:00
Victor Berchet
f7db0668d1
refactor(core): simplify & cleanup reflection
2016-10-17 23:17:34 -07:00
Matias Niemelä
33c8948fd3
refactor(animations): ensure animation data-structures are created only when used
...
Closes #12250
2016-10-14 15:43:41 -07:00
Victor Berchet
df1718d624
fix(compiler): allow WS as `<ng-content>` content ( #12225 )
2016-10-12 07:58:06 -07:00
Chuck Jazdzewski
7275e1beb3
refactor(compiler): add optional `visit()` to `TemplateAstVisitor` ( #12209 )
2016-10-11 15:46:11 -07:00
Chuck Jazdzewski
12ba62e5e2
refactor(compiler): expose template parser phases ( #12210 )
2016-10-11 15:45:27 -07:00
Victor Berchet
d972d82354
refactor: simplify `isPresent(x) ? x : y` to `x || y` ( #12166 )
...
Closes #12166
2016-10-10 09:20:58 -07:00
Victor Berchet
bdcf46f82e
refactor(compiler): improve types, misc
2016-10-10 09:20:58 -07:00
Victor Berchet
aa92512ac6
fix(compiler): properly shim `:host:before` and `:host(:before)` ( #12171 )
...
fixes #12165
2016-10-10 09:15:15 -07:00
Chuck Jazdzewski
4202936bbf
refactor(compiler): add optional `visit()` to html AST `Visitor` ( #12135 )
2016-10-10 09:13:50 -07:00
Chuck Jazdzewski
e1faca6386
refactor(compiler): template element ast has endSourceSpan ( #12138 )
2016-10-10 09:12:05 -07:00
Victor Berchet
13ecc140e8
fix(compiler): validate `@HostBinding` name ( #12139 )
...
relates to #7500
2016-10-07 13:53:53 -07:00
Chuck Jazdzewski
709a6dea06
refactor(compiler): attribute ast records span of the value ( #12132 )
2016-10-07 13:53:29 -07:00
Chuck Jazdzewski
16cfb88c00
refactor(compiler): refactor `analyzeModules()` out of `OfflineCompiler` ( #12137 )
2016-10-07 13:52:53 -07:00
Chuck Jazdzewski
d641c36a45
fix(compiler): interpolation expressions report the correct offset ( #12125 )
2016-10-06 15:22:10 -07:00
Alex Eagle
8c975ed156
refactor(facade): inline StringWrapper ( #12051 )
2016-10-06 15:10:27 -07:00
Victor Berchet
50c37d45dc
refactor: simplify arrow functions ( #12057 )
2016-10-04 15:57:37 -07:00
Victor Berchet
a63359689f
fix(ShadowCss): fix attribute selectors in :host and :host-context ( #12056 )
...
Fix a regression introduced in #11917 while fixing #6249
2016-10-04 15:40:31 -07:00
Alex Eagle
b64b5ece65
refactor(facade): Remove most of StringMapWrapper facade. ( #12022 )
...
This change mostly automated by
12012b07a2
with some manual fixes.
2016-10-03 16:46:05 -07:00
Victor Berchet
040bf57966
fix(xlif): fix `<x>` ctype names
...
fixes #12000
see http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#ctype
2016-09-30 17:59:43 -07:00
Victor Berchet
65a60b7456
style(I18N): Carriage returns in serialized files
2016-09-30 17:59:43 -07:00
Victor Berchet
9316f95467
fix(ShadowCss): support `@page` and `@document` CSS rules ( #11878 )
...
fixes #11860
2016-09-30 16:26:24 -07:00
Victor Berchet
83d94b7504
fix(ShadowCss): support quoted attribute values
...
fixes #6085
2016-09-30 14:37:41 -07:00
Victor Berchet
a121136fae
refactor(ShadowCss): add missing types
2016-09-30 14:37:41 -07:00
Victor Berchet
a6bb84e02b
fix(ShadowCss): fix `:host(tag)` and `:host-context(tag)`
...
fixes #11972
2016-09-30 14:37:41 -07:00
Victor Berchet
1c012a035f
refactor(CssSelector): misc cleanup
2016-09-30 11:06:24 -07:00
Victor Berchet
38c5304b7f
docs(CssSelector): `[name*=value]` is not supported
...
fixes #6042
2016-09-30 11:06:24 -07:00
Victor Berchet
6c4ec05a4a
fix(ShadowCss): support `[attr="value with space"]`
...
fixes #6249
2016-09-30 10:27:35 -07:00
Victor Berchet
f7bfda31ff
refactor(ShadowCss): cleanup
2016-09-30 10:27:35 -07:00
Victor Berchet
4fd13d71c8
refactor(DirectiveResolver): cleanup
2016-09-30 10:08:52 -07:00
Alex Eagle
0286956107
refactor(facade): Inline isBlank called with object-type argument ( #11992 )
2016-09-30 09:26:53 -07:00
Matias Niemelä
e884f4854d
feat(animations): provide aliases for :enter and :leave transitions ( #11991 )
2016-09-30 09:15:56 -07:00
Alex Eagle
41c8c30973
chore(lint): remove unused imports ( #11923 )
...
This was done automatically by tslint, which can now fix issues it finds.
The fixer is still pending in PR https://github.com/palantir/tslint/pull/1568
Also I have a local bugfix for https://github.com/palantir/tslint/issues/1569
which causes too many imports to be deleted.
2016-09-27 17:12:25 -07:00
Marc Laval
61129fa12d
fix(compiler): move detection of unsafe properties for binding to ElementSchemaRegistry ( #11378 )
2016-09-27 17:10:02 -07:00
vikerman
3a5b4882bc
fix(compiler): Do not embed templateUrl in view factories in non-debug mode. ( #11818 )
...
Fixes #11117 .
2016-09-27 17:09:44 -07:00
Victor Berchet
425c1e6042
refactor: remove dead code
2016-09-27 16:13:09 -07:00
Victor Berchet
58605cf350
refactor(facade): remove useless facades
2016-09-27 16:13:09 -07:00
Rado Kirov
52f5ae1961
chore(compiler): followup fix for PR#11846 ( #11870 )
...
Original PR set [] to any, but any[], is a tighter type and still
works for SNC enabled consumers of the emit.
2016-09-24 07:13:05 +09:00
Matias Niemelä
f1b6c6efa1
refactor(animations): ensure animation input/outputs are managed within the template parser ( #11782 )
...
Closes #11782
Closes #11601
Related #11707
2016-09-24 05:37:04 +09:00
Rado Kirov
3ef5ede6d6
chore(compiler): emit ([] as any[]) instead of purely []. ( #11846 )
...
In SNC mode `[]` has type of never[], so we cast it to any[] to
typecheck correctly see
https://github.com/Microsoft/TypeScript/issues/10479 .
This is temporary workaround, until we fully
migrate the framework to TS 2.0 and strictNullChecks.
2016-09-24 02:21:59 +09:00
Victor Berchet
f23b22a0f4
refactor: misc cleanup
2016-09-22 11:01:16 -07:00
Victor Berchet
c041b93418
refactor(TemplateParser): clearer error message for on* binding ( #11802 )
...
fixes #11756
2016-09-22 10:31:18 -07:00
Chuck Jazdzewski
131626fc61
fix(compiler): Safe property access expressions work in event bindings ( #11724 )
2016-09-20 14:54:53 -07:00
Victor Berchet
671f73448c
refactor: misc cleanup ( #11654 )
2016-09-19 17:15:57 -07:00
Victor Berchet
70488ed382
fix(OfflineCompiler): support older TS versions ( #11734 )
2016-09-19 15:36:25 -07:00
Victor Berchet
03aedbe54b
fix(OfflineCompiler): Do not provide I18N values when they're not specified
...
fixes #11643
2016-09-19 10:44:33 -07:00
Victor Berchet
8395aab25d
refactor(OfflineCompiler): cleanup
2016-09-19 10:44:33 -07:00
Brandon
2300c23332
fix(docs): Fixed wording for NgModule schemas ( #11620 )
2016-09-18 16:03:43 -07:00
esagawe
734b8b8c13
fix(compiler): [attribute~=value] selector ( #11696 )
...
Change the seperator regular expression to ignore tildes which are followed by an equal sign.
Closes #9644
2016-09-18 15:58:19 -07:00
Victor Berchet
bd4045b6e7
fix(MetadataResolver): throw Component.moduleId is not a string
...
fixes #11590
2016-09-15 10:57:37 -07:00
Victor Berchet
255099aa61
refactor(MetadataResolver): cleanup
2016-09-15 10:57:37 -07:00
Victor Berchet
b847257b16
refactor(ShadowCss): remove a comment that trigger an issue with webpack ( #11587 )
...
fixes #11584
2016-09-13 21:59:11 -07:00
Tobias Bosch
63e15ffaec
refactor(core): remove `…Metadata` for all decorators and use the decorator directly.
...
BREAKING CHANGE:
- all `…Metadata` classes have been removed. Use the corresponding decorator
as constructor or for `instanceof` checks instead.
- Example:
* Before: `new ComponentMetadata(…)`
* After: `new Component(…)`
- Note: `new Component(…)` worked before as well.
2016-09-12 22:47:54 -07:00
Tobias Bosch
1b15170c89
refactor(core): simplify decorators
...
Every decorator now is made of the following:
- a function that can be used
as a decorator or as a constructor. This function
also can be used for `instanceof` checks.
- a type for this function (callable and newable)
- a type that describes the shape of the data
that the user needs to pass to the decorator
as well as the instance of the metadata
The docs for decorators live at the followig places
so that IDEs can discover them correctly:
- General description of the decorator is placed on the
`...Decorator` interface on the callable function
definition
- Property descriptions are placed on the interface
that describes the metadata produces by the decorator
2016-09-12 22:47:54 -07:00
Victor Berchet
077e0be1e7
fix(CssSelector): fix `getMatchingElementTemplate()` for void tags
...
fixes #11407
2016-09-08 13:55:41 -07:00
Victor Berchet
a52d076912
refactor(CssSelector): misc
2016-09-08 13:55:41 -07:00
Pawel Kozlowski
436af15d63
refactor: remove parseFloat from facades ( #11446 )
2016-09-08 13:54:10 -07:00
Matias Niemelä
6a2bbffe10
fix(animations): allow `group()` to be used as entry point for an animation trigger ( #11419 )
...
Closes #11312
Closes #11419
2016-09-08 12:20:07 -07:00
Victor Berchet
78ad9adc1a
fix(ShadowCss): fix perf regression ( #11420 )
...
fixes #11371
2016-09-07 16:48:10 -07:00
PatrickJS
3ff816afa6
style(CompileMetadataResolver): better error message ( #11401 )
2016-09-07 14:09:25 -07:00
Tobias Bosch
ea95c391c1
fix(compiler): error when `NgModule.bootstrap` contains `undefined` or `null`
2016-09-06 11:44:56 -07:00
Victor Berchet
d309f7799c
fix(DomSchema): add missing elements
...
fixes #11219
2016-09-02 15:35:36 -07:00
Victor Berchet
93deff6c33
refactor(DomSchema): improve readability by making the schema more explicit using interface names
2016-09-02 15:35:36 -07:00
Martin Probst
ebc8e808a9
feat(router): register NgModuleFactory objects. ( #11211 )
...
When lazily loading code, users need to be able to get hold of the
NgModuleFactory. For SystemJS environments, the SystemJS registry serves
this purpose. However other environments, such as modules compiled with
Closure compiler, do not expose exports object or a path based registry.
For these environments, `@NgModule` objects can include an identifier, and
the loading code can then pass `loadModule(id).then(() =>
getNgModule(id))` to the router.
2016-09-01 13:46:08 -07:00
Matias Niemelä
c9e5b599e4
fix(animations): ensure parent animations are triggered before children ( #11201 )
2016-09-01 13:24:26 -07:00
Matias Niemelä
562c8263dc
fix(animations): ensure animation callbacks are fired for embedded views
2016-08-31 15:46:23 -07:00
Victor Berchet
1818056912
fix(TemplateParser): disallow event-property binding even with the NO_ERRORS_SCHEMA
...
closes #11026
2016-08-30 21:32:24 -07:00
Victor Berchet
1df69cb4d2
fix(DomSchemaRegistry): detect invalid elements
2016-08-30 21:32:03 -07:00
Miško Hevery
979657989b
fix(packages): use ES modules for primary build ( #11120 )
2016-08-30 18:07:40 -07:00
Tobias Bosch
d7de5c4f8e
refactor(compiler): replace `CompileIdentifierMap` with regular `Map`
...
closes #11145
Also rename `CompileIdentifierMetadata.runtime` into `CompileIdentifierMetadata.reference`.
Also remove `CompileIdentifierMetadata.equalsTo` as
now it is enough to just check the `reference` fields for equality.
2016-08-29 12:45:27 -07:00
Chuck Jazdzewski
51877ef4ed
fix(compiler): no longer uses assetCacheKey for token identity.
...
Fixes #10545 , Fixes #10538
2016-08-29 12:45:02 -07:00
Marc Laval
38069aba35
fix(compiler): make ShadowCSS shim work on Android browser ( #11139 )
...
Fixes #11123
2016-08-29 08:18:55 -07:00
Victor Berchet
af63378fa0
fix(ShadowCss): properly shim selectors after :host and :host-context ( #10997 )
...
fixes #5390
Before the change:
// original CSS
:host .foo .bar {...}
.foo .bar {...}
// translated to
[_nghost-shh-2] .foo .bar {...}
.foo[_ngcontent-shh-2] .bar[_ngcontent-shh-2] {...}
Note that `.foo` and `.bar` where not scoped and would then apply to nested components.
With this change those selectors are scoped (as they are without `:host`).
You can explicitly apply the style to inner component by using `>>>` or `/deep/`: `:host >>> .foo`
2016-08-26 16:11:57 -07:00
Alex Eagle
abad6673e6
fix(ngc): don't quote properties in literal maps ( #11110 )
...
Closure compiler treats quoted properties specially, and doesn't rename them.
Fixes #11050
2016-08-26 15:54:34 -07:00
Misko Hevery
7c07bfff97
fix(errors): [2/2] Rename Exception to Error; remove from public API
...
BREAKING CHANGE:
Exceptions are no longer part of the public API. We don't expect that anyone should be referring to the Exception types.
ExceptionHandler.call(exception: any, stackTrace?: any, reason?: string): void;
change to:
ErrorHandler.handleError(error: any): void;
2016-08-26 10:37:17 -07:00
Pawel Kozlowski
f25c97671a
fix(compiler): handle invalid host bindings and events ( #11101 )
2016-08-26 10:29:53 -07:00
Igor Minar
4d7d2a2daa
refactor: remove various leftover unused or deprecated code ( #11091 )
2016-08-26 09:12:27 -07:00
Victor Berchet
b867764b0d
refactor(template): remove supporter deprecated `var` / `#` ( #11084 )
...
BREAKING CHANGES:
- `#` and `var` are not supported any more in expressions, use `let`,
- `var-<name>` could not be used any more on templates, use `let-<name>`,
- `var-<name>` could not be used any more to create a reference, use `ref-<name>`.
2016-08-25 15:21:33 -07:00
Igor Minar
566d4361e2
refactor: remove obsolete analyzeAppProvidersForDeprecatedConfiguration
...
closes #11028
2016-08-25 13:29:43 -07:00
Igor Minar
ea2e5521e8
refactor: replace any[] with Provider[] where possible
2016-08-25 13:29:03 -07:00
Matias Niemelä
4f8f8cfc66
feat(animations): make sure animation callback reports the totalTime ( #11022 )
...
Closes #11022
2016-08-24 16:55:00 -07:00
Pawel Kozlowski
aa5c8ca61f
fix(compiler): throw descriptive error meesage for invalid NgModule providers ( #10947 )
...
Fixes #10714
2016-08-23 16:18:41 -07:00
Chuck Jazdzewski
14a30f3ca0
fix(compiler): Correctly handles references to static methods ( #11013 )
...
Fixes : #10975
2016-08-23 11:58:12 -07:00
Igor Minar
4a740f23a4
refactor(core): remove deprecated @Component.directives and @Component.pipes
...
BREAKING CHANGE: previously deprecated @Component.directives and @Component.pipes support was removed.
All the components and pipes now must be declarated via an NgModule. NgModule is the basic
compilation block passed into the Angular compiler via Compiler#compileModuleSync or #compileModuleAsync.
Because of this change, the Compiler#compileComponentAsync and #compileComponentSync were removed as well -
any code doing compilation should compile module instead using the apis mentioned above.
Lastly, since modules are the basic compilation unit, the ngUpgrade module was modified to always require
an NgModule to be passed into the UpgradeAdapter's constructor - previously this was optional.
2016-08-23 09:59:00 -07:00
Matias Niemelä
45e8e73670
refactor(animations): deport TCB away from animation-land forever ( #10892 )
...
* feat(animations): support animation trigger template callbacks
* refactor(animations): deport TCB away from animation-land forever
2016-08-22 17:18:25 -07:00
Alex Eagle
01111b04ff
fix(ngc): codegen allows --strictNullChecks ( #10991 )
2016-08-22 15:30:18 -07:00
Alex Eagle
8560e1e4bf
fix(ngc): comment out a private keyword in codegen. ( #10949 )
...
Workaround for b/30775898
2016-08-22 14:28:09 -07:00
Victor Savkin
c631cfc2fd
feat(core): add NO_ERRORS_SCHEMA that allows any properties to be set on any element ( #10956 )
...
Often it is useful to test a component without rendering certain directives/components
in its template because these directives require some complicated setup.
You can do that by using NO_ERRORS_SCHEMA.
TestBed.configureTestingModule({
schemas: [NO_ERRORS_SCHEMA]
});
This would disable all schema checks in your tests.
2016-08-19 16:05:34 -07:00
Victor Savkin
c56f3f2246
fix(compiler): do not autoinclude components declared as entry points ( #10898 )
2016-08-19 15:59:50 -07:00
Alex Eagle
cd8cbd3762
fix(ngc): don't codegen foo.d.ngfactory.ts from foo.d.ts ( #10833 )
2016-08-18 10:11:06 -07:00
Alex Rickabaugh
c4fd862e15
fix(metadata): throw better errors when components are passed to imports or modules are passed to declarations. ( #10888 )
...
Closes #10823
2016-08-17 15:57:02 -07:00
Hans
40e160c22c
fix(platform-browser-dynamic): Rename CACHED_TEMPLATE_PROVIDER to RESOURCE_CACHE_PROVIDER ( #10866 )
...
* fix(platform-browser-dynamic): Rename CACHED_TEMPLATE_PROVIDER to RESOURCE_CACHE_PROVIDER
Closes #9741
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
Matias Niemelä
f12d51992d
fix(animations): report errors for missing host-level referenced animations ( #10650 )
...
Closes #10650
2016-08-17 08:00:49 -07:00
Igor Minar
73a9ee4a05
Remove component resolver ( #10858 )
...
* refactor(core): remove deprecated ComponentResolver
BREAKING CHANGE: deprecated ComponentResolver was removed
Please follow deprecation instruction and migrate your code to use ComponentFactoryResolver.
* refactor(common): remove deprecated NgSwitchWhen directive
BREAKING CHANGE: previously deprecated NgSwitchWhen directive was removed, use NgSwitchCase instead
2016-08-16 16:48:32 -07:00
Matias Niemelä
9adf80385b
fix(animations): remove deprecated trigger APIs ( #10825 )
...
BREAKING CHANGE: Animations defined using an at-symbol prefix that are
not property bound are now invalid.
```html
<!-- this is now invalid -->
<div @flip="flipState"></div>
<!-- change that to -->
<div [@flip]="flipState"></div>
```
BREAKING CHANGE: Animations that are not bound using the at-symbol
prefix using `animate-` must now be preixed using `bind-animate-`.
```html
<!-- this is now invalid -->
<div animate-flip="flipState"></div>
<!-- is valid now -->
<div bind-animate-flip="flipState"></div>
```
Closes #10825
2016-08-16 14:09:21 -07:00