Skip to content

Commit

Permalink
Setup prettier (#55)
Browse files Browse the repository at this point in the history
  • Loading branch information
seiyab authored Sep 18, 2024
1 parent b664704 commit 194165b
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 50 deletions.
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"editor.formatOnSave": true,
"[javascript][typescript][json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
13 changes: 8 additions & 5 deletions lib/ast/member-like.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,24 @@ export const MemberTypes = Object.fromEntries(

export type MemberType = (typeof MemberLikeNodeTypesArray)[number];

export type MemberNode<K extends MemberType = MemberType> = (
// babel-ast
type TSESTreeMemberNode =
| TSESTree.PropertyDefinition
| TSESTree.MethodDefinition
| TSESTree.TSAbstractMethodDefinition
| TSESTree.TSAbstractPropertyDefinition
| TSESTree.TSConstructSignatureDeclaration
| TSESTree.TSIndexSignature
| TSESTree.TSMethodSignature
| TSESTree.TSPropertySignature
| TSESTree.TSPropertySignature;

// ts-es-tree
type BabelMemberNode =
| BabelTypes.ClassMethod
| BabelTypes.ClassPrivateMethod
| BabelTypes.ClassPrivateProperty
| BabelTypes.ClassProperty
| BabelTypes.TSDeclareMethod
| BabelTypes.TSDeclareMethod;

export type MemberNode<K extends MemberType = MemberType> = (
| TSESTreeMemberNode
| BabelMemberNode
) & { type: K };
2 changes: 1 addition & 1 deletion lib/comparator/comparator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export const C = {
return Order.Equal;
};
},
nop(this: void,): Order {
nop(this: void): Order {
return Order.Equal;
},
defer(this: void, a: boolean, b: boolean): Order {
Expand Down
6 changes: 4 additions & 2 deletions lib/preprocess.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@ export function preprocess(ast: AST, options: unknown): AST {
body: node.body.slice().sort(comp),
} as TSESTree.TSInterfaceBody as T;
case AST_NODE_TYPES.ClassBody: {
const sorted = node.body.slice().sort(comp)
const body = opt.keepGettersAndSettersTogether ? putGettersAndSettersTogether(sorted) : sorted;
const sorted = node.body.slice().sort(comp);
const body = opt.keepGettersAndSettersTogether
? putGettersAndSettersTogether(sorted)
: sorted;
return {
...node,
body,
Expand Down
4 changes: 3 additions & 1 deletion lib/visit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ export function visit<T extends Node>(
const k = key satisfies keyof T;
const child = updatedNode[k];
if (Array.isArray(child)) {
updatedNode[k] = (child).map((c: Node) => visit(c, modifier)) as T[typeof k];
updatedNode[k] = child.map((c: Node) =>
visit(c, modifier),
) as T[typeof k];
continue;
}
updatedNode[k] = visit(updatedNode[k] as Node, modifier) as T[typeof k];
Expand Down
82 changes: 41 additions & 41 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,43 +1,43 @@
{
"name": "prettier-plugin-sort-members",
"main": "dist/index.js",
"type": "module",
"homepage": "https://github.com/seiyab/prettier-plugin-sort-members",
"repository": {
"type": "git",
"url": "https://github.com/seiyab/prettier-plugin-sort-members.git"
},
"bugs": {
"url": "https://github.com/seiyab/prettier-plugin-sort-members/issues"
},
"license": "MIT",
"keywords": [
"prettier",
"plugin",
"sort",
"members",
"javascript",
"typescript"
],
"scripts": {
"check": "bun test && tsc && eslint ."
},
"devDependencies": {
"@eslint/js": "^9.9.0",
"@types/eslint": "^9.6.0",
"@types/eslint__js": "^8.42.3",
"bun-types": "latest",
"eslint": "^9.9.0",
"typescript": "^5.3.3",
"typescript-eslint": "^8.6.0"
},
"peerDependencies": {
"prettier": "^3.0.0"
},
"dependencies": {
"@babel/types": "^7.1.0",
"@typescript-eslint/types": "^8.2.0",
"@typescript-eslint/visitor-keys": "^8.2.0"
},
"version": "0.2.0"
"name": "prettier-plugin-sort-members",
"main": "dist/index.js",
"type": "module",
"homepage": "https://github.com/seiyab/prettier-plugin-sort-members",
"repository": {
"type": "git",
"url": "https://github.com/seiyab/prettier-plugin-sort-members.git"
},
"bugs": {
"url": "https://github.com/seiyab/prettier-plugin-sort-members/issues"
},
"license": "MIT",
"keywords": [
"prettier",
"plugin",
"sort",
"members",
"javascript",
"typescript"
],
"scripts": {
"check": "bun test && tsc && eslint . && prettier -c '**/*.{mjs,ts}'"
},
"devDependencies": {
"@eslint/js": "^9.9.0",
"@types/eslint": "^9.6.0",
"@types/eslint__js": "^8.42.3",
"bun-types": "latest",
"eslint": "^9.9.0",
"typescript": "^5.3.3",
"typescript-eslint": "^8.6.0"
},
"peerDependencies": {
"prettier": "^3.0.0"
},
"dependencies": {
"@babel/types": "^7.1.0",
"@typescript-eslint/types": "^8.2.0",
"@typescript-eslint/visitor-keys": "^8.2.0"
},
"version": "0.2.0"
}

0 comments on commit 194165b

Please sign in to comment.