Conversation
There was a problem hiding this comment.
Pull request overview
This PR extends the build/publish toolchain to generate and ship per-category licenses.json metadata, alongside a broader cleanup of import ordering, test strengthening, and a linting config migration.
Changes:
- Add a new build step to generate
licenses.jsonfor each built category and expose it via template packageexports/files. - Replace the ESLint config with an Oxlint config (
.oxlintrc.json) and adjust formatting/import ordering across scripts/tests/examples. - Expand and harden test coverage across several helpers (string/object/date/type/function).
Reviewed changes
Copilot reviewed 38 out of 38 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/version/version-manager.ts | Import ordering cleanup in version tooling. |
| scripts/publish/index.ts | Import ordering cleanup in publish tooling. |
| scripts/build/index.ts | Adds buildLicenses step to build pipeline. |
| scripts/build/build-licenses.ts | New generator that writes licenses.json per category. |
| README.md | Removes pre-release (alpha) npm badge. |
| helpers/version/stripV.test.ts | Import ordering cleanup. |
| helpers/url/withTrailingSlash.test.ts | Import ordering cleanup. |
| helpers/url/withoutTrailingSlash.test.ts | Import ordering cleanup. |
| helpers/url/withoutLeadingSlash.test.ts | Import ordering cleanup. |
| helpers/url/withLeadingSlash.test.ts | Import ordering cleanup. |
| helpers/url/relativeURLToAbsolute.test.ts | Import ordering cleanup. |
| helpers/url/onlyPath.test.ts | Import ordering cleanup. |
| helpers/url/extractPureURI.test.ts | Import ordering cleanup. |
| helpers/url/cleanPath.test.ts | Import ordering cleanup. |
| helpers/type/typeChecks.test.ts | Import ordering cleanup. |
| helpers/type/typeChecks.example.ts | Import ordering cleanup in examples. |
| helpers/type/isSpecialObject.test.ts | Adds/adjusts tests for special-object detection. |
| helpers/string/slugify.test.ts | Adds additional slugify edge-case tests. |
| helpers/string/labelize.test.ts | Adds additional labelize behavior tests. |
| helpers/string/errorToReadableMessage.test.ts | Import ordering cleanup. |
| helpers/observable/combineLatest.ts | JSDoc tag tweak (@return → @returns). |
| helpers/object/quickCompare.test.ts | Adds additional quickCompare edge-case tests. |
| helpers/object/deepCompare.test.ts | Adds many deepCompare edge-case/mutation-killing tests. |
| helpers/function/throttle.test.ts | Adds additional throttle timing tests. |
| helpers/date/safeDate.test.ts | Expands invalid-input test cases for safeDate. |
| helpers/date/is.test.ts | Adds negative tests for isSameDay. |
| helpers/date/format.test.ts | Expands month coverage in toRFC2822 tests. |
| helpers/date/format.example.ts | Import ordering cleanup in examples. |
| helpers/date/difference.test.ts | Import ordering cleanup. |
| helpers/date/compare.test.ts | Import ordering cleanup. |
| helpers/array/sort.test.ts | Import ordering cleanup. |
| helpers/array/sort.example.ts | Import ordering cleanup in examples. |
| helpers/array/quickCompare.test.ts | Import ordering cleanup. |
| helpers/array/deepCompare.test.ts | Import ordering cleanup. |
| .template/category/README.md | Updates template docs link target. |
| .template/category/package.json | Exposes and ships licenses.json in template packages. |
| .oxlintrc.json | Adds Oxlint configuration. |
| .eslintrc.json | Removes ESLint configuration. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
✅ PR Validation Passed
📋 Pipeline Status
📊 Code Coverage
🧬 Mutation Testing
ℹ️ About this report
🤖 Generated by @helpers4 CI • 2026-04-07 |
- implement buildLicenses function - update build process to include licenses.json
- use fake timers for better control - replace promises with vi.advanceTimersByTime - update test descriptions for clarity
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
Extends the build/publish toolchain, strengthens test suite, and performs linting cleanup.
Changes
Build pipeline
licenses.jsonfor each built category (third-party dependency license metadata)licenses.jsonvia template packageexportsandfilesLinting migration
.eslintrc.json) with Oxlint config (.oxlintrc.json)Test improvements
deepCompare,quickCompare,isSpecialObjectsafeDate,slugify,labelize,isSameDay,toRFC2822throttletests to fake timers for deterministic CI behaviorDocumentation
helpers4.dev@return→@returnsin JSDocType of Change
How Has This Been Tested?
pnpm test— all 556 tests pass with 100% coveragepnpm typecheck— no type errorspnpm build— full build pipeline includinglicenses.jsongenerationChecklist