Skip to content

feat(raijin): generate icon modules - #886

Merged
TorinAsakura merged 36 commits into
pre-v3/architecture-foundationfrom
feat/icon-modules
Aug 12, 2026
Merged

feat(raijin): generate icon modules#886
TorinAsakura merged 36 commits into
pre-v3/architecture-foundationfrom
feat/icon-modules

Conversation

@TorinAsakura

@TorinAsakura TorinAsakura commented Aug 11, 2026

Copy link
Copy Markdown
Member

Task

How to verify

Main scenario

  1. Context: a Yarn PnP/ESM workspace contains direct icons/*.svg inputs, a valid project-owned template.ts that emits SVGR-provided imports, replacements.ts, existing generated icon files, and unrelated source files
    Action: run yarn ui icons generate --native from the icon workspace
    Expected result: the command deterministically generates TypeScript icon modules and an ESM index, follows direct SVG file symlinks, removes stale generated modules, preserves unrelated files, and formats and lints the resulting source

Additional scenario

  1. Context: a disposable PnP/ESM consumer installs the exact packaged @atls/raijin artifact and begins with a generated module whose casing differs from the next output
    Action: generate icons, lint the final output, and import src/index.ts using @atls/raijin/runtime-exec-argv
    Expected result: the exact TypeScript configuration modules load without the removed Webpack compiler, the generated filename adopts the requested casing, and the generated index resolves .jsx specifiers to generated .tsx modules through the managed runtime

  2. Context: a managed generated-output path is a symlink to an external file
    Action: generate icons for that output name
    Expected result: replacement fails before mutating generated output or the external symlink target

  3. Context: the generated src boundary is a symlink or another non-directory entry
    Action: generate icons
    Expected result: replacement fails before reading or mutating generated output or any external target

  4. Context: the icons boundary is linked, or a matching direct *.svg entry is neither a regular file nor a file symlink to a regular file
    Action: generate icons
    Expected result: source discovery rejects the boundary or entry before transformation and output replacement

Proofs

  • Focused icon-generation tests: 26 passed across the application use case, Node and SVGR providers, command, and presenter; successful replacement canonicalizes managed filenames and casing, while rollback restores the previous output boundary existence, exact filenames, casing, and content
  • ESLint project runtime: 5 focused configuration and reload tests passed against upstream ESLint 9.39.5; the obsolete repository-only ESLint patch was removed
  • Exact package archive: 263464 bytes, SHA-256 583ec4f39b6d5b638758805d9c7d87382ab0884f3df812fc50099fb1de85d2cc; 70/70 publishConfig.exports targets present; no test or fixture artifacts packed
  • Exact-artifact PnP/ESM consumer: passed with checked Yarn 1.3.27-atls, a valid project-owned template.ts, replacements.ts, a symlinked SVG source, a case-only generated-module rename, stale cleanup, unrelated-file preservation, final lint at 0 warnings and 0 errors, and generated-index import through @atls/raijin/runtime-exec-argv
  • Repository gate: yarn raijin:check passed with 38 commands, 45 plugins, localization sync, 7 deterministic smoke cases, and both supported PnP/ESM consumers
  • Checked runtime: two deterministic final builds and .yarn/releases/yarn.mjs share SHA-256 938836964f564aaf0f830f4f55b374b924a8ba289cfaf7016868300ce6e5bbcd

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fabe596708

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread yarn/raijin/src/infrastructure/adapters/svgr/icons/transform.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 11518dc3d2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread yarn/raijin/src/infrastructure/adapters/node/icons/output.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: da2cd0a42f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread yarn/raijin/src/infrastructure/adapters/svgr/icons/transform.ts
Comment thread yarn/raijin/src/infrastructure/providers/node/icons/output.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 71e0fe78c3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread yarn/raijin/src/infrastructure/adapters/node/icons/source.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 886e1c940c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread yarn/raijin/src/infrastructure/adapters/svgr/icons/transform.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 27c4d8e213

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread yarn/raijin/src/infrastructure/providers/node/icons/output.ts

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e5aef28951

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread yarn/raijin/src/infrastructure/providers/node/icons/output.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c9aa261f59

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread yarn/raijin/src/infrastructure/providers/node/icons/output.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0c38e67b66

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread yarn/raijin/src/infrastructure/providers/node/icons/output.ts Outdated
@TorinAsakura TorinAsakura self-assigned this Aug 12, 2026
@TorinAsakura
TorinAsakura merged commit 23b0b12 into pre-v3/architecture-foundation Aug 12, 2026
8 of 9 checks passed
@TorinAsakura
TorinAsakura deleted the feat/icon-modules branch August 12, 2026 02:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant