Skip to content

Alpha 10#32

Merged
baxyz merged 13 commits into
mainfrom
alpha-10
Apr 12, 2026
Merged

Alpha 10#32
baxyz merged 13 commits into
mainfrom
alpha-10

Conversation

@baxyz

@baxyz baxyz commented Apr 12, 2026

Copy link
Copy Markdown
Contributor
  • include native alternatives for various categories
  • write alternatives to native-alternatives.json

Description

Please include a summary of what this PR does and why it's needed.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring
  • Test improvement

Related Issues

Closes #(issue number)

How Has This Been Tested?

Describe the tests you ran and how to reproduce them:

  • Test A
  • Test B

Checklist

  • My code follows the code style of this project
  • I have updated the documentation accordingly
  • I have added tests for my changes
  • All new and existing tests passed locally
  • My commits follow the conventional commit format

Screenshots (if applicable)

Add screenshots for UI changes.

Additional Context

Add any other context about the PR here.

Copilot AI review requested due to automatic review settings April 12, 2026 21:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR appears to prepare the “Alpha 10” release by adding “native alternatives” metadata for the website build output, while also renaming several helpers (e.g., quickCompareshallowEquals, arrayEqualsequals, deepComparedeepEquals for arrays), cleaning up dependencies, and updating the release workflow to publish build metadata as a release asset and trigger the website update.

Changes:

  • Add native-alternatives.json and emit per-category meta/native-alternatives.json during buildWebsiteMetadata.
  • Rename/retarget multiple helper exports and update tests/examples accordingly; remove simple-deepcompare dependency.
  • Update release workflow to package/upload build/**/meta/*.json to the GitHub release and dispatch an event to the website repo; tighten oxlint rules.

Reviewed changes

Copilot reviewed 25 out of 27 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
scripts/examples/smoke.ts Align example typing with new array-type lint preference.
scripts/build/helpers/compile-type-script.helper.ts Remove simple-deepcompare from externals list.
scripts/build/build-website-metadata.ts Write per-category native-alternatives.json into build/<category>/meta/.
README.md Add coverage/mutation badges; update API naming example.
pnpm-lock.yaml Remove simple-deepcompare entries.
package.json Remove simple-deepcompare dependency.
native-alternatives.json New source-of-truth list of “use native instead” alternatives by category.
LICENSE.md Remove duplicate license file (root LICENSE still present).
helpers/object/shallowEquals.ts Rename exported function to shallowEquals.
helpers/object/shallowEquals.test.ts Update tests to import/describe shallowEquals.
helpers/object/shallowEquals.example.ts Update example to shallowEquals.
helpers/object/deepCompare.ts Swap array quick-compare import to array shallowEquals.
helpers/object/deepCompare.test.ts Update test descriptions referencing shallow array compare.
helpers/array/shallowEquals.ts Rename exported function to shallowEquals.
helpers/array/shallowEquals.test.ts Update tests to import/describe shallowEquals.
helpers/array/shallowEquals.example.ts Update example to shallowEquals.
helpers/array/equals.ts Rename export arrayEqualsequals; update object comparison helper import.
helpers/array/equals.test.ts Update tests to import/describe equals.
helpers/array/equals.example.ts Update example to equals.
helpers/array/deepEquals.ts Rename export deepComparedeepEquals for arrays.
helpers/array/deepEquals.test.ts Update tests to import/describe deepEquals.
helpers/array/deepEquals.example.ts Update example to deepEquals.
.template/bundle/README.md Update bundle README import example to equals.
.oxlintrc.json Promote sort-imports to error w/ options; add typescript/array-type; add scripts override for no-explicit-any.
.gitignore Stop un-ignoring .copilot/README.md.
.github/workflows/release.yml Package/upload build metadata asset; dispatch release event to website using app token.
.copilot/README.md Remove Copilot context README from repo.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (3)

helpers/array/equals.ts:24

  • equals uses arr1.every(v1 => arr2.some(...)) with only a length check, which does not account for duplicate elements. For example, [1, 1] and [1, 2] would incorrectly return true because the same 1 in arr2 can satisfy both checks. Consider implementing multiset-style matching (track matched indices/counts) so duplicates are handled correctly.
    helpers/array/equals.ts:20
  • PR description focuses on adding native alternatives metadata, but this change also renames a public export from arrayEquals to equals (breaking API change). Please either update the PR description/type-of-change to reflect the breaking rename, or provide a backwards-compatible alias/deprecation path.
    helpers/object/shallowEquals.ts:16
  • The implementation compares JSON.stringify(objA) and JSON.stringify(objB), which is not a shallow equality check (nested values affect the result, and property order matters). Consider renaming to something that reflects the actual semantics (e.g., jsonEquals/stringifyEquals) or adjusting the implementation to perform a true shallow comparison of own enumerable properties.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .oxlintrc.json
Comment thread scripts/build/build-website-metadata.ts Outdated
@github-actions

github-actions Bot commented Apr 12, 2026

Copy link
Copy Markdown
Contributor

✅ PR Validation Passed

All checks passed and coverage target reached!


📋 Pipeline Status

Job Status
🔢 Version passing
🏗️ Build passing
🧪 Tests passing
📝 Lint passing
📘 TypeCheck passing
🔐 Security Audit passing
🧾 Conventional Commits passing
🔗 Coherency passing

📊 Code Coverage

Overall Coverage: 100.0% — Target reached! 🎯

Metric Progress Coverage
Lines ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100%
Branches ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100%
Functions ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100%
Statements ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100%

🧬 Mutation Testing

🟢 Mutation Score: 91.13% — excellent

Metric Progress Score
🟢 Mutation Score ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 91.13%

🧬 Mutation testing is informational only and does not block the PR


ℹ️ About this report
  • 🎯 Coverage Target: 100% for all metrics
  • 🧬 Mutation Testing: powered by Stryker (non-blocking)
  • 🔄 This comment updates automatically with each push
  • 📈 Coverage is measured using Vitest + v8

🤖 Generated by @helpers4 CI • 2026-04-12

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 25 out of 27 changed files in this pull request and generated 1 comment.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (2)

helpers/array/equals.ts:28

  • The current implementation treats arrays like sets and does not account for element multiplicity. For example, [1, 1, 2] and [1, 2, 2] would return true even though they are not equal as multisets. Either adjust the algorithm to track matched elements/counts, or update the docs/name to explicitly state that duplicates are ignored.
    helpers/array/equals.test.ts:28
  • Tests cover order-insensitivity but don't cover duplicate-element scenarios, which are a common edge case for an order-insensitive equality helper. Add cases like [1,1,2] vs [1,2,2] (should be false if multiplicity matters) to lock in the intended semantics.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/build/build-website-metadata.ts
@baxyz baxyz merged commit 44de6fb into main Apr 12, 2026
12 checks passed
@baxyz baxyz deleted the alpha-10 branch April 12, 2026 21:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants