docs: переработать раздел REST-клиента и стратегий получения данных
All checks were successful
CI/CD Pipeline / docker (push) Successful in 45s
CI/CD Pipeline / deploy (push) Successful in 7s

- Добавлен обзор REST с разделением на «Создание клиента» и «Использование»
- Добавлена страница создания клиента с описанием структуры модуля
- Переписана автогенерация: npx без --swr, расширения типов вынесены в types/
- Ручной клиент сокращён до шаблона по файлам
- Добавлены GET-хуки REST-клиента с контрактом useGet..., key-функциями и isReady
- Добавлена страница выбора стратегий с приоритетом ISR перед SSR
- Добавлены стратегии: серверный await, параллельные запросы, передача промиса,
  начальные данные для клиентских хуков, клиентский GET-хук, business-композиция
- Уточнено влияние серверного await и SWR fallback на режим рендера
- Удалены устаревшие страницы fetching/server.md и fetching/client.md
- Обновлён generate-llms.ts: очистка stale-файлов перед копированием
- Обновлены сайдбар, MAP.md, data/index.md, page-level.md
This commit is contained in:
2026-04-30 16:01:18 +03:00
parent f4e78e3227
commit e835210d6d
19 changed files with 1287 additions and 743 deletions

View File

@@ -227,7 +227,6 @@ const copyDirSync = (
const srcPath = path.join(src, entry.name);
const destPath = path.join(dest, entry.name);
if (entry.isDirectory()) {
fs.mkdirSync(destPath, { recursive: true });
count += copyDirSync(srcPath, destPath, filter);
} else if (entry.isFile() && filter(entry.name)) {
fs.mkdirSync(dest, { recursive: true });
@@ -250,6 +249,8 @@ const copyMdFiles = (): void => {
const destDir = path.join(PUBLIC_DIR, 'docs');
if (!fs.existsSync(srcDir)) return;
fs.rmSync(destDir, { recursive: true, force: true });
const copied = copyDirSync(
srcDir,
destDir,
@@ -321,6 +322,8 @@ const transformLinksInDir = (rootDir: string): void => {
* в архив как есть.
*/
const buildZip = (): void => {
fs.rmSync(path.resolve(PUBLIC_DIR, 'nextjs-style-guide'), { recursive: true, force: true });
const tmpRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'nsg-'));
const stage = path.join(tmpRoot, 'nextjs-style-guide');
fs.mkdirSync(stage, { recursive: true });