Microsoft/TypeScript

Feature Request: Line Breaks in Assignments in Compiled Javascript

Aberta

#7.468 aberto em 10 de mar. de 2016

 (2 comentários) (0 reação) (0 responsável)TypeScript (13.395 forks)batch import
Help WantedSuggestion

Métricas do repositório

Stars
 (108.860 estrelas)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

One of typescript's key advantages over Babel (at least as far as I'm concerned), is the readability of its compiled javascript. It is so readable, in fact, that I often use typescript for non-typescript projects, and just submit the compiled javascript. One issue that often arises, however, is that the compiled javascript will not match style rules in these javascript projects. One style rule is to have each assignment on its own line. Typescript generally does this, except when destructuring. It would be extremely valuable to be able to specify a compiler option for assignmentsOnNewLine which would add line breaks after each assignment.

For example, the following typescript code:

const aVeryLargeObject = {
    firstValue: 1,
    secondValue: 2,
    thirdValue: 3,
    fourthValue: 4
};
const {firstValue, secondValue, thirdValue, fourthValue} = aVeryLargeObject;

Produces the following javascript:

var aVeryLargeObject = {
    firstValue: 1,
    secondValue: 2,
    thirdValue: 3,
    fourthValue: 4
};
var firstValue = aVeryLargeObject.firstValue, secondValue = aVeryLargeObject.secondValue, thirdValue = aVeryLargeObject.thirdValue, fourthValue = aVeryLargeObject.fourthValue;

If this feature was implemented it should produce the following javascript:

var aVeryLargeObject = {
    firstValue: 1,
    secondValue: 2,
    thirdValue: 3,
    fourthValue: 4
};
var firstValue = aVeryLargeObject.firstValue,
    secondValue = aVeryLargeObject.secondValue,
    thirdValue = aVeryLargeObject.thirdValue,
    fourthValue = aVeryLargeObject.fourthValue;

Guia do colaborador