@tai-kun/vp-lint-plugins 0.0.3 → 0.0.5

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 (45) hide show
  1. package/dist/src/index.d.ts +2 -6
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +2 -6
  4. package/dist/src/plugin.js +4 -12
  5. package/dist/src/rules/blank-line-utils.d.ts +30 -0
  6. package/dist/src/rules/blank-line-utils.d.ts.map +1 -0
  7. package/dist/src/rules/blank-line-utils.js +103 -0
  8. package/dist/src/rules/blank-line.d.ts +5 -14
  9. package/dist/src/rules/blank-line.d.ts.map +1 -1
  10. package/dist/src/rules/blank-line.js +426 -66
  11. package/dist/src/rules/merge-imports.d.ts +8 -0
  12. package/dist/src/rules/merge-imports.d.ts.map +1 -0
  13. package/dist/src/rules/merge-imports.js +199 -0
  14. package/dist/src/rules/overload-signatures-adjacent.js +1 -1
  15. package/package.json +1 -1
  16. package/src/index.ts +2 -6
  17. package/src/plugin.ts +4 -12
  18. package/src/rules/blank-line-utils.ts +165 -0
  19. package/src/rules/blank-line.ts +555 -97
  20. package/src/rules/merge-imports.ts +301 -0
  21. package/src/rules/overload-signatures-adjacent.ts +1 -1
  22. package/dist/src/rules/blank-line-after-control-block.d.ts +0 -7
  23. package/dist/src/rules/blank-line-after-control-block.d.ts.map +0 -1
  24. package/dist/src/rules/blank-line-after-control-block.js +0 -54
  25. package/dist/src/rules/blank-line-after-declaration.d.ts +0 -7
  26. package/dist/src/rules/blank-line-after-declaration.d.ts.map +0 -1
  27. package/dist/src/rules/blank-line-after-declaration.js +0 -79
  28. package/dist/src/rules/blank-line-after-variable-declaration.d.ts +0 -9
  29. package/dist/src/rules/blank-line-after-variable-declaration.d.ts.map +0 -1
  30. package/dist/src/rules/blank-line-after-variable-declaration.js +0 -118
  31. package/dist/src/rules/blank-line-before-return.d.ts +0 -7
  32. package/dist/src/rules/blank-line-before-return.d.ts.map +0 -1
  33. package/dist/src/rules/blank-line-before-return.js +0 -81
  34. package/dist/src/rules/blank-line-between-class-members.d.ts +0 -8
  35. package/dist/src/rules/blank-line-between-class-members.d.ts.map +0 -1
  36. package/dist/src/rules/blank-line-between-class-members.js +0 -85
  37. package/dist/src/rules/blank-line-between-switch-cases.d.ts +0 -8
  38. package/dist/src/rules/blank-line-between-switch-cases.d.ts.map +0 -1
  39. package/dist/src/rules/blank-line-between-switch-cases.js +0 -45
  40. package/src/rules/blank-line-after-control-block.ts +0 -82
  41. package/src/rules/blank-line-after-declaration.ts +0 -106
  42. package/src/rules/blank-line-after-variable-declaration.ts +0 -165
  43. package/src/rules/blank-line-before-return.ts +0 -101
  44. package/src/rules/blank-line-between-class-members.ts +0 -112
  45. package/src/rules/blank-line-between-switch-cases.ts +0 -53
@@ -1,15 +1,11 @@
1
- export { default as blankLineAfterControlBlock } from "./rules/blank-line-after-control-block.js";
2
- export { default as blankLineAfterDeclaration } from "./rules/blank-line-after-declaration.js";
3
- export { default as blankLineAfterVariableDeclaration } from "./rules/blank-line-after-variable-declaration.js";
4
- export { default as blankLineBeforeReturn } from "./rules/blank-line-before-return.js";
5
- export { default as blankLineBetweenClassMembers } from "./rules/blank-line-between-class-members.js";
6
- export { default as blankLineBetweenSwitchCases } from "./rules/blank-line-between-switch-cases.js";
1
+ export { default as blankLine } from "./rules/blank-line.js";
7
2
  export { default as commentJapaneseSpacing } from "./rules/comment-japanese-spacing.js";
8
3
  export { default as commentOneSentencePerLine } from "./rules/comment-one-sentence-per-line.js";
9
4
  export { default as jsdocParamOrder } from "./rules/jsdoc-param-order.js";
10
5
  export { default as jsdocTagLines } from "./rules/jsdoc-tag-lines.js";
11
6
  export { default as jsdocTagOrder } from "./rules/jsdoc-tag-order.js";
12
7
  export { default as memberOrdering } from "./rules/member-ordering.js";
8
+ export { default as mergeImports } from "./rules/merge-imports.js";
13
9
  export { default as objectPropertiesNewline } from "./rules/object-properties-newline.js";
14
10
  export { default as overloadSignaturesAdjacent } from "./rules/overload-signatures-adjacent.js";
15
11
  export { default as sortImportExportSpecifiers } from "./rules/sort-import-export-specifiers.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAC/F,OAAO,EAAE,OAAO,IAAI,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AAChH,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AACtG,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACpG,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,15 +1,11 @@
1
- export { default as blankLineAfterControlBlock } from "./rules/blank-line-after-control-block.js";
2
- export { default as blankLineAfterDeclaration } from "./rules/blank-line-after-declaration.js";
3
- export { default as blankLineAfterVariableDeclaration } from "./rules/blank-line-after-variable-declaration.js";
4
- export { default as blankLineBeforeReturn } from "./rules/blank-line-before-return.js";
5
- export { default as blankLineBetweenClassMembers } from "./rules/blank-line-between-class-members.js";
6
- export { default as blankLineBetweenSwitchCases } from "./rules/blank-line-between-switch-cases.js";
1
+ export { default as blankLine } from "./rules/blank-line.js";
7
2
  export { default as commentJapaneseSpacing } from "./rules/comment-japanese-spacing.js";
8
3
  export { default as commentOneSentencePerLine } from "./rules/comment-one-sentence-per-line.js";
9
4
  export { default as jsdocParamOrder } from "./rules/jsdoc-param-order.js";
10
5
  export { default as jsdocTagLines } from "./rules/jsdoc-tag-lines.js";
11
6
  export { default as jsdocTagOrder } from "./rules/jsdoc-tag-order.js";
12
7
  export { default as memberOrdering } from "./rules/member-ordering.js";
8
+ export { default as mergeImports } from "./rules/merge-imports.js";
13
9
  export { default as objectPropertiesNewline } from "./rules/object-properties-newline.js";
14
10
  export { default as overloadSignaturesAdjacent } from "./rules/overload-signatures-adjacent.js";
15
11
  export { default as sortImportExportSpecifiers } from "./rules/sort-import-export-specifiers.js";
@@ -1,16 +1,12 @@
1
1
  import { definePlugin } from "vite-plus/lint/plugins";
2
- import blankLineAfterControlBlock from "./rules/blank-line-after-control-block.js";
3
- import blankLineAfterDeclaration from "./rules/blank-line-after-declaration.js";
4
- import blankLineAfterVariableDeclaration from "./rules/blank-line-after-variable-declaration.js";
5
- import blankLineBeforeReturn from "./rules/blank-line-before-return.js";
6
- import blankLineBetweenClassMembers from "./rules/blank-line-between-class-members.js";
7
- import blankLineBetweenSwitchCases from "./rules/blank-line-between-switch-cases.js";
2
+ import blankLine from "./rules/blank-line.js";
8
3
  import commentJapaneseSpacing from "./rules/comment-japanese-spacing.js";
9
4
  import commentOneSentencePerLine from "./rules/comment-one-sentence-per-line.js";
10
5
  import jsdocParamOrder from "./rules/jsdoc-param-order.js";
11
6
  import jsdocTagLines from "./rules/jsdoc-tag-lines.js";
12
7
  import jsdocTagOrder from "./rules/jsdoc-tag-order.js";
13
8
  import memberOrdering from "./rules/member-ordering.js";
9
+ import mergeImports from "./rules/merge-imports.js";
14
10
  import objectPropertiesNewline from "./rules/object-properties-newline.js";
15
11
  import overloadSignaturesAdjacent from "./rules/overload-signatures-adjacent.js";
16
12
  import sortImportExportSpecifiers from "./rules/sort-import-export-specifiers.js";
@@ -22,6 +18,8 @@ import typeLiteralPropertiesNewline from "./rules/type-literal-properties-newlin
22
18
  export default definePlugin({
23
19
  meta: { name: "tai-kun" },
24
20
  rules: {
21
+ "blank-line": blankLine,
22
+ "merge-imports": mergeImports,
25
23
  "sort-jsx-props": sortJsxProps,
26
24
  "spaced-comment": spacedComment,
27
25
  "jsdoc-tag-lines": jsdocTagLines,
@@ -30,17 +28,11 @@ export default definePlugin({
30
28
  "jsdoc-param-order": jsdocParamOrder,
31
29
  "sort-type-members": sortTypeMembers,
32
30
  "sort-object-properties": sortObjectProperties,
33
- "blank-line-before-return": blankLineBeforeReturn,
34
31
  "comment-japanese-spacing": commentJapaneseSpacing,
35
32
  "object-properties-newline": objectPropertiesNewline,
36
- "blank-line-after-declaration": blankLineAfterDeclaration,
37
33
  "overload-signatures-adjacent": overloadSignaturesAdjacent,
38
34
  "comment-one-sentence-per-line": commentOneSentencePerLine,
39
35
  "sort-import-export-specifiers": sortImportExportSpecifiers,
40
- "blank-line-after-control-block": blankLineAfterControlBlock,
41
- "blank-line-between-switch-cases": blankLineBetweenSwitchCases,
42
36
  "type-literal-properties-newline": typeLiteralPropertiesNewline,
43
- "blank-line-between-class-members": blankLineBetweenClassMembers,
44
- "blank-line-after-variable-declaration": blankLineAfterVariableDeclaration,
45
37
  },
46
38
  });
@@ -0,0 +1,30 @@
1
+ import type { Fix, Fixer, ESTree, Comment, SourceCode } from "vite-plus/lint/plugins";
2
+ declare function getNextStatement(node: ESTree.Node): ESTree.Node | null;
3
+ declare function getPreviousStatement(node: ESTree.Node): ESTree.Node | null;
4
+ /**
5
+ * 空行の挿入位置を返します。
6
+ *
7
+ * 次の文に付くコメントがある場合は、そのコメントの前を挿入位置にします。
8
+ * 同じ行の末尾コメントは対象外です。
9
+ */
10
+ declare function getInsertionTarget(node: ESTree.Node, nextStatement: ESTree.Node, sourceCode: SourceCode): ESTree.Node | Comment;
11
+ declare function hasBlankLine(node: ESTree.Node, target: ESTree.Node | Comment): boolean;
12
+ /**
13
+ * 挿入対象がコメントかどうかを返します。
14
+ *
15
+ * コメントを挟む場合、前後の空行は任意とします。
16
+ */
17
+ declare function isComment(target: ESTree.Node | Comment): target is Comment;
18
+ /**
19
+ * JSDoc 形式のブロックコメント(`/**` で始まる)かどうかを返します。
20
+ *
21
+ * JSDoc 形式のブロックコメントの 1 行上は空行にします。
22
+ */
23
+ declare function isDocComment(target: ESTree.Node | Comment): target is Comment;
24
+ declare function getBlankLineFix(fixer: Fixer, sourceCode: SourceCode, node: ESTree.Node, target: ESTree.Node | Comment): Fix | null;
25
+ /**
26
+ * 指定したノードと対象の間の空行を削除します。
27
+ */
28
+ declare function getRemoveBlankLineFix(fixer: Fixer, sourceCode: SourceCode, node: ESTree.Node, target: ESTree.Node | Comment): Fix | null;
29
+ export { isComment, hasBlankLine, isDocComment, getBlankLineFix, getNextStatement, getInsertionTarget, getPreviousStatement, getRemoveBlankLineFix, };
30
+ //# sourceMappingURL=blank-line-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blank-line-utils.d.ts","sourceRoot":"","sources":["../../../src/rules/blank-line-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AA4BtF,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAc/D;AAED,iBAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAcnE;AAED;;;;;GAKG;AACH,iBAAS,kBAAkB,CACzB,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,aAAa,EAAE,MAAM,CAAC,IAAI,EAC1B,UAAU,EAAE,UAAU,GACrB,MAAM,CAAC,IAAI,GAAG,OAAO,CAWvB;AAED,iBAAS,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,GAAG,OAAO,CAE/E;AAED;;;;GAIG;AACH,iBAAS,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,IAAI,OAAO,CAInE;AAED;;;;GAIG;AACH,iBAAS,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,IAAI,OAAO,CAEtE;AAED,iBAAS,eAAe,CACtB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,GAC5B,GAAG,GAAG,IAAI,CAYZ;AAED;;GAEG;AACH,iBAAS,qBAAqB,CAC5B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,GAC5B,GAAG,GAAG,IAAI,CAmBZ;AAED,OAAO,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,CAAC"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * 文の配列を持つ親から、その文が属する配列を取得します。
3
+ */
4
+ function getStatementBody(node) {
5
+ const { parent } = node;
6
+ if (parent === null) {
7
+ return null;
8
+ }
9
+ if (parent.type === "Program" ||
10
+ parent.type === "BlockStatement" ||
11
+ parent.type === "StaticBlock" ||
12
+ parent.type === "TSModuleBlock") {
13
+ return parent.body;
14
+ }
15
+ if (parent.type === "SwitchCase") {
16
+ return parent.consequent;
17
+ }
18
+ return null;
19
+ }
20
+ function getNextStatement(node) {
21
+ const body = getStatementBody(node);
22
+ if (body === null) {
23
+ return null;
24
+ }
25
+ const index = body.indexOf(node);
26
+ if (index === -1 || index === body.length - 1) {
27
+ return null;
28
+ }
29
+ return body[index + 1] ?? null;
30
+ }
31
+ function getPreviousStatement(node) {
32
+ const body = getStatementBody(node);
33
+ if (body === null) {
34
+ return null;
35
+ }
36
+ const index = body.indexOf(node);
37
+ if (index <= 0) {
38
+ return null;
39
+ }
40
+ return body[index - 1] ?? null;
41
+ }
42
+ /**
43
+ * 空行の挿入位置を返します。
44
+ *
45
+ * 次の文に付くコメントがある場合は、そのコメントの前を挿入位置にします。
46
+ * 同じ行の末尾コメントは対象外です。
47
+ */
48
+ function getInsertionTarget(node, nextStatement, sourceCode) {
49
+ return (sourceCode
50
+ .getAllComments()
51
+ .find((comment) => comment.range[0] >= node.range[1] &&
52
+ comment.range[1] <= nextStatement.range[0] &&
53
+ comment.loc.start.line > node.loc.end.line) ?? nextStatement);
54
+ }
55
+ function hasBlankLine(node, target) {
56
+ return target.loc.start.line > node.loc.end.line + 1;
57
+ }
58
+ /**
59
+ * 挿入対象がコメントかどうかを返します。
60
+ *
61
+ * コメントを挟む場合、前後の空行は任意とします。
62
+ */
63
+ function isComment(target) {
64
+ const { type } = target;
65
+ return type === "Line" || type === "Block" || type === "Shebang";
66
+ }
67
+ /**
68
+ * JSDoc 形式のブロックコメント(`/**` で始まる)かどうかを返します。
69
+ *
70
+ * JSDoc 形式のブロックコメントの 1 行上は空行にします。
71
+ */
72
+ function isDocComment(target) {
73
+ return isComment(target) && target.type === "Block" && target.value.startsWith("*");
74
+ }
75
+ function getBlankLineFix(fixer, sourceCode, node, target) {
76
+ if (target.loc.start.line === node.loc.end.line) {
77
+ return fixer.insertTextAfterRange([node.range[1], node.range[1]], "\n\n");
78
+ }
79
+ const lineEnd = sourceCode.text.indexOf("\n", node.range[1]);
80
+ if (lineEnd === -1) {
81
+ return null;
82
+ }
83
+ return fixer.insertTextBeforeRange([lineEnd, lineEnd + 1], "\n");
84
+ }
85
+ /**
86
+ * 指定したノードと対象の間の空行を削除します。
87
+ */
88
+ function getRemoveBlankLineFix(fixer, sourceCode, node, target) {
89
+ if (target.loc.start.line <= node.loc.end.line + 1) {
90
+ return null;
91
+ }
92
+ const fromLineEnd = sourceCode.text.indexOf("\n", node.range[1]);
93
+ if (fromLineEnd === -1) {
94
+ return null;
95
+ }
96
+ const targetLineStart = sourceCode.text.lastIndexOf("\n", target.range[0]) + 1;
97
+ const indent = sourceCode.text.slice(targetLineStart, target.range[0]);
98
+ if (indent.trim() !== "") {
99
+ return null;
100
+ }
101
+ return fixer.replaceTextRange([fromLineEnd, target.range[0]], `\n${indent}`);
102
+ }
103
+ export { isComment, hasBlankLine, isDocComment, getBlankLineFix, getNextStatement, getInsertionTarget, getPreviousStatement, getRemoveBlankLineFix, };
@@ -1,18 +1,9 @@
1
- import type { Fix, Fixer, ESTree, Comment, SourceCode } from "vite-plus/lint/plugins";
2
- declare function getNextStatement(node: ESTree.Node): ESTree.Node | null;
3
- declare function getPreviousStatement(node: ESTree.Node): ESTree.Node | null;
4
1
  /**
5
- * 空行の挿入位置を返します。
2
+ * 宣言・制御ブロック・変数宣言グループ・return・クラスや型のメンバー・switch の case における空行を、1 つのルールでまとめて扱います。
6
3
  *
7
- * 次の文に付くコメントがある場合は、そのコメントの前を挿入位置にします。
8
- * 同じ行の末尾コメントは対象外です。
4
+ * 文の境界ごとに該当する項目を 1 つだけ判定するため、複数の診断が同じ箇所で矛盾しません。
5
+ * 行コメントや通常のブロックコメントを挟む場合、前後の空行は任意とします。
9
6
  */
10
- declare function getInsertionTarget(node: ESTree.Node, nextStatement: ESTree.Node, sourceCode: SourceCode): ESTree.Node | Comment;
11
- declare function hasBlankLine(node: ESTree.Node, target: ESTree.Node | Comment): boolean;
12
- declare function getBlankLineFix(fixer: Fixer, sourceCode: SourceCode, node: ESTree.Node, target: ESTree.Node | Comment): Fix | null;
13
- /**
14
- * 指定したノードと対象の間の空行を削除します。
15
- */
16
- declare function getRemoveBlankLineFix(fixer: Fixer, sourceCode: SourceCode, node: ESTree.Node, target: ESTree.Node | Comment): Fix | null;
17
- export { hasBlankLine, getBlankLineFix, getNextStatement, getInsertionTarget, getPreviousStatement, getRemoveBlankLineFix, };
7
+ declare const blankLine: import("vite-plus/lint/plugins").Rule;
8
+ export default blankLine;
18
9
  //# sourceMappingURL=blank-line.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blank-line.d.ts","sourceRoot":"","sources":["../../../src/rules/blank-line.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AA4BtF,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAc/D;AAED,iBAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAcnE;AAED;;;;;GAKG;AACH,iBAAS,kBAAkB,CACzB,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,aAAa,EAAE,MAAM,CAAC,IAAI,EAC1B,UAAU,EAAE,UAAU,GACrB,MAAM,CAAC,IAAI,GAAG,OAAO,CAWvB;AAED,iBAAS,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,GAAG,OAAO,CAE/E;AAED,iBAAS,eAAe,CACtB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,GAC5B,GAAG,GAAG,IAAI,CAYZ;AAED;;GAEG;AACH,iBAAS,qBAAqB,CAC5B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,GAC5B,GAAG,GAAG,IAAI,CAmBZ;AAED,OAAO,EACL,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,CAAC"}
1
+ {"version":3,"file":"blank-line.d.ts","sourceRoot":"","sources":["../../../src/rules/blank-line.ts"],"names":[],"mappings":"AAoPA;;;;;GAKG;AACH,QAAA,MAAM,SAAS,uCA4Vb,CAAC;eAEY,SAAS"}