From 54722dd582f87223c23144d0542271499f987b5e Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 22 Sep 2025 14:59:52 +0100 Subject: [PATCH] Modernise C++ linter using new @cpplint/cli tooling --- package.json | 4 ++-- src/CPPLINT.cfg | 10 ++++++++++ src/common.cc | 14 ++++++++------ src/common.h | 5 +++-- src/metadata.cc | 10 ++++++---- src/metadata.h | 1 + src/operations.cc | 4 ++-- src/operations.h | 1 + src/pipeline.cc | 8 ++++---- src/pipeline.h | 2 +- src/sharp.cc | 12 ++++++------ src/stats.cc | 9 +++++---- src/stats.h | 3 ++- src/utilities.cc | 8 ++++---- 14 files changed, 55 insertions(+), 36 deletions(-) create mode 100644 src/CPPLINT.cfg diff --git a/package.json b/package.json index 57174440..af1378d2 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "clean": "rm -rf src/build/ .nyc_output/ coverage/ test/fixtures/output.*", "test": "npm run lint && npm run test-unit", "lint": "npm run lint-cpp && npm run lint-js && npm run lint-types", - "lint-cpp": "cpplint", + "lint-cpp": "cpplint --quiet src/*.h src/*.cc", "lint-js": "biome lint", "lint-types": "tsd --files ./test/types/sharp.test-d.ts", "test-leak": "./test/leak/leak.sh", @@ -168,6 +168,7 @@ }, "devDependencies": { "@biomejs/biome": "^2.2.4", + "@cpplint/cli": "^0.1.0", "@emnapi/runtime": "^1.5.0", "@img/sharp-libvips-dev": "1.2.3", "@img/sharp-libvips-dev-wasm32": "1.2.3", @@ -175,7 +176,6 @@ "@img/sharp-libvips-win32-ia32": "1.2.3", "@img/sharp-libvips-win32-x64": "1.2.3", "@types/node": "*", - "cc": "^3.0.1", "emnapi": "^1.5.0", "exif-reader": "^2.0.2", "extract-zip": "^2.0.1", diff --git a/src/CPPLINT.cfg b/src/CPPLINT.cfg new file mode 100644 index 00000000..7a643b07 --- /dev/null +++ b/src/CPPLINT.cfg @@ -0,0 +1,10 @@ +set noparent + +linelength=120 + +filter=-build/include +filter=+build/include_alpha +filter=+build/include_subdir +filter=+build/include_what_you_use + +filter=-whitespace/indent_namespace diff --git a/src/common.cc b/src/common.cc index e4ce7320..5c517fc9 100644 --- a/src/common.cc +++ b/src/common.cc @@ -1,18 +1,20 @@ // Copyright 2013 Lovell Fuller and others. // SPDX-License-Identifier: Apache-2.0 +#include #include -#include -#include -#include -#include #include -#include // NOLINT(build/c++11) +#include +#include +#include +#include +#include +#include #include #include -#include "common.h" +#include "./common.h" using vips::VImage; diff --git a/src/common.h b/src/common.h index 2bba5e1c..10b4e549 100644 --- a/src/common.h +++ b/src/common.h @@ -4,10 +4,11 @@ #ifndef SRC_COMMON_H_ #define SRC_COMMON_H_ +#include #include #include +#include #include -#include #include #include @@ -30,7 +31,7 @@ using vips::VImage; namespace sharp { - struct InputDescriptor { // NOLINT(runtime/indentation_namespace) + struct InputDescriptor { std::string name; std::string file; bool autoOrient; diff --git a/src/metadata.cc b/src/metadata.cc index 788b7129..db582ca0 100644 --- a/src/metadata.cc +++ b/src/metadata.cc @@ -1,15 +1,17 @@ // Copyright 2013 Lovell Fuller and others. // SPDX-License-Identifier: Apache-2.0 -#include -#include #include +#include +#include +#include +#include #include #include -#include "common.h" -#include "metadata.h" +#include "./common.h" +#include "./metadata.h" static void* readPNGComment(VipsImage *image, const char *field, GValue *value, void *p); diff --git a/src/metadata.h b/src/metadata.h index f93dd516..64b5b905 100644 --- a/src/metadata.h +++ b/src/metadata.h @@ -5,6 +5,7 @@ #define SRC_METADATA_H_ #include +#include #include #include "./common.h" diff --git a/src/operations.cc b/src/operations.cc index ba3a0513..f60c9974 100644 --- a/src/operations.cc +++ b/src/operations.cc @@ -8,8 +8,8 @@ #include #include -#include "common.h" -#include "operations.h" +#include "./common.h" +#include "./operations.h" using vips::VImage; using vips::VError; diff --git a/src/operations.h b/src/operations.h index 22ff46fc..6582459c 100644 --- a/src/operations.h +++ b/src/operations.h @@ -8,6 +8,7 @@ #include #include #include +#include #include using vips::VImage; diff --git a/src/pipeline.cc b/src/pipeline.cc index e2dd1182..4a470b5a 100644 --- a/src/pipeline.cc +++ b/src/pipeline.cc @@ -3,7 +3,7 @@ #include #include -#include +#include // NOLINT(build/c++17) #include #include #include @@ -17,9 +17,9 @@ #include #include -#include "common.h" -#include "operations.h" -#include "pipeline.h" +#include "./common.h" +#include "./operations.h" +#include "./pipeline.h" class PipelineWorker : public Napi::AsyncWorker { public: diff --git a/src/pipeline.h b/src/pipeline.h index 8edfff58..9fb89bdc 100644 --- a/src/pipeline.h +++ b/src/pipeline.h @@ -6,8 +6,8 @@ #include #include -#include #include +#include #include #include diff --git a/src/sharp.cc b/src/sharp.cc index ed54c501..ab873e80 100644 --- a/src/sharp.cc +++ b/src/sharp.cc @@ -1,16 +1,16 @@ // Copyright 2013 Lovell Fuller and others. // SPDX-License-Identifier: Apache-2.0 -#include // NOLINT(build/c++11) +#include #include #include -#include "common.h" -#include "metadata.h" -#include "pipeline.h" -#include "utilities.h" -#include "stats.h" +#include "./common.h" +#include "./metadata.h" +#include "./pipeline.h" +#include "./stats.h" +#include "./utilities.h" Napi::Object init(Napi::Env env, Napi::Object exports) { static std::once_flag sharp_vips_init_once; diff --git a/src/stats.cc b/src/stats.cc index bc9b243c..cd5f4a38 100644 --- a/src/stats.cc +++ b/src/stats.cc @@ -1,15 +1,16 @@ // Copyright 2013 Lovell Fuller and others. // SPDX-License-Identifier: Apache-2.0 -#include -#include #include +#include +#include +#include #include #include -#include "common.h" -#include "stats.h" +#include "./common.h" +#include "./stats.h" class StatsWorker : public Napi::AsyncWorker { public: diff --git a/src/stats.h b/src/stats.h index c80e65fa..9f99d8e9 100644 --- a/src/stats.h +++ b/src/stats.h @@ -5,6 +5,7 @@ #define SRC_STATS_H_ #include +#include #include #include "./common.h" @@ -24,7 +25,7 @@ struct ChannelStats { ChannelStats(int minVal, int maxVal, double sumVal, double squaresSumVal, double meanVal, double stdevVal, int minXVal, int minYVal, int maxXVal, int maxYVal): - min(minVal), max(maxVal), sum(sumVal), squaresSum(squaresSumVal), + min(minVal), max(maxVal), sum(sumVal), squaresSum(squaresSumVal), // NOLINT(build/include_what_you_use) mean(meanVal), stdev(stdevVal), minX(minXVal), minY(minYVal), maxX(maxXVal), maxY(maxYVal) {} }; diff --git a/src/utilities.cc b/src/utilities.cc index 1f78cdd8..2922ed46 100644 --- a/src/utilities.cc +++ b/src/utilities.cc @@ -2,16 +2,16 @@ // SPDX-License-Identifier: Apache-2.0 #include -#include #include +#include #include #include #include -#include "common.h" -#include "operations.h" -#include "utilities.h" +#include "./common.h" +#include "./operations.h" +#include "./utilities.h" /* Get and set cache limits