Skip to content

Commit c1bdff0

Browse files
authored
add clang-format hook (nodejs#167)
1 parent 4927643 commit c1bdff0

File tree

20 files changed

+277
-130
lines changed

20 files changed

+277
-130
lines changed

.clang-format

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
---
2+
Language: Cpp
3+
# BasedOnStyle: Google
4+
AccessModifierOffset: -1
5+
AlignAfterOpenBracket: Align
6+
AlignConsecutiveAssignments: false
7+
AlignConsecutiveDeclarations: false
8+
AlignEscapedNewlines: Right
9+
AlignOperands: true
10+
AlignTrailingComments: true
11+
AllowAllParametersOfDeclarationOnNextLine: true
12+
AllowShortBlocksOnASingleLine: false
13+
AllowShortCaseLabelsOnASingleLine: false
14+
AllowShortFunctionsOnASingleLine: Inline
15+
AllowShortIfStatementsOnASingleLine: true
16+
AllowShortLoopsOnASingleLine: true
17+
AlwaysBreakAfterDefinitionReturnType: None
18+
AlwaysBreakAfterReturnType: None
19+
AlwaysBreakBeforeMultilineStrings: false
20+
AlwaysBreakTemplateDeclarations: true
21+
BinPackArguments: false
22+
BinPackParameters: false
23+
BraceWrapping:
24+
AfterClass: false
25+
AfterControlStatement: false
26+
AfterEnum: false
27+
AfterFunction: false
28+
AfterNamespace: false
29+
AfterObjCDeclaration: false
30+
AfterStruct: false
31+
AfterUnion: false
32+
AfterExternBlock: false
33+
BeforeCatch: false
34+
BeforeElse: false
35+
IndentBraces: false
36+
SplitEmptyFunction: true
37+
SplitEmptyRecord: true
38+
SplitEmptyNamespace: true
39+
BreakBeforeBinaryOperators: None
40+
BreakBeforeBraces: Attach
41+
BreakBeforeInheritanceComma: false
42+
BreakBeforeTernaryOperators: true
43+
BreakConstructorInitializersBeforeComma: false
44+
BreakConstructorInitializers: BeforeColon
45+
BreakAfterJavaFieldAnnotations: false
46+
BreakStringLiterals: true
47+
ColumnLimit: 80
48+
CommentPragmas: '^ IWYU pragma:'
49+
CompactNamespaces: false
50+
ConstructorInitializerAllOnOneLineOrOnePerLine: true
51+
ConstructorInitializerIndentWidth: 4
52+
ContinuationIndentWidth: 4
53+
Cpp11BracedListStyle: true
54+
DerivePointerAlignment: false
55+
DisableFormat: false
56+
ExperimentalAutoDetectBinPacking: false
57+
FixNamespaceComments: true
58+
ForEachMacros:
59+
- foreach
60+
- Q_FOREACH
61+
- BOOST_FOREACH
62+
IncludeBlocks: Preserve
63+
IncludeCategories:
64+
- Regex: '^<ext/.*\.h>'
65+
Priority: 2
66+
- Regex: '^<.*\.h>'
67+
Priority: 1
68+
- Regex: '^<.*'
69+
Priority: 2
70+
- Regex: '.*'
71+
Priority: 3
72+
IncludeIsMainRegex: '([-_](test|unittest))?$'
73+
IndentCaseLabels: true
74+
IndentPPDirectives: None
75+
IndentWidth: 2
76+
IndentWrappedFunctionNames: false
77+
JavaScriptQuotes: Leave
78+
JavaScriptWrapImports: true
79+
KeepEmptyLinesAtTheStartOfBlocks: false
80+
MacroBlockBegin: ''
81+
MacroBlockEnd: ''
82+
MaxEmptyLinesToKeep: 1
83+
NamespaceIndentation: None
84+
ObjCBlockIndentWidth: 2
85+
ObjCSpaceAfterProperty: false
86+
ObjCSpaceBeforeProtocolList: false
87+
PenaltyBreakAssignment: 2
88+
PenaltyBreakBeforeFirstCallParameter: 1
89+
PenaltyBreakComment: 300
90+
PenaltyBreakFirstLessLess: 120
91+
PenaltyBreakString: 1000
92+
PenaltyExcessCharacter: 1000000
93+
PenaltyReturnTypeOnItsOwnLine: 200
94+
PointerAlignment: Left
95+
ReflowComments: true
96+
SortIncludes: true
97+
SortUsingDeclarations: true
98+
SpaceAfterCStyleCast: false
99+
SpaceAfterTemplateKeyword: true
100+
SpaceBeforeAssignmentOperators: true
101+
SpaceBeforeParens: ControlStatements
102+
SpaceInEmptyParentheses: false
103+
SpacesBeforeTrailingComments: 2
104+
SpacesInAngles: false
105+
SpacesInContainerLiterals: true
106+
SpacesInCStyleCastParentheses: false
107+
SpacesInParentheses: false
108+
SpacesInSquareBrackets: false
109+
Standard: Auto
110+
TabWidth: 8
111+
UseTab: Never

.github/workflows/linter.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: clang-format
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
check-clang-format:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- run: npm install
11+
- name: check clang-format
12+
run: |
13+
git config clangFormat.binary node_modules/.bin/clang-format
14+
git config clangFormat.style file
15+
npx check-clang-format

6_object_wrap/napi/myobject.cc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,16 @@ napi_value MyObject::Init(napi_env env, napi_value exports) {
4444
napi_ref* constructor = new napi_ref;
4545
status = napi_create_reference(env, cons, 1, constructor);
4646
assert(status == napi_ok);
47-
status = napi_set_instance_data(env, constructor,
47+
status = napi_set_instance_data(
48+
env,
49+
constructor,
4850
[](napi_env env, void* data, void* hint) {
4951
napi_ref* constructor = static_cast<napi_ref*>(data);
5052
napi_status status = napi_delete_reference(env, *constructor);
5153
assert(status == napi_ok);
5254
delete constructor;
53-
}, nullptr);
55+
},
56+
nullptr);
5457
assert(status == napi_ok);
5558

5659
status = napi_set_named_property(env, exports, "MyObject", cons);

6_object_wrap/node-addon-api/myobject.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#include "myobject.h"
22

33
Napi::Object MyObject::Init(Napi::Env env, Napi::Object exports) {
4-
54
Napi::Function func =
65
DefineClass(env,
76
"MyObject",

7_factory_wrap/napi/myobject.cc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,16 @@ napi_status MyObject::Init(napi_env env) {
4141
napi_ref* constructor = new napi_ref;
4242
status = napi_create_reference(env, cons, 1, constructor);
4343
assert(status == napi_ok);
44-
status = napi_set_instance_data(env, constructor,
44+
status = napi_set_instance_data(
45+
env,
46+
constructor,
4547
[](napi_env env, void* data, void* hint) {
4648
napi_ref* constructor = static_cast<napi_ref*>(data);
4749
napi_status status = napi_delete_reference(env, *constructor);
4850
assert(status == napi_ok);
4951
delete constructor;
50-
}, nullptr);
52+
},
53+
nullptr);
5154
assert(status == napi_ok);
5255

5356
return napi_ok;

7_factory_wrap/node-addon-api/myobject.cc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using namespace Napi;
66

77
Napi::Object MyObject::Init(Napi::Env env, Napi::Object exports) {
8-
98
Napi::Function func = DefineClass(
109
env, "MyObject", {InstanceMethod("plusOne", &MyObject::PlusOne)});
1110

@@ -19,7 +18,6 @@ Napi::Object MyObject::Init(Napi::Env env, Napi::Object exports) {
1918

2019
MyObject::MyObject(const Napi::CallbackInfo& info)
2120
: Napi::ObjectWrap<MyObject>(info) {
22-
2321
this->counter_ = info[0].As<Napi::Number>().DoubleValue();
2422
};
2523

8_passing_wrapped/napi/myobject.cc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,16 @@ napi_status MyObject::Init(napi_env env) {
3535
napi_ref* constructor = new napi_ref;
3636
status = napi_create_reference(env, cons, 1, constructor);
3737
assert(status == napi_ok);
38-
status = napi_set_instance_data(env, constructor,
38+
status = napi_set_instance_data(
39+
env,
40+
constructor,
3941
[](napi_env env, void* data, void* hint) {
4042
napi_ref* constructor = static_cast<napi_ref*>(data);
4143
napi_status status = napi_delete_reference(env, *constructor);
4244
assert(status == napi_ok);
4345
delete constructor;
44-
}, nullptr);
46+
},
47+
nullptr);
4548
assert(status == napi_ok);
4649

4750
return napi_ok;

8_passing_wrapped/node-addon-api/myobject.cc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@
44

55
MyObject::MyObject(const Napi::CallbackInfo& info)
66
: Napi::ObjectWrap<MyObject>(info) {
7-
87
this->val_ = info[0].As<Napi::Number>().DoubleValue();
98
};
109

1110
void MyObject::Init(Napi::Env env, Napi::Object exports) {
12-
1311
Napi::Function func = DefineClass(env, "MyObject", {});
1412

1513
Napi::FunctionReference* constructor = new Napi::FunctionReference();

function-reference-demo/node-addon-api/src/binding.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
#include "native-addon.h"
33

44
Napi::Object Init(Napi::Env env, Napi::Object exports) {
5-
NativeAddon::Init(env, exports);
6-
return exports;
5+
NativeAddon::Init(env, exports);
6+
return exports;
77
}
88

99
NODE_API_MODULE(NODE_GYP_MODULE_NAME, Init)

function-reference-demo/node-addon-api/src/native-addon.cc

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
Napi::FunctionReference NativeAddon::constructor;
55

66
Napi::Object NativeAddon::Init(Napi::Env env, Napi::Object exports) {
7-
8-
Napi::Function func = DefineClass(env, "NativeAddon", {
9-
InstanceMethod("tryCallByStoredReference", &NativeAddon::TryCallByStoredReference),
10-
InstanceMethod("tryCallByStoredFunction", &NativeAddon::TryCallByStoredFunction)
11-
});
7+
Napi::Function func =
8+
DefineClass(env,
9+
"NativeAddon",
10+
{InstanceMethod("tryCallByStoredReference",
11+
&NativeAddon::TryCallByStoredReference),
12+
InstanceMethod("tryCallByStoredFunction",
13+
&NativeAddon::TryCallByStoredFunction)});
1214

1315
constructor = Napi::Persistent(func);
1416
constructor.SuppressDestruct();
@@ -17,18 +19,18 @@ Napi::Object NativeAddon::Init(Napi::Env env, Napi::Object exports) {
1719
return exports;
1820
}
1921

20-
NativeAddon::NativeAddon(const Napi::CallbackInfo& info)
21-
: Napi::ObjectWrap<NativeAddon>(info) {
22+
NativeAddon::NativeAddon(const Napi::CallbackInfo& info)
23+
: Napi::ObjectWrap<NativeAddon>(info) {
2224
jsFnRef = Napi::Persistent(info[0].As<Napi::Function>());
2325
jsFn = info[1].As<Napi::Function>();
2426
}
2527

2628
void NativeAddon::TryCallByStoredReference(const Napi::CallbackInfo& info) {
27-
// Napi::Env env = info.Env();
28-
jsFnRef.Call({});
29+
// Napi::Env env = info.Env();
30+
jsFnRef.Call({});
2931
}
3032

3133
void NativeAddon::TryCallByStoredFunction(const Napi::CallbackInfo& info) {
32-
// Napi::Env env = info.Env();
33-
jsFn.Call({});
34+
// Napi::Env env = info.Env();
35+
jsFn.Call({});
3436
}

0 commit comments

Comments
 (0)