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

sync(yarn-plugin-tools): dependencies, hooks adjustment #393

Merged
merged 1 commit into from
Aug 21, 2024

Conversation

Nelfimov
Copy link
Member

No description provided.

@Nelfimov Nelfimov self-assigned this Aug 21, 2024
@Nelfimov Nelfimov added the enhancement New feature or request label Aug 21, 2024
@@ -60,8 +60,8 @@ const hook = (command: string): string =>
${command}
`

const git = (args: Array<string>): SpawnSyncReturns<Buffer> =>
spawnSync('git', args, { stdio: 'inherit' })
const git = (args: Array<string>): SpawnSyncReturns<string> =>
Copy link
Member Author

Choose a reason for hiding this comment

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

@TorinAsakura подсвечиваю момент для ревью - не понимаю в чем разница двух подходов

Copy link
Member

Choose a reason for hiding this comment

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

  1. В первой версии spawnSync возвращает результат в виде Buffer, а во второй версии указываем encoding: 'utf-8', что автоматически конвертирует вывод команды в строку (string), поэтому возвращаемое значение будет уже строкой - короче, рассматривай это как perf(plugin-tools)

  2. В первой версии мы юзали опцию { stdio: 'inherit' }. Это означает, что spawnSync будет напрямую перенаправлять вывод (stdout, stderr) и ввод (stdin) процесса в консоль, а результат функции spawnSync будет содержать только status и signal, но не stdout и stderr (они будут undefined), а - во второй версии Андрюха убрал stdio: 'inherit' и добавил encoding: 'utf-8', что заставляет spawnSync возвращать строки в stdout и stderr, которые можно использовать для дальнейшей обработки в коде, короче, опять перф

  3. В первой версии мы просто передавали вывод команды напрямую в консоль, и не было возможности явно обрабатывать его результат, а во второй версии можно обрабатывать строки, возвращаемые командой git, внутри своего кода (анализировать вывод команды, проверять ошибки нуитд)

@Nelfimov Nelfimov merged commit 0e90c0e into master Aug 21, 2024
1 check failed
@Nelfimov Nelfimov deleted the sync/yarn-plugin-tools branch August 21, 2024 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants