@putout/printer 17.0.0 → 17.0.2

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.
Files changed (60) hide show
  1. package/ChangeLog +17 -0
  2. package/README.md +1 -1
  3. package/lib/tokenize/comment/parse-comments.js +1 -1
  4. package/lib/tokenize/comment/parse-leading-comments.js +1 -1
  5. package/lib/tokenize/comment/parse-trailing-comments.js +1 -1
  6. package/lib/tokenize/expressions/array-expression/indent.js +1 -1
  7. package/lib/tokenize/expressions/array-expression/is-object-after-simple.js +1 -1
  8. package/lib/tokenize/expressions/array-expression/newline.js +1 -1
  9. package/lib/tokenize/expressions/call-expression/call-expression.js +1 -1
  10. package/lib/tokenize/expressions/class/class-property.js +1 -1
  11. package/lib/tokenize/expressions/class/class.js +1 -1
  12. package/lib/tokenize/expressions/function/arrow-function-expression.js +1 -1
  13. package/lib/tokenize/expressions/function/class-method.js +1 -1
  14. package/lib/tokenize/expressions/function/function-declaration.js +1 -1
  15. package/lib/tokenize/expressions/function/function-expression.js +1 -1
  16. package/lib/tokenize/expressions/function/object-method.js +1 -1
  17. package/lib/tokenize/expressions/function/print-function-params.js +1 -1
  18. package/lib/tokenize/expressions/index.js +2 -8
  19. package/lib/tokenize/expressions/member-expression/chain.js +1 -1
  20. package/lib/tokenize/expressions/member-expression/is-looks-like-chain.js +1 -1
  21. package/lib/tokenize/expressions/new-expression/new-expression.js +1 -1
  22. package/lib/tokenize/expressions/object-expression/object-expression.js +2 -2
  23. package/lib/tokenize/expressions/object-pattern/object-pattern.js +2 -2
  24. package/lib/tokenize/expressions/spread-element.js +1 -1
  25. package/lib/tokenize/expressions/unary-expression/unary-expressions.js +1 -1
  26. package/lib/tokenize/jsx/index.js +0 -1
  27. package/lib/tokenize/jsx/jsx-attribute.js +1 -1
  28. package/lib/tokenize/jsx/jsx-opening-element.js +1 -1
  29. package/lib/tokenize/literals/index.js +0 -1
  30. package/lib/tokenize/maybe/satisfy.js +1 -1
  31. package/lib/tokenize/statements/block-statement/block-statement.js +3 -3
  32. package/lib/tokenize/statements/block-statement/inside-if-with-no-body.js +1 -1
  33. package/lib/tokenize/statements/break-statement/break-statement.js +1 -1
  34. package/lib/tokenize/statements/continue-statement/continue-statement.js +1 -1
  35. package/lib/tokenize/statements/debugger-statement.js +1 -1
  36. package/lib/tokenize/statements/export-declaration/export-declaration.js +7 -7
  37. package/lib/tokenize/statements/export-declaration/export-default-declaration.js +1 -1
  38. package/lib/tokenize/statements/expression-statement/expression-statement.js +1 -1
  39. package/lib/tokenize/statements/for-of-statement/for-of-statement.js +5 -5
  40. package/lib/tokenize/statements/for-statement.js +1 -2
  41. package/lib/tokenize/statements/if-statement/if-statement.js +2 -2
  42. package/lib/tokenize/statements/import-declaration/import-declaration.js +3 -3
  43. package/lib/tokenize/statements/index.js +0 -1
  44. package/lib/tokenize/statements/labeled-statement/labeled-statement.js +1 -1
  45. package/lib/tokenize/statements/program/program.js +1 -1
  46. package/lib/tokenize/statements/return-statement/return-statement.js +2 -2
  47. package/lib/tokenize/statements/try-statement/try-statements.js +1 -1
  48. package/lib/tokenize/statements/variable-declaration/variable-declaration.js +2 -2
  49. package/lib/tokenize/tokenize.js +1 -1
  50. package/lib/tokenize/typescript/enum/ts-enum-declaration.js +1 -1
  51. package/lib/tokenize/typescript/function/ts-declare-function.js +1 -1
  52. package/lib/tokenize/typescript/index.js +0 -1
  53. package/lib/tokenize/typescript/interface/ts-interface-declaration.js +1 -1
  54. package/lib/tokenize/typescript/namespace/ts-module-declaration.js +1 -1
  55. package/lib/tokenize/typescript/ts-export-assignment/ts-export-assignment.js +1 -1
  56. package/lib/tokenize/typescript/ts-parameter-property/ts-parameter-property.js +1 -1
  57. package/lib/tokenize/typescript/ts-property-signature/ts-property-signature.js +2 -2
  58. package/lib/tokenize/typescript/type/ts-type-alias-declaration.js +1 -1
  59. package/lib/tokenize/typescript/type/ts-type-parameter.js +1 -1
  60. package/package.json +7 -7
package/ChangeLog CHANGED
@@ -1,3 +1,20 @@
1
+ 2026.01.11, v17.0.2
2
+
3
+ feature:
4
+ - 83bda2d apply private imports (https://github.com/coderaiser/putout/commit/b27db6567429e6c93207c23153a672b8aacdb8be)
5
+
6
+ 2026.01.11, v17.0.1
7
+
8
+ fix:
9
+ - ee1df33 @putout/printer: drop support of node < 22
10
+
11
+ feature:
12
+ - 183f7ba @putout/printer: supertape v12.0.9
13
+ - cfa04f4 @putout/printer: fullstore v4.0.0
14
+ - 399ad3d @putout/printer: estree-to-babel v12.0.0
15
+ - 2641280 @putout/printer: @putout/operator-json v3.1.0
16
+ - ea8a6fe @putout/printer: @babel/parser v7.28.5
17
+
1
18
  2026.01.04, v17.0.0
2
19
 
3
20
  feature:
package/README.md CHANGED
@@ -56,6 +56,7 @@ To benefit from it.
56
56
  ```js
57
57
  import {print} from '@putout/printer';
58
58
  import {parse} from 'putout';
59
+
59
60
  const ast = parse('const a = (b, c) => {const d = 5; return a;}');
60
61
 
61
62
  print(ast);
@@ -310,7 +311,6 @@ About speed, for file `speed.js`:
310
311
 
311
312
  ```js
312
313
  import {readFileSync} from 'node:fs';
313
-
314
314
  import {putout} from 'putout';
315
315
  import parser from '@babel/parser';
316
316
 
@@ -1,4 +1,4 @@
1
- import {isNext} from '../is.js';
1
+ import {isNext} from '#is';
2
2
 
3
3
  export const parseComments = (path, {write, maybe}, semantics) => {
4
4
  if (!semantics.comments)
@@ -2,7 +2,7 @@ import {types} from '@putout/babel';
2
2
  import {
3
3
  hasTrailingComment,
4
4
  satisfy,
5
- } from '../is.js';
5
+ } from '#is';
6
6
  import {markBefore} from '../mark.js';
7
7
  import {maybeInsideFn} from './maybe-inside-fn.js';
8
8
  import {
@@ -3,7 +3,7 @@ import {
3
3
  isLast,
4
4
  isCoupleLines,
5
5
  isNext,
6
- } from '../is.js';
6
+ } from '#is';
7
7
  import {isLooksLikeChain} from '../expressions/member-expression/is-looks-like-chain.js';
8
8
  import {
9
9
  printTrailingComments,
@@ -1,5 +1,5 @@
1
1
  import {types} from '@putout/babel';
2
- import {isIndented} from '../../is.js';
2
+ import {isIndented} from '#is';
3
3
 
4
4
  const {
5
5
  isStringLiteral,
@@ -1,4 +1,4 @@
1
- import {isNextObject, isPrevObject} from '../../is.js';
1
+ import {isNextObject, isPrevObject} from '#is';
2
2
 
3
3
  const SIMPLE_TYPES = [
4
4
  'ArrayExpression',
@@ -8,7 +8,7 @@ import {
8
8
  isStringAndArray,
9
9
  isIdentifierAndIdentifier,
10
10
  isSimpleAndNotEmptyObject,
11
- } from '../../is.js';
11
+ } from '#is';
12
12
 
13
13
  const {
14
14
  isObjectExpression,
@@ -1,4 +1,4 @@
1
- import {exists} from '../../is.js';
1
+ import {exists} from '#is';
2
2
  import {maybeParens} from '../../maybe/maybe-parens.js';
3
3
 
4
4
  const {isArray} = Array;
@@ -1,4 +1,4 @@
1
- import {exists} from '../../is.js';
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,5 +1,5 @@
1
1
  import {types} from '@putout/babel';
2
- import {isNext} from '../../is.js';
2
+ import {isNext} from '#is';
3
3
  import {markAfter} from '../../mark.js';
4
4
  import {maybeDeclare} from '../../maybe/maybe-declare.js';
5
5
  import {parseComments} from '../../comment/comment.js';
@@ -1,4 +1,4 @@
1
- import {exists} from '../../is.js';
1
+ import {exists} from '#is';
2
2
  import {printParams} from './params.js';
3
3
  import {maybeParens} from '../../maybe/maybe-parens.js';
4
4
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  isNext,
3
3
  hasTrailingComment,
4
- } from '../../is.js';
4
+ } from '#is';
5
5
  import {maybeDecorators} from '../../maybe/maybe-decorators.js';
6
6
  import {printKey} from '../object-expression/print-key.js';
7
7
  import {printKind} from './kind.js';
@@ -1,6 +1,6 @@
1
1
  import {types} from '@putout/babel';
2
+ import {isNext, isNextParent} from '#is';
2
3
  import {markAfter} from '../../mark.js';
3
- import {isNext, isNextParent} from '../../is.js';
4
4
  import {printParams} from './params.js';
5
5
 
6
6
  const not = (fn) => (...a) => !fn(...a);
@@ -1,4 +1,4 @@
1
- import {exists} from '../../is.js';
1
+ import {exists} from '#is';
2
2
  import {printParams} from './params.js';
3
3
  import {maybeParens} from '../../maybe/maybe-parens.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import {isNewlineBetweenSiblings} from '../../is.js';
1
+ import {isNewlineBetweenSiblings} from '#is';
2
2
  import {printParams} from './params.js';
3
3
  import {printKey} from '../object-expression/print-key.js';
4
4
  import {printKind} from './kind.js';
@@ -1,5 +1,5 @@
1
+ import {hasLeadingComment} from '#is';
1
2
  import {printParams} from './params.js';
2
- import {hasLeadingComment} from '../../is.js';
3
3
 
4
4
  const isAllParamsHasLeadingComments = (path) => {
5
5
  const params = path.get('params');
@@ -1,14 +1,8 @@
1
1
  export * from './function/functions.js';
2
2
  export * from './unary-expression/unary-expressions.js';
3
3
  export * from './member-expression/member-expressions.js';
4
- export {
5
- ClassExpression,
6
- ClassDeclaration,
7
- } from './class/class.js';
8
- export {
9
- CallExpression,
10
- OptionalCallExpression,
11
- } from './call-expression/call-expression.js';
4
+ export {ClassExpression, ClassDeclaration} from './class/class.js';
5
+ export {CallExpression, OptionalCallExpression} from './call-expression/call-expression.js';
12
6
  export {NewExpression} from './new-expression/new-expression.js';
13
7
  export {ObjectExpression} from './object-expression/object-expression.js';
14
8
  export {ObjectProperty} from './object-expression/object-property.js';
@@ -1,4 +1,4 @@
1
- import {hasTrailingComment} from '../../is.js';
1
+ import {hasTrailingComment} from '#is';
2
2
 
3
3
  const {assign} = Object;
4
4
 
@@ -1,6 +1,6 @@
1
1
  import {types} from '@putout/babel';
2
+ import {satisfy} from '#is';
2
3
  import {chain} from './chain.js';
3
- import {satisfy} from '../../is.js';
4
4
 
5
5
  const {
6
6
  isUnaryExpression,
@@ -1,5 +1,5 @@
1
1
  import {types} from '@putout/babel';
2
- import {exists} from '../../is.js';
2
+ import {exists} from '#is';
3
3
  import {isMarkedAfter} from '../../mark.js';
4
4
 
5
5
  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 '../../is.js';
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 '../../is.js';
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,4 +1,4 @@
1
- import {hasTrailingComment} from '../is.js';
1
+ import {hasTrailingComment} from '#is';
2
2
 
3
3
  export const SpreadElement = (path, printer) => {
4
4
  const {print} = printer;
@@ -1,4 +1,4 @@
1
- import {isLast, isNext} from '../../is.js';
1
+ import {isLast, isNext} from '#is';
2
2
  import {maybeParens} from '../../maybe/maybe-parens.js';
3
3
 
4
4
  const isWord = (a) => /^(delete|typeof|void|throw)$/.test(a);
@@ -38,4 +38,3 @@ export const JSXClosingElement = (path, {print}) => {
38
38
  print('__name');
39
39
  print('>');
40
40
  };
41
-
@@ -1,4 +1,4 @@
1
- import {isCoupleLines} from '../is.js';
1
+ import {isCoupleLines} from '#is';
2
2
 
3
3
  export const JSXAttribute = {
4
4
  condition(path) {
@@ -1,4 +1,4 @@
1
- import {isCoupleLines} from '../is.js';
1
+ import {isCoupleLines} from '#is';
2
2
 
3
3
  const isNotJSX = ({parentPath}) => {
4
4
  const grandPath = parentPath.parentPath;
@@ -43,4 +43,3 @@ export const MetaProperty = (path, {write}) => {
43
43
  export const Super = (path, {write}) => {
44
44
  write('super');
45
45
  };
46
-
@@ -1,4 +1,4 @@
1
- import {satisfy} from '../is.js';
1
+ import {satisfy} from '#is';
2
2
 
3
3
  export default (plugin) => {
4
4
  if (!plugin.afterSatisfy && !plugin.beforeSatisfy && !plugin.satisfy)
@@ -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 '../../is.js';
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,4 +1,4 @@
1
- import {exists} from '../../is.js';
1
+ import {exists} from '#is';
2
2
 
3
3
  export const insideIfWithNoBody = (path) => {
4
4
  if (!path.parentPath.isIfStatement())
@@ -3,7 +3,7 @@ import {
3
3
  isNextParent,
4
4
  isInsideIf,
5
5
  isInsideLabel,
6
- } from '../../is.js';
6
+ } from '#is';
7
7
 
8
8
  const isInsideCase = (path) => path.parentPath.isSwitchCase();
9
9
 
@@ -1,4 +1,4 @@
1
- import {isInsideLabel} from '../../is.js';
1
+ import {isInsideLabel} from '#is';
2
2
 
3
3
  export const ContinueStatement = (path, {print, maybe, write}) => {
4
4
  const {label} = path.node;
@@ -1,4 +1,4 @@
1
- import {isNext, isInsideIf} from '../is.js';
1
+ import {isNext, isInsideIf} from '#is';
2
2
 
3
3
  const isInsideBlock = (path) => path.parentPath.isBlockStatement();
4
4
 
@@ -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 '../../is.js';
8
+ } from '#is';
9
+ import {
10
+ markAfter,
11
+ isMarkedAfter,
12
+ hasPrevNewline,
13
+ } from '../../mark.js';
14
14
 
15
15
  const {
16
16
  isExportNamespaceSpecifier,
@@ -1,5 +1,5 @@
1
1
  import {types} from '@putout/babel';
2
- import {isNext} from '../../is.js';
2
+ import {isNext} from '#is';
3
3
 
4
4
  const {
5
5
  isVariableDeclaration,
@@ -10,7 +10,7 @@ import {
10
10
  hasTrailingComment,
11
11
  isCoupleLines,
12
12
  isInsideLabel,
13
- } from '../../is.js';
13
+ } from '#is';
14
14
  import {isInsideAssignNextAssignFunction} from './is-inside-assign-next-assign-function.js';
15
15
  import {
16
16
  printLeadingCommentLine,
@@ -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,5 +1,4 @@
1
- import {isInsideLabel} from '#is';
2
- import {exists} from '../is.js';
1
+ import {isInsideLabel, exists} from '#is';
3
2
  import {markAfter} from '../mark.js';
4
3
 
5
4
  export const ForStatement = {
@@ -1,10 +1,10 @@
1
1
  import {types} from '@putout/babel';
2
- import {markAfter} from '../../mark.js';
3
2
  import {
4
3
  exists,
5
4
  isNext,
6
5
  isInsideIf,
7
- } from '../../is.js';
6
+ } from '#is';
7
+ import {markAfter} from '../../mark.js';
8
8
 
9
9
  const {
10
10
  isBlockStatement,
@@ -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 {
@@ -28,4 +28,3 @@ export const InterpreterDirective = (path, {print}) => {
28
28
  print(`${SHEBANG_HASHBANG}${path.node.value}\n`);
29
29
  print.newline();
30
30
  };
31
-
@@ -1,4 +1,4 @@
1
- import {isInsideLabel} from '../../is.js';
1
+ import {isInsideLabel} from '#is';
2
2
 
3
3
  export const LabeledStatement = (path, {print, maybe}) => {
4
4
  maybe.indent(!isInsideLabel(path));
@@ -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 '../../is.js';
7
+ } from '#is';
8
8
  import {hasPrevNewline} from '../../mark.js';
9
9
  import {maybeSpaceAfterKeyword} from './maybe-space-after-keyword.js';
10
10
 
@@ -1,4 +1,4 @@
1
- import {isNext} from '../../is.js';
1
+ import {isNext} from '#is';
2
2
 
3
3
  export const TryStatement = {
4
4
  print(path, {print}) {
@@ -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 '../../is.js';
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,4 +1,4 @@
1
- import fullstore from 'fullstore';
1
+ import {fullstore} from 'fullstore';
2
2
  import {traverse as babelTraverse} from '@putout/babel';
3
3
  import {TYPES} from '../types.js';
4
4
  import * as baseVisitors from './visitors.js';
@@ -2,7 +2,7 @@ import {
2
2
  isNext,
3
3
  isNextParent,
4
4
  isLast,
5
- } from '../../is.js';
5
+ } from '#is';
6
6
  import {markAfter} from '../../mark.js';
7
7
 
8
8
  export const TSEnumDeclaration = {
@@ -1,5 +1,5 @@
1
+ import {isNext} from '#is';
1
2
  import {printParams} from '../../expressions/function/params.js';
2
- import {isNext} from '../../is.js';
3
3
  import {maybeDeclare} from '../../maybe/maybe-declare.js';
4
4
 
5
5
  const isInsideDefaultExport = (path) => {
@@ -175,4 +175,3 @@ export const TSExternalModuleReference = (path, {print}) => {
175
175
  export const TSThisType = (path, {print}) => {
176
176
  print('this');
177
177
  };
178
-
@@ -1,5 +1,5 @@
1
1
  import {types} from '@putout/babel';
2
- import {isNext, isNextParent} from '../../is.js';
2
+ import {isNext, isNextParent} from '#is';
3
3
  import {maybeDeclare} from '../../maybe/maybe-declare.js';
4
4
  import {markAfter} from '../../mark.js';
5
5
 
@@ -1,4 +1,4 @@
1
- import {isNext} from '../../is.js';
1
+ import {isNext} from '#is';
2
2
  import {maybeDeclare} from '../../maybe/maybe-declare.js';
3
3
 
4
4
  export const TSModuleDeclaration = {
@@ -1,4 +1,4 @@
1
- import {isNext} from '../../is.js';
1
+ import {isNext} from '#is';
2
2
 
3
3
  export const TSExportAssignment = {
4
4
  print: (path, {print}) => {
@@ -1,4 +1,4 @@
1
- import {hasLeadingComment} from '../../is.js';
1
+ import {hasLeadingComment} from '#is';
2
2
 
3
3
  export const TSParameterProperty = (path, {print, maybe, indent}) => {
4
4
  const {
@@ -1,8 +1,8 @@
1
- import {maybePrintTypeAnnotation} from '../../maybe/maybe-type-annotation.js';
2
1
  import {
3
2
  hasTrailingComment,
4
3
  isNext,
5
- } from '../../is.js';
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,
@@ -2,7 +2,7 @@ import {
2
2
  isLast,
3
3
  isNext,
4
4
  isNextParent,
5
- } from '../../is.js';
5
+ } from '#is';
6
6
  import {markAfter} from '../../mark.js';
7
7
  import {maybeDeclare} from '../../maybe/maybe-declare.js';
8
8
 
@@ -1,4 +1,4 @@
1
- import {exists} from '../../is.js';
1
+ import {exists} from '#is';
2
2
 
3
3
  export const TSTypeParameter = (path, {write, traverse}) => {
4
4
  const constraint = path.get('constraint');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@putout/printer",
3
- "version": "17.0.0",
3
+ "version": "17.0.2",
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",
@@ -36,8 +36,8 @@
36
36
  "@putout/babel": "^5.0.0",
37
37
  "@putout/compare": "^19.0.1",
38
38
  "@putout/operate": "^15.0.0",
39
- "@putout/operator-json": "^2.0.0",
40
- "fullstore": "^3.0.0",
39
+ "@putout/operator-json": "^3.1.0",
40
+ "fullstore": "^4.0.0",
41
41
  "just-snake-case": "^3.2.0",
42
42
  "parse-import-specifiers": "^1.0.1",
43
43
  "rendy": "^4.0.0"
@@ -69,7 +69,7 @@
69
69
  }
70
70
  },
71
71
  "devDependencies": {
72
- "@babel/parser": "8.0.0-beta.2",
72
+ "@babel/parser": "^7.28.5",
73
73
  "@putout/eslint": "^5.0.2",
74
74
  "@putout/plugin-minify": "^11.2.1",
75
75
  "@putout/plugin-printer": "^7.0.0",
@@ -82,7 +82,7 @@
82
82
  "escover": "^5.0.0",
83
83
  "eslint": "^9.0.0",
84
84
  "eslint-plugin-putout": "^29.0.0",
85
- "estree-to-babel": "^11.0.2",
85
+ "estree-to-babel": "^12.0.0",
86
86
  "goldstein": "^7.0.0",
87
87
  "just-kebab-case": "^4.2.0",
88
88
  "madrun": "^12.0.0",
@@ -91,13 +91,13 @@
91
91
  "putout": "^41.0.0",
92
92
  "redlint": "^5.0.2",
93
93
  "samadhi": "^4.0.2",
94
- "supertape": "^11.1.0",
94
+ "supertape": "^12.0.9",
95
95
  "try-catch": "^4.0.6",
96
96
  "typescript": "^5.3.3"
97
97
  },
98
98
  "license": "MIT",
99
99
  "engines": {
100
- "node": ">=20"
100
+ "node": ">=22"
101
101
  },
102
102
  "publishConfig": {
103
103
  "access": "public"