¿Es posible actualizar las directivas de atributo angularjs para usar en angular 4?

He podido actualizar una directiva de elemento angularjs para usarla en angular 4. Aquí hay un código de muestra:

[myScores.js]

angular.module('app.components.directives.myScores', [])
.directive('myScores', function() {
  return {
    scope: {
      score: '=',
    },
    template: '<div>&gt;&gt;&gt; Your score is {{score}} &lt;&lt;&lt;',
    link: function(scope) {
      console.log("in myScores", scope)
    }
  };
});

[myScores.ts]

import { Directive, ElementRef, Injector, Input, Output, EventEmitter } from '@angular/core';
import { UpgradeComponent } from '@angular/upgrade/static';

@Directive({
  selector: 'my-scores'
})
export class MyScoresDirective extends UpgradeComponent {
  @Input() score: number;

  constructor(elementRef: ElementRef, injector: Injector) {
    super('myScores', elementRef, injector);
  }
}

Observe que estoy usando UpgradeComponent para actualizar la directiva del elemento myScores. He intentado lo mismo en una directiva de atributo pero recibí un error. ¿Hay alguna manera de actualizar una directiva de atributo?

Aquí está mi intento de actualizar una directiva de atributos:

[makeGreen.js]

angular.module('app.components.directives.makeGreen', [])
.directive('makeGreen', function() {
  return {
    restrict: 'A',
    link: function(scope, element) {
      console.log("in makeGreen", scope)
      console.log("element", element)
      element.css('color', 'green');
    }
  };
});

[makeGreen.ts]

import { Directive, ElementRef, Injector, Input, Output, EventEmitter } from '@angular/core';
import { UpgradeComponent } from '@angular/upgrade/static';

@Directive({
  selector: '[makeGreen]'
})
export class MakeGreenDirective extends UpgradeComponent {
  @Input() count: number;
  @Output() clicked: EventEmitter<number>;

  constructor(elementRef: ElementRef, injector: Injector) {
    console.log("elementRef", elementRef.nativeElement)
    super('makeGreen', elementRef, injector);
  }
}

Recibo un error al cargar una página que tiene algo como:

<div makeGreen>Text should be green</div>

Tengo este error:

Error: Directive 'makeGreen' is not a component, it is missing template.

Respuestas a la pregunta(1)

Su respuesta a la pregunta