Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dependabot対応 #145

Merged
merged 4 commits into from
Jan 12, 2025
Merged

dependabot対応 #145

merged 4 commits into from
Jan 12, 2025

Conversation

take-cheeze
Copy link
Member

  • Fix marked names crsearch#76 の修正が必要でした
  • actionsで警告が出るので更新
  • npm run dev でも動くように
  • font-awesomeはいったん埋め込みに

@faithandbrave faithandbrave merged commit 79fbdc6 into cpprefjp:master Jan 12, 2025
1 check passed
@faithandbrave
Copy link
Member

マージしましたー

@akinomyoga
Copy link
Member

最新の変換から左のサイドバーが表示されなくなっているのですが、この依存関係の更新が原因でしょうか。以下のようなエラーが出ています。

version 3.0.9 (https://github.com/cpprefjp/kunai/tree/v3.0.9)
kunai.js?cachebust=79fbdc6e2698b03b1210e8cbc5c0f5098eaacd7e:2705 please report frontend bugs to: https://github.com/cpprefjp/kunai/issues
kunai-vendor.js?cachebust=79fbdc6e2698b03b1210e8cbc5c0f5098eaacd7e:1581 {"name":"Database::constructor","timestamp":1736782712947}: 434.837158203125 ms
kunai-vendor.js?cachebust=79fbdc6e2698b03b1210e8cbc5c0f5098eaacd7e:1596 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'index')
    at kunai-vendor.js?cachebust=79fbdc6e2698b03b1210e8cbc5c0f5098eaacd7e:1596:27
    at Array.sort (<anonymous>)
    at Database.getTree (kunai-vendor.js?cachebust=79fbdc6e2698b03b1210e8cbc5c0f5098eaacd7e:1595:10)
    at Treeview._callee24$ (kunai.js?cachebust=79fbdc6e2698b03b1210e8cbc5c0f5098eaacd7e:1162:32)
    at tryCatch (kunai-vendor.js?cachebust=79fbdc6e2698b03b1210e8cbc5c0f5098eaacd7e:29867:40)
    at Generator.invoke [as _invoke] (kunai-vendor.js?cachebust=79fbdc6e2698b03b1210e8cbc5c0f5098eaacd7e:30098:22)
    at Generator.next (kunai-vendor.js?cachebust=79fbdc6e2698b03b1210e8cbc5c0f5098eaacd7e:29923:21)
    at asyncGeneratorStep (kunai-vendor.js?cachebust=79fbdc6e2698b03b1210e8cbc5c0f5098eaacd7e:31291:24)
    at _next (kunai-vendor.js?cachebust=79fbdc6e2698b03b1210e8cbc5c0f5098eaacd7e:31313:9)
    at kunai-vendor.js?cachebust=79fbdc6e2698b03b1210e8cbc5c0f5098eaacd7e:31320:7

@faithandbrave
Copy link
Member

明日 (1/14火) に状況をみて、かんたんに直りそうもなかったら一旦revertしますね

@akinomyoga
Copy link
Member

akinomyoga commented Jan 13, 2025

crsearch の方かもです。エラーが起こっているのは

https://github.com/cpprefjp/crsearch/blob/56ab5cdd61465317d4f17338da7e1f1ada79acb2/js/crsearch/database.js#L59

の行で、a.category または b.category が undefined になっている。a.category, b.category

https://github.com/cpprefjp/crsearch/blob/56ab5cdd61465317d4f17338da7e1f1ada79acb2/js/crsearch/namespace.js#L122

で取得されている。_namespace

https://github.com/cpprefjp/crsearch/blob/56ab5cdd61465317d4f17338da7e1f1ada79acb2/js/crsearch/namespace.js#L8

で設定されていて、json

https://github.com/cpprefjp/crsearch/blob/56ab5cdd61465317d4f17338da7e1f1ada79acb2/js/crsearch/database.js#L36

から来る。なので this._namespace[0] には以下の値が来ることになる:

$ curl -L https://github.com/cpprefjp/cpprefjp.github.io/raw/master/static/crsearch/crsearch.json | jq | grep -A1 '"namespace":' | grep -v '"namespace":' | sort -u
        "article"
        "edit_policy"
        "implementation"
        "implementation-compliance"
        "implementation-status"
        "index"
        "international-standard"
        "lang"
        "mailing-lists"
        "module"
        "reference"
        "start_editing"
        "third_party_library"
        "working_style"
--

というところまで、実際に実行せずにソースを眺めて思ったことです。

@akinomyoga
Copy link
Member

akinomyoga commented Jan 13, 2025

追記: やっぱり editors_doc は関係ないかも

https://github.com/cpprefjp/kunai_config/blob/d179db4d00d0bce5719dee0c3fc2da5d3f7039d3/article.md?plain=1#L14

で要求されている editors_doccrsearch.json の中にありませんね。代わりに edit_policy が存在します。crsearch.json の中の namespace は

https://github.com/cpprefjp/site_generator/blob/59ea4cb17029beea016b413f7acb8db4dcac78a8/crsearch.json/run.py#L452

で生成されていて、これはトップレベルの記事ファイル名orディレクトリ名から来ている:

https://github.com/cpprefjp/site_generator/blob/59ea4cb17029beea016b413f7acb8db4dcac78a8/crsearch.json/run.py#L418-L420

ということなので、edit_policy を作った時に kunai_config/articles.md も更新する必要があったということと推測します。ただ、何故今になって問題が発現したのかはわかりません (やっぱり関係ないかなぁ)。

@faithandbrave
Copy link
Member

一旦revertしましたー。
現在、cpprefjp/siteのbuildアクションを実行中です。

@faithandbrave
Copy link
Member

@take-cheeze
すいません、サイドバーが動かなくなったので、一旦revertさせていただきました。
今後は私の方でも、ローカルで動作確認してからマージしますね。。。確認不足ですいません・・・

@take-cheeze
Copy link
Member Author

@akinomyoga @faithandbrave なんだか壊してしまったみたいで対応すいません 🙇
手元でまた確認したいんですけど、より本番に近い形で確認する方法ってどこかに書いてありますか? npm run devとかはやってはいるんですけど...

@faithandbrave
Copy link
Member

site_generatorのREADME通りにやればHTTPサーバーをローカルで動かすところまではできますね。
https://github.com/cpprefjp/site_generator

kunaiもdocker.sh経由で動かしてはいます。

@akinomyoga
Copy link
Member

実際に動かさずに適当な事を言っているのもあれなので手元で見てみました。まず、

https://github.com/cpprefjp/crsearch/blob/56ab5cdd61465317d4f17338da7e1f1ada79acb2/js/crsearch/namespace.js#L122

の時点で kc.categories()Map になっています。この categories() への値の登録は

https://github.com/cpprefjp/crsearch/blob/56ab5cdd61465317d4f17338da7e1f1ada79acb2/js/crsearch/kunai-config.js#L62

で行われているのですが、そもそもこの関数 list_item_end が全く呼び出されていません。元のコードでは

https://github.com/cpprefjp/crsearch/blob/56ab5cdd61465317d4f17338da7e1f1ada79acb2/js/crsearch/kunai-config.js#L135

を実行した時点でトークンの列として

{type: 'heading', depth: 2, text: 'TOPLEVEL_CATEGORY'}
{type: 'list_start', ordered: false, start: '', loose: false}
{type: 'list_item_start', task: false, checked: undefined, loose: false}
{type: 'text', text: 'cpprefjp[index]'}
{type: 'list_item_end'}
{type: 'list_item_start', task: false, checked: undefined, loose: false}
{type: 'text', text: 'リファレンス[reference]'}
{type: 'list_item_end'}
{type: 'list_item_start', task: false, checked: undefined, loose: false}
{type: 'text', text: 'モジュール[module]'}
{type: 'list_item_end'}
{type: 'list_item_start', task: false, checked: undefined, loose: false}
{type: 'text', text: '言語機能[lang]'}
{type: 'list_item_end'}
...

みたいなのが生成されていますが、動かなくなったものでは代わりに、

{type: 'heading', raw: '## TOPLEVEL_CATEGORY\n\n', depth: 2, text: 'TOPLEVEL_CATEGORY', tokens: Array(1)}
{type: 'list', raw: '* cpprefjp[index]\n* リファレンス[reference]\n* モジュール[modu… はじめてのコントリビュート ...
  ...
  [
    {type: 'list_item', raw: '* cpprefjp[index]\n', task: false, checked: undefined, loose: false,}
    {type: 'list_item', raw: '* リファレンス[reference]\n', task: false, checked: undefined, loose: false,}
    {type: 'list_item', raw: '* モジュール[module]\n', task: false, checked: undefined, loose: false,}
    {type: 'list_item', raw: '* 言語機能[lang]\n', task: false, checked: undefined, loose: false,}
    ...
  ]
  ...
{type: 'space', raw: '\n\n\n'}
{type: 'heading', raw: '## GLOBAL_QUALIFY_LIST\n\n', depth: 2, text: 'GLOBAL_QUALIFY_LIST', tokens: Array(1)}
{type: 'list', raw: '* implementation-defined[italic]\n* SFINAE[link /la…]\n    * v3.size()[link /reference/vector/size.md]', ordered: ...{type: 'space', raw: '\n\n'}

みたいなのが生成されています (lexer なのになんで parse までしているんですかね…)。

で上流 Marked の issues を検索してみると

Token types が v1.0.0 で変わったってコメントで言ってます。公式にアナウンスされたのかどうかもよく分からず…うーん。変更はこの辺りかなぁ…:

akinomyoga added a commit to akinomyoga/cpprefjp-crsearch that referenced this pull request Jan 14, 2025
akinomyoga added a commit to akinomyoga/cpprefjp-crsearch that referenced this pull request Jan 14, 2025
akinomyoga added a commit to akinomyoga/cpprefjp-crsearch that referenced this pull request Jan 14, 2025
@take-cheeze
Copy link
Member Author

take-cheeze commented Jan 14, 2025

markedを戻すとよさそうですね。時間できたらやってみます!

@akinomyoga
Copy link
Member

akinomyoga commented Jan 14, 2025

cpprefjp/crsearch#77https://akinomyoga.github.io/cpprefjp-site/ でテストしてます。動いている気がする

@faithandbrave
Copy link
Member

revertを取り消して、crsearchを更新しました。
現在、cpprefjp/siteのbuildアクションを実行中です。

@faithandbrave
Copy link
Member

cpprefjp/siteのデプロイ完了しました。サイドバーは問題なく動いてそうです!

@akinomyoga 対応ありがとうございます〜。感謝感謝です

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.

3 participants