tools: fix check-imports.py to match on word boundaries
check-imports.py
was missing some unused using
statements as it
was not matching on word boundaries (e.g. MaybeLocal
was considered
a use of Local
). Fix that and add some unit tests (which required
the script to be renamed to drop the -
so it could be imported into
the test script).
Refs: https://github.com/nodejs/node/issues/29226
Marking as blocked
as now the script is fixed it reveals the following unused imports:
-bash-4.2$ make lint-cpp
Running C++ linter...
File "src/node.cc" does not use "HandleScope"
File "src/node.cc" does not use "Maybe"
File "src/inspector_agent.cc" does not use "String"
File "src/inspector_agent.cc" does not use "Task"
File "src/node_contextify.cc" does not use "ArrayBuffer"
File "src/node_dtrace.cc" does not use "String"
File "src/heap_utils.cc" does not use "JSON"
File "src/node_util.cc" does not use "Function"
File "src/tcp_wrap.cc" does not use "HandleScope"
File "src/module_wrap.cc" does not use "Just"
File "src/module_wrap.cc" does not use "Maybe"
File "src/node_zlib.cc" does not use "Array"
File "src/node_zlib.cc" does not use "Uint32"
File "src/pipe_wrap.cc" does not use "HandleScope"
File "src/tls_wrap.cc" does not use "Maybe"
File "src/tty_wrap.cc" does not use "Function"
File "src/inspector_js_api.cc" does not use "Boolean"
File "src/node_perf.cc" does not use "Array"
File "src/node_perf.cc" does not use "Name"
File "src/node_perf.cc" does not use "Uint32Array"
File "src/node_http2.cc" does not use "Float64Array"
File "src/node_http2.cc" does not use "Uint32"
File "src/node_http2.cc" does not use "Uint32Array"
File "src/node_messaging.cc" does not use "Exception"
File "src/node_options.cc" does not use "String"
File "src/node_credentials.cc" does not use "Function"
File "src/node_errors.cc" does not use "Number"
File "src/node_native_module.cc" does not use "HandleScope"
File "src/node_native_module.cc" does not use "Maybe"
File "src/node_native_module.cc" does not use "Script"
File "src/node_process_methods.cc" does not use "Function"
File "src/node_process_methods.cc" does not use "Name"
File "src/node_process_object.cc" does not use "HandleScope"
File "src/node_process_object.cc" does not use "Just"
File "src/node_report.cc" does not use "Number"
File "src/node_report.cc" does not use "StackTrace"
File "src/node_report.cc" does not use "Value"
File "src/node_report_module.cc" does not use "Boolean"
File "src/node_report_module.cc" does not use "Function"
File "src/node_dir.cc" does not use "Function"
File "src/node_main_instance.cc" does not use "Object"
File "src/node_native_module_env.cc" does not use "Maybe"
make: *** [tools/.cpplintstamp] Error 1
-bash-4.2$
https://github.com/nodejs/node/pull/33261 will fix the ones in src/node.cc
. Anyone have opinions on the best way to fix the remainder commit-wise? Should we fix them all in one commit, or try to group them up (e.g. src/node_report.cc
and src/node_report_module.cc
are the report
subsystem)? @nodejs/releasers would it be easier to backport if they were all fixed up under one pull request or under several smaller pull requests?
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
tests and/or benchmarks are included -
commit message follows commit guidelines