Code Gen
Пакет содержит инструменты для генерации кода.
Install
npm install @astral/code-gen
Arch Code Gen
Генерация api слоя из data
Что делает:
- Перемещает sources в api
- Переименовывает sources в endpoints
- Объединяет типы в sources dto.ts в namespaces + переименовывает типы, удаляя лишние постфиксы
- Находит все места использования и изменяет названия, обращения через namespace
- Переименовывает namespace, удаляя постфиксы NetworkSources. Находит все места использования и изменяет их
- Перемещает fakers из sources в api/_fakers, вместе с utils
- Находит места использования и изменяет импорты
- Генерирует fetchers на основе endpoints
- Перемещает enums.ts и types.ts из data и sources в api
- Помечает все Repositories как deprecated
Использование
Создайте в корне проекта или подпроекта монорепы файл:
codemod.js
const { migrateManualDataToApiLayer } = require('@astral/code-gen');
migrateManualDataToApiLayer();
node codemode.js
Если используете actual директорию:
const { migrateManualDataToApiLayer } = require('@astral/code-gen');
migrateManualDataToApiLayer({ useActualDirectory: true });
Если экспортировали из data слоя sources и использовали их, то необходимо указать путь до modules, где использовались типы:
const { migrateManualDataToApiLayer } = require('@astral/code-gen');
migrateManualDataToApiLayer({ useActualDirectory: true, dtoRenamingPaths: ['./modules'] });