create-apollo-monorepo 0.9.5 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/index.mjs +2 -16
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -47,7 +47,6 @@ collide:
|
|
|
47
47
|
| `/admin/*` | `apps/backend` (admin pages **and** their JS chunks) |
|
|
48
48
|
| `/api/auth/*`, `/api/v1/*`, `/api/admin/*`, `/api/email/*`, `/api/cron`, `/api/health`, `/api/mcp`, `/api/editing-presence/*` | `apps/backend` |
|
|
49
49
|
| `/uploads/*` | `apps/backend` (media) |
|
|
50
|
-
| `/monitoring` | `apps/backend` (Sentry tunnel, no-op without DSN) |
|
|
51
50
|
|
|
52
51
|
Apollo CMS reads `APOLLO_ASSET_PREFIX` (default `/admin`) and serves its built
|
|
53
52
|
JS under `<prefix>/_next/static/`. Because the prefix coincides with the admin
|
package/index.mjs
CHANGED
|
@@ -412,15 +412,6 @@ function writeRootPackageJson(targetDir, dirName) {
|
|
|
412
412
|
"strict-peer-dependencies=false",
|
|
413
413
|
"public-hoist-pattern[]=*esbuild*",
|
|
414
414
|
"public-hoist-pattern[]=*types*",
|
|
415
|
-
// Next.js 16's instrumentation hook (used by Sentry / OpenTelemetry
|
|
416
|
-
// shipped via apollo-cms) loads require-in-the-middle / import-in-the-middle
|
|
417
|
-
// at runtime via a bare require. Under pnpm's strict node_modules these
|
|
418
|
-
// sit deep inside .pnpm/ and the resolver can't see them — Next then
|
|
419
|
-
// crashes on boot with "Failed to load external module require-in-the-middle".
|
|
420
|
-
// Hoisting them (plus their `shimmer` dep) to the root node_modules fixes it.
|
|
421
|
-
"public-hoist-pattern[]=*require-in-the-middle*",
|
|
422
|
-
"public-hoist-pattern[]=*import-in-the-middle*",
|
|
423
|
-
"public-hoist-pattern[]=*shimmer*",
|
|
424
415
|
"shell-emulator=true",
|
|
425
416
|
"",
|
|
426
417
|
].join("\n"),
|
|
@@ -467,7 +458,6 @@ function writePnpmWorkspace(targetDir) {
|
|
|
467
458
|
" - '@rolldown/binding-darwin-arm64'",
|
|
468
459
|
" - '@rolldown/binding-linux-arm64-gnu'",
|
|
469
460
|
" - '@rolldown/binding-linux-x64-gnu'",
|
|
470
|
-
" - '@sentry/cli'",
|
|
471
461
|
" - '@swc/core'",
|
|
472
462
|
" - '@swc/core-darwin-arm64'",
|
|
473
463
|
" - '@swc/core-darwin-x64'",
|
|
@@ -510,11 +500,10 @@ server {
|
|
|
510
500
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
511
501
|
proxy_set_header X-Forwarded-Host $host;
|
|
512
502
|
|
|
513
|
-
# Backend — admin UI + chunks (APOLLO_ASSET_PREFIX=${prefix}), media
|
|
503
|
+
# Backend — admin UI + chunks (APOLLO_ASSET_PREFIX=${prefix}), media
|
|
514
504
|
location = ${prefix} { proxy_pass http://apollo_backend; }
|
|
515
505
|
location ^~ ${prefix}/ { proxy_pass http://apollo_backend; }
|
|
516
506
|
location ^~ /uploads/ { proxy_pass http://apollo_backend; }
|
|
517
|
-
location = /monitoring { proxy_pass http://apollo_backend; }
|
|
518
507
|
|
|
519
508
|
# Backend SSE — long-lived, no buffering
|
|
520
509
|
location ^~ /api/editing-presence/ {
|
|
@@ -548,7 +537,7 @@ function writeProxyApp(targetDir, dirName, adminPrefix) {
|
|
|
548
537
|
// Mirrors ../../nginx.conf.sample. Run via \`pnpm dev:rp\` from the repo root.
|
|
549
538
|
//
|
|
550
539
|
// Routes (in order):
|
|
551
|
-
// ${prefix}, ${prefix}/*, /uploads
|
|
540
|
+
// ${prefix}, ${prefix}/*, /uploads/* → backend
|
|
552
541
|
// /api/editing-presence/* → backend (SSE)
|
|
553
542
|
// /api/{auth,v1,cron,email,health,mcp,admin,...}/* → backend
|
|
554
543
|
// /__proxy/health → 200 OK (proxy itself)
|
|
@@ -634,7 +623,6 @@ function pickUpstream(url) {
|
|
|
634
623
|
if (url === ADMIN_PREFIX || url.startsWith(\`\${ADMIN_PREFIX}/\`))
|
|
635
624
|
return { ...BACKEND, agent: backendAgent };
|
|
636
625
|
if (url.startsWith("/uploads/")) return { ...BACKEND, agent: backendAgent };
|
|
637
|
-
if (url === "/monitoring") return { ...BACKEND, agent: backendAgent };
|
|
638
626
|
if (BACKEND_API.test(url)) return { ...BACKEND, agent: backendAgent };
|
|
639
627
|
return { ...FRONTEND, agent: frontendAgent };
|
|
640
628
|
}
|
|
@@ -1076,8 +1064,6 @@ const config: NextConfig = {
|
|
|
1076
1064
|
{ source: "/api/admin/:path*", destination: \`\${BACKEND}/api/admin/:path*\` },
|
|
1077
1065
|
// Media uploads
|
|
1078
1066
|
{ source: "/uploads/:path*", destination: \`\${BACKEND}/uploads/:path*\` },
|
|
1079
|
-
// Sentry tunnel (no-op if SENTRY_DSN isn't set on the backend)
|
|
1080
|
-
{ source: "/monitoring", destination: \`\${BACKEND}/monitoring\` },
|
|
1081
1067
|
${extraPrefixRewrite} ];
|
|
1082
1068
|
},
|
|
1083
1069
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-apollo-monorepo",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.6",
|
|
4
4
|
"description": "Scaffold a monorepo with a frontend app and Apollo CMS as a git submodule backend (single-origin via Next.js rewrites + assetPrefix)",
|
|
5
5
|
"bin": {
|
|
6
6
|
"create-apollo-monorepo": "index.mjs"
|