История изменений
Исправление lbvf50txt, (текущая версия) :
Давайте поговорим о Nushell. Предположим требуется вам поработать с крупным json файлом pachage.json
поекта React
. Прежде всего этот файл надо скачать на ЭВМ из Сети Итернет.
Нет проблем сохраняем в react_p.json
:
~/tmp/nu> http get https://raw.githubusercontent.com/facebook/react/refs/heads/main/package.json |
save react_p.json
Двигаемся далье хотелось бы узнать, что там с линтерами в React в разделе devDependencies. Для этого даже лень еще раз писать название файла можно сделать так.
open *.json | get devDependencies | transpose name value | where ($it.name | str contains lint)
╭────┬────────────────────────────────────────────────┬─────────────────────────────╮
│ # │ name │ value │
├────┼────────────────────────────────────────────────┼─────────────────────────────┤
│ 0 │ @typescript-eslint/eslint-plugin │ ^6.21.0 │
│ 1 │ @typescript-eslint/parser │ ^6.21.0 │
│ 2 │ eslint │ ^7.7.0 │
│ 3 │ eslint-config-prettier │ ^6.9.0 │
│ 4 │ eslint-plugin-babel │ ^5.3.0 │
│ 5 │ eslint-plugin-es │ ^4.1.0 │
│ 6 │ eslint-plugin-eslint-plugin │ ^3.5.3 │
│ 7 │ eslint-plugin-ft-flow │ ^2.0.3 │
│ 8 │ eslint-plugin-jest │ 28.4.0 │
│ 9 │ eslint-plugin-no-for-of-loops │ ^1.0.0 │
│ 10 │ eslint-plugin-no-function-declare-after-return │ ^1.0.0 │
│ 11 │ eslint-plugin-react │ ^6.7.1 │
│ 12 │ eslint-plugin-react-internal │ link:./scripts/eslint-rules │
│ 13 │ hermes-eslint │ ^0.22.0 │
╰────┴────────────────────────────────────────────────┴─────────────────────────────╯
Отлично, что нужно. Теперь надо помнять весрюи eslint
на 7.7.7
.
~/tmp/nu> open react_p.json | # открываем файл
update devDependencies.eslint {"^7.7.7"} | # меняем в Record соответсвующее поле
to json | # конвертируем Record обрано в JSON
save -f react_p.json # пишем обратно, наставиваем на перезаписи --force
Теперь надо проверить все ли правильно записалось.
~/tmp/nu> open react_p.json | get devDependencies.eslint
^7.7.7
Все правально. Вот так легко и непринужденно. Поменяли версю eslint в react_p.json!
Но вдуг какой-то подельник решит тоже перебить в данные в JSON. Такое же может быть. Для этого надо присматривать за react_p.json
.
~/tmp/nu> watch react_p.json {|op, path| $"($op) ($path) поменяли json!"}
И теперь на каждое изменение, в термирале будет прихоить уведломление
~/tmp/nu> watch react_p.json {|op, path| $"($op) ($path) поменяли json!"}
Now watching files at "/home/lbvf50txt/tmp/nu/react_p.json". Press ctrl+c to abort.
Write /home/dima/tmp/nu/react_p.json поменяли json!
Исходная версия lbvf50txt, :
Давайте поговорим о Nushell. Ну предположим надо вам поработать с крупным json файлом pachage.json
поекта React
. Прежде всего этот файл надо скачать на ЭВМ из Сети Итернет.
Нет проблем сохраняем в react_p.json
:
~/tmp/nu> http get https://raw.githubusercontent.com/facebook/react/refs/heads/main/package.json |
save react_p.json
Двигаемся далье хотелось бы узнать, что там с линтерами в React в разделе devDependencies. Для этого даже лень еще раз писать название файла можно сделать так.
open *.json | get devDependencies | transpose name value | where ($it.name | str contains lint)
╭────┬────────────────────────────────────────────────┬─────────────────────────────╮
│ # │ name │ value │
├────┼────────────────────────────────────────────────┼─────────────────────────────┤
│ 0 │ @typescript-eslint/eslint-plugin │ ^6.21.0 │
│ 1 │ @typescript-eslint/parser │ ^6.21.0 │
│ 2 │ eslint │ ^7.7.0 │
│ 3 │ eslint-config-prettier │ ^6.9.0 │
│ 4 │ eslint-plugin-babel │ ^5.3.0 │
│ 5 │ eslint-plugin-es │ ^4.1.0 │
│ 6 │ eslint-plugin-eslint-plugin │ ^3.5.3 │
│ 7 │ eslint-plugin-ft-flow │ ^2.0.3 │
│ 8 │ eslint-plugin-jest │ 28.4.0 │
│ 9 │ eslint-plugin-no-for-of-loops │ ^1.0.0 │
│ 10 │ eslint-plugin-no-function-declare-after-return │ ^1.0.0 │
│ 11 │ eslint-plugin-react │ ^6.7.1 │
│ 12 │ eslint-plugin-react-internal │ link:./scripts/eslint-rules │
│ 13 │ hermes-eslint │ ^0.22.0 │
╰────┴────────────────────────────────────────────────┴─────────────────────────────╯
Отлично, что нужно. Теперь надо помнять весрюи eslint
на 7.7.7
.
~/tmp/nu> open react_p.json | # открываем файл
update devDependencies.eslint {"^7.7.7"} | # меняем в Record соответсвующее поле
to json | # конвертируем Record обрано в JSON
save -f react_p.json # пишем обратно, наставиваем на перезаписи --force
Теперь надо проверить все ли правильно записалось.
~/tmp/nu> open react_p.json | get devDependencies.eslint
^7.7.7
Все правально. Вот так легко и непринужденно. Поменяли версю eslint в react_p.json!
Но вдуг какой-то подельник решит тоже перебить в данные в JSON. Такое же может быть. Для этого надо присматривать за react_p.json
.
watch react_p.json {|op, path| $"($op) ($path) поменяли json!"}
И теперь на каждое изменение, в термирале будет прихоить уведломление
~/tmp/nu> watch react_p.json {|op, path| $"($op) ($path) поменяли json!"}
Now watching files at "/home/lbvf50txt/tmp/nu/react_p.json". Press ctrl+c to abort.
Write /home/dima/tmp/nu/react_p.json поменяли json!