Skip to content

Conversation

@spirit-wiegmann
Copy link
Collaborator

This pull request introduces several significant updates to the build, release, and test infrastructure, as well as improvements to code quality and documentation. The most notable changes include migrating from semantic-release to release-it for releases, updating Node.js to version 24.x across all workflows, adding a migration guide for the new major version, and enhancing test reliability and maintainability.

Release and Build Process Modernization:

  • Switched the release process from semantic-release to release-it by removing the .releaserc configuration and adding a new .release-it.json with detailed hooks, git, npm, and changelog settings. This also changes the release commands in CI workflows and configures npm authentication and publishing steps. [1] [2] [3] [4]
  • Introduced a new esbuild.config.mjs script for building both main and proxy bundles with support for bundle analysis, better dependency management, and output of bundle sizes and stats reports.

Continuous Integration Improvements:

  • Updated all GitHub Actions workflows (integration-tests.yml, release.yml, validation.yml) to use Node.js 24.x (was 20.x), improved checkout configuration for full history, and ensured proper npm authentication for publishing. [1] [2] [3]

Documentation Updates:

  • Added a comprehensive migration guide to the README.md for v11.0.0, detailing breaking changes such as the lazy loading of CaaSEventStream and the reduced default maxReferenceDepth.

Testing and Code Quality:

  • Updated integration tests to use the modern @faker-js/faker instead of the deprecated faker package, made test servers close gracefully with closeServer, and improved test reliability for scenarios requiring increased maxReferenceDepth. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]

Summary of Most Important Changes:

Release and Build System:

  • Migrated from semantic-release to release-it for automated releases, with a new .release-it.json configuration and updated CI scripts for npm publishing and changelog generation. [1] [2] [3] [4]
  • Added a new esbuild.config.mjs for building and analyzing both main and proxy bundles, improving build transparency and maintainability.

Continuous Integration:

  • Updated all CI workflows to use Node.js 24.x and improved configuration for full git history and secure npm authentication. [1] [2] [3]

Documentation:

  • Added a migration guide for v11.0.0 to the README.md, highlighting breaking changes and recommended migration steps.

Testing Improvements:

spirit-wiegmann and others added 30 commits December 11, 2025 14:11
- Replaced `faker` with `@faker-js/faker` for better compatibility.
- Updated TypeScript configuration to exclude `node_modules`.
- Refactored `CaaSEventStream` to use lazy loading, preventing unnecessary bundling in browser builds.
- Improved code readability and maintainability across multiple files.

This commit enhances the overall project structure and prepares for future updates.
BREAKING CHANGES
* Reduced the default maximum reference depth from 10 to 2.
* This change aims to optimize performance and reduce complexity in handling referenced items.
…ies-update

# Conflicts:
#	package-lock.json
#	package.json
#	rollup.config.js
#	src/integrations/express.spec.ts
#	src/integrations/express.ts
#	tsconfig.json
* Changed package names to include the scope `@spirit-wiegmann`.
* Updated repository URLs to reflect the new organization.
* Modified descriptions to indicate the packages are test forks.
* Changed package names from `@spirit-wiegmann` to `@mrj-cp`.
* Updated repository URLs to reflect the new organization.
* Replaced `Faker` with `@faker-js/faker` in test files.
* Updated UUID generation to use `faker.string.uuid()` for consistency.
…ANT_ID`

* Refactored tests to utilize `INTEGRATION_TEST_TENANT_ID` from environment variables.
* Added `closeServer` utility to ensure proper server shutdown in tests.
* Updated server start function to accept a port parameter for flexibility.
* Updated Node.js version from 20.x to 24.x in `integration-tests.yml`, `release.yml`, and `validation.yml`.
* Added NPM authentication setup for publishing in `validation.yml`.
* Configured `.release-it.json` to skip checks during publishing.
* Updated `release.yml` and `validation.yml` to set `fetch-depth: 0` and `ref: ${{ github.ref }}` for the checkout action.
* This change ensures that the full history is fetched and the correct reference is checked out during CI workflows.
* Changed the `ref` parameter in the checkout action to use `github.head_ref` for better compatibility with pull requests.
* This ensures that the correct branch is checked out during CI workflows.
* Added npm registry URL to the setup-node action.
* Configured npm authentication using the NPM_TOKEN secret for secure access during the release process.
* Added `GITHUB_TOKEN` to the environment variables in `release.yml` for improved authentication during releases.
* Removed redundant `version` script from `package.json` to streamline the publishing process.
* Changed the release command from `npm run semantic-release` to `npm run release`.
* Updated dry run command to `npm run release:dry-run`.
* Added `release-it` configuration in `package.json` for streamlined release management.
* Ensured compatibility with Node.js version 14.0.0 and above.
* No functional changes were made to the application.
* Introduced `.release-it.json` for release management.
* Updated `package.json` to include `release:ci` script for CI environments.
* Enhanced hooks in `.release-it.json` for better build and release processes.
* Refactored `.release-it.json` to enhance hook formatting and readability.
* Simplified `release` and `release:ci` scripts in `package.json` for clarity.
* Ensured consistency in workspace and version update configurations.
* Cleaned up the `scripts` section in `package.json` by removing the `postpublish` script, which was not necessary for the current workflow.
* Removed the `@release-it/bumper` plugin from `.release-it.json` and `package.json` as it is no longer needed.
* Updated the `package-lock.json` to reflect these changes.
* Changed package names from `@mrj-cp/fsxa-proxy-api` to `fsxa-proxy-api` and `@mrj-cp/fsxa-api` to `fsxa-api`.
* Updated author and contributor information.
* Modified repository URL to reflect the new organization.
* Added a migration guide for version 11.0.0 detailing breaking changes and usage updates.
* Added `release:dry-run` and `release:ci:dry-run` scripts to facilitate testing of release processes without actual deployment.
* Updated package-lock.json to reflect changes in the `fsxa-proxy-api` module.
… breaking changes

* Update Node.js dependencies and adjust `peer` flags in `package-lock.json` for improved compatibility.
* Refactor utility functions: export `get` and `set` from `MappingUtils.ts` and update imports in `XMLParser.ts`.
* Move `chunk` utility in `CaaSMapper.ts` for consistency.
* Update `.env.template` with new `INTEGRATION_TEST_TENANT_ID` variable.
* Update package metadata: bump version to 11.0.0, update authors/contributors.
* Add breaking changes and migration guide to `CHANGELOG.md`; remove migration guide from `README.md`.

Signed-off-by: Justin Wiegmann <wiegmann@e-spirit.com>
…ment

* Renamed `@mrj-cp/fsxa-api` to `fsxa-api` in `package.json` and `package-lock.json`
* Updated `fsxa-proxy-api` version to `10.24.0` for consistency
* Removed unused engine and dependency entries from lockfile

Signed-off-by: Justin Wiegmann <wiegmann@e-spirit.com>
* Replace `npm run release:dry-run` with `npm run release:ci:dry-run` for improved CI compatibility.

Signed-off-by: Justin Wiegmann <wiegmann@e-spirit.com>
* Introduce `publish-workspace.js` to handle npm publishing for workspaces, including dry-run support and version syncing.
* Add `sync-workspace-versions.js` to synchronize root version to workspace packages post-bump.
* Update `.release-it.json` to integrate new scripts into release workflow and improve workspace publishing reliability.

Signed-off-by: Justin Wiegmann <wiegmann@e-spirit.com>
…ew action

* Updates `dependency-review.yml` to fail CI on moderate or higher severity vulnerabilities.
* Enhances security posture by preventing merges with moderate+ dependency issues.

Signed-off-by: Justin Wiegmann <wiegmann@e-spirit.com>
* Bump GitHub Action from v1 to v4 for improved security and features.
* Maintains `fail-on-severity: moderate` configuration.

Signed-off-by: Justin Wiegmann <wiegmann@e-spirit.com>
…blish step

* Ensures required GitHub tokens are available during the `release:ci:dry-run` workflow step.
* Supports authentication for actions that interact with GitHub APIs.

Signed-off-by: Justin Wiegmann <wiegmann@e-spirit.com>
…r workspace publish flow

* Remove `@release-it-plugins/workspaces` from dependencies and release-it config.
* Refactor `publish-workspace.js` to handle publishing directly, using CLI args for dry-run detection.
* Update release workflow to use `npm run release:ci` and call the custom publish script after npm release.
* Simplify and streamline workspace publishing logic for maintainability.

Signed-off-by: Justin Wiegmann <wiegmann@e-spirit.com>
… step

* Enhance `release:dry-run` and `release:ci:dry-run` to run `publish-workspace.js` with `--dry-run`
* Ensures workspace publish flow is tested during dry runs

Signed-off-by: Justin Wiegmann <wiegmann@e-spirit.com>
* Update `release:dry-run` and `release:ci:dry-run` scripts to include `sync-workspace-versions` step before publishing.
* Ensures workspace versions are synchronized during dry-run release processes.

Signed-off-by: Justin Wiegmann <wiegmann@e-spirit.com>
…th retry logic

* Add `retryAsync`, `waitUntilPreconditionMet`, and `withRetry` utilities to handle flaky test operations and eventual consistency issues.
* Introduce `TEST_TIMEOUTS` constants for standardized test timeouts.
* Refactor test cases to use retry logic and dynamic timeouts, reducing flakiness due to CaaS propagation delays.
* Enhance `CaasTestingClient.init` to retry collection creation and wait for propagation.

Signed-off-by: Justin Wiegmann <wiegmann@e-spirit.com>
…te media tests

* Increased `maxRetries` from 3 to 5 and reduced `delayMs` from 2000ms to 1000ms for improved test reliability.
* Switched test timeout from `TEST_TIMEOUTS.DEFAULT` to `TEST_TIMEOUTS.LONG` to accommodate longer-running remote operations.

Signed-off-by: Justin Wiegmann <wiegmann@e-spirit.com>
@spirit-wiegmann spirit-wiegmann merged commit 1579e3c into master Jan 15, 2026
2 of 4 checks passed
@spirit-wiegmann spirit-wiegmann deleted the issue/PX-334-node-and-dependencies-update branch January 15, 2026 11:35
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.

3 participants