Вопрос к знатокам TypeScript:
1. Можно ли настроить компиляцию так, чтобы методы прототипа выглядели так:
MyClass.prototype = {
    foo: function() {},
    bar: function() {}
};
А не так, как сейчас:
MyClass.prototype.foo = function() {};
MyClass.prototype.bar = function() {};
2. Но первый пункт не столько важен, как этот:
class Test {
    constructor() {
    }
    get index():number {
        return 3;
    }
    get name() {
        return '';
    }
    set index(value) {
    }
}
На выходе:
var Test = (function () {
    function Test() {
    }
    Object.defineProperty(Test.prototype, "index", {
        get: function () {
            return 3;
        },
        set: function (value) {
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(Test.prototype, "name", {
        get: function () {
            return '';
        },
        enumerable: true,
        configurable: true
    });
    return Test;
})();
Как видно, на каждый геттер/сеттер приходится индивидуальный defineProperty. Можно ли как-то настроить, чтобы было так?
Test.prototype = {
   get index() {
       return 1;
   },
   get name() {
      return '';
   },
   set index(value) {
   }
};
Ну или как минимум через definePropert
ies.
Использую PHPStorm, там встроенный компилятор, в настройках компиляции ничего нет. 

Для меня очень важно, чтобы код на выходе был аккуратным, ничего лишнего.