feat: ✨ prepare v2.0.0 release#10
Conversation
- 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
✅ PR Validation Passed
📋 Pipeline Status
📊 Code Coverage
🧬 Mutation Testing
ℹ️ About this report
🤖 Generated by @helpers4 CI • 2026-04-01 |
- 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
There was a problem hiding this comment.
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.tsfiles + runner) and generateexamples.json+api.jsoninto 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.
| for (const example of helperExamples.examples) { | ||
| try { | ||
| await example.assert(); | ||
| results.push({ category, helper: helperName, title: example.title, success: true }); |
There was a problem hiding this comment.
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).
| // 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'); | ||
| } |
There was a problem hiding this comment.
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.
| /** | ||
| * 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...'); | ||
|
|
There was a problem hiding this comment.
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.
|
|
||
| Copyright (C) 2007 Free Software Foundation, Inc. | ||
| <https://fsf.org/> | ||
| <https://fsf.org/\> |
There was a problem hiding this comment.
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.
| <https://fsf.org/\> | |
| <https://fsf.org/> |
🚀 Prepare v2.0.0 Release
Major overhaul of the @helpers4/typescript library: improved build pipeline, testing infrastructure, documentation, and CI/CD.
✨ New Features
.example.tsfiles across 11 categories (104 assertions)pnpm examples)examples.jsonembedded in each built package for website consumptionapi.jsonper category, embedded in build outputbuild/<category>/lib/index.js(pnpm smoke)pnpm mutation)slugifystring helper — new utility function🐛 Bug Fixes
sourcemap: true),.mapfiles were declared in package but never built📦 Build & Package Improvements
sideEffects: falsein category packages for optimal tree-shakingengines: { "node": ">=18.0.0" }for consumer-facing packages"./package.json": "./package.json"export to preventERR_PACKAGE_PATH_NOT_EXPORTEDexamples.jsonandapi.jsonadded to packageexportsandfiles👷 CI/CD
mutation.ymlworkflow (consolidated intopr-validation.yml)📝 Documentation & Config
AGENTS.mdrewritten with clear conventions, commit guidelines (gitmoji), and project structure.github/CODEOWNERSaddedCONTRIBUTING.md,ISSUE_TEMPLATE.md,PULL_REQUEST_TEMPLATE.md,SECURITY.md📊 Quality Metrics
🔢 Stats
.example.tsfiles