Commit Graph

156 Commits

Author SHA1 Message Date
9d5f4fca33 build(web-next): swap deps to core-* + feature packages, transpile new workspaces 2026-05-05 08:52:37 +02:00
5620fae116 feat(navigation): add bindProductionNavigation(config) DI helper 2026-05-05 08:50:47 +02:00
02aee1ec23 feat(marketing-pages): add bindProductionMarketingPages(config) DI helper 2026-05-05 08:50:30 +02:00
ef42abb3e1 feat(auth): add bindProductionAuth(config) helper (no-op pending payload-users repo) 2026-05-05 08:50:08 +02:00
f981266fd5 feat(blog): add bindProductionBlog(config) DI helper for app boot 2026-05-05 08:49:55 +02:00
cdd7513032 docs(plan-5): add superjson transformer to httpBatchLink in both providers
Server uses superjson via core-shared/trpc/init's initTRPC config.
Client httpBatchLink must match or complex types (Date, Map, Set)
silently break on the wire. Caught during execution.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 08:48:49 +02:00
b14db95cfb feat(core-trpc): add Next.js + TanStack provider components 2026-05-05 08:47:07 +02:00
8d80361785 feat(core-trpc): add typed React tRPC client + getQueryClient 2026-05-05 08:46:24 +02:00
a3b72f5a7f docs(plan): add Plan 5 (app + UI integration)
17 tasks: populate core-trpc with React client + per-framework providers;
add bindProduction(config) helpers to each payload-backed feature;
swap web-next deps from @repo/api/api-client/ui to core-* + features;
wire tRPC route handler with idempotent bindAllProduction(); render
example pages (home with nav + site name + article list, /about,
/blog/[slug]); parallel-prove framework portability in web-tanstack.
First plan that produces browser-rendered output.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 08:43:04 +02:00
fbaac002a3 feat(core-cms): regenerate types — now includes Pages, SiteSettings, Header 2026-05-05 08:38:21 +02:00
1ad5b801f7 feat(core-api): compose marketingPages + navigation routers into appRouter 2026-05-05 08:36:29 +02:00
158e2bab5a feat(core-cms): compose pages + siteSettings + header into payload config 2026-05-05 08:35:54 +02:00
014dbc81ec feat(navigation): add controller + tRPC router + header global + barrel 2026-05-05 08:34:37 +02:00
19f32ec94d feat(navigation): add Header entity + use-case + mock/payload repos + DI container 2026-05-05 08:34:14 +02:00
f71025b14a feat(navigation): scaffold empty package with feature tag + path aliases 2026-05-05 08:33:44 +02:00
36e7515717 feat(marketing-pages): add ui/query + barrel + feature test 2026-05-05 08:32:08 +02:00
7b64415020 feat(marketing-pages): add tRPC router with pageBySlug + siteSettings 2026-05-05 08:31:49 +02:00
a44142b875 feat(marketing-pages): add pages collection + siteSettings global 2026-05-05 08:31:37 +02:00
23e7885fc4 feat(marketing-pages): add pages controller (getBySlug + getSiteSettings) 2026-05-05 08:31:24 +02:00
5ffffe4905 feat(marketing-pages): add Payload-backed pages + site-settings repos (constructor-injected config) 2026-05-05 08:31:12 +02:00
ff6fec7eab fix(tsconfig): set rootDir explicitly in feature packages
TypeScript emits an informational diagnostic when source files span
multiple top-level dirs (src/ + tests/) without explicit rootDir.
Setting rootDir="." satisfies the recommendation and matches the
include pattern. Updates blog, auth, marketing-pages — and Plan 4
doc so navigation (still pending) starts correct.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 08:30:19 +02:00
875bae3fde feat(marketing-pages): add per-feature InversifyJS container 2026-05-05 08:28:50 +02:00
e383c9ef3f feat(marketing-pages): add Mock pages + site-settings repositories 2026-05-05 08:28:32 +02:00
903c1e23ac feat(marketing-pages): add getSiteSettingsUseCase (test red until DI lands) 2026-05-05 08:28:19 +02:00
141e007d22 feat(marketing-pages): add getPageBySlugUseCase (test red until DI lands) 2026-05-05 08:28:12 +02:00
63801bf3dc feat(marketing-pages): add IPagesRepository + ISiteSettingsRepository interfaces 2026-05-05 08:28:03 +02:00
3ff4afe04b feat(marketing-pages): add Page + SiteSettings entities + errors 2026-05-05 08:27:53 +02:00
9e8adb67c0 feat(marketing-pages): scaffold empty package with feature tag + path aliases 2026-05-05 08:27:34 +02:00
09f45afab1 docs(plan): add Plan 4 (marketing-pages + navigation features)
17 tasks: marketing-pages with Pages collection + SiteSettings global +
read use-cases + tRPC router; navigation with Header global + read
use-case + tRPC router. Composes both into core-cms (now 4 collections,
2 globals) and core-api (now 4 namespaces). All Plan 2/3 lessons baked in.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 08:24:33 +02:00
afe7a15104 feat(core-cms): regenerate types — now includes Articles, Users, Media 2026-05-05 08:18:46 +02:00
aed8c9a6ad feat(core-api): compose @repo/auth/api into appRouter under 'auth' namespace 2026-05-05 08:16:25 +02:00
8667232c22 feat(blog): restore author relationship → users + featuredImage upload → media 2026-05-05 08:14:07 +02:00
125ec53f2a feat(core-cms): compose users + media into payload config alongside articles 2026-05-05 08:13:10 +02:00
50b687c43e feat(media): scaffold feature package with media collection only 2026-05-05 08:11:50 +02:00
3770764ac5 test(auth): add feature test for sign-up → sign-in → sign-out flow 2026-05-05 07:58:53 +02:00
9b59c73457 feat(auth): wire root barrel + ui/query stub 2026-05-05 07:58:38 +02:00
30b49ca19b feat(auth): add tRPC router with signIn + signUp + signOut 2026-05-05 07:58:20 +02:00
2e445b9c5b feat(auth): add users collection with role + displayName fields 2026-05-05 07:57:16 +02:00
29dea75a62 feat(auth): add sign-in/sign-up/sign-out controllers with Zod validation 2026-05-05 07:19:19 +02:00
2ad6b21f17 feat(auth): add per-feature InversifyJS container with constructor-injected service 2026-05-05 00:40:09 +02:00
b8cfe0e1f2 feat(auth): add MockAuthenticationService with constructor-injected users repo 2026-05-05 00:39:48 +02:00
1becc23843 feat(auth): add MockUsersRepository with seed users 2026-05-05 00:39:46 +02:00
786f3c3420 feat(auth): add signOutUseCase (test red until DI lands) 2026-05-05 00:39:31 +02:00
c989df41d5 feat(auth): add signUpUseCase (test red until DI lands) 2026-05-05 00:39:22 +02:00
bc430ea5a0 feat(auth): add signInUseCase (test red until DI lands) 2026-05-05 00:39:11 +02:00
95e80ef62c feat(auth): add IUsersRepository + IAuthenticationService interfaces 2026-05-05 00:39:01 +02:00
ceffd05063 feat(auth): add User, Cookie, Session entities + errors + config 2026-05-05 00:38:49 +02:00
54dc9d33d5 feat(auth): scaffold empty package with feature tag + path aliases 2026-05-05 00:37:13 +02:00
42ef78bcfd docs(plan): add Plan 3 (Auth + Media + restore blog relations)
17 tasks: full auth feature canonical migration (entities, services,
use-cases, DI with constructor-injected service, controllers, users
collection, tRPC router); skeleton media feature (collection only);
restore blog's author→users relation and featuredImage→media upload.
Bakes in all Plan-2 lessons (vitest alias, no rootDir, relative imports
in src, no @repo/core-cms in feature deps).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 00:35:51 +02:00
e217652a87 fix(blog): remove rootDir constraint to allow tests/**/* inclusion in typecheck 2026-05-05 00:27:25 +02:00