1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-orval

Клонировать/Скачать
DEBUGGING.md 7.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 23.05.2025 02:11 f111257

Отладка в Orval

Доступно несколько методов для отладки кодовой базы Orval.

Запуск среды разработки

Первым шагом при работе с проектом является настройка среды разработки. После выполнения инструкций по настройке в файле CONTRIBUTING.md вы можете использовать команду по умолчанию yarn dev для запуска кодовой базы локально. Эта команда является частью процесса turbo dev и запускает образец проекта, расположенный по адресу react-query/basic. Вы можете использовать этот образец как отправную точку для отладки выходных данных, сгенерированных проектом.

Если вы хотите попробовать отладку другого образца, вы можете обновить скрипт generate-api в файле package.json для ссылки на другой образец или изменить существующий образец react-query/basic по мере необходимости.

После настройки вашей среды останется только настроить вашу среду разработки (IDE) для возможности отладки с использованием точек останова. Это позволит вам шаг за шагом проходить через код и проверять конкретные области интереса.

Ниже приведен пример конфигурации для Visual Studio Code, который вы можете добавить в ваш файл launch.json:```json { "type": "node", "request": "launch", "name": "Запуск сервера разработки", "runtimeExecutable": "yarn", "args": ["dev"], "skipFiles": ["<node_internals>/**"], "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", "env": { "PATH": "${workspaceFolder}/node_modules/.bin:${env:PATH}" // Это гарантирует, что VS Code ссылается на локальные пакеты проекта }, "cwd": "${workspaceFolder}" }


Еще одним подходом к отладке является написание и запуск тестов. Это особенно полезно, если вы хотите изолировать конкретные части кода и оценить их производительность без углубления в полную кодовую базу.

Тестирование может быть более сложным, чем запуск среды разработки, так как это требует глубокого понимания интерфейсов и функций, которые вы хотите протестировать. Однако, после ознакомления с кодовой базой, этот подход становится очень эффективным для целенаправленной отладки.

Чтобы реализовать это, создайте файл теста рядом с файлом кода, который вы хотите протестировать. Например, если вы работаете над [operation.ts](./packages/core/src/getters/operation.ts), вы создадите соответствующий тестовый файл с именем [operation.test.ts](./packages/core/src/getters/operation.test.ts). Преимущества данного подхода:

1. Он улучшает общую базу кода, добавляя покрытие тестами.
2. Он позволяет тестировать изолированные части кода, делая процесс отладки более предсказуемым.

Чтобы запустить эти тесты в вашей IDE, вы можете использовать следующую конфигурацию в Visual Studio Code:```json
{
  "type": "node",
  "request": "launch",
  "name": "Отладка текущего тестового файла",
  "runtimeExecutable": "yarn",
  "args": [
    "test",
    "${file}" // Ссылается на текущий открытый файл в редакторе
  ],
  "skipFiles": ["<node_internals>/**"],
  "console": "integratedTerminal",
  "internalConsoleOptions": "neverOpen",
  "env": {
    "PATH": "${workspaceFolder}/node_modules/.bin:${env:PATH}" // Это гарантирует, что VS Code ссылается на локальные пакеты проекта
  },
  "cwd": "${workspaceFolder}"
}
```**Примечание для пользователей Windows:** Вам может потребоваться скорректировать путь `cwd`, чтобы включить конкретную директорию пакета, например `"${workspaceFolder}/packages/core"`.

## Устранение неполадок

### 1. Неопределённая функция при выполнении команды `generate`?

Из-за структуры монорепозитория отладка всего потока за один раз может быть затруднительной. Чтобы упростить процесс, попробуйте имитировать некоторые из пакетов или разбить поток на более мелкие, управляемые части.

Вы также можете извлечь параметры, переданные функции, создать фикстуры с этими значениями и импортировать их как JSON-файлы для тестирования изменений в изоляции.

### 2. Отсутствуют зависимости, такие как TSC или Vitest?

Эта ошибка возникает, когда ваша IDE не может найти необходимые двоичные файлы в `node_modules`. Обычно это означает, что вам нужно настроить вашу IDE для ссылки на локальную директорию `node_modules`. Используйте следующую переменную окружения для решения этой проблемы:

```json
"env": {
  "PATH": "${workspaceFolder}/node_modules/.bin:${env:PATH}"
}

3. Тесты не найдены в запускателе?

Эта проблема часто возникает в структуре монорепозитория, когда запускатель тестов не может найти правильный путь. Чтобы исправить это, укажите путь пакета в поле cwd, как показано ниже:

"cwd": "${workspaceFolder}/packages/{package-to-reference}"
```Это особенно распространено на Windows, где обработка путей требует более явной конфигурации.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-orval.git
git@api.gitlife.ru:oschina-mirror/mirrors-orval.git
oschina-mirror
mirrors-orval
mirrors-orval
master