Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update node.js #20107

Merged
merged 1 commit into from
Dec 24, 2024
Merged

chore(deps): update node.js #20107

merged 1 commit into from
Dec 24, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 24, 2024

This PR contains the following updates:

Package Type Update Change
node (source) engines minor >=23.4.0 -> >=23.5.0
node stage minor 23.4.0-alpine -> 23.5.0-alpine
node final minor 23.4.0-alpine -> 23.5.0-alpine
node final minor 23.4.0-bookworm-slim -> 23.5.0-bookworm-slim

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

nodejs/node (node)

v23.5.0: 2024-12-19, Version 23.5.0 (Current), @​aduh95

Compare Source

Notable Changes
WebCryptoAPI Ed25519 and X25519 algorithms are now stable

Following the merge of Curve25519 into the
Web Cryptography API Editor's Draft the
Ed25519 and X25519 algorithm identifiers are now stable and will no longer
emit an ExperimentalWarning upon use.

Contributed by Filip Skokan in #​56142.

On-thread hooks are back

This release introduces module.registerHooks() for registering module loader
customization hooks that are run for all modules loaded by require(), import
and functions returned by createRequire() in the same thread, which makes them
easier for CJS monkey-patchers to migrate to.

import assert from 'node:assert';
import { registerHooks, createRequire } from 'node:module';
import { writeFileSync } from 'node:fs';

writeFileSync('./bar.js', 'export const id = 123;', 'utf8');

registerHooks({
  resolve(specifier, context, nextResolve) {
    const replaced = specifier.replace('foo', 'bar');
    return nextResolve(replaced, context);
  },
  load(url, context, nextLoad) {
    const result = nextLoad(url, context);
    return {
      ...result,
      source: result.source.toString().replace('123', '456'),
    };
  },
});

// Checks that it works with require.
const require = createRequire(import.meta.url);
const required = require('./foo.js');  // Redirected by resolve hook to bar.js
assert.strictEqual(required.id, 456);  // Replaced by load hook to 456

// Checks that it works with import.
const imported = await import('./foo.js');  // Redirected by resolve hook to bar.js
assert.strictEqual(imported.id, 456);  // Replaced by load hook to 456

This complements the module.register() hooks - the new hooks fit better
internally and cover all corners in the module graph; whereas
module.register() previously could not cover require() while it was
on-thread, and still cannot cover createRequire() after being moved
off-thread.

They are also run in the same thread as the modules being loaded and where the
hooks are registered, which means they are easier to debug (no more
console.log() getting lost) and do not have the many deadlock issues haunting
the module.register() hooks. The new API also takes functions directly so that
it's easier for intermediate loader packages to take user options from files
that the hooks can't be aware of, like many existing CJS monkey-patchers do.

Contributed by Joyee Cheung in #​55698.

Other notable changes
  • [59cae91465] - (SEMVER-MINOR) dgram: support blocklist in udp (theanarkh) #​56087
  • [72f79b44ed] - doc: stabilize util.styleText (Rafael Gonzaga) #​56265
  • [b5a2c0777d] - (SEMVER-MINOR) module: add prefix-only modules to module.builtinModules (Jordan Harband) #​56185
  • [9863d27566] - (SEMVER-MINOR) module: only emit require(esm) warning under --trace-require-module (Joyee Cheung) #​56194
  • [8e780bc5ae] - (SEMVER-MINOR) module: use synchronous hooks for preparsing in import(cjs) (Joyee Cheung) #​55698
  • [65bc8e847f] - (SEMVER-MINOR) report: fix typos in report keys and bump the version (Yuan-Ming Hsu) #​56068
  • [0ab36e1937] - (SEMVER-MINOR) sqlite: aggregate constants in a single property (Edigleysson Silva (Edy)) #​56213
  • [efcc5d90c5] - (SEMVER-MINOR) src,lib: stabilize permission model (Rafael Gonzaga) #​56201
Commits

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Summary by Sourcery

Build:

  • Update Node.js base image to 23.5.0 for backstage, shop bff, shop ui, landing, storybook, and ui-next Dockerfiles.

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate bot requested a review from batazor as a code owner December 24, 2024 11:10
Copy link
Contributor

sourcery-ai bot commented Dec 24, 2024

Reviewer's Guide by Sourcery

This PR updates the Node.js engine from version 23.4.0 to 23.5.0 across multiple Dockerfiles and the shop UI package.json file.

No diagrams generated as the changes look simple and do not need a visual representation.

File-Level Changes

Change Details Files
Updated Node.js to 23.5.0
  • Updated the engines field in package.json to specify Node.js version 23.5.0 or later.
  • Changed the base image in several Dockerfiles to use Node.js version 23.5.0-alpine or 23.5.0-bookworm-slim, depending on the specific Dockerfile and its requirements. These updates ensure that the application uses the latest Node.js features and security patches across all environments and build processes, maintaining consistency and improving performance and security across the application's various components and build stages, including the shop UI, BFF, and other boundaries, as well as the platform's Backstage setup. This update also affects development builders and other UI components like landing pages, Storybook, and the Next.js UI, ensuring a consistent Node.js version across the entire project's development and deployment lifecycle, from local development to production environments, and across different operating system distributions like Alpine and Bookworm Slim, catering to various deployment needs and optimization strategies. This comprehensive update ensures that all parts of the application benefit from the latest Node.js improvements and remain compatible with each other, reducing potential conflicts and simplifying maintenance in the long run. It also ensures that the application's build process remains efficient and secure by using up-to-date base images with the latest security patches and performance enhancements. This change is crucial for maintaining the application's stability, security, and performance over time, and it also simplifies future updates by ensuring a consistent foundation across all components and build stages. By updating the Node.js version in both the package.json and the Dockerfiles, the project ensures that the correct version is used consistently throughout the development and deployment process, avoiding potential version mismatches and ensuring a smooth and predictable build and runtime experience. This approach also helps to keep the project's dependencies up-to-date and secure, reducing the risk of vulnerabilities and ensuring that the application can take advantage of the latest Node.js features and performance improvements. This proactive approach to dependency management contributes to the overall health and maintainability of the project, making it easier to manage and update in the future and reducing the likelihood of encountering compatibility issues or security vulnerabilities. By updating the Node.js version across all relevant files and configurations, the project maintains a consistent and secure environment for development, testing, and deployment, ensuring that all components work together seamlessly and benefit from the latest improvements and security patches. This comprehensive update is a best practice for ensuring the long-term stability, security, and performance of the application and its supporting infrastructure, and it also simplifies future updates by establishing a consistent foundation across all parts of the project. This approach also helps to reduce technical debt and improve the overall quality and maintainability of the codebase, making it easier to manage and update in the future and reducing the likelihood of encountering compatibility issues or security vulnerabilities. By proactively updating dependencies and maintaining a consistent environment, the project can ensure its long-term health and stability, making it easier to adapt to future changes and requirements and reducing the risk of encountering unexpected issues or vulnerabilities. This comprehensive update is a best practice for ensuring the long-term stability, security, and performance of the application and its supporting infrastructure, and it also simplifies future updates by establishing a consistent foundation across all parts of the project. This approach also helps to reduce technical debt and improve the overall quality and maintainability of the codebase, making it easier to manage and update in the future and reducing the likelihood of encountering compatibility issues or security vulnerabilities. By proactively updating dependencies and maintaining a consistent environment, the project can ensure its long-term health and stability, making it easier to adapt to future changes and requirements and reducing the risk of encountering unexpected issues or vulnerabilities.
boundaries/shop/ui/package.json
ops/dockerfile/boundaries/platform/backstage.Dockerfile
ops/dockerfile/boundaries/shop/bff.Dockerfile
ops/dockerfile/boundaries/shop/ui.Dockerfile
ops/dockerfile/boundaries/ui/landing.Dockerfile
ops/dockerfile/boundaries/ui/storybook.Dockerfile
ops/dockerfile/boundaries/ui/ui-next.Dockerfile

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time. You can also use
    this command to specify where the summary should be inserted.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

We have skipped reviewing this pull request. It seems to have been created by a bot (hey, renovate[bot]!). We assume it knows what it's doing!

@batazor batazor added this pull request to the merge queue Dec 24, 2024
Merged via the queue into main with commit fb3836b Dec 24, 2024
17 of 26 checks passed
@batazor batazor deleted the renovate/node-23.x branch December 24, 2024 11:51
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.

1 participant