chore: propagate recent fixes to sibling packages#11696
Merged
Conversation
…rray/from-scalar-like` Propagates fix from b7f85c2 ("fix: use correct validation package") to sibling ndarray packages which were importing the array-dtype variant of `is-complex-floating-point-data-type` despite resolving `dt` from ndarray dtype context.
…ath/strided/{ops,special}/*-by` tests
Propagates fix from 1089250 ("chore: fix JavaScript lint errors") to sibling `*-by` test files where the intentional `new Array( N ); // sparse array` idiom was present without the required `// eslint-disable-next-line stdlib/no-new-array` directive. Covers 40 test files across `math/strided/ops/{add,sub,mul}-by` and `math/strided/special/*-by`.
Contributor
Coverage Report
The above coverage report was generated for the changes in this PR. |
…n `math/strided/ops/*-by` tests Satisfies `lines-around-comment` (`beforeLineComment: true`) where the disable directives were inserted between consecutive `new Array(...)` assignments in the previous commit.
develop to sibling packages
develop to sibling packages
kgryte
approved these changes
Apr 22, 2026
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
Propagating fixes merged to
developbetween2026-04-20T16:07:19-04:00and2026-04-21T03:37:01-07:00(SHA range7a025ca74..1089250db) to sibling packages sharing the same defect.fix:— wrong validation package (sourceb7f85c29d)Array-dtype assertion
@stdlib/array/base/assert/is-complex-floating-point-data-typechecks against@stdlib/array/dtypes, but these consumers resolvedtfrom ndarray dtype strings (either viagetDType(x)oropts.dtype), so the guard would misfire on ndarray-only dtypes. Swapped for the@stdlib/ndarray/base/assert/...variant already used bybroadcast-scalarandbroadcast-scalar-like.Source:
b7f85c29dTargets:
lib/node_modules/@stdlib/ndarray/from-scalar/lib/main.jslib/node_modules/@stdlib/ndarray/from-scalar-like/lib/main.jschore:— missingstdlib/no-new-arraydisable directives in*-bytests (source1089250db)The
stdlib/no-new-arrayrule iserror(seeetc/eslint/rules/stdlib.js:4475), so intentional sparse-array construction vianew Array( N )requires an explicit// eslint-disable-next-line stdlib/no-new-arrayon the preceding line. 40 sibling*-bytest files undermath/strided/ops/andmath/strided/special/carried the idiom without the directive; added 92 directives total. For theops/{add,sub,mul}-byfiles, consecutivex =andy =sparse-array assignments each received their own preceding directive, sinceeslint-disable-next-lineonly silences the single following line.Source:
1089250dbTargets (40 files):
math/strided/ops/add-by/test/{test.main,test.ndarray}.jsmath/strided/ops/mul-by/test/{test.main,test.ndarray}.jsmath/strided/ops/sub-by/test/{test.main,test.ndarray}.jsmath/strided/special/{abs,abs2,acos,acosh,acot,acoth,acoversin,ahaversin,asin,asinh,atan,atanh,avercos,besselj0,besselj1,bessely0,bessely1,binet,cbrt,cos,sin,sqrt}-by/test/test.*.js(the specifictest.main.js/test.ndarray.jsfiles still missing the directive; full list in the local report)Related Issues
No.
Questions
No.
Other
Validation
math/strided/{ops,special}/*-bytest files for the lint-disable directive.rg/ script-driven search, cross-checked by a sonnet Explore agent. Results reconciled against a Python pass that classifies each sparse-array line asneeds-fixoralready-fixedbased on the preceding line.dtoriginates from ndarray dtype context (verified viagetDType/opts.dtype/DEFAULT_CMPLX), and (b) a sampled cross-section of Pattern B sites to confirm the idiom is intentional sparse-array construction and the preceding line lacks a disable directive. All sampled sites returnedconfirmed.// eslint-disable-next-line stdlib/no-new-arraypreceding eachnew Array(...)for Pattern B.Deliberately excluded
math/strided/special/sin-by/test/test.ndarray.js) and sibling*-byfiles that already had the directive (e.g.acovercos-by,abs-by/test.main.js,atan-by/test.main.js).chore: add missing npm engine constraint to stats/base/dists/*/ctor(187e14109) — touches onlypackage.json, excluded per chore-propagation scope rules.docs: update namespace table of contents(0f62461c9,f38217702) — auto-generated ToC updates with no generalizable signature.chore: clean-up native wrappers(e3862232d): all 7napi/argv-*/lib/native.jssites matching the pattern are already in the corrected form.chore: clean-up(9cc43caf4) targetingnapi/argv-booleanarray: effectively reverted bye60e084fe, so the guarded form is now the canonical shape; no propagation target.docs: propagate recent fixes to sibling packages(59d0640a1): the "does not perform rotation" → "a rotation" typo fix andargv-bool"number → boolean" typo fix have no remaining sites in the ndarray rotation namespace or type-specificargv-*packages.Checklist
AI Assistance
If you answered "yes" above, how did you use AI assistance?
Disclosure
This PR was authored by Claude Code running the fix-propagation routine: it enumerated
fix:/chore:/docs:commits merged todevelopin the preceding 24 hours, derived pattern signatures, searched for sibling sites viarg, validated each candidate with an opus audit agent, and applied the propagated patches. A human maintainer will audit before promoting out of draft.@stdlib-js/reviewers