angulardart_compiler 5.6.3 copy "angulardart_compiler: ^5.6.3" to clipboard
angulardart_compiler: ^5.6.3 copied to clipboard

Platformweb

Compiler for AngularDart.

5.6.3 #

  • fix: enregistrer debugOnClear(_debugClearComponentStyles) inconditionnellement (plus seulement en mode dev) pour permettre au serveur SSR de réinitialiser le cache des ComponentStyles entre requêtes, même quand il tourne avec isDevMode == false (release VM).

5.6.2 #

  • fix: codegen null-safe des bindings — assertion non-null (!) sur les @Input nullables assignés à des inputs non-nullables, et correction du double-ternaire sur les attributs conditionnels [attr.x.if].
  • fix: ne plus émettre unsafeCast<E> pour les variables locales dont le type est un paramètre générique (résout 'E' isn't a type dans les composants génériques).

5.6.1 #

  • fix: corriger un crash du compilateur (type 'Null' is not a subtype of type 'ReferenceAst') sur les <ng-content> sans attribut select — RecursiveTemplateVisitor.visit castait null en ReferenceAst au lieu de retourner null.

5.6.0 #

  • feat: autoriser les attributs data-* (attribut global HTML5) dans les templates — data-bs-toggle="dropdown" (Bootstrap) ne déclenche plus l'erreur "Can't bind to ...".

5.5.0 #

  • feat: ré-ajouter le support des map literals dans les expressions de template (ex. [ngClass]="{'special': isSpecial}", [ngStyle]="{'font-weight': isBold ? 'bold' : 'normal'}").

5.4.1 #

  • fix: restaurer les contraintes larges package_config >=2.2.0 <4.0.0 et analyzer >=13.0.0 <15.0.0 (la contrainte ^2.2.0 forçait le backtrack de angulardart vers 9.3.6, cassant les apps neuves).

5.4.0 #

  • Génération de templates RenderNode (createRenderElement, appendRenderChild) + fix génération des shim classes CSS (addShimC/addShimE).

4.1.0 #

  • fix: resolve all dart analyze warnings and info messages

4.0.6 #

  • fix: release.sh now looks for commits touching the package directory

4.0.5 #

  • Add release.sh scripts to all packages
  • Fix null safety DI checks and generic type resolution
  • Remove dependency_overrides after publication
  • Add dependency_overrides for publication
  • Disable null safety check for analyzer 13.x compatibility, bump versions
  • Remove dependency_overrides after publication
  • Add dependency_overrides for publication
  • Bump versions for analyzer 13.x legacy type fix
  • Fix legacy type handling in analyzer 13.x
  • Remove dependency_overrides after publication
  • Add dependency_overrides for local development
  • Relax angulardart_compiler constraint to >=4.0.1 <5.0.0
  • Fix circular dependency: angulardart_compiler -> angulardart ^8.1.2
  • Fix angulardart_compiler dependency: angulardart ^9.0.0 -> ^8.1.3
  • Downgrade analyzer to ^13.0.0, bump versions, add build_web_compilers ^4.8.0
  • Remove build_web_compilers (incompatible with SDK 3.12.2)

3.0.14 #

  • Fixed 13 failing tests (159/159 now passing)
  • Fixed wrong import path in runtime_source_resolution.dart (package:angular/angular.dart → package:angulardart/angulardart.dart)
  • Added robust normalize/matchesCode matcher in reflector_test.dart to handle dart_style 2.3.6 + code_builder formatting differences
  • Updated generate_injector_test.dart expected output for code_builder 4.x
  • Fixed import path in reflector relative paths test

3.0.13 #

  • Stabilized v1/cli.dart API by removing @experimental annotation
  • Stabilized CompilerFlags fields: enableDevTools, forceMinifyWhitespace, emitComponentFactories, emitInjectableFactories, exportUserCodeFromTemplate, policyExceptionInPackages

3.0.11 #

  • Added support for list literals in template expressions
  • Fixed template parser to accept [routerLink]="['/path']" syntax
  • Added LiteralList AST node and visitor implementations

3.0.10 #

3.0.9 #

  • Added textContent to DOM element schema registry, fixing [textContent] binding support on all HTML elements

3.0.2 #

  • Added topics for better discoverability on pub.dev
  • Added issue_tracker URL
  • Added explicit platforms declaration for web support

3.0.1 #

  • Fixed repository URL to point to the correct subdirectory in the monorepo

3.0.0 #

  • BREAKING CHANGE: Require Dart ^3.0.0
  • Migrated to analyzer ^6.0.0 (from ^2.0.0) - Major API changes
  • Migrated to code_builder ^4.10.0 (from ^4.0.0)
  • Migrated to dart_style ^2.3.0 (from ^2.0.0)
  • Migrated to source_gen ^1.5.0 (from ^1.0.0)
  • Updated angular dependency to ^8.0.0 (from ^7.0.0)
  • Updated angular_ast dependency to ^3.0.0 (from ^2.0.0)
  • Analyzer v6 migration: 65 erreurs corrigées incluant :
    • CompilationUnitElement.types → .classes
    • LibraryElement.getType() → .getClass()
    • LibraryElement.imports/exports → .libraryImports/.libraryExports
    • InterfaceType.lookUpInherited* → InterfaceElement.lookUpInherited*
    • ImportElement → LibraryImportElement
    • isDeferred → prefix is DeferredImportElementPrefix
    • Token.name → Token.lexeme / SimpleIdentifier.name
    • DartType.displayName → .getDisplayString(withNullability: false)
    • InterfaceElement.isEnum → element is EnumElement
    • AnalysisSession.getResolvedLibraryByElement2 → getResolvedLibraryByElement
    • Class modifiers: abstract class → abstract mixin class (2 classes)
    • NamedExpression.name.label → .name.label.name
  • Template compiler fix: lookUpInheritedConcreteSetter → lookUpSetter pour inclure les setters définis sur la classe elle-même
  • Null safety fixes: Casts List<Statement?> → List<Statement> avec .whereType<Statement>()

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.