From ece9d4243892f018614fe819a0039d54162fca31 Mon Sep 17 00:00:00 2001 From: Alex Bit Date: Thu, 14 May 2026 02:15:50 -0700 Subject: [PATCH 1/2] chore: publish dd-trace-js v6 codemods under @codemod scope - Rename migration recipe package folder to dd-trace-js-v6-migration-recipe and align all package/codemod names with @codemod/dd-trace-js-v6-*. - Update root and v6 READMEs, CONTRIBUTING (registry naming + publish-action URL), and CI filters. - Add markdown-link-check (pnpm run docs:links) and run it on PR and main pushes. - Minor changeset for all affected codemod packages. Co-authored-by: Cursor --- .changeset/dd-trace-scope-minor.md | 13 + .github/workflows/ci.yml | 4 + .markdown-link-check.json | 6 + CONTRIBUTING.md | 16 +- README.md | 2 +- codemods/apm/nodejs/dd-trace-js/v6/README.md | 90 ++- .../v6/add-link-object-argument/CHANGELOG.md | 2 +- .../v6/add-link-object-argument/README.md | 2 +- .../v6/add-link-object-argument/codemod.yaml | 4 +- .../v6/add-link-object-argument/package.json | 2 +- .../README.md | 23 - .../scripts/metadata-tests.mjs | 20 - .../CHANGELOG.md | 2 +- .../dd-trace-js-v6-migration-recipe/README.md | 23 + .../codemod.yaml | 4 +- .../package.json | 2 +- .../scripts/metadata-tests.mjs | 23 + .../workflow.yaml | 18 +- .../v6/flatten-ingestion-options/CHANGELOG.md | 2 +- .../v6/flatten-ingestion-options/README.md | 2 +- .../v6/flatten-ingestion-options/codemod.yaml | 4 +- .../v6/flatten-ingestion-options/package.json | 2 +- .../CHANGELOG.md | 2 +- .../README.md | 2 +- .../codemod.yaml | 4 +- .../package.json | 2 +- .../CHANGELOG.md | 2 +- .../move-experimental-iast-options/README.md | 2 +- .../codemod.yaml | 4 +- .../package.json | 2 +- .../CHANGELOG.md | 2 +- .../README.md | 2 +- .../codemod.yaml | 4 +- .../package.json | 2 +- .../rename-plugin-list-options/CHANGELOG.md | 2 +- .../v6/rename-plugin-list-options/README.md | 2 +- .../rename-plugin-list-options/codemod.yaml | 4 +- .../rename-plugin-list-options/package.json | 2 +- .../v6/rename-profiling-env-vars/CHANGELOG.md | 2 +- .../v6/rename-profiling-env-vars/README.md | 2 +- .../v6/rename-profiling-env-vars/codemod.yaml | 4 +- .../v6/rename-profiling-env-vars/package.json | 2 +- .../v6/rename-runtime-id-env-var/CHANGELOG.md | 2 +- .../v6/rename-runtime-id-env-var/README.md | 2 +- .../v6/rename-runtime-id-env-var/codemod.yaml | 4 +- .../v6/rename-runtime-id-env-var/package.json | 2 +- package.json | 8 +- pnpm-lock.yaml | 570 +++++++++++++++++- 48 files changed, 750 insertions(+), 154 deletions(-) create mode 100644 .changeset/dd-trace-scope-minor.md create mode 100644 .markdown-link-check.json delete mode 100644 codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/README.md delete mode 100644 codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/scripts/metadata-tests.mjs rename codemods/apm/nodejs/dd-trace-js/v6/{dd-trace-5-to-6-migration-recipe => dd-trace-js-v6-migration-recipe}/CHANGELOG.md (92%) create mode 100644 codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/README.md rename codemods/apm/nodejs/dd-trace-js/v6/{dd-trace-5-to-6-migration-recipe => dd-trace-js-v6-migration-recipe}/codemod.yaml (75%) rename codemods/apm/nodejs/dd-trace-js/v6/{dd-trace-5-to-6-migration-recipe => dd-trace-js-v6-migration-recipe}/package.json (90%) create mode 100644 codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/scripts/metadata-tests.mjs rename codemods/apm/nodejs/dd-trace-js/v6/{dd-trace-5-to-6-migration-recipe => dd-trace-js-v6-migration-recipe}/workflow.yaml (82%) diff --git a/.changeset/dd-trace-scope-minor.md b/.changeset/dd-trace-scope-minor.md new file mode 100644 index 0000000..9f99564 --- /dev/null +++ b/.changeset/dd-trace-scope-minor.md @@ -0,0 +1,13 @@ +--- +'@codemod/dd-trace-js-v6-add-link-object-argument': minor +'@codemod/dd-trace-js-v6-migration-recipe': minor +'@codemod/dd-trace-js-v6-flatten-ingestion-options': minor +'@codemod/dd-trace-js-v6-move-experimental-appsec-options': minor +'@codemod/dd-trace-js-v6-move-experimental-iast-options': minor +'@codemod/dd-trace-js-v6-rename-b3-style': minor +'@codemod/dd-trace-js-v6-rename-plugin-list-options': minor +'@codemod/dd-trace-js-v6-rename-profiling-env-vars': minor +'@codemod/dd-trace-js-v6-rename-runtime-id-env-var': minor +--- + +Publish all dd-trace-js 5→6 codemods under the **`@codemod`** scope using **`@codemod/dd-trace-js-v6-`** (SDK + **destination** major **v6** + codemod slug). Update docs, workflow sources, and workspace `pnpm` filters to match. Fix recipe metadata test to satisfy lint. Use **`dd-trace-js`** (not `dd-trace`) in `codemod.yaml` registry keywords for discoverability. Add **`apm`**, **`nodejs`**, and **`v6`** to each package's `codemod.yaml` `keywords` list. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9b77ebd..9210204 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -68,6 +68,9 @@ jobs: if: steps.changed.outputs.files != '' run: pnpm run lint ${{ steps.changed.outputs.files }} + - name: Markdown link check + run: pnpm run docs:links + - name: Test (changed codemods) if: steps.codemods.outputs.dirs != '' run: | @@ -100,6 +103,7 @@ jobs: cache: pnpm - run: pnpm install --frozen-lockfile + - run: pnpm run docs:links - run: pnpm run ci changeset-check: diff --git a/.markdown-link-check.json b/.markdown-link-check.json new file mode 100644 index 0000000..670aa0e --- /dev/null +++ b/.markdown-link-check.json @@ -0,0 +1,6 @@ +{ + "retryOn429": true, + "retryCount": 3, + "fallbackRetryDelay": "2s", + "aliveStatusCodes": [200, 206, 403] +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9ca6842..62ac71c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,7 +24,7 @@ pnpm run lint # Lint and auto-fix pnpm run lint:fix -# Run all codemod package tests (dd-trace-* workspace packages) +# Run all codemod package tests (`@codemod/dd-trace-js-v6-*` workspace packages) pnpm run test # Typecheck all codemod packages @@ -32,6 +32,9 @@ pnpm run check-types # Same checks as the push job on main (tests + typecheck) pnpm run ci + +# Verify URLs in tracked Markdown (also runs in CI) +pnpm run docs:links ``` Run one workspace package (the `pnpm --filter` value is the `name` field in that package’s `package.json`): @@ -51,8 +54,8 @@ The hook only inspects **staged** files. Files you did not touch can still fail ## CI -- **Pull requests to `main`:** `.github/workflows/ci.yml` installs with `pnpm install --frozen-lockfile`, runs **oxfmt** / **oxlint** on changed files, runs **test** and **check-types** only for codemod packages touched by the diff, and enforces **changesets** (see below). -- **Pushes to `main`:** the same workflow runs full-workspace `pnpm run ci` (all `dd-trace-*` tests and typechecks). +- **Pull requests to `main`:** `.github/workflows/ci.yml` installs with `pnpm install --frozen-lockfile`, runs **oxfmt** / **oxlint** on changed files, **`pnpm run docs:links`** on tracked Markdown, runs **test** and **check-types** only for codemod packages touched by the diff, and enforces **changesets** (see below). +- **Pushes to `main`:** the same workflow runs **`pnpm run docs:links`** and full-workspace `pnpm run ci` (all `@codemod/dd-trace-js-v6-*` tests and typechecks). Match that locally before you push. @@ -85,9 +88,9 @@ Commit the new markdown file under `.changeset/` with your PR. ## Release workflow 1. Merge a PR that includes one or more changesets into `main`. -2. [`.github/workflows/release.yml`](./.github/workflows/release.yml) consumes changesets, commits **Version Packages** to `main`, syncs `codemod.yaml` versions, creates **`name@vversion`** git tags for newly versioned packages, and publishes those packages with [`codemod/publish-action`](https://github.com/codemod-com/publish-action). +2. [`.github/workflows/release.yml`](./.github/workflows/release.yml) consumes changesets, commits **Version Packages** to `main`, syncs `codemod.yaml` versions, creates **`name@vversion`** git tags for newly versioned packages, and publishes those packages with [`codemod/publish-action`](https://github.com/codemod/publish-action). -Do not hand-edit the `version` field in package `package.json` or `codemod.yaml` to “simulate” a release — automation owns bumps. The **Publish Codemod (Manual)** workflow ([`.github/workflows/publish.yml`](./.github/workflows/publish.yml)) is for emergencies: supply the path **under** `codemods/`, e.g. `apm/nodejs/dd-trace-js/v6/add-link-object-argument`. +Do not hand-edit the `version` field in package `package.json` or `codemod.yaml` to “simulate” a release — automation owns bumps. The **Publish Codemod (Manual)** workflow ([`.github/workflows/publish.yml`](./.github/workflows/publish.yml)) is for emergencies: supply the path **under** `codemods/`, e.g. `apm/nodejs/dd-trace-js/v6/add-link-object-argument` or `apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe`. ## Adding a new codemod @@ -106,7 +109,8 @@ codemods////// Conventions: -- Prefer the existing naming pattern for dd-trace-js 5→6 packages: `dd-trace-5-to-6-` in `package.json` / `codemod.yaml`. +- Prefer the registry naming pattern **`@codemod/--`** (example: `@codemod/dd-trace-js-v6-flatten-ingestion-options` for migrating **to** dd-trace-js **v6**) in `package.json` / `codemod.yaml`. +- The filesystem folder name under `codemods/...//` should usually match that slug, but it may differ when a shorter registry name is clearer—see `rename-b3-single-header-propagation-style/` publishing as `@codemod/dd-trace-js-v6-rename-b3-style` in [dd-trace-js v6 README](./codemods/apm/nodejs/dd-trace-js/v6/README.md). - Keep rewrites conservative. If a step needs a human decision, Datadog account work, or Remote Configuration, prefer a detector, recipe parameter, or issue draft instead of an unsafe transform. Use an existing sibling codemod in the same migration folder as a template. diff --git a/README.md b/README.md index 3d46ed3..3f07b9d 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ destination-major folder—for example [dd-trace-js 5.x → 6.x](./codemods/apm/ Quick start for the orchestrated dd-trace-js 5→6 workflow: ```bash -npx codemod dd-trace-5-to-6-migration-recipe --target +npx codemod @codemod/dd-trace-js-v6-migration-recipe --target ``` Packages are listed in the [Codemod Registry](https://app.codemod.com/registry). diff --git a/codemods/apm/nodejs/dd-trace-js/v6/README.md b/codemods/apm/nodejs/dd-trace-js/v6/README.md index 535dada..0ae7624 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/README.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/README.md @@ -1,23 +1,19 @@ # dd-trace-js 5.x → 6.x -JSSG codemods aligned with the upstream [dd-trace-js migration guide](https://github.com/DataDog/dd-trace-js/blob/master/MIGRATING.md). Each directory under this folder is one Codemod package (metadata, workflow, scripts, tests). +JSSG codemods aligned with the upstream [dd-trace-js migration guide](https://github.com/DataDog/dd-trace-js/blob/master/MIGRATING.md#50-to-60-unreleased). Each directory under this folder is one Codemod package (metadata, workflow, scripts, tests). Published names follow **`@codemod/dd-trace-js-v6-`** (the `v6` segment is the **destination** dd-trace-js major—the same **6.x** line as this repository folder). -Run codemods with the [Codemod CLI](https://docs.codemod.com/cli): +Use the [Codemod CLI](https://docs.codemod.com/cli) as in the repository [Usage](../../../../../README.md#usage) section (`npx codemod --target `). -```bash -npx codemod --target -``` - -Packages are published to the [Codemod Registry](https://app.codemod.com/registry?q=dd-trace-5-to-6). +Packages are published to the [Codemod Registry](https://app.codemod.com/registry?q=dd-trace-js-v6). ## Codemods -#### `dd-trace-5-to-6-migration-recipe` +#### `@codemod/dd-trace-js-v6-migration-recipe` Runs the implemented dd-trace 5.0 to 6.0 codemods in sequence, then can run a final report-only AI review for unresolved migration blockers. ```bash -npx codemod dd-trace-5-to-6-migration-recipe --target +npx codemod @codemod/dd-trace-js-v6-migration-recipe --target ``` Optional recipe parameters: @@ -30,86 +26,86 @@ Optional recipe parameters: review. See -[dd-trace-5-to-6-migration-recipe](https://app.codemod.com/registry/dd-trace-5-to-6-migration-recipe). · [source](./dd-trace-5-to-6-migration-recipe/) +[@codemod/dd-trace-js-v6-migration-recipe](https://app.codemod.com/registry/@codemod/dd-trace-js-v6-migration-recipe). · [source](./dd-trace-js-v6-migration-recipe/) -#### `dd-trace-5-to-6-add-link-object-argument` +#### `@codemod/dd-trace-js-v6-add-link-object-argument` Rewrites `Span.addLink(context, attributes)` to `Span.addLink({ context, attributes })`. ```bash -npx codemod dd-trace-5-to-6-add-link-object-argument --target +npx codemod @codemod/dd-trace-js-v6-add-link-object-argument --target ``` See -[dd-trace-5-to-6-add-link-object-argument](https://app.codemod.com/registry/dd-trace-5-to-6-add-link-object-argument). · [source](./add-link-object-argument/) +[@codemod/dd-trace-js-v6-add-link-object-argument](https://app.codemod.com/registry/@codemod/dd-trace-js-v6-add-link-object-argument). · [source](./add-link-object-argument/) -#### `dd-trace-5-to-6-rename-plugin-list-options` +#### `@codemod/dd-trace-js-v6-rename-plugin-list-options` Renames `whitelist` / `blacklist` to `allowlist` / `blocklist` for Datadog `http`, `ioredis`, `iovalkey`, and `redis` plugin configs. ```bash -npx codemod dd-trace-5-to-6-rename-plugin-list-options --target +npx codemod @codemod/dd-trace-js-v6-rename-plugin-list-options --target ``` See -[dd-trace-5-to-6-rename-plugin-list-options](https://app.codemod.com/registry/dd-trace-5-to-6-rename-plugin-list-options). · [source](./rename-plugin-list-options/) +[@codemod/dd-trace-js-v6-rename-plugin-list-options](https://app.codemod.com/registry/@codemod/dd-trace-js-v6-rename-plugin-list-options). · [source](./rename-plugin-list-options/) -#### `dd-trace-5-to-6-move-experimental-iast-options` +#### `@codemod/dd-trace-js-v6-move-experimental-iast-options` Moves safe `experimental.iast.*` programmatic options to top-level `iast.*`. Skips `securityControlsConfiguration`, which is env-only in v6. ```bash -npx codemod dd-trace-5-to-6-move-experimental-iast-options --target +npx codemod @codemod/dd-trace-js-v6-move-experimental-iast-options --target ``` See -[dd-trace-5-to-6-move-experimental-iast-options](https://app.codemod.com/registry/dd-trace-5-to-6-move-experimental-iast-options). · [source](./move-experimental-iast-options/) +[@codemod/dd-trace-js-v6-move-experimental-iast-options](https://app.codemod.com/registry/@codemod/dd-trace-js-v6-move-experimental-iast-options). · [source](./move-experimental-iast-options/) Optional report-only AI review for skipped security controls: ```bash -npx codemod dd-trace-5-to-6-move-experimental-iast-options \ +npx codemod @codemod/dd-trace-js-v6-move-experimental-iast-options \ --target \ --param run_ai_review=true ``` -#### `dd-trace-5-to-6-move-experimental-appsec-options` +#### `@codemod/dd-trace-js-v6-move-experimental-appsec-options` Moves safe `experimental.appsec.*` programmatic options to top-level `appsec.*` and rewrites `experimental.appsec.standalone.enabled` to `apmTracingEnabled`. Skips options that must move to Datadog UI / Remote Configuration. ```bash -npx codemod dd-trace-5-to-6-move-experimental-appsec-options --target +npx codemod @codemod/dd-trace-js-v6-move-experimental-appsec-options --target ``` See -[dd-trace-5-to-6-move-experimental-appsec-options](https://app.codemod.com/registry/dd-trace-5-to-6-move-experimental-appsec-options). · [source](./move-experimental-appsec-options/) +[@codemod/dd-trace-js-v6-move-experimental-appsec-options](https://app.codemod.com/registry/@codemod/dd-trace-js-v6-move-experimental-appsec-options). · [source](./move-experimental-appsec-options/) Optional report-only AI review for skipped AppSec Remote Configuration options: ```bash -npx codemod dd-trace-5-to-6-move-experimental-appsec-options \ +npx codemod @codemod/dd-trace-js-v6-move-experimental-appsec-options \ --target \ --param run_ai_review=true ``` -#### `dd-trace-5-to-6-flatten-ingestion-options` +#### `@codemod/dd-trace-js-v6-flatten-ingestion-options` Flattens `ingestion.sampleRate` and `ingestion.rateLimit` to top-level `sampleRate` and `rateLimit`. ```bash -npx codemod dd-trace-5-to-6-flatten-ingestion-options --target +npx codemod @codemod/dd-trace-js-v6-flatten-ingestion-options --target ``` See -[dd-trace-5-to-6-flatten-ingestion-options](https://app.codemod.com/registry/dd-trace-5-to-6-flatten-ingestion-options). · [source](./flatten-ingestion-options/) +[@codemod/dd-trace-js-v6-flatten-ingestion-options](https://app.codemod.com/registry/@codemod/dd-trace-js-v6-flatten-ingestion-options). · [source](./flatten-ingestion-options/) -#### `dd-trace-5-to-6-rename-profiling-env-vars` +#### `@codemod/dd-trace-js-v6-rename-profiling-env-vars` Renames profiling env var aliases removed in v6 inside JS/TS source: @@ -119,59 +115,59 @@ Renames profiling env var aliases removed in v6 inside JS/TS source: - `DD_PROFILING_EXPERIMENTAL_TIMELINE_ENABLED` ```bash -npx codemod dd-trace-5-to-6-rename-profiling-env-vars --target +npx codemod @codemod/dd-trace-js-v6-rename-profiling-env-vars --target ``` See -[dd-trace-5-to-6-rename-profiling-env-vars](https://app.codemod.com/registry/dd-trace-5-to-6-rename-profiling-env-vars). · [source](./rename-profiling-env-vars/) +[@codemod/dd-trace-js-v6-rename-profiling-env-vars](https://app.codemod.com/registry/@codemod/dd-trace-js-v6-rename-profiling-env-vars). · [source](./rename-profiling-env-vars/) Optional AI config-file step for exact active occurrences in `.env`, Dockerfile, YAML, shell, CI, and deployment files: ```bash -npx codemod dd-trace-5-to-6-rename-profiling-env-vars \ +npx codemod @codemod/dd-trace-js-v6-rename-profiling-env-vars \ --target \ --param run_ai_config_step=true ``` -#### `dd-trace-5-to-6-rename-runtime-id-env-var` +#### `@codemod/dd-trace-js-v6-rename-runtime-id-env-var` Renames `DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED` to `DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED` inside JS/TS source. ```bash -npx codemod dd-trace-5-to-6-rename-runtime-id-env-var --target +npx codemod @codemod/dd-trace-js-v6-rename-runtime-id-env-var --target ``` See -[dd-trace-5-to-6-rename-runtime-id-env-var](https://app.codemod.com/registry/dd-trace-5-to-6-rename-runtime-id-env-var). · [source](./rename-runtime-id-env-var/) +[@codemod/dd-trace-js-v6-rename-runtime-id-env-var](https://app.codemod.com/registry/@codemod/dd-trace-js-v6-rename-runtime-id-env-var). · [source](./rename-runtime-id-env-var/) Optional AI config-file step for exact active occurrences in `.env`, Dockerfile, YAML, shell, CI, and deployment files: ```bash -npx codemod dd-trace-5-to-6-rename-runtime-id-env-var \ +npx codemod @codemod/dd-trace-js-v6-rename-runtime-id-env-var \ --target \ --param run_ai_config_step=true ``` -#### `dd-trace-5-to-6-rename-b3-style` +#### `@codemod/dd-trace-js-v6-rename-b3-style` Renames exact propagation style values from `"b3 single header"` to `"b3"` in JS/TS Datadog configuration source. ```bash -npx codemod dd-trace-5-to-6-rename-b3-style --target +npx codemod @codemod/dd-trace-js-v6-rename-b3-style --target ``` See -[dd-trace-5-to-6-rename-b3-style](https://app.codemod.com/registry/dd-trace-5-to-6-rename-b3-style). · [source](./rename-b3-single-header-propagation-style/) +[@codemod/dd-trace-js-v6-rename-b3-style](https://app.codemod.com/registry/@codemod/dd-trace-js-v6-rename-b3-style). · [source](./rename-b3-single-header-propagation-style/) Optional AI config-file step for exact active `DD_TRACE_PROPAGATION_STYLE` occurrences in `.env`, Dockerfile, YAML, shell, CI, and deployment files: ```bash -npx codemod dd-trace-5-to-6-rename-b3-style \ +npx codemod @codemod/dd-trace-js-v6-rename-b3-style \ --target \ --param run_ai_config_step=true ``` @@ -180,16 +176,16 @@ npx codemod dd-trace-5-to-6-rename-b3-style \ | Migration guide item | Automation | | ----------------------------------------------------------- | ------------------------------------------------------------------------------- | -| `Span.addLink(spanContext, attributes)` removed | `dd-trace-5-to-6-add-link-object-argument` | -| Plugin `whitelist` / `blacklist` options removed from types | `dd-trace-5-to-6-rename-plugin-list-options` | -| `experimental.iast` configuration removed | `dd-trace-5-to-6-move-experimental-iast-options` | +| `Span.addLink(spanContext, attributes)` removed | `@codemod/dd-trace-js-v6-add-link-object-argument` | +| Plugin `whitelist` / `blacklist` options removed from types | `@codemod/dd-trace-js-v6-rename-plugin-list-options` | +| `experimental.iast` configuration removed | `@codemod/dd-trace-js-v6-move-experimental-iast-options` | | `iast.securityControlsConfiguration` is env-only | Report-only AI review; manual move to `DD_IAST_SECURITY_CONTROLS_CONFIGURATION` | | AppSec extended-data-collection programmatic config removed | Report-only AI review; manual Datadog UI / Remote Configuration move | -| `experimental.appsec` configuration removed | `dd-trace-5-to-6-move-experimental-appsec-options` | -| `ingestion` option removed | `dd-trace-5-to-6-flatten-ingestion-options` | -| Profiling experimental env aliases removed | `dd-trace-5-to-6-rename-profiling-env-vars` | -| `DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED` removed | `dd-trace-5-to-6-rename-runtime-id-env-var` | -| `"b3 single header"` renamed to `"b3"` | `dd-trace-5-to-6-rename-b3-style` | +| `experimental.appsec` configuration removed | `@codemod/dd-trace-js-v6-move-experimental-appsec-options` | +| `ingestion` option removed | `@codemod/dd-trace-js-v6-flatten-ingestion-options` | +| Profiling experimental env aliases removed | `@codemod/dd-trace-js-v6-rename-profiling-env-vars` | +| `DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED` removed | `@codemod/dd-trace-js-v6-rename-runtime-id-env-var` | +| `"b3 single header"` renamed to `"b3"` | `@codemod/dd-trace-js-v6-rename-b3-style` | | `experimental.b3` removed | Issue drafted; deterministic rewrite deferred | | `DD_TRACE_STARTUP_LOGS` defaults to `true` | Manual operational decision | diff --git a/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/CHANGELOG.md b/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/CHANGELOG.md index 4dc6b92..eec1d86 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/CHANGELOG.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/CHANGELOG.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-add-link-object-argument +# @codemod/dd-trace-js-v6-add-link-object-argument ## 0.2.0 diff --git a/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/README.md b/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/README.md index 2556180..600edbf 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/README.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/README.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-add-link-object-argument +# @codemod/dd-trace-js-v6-add-link-object-argument Rewrites the Datadog v5 `Span.addLink(context, attributes)` overload to the v6 single-argument object shape: diff --git a/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/codemod.yaml b/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/codemod.yaml index 49b97bc..f6b5274 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/codemod.yaml +++ b/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/codemod.yaml @@ -1,6 +1,6 @@ schema_version: '1.0' -name: 'dd-trace-5-to-6-add-link-object-argument' +name: '@codemod/dd-trace-js-v6-add-link-object-argument' version: '0.2.0' description: 'Rewrite Span.addLink(context, attributes) to Span.addLink({ context, attributes })' author: 'Datadog SDK Team' @@ -11,7 +11,7 @@ repository: 'https://github.com/codemod/datadog-codemods' targets: languages: ['javascript', 'jsx', 'typescript', 'tsx'] -keywords: ['datadog', 'dd-trace', 'v5-to-v6'] +keywords: ['apm', 'nodejs', 'v6', 'datadog', 'dd-trace-js', 'v5-to-v6'] registry: access: 'public' diff --git a/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/package.json b/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/package.json index b93abaf..872390c 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/package.json +++ b/codemods/apm/nodejs/dd-trace-js/v6/add-link-object-argument/package.json @@ -1,5 +1,5 @@ { - "name": "dd-trace-5-to-6-add-link-object-argument", + "name": "@codemod/dd-trace-js-v6-add-link-object-argument", "version": "0.2.0", "description": "Rewrite Span.addLink(context, attributes) to Span.addLink({ context, attributes })", "type": "module", diff --git a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/README.md b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/README.md deleted file mode 100644 index 62107e8..0000000 --- a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# dd-trace-5-to-6-migration-recipe - -Runs the implemented `dd-trace-js` 5.0 to 6.0 codemods in sequence. - -This is the place for broad migration orchestration and cross-cutting review. -Individual codemod packages remain atomic. - -## Codemods - -1. `dd-trace-5-to-6-add-link-object-argument` -2. `dd-trace-5-to-6-rename-plugin-list-options` -3. `dd-trace-5-to-6-move-experimental-iast-options` -4. `dd-trace-5-to-6-move-experimental-appsec-options` -5. `dd-trace-5-to-6-flatten-ingestion-options` -6. `dd-trace-5-to-6-rename-profiling-env-vars` -7. `dd-trace-5-to-6-rename-runtime-id-env-var` -8. `dd-trace-5-to-6-rename-b3-style` - -## AI Review - -The recipe has an optional final AI review step for unresolved migration blockers -that span multiple codemods or file types. It is report-only and must not edit -files. diff --git a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/scripts/metadata-tests.mjs b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/scripts/metadata-tests.mjs deleted file mode 100644 index 15ce922..0000000 --- a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/scripts/metadata-tests.mjs +++ /dev/null @@ -1,20 +0,0 @@ -import assert from 'node:assert/strict' -import { readFileSync } from 'node:fs' -import test from 'node:test' - -test('recipe metadata names every local codemod step', () => { - const workflow = readFileSync(new URL('../workflow.yaml', import.meta.url), 'utf8') - - for (const slug of [ - 'dd-trace-5-to-6-add-link-object-argument', - 'dd-trace-5-to-6-rename-plugin-list-options', - 'dd-trace-5-to-6-move-experimental-iast-options', - 'dd-trace-5-to-6-move-experimental-appsec-options', - 'dd-trace-5-to-6-flatten-ingestion-options', - 'dd-trace-5-to-6-rename-profiling-env-vars', - 'dd-trace-5-to-6-rename-runtime-id-env-var', - 'dd-trace-5-to-6-rename-b3-style', - ]) { - assert.match(workflow, new RegExp(`source: "${slug}"`)) - } -}) diff --git a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/CHANGELOG.md b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/CHANGELOG.md similarity index 92% rename from codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/CHANGELOG.md rename to codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/CHANGELOG.md index 15e96ba..c122067 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/CHANGELOG.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/CHANGELOG.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-migration-recipe +# @codemod/dd-trace-js-v6-migration-recipe ## 0.2.0 diff --git a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/README.md b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/README.md new file mode 100644 index 0000000..38874d5 --- /dev/null +++ b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/README.md @@ -0,0 +1,23 @@ +# @codemod/dd-trace-js-v6-migration-recipe + +Runs the implemented `dd-trace-js` 5.0 to 6.0 codemods in sequence. + +This is the place for broad migration orchestration and cross-cutting review. +Individual codemod packages remain atomic. + +## Codemods + +1. `@codemod/dd-trace-js-v6-add-link-object-argument` +2. `@codemod/dd-trace-js-v6-rename-plugin-list-options` +3. `@codemod/dd-trace-js-v6-move-experimental-iast-options` +4. `@codemod/dd-trace-js-v6-move-experimental-appsec-options` +5. `@codemod/dd-trace-js-v6-flatten-ingestion-options` +6. `@codemod/dd-trace-js-v6-rename-profiling-env-vars` +7. `@codemod/dd-trace-js-v6-rename-runtime-id-env-var` +8. `@codemod/dd-trace-js-v6-rename-b3-style` + +## AI Review + +The recipe has an optional final AI review step for unresolved migration blockers +that span multiple codemods or file types. It is report-only and must not edit +files. diff --git a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/codemod.yaml b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/codemod.yaml similarity index 75% rename from codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/codemod.yaml rename to codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/codemod.yaml index c3e4f4d..1a80c94 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/codemod.yaml +++ b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/codemod.yaml @@ -1,6 +1,6 @@ schema_version: '1.0' -name: 'dd-trace-5-to-6-migration-recipe' +name: '@codemod/dd-trace-js-v6-migration-recipe' version: '0.2.0' description: 'Run the dd-trace-js 5.0 to 6.0 migration codemods in sequence' author: 'Datadog SDK Team' @@ -11,7 +11,7 @@ repository: 'https://github.com/codemod/datadog-codemods' targets: languages: ['javascript', 'jsx', 'typescript', 'tsx'] -keywords: ['datadog', 'dd-trace', 'v5-to-v6'] +keywords: ['apm', 'nodejs', 'v6', 'datadog', 'dd-trace-js', 'v5-to-v6'] registry: access: 'public' diff --git a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/package.json b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/package.json similarity index 90% rename from codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/package.json rename to codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/package.json index 5cb9ad2..ae5bf95 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/package.json +++ b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/package.json @@ -1,5 +1,5 @@ { - "name": "dd-trace-5-to-6-migration-recipe", + "name": "@codemod/dd-trace-js-v6-migration-recipe", "version": "0.2.0", "description": "Run the dd-trace-js 5.0 to 6.0 migration codemods in sequence", "type": "module", diff --git a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/scripts/metadata-tests.mjs b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/scripts/metadata-tests.mjs new file mode 100644 index 0000000..51a106c --- /dev/null +++ b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/scripts/metadata-tests.mjs @@ -0,0 +1,23 @@ +import assert from 'node:assert/strict' +import { readFileSync } from 'node:fs' +import test from 'node:test' + +const STEP_SOURCES = [ + '@codemod/dd-trace-js-v6-add-link-object-argument', + '@codemod/dd-trace-js-v6-rename-plugin-list-options', + '@codemod/dd-trace-js-v6-move-experimental-iast-options', + '@codemod/dd-trace-js-v6-move-experimental-appsec-options', + '@codemod/dd-trace-js-v6-flatten-ingestion-options', + '@codemod/dd-trace-js-v6-rename-profiling-env-vars', + '@codemod/dd-trace-js-v6-rename-runtime-id-env-var', + '@codemod/dd-trace-js-v6-rename-b3-style', +] + +test('recipe metadata names every local codemod step', () => { + const workflow = readFileSync(new URL('../workflow.yaml', import.meta.url), 'utf8') + + for (const slug of STEP_SOURCES) { + const escaped = slug.replaceAll(/[.*+?^${}()|[\]\\]/g, '\\$&') + assert.match(workflow, new RegExp(`source: ['"]${escaped}['"]`)) + } +}) diff --git a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/workflow.yaml b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/workflow.yaml similarity index 82% rename from codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/workflow.yaml rename to codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/workflow.yaml index e38fa27..67c13be 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe/workflow.yaml +++ b/codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe/workflow.yaml @@ -21,41 +21,41 @@ params: default: false nodes: - - id: dd-trace-5-to-6-migration + - id: dd-trace-js-v6-migration name: dd-trace 5 to 6 Migration type: automatic steps: - name: 'Rewrite Span.addLink positional overload' codemod: - source: 'dd-trace-5-to-6-add-link-object-argument' + source: '@codemod/dd-trace-js-v6-add-link-object-argument' - name: 'Rename Datadog plugin allow/block list options' codemod: - source: 'dd-trace-5-to-6-rename-plugin-list-options' + source: '@codemod/dd-trace-js-v6-rename-plugin-list-options' - name: 'Move experimental.iast options' codemod: - source: 'dd-trace-5-to-6-move-experimental-iast-options' + source: '@codemod/dd-trace-js-v6-move-experimental-iast-options' - name: 'Move experimental.appsec options' codemod: - source: 'dd-trace-5-to-6-move-experimental-appsec-options' + source: '@codemod/dd-trace-js-v6-move-experimental-appsec-options' - name: 'Flatten ingestion options' codemod: - source: 'dd-trace-5-to-6-flatten-ingestion-options' + source: '@codemod/dd-trace-js-v6-flatten-ingestion-options' - name: 'Rename profiling env vars in JS/TS source' codemod: - source: 'dd-trace-5-to-6-rename-profiling-env-vars' + source: '@codemod/dd-trace-js-v6-rename-profiling-env-vars' - name: 'Rename runtime id env var in JS/TS source' codemod: - source: 'dd-trace-5-to-6-rename-runtime-id-env-var' + source: '@codemod/dd-trace-js-v6-rename-runtime-id-env-var' - name: 'Rename b3 single header propagation style in JS/TS source' codemod: - source: 'dd-trace-5-to-6-rename-b3-style' + source: '@codemod/dd-trace-js-v6-rename-b3-style' - name: 'AI report unresolved dd-trace migration blockers' if: params.run_final_ai_review == true diff --git a/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/CHANGELOG.md b/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/CHANGELOG.md index bfe6a16..d5679b5 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/CHANGELOG.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/CHANGELOG.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-flatten-ingestion-options +# @codemod/dd-trace-js-v6-flatten-ingestion-options ## 0.2.0 diff --git a/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/README.md b/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/README.md index 2e31098..6482836 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/README.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/README.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-flatten-ingestion-options +# @codemod/dd-trace-js-v6-flatten-ingestion-options Flattens the removed `ingestion` wrapper in dd-trace v6: diff --git a/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/codemod.yaml b/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/codemod.yaml index 2a6fcd6..24ca7f6 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/codemod.yaml +++ b/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/codemod.yaml @@ -1,6 +1,6 @@ schema_version: '1.0' -name: 'dd-trace-5-to-6-flatten-ingestion-options' +name: '@codemod/dd-trace-js-v6-flatten-ingestion-options' version: '0.2.0' description: 'Flatten dd-trace ingestion.sampleRate/rateLimit options to top-level TracerOptions' author: 'Datadog SDK Team' @@ -11,7 +11,7 @@ repository: 'https://github.com/codemod/datadog-codemods' targets: languages: ['javascript', 'jsx', 'typescript', 'tsx'] -keywords: ['datadog', 'dd-trace', 'v5-to-v6'] +keywords: ['apm', 'nodejs', 'v6', 'datadog', 'dd-trace-js', 'v5-to-v6'] registry: access: 'public' diff --git a/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/package.json b/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/package.json index 8e5352d..e124a45 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/package.json +++ b/codemods/apm/nodejs/dd-trace-js/v6/flatten-ingestion-options/package.json @@ -1,5 +1,5 @@ { - "name": "dd-trace-5-to-6-flatten-ingestion-options", + "name": "@codemod/dd-trace-js-v6-flatten-ingestion-options", "version": "0.2.0", "description": "Flatten dd-trace ingestion.sampleRate/rateLimit options to top-level TracerOptions", "type": "module", diff --git a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/CHANGELOG.md b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/CHANGELOG.md index 2e0e0c4..486e631 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/CHANGELOG.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/CHANGELOG.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-move-experimental-appsec-options +# @codemod/dd-trace-js-v6-move-experimental-appsec-options ## 0.2.0 diff --git a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/README.md b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/README.md index 4ee3587..3b7a40a 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/README.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/README.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-move-experimental-appsec-options +# @codemod/dd-trace-js-v6-move-experimental-appsec-options Moves removed `experimental.appsec.*` programmatic aliases to top-level `appsec.*`, and rewrites `experimental.appsec.standalone.enabled` to diff --git a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/codemod.yaml b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/codemod.yaml index de78a41..5373469 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/codemod.yaml +++ b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/codemod.yaml @@ -1,6 +1,6 @@ schema_version: '1.0' -name: 'dd-trace-5-to-6-move-experimental-appsec-options' +name: '@codemod/dd-trace-js-v6-move-experimental-appsec-options' version: '0.2.0' description: 'Move experimental.appsec options to top-level appsec/apmTracingEnabled when safe' author: 'Datadog SDK Team' @@ -11,7 +11,7 @@ repository: 'https://github.com/codemod/datadog-codemods' targets: languages: ['javascript', 'jsx', 'typescript', 'tsx'] -keywords: ['datadog', 'dd-trace', 'v5-to-v6'] +keywords: ['apm', 'nodejs', 'v6', 'datadog', 'dd-trace-js', 'v5-to-v6'] registry: access: 'public' diff --git a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/package.json b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/package.json index 2d671aa..9bd89ca 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/package.json +++ b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-appsec-options/package.json @@ -1,5 +1,5 @@ { - "name": "dd-trace-5-to-6-move-experimental-appsec-options", + "name": "@codemod/dd-trace-js-v6-move-experimental-appsec-options", "version": "0.2.0", "description": "Move experimental.appsec options to top-level appsec/apmTracingEnabled when safe", "type": "module", diff --git a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/CHANGELOG.md b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/CHANGELOG.md index 632eae6..c876575 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/CHANGELOG.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/CHANGELOG.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-move-experimental-iast-options +# @codemod/dd-trace-js-v6-move-experimental-iast-options ## 0.2.0 diff --git a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/README.md b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/README.md index 5888db6..ca6e8a7 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/README.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/README.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-move-experimental-iast-options +# @codemod/dd-trace-js-v6-move-experimental-iast-options Moves removed `experimental.iast.*` programmatic aliases to the canonical top-level `iast.*` object. diff --git a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/codemod.yaml b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/codemod.yaml index 93383ff..a98c783 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/codemod.yaml +++ b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/codemod.yaml @@ -1,6 +1,6 @@ schema_version: '1.0' -name: 'dd-trace-5-to-6-move-experimental-iast-options' +name: '@codemod/dd-trace-js-v6-move-experimental-iast-options' version: '0.2.0' description: 'Move experimental.iast options to top-level iast when safe' author: 'Datadog SDK Team' @@ -11,7 +11,7 @@ repository: 'https://github.com/codemod/datadog-codemods' targets: languages: ['javascript', 'jsx', 'typescript', 'tsx'] -keywords: ['datadog', 'dd-trace', 'v5-to-v6'] +keywords: ['apm', 'nodejs', 'v6', 'datadog', 'dd-trace-js', 'v5-to-v6'] registry: access: 'public' diff --git a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/package.json b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/package.json index d8e91a9..a7b7403 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/package.json +++ b/codemods/apm/nodejs/dd-trace-js/v6/move-experimental-iast-options/package.json @@ -1,5 +1,5 @@ { - "name": "dd-trace-5-to-6-move-experimental-iast-options", + "name": "@codemod/dd-trace-js-v6-move-experimental-iast-options", "version": "0.2.0", "description": "Move experimental.iast options to top-level iast when safe", "type": "module", diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/CHANGELOG.md b/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/CHANGELOG.md index d086a5d..04f8882 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/CHANGELOG.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/CHANGELOG.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-rename-b3-style +# @codemod/dd-trace-js-v6-rename-b3-style ## 0.2.0 diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/README.md b/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/README.md index 0e0faf1..d93810b 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/README.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/README.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-rename-b3-style +# @codemod/dd-trace-js-v6-rename-b3-style Renames the legacy propagation style value `"b3 single header"` to `"b3"` in JS/TS Datadog configuration source. diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/codemod.yaml b/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/codemod.yaml index 82edb06..d8ae424 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/codemod.yaml +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/codemod.yaml @@ -1,6 +1,6 @@ schema_version: '1.0' -name: 'dd-trace-5-to-6-rename-b3-style' +name: '@codemod/dd-trace-js-v6-rename-b3-style' version: '0.2.0' description: 'Rename b3 single header propagation style values to b3 in JS/TS source' author: 'Datadog SDK Team' @@ -11,7 +11,7 @@ repository: 'https://github.com/codemod/datadog-codemods' targets: languages: ['javascript', 'jsx', 'typescript', 'tsx'] -keywords: ['datadog', 'dd-trace', 'v5-to-v6'] +keywords: ['apm', 'nodejs', 'v6', 'datadog', 'dd-trace-js', 'v5-to-v6'] registry: access: 'public' diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/package.json b/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/package.json index 4dcde68..b4418d7 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/package.json +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-b3-single-header-propagation-style/package.json @@ -1,5 +1,5 @@ { - "name": "dd-trace-5-to-6-rename-b3-style", + "name": "@codemod/dd-trace-js-v6-rename-b3-style", "version": "0.2.0", "description": "Rename b3 single header propagation style values to b3 in JS/TS source", "type": "module", diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/CHANGELOG.md b/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/CHANGELOG.md index 02b7393..92b43e6 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/CHANGELOG.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/CHANGELOG.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-rename-plugin-list-options +# @codemod/dd-trace-js-v6-rename-plugin-list-options ## 0.2.0 diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/README.md b/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/README.md index f649f55..3556d51 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/README.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/README.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-rename-plugin-list-options +# @codemod/dd-trace-js-v6-rename-plugin-list-options Renames removed Datadog plugin option aliases: diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/codemod.yaml b/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/codemod.yaml index c370b51..ed5c96e 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/codemod.yaml +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/codemod.yaml @@ -1,6 +1,6 @@ schema_version: '1.0' -name: 'dd-trace-5-to-6-rename-plugin-list-options' +name: '@codemod/dd-trace-js-v6-rename-plugin-list-options' version: '0.2.0' description: 'Rename Datadog plugin whitelist/blacklist options to allowlist/blocklist' author: 'Datadog SDK Team' @@ -11,7 +11,7 @@ repository: 'https://github.com/codemod/datadog-codemods' targets: languages: ['javascript', 'jsx', 'typescript', 'tsx'] -keywords: ['datadog', 'dd-trace', 'v5-to-v6'] +keywords: ['apm', 'nodejs', 'v6', 'datadog', 'dd-trace-js', 'v5-to-v6'] registry: access: 'public' diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/package.json b/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/package.json index 87f9bdc..f54e767 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/package.json +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-plugin-list-options/package.json @@ -1,5 +1,5 @@ { - "name": "dd-trace-5-to-6-rename-plugin-list-options", + "name": "@codemod/dd-trace-js-v6-rename-plugin-list-options", "version": "0.2.0", "description": "Rename Datadog plugin whitelist/blacklist options to allowlist/blocklist", "type": "module", diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/CHANGELOG.md b/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/CHANGELOG.md index 35db63e..62b8d97 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/CHANGELOG.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/CHANGELOG.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-rename-profiling-env-vars +# @codemod/dd-trace-js-v6-rename-profiling-env-vars ## 0.2.0 diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/README.md b/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/README.md index 083be9e..77a591d 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/README.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/README.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-rename-profiling-env-vars +# @codemod/dd-trace-js-v6-rename-profiling-env-vars Renames Datadog profiling environment variable aliases removed in dd-trace v6: diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/codemod.yaml b/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/codemod.yaml index 0edcf6d..a96e9ae 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/codemod.yaml +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/codemod.yaml @@ -1,6 +1,6 @@ schema_version: '1.0' -name: 'dd-trace-5-to-6-rename-profiling-env-vars' +name: '@codemod/dd-trace-js-v6-rename-profiling-env-vars' version: '0.2.0' description: 'Rename Datadog profiling experimental env vars in JS/TS source' author: 'Datadog SDK Team' @@ -11,7 +11,7 @@ repository: 'https://github.com/codemod/datadog-codemods' targets: languages: ['javascript', 'jsx', 'typescript', 'tsx'] -keywords: ['datadog', 'dd-trace', 'v5-to-v6'] +keywords: ['apm', 'nodejs', 'v6', 'datadog', 'dd-trace-js', 'v5-to-v6'] registry: access: 'public' diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/package.json b/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/package.json index ab56e6e..a3e5f3b 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/package.json +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-profiling-env-vars/package.json @@ -1,5 +1,5 @@ { - "name": "dd-trace-5-to-6-rename-profiling-env-vars", + "name": "@codemod/dd-trace-js-v6-rename-profiling-env-vars", "version": "0.2.0", "description": "Rename Datadog profiling experimental env vars in JS/TS source", "type": "module", diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/CHANGELOG.md b/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/CHANGELOG.md index 41f1c0b..029ce08 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/CHANGELOG.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/CHANGELOG.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-rename-runtime-id-env-var +# @codemod/dd-trace-js-v6-rename-runtime-id-env-var ## 0.2.0 diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/README.md b/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/README.md index 235675d..d8744c2 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/README.md +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/README.md @@ -1,4 +1,4 @@ -# dd-trace-5-to-6-rename-runtime-id-env-var +# @codemod/dd-trace-js-v6-rename-runtime-id-env-var Renames `DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED` to `DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED` in JS/TS source. diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/codemod.yaml b/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/codemod.yaml index 4d2b7a2..646436f 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/codemod.yaml +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/codemod.yaml @@ -1,6 +1,6 @@ schema_version: '1.0' -name: 'dd-trace-5-to-6-rename-runtime-id-env-var' +name: '@codemod/dd-trace-js-v6-rename-runtime-id-env-var' version: '0.2.0' description: 'Rename DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED in JS/TS source' author: 'Datadog SDK Team' @@ -11,7 +11,7 @@ repository: 'https://github.com/codemod/datadog-codemods' targets: languages: ['javascript', 'jsx', 'typescript', 'tsx'] -keywords: ['datadog', 'dd-trace', 'v5-to-v6'] +keywords: ['apm', 'nodejs', 'v6', 'datadog', 'dd-trace-js', 'v5-to-v6'] registry: access: 'public' diff --git a/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/package.json b/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/package.json index 1ee1102..2d4adeb 100644 --- a/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/package.json +++ b/codemods/apm/nodejs/dd-trace-js/v6/rename-runtime-id-env-var/package.json @@ -1,5 +1,5 @@ { - "name": "dd-trace-5-to-6-rename-runtime-id-env-var", + "name": "@codemod/dd-trace-js-v6-rename-runtime-id-env-var", "version": "0.2.0", "description": "Rename DD_TRACE_EXPERIMENTAL_RUNTIME_ID_ENABLED in JS/TS source", "type": "module", diff --git a/package.json b/package.json index ea23368..688a574 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,8 @@ "license": "MIT", "type": "module", "scripts": { - "test": "pnpm -r --filter \"dd-trace-*\" test", - "check-types": "pnpm -r --filter \"dd-trace-*\" check-types", + "test": "pnpm -r --filter \"@codemod/dd-trace-js-v6-*\" test", + "check-types": "pnpm -r --filter \"@codemod/dd-trace-js-v6-*\" check-types", "ci": "pnpm run test && pnpm run check-types", "format": "oxfmt .", "format:check": "oxfmt --check .", @@ -22,7 +22,8 @@ "lint:fix": "oxlint --type-aware --type-check --fix .", "prepare": "husky", "changeset": "changeset", - "version-packages": "changeset version && bash scripts/sync-codemod-versions.sh" + "version-packages": "changeset version && bash scripts/sync-codemod-versions.sh", + "docs:links": "git ls-files '*.md' | xargs pnpm exec markdown-link-check -q -c .markdown-link-check.json" }, "dependencies": { "@jssg/utils": "^0.0.7" @@ -32,6 +33,7 @@ "@types/node": "latest", "husky": "^9.1.7", "lint-staged": "^17.0.4", + "markdown-link-check": "^3.14.2", "oxfmt": "^0.49.0", "oxlint": "^1.64.0", "oxlint-tsgolint": "^0.22.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1923439..6075f6e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,6 +24,9 @@ importers: lint-staged: specifier: ^17.0.4 version: 17.0.4 + markdown-link-check: + specifier: ^3.13.6 + version: 3.14.2 oxfmt: specifier: ^0.49.0 version: 0.49.0 @@ -53,7 +56,7 @@ importers: specifier: latest version: 6.0.3 - codemods/apm/nodejs/dd-trace-js/v6/dd-trace-5-to-6-migration-recipe: + codemods/apm/nodejs/dd-trace-js/v6/dd-trace-js-v6-migration-recipe: dependencies: '@jssg/utils': specifier: ^0.0.7 @@ -275,6 +278,22 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@oozcitak/dom@2.0.2': + resolution: {integrity: sha512-GjpKhkSYC3Mj4+lfwEyI1dqnsKTgwGy48ytZEhm4A/xnH/8z9M3ZVXKr/YGQi3uCLs1AEBS+x5T2JPiueEDW8w==} + engines: {node: '>=20.0'} + + '@oozcitak/infra@2.0.2': + resolution: {integrity: sha512-2g+E7hoE2dgCz/APPOEK5s3rMhJvNxSMBrP+U+j1OWsIbtSpWxxlUjq1lU8RIsFJNYv7NMlnVsCuHcUzJW+8vA==} + engines: {node: '>=20.0'} + + '@oozcitak/url@3.0.0': + resolution: {integrity: sha512-ZKfET8Ak1wsLAiLWNfFkZc/BraDccuTJKR6svTYc7sVjbR+Iu0vtXdiDMY4o6jaFl5TW2TlS7jbLl4VovtAJWQ==} + engines: {node: '>=20.0'} + + '@oozcitak/util@10.0.0': + resolution: {integrity: sha512-hAX0pT/73190NLqBPPWSdBVGtbY6VOhWYK3qqHqtXQ1gK7kS2yz4+ivsN07hpJ6I3aeMtKP6J6npsEKOAzuTLA==} + engines: {node: '>=20.0'} + '@oxfmt/binding-android-arm-eabi@0.49.0': resolution: {integrity: sha512-HbifJ84prIh9+55CTPAU35JdRQrwg47y16cGerCC+iejSKOuHXYo2WDql6l7cQlzrYVtc3f4UWY+dBj2lRmOeA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -533,12 +552,19 @@ packages: cpu: [x64] os: [win32] + '@tootallnate/quickjs-emscripten@0.23.0': + resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} + '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} '@types/node@25.7.0': resolution: {integrity: sha512-z+pdZyxE+RTQE9AcboAZCb4otwcrvgHD+GlBpPgn0emDVt0ohrTMhAwlr2Wd9nZ+nihhYFxO2pThz3C5qSu2Eg==} + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -569,17 +595,42 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + ast-types@0.13.4: + resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} + engines: {node: '>=4'} + + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + basic-ftp@5.3.1: + resolution: {integrity: sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==} + engines: {node: '>=10.0.0'} + better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chardet@2.1.1: resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.2.0: + resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==} + engines: {node: '>=20.18.1'} + cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} @@ -588,10 +639,38 @@ packages: resolution: {integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==} engines: {node: '>=20'} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} + engines: {node: '>=20'} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + data-uri-to-buffer@6.0.2: + resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} + engines: {node: '>= 14'} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + degenerator@5.0.1: + resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} + engines: {node: '>= 14'} + detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -600,22 +679,63 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + encoding-sniffer@0.2.1: + resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==} + enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + eventemitter3@5.0.4: resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} @@ -649,6 +769,10 @@ packages: resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} engines: {node: '>=18'} + get-uri@6.0.5: + resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} + engines: {node: '>= 14'} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -660,6 +784,20 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + html-link-extractor@1.0.5: + resolution: {integrity: sha512-ADd49pudM157uWHwHQPUSX4ssMsvR/yHIswOR5CUfBdK9g9ZYGMhVSE6KZVHJ6kCkR0gH4htsfzU6zECDNVwyw==} + + htmlparser2@10.1.0: + resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + human-id@4.1.3: resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==} hasBin: true @@ -669,6 +807,10 @@ packages: engines: {node: '>=18'} hasBin: true + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + iconv-lite@0.7.2: resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} engines: {node: '>=0.10.0'} @@ -677,6 +819,14 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + ip-address@10.2.0: + resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==} + engines: {node: '>= 12'} + + is-absolute-url@4.0.1: + resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -693,6 +843,10 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-relative-url@4.1.0: + resolution: {integrity: sha512-vhIXKasjAuxS7n+sdv7pJQykEAgS+YU8VBQOENXwo/VZpOHDgBBsIbHo7zFKaWBjYWF4qxERdhbPRRtFAeJKfg==} + engines: {node: '>=14.16'} + is-subdir@1.2.0: resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} engines: {node: '>=4'} @@ -715,6 +869,9 @@ packages: jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + link-check@5.5.1: + resolution: {integrity: sha512-GrtE4Zp/FBduvElmad375NrPeMYnKwNt9rH/TDG/rbQbHL0QVC4S/cEPVKZ0CkhXlVuiK+/5flGpRxQzoLbjEA==} + lint-staged@17.0.4: resolution: {integrity: sha512-+rU9lSUyVOZ/hDUmRLVGzyS2v73cDdQjX+XQz1AaOdIE4RysLq0HoPW2HrrgeNCLklkhi904VBU1bmgWLHVnkA==} engines: {node: '>=22.22.1'} @@ -735,6 +892,22 @@ packages: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + + markdown-link-check@3.14.2: + resolution: {integrity: sha512-DPJ+itd3D5fcfXD5s1i53lugH0Z/h80kkQxlYCBh8tFwEZGhyVgDcLl0rnKlWssAVDAmSmcbePpHpMEY+JcMMQ==} + hasBin: true + + markdown-link-extractor@4.0.3: + resolution: {integrity: sha512-aEltJiQ4/oC0h6Jbw/uuATGSHZPkcH8DIunNH1A0e+GSFkvZ6BbBkdvBTVfIV8r6HapCU3yTd0eFdi3ZeM1eAQ==} + + marked@17.0.6: + resolution: {integrity: sha512-gB0gkNafnonOw0obSTEGZTT86IuhILt2Wfx0mWH/1Au83kybTayroZ/V6nS25mN7u8ASy+5fMhgB3XPNrOZdmA==} + engines: {node: '>= 20'} + hasBin: true + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -751,6 +924,25 @@ packages: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + needle@3.5.0: + resolution: {integrity: sha512-jaQyPKKk2YokHrEg+vFDYxXIHTCBgiZwSHOoVx/8V3GIBS8/VN6NdVRmg8q1ERtPkMvmOvebsgga4sAj5hls/w==} + engines: {node: '>= 4.4.x'} + hasBin: true + + netmask@2.1.1: + resolution: {integrity: sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==} + engines: {node: '>= 0.4.0'} + + node-email-verifier@3.4.1: + resolution: {integrity: sha512-69JMeWgEUrCji+dOLULirdSoosRxgAq2y+imfmHHBGvgTwyTKqvm65Ls3+W30DCIWMrYj5kKVb/DHTQDK7OVwQ==} + engines: {node: '>=18.0.0'} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + onetime@7.0.0: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} @@ -802,9 +994,26 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + pac-proxy-agent@7.2.0: + resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} + engines: {node: '>= 14'} + + pac-resolver@7.0.1: + resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} + engines: {node: '>= 14'} + package-manager-detector@0.2.11: resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} + parse5-htmlparser2-tree-adapter@7.1.0: + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} + + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -837,6 +1046,17 @@ packages: engines: {node: '>=10.13.0'} hasBin: true + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + proxy-agent@6.5.0: + resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} + engines: {node: '>= 14'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + quansync@0.2.11: resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} @@ -868,6 +1088,10 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + sax@1.6.0: + resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} + engines: {node: '>=11.0.0'} + semver@7.8.0: resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} engines: {node: '>=10'} @@ -897,6 +1121,22 @@ packages: resolution: {integrity: sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==} engines: {node: '>=20'} + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + socks-proxy-agent@8.0.5: + resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} + engines: {node: '>= 14'} + + socks@2.8.9: + resolution: {integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + spawndamnit@3.0.1: resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} @@ -943,6 +1183,9 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + typescript@6.0.3: resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} @@ -951,10 +1194,27 @@ packages: undici-types@7.21.0: resolution: {integrity: sha512-w9IMgQrz4O0YN1LtB7K5P63vhlIOvC7opSmouCJ+ZywlPAlO9gIkJ+otk6LvGpAs2wg4econaCz3TvQ9xPoyuQ==} + undici@7.25.0: + resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==} + engines: {node: '>=20.18.1'} + universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} + validator@13.15.35: + resolution: {integrity: sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==} + engines: {node: '>= 0.10'} + + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation + + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -968,6 +1228,10 @@ packages: resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} engines: {node: '>=18'} + xmlbuilder2@4.0.3: + resolution: {integrity: sha512-bx8Q1STctnNaaDymWnkfQLKofs0mGNN7rLLapJlGuV3VlvegD7Ls4ggMjE3aUSWItCCzU0PEv45lI87iSigiCA==} + engines: {node: '>=20.0'} + yaml@2.9.0: resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} engines: {node: '>= 14.6'} @@ -1159,6 +1423,23 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 + '@oozcitak/dom@2.0.2': + dependencies: + '@oozcitak/infra': 2.0.2 + '@oozcitak/url': 3.0.0 + '@oozcitak/util': 10.0.0 + + '@oozcitak/infra@2.0.2': + dependencies: + '@oozcitak/util': 10.0.0 + + '@oozcitak/url@3.0.0': + dependencies: + '@oozcitak/infra': 2.0.2 + '@oozcitak/util': 10.0.0 + + '@oozcitak/util@10.0.0': {} + '@oxfmt/binding-android-arm-eabi@0.49.0': optional: true @@ -1291,12 +1572,16 @@ snapshots: '@oxlint/binding-win32-x64-msvc@1.64.0': optional: true + '@tootallnate/quickjs-emscripten@0.23.0': {} + '@types/node@12.20.55': {} '@types/node@25.7.0': dependencies: undici-types: 7.21.0 + agent-base@7.1.4: {} + ansi-colors@4.1.3: {} ansi-escapes@7.3.0: @@ -1317,16 +1602,51 @@ snapshots: array-union@2.1.0: {} + ast-types@0.13.4: + dependencies: + tslib: 2.8.1 + + async@3.2.6: {} + + basic-ftp@5.3.1: {} + better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 + boolbase@1.0.0: {} + braces@3.0.3: dependencies: fill-range: 7.1.1 + chalk@5.6.2: {} + chardet@2.1.1: {} + cheerio-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-select: 5.2.2 + css-what: 6.2.2 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + + cheerio@1.2.0: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + encoding-sniffer: 0.2.1 + htmlparser2: 10.1.0 + parse5: 7.3.0 + parse5-htmlparser2-tree-adapter: 7.1.0 + parse5-parser-stream: 7.1.2 + undici: 7.25.0 + whatwg-mimetype: 4.0.0 + cli-cursor@5.0.0: dependencies: restore-cursor: 5.1.0 @@ -1336,29 +1656,94 @@ snapshots: slice-ansi: 8.0.0 string-width: 8.2.1 + commander@14.0.3: {} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + css-select@5.2.2: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + + css-what@6.2.2: {} + + data-uri-to-buffer@6.0.2: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + degenerator@5.0.1: + dependencies: + ast-types: 0.13.4 + escodegen: 2.1.0 + esprima: 4.0.1 + detect-indent@6.1.0: {} dir-glob@3.0.1: dependencies: path-type: 4.0.0 + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + emoji-regex@10.6.0: {} + encoding-sniffer@0.2.1: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 + entities@4.5.0: {} + + entities@6.0.1: {} + + entities@7.0.1: {} + environment@1.1.0: {} + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + esprima@4.0.1: {} + estraverse@5.3.0: {} + + esutils@2.0.3: {} + eventemitter3@5.0.4: {} extendable-error@0.1.7: {} @@ -1398,6 +1783,14 @@ snapshots: get-east-asian-width@1.6.0: {} + get-uri@6.0.5: + dependencies: + basic-ftp: 5.3.1 + data-uri-to-buffer: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -1413,16 +1806,49 @@ snapshots: graceful-fs@4.2.11: {} + html-link-extractor@1.0.5: + dependencies: + cheerio: 1.2.0 + + htmlparser2@10.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 7.0.1 + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + human-id@4.1.3: {} husky@9.1.7: {} + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + iconv-lite@0.7.2: dependencies: safer-buffer: 2.1.2 ignore@5.3.2: {} + ip-address@10.2.0: {} + + is-absolute-url@4.0.1: {} + is-extglob@2.1.1: {} is-fullwidth-code-point@5.1.0: @@ -1435,6 +1861,10 @@ snapshots: is-number@7.0.0: {} + is-relative-url@4.1.0: + dependencies: + is-absolute-url: 4.0.1 + is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 @@ -1456,6 +1886,16 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + link-check@5.5.1: + dependencies: + is-relative-url: 4.1.0 + ms: 2.1.3 + needle: 3.5.0 + node-email-verifier: 3.4.1 + proxy-agent: 6.5.0 + transitivePeerDependencies: + - supports-color + lint-staged@17.0.4: dependencies: listr2: 10.2.1 @@ -1487,6 +1927,29 @@ snapshots: strip-ansi: 7.2.0 wrap-ansi: 9.0.2 + lru-cache@7.18.3: {} + + markdown-link-check@3.14.2: + dependencies: + async: 3.2.6 + chalk: 5.6.2 + commander: 14.0.3 + link-check: 5.5.1 + markdown-link-extractor: 4.0.3 + needle: 3.5.0 + progress: 2.0.3 + proxy-agent: 6.5.0 + xmlbuilder2: 4.0.3 + transitivePeerDependencies: + - supports-color + + markdown-link-extractor@4.0.3: + dependencies: + html-link-extractor: 1.0.5 + marked: 17.0.6 + + marked@17.0.6: {} + merge2@1.4.1: {} micromatch@4.0.8: @@ -1498,6 +1961,24 @@ snapshots: mri@1.2.0: {} + ms@2.1.3: {} + + needle@3.5.0: + dependencies: + iconv-lite: 0.6.3 + sax: 1.6.0 + + netmask@2.1.1: {} + + node-email-verifier@3.4.1: + dependencies: + ms: 2.1.3 + validator: 13.15.35 + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + onetime@7.0.0: dependencies: mimic-function: 5.0.1 @@ -1576,10 +2057,41 @@ snapshots: p-try@2.2.0: {} + pac-proxy-agent@7.2.0: + dependencies: + '@tootallnate/quickjs-emscripten': 0.23.0 + agent-base: 7.1.4 + debug: 4.4.3 + get-uri: 6.0.5 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + pac-resolver: 7.0.1 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + + pac-resolver@7.0.1: + dependencies: + degenerator: 5.0.1 + netmask: 2.1.1 + package-manager-detector@0.2.11: dependencies: quansync: 0.2.11 + parse5-htmlparser2-tree-adapter@7.1.0: + dependencies: + domhandler: 5.0.3 + parse5: 7.3.0 + + parse5-parser-stream@7.1.2: + dependencies: + parse5: 7.3.0 + + parse5@7.3.0: + dependencies: + entities: 6.0.1 + path-exists@4.0.0: {} path-key@3.1.1: {} @@ -1596,6 +2108,23 @@ snapshots: prettier@2.8.8: {} + progress@2.0.3: {} + + proxy-agent@6.5.0: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + lru-cache: 7.18.3 + pac-proxy-agent: 7.2.0 + proxy-from-env: 1.1.0 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + + proxy-from-env@1.1.0: {} + quansync@0.2.11: {} queue-microtask@1.2.3: {} @@ -1624,6 +2153,8 @@ snapshots: safer-buffer@2.1.2: {} + sax@1.6.0: {} + semver@7.8.0: {} shebang-command@2.0.0: @@ -1646,6 +2177,24 @@ snapshots: ansi-styles: 6.2.3 is-fullwidth-code-point: 5.1.0 + smart-buffer@4.2.0: {} + + socks-proxy-agent@8.0.5: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + socks: 2.8.9 + transitivePeerDependencies: + - supports-color + + socks@2.8.9: + dependencies: + ip-address: 10.2.0 + smart-buffer: 4.2.0 + + source-map@0.6.1: + optional: true + spawndamnit@3.0.1: dependencies: cross-spawn: 7.0.6 @@ -1686,12 +2235,24 @@ snapshots: dependencies: is-number: 7.0.0 + tslib@2.8.1: {} + typescript@6.0.3: {} undici-types@7.21.0: {} + undici@7.25.0: {} + universalify@0.1.2: {} + validator@13.15.35: {} + + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@4.0.0: {} + which@2.0.2: dependencies: isexe: 2.0.0 @@ -1708,5 +2269,12 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.2.0 + xmlbuilder2@4.0.3: + dependencies: + '@oozcitak/dom': 2.0.2 + '@oozcitak/infra': 2.0.2 + '@oozcitak/util': 10.0.0 + js-yaml: 4.1.1 + yaml@2.9.0: optional: true From 2e0c9ea02c985eb89f51c57d572dbd9002e402c1 Mon Sep 17 00:00:00 2001 From: Alex Bit Date: Thu, 14 May 2026 02:18:11 -0700 Subject: [PATCH 2/2] fix(ci): sync lockfile for markdown-link-check; skip oxfmt on pnpm-lock.yaml Co-authored-by: Cursor --- .lintstagedrc.json | 5 ----- .lintstagedrc.mjs | 14 ++++++++++++++ pnpm-lock.yaml | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) delete mode 100644 .lintstagedrc.json create mode 100644 .lintstagedrc.mjs diff --git a/.lintstagedrc.json b/.lintstagedrc.json deleted file mode 100644 index ae78043..0000000 --- a/.lintstagedrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "*.{ts,js,mts,mjs}": ["oxfmt --write", "oxlint --type-aware --type-check --fix"], - "*.{json,yaml,yml}": ["oxfmt --write"], - "codemods/**/scripts/*.ts": "bash scripts/test-staged.sh" -} diff --git a/.lintstagedrc.mjs b/.lintstagedrc.mjs new file mode 100644 index 0000000..7a291ec --- /dev/null +++ b/.lintstagedrc.mjs @@ -0,0 +1,14 @@ +/** @param {string[]} files */ +function excludePnpmLockfile(files) { + return files.filter((f) => !f.endsWith('pnpm-lock.yaml')) +} + +export default { + '*.{ts,js,mts,mjs}': ['oxfmt --write', 'oxlint --type-aware --type-check --fix'], + /** @param {string[]} files */ + '*.{json,yaml,yml}': (files) => { + const filtered = excludePnpmLockfile(files) + return filtered.length ? [`oxfmt --write ${filtered.join(' ')}`] : [] + }, + 'codemods/**/scripts/*.ts': 'bash scripts/test-staged.sh', +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6075f6e..ea48b67 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,7 +25,7 @@ importers: specifier: ^17.0.4 version: 17.0.4 markdown-link-check: - specifier: ^3.13.6 + specifier: ^3.14.2 version: 3.14.2 oxfmt: specifier: ^0.49.0