feat: добавить поддержку 20 framework exact modes

Добавлены exact modes:
- vue@vite и vue@webpack
- nuxt@vite и nuxt@webpack
- svelte@vite, svelte@webpack и sveltekit@vite
- angular@application и angular@webpack
- astro@vite
- solid@vite, solid@webpack и solid-start@vite
- preact@vite и preact@webpack
- qwik@vite
- lit@vite и lit@webpack
- alpine@vite и alpine@webpack

Для каждого mode реализованы изолированный adapter, нативный
framework-компонент, declarations, manifest, CSS и внешний asset URL.

Добавлены production integration-стенды с генерацией, typecheck,
сборкой и Playwright-проверкой рендера спрайта и Viewer.

Обновлены Viewer, RU/EN-гайды, README, technical reference и AI skills.
Итоговая матрица включает 29 exact modes.

Проверки:
- 48 unit-тестов
- 29 integration E2E-тестов
This commit is contained in:
2026-07-15 16:56:44 +03:00
parent e54ab4991c
commit 8b3365f957
378 changed files with 21188 additions and 650 deletions

View File

@@ -2,10 +2,30 @@ export const apps = [
{ id: 'standalone', kind: 'static', output: 'dist', expectedSpritePath: '/app-icons/sprite.svg' },
{ id: 'standalone-vite', kind: 'static', output: 'dist' },
{ id: 'standalone-webpack', kind: 'static', output: 'dist' },
{ id: 'react-vite', kind: 'static', output: 'dist' },
{ id: 'react-webpack', kind: 'static', output: 'dist' },
{ id: 'next-app-turbopack', kind: 'next' },
{ id: 'next-app-webpack', kind: 'next' },
{ id: 'next-pages-turbopack', kind: 'next' },
{ id: 'next-pages-webpack', kind: 'next' },
{ id: 'react-vite', kind: 'static', output: 'dist', frameworkTab: 'React' },
{ id: 'react-webpack', kind: 'static', output: 'dist', frameworkTab: 'React' },
{ id: 'next-app-turbopack', kind: 'next', frameworkTab: 'React' },
{ id: 'next-app-webpack', kind: 'next', frameworkTab: 'React' },
{ id: 'next-pages-turbopack', kind: 'next', frameworkTab: 'React' },
{ id: 'next-pages-webpack', kind: 'next', frameworkTab: 'React' },
{ id: 'vue-vite', kind: 'static', output: 'dist', frameworkTab: 'Vue' },
{ id: 'vue-webpack', kind: 'static', output: 'dist', frameworkTab: 'Vue' },
{ id: 'nuxt-vite', kind: 'nuxt', frameworkTab: 'Vue' },
{ id: 'nuxt-webpack', kind: 'nuxt', frameworkTab: 'Vue' },
{ id: 'svelte-vite', kind: 'static', output: 'dist', frameworkTab: 'Svelte' },
{ id: 'svelte-webpack', kind: 'static', output: 'dist', frameworkTab: 'Svelte' },
{ id: 'sveltekit', kind: 'sveltekit', frameworkTab: 'Svelte' },
{ id: 'angular', kind: 'static', output: 'dist/angular/browser', frameworkTab: 'Angular' },
{ id: 'angular-webpack', kind: 'static', output: 'dist', frameworkTab: 'Angular' },
{ id: 'astro', kind: 'static', output: 'dist', frameworkTab: 'Astro' },
{ id: 'solid-vite', kind: 'static', output: 'dist', frameworkTab: 'Solid' },
{ id: 'solid-webpack', kind: 'static', output: 'dist', frameworkTab: 'Solid' },
{ id: 'solid-start-vite', kind: 'solid-start', frameworkTab: 'SolidStart' },
{ id: 'preact-vite', kind: 'static', output: 'dist', frameworkTab: 'Preact' },
{ id: 'preact-webpack', kind: 'static', output: 'dist', frameworkTab: 'Preact' },
{ id: 'qwik-vite', kind: 'static', output: 'dist', frameworkTab: 'Qwik' },
{ id: 'lit-vite', kind: 'static', output: 'dist', frameworkTab: 'Lit', shadowIcon: true },
{ id: 'lit-webpack', kind: 'static', output: 'dist', frameworkTab: 'Lit', shadowIcon: true },
{ id: 'alpine-vite', kind: 'static', output: 'dist', frameworkTab: 'Alpine' },
{ id: 'alpine-webpack', kind: 'static', output: 'dist', frameworkTab: 'Alpine' },
]