Skip to content

chore: scoria の導入と依存更新 (2026-10-18) - #36

Merged
isamu merged 6 commits into
mainfrom
chore/scoria-and-deps-2026-10-18
Oct 18, 2026
Merged

isamu merged 6 commits into
mainfrom
chore/scoria-and-deps-2026-10-18

Conversation

@isamu

@isamu isamu commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

Summary

  • 依存を更新(yarn upgrade --latest → yarn-deduplicate)。今回は major 更新なし(patch / minor のみ)
  • scoria(scoria@^0.4.0)を GUIChatPluginSpreadsheet と同じ形で導入
    • yarn quality(= scoria)、scoria.config.json(library / vue, ts / mode: report)、.scoria/baseline.json
    • coverage は c8(yarn test:coverage = c8 yarn run test、.c8rc.json、coverage/ は gitignore)。テストは tsx --test なので Spreadsheet の test:suites に当たるのは test
    • .github/workflows/scoria.yml を Spreadsheet からそのまま追加(計測ジョブは contents: read、SARIF アップロードは security-events: write の別ジョブで SHA 固定、checkout は persist-credentials: false)
  • engines.node を >=24 にし、CI の行列を Node 24.x / 26.x に変更
  • 方針は plans/chore-scoria.md

Items to Confirm / Review

  • Node 22 のサポートを落とす:scoria が engines: node >=24 で、Yarn v1 は engines 不一致で install を失敗させるため。パッケージの engines も >=24 にした(利用者側への影響を確認してほしい)
  • TypeScript は ~6.0.3 に据え置き:yarn upgrade --latest で 7 に上がるが、vue-tsc / typescript-eslint が 7 に未対応のため(メンテ方針どおり)
  • audit 残課題:High 1 件 braces(GHSA-vfj7-8cjw-p6xm、scoria → jscpd → fast-glob → micromatch → braces)。修正版が未公開で今は消せない。開発依存なので利用者には届かない(Spreadsheet と同じ)。scoria 導入前の依存は audit 0 件
  • 使われていない依存の候補(今回は触っていない):vite-plugin-dts(vite.config で未使用、d.ts は vue-tsc で出している)、dependencies の minimatch(src から import なし。resolutions でも固定している)。消してよければ別 PR で yarn remove する
  • .scoria/baseline.json の root に作業したクローンの絶対パスが入る(Spreadsheet も同様にローカルパスが入っている)
  • demo の View は「No markdown content available」になる。demo が jsonData を渡し View は data.markdown を読むためで、この PR 以前からの挙動(未修正)
  • ソース修正はなし。lint は error 0(既存の warning のみ)

User Prompt

  • scoria を GUIChatPlugins の maintained-repos に Spreadsheet と同じ形で入れていく
  • 同時に依存の update もする

Verification

  • クリーン install:rm -rf node_modules && yarn install --frozen-lockfile
  • yarn lint → yarn build → yarn typecheck → yarn test → yarn test:coverage → yarn quality:すべて成功(format script はこのリポに無い)
  • yarn audit:上記 braces の 1 件のみ
  • demo:yarn dev を headless Chrome で読み込み、画面が描画されること(white screen でない)と、console error が出ていないことを確認。sample ボタンのクリックなどの操作までは試していない

🤖 Generated with Claude Code

追記: 再利用ワークフローとバッジ

  • .github/workflows/scoria.yml を、isamu/lab の再利用ワークフロー(scoria-measure.yml、レビュー済みの commit SHA で固定)を呼ぶ形に置き換えた。計測・code scanning へのアップロードに加え、main への push で badges ブランチにバッジ用 JSON を置く。ci: scoria を再利用ワークフローで回し、README にバッジを出す GUIChatPluginSpreadsheet#53 と同じ形
  • README に scoria のバッジを追加。マージ後の最初の push で badges ブランチができるまでは表示されない
  • 呼び出し側は contents: write と security-events: write を渡すが、プロジェクトのコードは読み取り権限だけのジョブで動く

isamu and others added 3 commits October 18, 2026 08:43
TypeScript は ~6.0.3 に据え置き(7 は vue-tsc / typescript-eslint が未対応)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- scoria を devDependencies に追加し yarn quality で走らせる
- c8 で coverage を取る(test:coverage)
- scoria.config.json と .scoria/baseline.json を記録
- scoria ワークフローを追加(report のみ、SARIF をコードスキャンへ)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
scoria が node >=24 を要求し、Node 22 では yarn install が失敗するため(engines も >=24)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@socket-security

socket-security Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@isamu

isamu commented Oct 18, 2026 •

Copy link
Copy Markdown
Member Author

CODEX VERDICT: LGTM

  • No findings.
  • Verification: yarn install --frozen-lockfile --ignore-scripts, yarn lint (0 errors; 6 existing warnings), yarn typecheck, yarn build, yarn test (13/13), yarn test:coverage, yarn quality, dependency-only yarn audit, and git diff --check passed.
  • The npm pack dry-run could not execute in this sandbox because the local npm cache is root-owned (EPERM); the package remains publishable by inspection (files: ["dist"]) and the build succeeded.
  • The accepted Node >=24 engine change, TypeScript 6.x constraint, and dev-only scoria > jscpd/braces advisory do not produce findings.
Axis Result
Correctness / edge cases No changed behavior or edge-case regression found; the full diff was read.
Package consumers No dependency/peerDependency/published-files inconsistency found; Node 22 removal is the settled decision.
Security Caller workflow pins the reusable workflow SHA; project code runs in the read-only measurement job, while SARIF/badge writes are separated as documented.
Tests Tests and coverage pass; no behavior-breaking source changes are present.
Repository consistency Scripts, lockfile, CI matrix, Scoria config, baseline, and coverage setup are internally consistent.
Documentation The README badge and plan do not instruct consumers toward an incorrect change.

FINDINGS COMPLETE: I read every hunk of the diff and this is every finding I have.

@isamu

isamu commented Oct 18, 2026

Copy link
Copy Markdown
Member Author

Codex exchange — markdown

Prompt sent:

Review PR #36 at https://github.com/receptron/GUIChatPluginMarkdown/pull/36 (head f171aa0). The checkout to read is /private/tmp/claude-501/-Users-isamu-ss-llm-lab/05aa564a-1040-4f30-b316-122f241bad1d/scratchpad/repos/markdown (already on the PR branch, dependencies installed). Diff: git -C /private/tmp/claude-501/-Users-isamu-ss-llm-lab/05aa564a-1040-4f30-b316-122f241bad1d/scratchpad/repos/markdown diff origin/main...HEAD. Read the repo's package.json scripts and run what applies (lint, typecheck, build, test) with yarn.
Tier C. THIS IS THE ONLY ROUND YOU ARE GUARANTEED. Read the WHOLE diff; every finding now. Post inline (gh api repos/receptron/GUIChatPluginMarkdown/pulls/36/comments) or top-level (gh pr comment 36 -R receptron/GUIChatPluginMarkdown).
AXES — answer every line, even "no findings": correctness/edge cases; behaviour change for package consumers (dependencies vs devDependencies, peerDependencies, engines, published files); security (CI permissions, supply chain); tests go red if behaviour breaks; consistency with the repo; docs that would cause a WRONG CHANGE if believed (merely behind is N).
Adds scoria via the same reusable workflow (caller side only) plus c8 test:coverage; origin/main was merged into the branch.
Each finding: SEVERITY P1/P2/P3/N, EVERY SITE, SMALLEST FIX, WHAT WOULD CHANGE YOUR MIND.
Settled decisions (user): Node 22 support is dropped where engines >=24 is set; TypeScript stays on 6.x (typescript-eslint does not support 7); the braces High advisory via scoria>jscpd is accepted (devDependency, no fix upstream). LEDGER: _no findings yet_.
END WITH ONE TOP-LEVEL COMMENT: line 1 'CODEX VERDICT: LGTM' or 'CODEX VERDICT: CHANGES REQUESTED' + bullets; axis table; 'FINDINGS COMPLETE: I read every hunk of the diff and this is every finding I have.' Do not apply fixes.
Codex reply (verbatim)
Reviewed PR #36 and posted the corrected top-level review comment.

Verdict: LGTM — no findings. All applicable Yarn checks passed. [Review comment](https://github.com/receptron/GUIChatPluginMarkdown/pull/36#issuecomment-6243982620)

…-2026-10-18

# Conflicts:
#	package.json
#	yarn.lock
@isamu
isamu merged commit d9f2f1b into main Oct 18, 2026
16 checks passed
@isamu
isamu deleted the chore/scoria-and-deps-2026-10-18 branch October 18, 2026 01:37
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