Skip to content

Add "flex" as a supported board material#647

Merged
seveibar merged 1 commit intomainfrom
codex/add-new-board-material-flex
May 2, 2026
Merged

Add "flex" as a supported board material#647
seveibar merged 1 commit intomainfrom
codex/add-new-board-material-flex

Conversation

@seveibar
Copy link
Copy Markdown
Contributor

@seveibar seveibar commented May 2, 2026

Motivation

  • Add support for flexible PCBs by allowing "flex" as a board material option so consumers can specify flexible board types in props.

Description

  • Add "flex" to the BoardProps.material TypeScript type and to the boardProps Zod enum in lib/components/board.ts while keeping the default as "fr4".
  • Regenerate documentation artifacts so generated/COMPONENT_TYPES.md, generated/PROPS_OVERVIEW.md, and README.md reflect the new "flex" option.
  • Add a unit test in tests/board.test.ts that validates parsing material: "flex" with boardProps.

Testing

  • Ran the generation scripts bun scripts/generate-component-types.ts, bun scripts/generate-manual-edits-docs.ts, bun scripts/generate-readme-docs.ts, and bun scripts/generate-props-overview.ts, each completed successfully.
  • Ran unit tests with bun test tests/board.test.ts, which passed (12 tests, 0 failures).
  • Ran type checking with bunx tsc --noEmit and formatting with bun run format, both completed successfully.

Codex Task

@seveibar seveibar merged commit 1292737 into main May 2, 2026
4 checks passed
@seveibar seveibar deleted the codex/add-new-board-material-flex branch May 2, 2026 22:32
Comment thread tests/board.test.ts
Comment on lines +39 to +43
test("should parse flex board material", () => {
const raw: BoardProps = { name: "board", material: "flex" }
const parsed = boardProps.parse(raw)
expect(parsed.material).toBe("flex")
})
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The style guide states that a *.test.ts file may have AT MOST one test(...) call. This file already contained multiple tests before this PR, and adding another test("should parse flex board material", ...) further violates this rule. Each test should be placed in its own numbered file (e.g., board1.test.ts, board2.test.ts, board3.test.ts, etc.) so that no single test file contains more than one test(...) block.

Spotted by Graphite (based on custom rule: Custom rule)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

@tscircuitbot
Copy link
Copy Markdown
Contributor


Thank you for your contribution! 🎉

PR Rating: ⭐⭐
Impact: Minor

Track your contributions and see the leaderboard at: tscircuit Contribution Tracker


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants