พอร์ต taskpane ของ Word add-in "e-Court Documents Versioning" จาก D:\word-addin-poc มาเป็น sibling app ที่ route /docedit/wordaddin: - wordaddin/ (client-only zone): services พอร์ตดิบทั้งชุด (authService/versioningService เป็น mock รอ backend จริง) + models + config - components/wordaddin/: WordAddinGate ฉีด office.js self-host (singleton กัน StrictMode double-inject + fallback timer ครอบเคส onReady เงียบ) และ TaskpaneApp state machine แปลง JSX เป็น Genesis design system - scripts/fetch-office-js.mjs (postinstall ตัวที่สาม): ดาวน์โหลด Office.js runtime ล่าสุดจาก CDN Microsoft ไป public/wordaddin/office-js/ (gitignore สร้างใหม่ได้ — npm @microsoft/office-js ตกรุ่นไม่มี Document.close) - middleware/basePath/root page: เปิด /wordaddin เป็น public (auth แยกจาก แอป note), root /docedit redirect ไป taskpane ยกเว้นลิงก์ e-Court N8 (?fileUrl=&fileId=&typeId=) ที่ยังส่งต่อ /note ตามเดิม - docker/web.Dockerfile รัน fetch-office-js ตอน build + npm scripts dev:https สำหรับ sideload ตาม docs/WORDADDIN-DEV.md Co-Authored-By: Claude Code <noreply@anthropic.com>
48 lines
1.5 KiB
JSON
48 lines
1.5 KiB
JSON
{
|
|
"name": "judes-note",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"test": "vitest run",
|
|
"start": "next start",
|
|
"seed-samples": "node --env-file=.env scripts/seed-samples.mjs",
|
|
"postinstall": "node scripts/patch-pdf-worker.mjs && node scripts/copy-swagger-ui.mjs && node scripts/fetch-office-js.mjs",
|
|
"dev:https": "next dev --experimental-https",
|
|
"dev:https:cert": "next dev --experimental-https --experimental-https-key certs/localhost.key --experimental-https-cert certs/localhost.crt"
|
|
},
|
|
"dependencies": {
|
|
"@pdf-lib/fontkit": "^1.1.1",
|
|
"@xmldom/xmldom": "^0.9.12",
|
|
"drizzle-orm": "^0.45.2",
|
|
"lucide-react": "^1.42.0",
|
|
"next": "^14.2.35",
|
|
"pdf-lib": "^1.17.1",
|
|
"pdfjs-dist": "^4.10.38",
|
|
"pizzip": "^3.3.0",
|
|
"pngjs": "^7.0.0",
|
|
"postgres": "^3.4.9",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"swagger-ui-dist": "^5.33.1",
|
|
"utif2": "^4.1.0",
|
|
"xpath": "^0.0.34"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^26.5.0",
|
|
"@types/office-js": "^1.0.612",
|
|
"@types/pngjs": "^6.0.5",
|
|
"@types/react": "^18.3.31",
|
|
"@types/react-dom": "^18.3.7",
|
|
"autoprefixer": "^10.5.5",
|
|
"drizzle-kit": "^0.31.10",
|
|
"jsdom": "^29.1.1",
|
|
"office-addin-debugging": "^7.0.1",
|
|
"office-addin-dev-settings": "^4.0.1",
|
|
"postcss": "^8.5.28",
|
|
"tailwindcss": "^3.4.19",
|
|
"typescript": "^5.9.3",
|
|
"vitest": "^5.0.0"
|
|
}
|
|
}
|