Conversation
There was a problem hiding this comment.
Pull request overview
Updates the website metadata generator to better serialize TypeDoc type information, specifically TypeScript type predicates, so generated signatures/return types are more accurate for the website metadata output.
Changes:
- Add
predicatetype handling toserializeType()to renderparam is SomeTypeforms.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
✅ PR Validation Passed
📋 Pipeline Status
📊 Code Coverage
🧬 Mutation Testing
🌐 Runtime Compatibility
⏱️ Benchmarks
ℹ️ About this report
🤖 Generated by @helpers4 CI • 2026-04-24 |
- add relatedTypes to WebsiteFunction interface - implement logic for companion types in buildWebsiteMetadata
…pers - implement isArrayBuffer to check ArrayBuffer instances - implement isBlob to check Blob instances - implement isBuffer to check Node.js Buffer instances - implement isFormData to check FormData instances - add examples and tests for each helper
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 27 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- ensure Blob and FormData are defined before checking feat(build): ✨ add optional typeDefinition to WebsiteFunction fix(jsdoc): 🐛 update index rules for @SInCE tag requirements
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 27 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
scripts/coherency/index.ts:19
- The parallel runner built with
commands.join(' & ') + '; wait'can miss failures: backgrounded commands may exit non-zero but the final shell exit code can still be 0 depending onwait’s return status. SinceperformReleaserelies onpnpm run coherency, consider switching to a Node-based runner that captures each child’s exit code (or a shell approach thatwaits each PID and fails if any failed).
const tests = ['bundle', 'version', 'category', 'dependencies', 'sizes', 'jsdoc-since'];
async function runAllTests() {
console.log("🔍 Running coherency tests in parallel...\n");
const commands = tests.map(test => `pnpm exec tsx scripts/coherency/${test}/index.ts`);
const parallelCommand = commands.join(' & ') + '; wait';
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- export SKIP_SUFFIXES and SKIP_FILENAMES - export isHelperSourceFile function docs(index): 📝 clarify JSDoc rules for helper files - specify @SInCE tag requirements in comments - update console log message for clarity
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 27 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Description
Improves the website metadata build pipeline to correctly handle TypeScript type aliases that are co-located with their companion function.
Problem: Types like
Result(intryit.ts),Falsy(inisFalsy.ts), andPrimitive(inisPrimitive.ts) were getting their own standalone documentation pages, even though they are purely internal return/companion types of a single function. This made the docs sidebar noisy and the type pages had no useful standalone context.Solution:
SortFn,DateTruncUnit,WeekDay) keep their standalone page since they are referenced by multiple functions.Additionally, two bugs in
serializeTypewere fixed:namedTupleMembersupport: named tuple labels (e.g.[error: undefined, value: T]) were previously collapsed to just the member name, losing the type information.predicatesupport: type guard return types (e.g.value is string) were serialized as just"value"instead of the full predicate.Type of Change
Related Issues
N/A
How Has This Been Tested?
Result,Falsy, andPrimitiveno longer appear as standalone pages afterpnpm build+ doc generation.Resultappears in the "Related Types" section oftryit.md.SortFn,DateTruncUnit,WeekDaystill have their own standalone pages (1:N case).isString,isNumber,isValidDate,isArrayetc. now show correct type predicate signatures (value is string,value is number, …).Result<T>type definition now correctly serializes as[error: undefined, value: T] | [error: Error, value: undefined].Checklist