Repository navigation
chore: clean-up - #15555
Merged
Merged
chore: clean-up#15555
Conversation
The plugin description in `lib/main.js` read "Plugin to run
benchmarks.", which is byte-identical to the description in
`makie-benchmark` and therefore describes the wrong plugin. Both
`lib/index.js` and the package `description` field already read
"...run cross-language benchmarks.", and the invoked `benchmark-lang`
Makefile target is documented as "Runs cross-language benchmarks."
Corrected drift item:
- Synchronized the `lib/main.js` plugin description with
`lib/index.js` and `package.json` (20 of 23 siblings, 87%, keep the
three in agreement).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019jbKvYDh4CASxMJWBErc42
The plugin description in `lib/main.js` read "Plugin for launching a
REPL.", while `lib/index.js` and the package `description` field both
read "...to launch a REPL."
Corrected drift items:
- Synchronized the `lib/main.js` plugin description with
`lib/index.js` and `package.json` (20 of 23 siblings, 87%, keep the
three in agreement).
- Adopted the "Plugin to <verb>" phrasing used by 22 of 23 siblings
(96%); this was the only description opening with "Plugin for".
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019jbKvYDh4CASxMJWBErc42
The plugin initialized its `make` argument list with an array literal
containing the target (`args = [ 'view-cov' ];`) rather than
initializing an empty array and pushing the target, as every other
plugin in the namespace does. The sibling `makie-view-complexity` was
converted to the empty-array-and-push form when `stdlib/no-new-array`
lint errors were fixed; this plugin was not, because an array literal
does not trigger that rule.
Corrected drift item:
- Initialize `args` as an empty array and append the target via
`args.push` (22 of 23 siblings, 96%).
The spawned command is unchanged. Intercepting `child_process.spawn`
before and after yields an identical invocation:
{ cmd: 'make', args: [ 'view-cov' ], opts: { cwd: <dir> } }
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019jbKvYDh4CASxMJWBErc42
kgryte
approved these changes
Sep 26, 2026
_tools/makie/plugins
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This pull request corrects three inconsistencies in
@stdlib/_tools/makie/pluginswhich were found by comparing every one of the namespace's 23 plugins against its siblings. No observable behavior changes.Namespace summary
_tools/makie/pluginscontaining apackage.json). None are autogenerated.package.jsontop-level/scripts/stdlibkey sets, README sections,manifest.jsonshape, test/benchmark/example filenames) and 14 semantic (declared parameter list, JSDoc tag shape, error construction, return kind, helper-function set, source dependencies, description agreement,argsconstruction, and others).lib/index.js,lib/main.js, andpackage.json, and identicalpackage.jsonkey sets.makie-benchmark-langThe plugin description in
lib/main.jsread "Plugin to run benchmarks." — byte-identical tomakie-benchmark's, and so describing the wrong plugin.lib/index.jsand the packagedescriptionfield both already read "...run cross-language benchmarks.", and thebenchmark-langMakefile target is documented as "Runs cross-language benchmarks." This commit makeslib/main.jsagree with the other two; 20 of 23 siblings (87%) keep all three in agreement.makie-replThe plugin description in
lib/main.jsread "Plugin for launching a REPL.", against "...to launch a REPL." in bothlib/index.jsand the packagedescriptionfield. This was also the only description in the namespace opening with "Plugin for" rather than "Plugin to", a form used by 22 of 23 siblings (96%). Both are resolved by adopting the existinglib/index.jswording.makie-view-covThe plugin built its
makeargument list as an array literal holding the target (args = [ 'view-cov' ];) instead of initializing an empty array and pushing the target, the form used by 22 of 23 siblings (96%). Its closest sibling,makie-view-complexity, was converted to that form whenstdlib/no-new-arraylint errors were fixed; this plugin was missed because an array literal does not trigger that rule. The spawned command is unchanged — interceptingchild_process.spawnbefore and after this change yields an identical invocation,{ cmd: 'make', args: [ 'view-cov' ], opts: { cwd: <dir> } }.Related Issues
None.
Questions
Two items were found and deliberately left out of this pull request; both are noted under Other. The copyright-year discrepancy in
makie-complexity/lib/index.jsis the one worth a maintainer's decision.Other
Validation
Each candidate correction was checked for whether it (a) deviates from a pattern holding in at least 75% of the namespace, (b) is mechanical, and (c) leaves observable behavior untouched. Structural features were extracted from the filesystem; semantic features from
lib/main.jsandlib/index.js. Candidates were then reviewed along three independent axes — is the deviation intentional, does anything depend on it, and is the majority pattern the right thing to apply.Checks performed:
etc/.makie.js, which maps target names to package paths and is consumed generically; there is no name- or arity-specific coupling. No test, benchmark, or example exists anywhere under_tools/makie.view-covMakefile target confirmed to take no per-invocation arguments, so theargschange is inert.spawninterception before and after theargschange, confirming an identical command.Deliberately excluded
@paramtags.makie-view-cov,makie-view-complexity, andmakie-list-pkgs-namesdocumentdir,cwd, andsubpathwhile declaring fewer parameters. This is not drift:makie/README.mddocuments the plugin interface asplugin( dir, cwd, subpath )and states all three arguments are always supplied,etc/eslint/rules/programmer_errors.jssetsallowExtraTrailingParamDocs: true, and among the four plugins that narrow the signature, three document the full contract — so the majority inverts once restricted to comparable packages. The tags document the interface, not the implementation.makie-markdown-examples-javascriptdescription.lib/main.jssays "in README.md files." against "in Markdown files." inlib/index.jsandpackage.json. Themarkdown-examples-javascriptrecipe greps forREADME.md, solib/main.jsis the more accurate text and the package is internally inconsistent in the opposite direction. Whether to loosenlib/main.jsor tighten the other two is a maintainer's call.console.errorwith string concatenation, and none require@stdlib/string/format. This is a uniform namespace convention rather than drift — there is no outlier to normalize — but it does diverge fromformatas used elsewhere in stdlib. Flagged for a maintainer; normalizing all 22 is out of scope here.makie-complexity/lib/index.js. It reads 2018 while the other 22lib/index.jsfiles read 2022, consistent with these files having been introduced by a single later split ofindex.jsfrommain.js. Left alone because a copyright year is an attestation about provenance rather than a code-quality matter.makie-list-pkgs's@example, andmakie-install-node-addonsnaming its child-process variablechildrather thanproc. Both are real but carry no reader benefit; excluded as churn.makie-replandmakie-stats-list-contributorsomitstdout/stderrhandlers because they setopts.stdio = 'inherit';makie-replomits theprocessdependency because it never uses it. Plugins declaring fewer than three parameters do so because they use fewer.Checklist
AI Assistance
If you answered "yes" above, how did you use AI assistance?
Disclosure
This pull request was written by Claude Code. It ran an automated cross-package comparison over the namespace, proposed the corrections, and applied them; the reviews that rejected four of the seven candidates were also carried out by Claude Code. Every claim in this description — the conformance percentages, the
spawnequivalence, the lint configuration, and the Makefile recipe behavior — was verified against the repository. Reviewers should confirm the three surviving changes are wanted before this is promoted out of draft.🤖 Generated with Claude Code
https://claude.ai/code/session_019jbKvYDh4CASxMJWBErc42
Generated by Claude Code