ngcompiler 3.0.0-dev.3 copy "ngcompiler: ^3.0.0-dev.3" to clipboard
ngcompiler: ^3.0.0-dev.3 copied to clipboard

The AngularDart compiler. It compiles your component files written in Dart into templates so that you don't have to worry about all the complicated hassle.

3.0.0-dev.3 #

  • REFACTOR(ngast,ngcompiler): reduce dynamic usage in i18n.
  • REFACTOR(all): update to Dart 3 (#68).
  • REFACTOR(ngcompiler): fix all static warnings (#50).
  • DOCS(all): update to new workflow badge.

3.0.0-dev.1 #

Note: This release has breaking changes.

  • FIX(ngcompiler): declare types to be X instead of XImpl. (51bd17b3)
  • BREAKING REFACTOR(ngdart): migrate ViewEncapsulation to enum. (2e15858b)
  • BREAKING REFACTOR(ngdart): rename and remove deprecated values from ChangeDetectionStrategy and APP_ID (#41). (3c5523a0)

3.0.0-dev.0 #

Note: This release has breaking changes.

  • FIX: should compile components with mixins (#38).
  • DOCS: cleanup old references to pkg:angular things (#30).
  • BREAKING REFACTOR: remove SlowComponentLoader and ReflectiveInjector (#26).

2.1.4-dev #

  • Fix link in readme.

2.1.3 #

  • FIX: ensure find_components work properly in Dart 2.18.

2.1.2+0 #

  • FIX: move analyzer to dependencies.

2.1.2 #

  • REFACTOR: use the new super initializers in Dart 2.17.

2.1.1+0 #

  • Update pubspec.yaml to improve pub score.
  • Add an empty example to improve pub score.

2.1.1 #

  • Bootstrap against the new ngdart 7.1.0.

2.1.0 #

  • Bump minimum SDK version to 2.17.
  • Fix various static analysis warnings.

2.0.2 #

  • Update README.md.

2.0.1 #

  • Allow a slightly wider version range in pkg:angular.

2.0.0 #

  • Support null safety
  • Require Dart ^2.14.0

1.0.1 #

  • Removed invalid link from the OnPush compatibility warning.
  • Update package:analyzer dependency to ^0.40.0.

1.0.0 #

  • Stable release.

  • Added a command-line flag, catchMissingDirectives, that when set warns about missing directives or mispelled bindings.

  • The old pipe syntax (expression | pipeName:arg) is removed. Please use the new syntax for pipes ($pipe.pipeName(expression, arg)) instead.

  • sourceSpanWithLineInfo now includes the surrounding source on the highlighted line(s), with the correct line number(s).

  • FactoryProvider admits static methods as its factory function. This is now supported by @GenerateInjector and ReflectiveInjector.

  • Hooks NgContentRef Api to Dart. An <ng-content> element can be treated as a psudeo-DOM element and queried if it contains a reference.

  • Template expressions are now parsed using package:analyzer and though the subset of expressions supported largely has not changed some expressions that were silently accepted before are now compile-time errors.

0.4.5 #

  • The InjectorReader now fails with an explicit error if types are used inside a ValueProvider object. Previously, using types in ValueProviders would crash the AngularDart compiler.

    Instead of a ValueProvider, use a FactoryProvider for complicated objects, such as those that contain types.

  • Removed the i18n compiler flag that was previously used to opt-in to internationalization in templates before the feature had stabilized.

  • Added support for a command-line flag, allowed_typedefs_as_di_token. This is intended to be used as a transitional flag to ban using a typedef as a DI token (which has non-predictable properties in Dart 2).

  • Added $ChangeDetectionLink, a type checker for matching the experimental @changeDetectionLink annotation.

0.4.4 #

  • Maintenance release to support the newest version of analyzer.

0.4.3 #

  • FormatExceptions thrown while parsing modules in InjectorReader are now rethrown as BuildErrors with source information.

  • The InjectorReader will fail earlier in the compile process on parse errors.

  • Unhandled errors from InjectorReader are now caught and reported with source information.

  • BuildError now has factory constructors to create errors for annotations and elements.

0.4.2 #

  • Updates the messages.unresolvedSource API to support different error messages for each SourceSpan affected.

  • Update failure message to include an asset id when collecting type parameters.

  • TypedReader now throws a build error when reading a private type argument.

0.4.1 #

  • Catches an (invalid) null token of a provider and throws a better error.

  • Catches an (invalid) null value of the function for FactoryProvider.

  • Emits all strings for @GeneratedInjector as raw (r'$5.00').

  • Supports named arguments for ValueProvider and @GeneratedInjector.

  • Prevents InjectorReader.accept() from crashing when given a dependency with no type or token.

0.4.0 #

New Features #

  • Added TypedElement to represent a statically parsed Typed.

  • TypedReader.parse() now returns a TypedElement.

  • Added $Typed, a TypeChecker for Typed.

  • Added TypedReader for parsing generic directive types.

  • Added support for void and Null types to appear in tokens.

  • Added DirectiveVisitor, and removed $HostBinding and $HostListener.

  • Added ModuleReader.extractProviderObjects to use in the view compiler.

  • Added logFine as a new top-level API.

  • Added an internal cli.dart library. See lib/cli.dart for details.

  • Added SplitDartEmitter for internal use.

  • Added $QueryList as a TypeChecker.

  • Expose the $Provider TypeChecker.

  • Added typeArgumentOf helper method.

  • Added support for recognizing the MultiToken type.

  • CompilerFlags now supports as a fast_boot argument; default is true.

  • ReflectorEmitter now takes an optional deferredModules{Source}.

  • Started adding experimental support for a new Module syntax.

Breaking Changes #

  • CompilerFlags no longer parses and supports the 'debug' option and genDebugInfo is always false, and is deprecated pending removal in a future version.

  • Removes unused APIs of ComponentReader.

  • TokenReader no longer supports arbitrary const objects or literals.

  • Removed use_new_template_parser flag. The old parser was removed.

  • Removed $QueryList.

  • Added canRead to NgAssetReader.

  • Moved CompilerFlags and Profile to cli.dart.

  • linkToReference now requires a second parameter, a LibraryReader, and treats private types (i.e. prefixed with _) as dynamic as the compiler cannot point to them.

  • ReflectableEmitter has been completely replaced with a new implementation.

  • Removed all references and use of determining a "prefix" of a type. This was no longer used once ReflectableEmitter was re-written.

  • Removed a number of internal flags that were no longer strictly required.

  • ModuleReader.deduplicateProviders now returns a List not a Set, and providers that are multi are not removed, as it is a feature of the DI system to have multiple of them with the same token.

  • Add the TypeLink class, and replace uses of Uri.

  • @Component and @Directive annotated classes are no longer @Injectable. In practice this means they can no loger be provided as an implicit const Provider(FooComponent) without either manually adding @Injectable or refactoring your code. We found this didn't really affect users, and most uses of components and directives in these lists were accidental.

Bug Fixes #

  • Fixed a bug where the compiler crashed after resolving a bound type failed.

  • Misspelled or otherwise erroneous annotations on classes now produce a more understandable error message, including the element that was annotated and the annotation that was not resolved.

  • Fix a bug where throwFailure hit an NPE without a stack trace.

  • linkTypeOf correctly resolves bound types (i.e. <T>) in most cases, and can fallback to dynamic otherwise.

  • Removed all remaining (invalid) references to package:barback.

  • Prevented a RangeError that occurred when an invalid import lacked an extension.

  • ReflectorEmitter now supports MultiToken and generic-typed tokens, with some known limitations. See https://github.com/angulardart/angular/issues/782.

  • Fix a bug in the outliner that did not the correct output extension.

0.3.0 #

  • Always link to export "...template.dart" files in initReflector().
  • Catch missing field-formal (this.) fields and warn in the compiler.
  • Does not emit a registerDependencies function call for empty constructors.
  • initReflector() no longer treats @Pipe as an @Injectable service.

0.2.2 #

  • Fixed the outliner to instruct the analyzer to ignore unused imports.
  • Add NgAssetReader.

0.2.1 #

  • Various changes internal to the compiler.

0.2.0 #

  • Added various classes and helpers to form the new compile infrastructure:
    • ComponentReader
    • DependencyReader, DependencyInvocation, DependencyElement
    • ProviderReader, ProviderElement
    • TokenReader, TypeTokenElement, OpaqueTokenElement
    • getInheritanceHierarchy, urlOf
    • ReflectableReader, ReflectableOutput, ReflectableClass

0.1.1 #

  • Fixed a bug where flag entry_points was only allowed to be a list.

0.1.0 #

  • Initial commit of angular_compiler.
2
likes
150
pub points
60%
popularity

Publisher

verified publisherangulardart.xyz

The AngularDart compiler. It compiles your component files written in Dart into templates so that you don't have to worry about all the complicated hassle.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

analyzer, args, build, code_builder, collection, csslib, dart_style, logging, meta, ngast, ngdart, path, source_gen, source_span

More

Packages that depend on ngcompiler