Tobias Bosch
3c06a5dc25
refactor(comiler): various cleanups
2016-11-18 10:04:14 -08:00
Tobias Bosch
adeea5d86a
refactor(compiler): renames
...
- `NgHost` to `CompilerHost`
- `AotCompilerHost.resolveFileToImport` to `AotCompilerHost.fileNameToModuleName`
- `AotCompilerHoset.resolveImportToFile` to `AotCompilerHost.moduleNameToFileName`
2016-11-18 10:04:14 -08:00
Tobias Bosch
dddbb1c1cb
refactor(tsc-wrapped): collect all exported functions and classes and bump metadata version from 1 to 2
...
This is needed to resolve symbols without `.d.ts` files.
This bumps the version of the metadata from 1 to 2.
This adds logic into `ng_host.ts` to automatically upgrade
version 1 to version 2 metadata by adding the exported symbols
from the `.d.ts` file.
2016-11-18 10:04:14 -08:00
Tobias Bosch
2235048432
refactor(compiler): add `createAotCompiler` factory
...
Also adds 2 more methods to the `AotCompilerHost`:
- `loadResource`
- `resolveFileToImport`
2016-11-18 10:04:14 -08:00
Tobias Bosch
484119e59f
refactor(compiler): remove `asset:` urls
...
These urls were just relicts from Dart.
2016-11-18 10:04:14 -08:00
Tobias Bosch
24099bdbd2
refactor(compiler): move `findDeclaration` into the `StaticReflector`
...
Previously, this was part of the `AotCompilerHost`.
The `AotCompilerHost` is now also greatly simplified.
2016-11-18 10:04:14 -08:00
Tobias Bosch
912ca44979
refactor(compiler): move `static_reflector` into `@angular/compiler` and rename files
...
- `src/runtime_compiler.ts` -> `src/jit/compiler.ts`
- `src/compiler.ts` -> `src/jit/compiler_factory.ts`
- `src/offline_compiler` -> `src/aot/compiler.ts`
Part of #12867
2016-11-18 10:04:14 -08:00
Victor Berchet
7908679c4b
fix(compiler): assert xliff messages have translations
...
fixes #12815
closes #12604
2016-11-14 12:55:56 -08:00
Victor Berchet
9ed9ff40b3
test(compiler): improve xliff tests
2016-11-14 12:55:48 -08:00
Victor Berchet
2f14415836
fix(compiler): updates hash algo for xmb/xtb files
2016-11-14 12:55:48 -08:00
Victor Berchet
76e4911e8b
fix(core): fix placeholders handling in i18n.
...
Prior to this commit, translations were built in the serializers. This
could not work as a single translation can be used for different source
messages having different placeholder content.
Serializers do not try to replace the placeholders any more.
Placeholders are replaced by the translation bundle and the source
message is given as parameter so that the content of the placeholders is
taken into account.
Also XMB ids are now independent of the expression which is replaced by
a placeholder in the extracted file.
fixes #12512
2016-11-14 12:55:48 -08:00
Victor Berchet
05beffe0d0
test(core): fix a typo in the i18n integration spec
2016-11-14 12:55:48 -08:00
Victor Berchet
08c038ebd9
fix(core): xmb serializer uses decimal messaged IDs
...
fixes #12511
2016-11-14 12:55:48 -08:00
Victor Berchet
582550a90d
feat(core): implements a decimal fingerprint for i18n
2016-11-14 12:55:48 -08:00
Joao Dias
77ee27c59e
refactor(): use const and let instead of var
2016-11-12 16:40:17 -08:00
Chuck Jazdzewski
a965d11cce
fix(compiler): generate safe access strictNullChecks compatible code ( #12800 )
...
fixes #12795
2016-11-11 17:12:17 -08:00
Tobias Bosch
fcb4e66493
refactor(compiler): introduce summaries for metadata ( #12799 )
...
This does not yet introduce loading / serialization of summaries.
Part of #12787
2016-11-10 16:27:53 -08:00
Tobias Bosch
79383ce150
refactor(compiler): never create CompileDirectiveMetadata with not loaded resources ( #12788 )
...
Part of #12787
2016-11-10 14:07:30 -08:00
Chuck Jazdzewski
c3c0e2e2a2
refactor(compiler): add `span` to `TemplateBinding` ( #12792 )
...
fix(compiler): corrected error location for implicit templates expressions
2016-11-10 13:15:09 -08:00
Matias Niemelä
a0e9fde653
fix(animations): always normalize style properties and values during compilation ( #12755 )
...
Closes #11582
Closes #12481
Closes #12755
2016-11-08 15:45:30 -08:00
Victor Berchet
778e6ad3b4
refactor: cleanup ICU message syntax
2016-11-08 15:44:18 -08:00
Victor Berchet
55dc0e4a5f
fix(compiler): use the other case by default in ICU messages
2016-11-08 15:44:18 -08:00
Victor Berchet
acbf1d859c
fix(core): fix pseudo-selector shimming ( #12754 )
...
fixes #12730
fixes #12354
2016-11-07 13:56:04 -08:00
Victor Berchet
ec92f4b198
refactor: remove `keys()` and `values()` from MapWrapper
2016-11-04 13:27:38 -07:00
Pawel Kozlowski
f0cdb428f5
fix(compiler): don't convert undefined to null literals ( #11503 )
...
Fixes #11493
2016-11-04 10:55:21 -07:00
Tobias Bosch
d1035da85c
refactor(compiler): don’t use `AppElement`s for creating component views
2016-11-02 17:06:27 -07:00
Tobias Bosch
a178bc6c83
fix(compiler): dedupe NgModule declarations, …
...
This is important so that we don’t generate things multiple times.
2016-10-31 14:43:50 -07:00
Zaven Muradyan
e9fd8645ed
fix(core): improve error when multiple components match the same element
...
Closes #7067
2016-10-31 11:28:03 -07:00
Dzmitry Shylovich
d321b0ebf5
fix(selectors): use Maps instead of objects
2016-10-26 14:55:59 -07:00
Tobias Bosch
178fb79b5c
refactor(compiler): move host properties into DirectiveWrapper
...
Part of #11683
2016-10-26 14:32:24 -07:00
Tobias Bosch
fe299f4dfc
refactor(compiler): minor cleanups
2016-10-26 14:32:24 -07:00
Tobias Bosch
faa3478514
refactor(compiler): set element attributes via one call
...
This makes the cost of using directives that have host attributes
smaller.
Part of #11683
2016-10-26 14:32:23 -07:00
Tobias Bosch
867494a060
fix(compiler): don't access view local variables nor pipes in host expressions ( #12396 )
...
Fixes #12004
Closes #12071
2016-10-20 15:24:58 -07:00
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
Victor Berchet
76dd026447
refactor: remove some facades ( #12335 )
2016-10-19 13:42:39 -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
Victor Berchet
e6e007e2f1
refactor(core): cleanup SpyObject ( #12221 )
2016-10-11 15:44:48 -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
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
af520947aa
test(AstSerializer): fix serializing void tags
2016-09-30 17:59:43 -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
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
a92b573309
test(DirectiveResolver): test that a prop can have both `@Input` and `@HostBinding`
2016-09-30 10:08:52 -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
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
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
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
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
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
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
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
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
Marc Laval
0cf5ece7f8
build: workaround to run presubmit.sh on Windows ( #11096 )
2016-08-26 09:12:10 -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
Marc Laval
cbe0976426
test: improve perfs by removing unneeded TestBed.compileComponents() calls ( #11083 )
2016-08-25 14:56:14 -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
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
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
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
Julie Ralph
917d43e108
refactor(tests): add ComponentFixture tests ( #10910 )
...
Remove old TestComponentBuilder tests, and keep relevant
ComponentFixture tests as component_fixture_spec.
2016-08-19 15:46:40 -07:00
Chuck Jazdzewski
2f41b5c8a0
refactor(core): Removed test deprecated references from runtime_compiler ( #10927 )
...
Removed reference to TestComponentBuilder from runtime_compiler_spec.ts
2016-08-18 11:20:02 -07:00
Jason Choi
c48021ab97
refactor(compiler): move test/test_bindings to testing/test_bindings ( #10081 )
...
`test_bindings` is used in core test cases too, but `test` should be
private to the package, so it should live in `testing`.
2016-08-17 16:37:31 -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ä
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