prettier-plugin-java 2.5.0 → 2.6.0

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/LICENSE CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- Copyright 2018-2023 the original author or authors from the JHipster project
2
+ Copyright 2018-2024 the original author or authors from the JHipster project
3
3
 
4
4
  Apache License
5
5
  Version 2.0, January 2004
@@ -1,60 +1,41 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.BaseCstPrettierPrinter = void 0;
19
- var java_parser_1 = require("java-parser");
20
- var format_comments_1 = require("./printers/comments/format-comments");
21
- var BaseCstPrettierPrinter = /** @class */ (function (_super) {
22
- __extends(BaseCstPrettierPrinter, _super);
23
- function BaseCstPrettierPrinter() {
24
- var _this = _super.call(this) || this;
25
- _this.mapVisit = function (elements, params) {
1
+ import { BaseJavaCstVisitor } from "java-parser";
2
+ import { printNodeWithComments } from "./printers/comments/format-comments.js";
3
+ export class BaseCstPrettierPrinter extends BaseJavaCstVisitor {
4
+ constructor() {
5
+ super();
6
+ this.mapVisit = (elements, params) => {
26
7
  if (elements === undefined) {
27
8
  // TODO: can optimize this by returning an immutable empty array singleton.
28
9
  return [];
29
10
  }
30
- return elements.map(function (element) { return _this.visit(element, params); });
11
+ return elements.map(element => this.visit(element, params));
31
12
  };
32
- _this.getSingle = function (ctx) {
33
- var ctxKeys = Object.keys(ctx);
13
+ this.getSingle = (ctx) => {
14
+ const ctxKeys = Object.keys(ctx);
34
15
  if (ctxKeys.length !== 1) {
35
- throw Error("Expecting single key CST ctx but found: <".concat(ctxKeys.length, "> keys"));
16
+ throw Error(`Expecting single key CST ctx but found: <${ctxKeys.length}> keys`);
36
17
  }
37
- var singleElementKey = ctxKeys[0];
38
- var singleElementValues = ctx[singleElementKey];
18
+ const singleElementKey = ctxKeys[0];
19
+ const singleElementValues = ctx[singleElementKey];
39
20
  if ((singleElementValues === null || singleElementValues === void 0 ? void 0 : singleElementValues.length) !== 1) {
40
- throw Error("Expecting single item in CST ctx key but found: <".concat(singleElementValues === null || singleElementValues === void 0 ? void 0 : singleElementValues.length, "> items"));
21
+ throw Error(`Expecting single item in CST ctx key but found: <${singleElementValues === null || singleElementValues === void 0 ? void 0 : singleElementValues.length}> items`);
41
22
  }
42
23
  return singleElementValues[0];
43
24
  };
44
25
  // @ts-ignore
45
- _this.orgVisit = _this.visit;
46
- _this.visit = function (ctx, inParam) {
26
+ this.orgVisit = this.visit;
27
+ this.visit = function (ctx, inParam) {
47
28
  if (ctx === undefined) {
48
29
  // empty Doc
49
30
  return "";
50
31
  }
51
- var node = Array.isArray(ctx) ? ctx[0] : ctx;
32
+ const node = Array.isArray(ctx) ? ctx[0] : ctx;
52
33
  if (node.ignore) {
53
34
  try {
54
- var startOffset = node.leadingComments !== undefined
35
+ const startOffset = node.leadingComments !== undefined
55
36
  ? node.leadingComments[0].startOffset
56
37
  : node.location.startOffset;
57
- var endOffset = (node.trailingComments !== undefined
38
+ const endOffset = (node.trailingComments !== undefined
58
39
  ? node.trailingComments[node.trailingComments.length - 1].endOffset
59
40
  : node.location.endOffset);
60
41
  return this.prettierOptions.originalText.substring(startOffset, endOffset + 1);
@@ -64,14 +45,11 @@ var BaseCstPrettierPrinter = /** @class */ (function (_super) {
64
45
  "\nThere might be a problem with prettier-ignore, please report an issue on https://github.com/jhipster/prettier-java/issues");
65
46
  }
66
47
  }
67
- return (0, format_comments_1.printNodeWithComments)(node, this.orgVisit.call(this, node, inParam));
48
+ return printNodeWithComments(node, this.orgVisit.call(this, node, inParam));
68
49
  };
69
- _this.visitSingle = function (ctx, params) {
70
- var singleElement = this.getSingle(ctx);
50
+ this.visitSingle = function (ctx, params) {
51
+ const singleElement = this.getSingle(ctx);
71
52
  return this.visit(singleElement, params);
72
53
  };
73
- return _this;
74
54
  }
75
- return BaseCstPrettierPrinter;
76
- }(java_parser_1.BaseJavaCstVisitor));
77
- exports.BaseCstPrettierPrinter = BaseCstPrettierPrinter;
55
+ }
@@ -1,37 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPrettierDoc = void 0;
4
- var base_cst_printer_1 = require("./base-cst-printer");
5
- var arrays_1 = require("./printers/arrays");
6
- var blocks_and_statements_1 = require("./printers/blocks-and-statements");
7
- var classes_1 = require("./printers/classes");
8
- var expressions_1 = require("./printers/expressions");
9
- var interfaces_1 = require("./printers/interfaces");
10
- var lexical_structure_1 = require("./printers/lexical-structure");
11
- var names_1 = require("./printers/names");
12
- var types_values_and_variables_1 = require("./printers/types-values-and-variables");
13
- var packages_and_modules_1 = require("./printers/packages-and-modules");
1
+ import { BaseCstPrettierPrinter } from "./base-cst-printer.js";
2
+ import { ArraysPrettierVisitor } from "./printers/arrays.js";
3
+ import { BlocksAndStatementPrettierVisitor } from "./printers/blocks-and-statements.js";
4
+ import { ClassesPrettierVisitor } from "./printers/classes.js";
5
+ import { ExpressionsPrettierVisitor } from "./printers/expressions.js";
6
+ import { InterfacesPrettierVisitor } from "./printers/interfaces.js";
7
+ import { LexicalStructurePrettierVisitor } from "./printers/lexical-structure.js";
8
+ import { NamesPrettierVisitor } from "./printers/names.js";
9
+ import { TypesValuesAndVariablesPrettierVisitor } from "./printers/types-values-and-variables.js";
10
+ import { PackagesAndModulesPrettierVisitor } from "./printers/packages-and-modules.js";
14
11
  // Mixins for the win
15
- mixInMethods(arrays_1.ArraysPrettierVisitor, blocks_and_statements_1.BlocksAndStatementPrettierVisitor, classes_1.ClassesPrettierVisitor, expressions_1.ExpressionsPrettierVisitor, interfaces_1.InterfacesPrettierVisitor, lexical_structure_1.LexicalStructurePrettierVisitor, names_1.NamesPrettierVisitor, types_values_and_variables_1.TypesValuesAndVariablesPrettierVisitor, packages_and_modules_1.PackagesAndModulesPrettierVisitor);
16
- function mixInMethods() {
17
- var classesToMix = [];
18
- for (var _i = 0; _i < arguments.length; _i++) {
19
- classesToMix[_i] = arguments[_i];
20
- }
21
- classesToMix.forEach(function (from) {
22
- var fromMethodsNames = Object.getOwnPropertyNames(from.prototype);
23
- var fromPureMethodsName = fromMethodsNames.filter(function (methodName) { return methodName !== "constructor"; });
24
- fromPureMethodsName.forEach(function (methodName) {
12
+ mixInMethods(ArraysPrettierVisitor, BlocksAndStatementPrettierVisitor, ClassesPrettierVisitor, ExpressionsPrettierVisitor, InterfacesPrettierVisitor, LexicalStructurePrettierVisitor, NamesPrettierVisitor, TypesValuesAndVariablesPrettierVisitor, PackagesAndModulesPrettierVisitor);
13
+ function mixInMethods(...classesToMix) {
14
+ classesToMix.forEach(from => {
15
+ const fromMethodsNames = Object.getOwnPropertyNames(from.prototype);
16
+ const fromPureMethodsName = fromMethodsNames.filter(methodName => methodName !== "constructor");
17
+ fromPureMethodsName.forEach(methodName => {
25
18
  // @ts-ignore
26
- base_cst_printer_1.BaseCstPrettierPrinter.prototype[methodName] = from.prototype[methodName];
19
+ BaseCstPrettierPrinter.prototype[methodName] = from.prototype[methodName];
27
20
  });
28
21
  });
29
22
  }
30
- var prettyPrinter = new base_cst_printer_1.BaseCstPrettierPrinter();
23
+ const prettyPrinter = new BaseCstPrettierPrinter();
31
24
  // TODO: do we need the "path" and "print" arguments passed by prettier
32
25
  // see https://github.com/prettier/prettier/issues/5747
33
- function createPrettierDoc(cstNode, options) {
26
+ export function createPrettierDoc(cstNode, options) {
34
27
  prettyPrinter.prettierOptions = options;
35
28
  return prettyPrinter.visit(cstNode);
36
29
  }
37
- exports.createPrettierDoc = createPrettierDoc;
package/dist/index.js CHANGED
@@ -1,8 +1,7 @@
1
- "use strict";
2
- var parse = require("./parser");
3
- var print = require("./printer");
4
- var options = require("./options");
5
- var languages = [
1
+ import parse from "./parser.js";
2
+ import print from "./printer.js";
3
+ import options from "./options.js";
4
+ const languages = [
6
5
  {
7
6
  name: "Java",
8
7
  parsers: ["java"],
@@ -25,20 +24,20 @@ function locEnd( /* node */) {
25
24
  function hasPragma(text) {
26
25
  return /^\/\*\*[\n][\t\s]+\*\s@(prettier|format)[\n][\t\s]+\*\//.test(text);
27
26
  }
28
- var parsers = {
27
+ const parsers = {
29
28
  java: {
30
- parse: parse,
29
+ parse,
31
30
  astFormat: "java",
32
- locStart: locStart,
33
- locEnd: locEnd,
34
- hasPragma: hasPragma
31
+ locStart,
32
+ locEnd,
33
+ hasPragma
35
34
  }
36
35
  };
37
36
  function canAttachComment(node) {
38
37
  return node.ast_type && node.ast_type !== "comment";
39
38
  }
40
39
  function printComment(commentPath) {
41
- var comment = commentPath.getValue();
40
+ const comment = commentPath.getValue();
42
41
  switch (comment.ast_type) {
43
42
  case "comment":
44
43
  return comment.value;
@@ -50,18 +49,18 @@ function clean(ast, newObj) {
50
49
  delete newObj.lineno;
51
50
  delete newObj.col_offset;
52
51
  }
53
- var printers = {
52
+ const printers = {
54
53
  java: {
55
- print: print,
54
+ print,
56
55
  // hasPrettierIgnore,
57
- printComment: printComment,
58
- canAttachComment: canAttachComment,
56
+ printComment,
57
+ canAttachComment,
59
58
  massageAstNode: clean
60
59
  }
61
60
  };
62
- module.exports = {
63
- languages: languages,
64
- printers: printers,
65
- parsers: parsers,
66
- options: options
61
+ export default {
62
+ languages,
63
+ printers,
64
+ parsers,
65
+ options
67
66
  };
package/dist/options.js CHANGED
@@ -1,5 +1,4 @@
1
- "use strict";
2
- module.exports = {
1
+ export default {
3
2
  entrypoint: {
4
3
  type: "choice",
5
4
  category: "Global",
@@ -53,9 +52,6 @@ module.exports = {
53
52
  { value: "resource" },
54
53
  { value: "yieldStatement" },
55
54
  { value: "variableAccess" },
56
- { value: "isBasicForStatement" },
57
- { value: "isLocalVariableDeclaration" },
58
- { value: "isClassicSwitchLabel" },
59
55
  { value: "classDeclaration" },
60
56
  { value: "normalClassDeclaration" },
61
57
  { value: "classModifier" },
@@ -122,10 +118,7 @@ module.exports = {
122
118
  { value: "recordBody" },
123
119
  { value: "recordBodyDeclaration" },
124
120
  { value: "compactConstructorDeclaration" },
125
- { value: "isClassDeclaration" },
126
- { value: "identifyClassBodyDeclarationType" },
127
121
  { value: "isDims" },
128
- { value: "isCompactConstructorDeclaration" },
129
122
  { value: "expression" },
130
123
  { value: "lambdaExpression" },
131
124
  { value: "lambdaParameters" },
@@ -167,6 +160,11 @@ module.exports = {
167
160
  { value: "classLiteralSuffix" },
168
161
  { value: "arrayAccessSuffix" },
169
162
  { value: "methodReferenceSuffix" },
163
+ { value: "templateArgument" },
164
+ { value: "template" },
165
+ { value: "stringTemplate" },
166
+ { value: "textBlockTemplate" },
167
+ { value: "embeddedExpression" },
170
168
  { value: "pattern" },
171
169
  { value: "typePattern" },
172
170
  { value: "recordPattern" },
@@ -174,11 +172,6 @@ module.exports = {
174
172
  { value: "componentPattern" },
175
173
  { value: "unnamedPattern" },
176
174
  { value: "guard" },
177
- { value: "identifyNewExpressionType" },
178
- { value: "isLambdaExpression" },
179
- { value: "isCastExpression" },
180
- { value: "isPrimitiveCastExpression" },
181
- { value: "isReferenceTypeCastExpression" },
182
175
  { value: "isRefTypeInMethodRef" },
183
176
  { value: "interfaceDeclaration" },
184
177
  { value: "normalInterfaceDeclaration" },
@@ -203,9 +196,6 @@ module.exports = {
203
196
  { value: "elementValue" },
204
197
  { value: "elementValueArrayInitializer" },
205
198
  { value: "elementValueList" },
206
- { value: "identifyInterfaceBodyDeclarationType" },
207
- { value: "identifyAnnotationBodyDeclarationType" },
208
- { value: "isSimpleElementValueAnnotation" },
209
199
  { value: "literal" },
210
200
  { value: "integerLiteral" },
211
201
  { value: "floatingPointLiteral" },
@@ -232,7 +222,6 @@ module.exports = {
232
222
  { value: "usesModuleDirective" },
233
223
  { value: "providesModuleDirective" },
234
224
  { value: "requiresModifier" },
235
- { value: "isModuleCompilationUnit" },
236
225
  { value: "primitiveType" },
237
226
  { value: "numericType" },
238
227
  { value: "integralType" },
@@ -254,5 +243,12 @@ module.exports = {
254
243
  { value: "wildcardBounds" }
255
244
  ],
256
245
  description: "Prettify from the entrypoint, allowing to use prettier on snippet."
246
+ },
247
+ trailingComma: {
248
+ type: "choice",
249
+ category: "Java",
250
+ default: "all",
251
+ choices: ["all", "none"],
252
+ description: "Print trailing commas wherever possible when multi-line."
257
253
  }
258
254
  };
package/dist/parser.js CHANGED
@@ -1,6 +1,4 @@
1
- "use strict";
2
- var javaParser = require("java-parser");
3
- function parse(text, parsers, opts) {
1
+ import javaParser from "java-parser";
2
+ export default function parse(text, parsers, opts) {
4
3
  return javaParser.parse(text, opts.entrypoint);
5
4
  }
6
- module.exports = parse;
package/dist/printer.js CHANGED
@@ -1,8 +1,6 @@
1
- "use strict";
2
- var createPrettierDoc = require("./cst-printer").createPrettierDoc;
1
+ import { createPrettierDoc } from "./cst-printer.js";
3
2
  // eslint-disable-next-line no-unused-vars
4
- function genericPrint(path, options, print) {
5
- var node = path.getValue();
3
+ export default function genericPrint(path, options, print) {
4
+ const node = path.getValue();
6
5
  return createPrettierDoc(node, options);
7
6
  }
8
- module.exports = genericPrint;
@@ -1,49 +1,25 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ArraysPrettierVisitor = void 0;
19
- var printer_utils_1 = require("./printer-utils");
20
- var doc_1 = require("prettier/doc");
21
- var base_cst_printer_1 = require("../base-cst-printer");
22
- var line = doc_1.builders.line;
23
- var ArraysPrettierVisitor = /** @class */ (function (_super) {
24
- __extends(ArraysPrettierVisitor, _super);
25
- function ArraysPrettierVisitor() {
26
- return _super !== null && _super.apply(this, arguments) || this;
27
- }
28
- ArraysPrettierVisitor.prototype.arrayInitializer = function (ctx) {
29
- var optionalVariableInitializerList = this.visit(ctx.variableInitializerList);
30
- return (0, printer_utils_1.printArrayList)({
1
+ import { printArrayList, rejectAndConcat, rejectAndJoinSeps } from "./printer-utils.js";
2
+ import { builders } from "prettier/doc";
3
+ import { BaseCstPrettierPrinter } from "../base-cst-printer.js";
4
+ const { line } = builders;
5
+ export class ArraysPrettierVisitor extends BaseCstPrettierPrinter {
6
+ arrayInitializer(ctx) {
7
+ const optionalVariableInitializerList = this.visit(ctx.variableInitializerList);
8
+ return printArrayList({
31
9
  list: optionalVariableInitializerList,
32
10
  extraComma: ctx.Comma,
33
11
  LCurly: ctx.LCurly[0],
34
12
  RCurly: ctx.RCurly[0],
35
13
  trailingComma: this.prettierOptions.trailingComma
36
14
  });
37
- };
38
- ArraysPrettierVisitor.prototype.variableInitializerList = function (ctx) {
39
- var variableInitializers = this.mapVisit(ctx.variableInitializer);
40
- var commas = ctx.Comma
41
- ? ctx.Comma.map(function (comma) {
42
- return (0, printer_utils_1.rejectAndConcat)([comma, line]);
15
+ }
16
+ variableInitializerList(ctx) {
17
+ const variableInitializers = this.mapVisit(ctx.variableInitializer);
18
+ const commas = ctx.Comma
19
+ ? ctx.Comma.map(comma => {
20
+ return rejectAndConcat([comma, line]);
43
21
  })
44
22
  : [];
45
- return (0, printer_utils_1.rejectAndJoinSeps)(commas, variableInitializers);
46
- };
47
- return ArraysPrettierVisitor;
48
- }(base_cst_printer_1.BaseCstPrettierPrinter));
49
- exports.ArraysPrettierVisitor = ArraysPrettierVisitor;
23
+ return rejectAndJoinSeps(commas, variableInitializers);
24
+ }
25
+ }