From 176282e65f99eac88a581179c954af766dd8bd0e Mon Sep 17 00:00:00 2001
From: Jamie Magee <jamie.magee@gmail.com>
Date: Tue, 28 Mar 2023 14:05:36 -0700
Subject: [PATCH] chore: use `node:` protocol imports (#21181)

---
 jest.config.ts                                            | 4 ++--
 lib/config/decrypt.ts                                     | 2 +-
 lib/instrumentation/index.ts                              | 2 +-
 lib/logger/pretty-stdout.ts                               | 4 ++--
 lib/logger/types.ts                                       | 2 +-
 lib/logger/utils.ts                                       | 2 +-
 lib/modules/datasource/docker/index.ts                    | 2 +-
 lib/modules/datasource/go/base.ts                         | 2 +-
 lib/modules/datasource/maven/s3.spec.ts                   | 2 +-
 lib/modules/datasource/maven/util.ts                      | 2 +-
 lib/modules/datasource/npm/get.ts                         | 2 +-
 lib/modules/datasource/npm/npmrc.ts                       | 2 +-
 lib/modules/datasource/pod/index.ts                       | 2 +-
 lib/modules/datasource/pypi/index.ts                      | 2 +-
 lib/modules/manager/bazel/artifacts.spec.ts               | 2 +-
 lib/modules/manager/git-submodules/extract.ts             | 2 +-
 lib/modules/manager/gradle-wrapper/artifacts.spec.ts      | 4 ++--
 lib/modules/manager/gradle-wrapper/util.spec.ts           | 4 ++--
 lib/modules/manager/gradle-wrapper/utils.ts               | 2 +-
 lib/modules/manager/gradle/artifacts.spec.ts              | 2 +-
 lib/modules/manager/gradle/parser/handlers.ts             | 4 ++--
 lib/modules/manager/homebrew/update.spec.ts               | 2 +-
 lib/modules/manager/maven-wrapper/artifacts.spec.ts       | 4 ++--
 lib/modules/manager/maven-wrapper/artifacts.ts            | 4 ++--
 lib/modules/manager/npm/detect.ts                         | 2 +-
 lib/modules/manager/puppet/extract.spec.ts                | 2 +-
 lib/modules/manager/puppet/puppetfile-parser.spec.ts      | 2 +-
 lib/modules/manager/regex/utils.ts                        | 2 +-
 lib/modules/manager/terraform/lockfile/hash.spec.ts       | 2 +-
 lib/modules/manager/terraform/lockfile/hash.ts            | 2 +-
 lib/modules/platform/azure/azure-helper.spec.ts           | 2 +-
 lib/modules/platform/azure/index.spec.ts                  | 2 +-
 lib/modules/platform/azure/util.spec.ts                   | 2 +-
 lib/modules/platform/bitbucket-server/utils.ts            | 2 +-
 lib/modules/platform/bitbucket/index.ts                   | 2 +-
 lib/modules/platform/bitbucket/utils.ts                   | 6 +++---
 lib/modules/platform/codecommit/index.ts                  | 2 +-
 lib/modules/platform/github/index.ts                      | 2 +-
 lib/modules/platform/gitlab/index.ts                      | 2 +-
 lib/modules/platform/index.ts                             | 2 +-
 lib/util/cache/package/decorator.spec.ts                  | 2 +-
 lib/util/cache/package/file.spec.ts                       | 2 +-
 lib/util/cache/repository/impl/s3.spec.ts                 | 2 +-
 lib/util/cache/repository/impl/s3.ts                      | 2 +-
 lib/util/compress.ts                                      | 4 ++--
 lib/util/exec/common.spec.ts                              | 8 ++++----
 lib/util/exec/common.ts                                   | 2 +-
 lib/util/exec/hermit.spec.ts                              | 2 +-
 lib/util/exec/hermit.ts                                   | 2 +-
 lib/util/exec/types.ts                                    | 2 +-
 lib/util/fs/index.ts                                      | 4 ++--
 lib/util/git/index.ts                                     | 2 +-
 lib/util/git/private-key.ts                               | 2 +-
 lib/util/http/dns.ts                                      | 6 +++++-
 lib/util/http/types.ts                                    | 2 +-
 lib/util/modules.ts                                       | 2 +-
 lib/util/streams.spec.ts                                  | 2 +-
 lib/util/streams.ts                                       | 2 +-
 lib/workers/global/config/parse/codespaces.ts             | 2 +-
 lib/workers/global/config/parse/file.spec.ts              | 2 +-
 lib/workers/global/initialize.ts                          | 2 +-
 lib/workers/repository/stats.ts                           | 2 +-
 .../repository/update/pr/changelog/release-notes.ts       | 2 +-
 .../repository/update/pr/changelog/source-github.ts       | 2 +-
 .../repository/update/pr/changelog/source-gitlab.ts       | 2 +-
 test/fixtures.ts                                          | 4 ++--
 test/http-mock.ts                                         | 2 +-
 test/static-files.spec.ts                                 | 2 +-
 test/util.ts                                              | 2 +-
 test/website-docs.spec.ts                                 | 2 +-
 tools/check-fenced-code.mjs                               | 2 +-
 tools/clean-cache.mjs                                     | 2 +-
 tools/generate-imports.mjs                                | 2 +-
 tools/static-data/generate-azure-pipelines-tasks.mjs      | 4 ++--
 74 files changed, 94 insertions(+), 90 deletions(-)

diff --git a/jest.config.ts b/jest.config.ts
index ce36cd8a2e..ceb58288ca 100644
--- a/jest.config.ts
+++ b/jest.config.ts
@@ -1,5 +1,5 @@
-import os from 'os';
-import v8 from 'v8';
+import os from 'node:os';
+import v8 from 'node:v8';
 import type { InitialOptionsTsJest } from 'ts-jest/dist/types';
 
 const ci = !!process.env.CI;
diff --git a/lib/config/decrypt.ts b/lib/config/decrypt.ts
index 613d270253..5b48e76d64 100644
--- a/lib/config/decrypt.ts
+++ b/lib/config/decrypt.ts
@@ -1,4 +1,4 @@
-import crypto from 'crypto';
+import crypto from 'node:crypto';
 import is from '@sindresorhus/is';
 import * as openpgp from 'openpgp';
 import { logger } from '../logger';
diff --git a/lib/instrumentation/index.ts b/lib/instrumentation/index.ts
index 43a95d1218..edc590c753 100644
--- a/lib/instrumentation/index.ts
+++ b/lib/instrumentation/index.ts
@@ -1,4 +1,4 @@
-import { ClientRequest } from 'http';
+import { ClientRequest } from 'node:http';
 import type {
   Context,
   Span,
diff --git a/lib/logger/pretty-stdout.ts b/lib/logger/pretty-stdout.ts
index 6cb1282494..f358730a3d 100644
--- a/lib/logger/pretty-stdout.ts
+++ b/lib/logger/pretty-stdout.ts
@@ -1,8 +1,8 @@
 // Code originally derived from https://github.com/hadfieldn/node-bunyan-prettystream but since heavily edited
 // Neither fork nor original repo appear to be maintained
 
-import { Stream } from 'stream';
-import * as util from 'util';
+import { Stream } from 'node:stream';
+import * as util from 'node:util';
 import chalk from 'chalk';
 import stringify from 'json-stringify-pretty-compact';
 import type { BunyanRecord } from './types';
diff --git a/lib/logger/types.ts b/lib/logger/types.ts
index 4e0fd628e1..df0a182435 100644
--- a/lib/logger/types.ts
+++ b/lib/logger/types.ts
@@ -1,4 +1,4 @@
-import type { Stream } from 'stream';
+import type { Stream } from 'node:stream';
 import type { LogLevel } from 'bunyan';
 
 export interface LogError {
diff --git a/lib/logger/utils.ts b/lib/logger/utils.ts
index d787f4f678..e4b34a1357 100644
--- a/lib/logger/utils.ts
+++ b/lib/logger/utils.ts
@@ -1,4 +1,4 @@
-import { Stream } from 'stream';
+import { Stream } from 'node:stream';
 import is from '@sindresorhus/is';
 import bunyan from 'bunyan';
 import fs from 'fs-extra';
diff --git a/lib/modules/datasource/docker/index.ts b/lib/modules/datasource/docker/index.ts
index 63cd8faf19..ef96dc8c86 100644
--- a/lib/modules/datasource/docker/index.ts
+++ b/lib/modules/datasource/docker/index.ts
@@ -1,4 +1,4 @@
-import URL from 'url';
+import URL from 'node:url';
 import { ECR } from '@aws-sdk/client-ecr';
 import type { ECRClientConfig } from '@aws-sdk/client-ecr';
 import is from '@sindresorhus/is';
diff --git a/lib/modules/datasource/go/base.ts b/lib/modules/datasource/go/base.ts
index 55327a369c..b212e2c671 100644
--- a/lib/modules/datasource/go/base.ts
+++ b/lib/modules/datasource/go/base.ts
@@ -1,6 +1,6 @@
 // TODO: types (#7154)
 /* eslint-disable @typescript-eslint/restrict-template-expressions */
-import URL from 'url';
+import URL from 'node:url';
 import { logger } from '../../../logger';
 import { detectPlatform } from '../../../util/common';
 import * as hostRules from '../../../util/host-rules';
diff --git a/lib/modules/datasource/maven/s3.spec.ts b/lib/modules/datasource/maven/s3.spec.ts
index 0952dad748..61a8534ced 100644
--- a/lib/modules/datasource/maven/s3.spec.ts
+++ b/lib/modules/datasource/maven/s3.spec.ts
@@ -1,4 +1,4 @@
-import { Readable } from 'stream';
+import { Readable } from 'node:stream';
 import {
   GetObjectCommand,
   HeadObjectCommand,
diff --git a/lib/modules/datasource/maven/util.ts b/lib/modules/datasource/maven/util.ts
index 733c1ecd0d..65f6ed216d 100644
--- a/lib/modules/datasource/maven/util.ts
+++ b/lib/modules/datasource/maven/util.ts
@@ -1,4 +1,4 @@
-import { Readable } from 'stream';
+import { Readable } from 'node:stream';
 import { GetObjectCommand, HeadObjectCommand } from '@aws-sdk/client-s3';
 import { DateTime } from 'luxon';
 import { XmlDocument } from 'xmldoc';
diff --git a/lib/modules/datasource/npm/get.ts b/lib/modules/datasource/npm/get.ts
index dedf43762c..1418c2feb9 100644
--- a/lib/modules/datasource/npm/get.ts
+++ b/lib/modules/datasource/npm/get.ts
@@ -1,4 +1,4 @@
-import url from 'url';
+import url from 'node:url';
 import is from '@sindresorhus/is';
 import { DateTime } from 'luxon';
 import { GlobalConfig } from '../../../config/global';
diff --git a/lib/modules/datasource/npm/npmrc.ts b/lib/modules/datasource/npm/npmrc.ts
index 5c9354b3fd..6b26a33827 100644
--- a/lib/modules/datasource/npm/npmrc.ts
+++ b/lib/modules/datasource/npm/npmrc.ts
@@ -1,4 +1,4 @@
-import url from 'url';
+import url from 'node:url';
 import is from '@sindresorhus/is';
 import ini from 'ini';
 import { GlobalConfig } from '../../../config/global';
diff --git a/lib/modules/datasource/pod/index.ts b/lib/modules/datasource/pod/index.ts
index 82a96b5b35..189eb8c0bf 100644
--- a/lib/modules/datasource/pod/index.ts
+++ b/lib/modules/datasource/pod/index.ts
@@ -1,4 +1,4 @@
-import crypto from 'crypto';
+import crypto from 'node:crypto';
 import { HOST_DISABLED } from '../../../constants/error-messages';
 import { logger } from '../../../logger';
 import { ExternalHostError } from '../../../types/errors/external-host-error';
diff --git a/lib/modules/datasource/pypi/index.ts b/lib/modules/datasource/pypi/index.ts
index e3985ecab9..44acf798b1 100644
--- a/lib/modules/datasource/pypi/index.ts
+++ b/lib/modules/datasource/pypi/index.ts
@@ -1,4 +1,4 @@
-import url from 'url';
+import url from 'node:url';
 import changelogFilenameRegex from 'changelog-filename-regex';
 import { logger } from '../../../logger';
 import { parse } from '../../../util/html';
diff --git a/lib/modules/manager/bazel/artifacts.spec.ts b/lib/modules/manager/bazel/artifacts.spec.ts
index da400a96c0..71ab62644f 100644
--- a/lib/modules/manager/bazel/artifacts.spec.ts
+++ b/lib/modules/manager/bazel/artifacts.spec.ts
@@ -1,4 +1,4 @@
-import crypto from 'crypto';
+import crypto from 'node:crypto';
 import { codeBlock } from 'common-tags';
 import * as httpMock from '../../../../test/http-mock';
 import { partial } from '../../../../test/util';
diff --git a/lib/modules/manager/git-submodules/extract.ts b/lib/modules/manager/git-submodules/extract.ts
index 2e6a3da83e..82902cd1b6 100644
--- a/lib/modules/manager/git-submodules/extract.ts
+++ b/lib/modules/manager/git-submodules/extract.ts
@@ -1,4 +1,4 @@
-import URL from 'url';
+import URL from 'node:url';
 import Git, { SimpleGit } from 'simple-git';
 import upath from 'upath';
 import { GlobalConfig } from '../../../config/global';
diff --git a/lib/modules/manager/gradle-wrapper/artifacts.spec.ts b/lib/modules/manager/gradle-wrapper/artifacts.spec.ts
index d6996cde05..06bb6b64ad 100644
--- a/lib/modules/manager/gradle-wrapper/artifacts.spec.ts
+++ b/lib/modules/manager/gradle-wrapper/artifacts.spec.ts
@@ -1,5 +1,5 @@
-import type { Stats } from 'fs';
-import os from 'os';
+import type { Stats } from 'node:fs';
+import os from 'node:os';
 import { join } from 'upath';
 import { envMock, mockExecAll } from '../../../../test/exec-util';
 import { Fixtures } from '../../../../test/fixtures';
diff --git a/lib/modules/manager/gradle-wrapper/util.spec.ts b/lib/modules/manager/gradle-wrapper/util.spec.ts
index c743eb8dd5..6a49b9eb86 100644
--- a/lib/modules/manager/gradle-wrapper/util.spec.ts
+++ b/lib/modules/manager/gradle-wrapper/util.spec.ts
@@ -1,5 +1,5 @@
-import type { Stats } from 'fs';
-import os from 'os';
+import type { Stats } from 'node:fs';
+import os from 'node:os';
 import { fs, partial } from '../../../../test/util';
 import { GlobalConfig } from '../../../config/global';
 import {
diff --git a/lib/modules/manager/gradle-wrapper/utils.ts b/lib/modules/manager/gradle-wrapper/utils.ts
index 0f41043371..b4322f3fcc 100644
--- a/lib/modules/manager/gradle-wrapper/utils.ts
+++ b/lib/modules/manager/gradle-wrapper/utils.ts
@@ -1,4 +1,4 @@
-import os from 'os';
+import os from 'node:os';
 import { GlobalConfig } from '../../../config/global';
 import { logger } from '../../../logger';
 import { chmodLocalFile, statLocalFile } from '../../../util/fs';
diff --git a/lib/modules/manager/gradle/artifacts.spec.ts b/lib/modules/manager/gradle/artifacts.spec.ts
index a3cd828eb3..d42d22dc55 100644
--- a/lib/modules/manager/gradle/artifacts.spec.ts
+++ b/lib/modules/manager/gradle/artifacts.spec.ts
@@ -1,4 +1,4 @@
-import os from 'os';
+import os from 'node:os';
 import { join } from 'upath';
 import {
   envMock,
diff --git a/lib/modules/manager/gradle/parser/handlers.ts b/lib/modules/manager/gradle/parser/handlers.ts
index 44f3f97006..9f73bd4d71 100644
--- a/lib/modules/manager/gradle/parser/handlers.ts
+++ b/lib/modules/manager/gradle/parser/handlers.ts
@@ -1,4 +1,4 @@
-import url from 'url';
+import URL from 'node:url';
 import upath from 'upath';
 import { logger } from '../../../../logger';
 import { getSiblingFileName } from '../../../../util/fs';
@@ -289,7 +289,7 @@ export function handleCustomRegistryUrl(ctx: Ctx): Ctx {
   if (registryUrl) {
     registryUrl = registryUrl.replace(regEx(/\\/g), '');
     try {
-      const { host, protocol } = url.parse(registryUrl);
+      const { host, protocol } = URL.parse(registryUrl);
       if (host && protocol) {
         ctx.registryUrls.push({
           registryUrl,
diff --git a/lib/modules/manager/homebrew/update.spec.ts b/lib/modules/manager/homebrew/update.spec.ts
index ae8087907b..013f4fa4c4 100644
--- a/lib/modules/manager/homebrew/update.spec.ts
+++ b/lib/modules/manager/homebrew/update.spec.ts
@@ -1,4 +1,4 @@
-import { Readable } from 'stream';
+import { Readable } from 'node:stream';
 import { Fixtures } from '../../../../test/fixtures';
 import * as httpMock from '../../../../test/http-mock';
 import { updateDependency } from '.';
diff --git a/lib/modules/manager/maven-wrapper/artifacts.spec.ts b/lib/modules/manager/maven-wrapper/artifacts.spec.ts
index 01e55ce5b2..a4a8c91a2f 100644
--- a/lib/modules/manager/maven-wrapper/artifacts.spec.ts
+++ b/lib/modules/manager/maven-wrapper/artifacts.spec.ts
@@ -1,5 +1,5 @@
-import type { Stats } from 'fs';
-import os from 'os';
+import type { Stats } from 'node:fs';
+import os from 'node:os';
 import type { StatusResult } from 'simple-git';
 import { join } from 'upath';
 import { envMock, mockExecAll } from '../../../../test/exec-util';
diff --git a/lib/modules/manager/maven-wrapper/artifacts.ts b/lib/modules/manager/maven-wrapper/artifacts.ts
index 61a2adc969..789c2658fe 100644
--- a/lib/modules/manager/maven-wrapper/artifacts.ts
+++ b/lib/modules/manager/maven-wrapper/artifacts.ts
@@ -1,5 +1,5 @@
-import type { Stats } from 'fs';
-import os from 'os';
+import type { Stats } from 'node:fs';
+import os from 'node:os';
 import is from '@sindresorhus/is';
 import { dirname, join } from 'upath';
 import { GlobalConfig } from '../../../config/global';
diff --git a/lib/modules/manager/npm/detect.ts b/lib/modules/manager/npm/detect.ts
index e1e15096d5..78b2fa3b16 100644
--- a/lib/modules/manager/npm/detect.ts
+++ b/lib/modules/manager/npm/detect.ts
@@ -1,4 +1,4 @@
-import os from 'os';
+import os from 'node:os';
 import is from '@sindresorhus/is';
 import upath from 'upath';
 import { logger } from '../../../logger';
diff --git a/lib/modules/manager/puppet/extract.spec.ts b/lib/modules/manager/puppet/extract.spec.ts
index 8c5c8aa8ca..304ae6a36b 100644
--- a/lib/modules/manager/puppet/extract.spec.ts
+++ b/lib/modules/manager/puppet/extract.spec.ts
@@ -1,4 +1,4 @@
-import { EOL } from 'os';
+import { EOL } from 'node:os';
 import { Fixtures } from '../../../../test/fixtures';
 import { GitTagsDatasource } from '../../datasource/git-tags';
 import { GithubTagsDatasource } from '../../datasource/github-tags';
diff --git a/lib/modules/manager/puppet/puppetfile-parser.spec.ts b/lib/modules/manager/puppet/puppetfile-parser.spec.ts
index 4cf0f0dc2b..03d6a7f46e 100644
--- a/lib/modules/manager/puppet/puppetfile-parser.spec.ts
+++ b/lib/modules/manager/puppet/puppetfile-parser.spec.ts
@@ -1,4 +1,4 @@
-import { EOL } from 'os';
+import { EOL } from 'node:os';
 import { Fixtures } from '../../../../test/fixtures';
 import { parsePuppetfile } from './puppetfile-parser';
 
diff --git a/lib/modules/manager/regex/utils.ts b/lib/modules/manager/regex/utils.ts
index e54317e43d..1d909a6e80 100644
--- a/lib/modules/manager/regex/utils.ts
+++ b/lib/modules/manager/regex/utils.ts
@@ -1,4 +1,4 @@
-import { URL } from 'url';
+import { URL } from 'node:url';
 import is from '@sindresorhus/is';
 import { migrateDatasource } from '../../../config/migrations/custom/datasource-migration';
 import type { RegexManagerTemplates } from '../../../config/types';
diff --git a/lib/modules/manager/terraform/lockfile/hash.spec.ts b/lib/modules/manager/terraform/lockfile/hash.spec.ts
index fbc7de7dce..6f123877f2 100644
--- a/lib/modules/manager/terraform/lockfile/hash.spec.ts
+++ b/lib/modules/manager/terraform/lockfile/hash.spec.ts
@@ -1,4 +1,4 @@
-import { createReadStream } from 'fs';
+import { createReadStream } from 'node:fs';
 import { DirectoryResult, dir } from 'tmp-promise';
 import { Fixtures } from '../../../../../test/fixtures';
 import * as httpMock from '../../../../../test/http-mock';
diff --git a/lib/modules/manager/terraform/lockfile/hash.ts b/lib/modules/manager/terraform/lockfile/hash.ts
index 25afff41e2..94d8cfd80c 100644
--- a/lib/modules/manager/terraform/lockfile/hash.ts
+++ b/lib/modules/manager/terraform/lockfile/hash.ts
@@ -1,4 +1,4 @@
-import crypto from 'crypto';
+import crypto from 'node:crypto';
 import extract from 'extract-zip';
 import upath from 'upath';
 import { logger } from '../../../../logger';
diff --git a/lib/modules/platform/azure/azure-helper.spec.ts b/lib/modules/platform/azure/azure-helper.spec.ts
index 95a698a10a..2a94b6b652 100644
--- a/lib/modules/platform/azure/azure-helper.spec.ts
+++ b/lib/modules/platform/azure/azure-helper.spec.ts
@@ -1,4 +1,4 @@
-import { Readable } from 'stream';
+import { Readable } from 'node:stream';
 import { GitPullRequestMergeStrategy } from 'azure-devops-node-api/interfaces/GitInterfaces.js';
 
 describe('modules/platform/azure/azure-helper', () => {
diff --git a/lib/modules/platform/azure/index.spec.ts b/lib/modules/platform/azure/index.spec.ts
index 74df14dd81..31b58e79dc 100644
--- a/lib/modules/platform/azure/index.spec.ts
+++ b/lib/modules/platform/azure/index.spec.ts
@@ -1,4 +1,4 @@
-import { Readable } from 'stream';
+import { Readable } from 'node:stream';
 import is from '@sindresorhus/is';
 import type { IGitApi } from 'azure-devops-node-api/GitApi';
 import {
diff --git a/lib/modules/platform/azure/util.spec.ts b/lib/modules/platform/azure/util.spec.ts
index 567bc057e8..b89395683c 100644
--- a/lib/modules/platform/azure/util.spec.ts
+++ b/lib/modules/platform/azure/util.spec.ts
@@ -1,4 +1,4 @@
-import { Readable } from 'stream';
+import { Readable } from 'node:stream';
 import { streamToString } from '../../../util/streams';
 import {
   getBranchNameWithoutRefsheadsPrefix,
diff --git a/lib/modules/platform/bitbucket-server/utils.ts b/lib/modules/platform/bitbucket-server/utils.ts
index 67652805bd..ea10aad605 100644
--- a/lib/modules/platform/bitbucket-server/utils.ts
+++ b/lib/modules/platform/bitbucket-server/utils.ts
@@ -1,5 +1,5 @@
 // SEE for the reference https://github.com/renovatebot/renovate/blob/c3e9e572b225085448d94aa121c7ec81c14d3955/lib/platform/bitbucket/utils.js
-import url from 'url';
+import url, { URL } from 'node:url';
 import is from '@sindresorhus/is';
 import { CONFIG_GIT_URL_UNAVAILABLE } from '../../../constants/error-messages';
 import { logger } from '../../../logger';
diff --git a/lib/modules/platform/bitbucket/index.ts b/lib/modules/platform/bitbucket/index.ts
index dda49add7a..7f87d99c66 100644
--- a/lib/modules/platform/bitbucket/index.ts
+++ b/lib/modules/platform/bitbucket/index.ts
@@ -1,4 +1,4 @@
-import URL from 'url';
+import URL from 'node:url';
 import is from '@sindresorhus/is';
 import JSON5 from 'json5';
 import { REPOSITORY_NOT_FOUND } from '../../../constants/error-messages';
diff --git a/lib/modules/platform/bitbucket/utils.ts b/lib/modules/platform/bitbucket/utils.ts
index 09e4b9e0ff..7abfffb14c 100644
--- a/lib/modules/platform/bitbucket/utils.ts
+++ b/lib/modules/platform/bitbucket/utils.ts
@@ -1,4 +1,4 @@
-import url from 'url';
+import URL from 'node:url';
 import type { MergeStrategy } from '../../../config/types';
 import type { BranchStatus } from '../../../types';
 import { BitbucketHttp } from '../../../util/http/bitbucket';
@@ -64,8 +64,8 @@ export const buildStates: Record<BranchStatus, BitbucketBranchState> = {
 };
 
 const addMaxLength = (inputUrl: string, pagelen = 100): string => {
-  const { search, ...parsedUrl } = url.parse(inputUrl, true);
-  const maxedUrl = url.format({
+  const { search, ...parsedUrl } = URL.parse(inputUrl, true);
+  const maxedUrl = URL.format({
     ...parsedUrl,
     query: { ...parsedUrl.query, pagelen },
   });
diff --git a/lib/modules/platform/codecommit/index.ts b/lib/modules/platform/codecommit/index.ts
index ed5a48fdfe..30d16f01a0 100644
--- a/lib/modules/platform/codecommit/index.ts
+++ b/lib/modules/platform/codecommit/index.ts
@@ -1,4 +1,4 @@
-import { Buffer } from 'buffer';
+import { Buffer } from 'node:buffer';
 import {
   GetCommentsForPullRequestOutput,
   ListRepositoriesOutput,
diff --git a/lib/modules/platform/github/index.ts b/lib/modules/platform/github/index.ts
index d6e9df4d2b..5c6639395a 100644
--- a/lib/modules/platform/github/index.ts
+++ b/lib/modules/platform/github/index.ts
@@ -1,6 +1,6 @@
 // TODO: types (#7154)
 /* eslint-disable @typescript-eslint/restrict-template-expressions */
-import URL from 'url';
+import URL from 'node:url';
 import is from '@sindresorhus/is';
 import delay from 'delay';
 import JSON5 from 'json5';
diff --git a/lib/modules/platform/gitlab/index.ts b/lib/modules/platform/gitlab/index.ts
index 98d034915b..3d41490018 100644
--- a/lib/modules/platform/gitlab/index.ts
+++ b/lib/modules/platform/gitlab/index.ts
@@ -1,4 +1,4 @@
-import URL from 'url';
+import URL from 'node:url';
 import is from '@sindresorhus/is';
 import delay from 'delay';
 import JSON5 from 'json5';
diff --git a/lib/modules/platform/index.ts b/lib/modules/platform/index.ts
index 97f49d0472..ed94583cf3 100644
--- a/lib/modules/platform/index.ts
+++ b/lib/modules/platform/index.ts
@@ -1,4 +1,4 @@
-import URL from 'url';
+import URL from 'node:url';
 import type { AllConfig } from '../../config/types';
 import type { PlatformId } from '../../constants';
 import { PLATFORM_NOT_FOUND } from '../../constants/error-messages';
diff --git a/lib/util/cache/package/decorator.spec.ts b/lib/util/cache/package/decorator.spec.ts
index d6b6f144f4..4c26fc24c0 100644
--- a/lib/util/cache/package/decorator.spec.ts
+++ b/lib/util/cache/package/decorator.spec.ts
@@ -1,4 +1,4 @@
-import os from 'os';
+import os from 'node:os';
 import { GlobalConfig } from '../../../config/global';
 import * as memCache from '../memory';
 import { cache } from './decorator';
diff --git a/lib/util/cache/package/file.spec.ts b/lib/util/cache/package/file.spec.ts
index f34ef5ee3f..281ed5e20b 100644
--- a/lib/util/cache/package/file.spec.ts
+++ b/lib/util/cache/package/file.spec.ts
@@ -1,4 +1,4 @@
-import os from 'os';
+import os from 'node:os';
 import cacache from 'cacache';
 import { cleanup, get, init, set } from './file';
 
diff --git a/lib/util/cache/repository/impl/s3.spec.ts b/lib/util/cache/repository/impl/s3.spec.ts
index a906bf40ca..fa10708369 100644
--- a/lib/util/cache/repository/impl/s3.spec.ts
+++ b/lib/util/cache/repository/impl/s3.spec.ts
@@ -1,4 +1,4 @@
-import { Readable } from 'stream';
+import { Readable } from 'node:stream';
 import {
   GetObjectCommand,
   GetObjectCommandInput,
diff --git a/lib/util/cache/repository/impl/s3.ts b/lib/util/cache/repository/impl/s3.ts
index 35f137c979..87ff00ae82 100644
--- a/lib/util/cache/repository/impl/s3.ts
+++ b/lib/util/cache/repository/impl/s3.ts
@@ -1,4 +1,4 @@
-import { Readable } from 'stream';
+import { Readable } from 'node:stream';
 import {
   GetObjectCommand,
   GetObjectCommandInput,
diff --git a/lib/util/compress.ts b/lib/util/compress.ts
index bb703eca7c..4cd3e6a4b0 100644
--- a/lib/util/compress.ts
+++ b/lib/util/compress.ts
@@ -1,5 +1,5 @@
-import { promisify } from 'util';
-import zlib from 'zlib';
+import { promisify } from 'node:util';
+import zlib from 'node:zlib';
 
 const brotliCompress = promisify(zlib.brotliCompress);
 const brotliDecompress = promisify(zlib.brotliDecompress);
diff --git a/lib/util/exec/common.spec.ts b/lib/util/exec/common.spec.ts
index 94812de4d1..c877ca146c 100644
--- a/lib/util/exec/common.spec.ts
+++ b/lib/util/exec/common.spec.ts
@@ -1,11 +1,11 @@
-import { spawn as _spawn } from 'child_process';
-import type { SendHandle, Serializable } from 'child_process';
-import { Readable } from 'stream';
+import { spawn as _spawn } from 'node:child_process';
+import type { SendHandle, Serializable } from 'node:child_process';
+import { Readable } from 'node:stream';
 import { mockedFunction, partial } from '../../../test/util';
 import { exec } from './common';
 import type { RawExecOptions } from './types';
 
-jest.mock('child_process');
+jest.mock('node:child_process');
 const spawn = mockedFunction(_spawn);
 
 type MessageListener = (message: Serializable, sendHandle: SendHandle) => void;
diff --git a/lib/util/exec/common.ts b/lib/util/exec/common.ts
index 4fba11a779..bcb164af63 100644
--- a/lib/util/exec/common.ts
+++ b/lib/util/exec/common.ts
@@ -1,4 +1,4 @@
-import { ChildProcess, spawn } from 'child_process';
+import { ChildProcess, spawn } from 'node:child_process';
 import { ExecError, ExecErrorData } from './exec-error';
 import type { ExecResult, RawExecOptions } from './types';
 
diff --git a/lib/util/exec/hermit.spec.ts b/lib/util/exec/hermit.spec.ts
index 1ca0cc51be..7487516fbd 100644
--- a/lib/util/exec/hermit.spec.ts
+++ b/lib/util/exec/hermit.spec.ts
@@ -1,4 +1,4 @@
-import os from 'os';
+import os from 'node:os';
 import _findUp from 'find-up';
 import upath from 'upath';
 import { mockExecAll } from '../../../test/exec-util';
diff --git a/lib/util/exec/hermit.ts b/lib/util/exec/hermit.ts
index 4c3c43fa8f..34aae3e8d0 100644
--- a/lib/util/exec/hermit.ts
+++ b/lib/util/exec/hermit.ts
@@ -1,4 +1,4 @@
-import os from 'os';
+import os from 'node:os';
 import upath from 'upath';
 import { GlobalConfig } from '../../config/global';
 import { logger } from '../../logger';
diff --git a/lib/util/exec/types.ts b/lib/util/exec/types.ts
index 80cedbe66d..430df31324 100644
--- a/lib/util/exec/types.ts
+++ b/lib/util/exec/types.ts
@@ -1,4 +1,4 @@
-import type { SpawnOptions as ChildProcessSpawnOptions } from 'child_process';
+import type { SpawnOptions as ChildProcessSpawnOptions } from 'node:child_process';
 
 export interface ToolConstraint {
   toolName: string;
diff --git a/lib/util/fs/index.ts b/lib/util/fs/index.ts
index b0c41376fa..7b76b61db8 100644
--- a/lib/util/fs/index.ts
+++ b/lib/util/fs/index.ts
@@ -1,5 +1,5 @@
-import stream from 'stream';
-import util from 'util';
+import stream from 'node:stream';
+import util from 'node:util';
 import is from '@sindresorhus/is';
 import findUp from 'find-up';
 import fs from 'fs-extra';
diff --git a/lib/util/git/index.ts b/lib/util/git/index.ts
index 37ec3f5eef..2df34dfdcd 100644
--- a/lib/util/git/index.ts
+++ b/lib/util/git/index.ts
@@ -1,4 +1,4 @@
-import URL from 'url';
+import URL from 'node:url';
 import is from '@sindresorhus/is';
 import delay from 'delay';
 import fs from 'fs-extra';
diff --git a/lib/util/git/private-key.ts b/lib/util/git/private-key.ts
index 64cd923b21..0cb6c1b0cd 100644
--- a/lib/util/git/private-key.ts
+++ b/lib/util/git/private-key.ts
@@ -1,4 +1,4 @@
-import os from 'os';
+import os from 'node:os';
 import is from '@sindresorhus/is';
 import fs from 'fs-extra';
 import upath from 'upath';
diff --git a/lib/util/http/dns.ts b/lib/util/http/dns.ts
index 06a98f21ba..abe9fb9353 100644
--- a/lib/util/http/dns.ts
+++ b/lib/util/http/dns.ts
@@ -1,4 +1,8 @@
-import { LookupAllOptions, LookupOneOptions, lookup as _dnsLookup } from 'dns';
+import {
+  LookupAllOptions,
+  LookupOneOptions,
+  lookup as _dnsLookup,
+} from 'node:dns';
 import type { EntryObject, IPFamily, LookupOptions } from 'cacheable-lookup';
 import QuickLRU from 'quick-lru';
 import { logger } from '../../logger';
diff --git a/lib/util/http/types.ts b/lib/util/http/types.ts
index 5b961721aa..8616e9c121 100644
--- a/lib/util/http/types.ts
+++ b/lib/util/http/types.ts
@@ -1,4 +1,4 @@
-import type { IncomingHttpHeaders } from 'http';
+import type { IncomingHttpHeaders } from 'node:http';
 import type {
   OptionsOfBufferResponseBody,
   OptionsOfJSONResponseBody,
diff --git a/lib/util/modules.ts b/lib/util/modules.ts
index f0c6d49913..088d2e853d 100644
--- a/lib/util/modules.ts
+++ b/lib/util/modules.ts
@@ -1,4 +1,4 @@
-import fs from 'fs';
+import fs from 'node:fs';
 import upath from 'upath';
 
 function relatePath(here: string, there: string): string {
diff --git a/lib/util/streams.spec.ts b/lib/util/streams.spec.ts
index 3c96226c9b..4a2cb08b1f 100644
--- a/lib/util/streams.spec.ts
+++ b/lib/util/streams.spec.ts
@@ -1,4 +1,4 @@
-import { Readable } from 'stream';
+import { Readable } from 'node:stream';
 import { streamToString } from './streams';
 
 describe('util/streams', () => {
diff --git a/lib/util/streams.ts b/lib/util/streams.ts
index 5b33f6867b..fe3fec5651 100644
--- a/lib/util/streams.ts
+++ b/lib/util/streams.ts
@@ -1,4 +1,4 @@
-import { Readable } from 'stream';
+import { Readable } from 'node:stream';
 
 export async function streamToString(
   stream: NodeJS.ReadableStream
diff --git a/lib/workers/global/config/parse/codespaces.ts b/lib/workers/global/config/parse/codespaces.ts
index 795a5afccd..ca96af548b 100644
--- a/lib/workers/global/config/parse/codespaces.ts
+++ b/lib/workers/global/config/parse/codespaces.ts
@@ -1,4 +1,4 @@
-import readline from 'readline';
+import readline from 'node:readline';
 import type { AllConfig } from '../../../../config/types';
 
 // istanbul ignore next
diff --git a/lib/workers/global/config/parse/file.spec.ts b/lib/workers/global/config/parse/file.spec.ts
index f69792d891..6dd841bd6e 100644
--- a/lib/workers/global/config/parse/file.spec.ts
+++ b/lib/workers/global/config/parse/file.spec.ts
@@ -1,4 +1,4 @@
-import fs from 'fs';
+import fs from 'node:fs';
 import fsExtra from 'fs-extra';
 import { DirectoryResult, dir } from 'tmp-promise';
 import upath from 'upath';
diff --git a/lib/workers/global/initialize.ts b/lib/workers/global/initialize.ts
index 3ec5c90ab6..df57af8756 100644
--- a/lib/workers/global/initialize.ts
+++ b/lib/workers/global/initialize.ts
@@ -1,4 +1,4 @@
-import os from 'os';
+import os from 'node:os';
 import fs from 'fs-extra';
 import upath from 'upath';
 import { applySecretsToConfig } from '../../config/secrets';
diff --git a/lib/workers/repository/stats.ts b/lib/workers/repository/stats.ts
index 049a4ce45a..112a7fe9ef 100644
--- a/lib/workers/repository/stats.ts
+++ b/lib/workers/repository/stats.ts
@@ -1,4 +1,4 @@
-import URL from 'url';
+import URL from 'node:url';
 import { logger } from '../../logger';
 import { sortNumeric } from '../../util/array';
 import * as memCache from '../../util/cache/memory';
diff --git a/lib/workers/repository/update/pr/changelog/release-notes.ts b/lib/workers/repository/update/pr/changelog/release-notes.ts
index 2f8bff66a6..cae6f67d65 100644
--- a/lib/workers/repository/update/pr/changelog/release-notes.ts
+++ b/lib/workers/repository/update/pr/changelog/release-notes.ts
@@ -1,5 +1,5 @@
 // TODO #7154
-import URL from 'url';
+import URL from 'node:url';
 import is from '@sindresorhus/is';
 import { DateTime } from 'luxon';
 import MarkdownIt from 'markdown-it';
diff --git a/lib/workers/repository/update/pr/changelog/source-github.ts b/lib/workers/repository/update/pr/changelog/source-github.ts
index 39712f42aa..19ed0f561d 100644
--- a/lib/workers/repository/update/pr/changelog/source-github.ts
+++ b/lib/workers/repository/update/pr/changelog/source-github.ts
@@ -1,5 +1,5 @@
 // TODO #7154
-import URL from 'url';
+import URL from 'node:url';
 import { GlobalConfig } from '../../../../../config/global';
 import { logger } from '../../../../../logger';
 import type { Release } from '../../../../../modules/datasource/types';
diff --git a/lib/workers/repository/update/pr/changelog/source-gitlab.ts b/lib/workers/repository/update/pr/changelog/source-gitlab.ts
index 2b003f51c6..d6cd87601c 100644
--- a/lib/workers/repository/update/pr/changelog/source-gitlab.ts
+++ b/lib/workers/repository/update/pr/changelog/source-gitlab.ts
@@ -1,5 +1,5 @@
 // TODO #7154
-import URL from 'url';
+import URL from 'node:url';
 import { logger } from '../../../../../logger';
 import type { Release } from '../../../../../modules/datasource/types';
 import * as allVersioning from '../../../../../modules/versioning';
diff --git a/test/fixtures.ts b/test/fixtures.ts
index 867bd0c33b..3b31981220 100644
--- a/test/fixtures.ts
+++ b/test/fixtures.ts
@@ -1,5 +1,5 @@
-import type fs from 'fs';
-import type { PathLike, Stats } from 'fs';
+import type fs from 'node:fs';
+import type { PathLike, Stats } from 'node:fs';
 import { jest } from '@jest/globals';
 import callsite from 'callsite';
 import { DirectoryJSON, fs as memfs, vol } from 'memfs';
diff --git a/test/http-mock.ts b/test/http-mock.ts
index ded50e9e5b..4e966dfdb4 100644
--- a/test/http-mock.ts
+++ b/test/http-mock.ts
@@ -1,4 +1,4 @@
-import type { Url } from 'url';
+import type { Url } from 'node:url';
 import { afterAll, afterEach, beforeAll } from '@jest/globals';
 // eslint-disable-next-line no-restricted-imports
 import nock from 'nock';
diff --git a/test/static-files.spec.ts b/test/static-files.spec.ts
index e1f298a0b7..4328a1890f 100644
--- a/test/static-files.spec.ts
+++ b/test/static-files.spec.ts
@@ -1,4 +1,4 @@
-import util from 'util';
+import util from 'node:util';
 import _glob from 'glob';
 
 const glob = util.promisify(_glob);
diff --git a/test/util.ts b/test/util.ts
index 369a08f4ec..1ebdc104c7 100644
--- a/test/util.ts
+++ b/test/util.ts
@@ -1,4 +1,4 @@
-import crypto from 'crypto';
+import crypto from 'node:crypto';
 import { expect, jest } from '@jest/globals';
 import type { Plugin } from 'pretty-format';
 import upath from 'upath';
diff --git a/test/website-docs.spec.ts b/test/website-docs.spec.ts
index 4691e9fac0..164a526992 100644
--- a/test/website-docs.spec.ts
+++ b/test/website-docs.spec.ts
@@ -1,5 +1,5 @@
 /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */
-import fs from 'fs';
+import fs from 'node:fs';
 import is from '@sindresorhus/is';
 import { getOptions } from '../lib/config/options';
 
diff --git a/tools/check-fenced-code.mjs b/tools/check-fenced-code.mjs
index 1dda485758..4ecb8538f1 100644
--- a/tools/check-fenced-code.mjs
+++ b/tools/check-fenced-code.mjs
@@ -1,4 +1,4 @@
-import { promisify } from 'util';
+import { promisify } from 'node:util';
 import fs from 'fs-extra';
 import g from 'glob';
 import MarkdownIt from 'markdown-it';
diff --git a/tools/clean-cache.mjs b/tools/clean-cache.mjs
index cabca8b301..6e7a921f56 100644
--- a/tools/clean-cache.mjs
+++ b/tools/clean-cache.mjs
@@ -1,4 +1,4 @@
-import { tmpdir } from 'os';
+import { tmpdir } from 'node:os';
 import { remove } from 'fs-extra';
 import upath from 'upath';
 
diff --git a/tools/generate-imports.mjs b/tools/generate-imports.mjs
index 3cbdf6f1b7..755b3b687a 100644
--- a/tools/generate-imports.mjs
+++ b/tools/generate-imports.mjs
@@ -1,4 +1,4 @@
-import util from 'util';
+import util from 'node:util';
 import fs from 'fs-extra';
 import _glob from 'glob';
 import hasha from 'hasha';
diff --git a/tools/static-data/generate-azure-pipelines-tasks.mjs b/tools/static-data/generate-azure-pipelines-tasks.mjs
index 81df83d73c..413e70693c 100644
--- a/tools/static-data/generate-azure-pipelines-tasks.mjs
+++ b/tools/static-data/generate-azure-pipelines-tasks.mjs
@@ -1,5 +1,5 @@
-import os from 'os';
-import { promisify } from 'util';
+import os from 'node:os';
+import { promisify } from 'node:util';
 import fs from 'fs-extra';
 import g from 'glob';
 import JSON5 from 'json5';
-- 
GitLab