Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

1// @allowJs: true
2// @checkJs: true
3// @target: es5
4// @outDir: ./out
5// @declaration: true
6// @filename: index.js
7module.exports = class {
8 /**
…lines 9–14 unchanged (6 lines)

After

1// @allowJs: true
2// @checkJs: true
3// @target: es5, es2015
4// @outDir: ./out
5// @declaration: true
6// @filename: index.js
7module.exports = class {
8 /**
9 * @param {number} p
…lines 10–14 unchanged (5 lines)

Before

program
comment "// @allowJs: true"
comment "// @checkJs: true"
comment "// @target: es5"
comment "// @outDir: ./out"
comment "// @declaration: true"
comment "// @filename: index.js"
expression_statement (+35 nodes collapsed)

After

program
comment "// @allowJs: true"
comment "// @checkJs: true"
comment "// @target: es5, es2015"
comment "// @outDir: ./out"
comment "// @declaration: true"
comment "// @filename: index.js"
expression_statement (+35 nodes collapsed)