Skip to content

Conversation

@JounQin
Copy link
Member

@JounQin JounQin commented Sep 29, 2025

close IDP-1297

Summary by CodeRabbit

  • New Features

    • Lint command now checks for dead links by default and adds an optional --debug flag.
  • Chores

    • Upgraded multiple dev/tooling dependencies and pinned Playwright to 1.55.1; changesets added to track updates.
  • Notes

    • Two runtime components (Card, LinkCard) were removed from public exports—update imports if affected.

Copilot AI review requested due to automatic review settings September 29, 2025 05:35
@changeset-bot
Copy link

changeset-bot bot commented Sep 29, 2025

🦋 Changeset detected

Latest commit: 0f74b0d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@alauda/doom-export Patch
@alauda/doom Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai
Copy link

coderabbitai bot commented Sep 29, 2025

Warning

Rate limit exceeded

@JounQin has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 16 minutes and 14 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between be19ef1 and 0f74b0d.

📒 Files selected for processing (1)
  • packages/doom/src/remark-lint/check-dead-links.ts (1 hunks)

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

Adds a new dead-link remark-lint rule and enables it in remarkrc; persists CLI lint options to disk and exposes a --debug flag; migrates many internal imports/exports from .js.ts; bumps dependencies and removes two runtime component re-exports (Card, LinkCard).

Changes

Cohort / File(s) Summary
Changesets
.changeset/metal-turkeys-pay.md, .changeset/silly-rabbits-invite.md
New changeset files: patch bumps for @alauda/doom and @alauda/doom-export; chore to lock Playwright; records dead-link lint feature.
Root deps
package.json
DevDependency version bumps (e.g., @eslint/js, eslint, @swc/core, @types/node, @types/react).
Doom package deps
packages/doom/package.json
Multiple dependency upgrades (rspress family, shiki, mermaid, openai, eslint, typescript-eslint, @playwright/browser-chromium, @rsbuild/plugin-react, etc.).
CLI wiring & constants
packages/doom/src/cli/lint.ts, packages/doom/src/cli/helpers.ts, packages/doom/src/cli/load-config.ts, packages/doom/src/utils/constants.ts
Adds optional debug?: boolean and --debug; ensures STORAGE_DIR; writes OPTIONS_FILE with { root, globalOptions } before linting; many imports switched to .ts.
Dead-link lint
packages/doom/src/remark-lint/check-dead-links.ts, packages/doom/src/remark-lint/index.ts, packages/doom/src/remarkrc.ts
New checkDeadLinks lint rule that lazily loads options from OPTIONS_FILE, initializes/ensures a RouteService via PluginDriver when needed, invokes remarkLink with lint: true; rule exported and enabled in remarkrc.
Module extension normalization
packages/doom/src/** (many files)
Bulk change: internal imports/exports normalized from .js.ts across shared, plugins, utils, types, runtime, and plugin modules; no logic changes.
Plugins — attributes / directives / mermaid / auto-toc
packages/doom/src/plugins/attributes/*, .../directives/index.ts, .../mermaid/index.ts, .../auto-toc/*
Specifiers switched to .ts; behavior unchanged.
Plugins — auto-sidebar
packages/doom/src/plugins/auto-sidebar/index.ts, .../utils.ts, .../walk.ts
Imports/exports and type re-exports switched to .ts; no runtime changes.
Plugins — api / global / aggregator
packages/doom/src/plugins/api/index.ts, packages/doom/src/plugins/global/index.ts, packages/doom/src/plugins/index.ts
Public re-exports normalized to .ts module specifiers.
Plugins — permission / replace / shiki / replace utils
packages/doom/src/plugins/permission/*, .../replace/*, .../shiki/*
Re-exports and imports updated to .ts; some exported type re-exports changed to .ts.
Utils index & helpers
packages/doom/src/utils/index.ts, packages/doom/src/utils/helpers.ts, packages/doom/src/utils/constants.ts
Exports/imports changed to .ts sources; added STORAGE_DIR and OPTIONS_FILE constants.
Types & shared
packages/doom/src/types.ts, packages/doom/src/shared/index.ts
Re-exports/imports switched from .js.ts with no API semantic changes.
Export package Playwright
packages/export/package.json
playwright dependency bumped to 1.55.1.
Runtime components — removed re-exports
packages/doom/src/runtime/components/Card.ts, .../LinkCard.ts, .../index.ts
Removed re-exports of Card and LinkCard (including default re-exports), reducing the runtime components public surface.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant CLI as doom CLI (lint)
  participant FS as FileSystem
  participant LINT as checkDeadLinks
  participant CFG as loadConfig
  participant PD as PluginDriver/RouteService
  participant RLK as remarkLink
  User->>CLI: doom lint [--debug]
  CLI->>FS: mkdir -p STORAGE_DIR
  CLI->>FS: write OPTIONS_FILE { root, globalOptions }
  CLI->>LINT: run remark with plugins
  LINT->>FS: read OPTIONS_FILE (lazy)
  LINT->>CFG: loadConfig(root, globalOptions)
  CFG-->>LINT: config + configFilePath
  LINT->>PD: ensure/create RouteService (scan if needed)
  LINT->>RLK: run remarkLink({ lint: true, routeService, ... })
  RLK-->>LINT: diagnostics
  LINT-->>CLI: report diagnostics
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested labels

feature, breaking, dependencies

Poem

I hop the docs, I sniff each link,
I stash your options in a blink.
I chase .js into .ts night,
I tidy exports, keep things light.
A rabbit lints — with cheerful wink 🐇✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The PR title “feat: support check dead links in lint command” directly describes the main change of adding dead link checking to the lint command and is concise and specific, making it clear to reviewers what the primary feature introduced is.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for checking dead links in the lint command and updates dependencies. The main changes include implementing a new dead link checker that integrates with the existing lint workflow, along with updating file imports from .js to .ts extensions throughout the codebase.

  • Adds a new checkDeadLinks remark plugin that validates links against the route service
  • Updates the lint command to store options for dead link checking functionality
  • Updates various dependencies including Playwright, RSPress packages, and ESLint

Reviewed Changes

Copilot reviewed 37 out of 38 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
packages/doom/src/remark-lint/check-dead-links.ts New dead link checker implementation using RSPress RouteService
packages/doom/src/cli/lint.ts Enhanced lint command with options storage for dead link checking
packages/doom/src/remarkrc.ts Integrated checkDeadLinks plugin into remark configuration
packages/doom/src/utils/constants.ts Added storage directory and options file constants
Multiple .ts files Updated import paths from .js to .ts extensions
package.json files Updated dependencies to newer versions

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Sep 29, 2025

Open in StackBlitz

yarn add https://pkg.pr.new/@alauda/doom@184.tgz
yarn add https://pkg.pr.new/@alauda/doom-export@184.tgz

commit: 0f74b0d

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: JounQin <admin@1stg.me>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 11

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a08700e and 9267765.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (37)
  • .changeset/metal-turkeys-pay.md (1 hunks)
  • .changeset/silly-rabbits-invite.md (1 hunks)
  • package.json (1 hunks)
  • packages/doom/package.json (3 hunks)
  • packages/doom/src/cli/helpers.ts (1 hunks)
  • packages/doom/src/cli/lint.ts (2 hunks)
  • packages/doom/src/cli/load-config.ts (3 hunks)
  • packages/doom/src/plugins/api/index.ts (1 hunks)
  • packages/doom/src/plugins/attributes/index.ts (1 hunks)
  • packages/doom/src/plugins/attributes/remark-attributes/index.ts (1 hunks)
  • packages/doom/src/plugins/auto-sidebar/index.ts (1 hunks)
  • packages/doom/src/plugins/auto-sidebar/utils.ts (1 hunks)
  • packages/doom/src/plugins/auto-sidebar/walk.ts (1 hunks)
  • packages/doom/src/plugins/auto-toc/index.ts (1 hunks)
  • packages/doom/src/plugins/auto-toc/remark-auto-toc.ts (1 hunks)
  • packages/doom/src/plugins/directives/index.ts (1 hunks)
  • packages/doom/src/plugins/global/index.ts (1 hunks)
  • packages/doom/src/plugins/index.ts (1 hunks)
  • packages/doom/src/plugins/mermaid/index.ts (1 hunks)
  • packages/doom/src/plugins/permission/index.ts (1 hunks)
  • packages/doom/src/plugins/replace/index.ts (1 hunks)
  • packages/doom/src/plugins/replace/normalize-img-src.ts (1 hunks)
  • packages/doom/src/plugins/replace/parse-toc.ts (1 hunks)
  • packages/doom/src/plugins/replace/rehype-normalize-link.ts (1 hunks)
  • packages/doom/src/plugins/replace/remark-replace.ts (1 hunks)
  • packages/doom/src/plugins/replace/resolve-reference.ts (1 hunks)
  • packages/doom/src/plugins/shiki/index.ts (1 hunks)
  • packages/doom/src/plugins/shiki/transformers/index.ts (1 hunks)
  • packages/doom/src/remark-lint/check-dead-links.ts (1 hunks)
  • packages/doom/src/remark-lint/index.ts (1 hunks)
  • packages/doom/src/remarkrc.ts (2 hunks)
  • packages/doom/src/shared/index.ts (1 hunks)
  • packages/doom/src/types.ts (1 hunks)
  • packages/doom/src/utils/constants.ts (1 hunks)
  • packages/doom/src/utils/helpers.ts (1 hunks)
  • packages/doom/src/utils/index.ts (1 hunks)
  • packages/export/package.json (1 hunks)
🧰 Additional context used
📓 Path-based instructions (6)
**/*.{ts,tsx,js,jsx,md,yml,yaml,json}

📄 CodeRabbit inference engine (AGENTS.md)

Format code using the repository’s Prettier configuration (yarn format)

Files:

  • packages/doom/src/plugins/replace/resolve-reference.ts
  • packages/doom/src/plugins/replace/normalize-img-src.ts
  • packages/doom/src/types.ts
  • packages/doom/src/plugins/auto-toc/index.ts
  • packages/doom/src/remark-lint/index.ts
  • packages/doom/src/plugins/permission/index.ts
  • packages/doom/src/plugins/directives/index.ts
  • packages/doom/src/plugins/attributes/index.ts
  • packages/doom/src/plugins/mermaid/index.ts
  • packages/doom/src/utils/constants.ts
  • packages/doom/src/cli/helpers.ts
  • packages/doom/src/plugins/shiki/transformers/index.ts
  • packages/doom/src/remarkrc.ts
  • packages/doom/src/shared/index.ts
  • packages/export/package.json
  • package.json
  • packages/doom/src/plugins/replace/index.ts
  • packages/doom/src/plugins/auto-sidebar/utils.ts
  • packages/doom/src/cli/load-config.ts
  • packages/doom/src/utils/index.ts
  • packages/doom/src/utils/helpers.ts
  • packages/doom/src/plugins/auto-sidebar/walk.ts
  • packages/doom/src/plugins/replace/remark-replace.ts
  • packages/doom/src/plugins/auto-toc/remark-auto-toc.ts
  • packages/doom/src/plugins/shiki/index.ts
  • packages/doom/src/plugins/api/index.ts
  • packages/doom/src/remark-lint/check-dead-links.ts
  • packages/doom/src/plugins/global/index.ts
  • packages/doom/src/plugins/replace/rehype-normalize-link.ts
  • packages/doom/src/plugins/attributes/remark-attributes/index.ts
  • packages/doom/src/plugins/replace/parse-toc.ts
  • packages/doom/src/plugins/index.ts
  • packages/doom/src/cli/lint.ts
  • packages/doom/package.json
  • packages/doom/src/plugins/auto-sidebar/index.ts
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{ts,tsx}: Code must adhere to TypeScript strict-mode rules (no implicit any, strict null checks, etc.)
Maintain strong type coverage; validate with yarn typecov

Files:

  • packages/doom/src/plugins/replace/resolve-reference.ts
  • packages/doom/src/plugins/replace/normalize-img-src.ts
  • packages/doom/src/types.ts
  • packages/doom/src/plugins/auto-toc/index.ts
  • packages/doom/src/remark-lint/index.ts
  • packages/doom/src/plugins/permission/index.ts
  • packages/doom/src/plugins/directives/index.ts
  • packages/doom/src/plugins/attributes/index.ts
  • packages/doom/src/plugins/mermaid/index.ts
  • packages/doom/src/utils/constants.ts
  • packages/doom/src/cli/helpers.ts
  • packages/doom/src/plugins/shiki/transformers/index.ts
  • packages/doom/src/remarkrc.ts
  • packages/doom/src/shared/index.ts
  • packages/doom/src/plugins/replace/index.ts
  • packages/doom/src/plugins/auto-sidebar/utils.ts
  • packages/doom/src/cli/load-config.ts
  • packages/doom/src/utils/index.ts
  • packages/doom/src/utils/helpers.ts
  • packages/doom/src/plugins/auto-sidebar/walk.ts
  • packages/doom/src/plugins/replace/remark-replace.ts
  • packages/doom/src/plugins/auto-toc/remark-auto-toc.ts
  • packages/doom/src/plugins/shiki/index.ts
  • packages/doom/src/plugins/api/index.ts
  • packages/doom/src/remark-lint/check-dead-links.ts
  • packages/doom/src/plugins/global/index.ts
  • packages/doom/src/plugins/replace/rehype-normalize-link.ts
  • packages/doom/src/plugins/attributes/remark-attributes/index.ts
  • packages/doom/src/plugins/replace/parse-toc.ts
  • packages/doom/src/plugins/index.ts
  • packages/doom/src/cli/lint.ts
  • packages/doom/src/plugins/auto-sidebar/index.ts
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (AGENTS.md)

Follow ESLint project-specific rules; avoid disabling rules without justification

Files:

  • packages/doom/src/plugins/replace/resolve-reference.ts
  • packages/doom/src/plugins/replace/normalize-img-src.ts
  • packages/doom/src/types.ts
  • packages/doom/src/plugins/auto-toc/index.ts
  • packages/doom/src/remark-lint/index.ts
  • packages/doom/src/plugins/permission/index.ts
  • packages/doom/src/plugins/directives/index.ts
  • packages/doom/src/plugins/attributes/index.ts
  • packages/doom/src/plugins/mermaid/index.ts
  • packages/doom/src/utils/constants.ts
  • packages/doom/src/cli/helpers.ts
  • packages/doom/src/plugins/shiki/transformers/index.ts
  • packages/doom/src/remarkrc.ts
  • packages/doom/src/shared/index.ts
  • packages/doom/src/plugins/replace/index.ts
  • packages/doom/src/plugins/auto-sidebar/utils.ts
  • packages/doom/src/cli/load-config.ts
  • packages/doom/src/utils/index.ts
  • packages/doom/src/utils/helpers.ts
  • packages/doom/src/plugins/auto-sidebar/walk.ts
  • packages/doom/src/plugins/replace/remark-replace.ts
  • packages/doom/src/plugins/auto-toc/remark-auto-toc.ts
  • packages/doom/src/plugins/shiki/index.ts
  • packages/doom/src/plugins/api/index.ts
  • packages/doom/src/remark-lint/check-dead-links.ts
  • packages/doom/src/plugins/global/index.ts
  • packages/doom/src/plugins/replace/rehype-normalize-link.ts
  • packages/doom/src/plugins/attributes/remark-attributes/index.ts
  • packages/doom/src/plugins/replace/parse-toc.ts
  • packages/doom/src/plugins/index.ts
  • packages/doom/src/cli/lint.ts
  • packages/doom/src/plugins/auto-sidebar/index.ts
packages/**

📄 CodeRabbit inference engine (AGENTS.md)

Organize code as a Yarn workspaces monorepo; place package code under packages/

Files:

  • packages/doom/src/plugins/replace/resolve-reference.ts
  • packages/doom/src/plugins/replace/normalize-img-src.ts
  • packages/doom/src/types.ts
  • packages/doom/src/plugins/auto-toc/index.ts
  • packages/doom/src/remark-lint/index.ts
  • packages/doom/src/plugins/permission/index.ts
  • packages/doom/src/plugins/directives/index.ts
  • packages/doom/src/plugins/attributes/index.ts
  • packages/doom/src/plugins/mermaid/index.ts
  • packages/doom/src/utils/constants.ts
  • packages/doom/src/cli/helpers.ts
  • packages/doom/src/plugins/shiki/transformers/index.ts
  • packages/doom/src/remarkrc.ts
  • packages/doom/src/shared/index.ts
  • packages/export/package.json
  • packages/doom/src/plugins/replace/index.ts
  • packages/doom/src/plugins/auto-sidebar/utils.ts
  • packages/doom/src/cli/load-config.ts
  • packages/doom/src/utils/index.ts
  • packages/doom/src/utils/helpers.ts
  • packages/doom/src/plugins/auto-sidebar/walk.ts
  • packages/doom/src/plugins/replace/remark-replace.ts
  • packages/doom/src/plugins/auto-toc/remark-auto-toc.ts
  • packages/doom/src/plugins/shiki/index.ts
  • packages/doom/src/plugins/api/index.ts
  • packages/doom/src/remark-lint/check-dead-links.ts
  • packages/doom/src/plugins/global/index.ts
  • packages/doom/src/plugins/replace/rehype-normalize-link.ts
  • packages/doom/src/plugins/attributes/remark-attributes/index.ts
  • packages/doom/src/plugins/replace/parse-toc.ts
  • packages/doom/src/plugins/index.ts
  • packages/doom/src/cli/lint.ts
  • packages/doom/package.json
  • packages/doom/src/plugins/auto-sidebar/index.ts
packages/doom/**

📄 CodeRabbit inference engine (AGENTS.md)

Place the main documentation tool and CLI in packages/doom/

Files:

  • packages/doom/src/plugins/replace/resolve-reference.ts
  • packages/doom/src/plugins/replace/normalize-img-src.ts
  • packages/doom/src/types.ts
  • packages/doom/src/plugins/auto-toc/index.ts
  • packages/doom/src/remark-lint/index.ts
  • packages/doom/src/plugins/permission/index.ts
  • packages/doom/src/plugins/directives/index.ts
  • packages/doom/src/plugins/attributes/index.ts
  • packages/doom/src/plugins/mermaid/index.ts
  • packages/doom/src/utils/constants.ts
  • packages/doom/src/cli/helpers.ts
  • packages/doom/src/plugins/shiki/transformers/index.ts
  • packages/doom/src/remarkrc.ts
  • packages/doom/src/shared/index.ts
  • packages/doom/src/plugins/replace/index.ts
  • packages/doom/src/plugins/auto-sidebar/utils.ts
  • packages/doom/src/cli/load-config.ts
  • packages/doom/src/utils/index.ts
  • packages/doom/src/utils/helpers.ts
  • packages/doom/src/plugins/auto-sidebar/walk.ts
  • packages/doom/src/plugins/replace/remark-replace.ts
  • packages/doom/src/plugins/auto-toc/remark-auto-toc.ts
  • packages/doom/src/plugins/shiki/index.ts
  • packages/doom/src/plugins/api/index.ts
  • packages/doom/src/remark-lint/check-dead-links.ts
  • packages/doom/src/plugins/global/index.ts
  • packages/doom/src/plugins/replace/rehype-normalize-link.ts
  • packages/doom/src/plugins/attributes/remark-attributes/index.ts
  • packages/doom/src/plugins/replace/parse-toc.ts
  • packages/doom/src/plugins/index.ts
  • packages/doom/src/cli/lint.ts
  • packages/doom/package.json
  • packages/doom/src/plugins/auto-sidebar/index.ts
packages/export/**

📄 CodeRabbit inference engine (AGENTS.md)

Place document export functionality in packages/export/

Files:

  • packages/export/package.json
🧠 Learnings (6)
📓 Common learnings
Learnt from: JounQin
PR: alauda/doom#30
File: src/runtime/components/K8sCrd.tsx:5-5
Timestamp: 2025-05-26T09:09:21.339Z
Learning: The alauda/doom project uses yarn v4 for dependency management, which handles package exports and module resolution correctly, so imports like `rspress/core/theme` work without any ESLint errors.
📚 Learning: 2025-09-24T04:08:32.103Z
Learnt from: CR
PR: alauda/doom#0
File: AGENTS.md:0-0
Timestamp: 2025-09-24T04:08:32.103Z
Learning: Applies to **/*.{ts,tsx} : Maintain strong type coverage; validate with yarn typecov

Applied to files:

  • packages/doom/src/shared/index.ts
  • packages/doom/src/utils/helpers.ts
📚 Learning: 2025-06-06T07:08:55.881Z
Learnt from: JounQin
PR: alauda/doom#69
File: package.json:101-101
Timestamp: 2025-06-06T07:08:55.881Z
Learning: When a package has peer dependencies that require TypeScript (like `eslint-react/eslint-plugin`), TypeScript should be moved from devDependencies to dependencies to satisfy the peer dependency requirement.

Applied to files:

  • package.json
📚 Learning: 2025-05-29T16:25:28.086Z
Learnt from: JounQin
PR: alauda/doom#40
File: src/plugins/sitemap/index.ts:7-7
Timestamp: 2025-05-29T16:25:28.086Z
Learning: In rspress/shared v2.0.0-beta.8, the '/logger' export is available in the package exports field, so imports like `import { logger } from 'rspress/shared/logger'` are valid even if ESLint shows resolution errors. This is used throughout the codebase in files like src/cli/translate.ts, src/cli/load-config.ts, src/utils/git.ts, and src/plugins/sitemap/index.ts.

Applied to files:

  • packages/doom/src/plugins/replace/index.ts
  • packages/doom/src/utils/index.ts
  • packages/doom/src/plugins/global/index.ts
  • packages/doom/src/plugins/index.ts
📚 Learning: 2025-05-26T09:09:21.339Z
Learnt from: JounQin
PR: alauda/doom#30
File: src/runtime/components/K8sCrd.tsx:5-5
Timestamp: 2025-05-26T09:09:21.339Z
Learning: The alauda/doom project uses yarn v4 for dependency management, which handles package exports and module resolution correctly, so imports like `rspress/core/theme` work without any ESLint errors.

Applied to files:

  • packages/doom/src/plugins/global/index.ts
  • packages/doom/package.json
📚 Learning: 2025-07-09T02:33:05.638Z
Learnt from: JounQin
PR: alauda/doom#117
File: src/remark-lint/no-heading-punctuation.ts:4-4
Timestamp: 2025-07-09T02:33:05.638Z
Learning: In the alauda/doom project, JounQin prefers to keep the `toString` import from `mdast-util-to-string` as is, even though it shadows the global toString property. Variable shadowing warnings for this specific case should not be flagged as issues.

Applied to files:

  • packages/doom/src/plugins/global/index.ts
🧬 Code graph analysis (3)
packages/doom/src/remarkrc.ts (1)
packages/doom/src/remark-lint/check-dead-links.ts (1)
  • checkDeadLinks (20-57)
packages/doom/src/remark-lint/check-dead-links.ts (3)
packages/doom/src/utils/constants.ts (1)
  • OPTIONS_FILE (10-10)
packages/doom/src/types.ts (1)
  • GlobalCliOptions (17-35)
packages/doom/src/cli/load-config.ts (1)
  • loadConfig (393-571)
packages/doom/src/cli/lint.ts (2)
packages/doom/src/types.ts (1)
  • GlobalCliOptions (17-35)
packages/doom/src/utils/constants.ts (2)
  • STORAGE_DIR (8-8)
  • OPTIONS_FILE (10-10)
🔇 Additional comments (9)
packages/doom/src/plugins/api/index.ts (1)

6-10: Consistent TS module specifiers

The switch to explicit .ts imports/exports keeps NodeNext resolution consistent with the rest of the repo—looks good.

packages/doom/src/plugins/attributes/remark-attributes/index.ts (1)

5-8: TS extension alignment

Thanks for updating the internal imports to .ts; this keeps the attribute plugin in sync with the new resolution strategy.

package.json (1)

36-49: Version bumps look good.

The dev dependency updates stay within the expected compatibility range and align with the existing toolchain. 👍

packages/doom/src/plugins/shiki/transformers/index.ts (1)

1-1: Export target looks good

The extension alignment keeps the transformer barrel up to date; no further action needed.

packages/doom/src/cli/helpers.ts (1)

7-8: Import updates are consistent

The .ts targets exist in this package and keep type resolution aligned—looks good.

packages/doom/src/plugins/permission/index.ts (1)

3-12: Permission plugin imports are aligned

The updated specifiers mirror the TypeScript sources without altering behaviour. No issues here.

packages/doom/src/plugins/auto-sidebar/walk.ts (1)

22-26: Sidebar helpers import rewrite looks fine

The updated specifiers point at the TypeScript sources already in this package; nothing further needed.

packages/doom/src/plugins/replace/index.ts (1)

6-18: TS extensions re-export alignment looks good

Thanks for updating the replace plugin’s imports/exports to point at the .ts sources. This keeps the module graph consistent with the rest of the TypeScript-first cleanup in this PR.

packages/doom/src/plugins/shiki/index.ts (1)

1-1: Shiki transformer export matches TS sources

The re-export now targets the .ts entry point, lining up with the repo-wide extension change. Looks good.

@JounQin JounQin force-pushed the feat/lint_dead_links branch 2 times, most recently from 02f3f46 to be19ef1 Compare September 29, 2025 06:08
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c268720 and be19ef1.

📒 Files selected for processing (1)
  • packages/doom/src/remark-lint/check-dead-links.ts (1 hunks)
🧰 Additional context used
📓 Path-based instructions (5)
**/*.{ts,tsx,js,jsx,md,yml,yaml,json}

📄 CodeRabbit inference engine (AGENTS.md)

Format code using the repository’s Prettier configuration (yarn format)

Files:

  • packages/doom/src/remark-lint/check-dead-links.ts
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{ts,tsx}: Code must adhere to TypeScript strict-mode rules (no implicit any, strict null checks, etc.)
Maintain strong type coverage; validate with yarn typecov

Files:

  • packages/doom/src/remark-lint/check-dead-links.ts
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (AGENTS.md)

Follow ESLint project-specific rules; avoid disabling rules without justification

Files:

  • packages/doom/src/remark-lint/check-dead-links.ts
packages/**

📄 CodeRabbit inference engine (AGENTS.md)

Organize code as a Yarn workspaces monorepo; place package code under packages/

Files:

  • packages/doom/src/remark-lint/check-dead-links.ts
packages/doom/**

📄 CodeRabbit inference engine (AGENTS.md)

Place the main documentation tool and CLI in packages/doom/

Files:

  • packages/doom/src/remark-lint/check-dead-links.ts
🧠 Learnings (1)
📚 Learning: 2025-05-29T10:22:30.004Z
Learnt from: JounQin
PR: alauda/doom#34
File: src/cli/load-config.ts:290-0
Timestamp: 2025-05-29T10:22:30.004Z
Learning: In the alauda/doom project, the team prefers throwing descriptive errors for invalid configuration rather than using optional chaining or graceful fallbacks. This fail-fast approach helps catch configuration issues early during development.

Applied to files:

  • packages/doom/src/remark-lint/check-dead-links.ts
🧬 Code graph analysis (1)
packages/doom/src/remark-lint/check-dead-links.ts (3)
packages/doom/src/utils/constants.ts (1)
  • OPTIONS_FILE (10-10)
packages/doom/src/types.ts (1)
  • GlobalCliOptions (17-35)
packages/doom/src/cli/load-config.ts (1)
  • loadConfig (393-571)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
  • GitHub Check: Build and Lint with Node.js 22 on ubuntu-latest
  • GitHub Check: Build and Lint with Node.js 18 on ubuntu-latest
  • GitHub Check: Build and Lint with Node.js 20 on ubuntu-latest
  • GitHub Check: Build and Lint with Node.js 24 on ubuntu-latest
  • GitHub Check: Build and Lint with Node.js 24 on ubuntu-latest
  • GitHub Check: Build and Lint with Node.js 22 on ubuntu-latest
  • GitHub Check: Build and Lint with Node.js 20 on ubuntu-latest
  • GitHub Check: Build and Lint with Node.js 18 on ubuntu-latest

@JounQin JounQin force-pushed the feat/lint_dead_links branch from be19ef1 to 0f74b0d Compare September 29, 2025 06:18
@JounQin JounQin merged commit 3153e59 into main Sep 29, 2025
19 of 20 checks passed
@JounQin JounQin deleted the feat/lint_dead_links branch September 29, 2025 06:24
github-actions bot pushed a commit that referenced this pull request Sep 29, 2025
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants