Skip to content

feat: ✨ prepare v2.0.0 release#10

Merged
baxyz merged 27 commits into
mainfrom
prepare-v2-release
Apr 1, 2026
Merged

feat: ✨ prepare v2.0.0 release#10
baxyz merged 27 commits into
mainfrom
prepare-v2-release

Conversation

@baxyz

@baxyz baxyz commented Mar 31, 2026

Copy link
Copy Markdown
Contributor

🚀 Prepare v2.0.0 Release

Major overhaul of the @helpers4/typescript library: improved build pipeline, testing infrastructure, documentation, and CI/CD.


✨ New Features

  • Examples system — 60 .example.ts files across 11 categories (104 assertions)
    • Runtime example runner (pnpm examples)
    • Serialized examples.json embedded in each built package for website consumption
  • API documentation — TypeDoc-generated api.json per category, embedded in build output
  • Post-build smoke tests — validates compiled output by importing from build/<category>/lib/index.js (pnpm smoke)
  • Mutation testing — Stryker with Vitest runner, 88.38% mutation score across all categories (pnpm mutation)
  • slugify string helper — new utility function

🐛 Bug Fixes

  • Sourcemaps — enabled generation (sourcemap: true), .map files were declared in package but never built
  • PR validation workflows — repaired broken CI pipeline

📦 Build & Package Improvements

  • sideEffects: false in category packages for optimal tree-shaking
  • engines: { "node": ">=18.0.0" } for consumer-facing packages
  • "./package.json": "./package.json" export to prevent ERR_PACKAGE_PATH_NOT_EXPORTED
  • examples.json and api.json added to package exports and files

👷 CI/CD

  • Mutation testing integrated into PR validation pipeline (non-blocking, score displayed in PR comment)
  • Smoke tests added to verification job
  • Enhanced PR comment with mutation testing section
  • Removed separate mutation.yml workflow (consolidated into pr-validation.yml)

📝 Documentation & Config

  • AGENTS.md rewritten with clear conventions, commit guidelines (gitmoji), and project structure
  • .github/CODEOWNERS added
  • Removed outdated CONTRIBUTING.md, ISSUE_TEMPLATE.md, PULL_REQUEST_TEMPLATE.md, SECURITY.md
  • Conventional commits scopes expanded
  • VS Code workspace settings added

📊 Quality Metrics

Metric Value
Tests 507 passing
Coverage 100% (lines, branches, functions, statements)
Mutation Score 88.38%
Examples 104/104 passing
Smoke Tests 104/104 passing
Coherency 5/5 checks passing

🔢 Stats

  • 86 files changed — +4,760 / -416 lines
  • 60 new .example.ts files
  • 4 new build scripts (examples, API docs, smoke, mutation)

baxyz added 19 commits February 17, 2026 17:06
- Add CONTRIBUTING.md with baxyz as owner
- Add centralized PR and issue templates
- Add AGENTS.md for AI coding agent context
- Ensure consistency across all helpers4 repositories
- Add LICENSE file (AGPL-3.0-or-later)
- Add .editorconfig for IDE standardization
- Ensure consistent formatting across team
- revise critical restrictions section
- enhance organization context
- streamline commit message guidelines
- add meaningPromiseOrThrow examples
- add retry examples
- add truthyPromiseOrThrow examples
feat(string): ✨ add examples for string helpers
- add camelCase example
- add capitalize examples
- add errorToReadableMessage examples
- add kebabCase example
- add labelize examples
- add slugify examples
feat(type): ✨ add examples for type helpers
- add isEmpty examples
- add isSpecialObject examples
- add typeChecks examples
feat(url): ✨ add examples for url helpers
- add cleanPath examples
- add extractPureURI example
- add onlyPath example
- add relativeURLToAbsolute example
- add withLeadingSlash examples
- add withTrailingSlash example
- add withoutLeadingSlash example
- add withoutTrailingSlash example
feat(version): ✨ add examples for version helpers
- add compare examples
- add increment examples
- add parse examples
- add satisfiesRange examples
- add stripV example
chore(scripts): 🔧 add example runner and types
- add buildExamples function to create examples.json
- update package.json to include examples.json in exports
- add buildApiDocs function to create api.json
- update build process to include API documentation generation
- implement smoke tests to validate build output
- update job verification to include smoke test results
- add smoke script to package.json
@github-actions

github-actions Bot commented Mar 31, 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
🧾 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: 88.38% — good

Metric Progress Score
🟡 Mutation Score ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░ 88.38%

🧬 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-01

baxyz added 7 commits April 1, 2026 00:53
- set registry URL for npm
- skip NPM authentication when using OIDC provenance
- use npm OIDC provenance for authentication
- remove requirement for NPM_TOKEN
- remove tag creation from local git commands
- update commit message logging for clarity
- updated SPDX license identifier in multiple files
- modified license header in scripts and source files
@baxyz baxyz marked this pull request as ready for review April 1, 2026 20:45
Copilot AI review requested due to automatic review settings April 1, 2026 20:45
@baxyz baxyz merged commit b36a800 into main Apr 1, 2026
21 checks passed
@baxyz baxyz deleted the prepare-v2-release branch April 1, 2026 20:47

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

Prepares the @helpers4/typescript v2.0.0 release by overhauling packaging/build metadata generation (examples + API docs), adding smoke/mutation testing support, updating CI workflows, and switching licensing to LGPL-3.0.

Changes:

  • Add an examples system (.example.ts files + runner) and generate examples.json + api.json into build outputs.
  • Add post-build smoke testing + mutation testing (Stryker) and wire both into PR validation/verification workflows.
  • Update release/publish automation (CI-created verified tags/releases, npm provenance/OIDC) and switch project licensing to LGPL.

Reviewed changes

Copilot reviewed 258 out of 261 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
vitest.config.ts Excludes .example.ts from coverage collection.
stryker.config.mjs Adds Stryker mutation testing configuration and mutation globs.
scripts/version/version-manager.ts Updates SPDX header to LGPL.
scripts/version/release.ts Release flow now creates commit/push only; tags are created by CI.
scripts/version/pre-release-validator.ts Updates SPDX header to LGPL.
scripts/version/index.ts Updates SPDX header to LGPL.
scripts/version/git-utils.ts Removes tag creation/push logic from version commit helper.
scripts/version/commit-analyzer.ts Updates SPDX header to LGPL.
scripts/utils/index.ts Updates SPDX header to LGPL.
scripts/utils/file.utils.ts Updates SPDX header to LGPL.
scripts/RELEASE.md Documents OIDC-based npm publishing and updates security notes.
scripts/publish/index.ts Adds provenance flag + CLI switches; adjusts auth behavior for OIDC/provenance.
scripts/publish/helpers/transaction-manager.ts Updates SPDX header to LGPL.
scripts/publish/helpers/package-discovery.ts Updates SPDX header to LGPL.
scripts/publish/helpers/npm-utils.ts Adds --provenance support to npm publish.
scripts/publish/helpers/index.ts Updates SPDX header to LGPL.
scripts/license/add-license-headers.ts Updates license header script defaults from AGPL to LGPL.
scripts/examples/types.ts Introduces example data model (serializable + runtime assertion shape).
scripts/examples/smoke.ts Adds post-build smoke test runner for built package exports + example assertions.
scripts/examples/index.ts Adds runtime examples runner (pnpm examples).
scripts/constants/index.ts Updates SPDX header to LGPL.
scripts/constants/files.constant.ts Updates SPDX header to LGPL.
scripts/constants/dir.constant.ts Updates SPDX header to LGPL.
scripts/constants/build.constant.ts Updates SPDX header to LGPL.
scripts/coherency/version/index.ts Updates SPDX header to LGPL.
scripts/coherency/version/helper.ts Updates SPDX header to LGPL.
scripts/coherency/sizes/index.ts Updates SPDX header to LGPL.
scripts/coherency/sizes/helper.ts Updates SPDX header to LGPL.
scripts/coherency/index.ts Updates SPDX header to LGPL.
scripts/coherency/dependencies/index.ts Updates SPDX header to LGPL.
scripts/coherency/dependencies/helper.ts Updates SPDX header to LGPL.
scripts/coherency/category/index.ts Updates SPDX header to LGPL.
scripts/coherency/category/helper.ts Updates SPDX header to LGPL.
scripts/coherency/bundle/index.ts Updates SPDX header to LGPL.
scripts/build/index.ts Adds build steps to generate examples.json + api.json per category.
scripts/build/helpers/prepare-category-readme.ts Updates SPDX header to LGPL.
scripts/build/helpers/prepare-category-package-json.ts Updates SPDX header to LGPL.
scripts/build/helpers/prepare-bundle-readme.ts Updates SPDX header to LGPL.
scripts/build/helpers/prepare-bundle-package-json.ts Updates SPDX header to LGPL.
scripts/build/helpers/index.ts Updates SPDX header to LGPL.
scripts/build/helpers/get-external-dependencies.helper.ts Updates SPDX header to LGPL.
scripts/build/helpers/create-index-file.helper.ts Updates SPDX header to LGPL.
scripts/build/helpers/create-bundle-metadata.ts Updates bundled license blurb + SPDX to LGPL.
scripts/build/helpers/copy-static-category-files.ts Updates SPDX header to LGPL.
scripts/build/helpers/copy-static-bundle-files.ts Updates SPDX header to LGPL.
scripts/build/helpers/compile-type-script.helper.ts Enables sourcemap generation in build output.
scripts/build/helpers/categories-table.helper.ts Updates SPDX header to LGPL.
scripts/build/build-examples.ts Generates per-category examples.json for website/docs consumption.
scripts/build/build-categories.ts Updates SPDX header to LGPL.
scripts/build/build-bundle.ts Updates SPDX header to LGPL.
scripts/build/build-api-docs.ts Generates per-category api.json via TypeDoc serialization.
package.json Adds examples/smoke/mutation scripts; adds Stryker + TypeDoc deps; switches license to LGPL.
LICENSE.md Replaces embedded license text with LGPL-3.0 text (truncated form).
LICENSE Adds LGPL-3.0 license file.
helpers/version/stripV.ts Updates SPDX header to LGPL.
helpers/version/stripV.test.ts Updates SPDX header to LGPL.
helpers/version/stripV.example.ts Adds examples for stripV.
helpers/version/satisfiesRange.ts Updates SPDX header to LGPL.
helpers/version/satisfiesRange.test.ts Updates SPDX header to LGPL.
helpers/version/satisfiesRange.example.ts Adds examples for satisfiesRange.
helpers/version/parse.ts Updates SPDX header to LGPL.
helpers/version/parse.test.ts Updates SPDX header to LGPL.
helpers/version/parse.example.ts Adds examples for parse.
helpers/version/increment.ts Updates SPDX header to LGPL.
helpers/version/increment.test.ts Updates SPDX header to LGPL.
helpers/version/increment.example.ts Adds examples for increment.
helpers/version/compare.ts Updates SPDX header to LGPL.
helpers/version/compare.test.ts Updates SPDX header to LGPL.
helpers/version/compare.example.ts Adds examples for compare (version).
helpers/url/withTrailingSlash.ts Updates SPDX header to LGPL.
helpers/url/withTrailingSlash.test.ts Updates SPDX + license comment to LGPL.
helpers/url/withTrailingSlash.example.ts Adds examples for withTrailingSlash.
helpers/url/withTrailingSlash.bench.ts Updates SPDX header to LGPL.
helpers/url/withoutTrailingSlash.ts Updates SPDX header to LGPL.
helpers/url/withoutTrailingSlash.test.ts Updates SPDX + license comment to LGPL.
helpers/url/withoutTrailingSlash.example.ts Adds examples for withoutTrailingSlash.
helpers/url/withoutTrailingSlash.bench.ts Updates SPDX header to LGPL.
helpers/url/withoutLeadingSlash.ts Updates SPDX header to LGPL.
helpers/url/withoutLeadingSlash.test.ts Updates SPDX + license comment to LGPL.
helpers/url/withoutLeadingSlash.example.ts Adds examples for withoutLeadingSlash.
helpers/url/withoutLeadingSlash.bench.ts Updates SPDX header to LGPL.
helpers/url/withLeadingSlash.ts Updates SPDX header to LGPL.
helpers/url/withLeadingSlash.test.ts Updates SPDX + license comment to LGPL.
helpers/url/withLeadingSlash.example.ts Adds examples for withLeadingSlash.
helpers/url/withLeadingSlash.bench.ts Updates SPDX header to LGPL.
helpers/url/relativeURLToAbsolute.ts Updates SPDX + license comment to LGPL.
helpers/url/relativeURLToAbsolute.test.ts Updates SPDX + license comment to LGPL.
helpers/url/relativeURLToAbsolute.example.ts Adds examples for relativeURLToAbsolute.
helpers/url/onlyPath.ts Updates SPDX header to LGPL.
helpers/url/onlyPath.test.ts Updates SPDX + license comment to LGPL.
helpers/url/onlyPath.example.ts Adds examples for onlyPath.
helpers/url/onlyPath.bench.ts Updates SPDX header to LGPL.
helpers/url/extractPureURI.ts Updates SPDX + license comment to LGPL.
helpers/url/extractPureURI.test.ts Updates SPDX + license comment to LGPL.
helpers/url/extractPureURI.example.ts Adds examples for extractPureURI.
helpers/url/cleanPath.ts Updates SPDX header to LGPL.
helpers/url/cleanPath.test.ts Updates SPDX + license comment to LGPL.
helpers/url/cleanPath.example.ts Adds examples for cleanPath.
helpers/url/cleanPath.bench.ts Updates SPDX header to LGPL.
helpers/type/typeChecks.ts Updates SPDX header to LGPL.
helpers/type/typeChecks.test.ts Updates SPDX header to LGPL.
helpers/type/typeChecks.example.ts Adds examples for type guard helpers.
helpers/type/isSpecialObject.ts Updates SPDX header to LGPL.
helpers/type/isSpecialObject.test.ts Updates SPDX header to LGPL.
helpers/type/isSpecialObject.example.ts Adds examples for isSpecialObject.
helpers/type/isEmpty.ts Updates SPDX header to LGPL.
helpers/type/isEmpty.test.ts Updates SPDX header to LGPL.
helpers/type/isEmpty.example.ts Adds examples for isEmpty.
helpers/string/slugify.ts Adds new slugify helper.
helpers/string/slugify.test.ts Adds tests for slugify.
helpers/string/slugify.example.ts Adds examples for slugify.
helpers/string/labelize.ts Updates SPDX + license comment to LGPL.
helpers/string/labelize.test.ts Updates SPDX + license comment to LGPL.
helpers/string/labelize.example.ts Adds examples for labelize.
helpers/string/kebabCase.ts Updates SPDX header to LGPL.
helpers/string/kebabCase.test.ts Updates SPDX header to LGPL.
helpers/string/kebabCase.example.ts Adds examples for kebabCase.
helpers/string/errorToReadableMessage.ts Updates SPDX + license comment to LGPL.
helpers/string/errorToReadableMessage.test.ts Updates SPDX + license comment to LGPL.
helpers/string/errorToReadableMessage.example.ts Adds examples for errorToReadableMessage.
helpers/string/capitalize.ts Updates SPDX header to LGPL.
helpers/string/capitalize.test.ts Updates SPDX header to LGPL.
helpers/string/capitalize.example.ts Adds examples for capitalize.
helpers/string/camelCase.ts Updates SPDX header to LGPL.
helpers/string/camelCase.test.ts Updates SPDX header to LGPL.
helpers/string/camelCase.example.ts Adds examples for camelCase.
helpers/promise/truthyPromiseOrThrow.ts Updates SPDX + license comment to LGPL.
helpers/promise/truthyPromiseOrThrow.test.ts Updates SPDX header to LGPL.
helpers/promise/truthyPromiseOrThrow.example.ts Adds examples for truthyPromiseOrThrow.
helpers/promise/retry.ts Updates SPDX header to LGPL.
helpers/promise/retry.test.ts Updates SPDX header to LGPL.
helpers/promise/retry.example.ts Adds examples for retry.
helpers/promise/meaningPromiseOrThrow.ts Updates SPDX + license comment to LGPL.
helpers/promise/meaningPromiseOrThrow.test.ts Updates SPDX header to LGPL.
helpers/promise/meaningPromiseOrThrow.example.ts Adds examples for meaningPromiseOrThrow.
helpers/promise/falsyPromiseOrThrow.ts Updates SPDX + license comment to LGPL.
helpers/promise/falsyPromiseOrThrow.test.ts Updates SPDX header to LGPL.
helpers/promise/falsyPromiseOrThrow.example.ts Adds examples for falsyPromiseOrThrow.
helpers/promise/delay.ts Updates SPDX header to LGPL.
helpers/promise/delay.test.ts Updates SPDX header to LGPL.
helpers/promise/delay.example.ts Adds examples for delay.
helpers/promise/consoleLogPromise.ts Updates SPDX + license comment to LGPL.
helpers/promise/consoleLogPromise.test.ts Updates SPDX header to LGPL.
helpers/promise/consoleLogPromise.example.ts Adds examples for consoleLogPromise.
helpers/observable/combineLatest.ts Updates SPDX + license comment to LGPL.
helpers/observable/combineLatest.test.ts Updates SPDX + license comment to LGPL.
helpers/observable/combineLatest.example.ts Adds examples for combineLatest.
helpers/observable/combine.ts Updates SPDX + license comment to LGPL.
helpers/observable/combine.test.ts Updates SPDX + license comment to LGPL.
helpers/observable/combine.example.ts Adds examples for combine.
helpers/object/set.ts Updates SPDX header to LGPL.
helpers/object/set.test.ts Updates SPDX header to LGPL.
helpers/object/set.example.ts Adds examples for set.
helpers/object/removeUndefinedNull.ts Updates SPDX header to LGPL.
helpers/object/removeUndefinedNull.test.ts Updates SPDX header to LGPL.
helpers/object/removeUndefinedNull.example.ts Adds examples for removeUndefinedNull.
helpers/object/quickCompare.ts Updates SPDX header to LGPL.
helpers/object/quickCompare.test.ts Updates SPDX header to LGPL.
helpers/object/quickCompare.example.ts Adds examples for quickCompare.
helpers/object/get.ts Updates SPDX header to LGPL.
helpers/object/get.test.ts Updates SPDX header to LGPL.
helpers/object/get.example.ts Adds examples for get.
helpers/object/deepMerge.ts Updates SPDX header to LGPL.
helpers/object/deepMerge.test.ts Updates SPDX header to LGPL.
helpers/object/deepMerge.example.ts Adds examples for deepMerge.
helpers/object/deepCompare.ts Updates SPDX header to LGPL.
helpers/object/deepCompare.test.ts Updates SPDX header to LGPL.
helpers/object/deepCompare.example.ts Adds examples for deepCompare.
helpers/object/deepClone.ts Updates SPDX header to LGPL.
helpers/object/deepClone.test.ts Updates SPDX header to LGPL.
helpers/object/deepClone.example.ts Adds examples for deepClone.
helpers/number/roundTo.ts Updates SPDX header to LGPL.
helpers/number/roundTo.test.ts Updates SPDX header to LGPL.
helpers/number/roundTo.example.ts Adds examples for roundTo.
helpers/number/random.ts Updates SPDX header to LGPL.
helpers/number/random.test.ts Updates SPDX header to LGPL.
helpers/number/random.example.ts Adds examples for randomBetween/randomIntBetween.
helpers/number/clamp.ts Updates SPDX header to LGPL.
helpers/number/clamp.test.ts Updates SPDX header to LGPL.
helpers/number/clamp.example.ts Adds examples for clamp.
helpers/function/throttle.ts Updates SPDX header to LGPL.
helpers/function/throttle.test.ts Updates SPDX header to LGPL.
helpers/function/throttle.example.ts Adds examples for throttle.
helpers/function/returnOrThrowError.ts Updates SPDX header to LGPL.
helpers/function/returnOrThrowError.spec.ts Updates SPDX header to LGPL.
helpers/function/returnOrThrowError.example.ts Adds examples for returnOrThrowError.
helpers/function/memoize.ts Updates SPDX header to LGPL.
helpers/function/memoize.test.ts Updates SPDX header to LGPL.
helpers/function/memoize.example.ts Adds examples for memoize.
helpers/function/isDefinedAndNotNull.ts Updates SPDX header to LGPL.
helpers/function/isDefinedAndNotNull.spec.ts Updates SPDX header to LGPL.
helpers/function/isDefinedAndNotNull.example.ts Adds examples for isDefinedAndNotNull.
helpers/function/debounce.ts Updates SPDX header to LGPL.
helpers/function/debounce.test.ts Updates SPDX header to LGPL.
helpers/function/debounce.example.ts Adds examples for debounce.
helpers/date/timestamp.ts Updates SPDX header to LGPL.
helpers/date/timestamp.test.ts Updates SPDX header to LGPL.
helpers/date/timestamp.example.ts Adds examples for timestamp helpers.
helpers/date/safeDate.ts Updates SPDX header to LGPL.
helpers/date/safeDate.test.ts Updates SPDX header to LGPL.
helpers/date/safeDate.example.ts Adds examples for safeDate.
helpers/date/is.ts Updates SPDX header to LGPL.
helpers/date/is.test.ts Updates SPDX header to LGPL.
helpers/date/is.example.ts Adds examples for date comparison helpers.
helpers/date/format.ts Updates SPDX header to LGPL.
helpers/date/format.test.ts Updates SPDX header to LGPL.
helpers/date/format.example.ts Adds examples for date formatting helpers.
helpers/date/difference.ts Updates SPDX header to LGPL.
helpers/date/difference.test.ts Updates SPDX header to LGPL.
helpers/date/difference.example.ts Adds examples for daysDifference.
helpers/date/compare.ts Updates SPDX header to LGPL.
helpers/date/compare.test.ts Updates SPDX header to LGPL.
helpers/date/compare.example.ts Adds examples for compare (date).
helpers/array/unique.ts Updates SPDX header to LGPL.
helpers/array/unique.test.ts Updates SPDX header to LGPL.
helpers/array/unique.example.ts Adds examples for unique.
helpers/array/sort.ts Updates SPDX header to LGPL.
helpers/array/sort.test.ts Updates SPDX header to LGPL.
helpers/array/sort.example.ts Adds examples for sorting helpers.
helpers/array/quickCompare.ts Updates SPDX header to LGPL.
helpers/array/quickCompare.test.ts Updates SPDX header to LGPL.
helpers/array/quickCompare.example.ts Adds examples for quickCompare (array).
helpers/array/oneInCommon.ts Updates SPDX header to LGPL.
helpers/array/oneInCommon.test.ts Updates SPDX header to LGPL.
helpers/array/oneInCommon.example.ts Adds examples for oneInCommon.
helpers/array/intersection.ts Updates SPDX header to LGPL.
helpers/array/intersection.test.ts Updates SPDX header to LGPL.
helpers/array/intersection.example.ts Adds examples for intersection.
helpers/array/difference.ts Updates SPDX header to LGPL.
helpers/array/difference.test.ts Updates SPDX header to LGPL.
helpers/array/difference.example.ts Adds examples for difference.
helpers/array/deepCompare.ts Updates SPDX header to LGPL.
helpers/array/deepCompare.test.ts Updates SPDX header to LGPL.
helpers/array/deepCompare.example.ts Adds examples for deepCompare (array).
helpers/array/chunk.ts Updates SPDX header to LGPL.
helpers/array/chunk.test.ts Updates SPDX header to LGPL.
helpers/array/chunk.example.ts Adds examples for chunk.
helpers/array/arrayEquals.ts Updates SPDX header to LGPL.
helpers/array/arrayEquals.test.ts Updates SPDX header to LGPL.
helpers/array/arrayEquals.example.ts Adds examples for arrayEquals.
AGENTS.md Rewrites contributor/agent conventions and project guidance for v2.
.vscode/settings.json Updates psi-header license + conventional commit scopes + Copilot commit instructions.
.template/category/package.json Adds sideEffects false, engines, and exports for examples.json/api.json/package.json.
.template/bundle/README.md Updates license text to LGPL.
.template/bundle/package.json Updates license field to LGPL.
.gitignore Ignores Stryker output (reports/, .stryker-tmp/).
.github/workflows/release.yml Switches to OIDC-friendly setup and creates verified tags/releases via GitHub API.
.github/workflows/README.md Documents OIDC provenance authentication (no NPM token).
.github/workflows/pr-validation.yml Adds mutation job + richer PR comment output; adjusts conventional commit validation.
.github/workflows/job-verification.yml Adds post-build smoke tests to verification job.
.github/workflows/job-tests.yml Whitespace/formatting cleanup in coverage extraction step.
.github/SECURITY.md Removes outdated GitHub Actions security doc.
.github/PULL_REQUEST_TEMPLATE.md Removes old PR template.
.github/ISSUE_TEMPLATE.md Removes old issue template.
.github/dependabot.yml Adds Dependabot configuration for npm/actions/devcontainers.
.github/CONTRIBUTING.md Removes placeholder contributing guide.
.github/CODEOWNERS Adds default code owner.
.devcontainer/devcontainer.json Updates devcontainer features; adds auto-header license configuration.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

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

Comment thread scripts/examples/smoke.ts
Comment on lines +88 to +91
for (const example of helperExamples.examples) {
try {
await example.assert();
results.push({ category, helper: helperName, title: example.title, success: true });

Copilot AI Apr 1, 2026

Copy link

Choose a reason for hiding this comment

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

The smoke test runner imports .example.ts files from source and executes example.assert() directly. Since each example file imports the helper from ./<helper>.ts, the assertions are still exercising source code, not the compiled export from build/<category>/lib/index.js (the built module is only used for the export-exists check). To actually validate compiled output, refactor the examples contract so assertions can be executed against an injected helper implementation (e.g., assert(helperFn)), and in smoke tests pass builtModule[helperName] (or generate runnable assertions from serialized metadata).

Copilot uses AI. Check for mistakes.
Comment thread scripts/publish/index.ts
Comment on lines +185 to 195
// Check NPM authentication (skipped when using OIDC provenance in CI)
if (!config.dryRun && !config.provenance) {
console.log('🔐 Checking NPM authentication...');
const isAuthenticated = await checkNpmAuth();
if (!isAuthenticated) {
throw new Error('NPM authentication failed. Please login with: npm login');
}
console.log('✅ NPM authentication verified\n');
} else if (config.provenance) {
console.log('🔐 Using OIDC provenance for authentication\n');
}

Copilot AI Apr 1, 2026

Copy link

Choose a reason for hiding this comment

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

The auth check is skipped whenever config.provenance is true, but --provenance can be enabled outside CI. npm publish --provenance does not by itself authenticate locally, so skipping checkNpmAuth() can lead to a confusing publish failure later. Consider skipping the auth check only when running in CI with OIDC (e.g., config.provenance && process.env.CI), and otherwise keep the normal auth verification even if --provenance is set.

Copilot uses AI. Check for mistakes.
Comment on lines 20 to 25
/**
* Execute git commands for version commit and tagging
* Execute git commands for version commit
*/
export async function createVersionCommitAndTag(options: GitCommitOptions): Promise<void> {
console.log('📝 Creating version commit and tag...');
console.log('📝 Creating version commit...');

Copilot AI Apr 1, 2026

Copy link

Choose a reason for hiding this comment

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

createVersionCommitAndTag no longer creates or pushes tags (it only commits and optionally pushes a branch), but the function name still implies tagging. This makes the API misleading for callers and future maintenance. Consider renaming it to something like createVersionCommit (and updating imports), or reintroduce tag support if the name is intended to stay.

Copilot uses AI. Check for mistakes.
Comment thread LICENSE.md

Copyright (C) 2007 Free Software Foundation, Inc.
<https://fsf.org/>
<https://fsf.org/\>

Copilot AI Apr 1, 2026

Copy link

Choose a reason for hiding this comment

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

The license text contains a malformed URL: https://fsf.org/\> (extra backslash) which is not the canonical FSF link and looks like an accidental escaping artifact. Update it to https://fsf.org/ to avoid shipping a corrupted license document.

Suggested change
<https://fsf.org/\>
<https://fsf.org/>

Copilot uses AI. Check for mistakes.
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