feat(F-164): completed feature
This commit is contained in:
@@ -6800,13 +6800,15 @@
|
||||
"description": "Upgrade POS Next.js from outdated 15.x to the supported version aligned with Admin and fix resulting config/build compatibility.",
|
||||
"priority": "high",
|
||||
"risk": "med",
|
||||
"status": "pending",
|
||||
"status": "done",
|
||||
"created_at": "2026-08-22",
|
||||
"gates": {
|
||||
"reviewer": false,
|
||||
"security": false,
|
||||
"qa": false
|
||||
}
|
||||
"reviewer": true,
|
||||
"security": true,
|
||||
"qa": true,
|
||||
"close": true
|
||||
},
|
||||
"completed_at": "2026-08-22T16:25:21Z"
|
||||
},
|
||||
{
|
||||
"id": "F-165",
|
||||
|
||||
9
project/apps/pos/AGENTS.md
Normal file
9
project/apps/pos/AGENTS.md
Normal file
@@ -0,0 +1,9 @@
|
||||
<!-- BEGIN:nextjs-agent-rules -->
|
||||
|
||||
# This is NOT the Next.js you know
|
||||
|
||||
This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` (resolved from this file's directory; in monorepos the `next` package may not be visible from the repo root) before writing any code. Heed deprecation notices.
|
||||
|
||||
This block is written and re-added by `next dev` — verify at `node_modules/next/dist/server/lib/generate-agent-files.js`. Removing it from a diff only re-creates the uncommitted change; committing it with your work keeps the tree clean.
|
||||
|
||||
<!-- END:nextjs-agent-rules -->
|
||||
1
project/apps/pos/CLAUDE.md
Normal file
1
project/apps/pos/CLAUDE.md
Normal file
@@ -0,0 +1 @@
|
||||
@AGENTS.md
|
||||
3
project/apps/pos/next-env.d.ts
vendored
3
project/apps/pos/next-env.d.ts
vendored
@@ -1,6 +1,7 @@
|
||||
/// <reference types="next" />
|
||||
/// <reference types="next/image-types/global" />
|
||||
/// <reference path="./.next/types/routes.d.ts" />
|
||||
import "./.next/dev/types/routes.d.ts";
|
||||
import "./.next/dev/types/root-params.d.ts";
|
||||
|
||||
// NOTE: This file should not be edited
|
||||
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
||||
|
||||
@@ -2,6 +2,10 @@ import type { NextConfig } from 'next';
|
||||
|
||||
const nextConfig: NextConfig = {
|
||||
allowedDevOrigins: ['192.168.18.93', 'localhost'],
|
||||
turbopack: {
|
||||
root: __dirname,
|
||||
},
|
||||
outputFileTracingRoot: __dirname,
|
||||
};
|
||||
|
||||
export default nextConfig;
|
||||
|
||||
1091
project/apps/pos/package-lock.json
generated
1091
project/apps/pos/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -8,17 +8,18 @@
|
||||
"start": "next start --port 3006"
|
||||
},
|
||||
"dependencies": {
|
||||
"next": "^15.1.0",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0"
|
||||
"next": "^16.3.1",
|
||||
"react": "^19.2.8",
|
||||
"react-dom": "^19.2.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/postcss": "^4.3.3",
|
||||
"@types/node": "^22.0.0",
|
||||
"@types/react": "^19.0.0",
|
||||
"@types/react-dom": "^19.0.0",
|
||||
"typescript": "^5.7.0",
|
||||
"tailwindcss": "^4.0.0",
|
||||
"autoprefixer": "^10.4.0",
|
||||
"postcss": "^8.4.0"
|
||||
"postcss": "^8.4.0",
|
||||
"tailwindcss": "^4.0.0",
|
||||
"typescript": "^5.7.0"
|
||||
}
|
||||
}
|
||||
|
||||
5
project/apps/pos/postcss.config.mjs
Normal file
5
project/apps/pos/postcss.config.mjs
Normal file
@@ -0,0 +1,5 @@
|
||||
export default {
|
||||
plugins: {
|
||||
'@tailwindcss/postcss': {},
|
||||
},
|
||||
};
|
||||
@@ -1,6 +1,4 @@
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
@import 'tailwindcss';
|
||||
|
||||
:root {
|
||||
--color-primary: #2D6A4F;
|
||||
|
||||
@@ -3,7 +3,7 @@ import type { NextRequest } from 'next/server';
|
||||
|
||||
const PUBLIC_PATHS = ['/login', '/api/auth'];
|
||||
|
||||
export function middleware(request: NextRequest) {
|
||||
export function proxy(request: NextRequest) {
|
||||
const { pathname } = request.nextUrl;
|
||||
|
||||
// Allow public paths
|
||||
@@ -8,7 +8,7 @@
|
||||
],
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "bundler",
|
||||
"jsx": "preserve",
|
||||
"jsx": "react-jsx",
|
||||
"strict": true,
|
||||
"noEmit": true,
|
||||
"esModuleInterop": true,
|
||||
@@ -32,7 +32,8 @@
|
||||
"next.config.ts",
|
||||
"src/**/*.ts",
|
||||
"src/**/*.tsx",
|
||||
".next/types/**/*.ts"
|
||||
".next/types/**/*.ts",
|
||||
".next/dev/types/**/*.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
|
||||
3
work/artifacts/F-164/architect.md
Normal file
3
work/artifacts/F-164/architect.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# F-164 — Diseño
|
||||
|
||||
Usar las mismas versiones runtime que Admin (`next 16.3.1`, `react/react-dom 19.2.8`) para reducir divergencia. Mantener API App Router y proxy existing. El lockfile de POS es autoritativo para esa app. Validar build production y flujo LAN.
|
||||
3
work/artifacts/F-164/documenter.md
Normal file
3
work/artifacts/F-164/documenter.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# F-164
|
||||
|
||||
POS alineado con Admin en Next.js 16.3.1/React 19.2.8. Convención `proxy.ts` y Tailwind 4 configurados según documentación local de Next 16.
|
||||
8
work/artifacts/F-164/implementer.md
Normal file
8
work/artifacts/F-164/implementer.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# F-164 — Implementer
|
||||
|
||||
- POS actualizado a Next 16.3.1 y React/ReactDOM 19.2.8.
|
||||
- Lockfile actualizado; audit 0 vulnerabilidades.
|
||||
- Migrado middleware→proxy según docs Next 16.
|
||||
- Tailwind 4 configurado con @tailwindcss/postcss y `@import 'tailwindcss'`; eliminadas warnings CSS.
|
||||
- Turbopack/output tracing root explícitos.
|
||||
- Build/tsc PASS; LAN login/bind/config 200/200/200.
|
||||
1
work/artifacts/F-164/leader-close.json
Normal file
1
work/artifacts/F-164/leader-close.json
Normal file
@@ -0,0 +1 @@
|
||||
{"feature_id":"F-164","agent":"leader","stage":"close","verdict":"APPROVED","checks":[{"item":"all gates/build/audit/runtime","ok":true}],"issues":[]}
|
||||
1
work/artifacts/F-164/qa.json
Normal file
1
work/artifacts/F-164/qa.json
Normal file
@@ -0,0 +1 @@
|
||||
{"feature_id":"F-164","agent":"qa","stage":"qa_gate","verdict":"APPROVED","checks":[{"item":"Next 16 build","ok":true},{"item":"TypeScript","ok":true},{"item":"Tailwind CSS processing","ok":true},{"item":"login/bind/config","ok":true,"evidence":"200/200/200"}],"issues":[]}
|
||||
1
work/artifacts/F-164/reviewer.json
Normal file
1
work/artifacts/F-164/reviewer.json
Normal file
@@ -0,0 +1 @@
|
||||
{"feature_id":"F-164","agent":"reviewer","stage":"review_gate","verdict":"APPROVED","checks":[{"item":"Next 16 migration","ok":true},{"item":"clean build","ok":true},{"item":"runtime flow","ok":true}],"issues":[]}
|
||||
1
work/artifacts/F-164/security.json
Normal file
1
work/artifacts/F-164/security.json
Normal file
@@ -0,0 +1 @@
|
||||
{"feature_id":"F-164","agent":"security","stage":"security_gate","verdict":"APPROVED","checks":[{"item":"npm audit production","ok":true,"evidence":"0 vulnerabilities"},{"item":"proxy auth flow","ok":true}],"issues":[]}
|
||||
@@ -1,3 +1,3 @@
|
||||
# F-166 — Remove duplicate VAT rate in storefront price
|
||||
# F-164 — Update outdated POS Next.js
|
||||
|
||||
En ficha de producto mantener `PVP inc. IVA` y mostrar el porcentaje solo en el desglose neto: `€14.40 sin IVA · IVA 10%`.
|
||||
Alinear POS con Admin: Next.js `16.3.1`, React/ReactDOM `19.2.8`. Actualizar lockfile, adaptar incompatibilidades de build y validar login/proxy/config.
|
||||
|
||||
@@ -1,68 +1,68 @@
|
||||
{
|
||||
"feature_id": "F-166",
|
||||
"feature_id": "F-164",
|
||||
"stage": "close",
|
||||
"agent": "leader",
|
||||
"action": "Close VAT label fix",
|
||||
"action": "Close POS Next upgrade",
|
||||
"state": "running",
|
||||
"next_agent": "leader",
|
||||
"waiting_for": "Seleccionar una feature pending y actualizar este estado",
|
||||
"updated_at": "2026-08-22T16:20:59Z",
|
||||
"updated_at": "2026-08-22T16:25:00Z",
|
||||
"timeline": [
|
||||
{
|
||||
"ts": "2026-08-22T16:18:46Z",
|
||||
"ts": "2026-08-22T16:21:23Z",
|
||||
"agent": "leader",
|
||||
"stage": "intake",
|
||||
"state": "running",
|
||||
"message": "Remove repeated VAT rate from storefront price"
|
||||
"message": "Align POS Next.js with Admin supported version"
|
||||
},
|
||||
{
|
||||
"ts": "2026-08-22T16:19:03Z",
|
||||
"ts": "2026-08-22T16:21:38Z",
|
||||
"agent": "architect",
|
||||
"stage": "design",
|
||||
"state": "running",
|
||||
"message": "Keep VAT rate only in price breakdown"
|
||||
"message": "Plan POS framework version alignment"
|
||||
},
|
||||
{
|
||||
"ts": "2026-08-22T16:19:18Z",
|
||||
"ts": "2026-08-22T16:21:52Z",
|
||||
"agent": "implementer",
|
||||
"stage": "build",
|
||||
"state": "running",
|
||||
"message": "Remove duplicate VAT percent label"
|
||||
"message": "Upgrade POS Next and React dependencies"
|
||||
},
|
||||
{
|
||||
"ts": "2026-08-22T16:19:59Z",
|
||||
"ts": "2026-08-22T16:23:59Z",
|
||||
"agent": "reviewer",
|
||||
"stage": "review_gate",
|
||||
"state": "running",
|
||||
"message": "Review VAT label"
|
||||
"message": "Review POS framework migration"
|
||||
},
|
||||
{
|
||||
"ts": "2026-08-22T16:20:11Z",
|
||||
"ts": "2026-08-22T16:24:11Z",
|
||||
"agent": "security",
|
||||
"stage": "security_gate",
|
||||
"state": "running",
|
||||
"message": "Check display-only change"
|
||||
"message": "Audit upgraded dependencies"
|
||||
},
|
||||
{
|
||||
"ts": "2026-08-22T16:20:24Z",
|
||||
"ts": "2026-08-22T16:24:25Z",
|
||||
"agent": "qa",
|
||||
"stage": "qa_gate",
|
||||
"state": "running",
|
||||
"message": "Validate one VAT rate label"
|
||||
"message": "Validate upgraded POS build and LAN flow"
|
||||
},
|
||||
{
|
||||
"ts": "2026-08-22T16:20:36Z",
|
||||
"ts": "2026-08-22T16:24:41Z",
|
||||
"agent": "documenter",
|
||||
"stage": "document",
|
||||
"state": "running",
|
||||
"message": "Document VAT label"
|
||||
"message": "Document POS framework upgrade"
|
||||
},
|
||||
{
|
||||
"ts": "2026-08-22T16:20:59Z",
|
||||
"ts": "2026-08-22T16:25:00Z",
|
||||
"agent": "leader",
|
||||
"stage": "close",
|
||||
"state": "running",
|
||||
"message": "Close VAT label fix"
|
||||
"message": "Close POS Next upgrade"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user