Release/v0.1.0 alpha.1#58
Merged
Merged
Conversation
blwatkins
commented
Jul 9, 2026
Owner
- Fixes Random #43
- Fixes StringUtility #27
…x.md, and README.md
…lity ColorStringUtility
StringUtility updates
…dom/random # Conflicts: # docs/portfolio-skills.md
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…ipt-utils into random-utility-updates
Random utility updates
Contributor
There was a problem hiding this comment.
Pull request overview
This PR prepares the v0.1.0-alpha.1 release by expanding the library’s random and string utilities (addressing #43 and #27), tightening runtime/type-guard behavior, and updating tests and release documentation to match the new APIs.
Changes:
- Adds new public utilities:
Random(including weighted selection) andColorStringUtility, plus discriminator support for weighted elements. - Refactors/extends string validation inputs and tests; improves
StringUtilityreturn types to proper type predicates. - Updates release metadata/docs (version bump, TypeDoc output, Jekyll docs pages) and enables Vitest typechecking.
Reviewed changes
Copilot reviewed 70 out of 87 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| vitest.config.ts | Enables Vitest typechecking using a dedicated TS config. |
| typedoc.json | Updates TypeDoc footer copyright year range. |
| tsconfig.vitest.json | Adds a TS config file used by Vitest typechecking. |
| test/utils/test-case/scenarios/random-number-generator-factory-scenarios.ts | Exposes expected-sequence helpers for reuse in tests. |
| test/utils/input/string-inputs.ts | Renames/expands string fixtures; adds hex color fixture imports and combined fixture sets. |
| test/utils/input/color-string-inputs.ts | Adds hex color string fixture sets for ColorStringUtility tests. |
| test/string/string-utility.test.ts | Adds coverage for new StringUtility methods and updates fixture usage/names. |
| test/string/color-string-utility.test.ts | Adds tests for ColorStringUtility hex validation APIs. |
| test/random/seeded-random/seeded-random-number-generator.test.ts | Test label/description normalization. |
| test/random/seeded-random/seed-versions.test.ts | Test label/description normalization. |
| test/random/seeded-random/random-number-generator-factory.test.ts | Test label/description normalization. |
| test/number/number-utility.test.ts | Test label/description normalization. |
| test/discriminator/discriminators.test.ts | Adds uniqueness test for discriminator enum values. |
| test/discriminator/discriminator-registry.test.ts | Improves test descriptions and adds coverage for validate(). |
| src/string/string-utility.ts | Normalizes regex constant naming and converts boolean checks into type predicates. |
| src/string/index.ts | Re-exports ColorStringUtility from the string module. |
| src/string/color-string-utility.ts | Introduces ColorStringUtility with hex color validation APIs. |
| src/random/weighted-element/weighted-element.ts | Adds WeightedElement / WeightedList types and TypeBox schema. |
| src/random/weighted-element/weighted-element-utility.ts | Adds builder/validator utilities for weighted elements/lists using discriminator registry. |
| src/random/weighted-element/index.ts | Exposes weighted-element exports for the random module. |
| src/random/seeded-random/random-number-generator-factory.ts | Strengthens build-input validation signature/documentation for runtime callers. |
| src/random/random.ts | Introduces Random static utility (rng injection, primitives, element selection, weighted selection). |
| src/random/index.ts | Exposes Random and weighted-element exports from the random module; updates header year range. |
| src/number/number-utility.ts | Makes zeroInclusive a defaulted param and simplifies conditional check. |
| src/index.ts | Updates header year range and ensures module re-exports include new additions. |
| src/discriminator/index.ts | Exports new Discriminators enum from the discriminator module. |
| src/discriminator/discriminators.ts | Adds Discriminators enum (currently includes WeightedElement). |
| src/discriminator/discriminator-registry.ts | Makes discriminator validation public (validate) and refactors registration validation. |
| README.md | Adds project history/origin note and updates footer/copyright range. |
| package.json | Bumps version to 0.1.0-alpha.1, updates deps/devDeps, and expands keywords. |
| LICENSE | Updates copyright year range. |
| docs/resources-and-references.md | Updates front matter and expands reference links. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/variables/random.weightedElementSchema.html | Adds generated TypeDoc page for new weighted schema. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/variables/discriminator.discriminatedSchema.html | Adds generated TypeDoc page under new release docs. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/types/random.WeightedList.html | Adds generated TypeDoc page for WeightedList. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/types/discriminator.TypeGuard.html | Adds generated TypeDoc page for TypeGuard. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/types/discriminator.Discriminated.html | Adds generated TypeDoc page for Discriminated. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/modules/string.html | Adds generated TypeDoc module page including ColorStringUtility. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/modules/number.html | Adds generated TypeDoc module page under new release docs. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/modules.html | Adds generated TypeDoc module index for the release. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/interfaces/random.SeedVersion.html | Adds generated TypeDoc interface page. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/hierarchy.html | Adds generated TypeDoc hierarchy page. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/enums/discriminator.Discriminators.html | Adds generated TypeDoc enum page for Discriminators. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/assets/search.js | Adds generated TypeDoc search index asset. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/assets/navigation.js | Adds generated TypeDoc navigation asset. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/assets/highlight.css | Adds generated TypeDoc highlight styles. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/assets/hierarchy.js | Adds generated TypeDoc hierarchy asset. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/.nojekyll | Adds .nojekyll for the release docs output. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.0/doc/variables/discriminator.discriminatedSchema.html | Updates generated TypeDoc page to reflect updated footer/source links. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.0/doc/types/discriminator.TypeGuard.html | Updates generated TypeDoc page to reflect updated footer/source links. |
| docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.0/doc/types/discriminator.Discriminated.html | Updates generated TypeDoc page to reflect updated footer/source links. |
| docs/releases.md | Adds v0.1.0-alpha.1 to releases list and restructures version headings. |
| docs/portfolio-skills.md | Updates portfolio claims/evidence for new random/weighted/color capabilities and refreshes metadata. |
| docs/index.md | Adds history/origin note and updates acknowledgements phrasing. |
| docs/_includes/footer.html | Updates site footer copyright year range. |
| CLAUDE.md | Updates project summary and adds pre-merge/release review checklist section. |
| .gitignore | Ignores Claude Code working directory (.claude/). |
Files not reviewed (4)
- docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/assets/icons.js: Generated file
- docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/assets/main.js: Generated file
- docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/assets/navigation.js: Generated file
- docs/releases/v0.x/v0.1.x/v0.1.0-alpha.x/v0.1.0-alpha.1/doc/assets/search.js: Generated file
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.