Skip to content

Commit 1d3a589

Browse files
committed
feat: migrate infralens into randy-code as a native /tools/infralens route (v0.7.16)
- copy infralens's full engine (18 checks, scoring, dns, ssrf/security, compare, history, recommendations) into src/infralens/, with dedicated tsconfig/vitest aliases (@infralens-*) to avoid collisions with existing src/ (including its own shadcn ui primitives, kept namespaced rather than merged — different variant scales, would've reskinned the migrated UI) - add native app router routes under app/tools/infralens (page, compare, docs, privacy, opengraph-image, catch-all 404), drop the old cross-repo rewrite proxy and INFRALENS_ORIGIN from next.config.mjs - scope infralens's original green-primary shadcn tokens under .infralens-scope so migrated components keep their look without reskinning them with randy-code's global blue tokens - port the 4 e2e specs into a serialized playwright project (rate-limited analysis flow), add a dedicated ci job, bring over docs/changelog/ security/license under docs/infralens - baseline: 36/36 non-pwa unit test files (282 tests), 25/25 e2e tests, lint/typecheck/build all green — pwa is the only deliberately dropped surface
1 parent a49ac4f commit 1d3a589

171 files changed

Lines changed: 21569 additions & 26 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,3 +95,28 @@ jobs:
9595
- run: pnpm e2e
9696
env:
9797
CI: true
98+
99+
e2e-infralens:
100+
name: E2E — InfraLens
101+
runs-on: ubuntu-latest
102+
needs: [lint, typecheck, test, build]
103+
steps:
104+
- uses: actions/checkout@v7
105+
106+
- uses: pnpm/action-setup@v6
107+
with:
108+
version: 10.7.0
109+
110+
- uses: actions/setup-node@v7
111+
with:
112+
node-version: 22
113+
cache: pnpm
114+
115+
- run: pnpm install --frozen-lockfile
116+
- run: pnpm exec playwright install --with-deps chromium webkit
117+
- run: pnpm build
118+
# Rate-limited (1 request/IP/30s) — must stay on a single worker,
119+
# see playwright.config.ts and migration plan §17/§28.
120+
- run: pnpm e2e:infralens
121+
env:
122+
CI: true

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# Changelog
22

3+
## [0.7.16] — 2026-08-10
4+
5+
### Contenu
6+
7+
- **InfraLens migré nativement dans Randy Code** (`INFRALENS_TO_RANDY_CODE_MIGRATION_MASTER_PLAN.md`, Phase 1) — copie intégrale du moteur (18 checks, scoring, DNS, sécurité/SSRF, compare, history, recommendations) dans `src/infralens/`, namespacé avec des alias tsconfig/vitest dédiés (`@infralens-*`) pour éviter toute collision avec le `src/` existant. Routes natives sous `app/tools/infralens/` (page, `/compare`, `/docs`, `/privacy`, `opengraph-image`, catch-all `[...slug]` pour le 404 stylé — Next ne route pas ça automatiquement une fois le `basePath` retiré). Le proxy `rewrites()` et `INFRALENS_ORIGIN` de `next.config.mjs` (Phase 7, v0.7.15) sont supprimés : `/tools/infralens` répond désormais directement depuis ce dépôt.
8+
- **Tokens InfraLens isolés** (`app/globals.css`, `.infralens-scope`) — la palette shadcn d'origine d'InfraLens (primaire vert) est réappliquée dans un scope dédié autour de `app/tools/infralens`, pour ne pas hériter silencieusement du bleu global de Randy Code sur ses composants migrés. Harmonisation profonde volontairement différée.
9+
- **E2E InfraLens** (`e2e/infralens/`) — 4 specs migrées dans deux projets Playwright dédiés (`infralens-desktop`/`infralens-mobile`, 1 worker — le flux d'analyse est rate-limité à 1 requête/IP/30s), lancés via `pnpm e2e:infralens` et un nouveau job CI séparé.
10+
- **Documentation d'origine conservée** sous `docs/infralens/` (README, CHANGELOG, SECURITY, CONTRIBUTING, LICENSE MIT, master/branding plans InfraLens) ; README principal mis à jour avec une section "Outils intégrés".
11+
12+
### Outillage
13+
14+
- `pnpm check` inclut désormais les tests unitaires (`pnpm test --run`), qui ne l'étaient pas avant.
15+
- Dépendances ajoutées : `@radix-ui/react-{accordion,collapsible,dialog,separator,slot,tooltip}`, `ip-address`, `nanoid`, `undici`, `@axe-core/playwright` (dev) — uniquement celles réellement importées par le code migré.
16+
17+
### Connu — reste à faire
18+
19+
- Baseline complète (`docs/infralens/MIGRATION_BASELINE.md`) et suite de validation déjà vertes (282 tests unitaires, 25/25 E2E InfraLens, 15/15 E2E portfolio, build) mais `docs/infralens/MIGRATION_PARITY.md` (comparaison formelle source/cible, Phase 2 du plan) reste à rédiger.
20+
- Ancien dépôt `infralens` et domaine `infralens.dev` pas encore traités (archivage, redirection) — prévu Phase 3 du plan de migration.
21+
- Harmonisation de la palette (vert InfraLens vs bleu Randy Code) volontairement reportée.
22+
323
## [0.7.15] — 2026-08-10
424

525
### Contenu

0 commit comments

Comments
 (0)