@putout/printer 17.0.1 → 17.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ChangeLog +11 -0
- package/lib/tokenize/comment/parse-comments.js +1 -1
- package/lib/tokenize/comment/parse-leading-comments.js +1 -1
- package/lib/tokenize/comment/parse-trailing-comments.js +1 -1
- package/lib/tokenize/expressions/array-expression/indent.js +1 -1
- package/lib/tokenize/expressions/array-expression/is-object-after-simple.js +1 -1
- package/lib/tokenize/expressions/array-expression/newline.js +1 -1
- package/lib/tokenize/expressions/assignment-expression/assignment-expression.js +2 -2
- package/lib/tokenize/expressions/assignment-expression/maybe-parens-condition.js +1 -1
- package/lib/tokenize/expressions/binary-expression/binary-expression.js +1 -1
- package/lib/tokenize/expressions/call-expression/call-expression.js +2 -2
- package/lib/tokenize/expressions/class/class-property.js +1 -1
- package/lib/tokenize/expressions/class/class.js +1 -1
- package/lib/tokenize/expressions/conditional-expression.js +1 -1
- package/lib/tokenize/expressions/function/arrow-function-expression.js +2 -2
- package/lib/tokenize/expressions/function/class-method.js +1 -1
- package/lib/tokenize/expressions/function/function-declaration.js +1 -1
- package/lib/tokenize/expressions/function/function-expression.js +2 -2
- package/lib/tokenize/expressions/function/object-method.js +1 -1
- package/lib/tokenize/expressions/function/print-function-params.js +1 -1
- package/lib/tokenize/expressions/logical-expression/logical-expression.js +1 -1
- package/lib/tokenize/expressions/member-expression/chain.js +1 -1
- package/lib/tokenize/expressions/member-expression/is-looks-like-chain.js +1 -1
- package/lib/tokenize/expressions/member-expression/member-expressions.js +1 -1
- package/lib/tokenize/expressions/new-expression/new-expression.js +1 -1
- package/lib/tokenize/expressions/object-expression/object-expression.js +2 -2
- package/lib/tokenize/expressions/object-pattern/object-pattern.js +2 -2
- package/lib/tokenize/expressions/sequence-expression/sequence-expression.js +1 -1
- package/lib/tokenize/expressions/spread-element.js +1 -1
- package/lib/tokenize/expressions/unary-expression/unary-expressions.js +2 -2
- package/lib/tokenize/jsx/jsx-attribute.js +1 -1
- package/lib/tokenize/jsx/jsx-opening-element.js +1 -1
- package/lib/tokenize/literals/identifier.js +1 -1
- package/lib/tokenize/maybe/satisfy.js +1 -1
- package/lib/tokenize/statements/block-statement/block-statement.js +3 -3
- package/lib/tokenize/statements/block-statement/inside-if-with-no-body.js +1 -1
- package/lib/tokenize/statements/break-statement/break-statement.js +1 -1
- package/lib/tokenize/statements/continue-statement/continue-statement.js +1 -1
- package/lib/tokenize/statements/debugger-statement.js +1 -1
- package/lib/tokenize/statements/export-declaration/export-declaration.js +7 -7
- package/lib/tokenize/statements/export-declaration/export-default-declaration.js +1 -1
- package/lib/tokenize/statements/expression-statement/expression-statement.js +1 -1
- package/lib/tokenize/statements/for-of-statement/for-of-statement.js +5 -5
- package/lib/tokenize/statements/for-statement.js +1 -2
- package/lib/tokenize/statements/if-statement/if-statement.js +2 -2
- package/lib/tokenize/statements/import-declaration/import-declaration.js +3 -3
- package/lib/tokenize/statements/labeled-statement/labeled-statement.js +1 -1
- package/lib/tokenize/statements/program/program.js +1 -1
- package/lib/tokenize/statements/return-statement/return-statement.js +2 -2
- package/lib/tokenize/statements/try-statement/try-statements.js +1 -1
- package/lib/tokenize/statements/variable-declaration/variable-declaration.js +2 -2
- package/lib/tokenize/typescript/enum/ts-enum-declaration.js +1 -1
- package/lib/tokenize/typescript/function/ts-declare-function.js +1 -1
- package/lib/tokenize/typescript/function/ts-function-type.js +1 -1
- package/lib/tokenize/typescript/index.js +1 -5
- package/lib/tokenize/typescript/interface/ts-interface-declaration.js +1 -1
- package/lib/tokenize/typescript/ts-as-expression/ts-as-expression.js +1 -1
- package/lib/tokenize/typescript/ts-export-assignment/ts-export-assignment.js +1 -1
- package/lib/tokenize/typescript/ts-infer-type/ts-infer-type.js +1 -1
- package/lib/tokenize/typescript/ts-non-null-expression/ts-non-null-expression.js +6 -0
- package/lib/tokenize/typescript/ts-parameter-property/ts-parameter-property.js +1 -1
- package/lib/tokenize/typescript/ts-property-signature/ts-property-signature.js +2 -2
- package/lib/tokenize/typescript/ts-type-query/ts-type-query.js +1 -1
- package/lib/tokenize/typescript/ts-union-type/ts-union-type.js +1 -1
- package/lib/tokenize/typescript/type/ts-type-alias-declaration.js +1 -1
- package/lib/tokenize/typescript/type/ts-type-parameter.js +1 -1
- package/package.json +4 -1
package/ChangeLog
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
2026.01.17, v17.0.3
|
|
2
|
+
|
|
3
|
+
feature:
|
|
4
|
+
- 8bbeef9 @putout/printer: maybe-parens -> #maybe-parens
|
|
5
|
+
- c6d5b2d @putout/printer: TSNonNullExpression: improve support
|
|
6
|
+
|
|
7
|
+
2026.01.11, v17.0.2
|
|
8
|
+
|
|
9
|
+
feature:
|
|
10
|
+
- 83bda2d apply private imports (https://github.com/coderaiser/putout/commit/b27db6567429e6c93207c23153a672b8aacdb8be)
|
|
11
|
+
|
|
1
12
|
2026.01.11, v17.0.1
|
|
2
13
|
|
|
3
14
|
fix:
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import {maybeParens} from '#maybe-parens';
|
|
1
2
|
import {condition} from './maybe-parens-condition.js';
|
|
3
|
+
import {printSeparator} from './print-separator.js';
|
|
2
4
|
import {
|
|
3
5
|
printLeadingCommentLine,
|
|
4
6
|
maybeInsideReturnWithCommentEnd,
|
|
5
7
|
maybeInsideReturnWithCommentStart,
|
|
6
8
|
printLeadingCommentBlock,
|
|
7
9
|
} from './assignment-expression-comments.js';
|
|
8
|
-
import {maybeParens} from '../../maybe/maybe-parens.js';
|
|
9
|
-
import {printSeparator} from './print-separator.js';
|
|
10
10
|
|
|
11
11
|
const isInsideBlock = ({parentPath}) => /BlockStatement|Program/.test(parentPath.type);
|
|
12
12
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import {maybeParens} from '#maybe-parens';
|
|
1
2
|
import {
|
|
2
3
|
concatenate,
|
|
3
4
|
isConcatenation,
|
|
4
5
|
} from './concatenate.js';
|
|
5
6
|
import {maybeSpace} from './maybe-space.js';
|
|
6
|
-
import {maybeParens} from '../../maybe/maybe-parens.js';
|
|
7
7
|
|
|
8
8
|
export const BinaryExpression = maybeParens((path, {print, indent, maybe}) => {
|
|
9
9
|
const {operator} = path.node;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {exists} from '
|
|
1
|
+
import {exists} from '#is';
|
|
2
2
|
import {maybePrintTypeAnnotation} from '../../maybe/maybe-type-annotation.js';
|
|
3
3
|
import {maybeDecorators} from '../../maybe/maybe-decorators.js';
|
|
4
4
|
import {printKey} from '../object-expression/print-key.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {exists} from '
|
|
1
|
+
import {exists} from '#is';
|
|
2
|
+
import {maybeParens} from '#maybe-parens';
|
|
2
3
|
import {printParams} from './params.js';
|
|
3
|
-
import {maybeParens} from '../../maybe/maybe-parens.js';
|
|
4
4
|
|
|
5
5
|
export const ArrowFunctionExpression = maybeParens((path, printer, semantics) => {
|
|
6
6
|
const {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {exists} from '
|
|
1
|
+
import {exists} from '#is';
|
|
2
|
+
import {maybeParens} from '#maybe-parens';
|
|
2
3
|
import {printParams} from './params.js';
|
|
3
|
-
import {maybeParens} from '../../maybe/maybe-parens.js';
|
|
4
4
|
|
|
5
5
|
export const FunctionExpression = maybeParens((path, printer, semantics) => {
|
|
6
6
|
const {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {types} from '@putout/babel';
|
|
2
|
+
import {maybeParens} from '#maybe-parens';
|
|
2
3
|
import {maybePrintComputed} from '../object-expression/maybe-print-computed.js';
|
|
3
|
-
import {maybeParens} from '../../maybe/maybe-parens.js';
|
|
4
4
|
import {isLooksLikeChain} from './is-looks-like-chain.js';
|
|
5
5
|
|
|
6
6
|
const {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {types} from '@putout/babel';
|
|
2
|
-
import {parseComments} from '../../comment/comment.js';
|
|
3
2
|
import {
|
|
4
3
|
isCoupleLines,
|
|
5
4
|
isForOf,
|
|
@@ -9,7 +8,8 @@ import {
|
|
|
9
8
|
noLeadingComment,
|
|
10
9
|
hasLeadingComment,
|
|
11
10
|
exists,
|
|
12
|
-
} from '
|
|
11
|
+
} from '#is';
|
|
12
|
+
import {parseComments} from '../../comment/comment.js';
|
|
13
13
|
import {isInsideTuple} from './is-inside-tuple.js';
|
|
14
14
|
import {isLooksLikeChain} from '../member-expression/is-looks-like-chain.js';
|
|
15
15
|
import {isThirdObjectInsideArray} from './is-third-object-inside-array.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {types} from '@putout/babel';
|
|
2
|
-
import {wrongShorthand} from './wrong-shorthand.js';
|
|
3
2
|
import {
|
|
4
3
|
isForOf,
|
|
5
4
|
isCoupleLines,
|
|
6
5
|
exists,
|
|
7
|
-
} from '
|
|
6
|
+
} from '#is';
|
|
7
|
+
import {wrongShorthand} from './wrong-shorthand.js';
|
|
8
8
|
import {moreThenMaxPropertiesInOneLine} from './more-then-max-properties-in-one-line.js';
|
|
9
9
|
import {maybeTypeAnnotation} from '../../maybe/maybe-type-annotation.js';
|
|
10
10
|
import {moreThenMaxPropertiesLengthInOneLine} from './more-then-max-properties-length-in-one-line.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import {maybeParens} from '#maybe-parens';
|
|
1
2
|
import {maybeDecorators} from '../maybe-get.js';
|
|
2
|
-
import {maybeParens} from '../maybe/maybe-parens.js';
|
|
3
3
|
import {maybeTypeAnnotation} from '../maybe/maybe-type-annotation.js';
|
|
4
4
|
|
|
5
5
|
export const Identifier = maybeParens(maybeTypeAnnotation((path, printer) => {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {types} from '@putout/babel';
|
|
2
|
-
import {markAfter} from '../../mark.js';
|
|
3
|
-
import {parseComments} from '../../comment/comment.js';
|
|
4
2
|
import {
|
|
5
3
|
isNext,
|
|
6
4
|
isParentProgram,
|
|
7
5
|
isLast,
|
|
8
6
|
exists,
|
|
9
7
|
satisfy,
|
|
10
|
-
} from '
|
|
8
|
+
} from '#is';
|
|
9
|
+
import {markAfter} from '../../mark.js';
|
|
10
|
+
import {parseComments} from '../../comment/comment.js';
|
|
11
11
|
import {insideIfWithNoBody} from './inside-if-with-no-body.js';
|
|
12
12
|
import {getDirectives} from './get-directives.js';
|
|
13
13
|
import {isCallInsideChain} from './is-call-inside-chain.js';
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {types} from '@putout/babel';
|
|
2
|
-
import {isParentBlock} from '#is';
|
|
3
|
-
import {
|
|
4
|
-
markAfter,
|
|
5
|
-
isMarkedAfter,
|
|
6
|
-
hasPrevNewline,
|
|
7
|
-
} from '../../mark.js';
|
|
8
2
|
import {
|
|
3
|
+
isParentBlock,
|
|
9
4
|
isNewlineBetweenSiblings,
|
|
10
5
|
exists,
|
|
11
6
|
isNext,
|
|
12
7
|
isLast,
|
|
13
|
-
} from '
|
|
8
|
+
} from '#is';
|
|
9
|
+
import {
|
|
10
|
+
markAfter,
|
|
11
|
+
isMarkedAfter,
|
|
12
|
+
hasPrevNewline,
|
|
13
|
+
} from '../../mark.js';
|
|
14
14
|
|
|
15
15
|
const {
|
|
16
16
|
isExportNamespaceSpecifier,
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isFirst,
|
|
3
|
+
isNext,
|
|
4
|
+
isLast,
|
|
5
|
+
} from '#is';
|
|
1
6
|
import {
|
|
2
7
|
hasPrevNewline,
|
|
3
8
|
markAfter,
|
|
4
9
|
markBefore,
|
|
5
10
|
isMarkedAfter,
|
|
6
11
|
} from '../../mark.js';
|
|
7
|
-
import {
|
|
8
|
-
isFirst,
|
|
9
|
-
isNext,
|
|
10
|
-
isLast,
|
|
11
|
-
} from '../../is.js';
|
|
12
12
|
|
|
13
13
|
export const ForOfStatement = {
|
|
14
14
|
beforeIf(path) {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {parseImportSpecifiers} from 'parse-import-specifiers';
|
|
2
|
+
import {isLast, isNext} from '#is';
|
|
2
3
|
import {markAfter} from '../../mark.js';
|
|
3
|
-
import {isLast, isNext} from '../../is.js';
|
|
4
4
|
import {printAttributes} from './import-attribute.js';
|
|
5
|
-
|
|
6
|
-
export {ImportAttribute} from './import-attribute.js';
|
|
7
5
|
import {
|
|
8
6
|
printTrailingCommentBlock,
|
|
9
7
|
printTrailingCommentLine,
|
|
10
8
|
} from './import-declaration-comments.js';
|
|
11
9
|
|
|
10
|
+
export {ImportAttribute} from './import-attribute.js';
|
|
11
|
+
|
|
12
12
|
export const ImportDeclaration = {
|
|
13
13
|
print(path, printer, semantics) {
|
|
14
14
|
const {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import {hasCoupleTrailingComments} from '#is';
|
|
1
2
|
import {parseComments} from '../../comment/comment.js';
|
|
2
3
|
import {getDirectives} from '../block-statement/get-directives.js';
|
|
3
|
-
import {hasCoupleTrailingComments} from '../../is.js';
|
|
4
4
|
|
|
5
5
|
export const Program = (path, printer, semantics) => {
|
|
6
6
|
const {body} = path.node;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {types} from '@putout/babel';
|
|
2
|
-
import {isInsideLabel} from '#is';
|
|
3
2
|
import {
|
|
3
|
+
isInsideLabel,
|
|
4
4
|
isPrevBody,
|
|
5
5
|
noTrailingComment,
|
|
6
6
|
isLast,
|
|
7
|
-
} from '
|
|
7
|
+
} from '#is';
|
|
8
8
|
import {hasPrevNewline} from '../../mark.js';
|
|
9
9
|
import {maybeSpaceAfterKeyword} from './maybe-space-after-keyword.js';
|
|
10
10
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {types} from '@putout/babel';
|
|
2
|
-
import {hasPrevNewline} from '../../mark.js';
|
|
3
2
|
import {
|
|
4
3
|
isNext,
|
|
5
4
|
isCoupleLines,
|
|
6
5
|
isNewlineBetweenSiblings,
|
|
7
6
|
exists,
|
|
8
7
|
noTrailingComment,
|
|
9
|
-
} from '
|
|
8
|
+
} from '#is';
|
|
9
|
+
import {hasPrevNewline} from '../../mark.js';
|
|
10
10
|
import {maybeSpaceAfterKeyword} from './maybe-space-after-keyword.js';
|
|
11
11
|
import {isConcatenation} from '../../expressions/binary-expression/concatenate.js';
|
|
12
12
|
import {parseLeadingComments} from '../../comment/comment.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import {maybeParens} from '#maybe-parens';
|
|
1
2
|
import {printParams} from '../../expressions/function/params.js';
|
|
2
3
|
import {printReturnType} from './print-return-type.js';
|
|
3
|
-
import {maybeParens} from '../../maybe/maybe-parens.js';
|
|
4
4
|
|
|
5
5
|
export const TSFunctionType = maybeParens((path, printer, semantics) => {
|
|
6
6
|
const {print} = printer;
|
|
@@ -2,6 +2,7 @@ import {isNext} from '#is';
|
|
|
2
2
|
import {printParams} from '../expressions/function/params.js';
|
|
3
3
|
import {maybePrintTypeAnnotation} from '../maybe/maybe-type-annotation.js';
|
|
4
4
|
|
|
5
|
+
export {TSNonNullExpression} from './ts-non-null-expression/ts-non-null-expression.js';
|
|
5
6
|
export {TSTypeLiteral} from './type/ts-type-literal.js';
|
|
6
7
|
export {TSTypeAliasDeclaration} from './type/ts-type-alias-declaration.js';
|
|
7
8
|
export {TSMappedType} from './mapped-type/ts-mapped-type.js';
|
|
@@ -150,11 +151,6 @@ export const TSTypePredicate = (path, {print}) => {
|
|
|
150
151
|
print('__typeAnnotation');
|
|
151
152
|
};
|
|
152
153
|
|
|
153
|
-
export const TSNonNullExpression = (path, {print}) => {
|
|
154
|
-
print('__expression');
|
|
155
|
-
print('!');
|
|
156
|
-
};
|
|
157
|
-
|
|
158
154
|
export const TSImportEqualsDeclaration = (path, {print, maybe}) => {
|
|
159
155
|
maybe.print(path.node.isExport, 'export ');
|
|
160
156
|
print('import ');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {maybePrintTypeAnnotation} from '../../maybe/maybe-type-annotation.js';
|
|
2
1
|
import {
|
|
3
2
|
hasTrailingComment,
|
|
4
3
|
isNext,
|
|
5
|
-
} from '
|
|
4
|
+
} from '#is';
|
|
5
|
+
import {maybePrintTypeAnnotation} from '../../maybe/maybe-type-annotation.js';
|
|
6
6
|
import {printKey} from '../../expressions/object-expression/print-key.js';
|
|
7
7
|
import {
|
|
8
8
|
printLeadingCommentLine,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@putout/printer",
|
|
3
|
-
"version": "17.0.
|
|
3
|
+
"version": "17.0.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"author": "coderaiser <mnemonic.enemy@gmail.com> (https://github.com/coderaiser)",
|
|
6
6
|
"description": "Simplest possible opinionated Babel AST printer for 🐊Putout",
|
|
@@ -66,6 +66,9 @@
|
|
|
66
66
|
},
|
|
67
67
|
"#is": {
|
|
68
68
|
"default": "./lib/tokenize/is.js"
|
|
69
|
+
},
|
|
70
|
+
"#maybe-parens": {
|
|
71
|
+
"default": "./lib/tokenize/maybe/maybe-parens.js"
|
|
69
72
|
}
|
|
70
73
|
},
|
|
71
74
|
"devDependencies": {
|