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

auto generate 2 #35

Closed
1 task done
kajirikajiri opened this issue Feb 26, 2023 · 0 comments
Closed
1 task done

auto generate 2 #35

kajirikajiri opened this issue Feb 26, 2023 · 0 comments

Comments

@kajirikajiri
Copy link
Owner

kajirikajiri commented Feb 26, 2023

こちらである程度は自動化できました
#31

@mui/materialのOverridableComponentは手動対応になってるけど。

if (key === 'OverridableComponent') {

おそらくimportできないものはTSxxxxのエラーが発生している。
これらはTypescript compilerが生成しているエラーっぽい。
https://github.com/microsoft/TypeScript

Typescriptのテストを参考にしたところ、herebyを使ってcliで実行するコマンドをまとめて実行してるっぽい。Typescriptのメンテナが作ってる。star数から見てメジャーなパッケージではない。
https://github.com/jakebailey/hereby

テストファイルを見た感じ、入力に対して出力を受け取ってテストしているように見える。若干癖がありそう。jsファイルになってるがどう見てもjsファイルではない。
https://github.com/microsoft/TypeScript/blob/20d4479b24700cbd8bcbe4019dc4b30ea1565ae4/tests/baselines/reference/tsc/cancellationToken/when-emitting-buildInfo.js#L1

てことで、ちょい面倒に見えるが、herbyに引数を渡せばtscに渡して戻り値を受け取ってくれて、その中に特定のエラーがあればそれはimportできないという扱いにすれば良いはず。

herbyに渡す値はこちらで生成したものを渡せば良いはず。
#31

1ファイルにimport文を大量に書いてできれば早そうだけど、やりやすさと相談。

todo

  • herbyの動作チェック: 使わないことにした
    • tscに引数を渡して戻り値を受け取れるか
      • 実際にテストしているのはspawnに見える
  • spawnによって、tsc --noEmitの結果を受け取ることができた
  • generatorによって生成したjsonからimport文を生成。特定のエラーが発生している場合は、、、どうしようね。
    • 結果をoutput.jsonに反映?

Archive

  • 以下の構文でline: 1, character: 0を指定すると、importできる対象を全て取得できることに気づいた
text: `import {
            
        } from '${packageName}'`,
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

No branches or pull requests

1 participant