@reckona/mreact-router 0.0.41 → 0.0.43
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 +9 -0
- package/dist/actions.js +5 -1
- package/dist/actions.js.map +1 -1
- package/dist/adapters/aws-lambda.d.ts +2 -0
- package/dist/adapters/aws-lambda.d.ts.map +1 -1
- package/dist/adapters/aws-lambda.js +25 -3
- package/dist/adapters/aws-lambda.js.map +1 -1
- package/dist/adapters/cloudflare.d.ts.map +1 -1
- package/dist/adapters/cloudflare.js +18 -4
- package/dist/adapters/cloudflare.js.map +1 -1
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +53 -8
- package/dist/build.js.map +1 -1
- package/dist/cache.d.ts +6 -2
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +76 -16
- package/dist/cache.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +110 -6
- package/dist/client.js.map +1 -1
- package/dist/cookies.d.ts.map +1 -1
- package/dist/cookies.js +6 -1
- package/dist/cookies.js.map +1 -1
- package/dist/file-conventions.d.ts +10 -0
- package/dist/file-conventions.d.ts.map +1 -0
- package/dist/file-conventions.js +60 -0
- package/dist/file-conventions.js.map +1 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/module-runner.d.ts +1 -1
- package/dist/module-runner.d.ts.map +1 -1
- package/dist/module-runner.js +2 -1
- package/dist/module-runner.js.map +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +296 -46
- package/dist/render.js.map +1 -1
- package/dist/route-source.d.ts.map +1 -1
- package/dist/route-source.js +12 -4
- package/dist/route-source.js.map +1 -1
- package/dist/routes.d.ts +16 -1
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +22 -3
- package/dist/routes.js.map +1 -1
- package/dist/security-headers.d.ts +6 -0
- package/dist/security-headers.d.ts.map +1 -0
- package/dist/security-headers.js +104 -0
- package/dist/security-headers.js.map +1 -0
- package/dist/serve.js +1 -1
- package/dist/serve.js.map +1 -1
- package/dist/session.d.ts +5 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +45 -7
- package/dist/session.js.map +1 -1
- package/dist/types.d.ts +94 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-runner.js","sourceRoot":"","sources":["../src/module-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAqB,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EACL,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EACL,gCAAgC,EAChC,2BAA2B,EAC3B,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,oCAAoC,EACpC,sBAAsB,GAEvB,MAAM,aAAa,CAAC;AAErB,MAAM,YAAY,GAAG;IACnB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,QAAQ;CACI,CAAC;AACzB,MAAM,qBAAqB,GAAG;IAC5B,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,sCAAsC;CACjD,CAAC;AACX,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAC9D,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AAClF,MAAM,yBAAyB,GAAG,gCAAgC,EAAE,CAAC;AACrE,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC7D,MAAM,oCAAoC,GAAG,uBAAuB,CAClE,yBAAyB,EACzB,GAAG,CACJ,CAAC;AACF,MAAM,kCAAkC,GAAG,gCAAgC,EAAE,CAAC;AAC9E,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAE1B,MAAM,UAAU,mCAAmC;IACjD,OAAO;QACL,sBAAsB,CACpB,eAAe,EACf,iBAAiB,EACjB,2BAA2B,EAC3B,yBAAyB,CAC1B;QACD,sBAAsB,CACpB,yBAAyB,EACzB,0BAA0B,EAC1B,oCAAoC,EACpC,kCAAkC,CACnC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAI,OAOpD;IACC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,MAAM,MAAM,GAAG,2BAA2B,CACxC,iBAAiB,EACjB,QAAQ,EACR,yBAAyB,CACA,CAAC;QAE5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,uCAAuC,CAAI,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACjF,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,oBAAoB,CAClB,iBAAiB,EACjB,QAAQ,EACR,MAAM,EACN,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,uCAAuC,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,uCAAuC,CAAI,OAMzD;IACC,MAAM,IAAI,GACR,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC/F,MAAM,cAAc,GAAG,+BAA+B,CAAC;QACrD,IAAI;QACJ,cAAc,EACZ,OAAO,CAAC,UAAU;YAClB,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KAC/E,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;IACzF,MAAM,GAAG,GAAG,+BAA+B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAC7E,QAAQ,CACT,IAAI,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAI,GAAG,EAAE,YAAY,CAAC,CAAC;IAExD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAI,IAAY;IAC7D,iBAAiB,IAAI,CAAC,CAAC;IACvB,MAAM,GAAG,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC9E,MAAM,MAAM,GAAG,MAAM,YAAY,CAAI,GAAG,EAAE,YAAY,CAAC,CAAC;IAExD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAI,OAGvD;IACC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,MAAM,MAAM,GAAG,2BAA2B,CACxC,iBAAiB,EACjB,QAAQ,EACR,yBAAyB,CACA,CAAC;QAE5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACtE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,KAAK,CAAC;QACd,CAAC,CAAe,CAAC;QACjB,oBAAoB,CAClB,iBAAiB,EACjB,QAAQ,EACR,MAAM,EACN,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAM,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAMjD;IACC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;QACtC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC;QACtF,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE;YACP,gCAAgC,EAAE;YAClC,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;SAClE;KACF,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAEzB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,CAAC,KAAK,mBAAmB,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AASD,SAAS,2BAA2B,CAAC,OAAqC;IACxE,MAAM,yBAAyB,GAC7B,OAAO,CAAC,yBAAyB,IAAI,+BAA+B,EAAE,CAAC;IAEzE,OAAO;QACL,IAAI,EAAE,uCAAuC;QAC7C,KAAK,CAAC,QAAQ;YACZ,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,6BAA6B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACxE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,eAAe,GAAG,EAAE,CAAC,EAAE,CAAC;oBACnD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC;oBAC/C,GAAG,OAAO;oBACV,yBAAyB;oBACzB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,MAAM;iBACP,CAAC,CAAC;gBAEH,OAAO;oBACL,QAAQ;oBACR,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC/B,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,OAGC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEtF,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACjE,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,yBAAyB,GAC7B,OAAO,CAAC,yBAAyB,IAAI,+BAA+B,EAAE,CAAC;IACzE,MAAM,aAAa,GAAG,MAAM,8BAA8B,CAAC;QACzD,KAAK,EAAE,yBAAyB;QAChC,IAAI,EAAE,OAAO,CAAC,MAAM;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAAC;QACnD,KAAK,EAAE,yBAAyB;QAChC,IAAI,EAAE,OAAO,CAAC,MAAM;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,aAAa;KACd,CAAC,CAAC;IAEH,KAAK,MAAM,UAAU,IAAI,eAAe,CAAC,WAAW,EAAE,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,KAAK,UAAU,KAAK,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACrK,MAAM,MAAM,GAAG,2BAA2B,CACxC,0BAA0B,EAC1B,QAAQ,EACR,kCAAkC,CACnC,CAAC;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,8BAA8B,CAAC;QAC5C,IAAI,EAAE,OAAO,CAAC,MAAM;QACpB,qBAAqB,EAAE,eAAe,CAAC,qBAAqB;QAC5D,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,aAAa;QACb,YAAY,EAAE,qBAAqB;QACnC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAChD,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,qCAAqC,CAC1E,CAAC;IAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,oBAAoB,CAClB,0BAA0B,EAC1B,QAAQ,EACR,MAAM,CAAC,IAAI,EACX,oCAAoC,EACpC,kCAAkC,CACnC,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,+BAA+B,CAAC,OAGxC;IACC,MAAM,cAAc,GAAG,aAAa,CAClC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,2BAA2B,CAAC,CAC3E,CAAC,IAAI,CAAC;IACP,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAClC,gCAAgC,EAChC,iBAAiB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CACnD,CAAC;IAEF,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;wCAC+B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;EACpE,IAAI,EAAE,CAAC;AACT,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,gCAAgC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1F,MAAM,4BAA4B,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC;QACpE,CAAC,CAAC,4BAA4B;QAC9B,CAAC,CAAC,2BAA2B,CAAC;IAChC,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;IAC5F,MAAM,wBAAwB,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC;QAChE,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,sBAAsB,CAAC;IAC3B,MAAM,2BAA2B,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC;QACnE,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,yBAAyB,CAAC;IAC9B,MAAM,mBAAmB,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC;QAC3D,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,gBAAgB,CAAC;IACrB,MAAM,sBAAsB,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC;QAC9D,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,oBAAoB,CAAC;IACzB,MAAM,WAAW,GAAG,CAClB,WAAmB,EACnB,WAAmB,EACnB,KAAa,EACb,SAAiB,EACjB,UAA+B,EACvB,EAAE,CACV,2BAA2B,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;QAC/B,KAAK;QACL,WAAW;QACX,WAAW;QACX,UAAU;QACV,SAAS;KACV,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,IAAI,GAAG,CAAsE;QAC3F,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QAC7F;YACE,iCAAiC;YACjC,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE;SACnF;QACD;YACE,6BAA6B;YAC7B,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE;SAC/E;QACD;YACE,sBAAsB;YACtB,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE;SAC7E;QACD;YACE,wBAAwB;YACxB,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,wBAAwB,EAAE;SACvF;QACD;YACE,uCAAuC;YACvC;gBACE,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,cAAc;gBAC3B,WAAW,EAAE,wBAAwB;aACtC;SACF;QACD;YACE,+BAA+B;YAC/B,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,wBAAwB,EAAE;SACxF;QACD;YACE,iCAAiC;YACjC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,wBAAwB,EAAE;SAC1F;QACD;YACE,wCAAwC;YACxC;gBACE,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,cAAc;gBAC3B,WAAW,EAAE,wBAAwB;aACtC;SACF;QACD;YACE,oCAAoC;YACpC,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,wBAAwB,EAAE;SAC7F;QACD;YACE,kCAAkC;YAClC,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,wBAAwB,EAAE;SAC3F;QACD;YACE,+BAA+B;YAC/B;gBACE,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,eAAe;gBAC5B,WAAW,EAAE,+BAA+B;aAC7C;SACF;QACD;YACE,uBAAuB;YACvB,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE;SAC/E;QACD;YACE,wBAAwB;YACxB,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;SACjF;KACF,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;QAC5B,CAAC,wBAAwB,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC,2CAA2C,EAAE,IAAI,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;QAC9F,CAAC,6BAA6B,EAAE,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QACpE,CAAC,sCAAsC,EAAE,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;QACrF,CAAC,yCAAyC,EAAE,IAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;QAC3F,CAAC,gCAAgC,EAAE,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC1E,CAAC,oCAAoC,EAAE,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;QACjF,CAAC,+CAA+C,EAAE,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;QAC9F,CAAC,yCAAyC,EAAE,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;KACpF,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,kCAAkC;QACxC,KAAK,CAAC,QAAiD;YACrD,QAAQ,CAAC,SAAS,CAChB;gBACE,MAAM,EACJ,2TAA2T;aAC9T,EACD,CAAC,IAAI,EAAE,EAAE;gBACP,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEhD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBAC9B,CAAC;gBAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAErC,OAAO,KAAK,KAAK,SAAS;oBACxB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC;wBACE,IAAI,EAAE,WAAW,CACf,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,KAAK,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,CAChB;qBACF,CAAC;YACR,CAAC,CACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAgB,EAChB,GAAM,EACN,KAAQ,EACR,UAAkB,EAClB,QAAoC;IAEpC,IAAI,KAAK,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAsB,CAAC;QAE7D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxB,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC"}
|
|
1
|
+
{"version":3,"file":"module-runner.js","sourceRoot":"","sources":["../src/module-runner.ts"],"names":[],"mappings":"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"}
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/dist/render.js
CHANGED
|
@@ -2,19 +2,20 @@ import { createHash, randomUUID } from "node:crypto";
|
|
|
2
2
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
3
|
import { access, readFile, stat } from "node:fs/promises";
|
|
4
4
|
import { dirname, join, relative, sep } from "node:path";
|
|
5
|
-
import { transform, } from "@reckona/mreact-compiler";
|
|
5
|
+
import { formatDiagnostic, transform, } from "@reckona/mreact-compiler";
|
|
6
6
|
import { createQueryClient, dehydrate, __MREACT_QUERY_STATE_SCRIPT_ID, runWithQueryClient, } from "@reckona/mreact-query";
|
|
7
7
|
import { createStringSink, renderAsyncBoundary, renderOutOfOrderReorderScript, renderToReadableStream, } from "@reckona/mreact-server";
|
|
8
8
|
import { createClientRouteInferenceCache, hydrationMarkerParts, formatClientRouteInferenceDiagnostic, inferClientRouteModule, routeIdForPath, withHydrationMarkers, withRouteMarkers, } from "./client.js";
|
|
9
9
|
import { assetPath } from "./assets.js";
|
|
10
10
|
import { escapeHtmlAttribute, escapeHtmlText as escapeHtml, } from "@reckona/mreact-shared/html-escape";
|
|
11
11
|
import { matchRoute, scanAppRoutes } from "./routes.js";
|
|
12
|
+
import { appFileConventionContentType } from "./file-conventions.js";
|
|
12
13
|
import { dispatchServerActionRequest, prepareRouteServerActions, serverActionCookie, } from "./actions.js";
|
|
13
14
|
import { beginRouteCacheContext, cachedRouteResponse, cacheRouteResponse, routeCacheKey, routeCachePolicyFromSource, } from "./cache.js";
|
|
14
15
|
import { resolveRouterCacheLimit } from "./cache-config.js";
|
|
15
16
|
import { importAppRouterBuiltFileModule, importAppRouterFileModule, importAppRouterSourceModule, } from "./module-runner.js";
|
|
16
17
|
import { contentSecurityPolicy } from "./csp.js";
|
|
17
|
-
import { htmlResponse } from "./http.js";
|
|
18
|
+
import { bytesResponse, htmlResponse } from "./http.js";
|
|
18
19
|
import { isNotFoundError, isRedirectError, rewriteLocation } from "./navigation.js";
|
|
19
20
|
import { createAppRouterImportPolicyPlugin } from "./import-policy.js";
|
|
20
21
|
import { existingRouteShellCandidates } from "./route-shells.js";
|
|
@@ -22,6 +23,7 @@ import { hasLoaderExport, isStreamRouteSource, routeClosureMayUseAwaitBoundary,
|
|
|
22
23
|
import { emitRouterLog, logDurationMs, logNow } from "./logger.js";
|
|
23
24
|
import { createRouterRuntimeCacheCounters, readRouterRuntimeCacheEntry, routerRuntimeCacheStat, } from "./cache-stats.js";
|
|
24
25
|
import { bundleRouterModule } from "./bundle-pipeline.js";
|
|
26
|
+
import { routeSecurityHeaders } from "./security-headers.js";
|
|
25
27
|
import { invokeRouterInstrumentation, traceContextFromRequest, } from "./trace.js";
|
|
26
28
|
const nativeEscapeTransform = {
|
|
27
29
|
batchImportName: "escapeHtmlBatch",
|
|
@@ -102,7 +104,7 @@ async function preloadBuiltPageRouteModules(options) {
|
|
|
102
104
|
serverModules: options.serverModules,
|
|
103
105
|
serverOutput: "string",
|
|
104
106
|
});
|
|
105
|
-
assertNoFatalServerDiagnostics(stringOutput.diagnostics);
|
|
107
|
+
assertNoFatalServerDiagnostics(options.file, stringOutput.diagnostics);
|
|
106
108
|
await loadServerModule(stringOutput.code, options.file, options.serverModules, options.serverModuleCacheVersion);
|
|
107
109
|
}
|
|
108
110
|
if (options.analysis.streamRoute) {
|
|
@@ -114,7 +116,7 @@ async function preloadBuiltPageRouteModules(options) {
|
|
|
114
116
|
serverOutput: "stream",
|
|
115
117
|
serverAwaitHydration: options.analysis.clientInference.client,
|
|
116
118
|
});
|
|
117
|
-
assertNoFatalServerDiagnostics(streamOutput.diagnostics);
|
|
119
|
+
assertNoFatalServerDiagnostics(options.file, streamOutput.diagnostics);
|
|
118
120
|
await loadServerStreamModule(streamOutput.code, options.file, options.serverModules, options.serverModuleCacheVersion);
|
|
119
121
|
}
|
|
120
122
|
await preloadShellModulesForPage({
|
|
@@ -124,15 +126,23 @@ async function preloadBuiltPageRouteModules(options) {
|
|
|
124
126
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
125
127
|
serverSourceFiles: options.serverSourceFiles,
|
|
126
128
|
});
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
129
|
+
if (!hasGenerateMetadataExport(options.code)) {
|
|
130
|
+
await loadComposedRouteMetadata({
|
|
131
|
+
appDir: options.appDir,
|
|
132
|
+
code: options.code,
|
|
133
|
+
context: {
|
|
134
|
+
data: undefined,
|
|
135
|
+
params: {},
|
|
136
|
+
request: new Request("http://mreact.local/"),
|
|
137
|
+
},
|
|
138
|
+
filename: options.file,
|
|
139
|
+
importPolicy: options.importPolicy,
|
|
140
|
+
routes: [],
|
|
141
|
+
serverModules: options.serverModules,
|
|
142
|
+
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
143
|
+
serverSourceFiles: options.serverSourceFiles,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
136
146
|
}
|
|
137
147
|
async function preloadShellModulesForPage(options) {
|
|
138
148
|
const shellFiles = await shellFilesForPage(options.appDir, options.pageFile, options.serverModuleCacheVersion);
|
|
@@ -144,14 +154,20 @@ async function preloadShellModulesForPage(options) {
|
|
|
144
154
|
serverModules: options.serverModules,
|
|
145
155
|
serverOutput: "string",
|
|
146
156
|
});
|
|
147
|
-
assertNoFatalServerDiagnostics(output.diagnostics);
|
|
157
|
+
assertNoFatalServerDiagnostics(shell.file, output.diagnostics);
|
|
148
158
|
await loadServerModule(output.code, shell.file, options.serverModules, options.serverModuleCacheVersion);
|
|
149
159
|
}
|
|
150
160
|
}
|
|
151
|
-
function
|
|
152
|
-
|
|
161
|
+
function fatalServerDiagnostics(diagnostics) {
|
|
162
|
+
return diagnostics.filter((diagnostic) => diagnostic.code !== "MR_UNSUPPORTED_SERVER_EVENT_HANDLER");
|
|
163
|
+
}
|
|
164
|
+
function formatServerDiagnostics(filename, diagnostics) {
|
|
165
|
+
return diagnostics.map((diagnostic) => formatDiagnostic(filename, diagnostic)).join("\n");
|
|
166
|
+
}
|
|
167
|
+
function assertNoFatalServerDiagnostics(filename, diagnostics) {
|
|
168
|
+
const fatalDiagnostics = fatalServerDiagnostics(diagnostics);
|
|
153
169
|
if (fatalDiagnostics.length > 0) {
|
|
154
|
-
throw new Error(
|
|
170
|
+
throw new Error(formatServerDiagnostics(filename, fatalDiagnostics));
|
|
155
171
|
}
|
|
156
172
|
}
|
|
157
173
|
const serverTransformCache = new Map();
|
|
@@ -385,6 +401,23 @@ async function renderAppRequestInternal(options) {
|
|
|
385
401
|
let recoveryRoute;
|
|
386
402
|
let routeCacheContext;
|
|
387
403
|
try {
|
|
404
|
+
if (matched.route.kind === "asset") {
|
|
405
|
+
return await dispatchConventionAssetRoute({
|
|
406
|
+
file: matched.route.file,
|
|
407
|
+
request: options.request,
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
if (matched.route.kind === "metadata") {
|
|
411
|
+
return await dispatchMetadataRoute({
|
|
412
|
+
file: matched.route.file,
|
|
413
|
+
params: matched.params,
|
|
414
|
+
request: options.request,
|
|
415
|
+
route: matched.route,
|
|
416
|
+
serverModules: options.serverModules,
|
|
417
|
+
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
418
|
+
serverSourceFiles: options.serverSourceFiles,
|
|
419
|
+
});
|
|
420
|
+
}
|
|
388
421
|
if (matched.route.kind === "server") {
|
|
389
422
|
return await dispatchServerRoute({
|
|
390
423
|
file: matched.route.file,
|
|
@@ -550,9 +583,9 @@ async function renderAppRequestInternal(options) {
|
|
|
550
583
|
serverOutput: "string",
|
|
551
584
|
});
|
|
552
585
|
finishRenderTimingPhase(timing, phaseStartedAt, "stringTransformMs");
|
|
553
|
-
const stringFatalDiagnostics = stringOutput.diagnostics
|
|
586
|
+
const stringFatalDiagnostics = fatalServerDiagnostics(stringOutput.diagnostics);
|
|
554
587
|
if (stringFatalDiagnostics.length > 0) {
|
|
555
|
-
return new Response(
|
|
588
|
+
return new Response(formatServerDiagnostics(matched.route.file, stringFatalDiagnostics), {
|
|
556
589
|
status: 500,
|
|
557
590
|
headers: { "content-type": "text/plain; charset=utf-8" },
|
|
558
591
|
});
|
|
@@ -603,8 +636,14 @@ async function renderAppRequestInternal(options) {
|
|
|
603
636
|
const metadata = await loadComposedRouteMetadata({
|
|
604
637
|
appDir: options.appDir,
|
|
605
638
|
code: originalCode,
|
|
639
|
+
context: {
|
|
640
|
+
data,
|
|
641
|
+
params: matched.params,
|
|
642
|
+
request: options.request,
|
|
643
|
+
},
|
|
606
644
|
filename: matched.route.file,
|
|
607
645
|
importPolicy: options.importPolicy,
|
|
646
|
+
routes,
|
|
608
647
|
serverModules: options.serverModules,
|
|
609
648
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
610
649
|
serverSourceFiles: options.serverSourceFiles,
|
|
@@ -619,7 +658,7 @@ async function renderAppRequestInternal(options) {
|
|
|
619
658
|
currentNavigationScript: clientRoute ? undefined : navigationScript,
|
|
620
659
|
routeScripts: options.clientScripts,
|
|
621
660
|
})}${html}`, {
|
|
622
|
-
headers: responseHeadersForMetadata(metadata, {
|
|
661
|
+
headers: responseHeadersForMetadata(metadata, options.request, {
|
|
623
662
|
"x-mreact-stream": "1",
|
|
624
663
|
}),
|
|
625
664
|
}), preparedActions.csrfToken, preparedActions.csrfTokenIsNew === true);
|
|
@@ -652,9 +691,9 @@ async function renderAppRequestInternal(options) {
|
|
|
652
691
|
serverAwaitHydration: clientRoute,
|
|
653
692
|
});
|
|
654
693
|
finishRenderTimingPhase(timing, phaseStartedAt, "streamTransformMs");
|
|
655
|
-
const fatalDiagnostics = output.diagnostics
|
|
694
|
+
const fatalDiagnostics = fatalServerDiagnostics(output.diagnostics);
|
|
656
695
|
if (fatalDiagnostics.length > 0) {
|
|
657
|
-
return new Response(
|
|
696
|
+
return new Response(formatServerDiagnostics(matched.route.file, fatalDiagnostics), {
|
|
658
697
|
status: 500,
|
|
659
698
|
headers: { "content-type": "text/plain; charset=utf-8" },
|
|
660
699
|
});
|
|
@@ -740,9 +779,9 @@ async function renderAppRequestInternal(options) {
|
|
|
740
779
|
serverOutput: "string",
|
|
741
780
|
});
|
|
742
781
|
finishRenderTimingPhase(timing, phaseStartedAt, "stringTransformMs");
|
|
743
|
-
const fatalDiagnostics = output.diagnostics
|
|
782
|
+
const fatalDiagnostics = fatalServerDiagnostics(output.diagnostics);
|
|
744
783
|
if (fatalDiagnostics.length > 0) {
|
|
745
|
-
return new Response(
|
|
784
|
+
return new Response(formatServerDiagnostics(matched.route.file, fatalDiagnostics), {
|
|
746
785
|
status: 500,
|
|
747
786
|
headers: { "content-type": "text/plain; charset=utf-8" },
|
|
748
787
|
});
|
|
@@ -803,8 +842,14 @@ async function renderAppRequestInternal(options) {
|
|
|
803
842
|
const metadata = await loadComposedRouteMetadata({
|
|
804
843
|
appDir: options.appDir,
|
|
805
844
|
code: originalCode,
|
|
845
|
+
context: {
|
|
846
|
+
data,
|
|
847
|
+
params: matched.params,
|
|
848
|
+
request: options.request,
|
|
849
|
+
},
|
|
806
850
|
filename: matched.route.file,
|
|
807
851
|
importPolicy: options.importPolicy,
|
|
852
|
+
routes,
|
|
808
853
|
serverModules: options.serverModules,
|
|
809
854
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
810
855
|
serverSourceFiles: options.serverSourceFiles,
|
|
@@ -821,7 +866,7 @@ async function renderAppRequestInternal(options) {
|
|
|
821
866
|
currentNavigationScript: clientRoute ? undefined : navigationScript,
|
|
822
867
|
routeScripts: options.clientScripts,
|
|
823
868
|
})}${html}`, {
|
|
824
|
-
headers: responseHeadersForMetadata(metadata),
|
|
869
|
+
headers: responseHeadersForMetadata(metadata, options.request),
|
|
825
870
|
}), preparedActions.csrfToken, preparedActions.csrfTokenIsNew === true);
|
|
826
871
|
const effectiveCachePolicy = cachePolicy ?? routeCacheContext.cachePolicy;
|
|
827
872
|
const finalResponse = preparedActions.hasFormActions
|
|
@@ -1100,9 +1145,9 @@ async function renderServerFileToHtml(file, props, serverModules, serverModuleCa
|
|
|
1100
1145
|
serverModules,
|
|
1101
1146
|
serverOutput: "string",
|
|
1102
1147
|
});
|
|
1103
|
-
const fatalDiagnostics = output.diagnostics
|
|
1148
|
+
const fatalDiagnostics = fatalServerDiagnostics(output.diagnostics);
|
|
1104
1149
|
if (fatalDiagnostics.length > 0) {
|
|
1105
|
-
throw new Error(
|
|
1150
|
+
throw new Error(formatServerDiagnostics(file, fatalDiagnostics));
|
|
1106
1151
|
}
|
|
1107
1152
|
return runServerModule(output.code, props, file, serverModules, serverModuleCacheVersion);
|
|
1108
1153
|
}
|
|
@@ -1145,6 +1190,51 @@ async function dispatchServerRoute(options) {
|
|
|
1145
1190
|
? response
|
|
1146
1191
|
: new Response("Invalid route response", { status: 500 });
|
|
1147
1192
|
}
|
|
1193
|
+
async function dispatchConventionAssetRoute(options) {
|
|
1194
|
+
if (options.request.method !== "GET" && options.request.method !== "HEAD") {
|
|
1195
|
+
return new Response("Method Not Allowed", {
|
|
1196
|
+
status: 405,
|
|
1197
|
+
headers: { allow: "GET, HEAD" },
|
|
1198
|
+
});
|
|
1199
|
+
}
|
|
1200
|
+
const bytes = await readFile(options.file);
|
|
1201
|
+
return bytesResponse(options.request.method === "HEAD" ? new Uint8Array() : bytes, {
|
|
1202
|
+
headers: {
|
|
1203
|
+
"cache-control": "public, max-age=3600",
|
|
1204
|
+
"content-type": appFileConventionContentType(options.file),
|
|
1205
|
+
},
|
|
1206
|
+
});
|
|
1207
|
+
}
|
|
1208
|
+
async function dispatchMetadataRoute(options) {
|
|
1209
|
+
if (options.request.method !== "GET" && options.request.method !== "HEAD") {
|
|
1210
|
+
return new Response("Method Not Allowed", {
|
|
1211
|
+
status: 405,
|
|
1212
|
+
headers: { allow: "GET, HEAD" },
|
|
1213
|
+
});
|
|
1214
|
+
}
|
|
1215
|
+
const module = await loadServerRouteModule(options);
|
|
1216
|
+
const handler = module.default;
|
|
1217
|
+
if (typeof handler !== "function") {
|
|
1218
|
+
return new Response("Invalid metadata route response", { status: 500 });
|
|
1219
|
+
}
|
|
1220
|
+
const url = new URL(options.request.url);
|
|
1221
|
+
const context = {
|
|
1222
|
+
baseUrl: url.origin,
|
|
1223
|
+
host: url.host,
|
|
1224
|
+
request: options.request,
|
|
1225
|
+
};
|
|
1226
|
+
const value = await handler(context);
|
|
1227
|
+
if (options.route.convention === "robots") {
|
|
1228
|
+
return textConventionResponse(serializeRobots(value));
|
|
1229
|
+
}
|
|
1230
|
+
if (options.route.convention === "sitemap") {
|
|
1231
|
+
return xmlConventionResponse(serializeSitemap(value));
|
|
1232
|
+
}
|
|
1233
|
+
if (options.route.convention === "manifest") {
|
|
1234
|
+
return jsonConventionResponse(value);
|
|
1235
|
+
}
|
|
1236
|
+
return new Response("Invalid metadata route convention", { status: 500 });
|
|
1237
|
+
}
|
|
1148
1238
|
async function loadServerRouteModule(options) {
|
|
1149
1239
|
if (options.serverModuleCacheVersion === undefined) {
|
|
1150
1240
|
return await importAppRouterFileModule(options.file);
|
|
@@ -1985,9 +2075,9 @@ async function renderShellPrefixSuffix(appDir, shell, props, slotContext, server
|
|
|
1985
2075
|
serverOutput: "string",
|
|
1986
2076
|
});
|
|
1987
2077
|
addRenderTimingPhaseDuration(timing, phaseStartedAt, "layoutTransformMs");
|
|
1988
|
-
const fatalDiagnostics = output.diagnostics
|
|
2078
|
+
const fatalDiagnostics = fatalServerDiagnostics(output.diagnostics);
|
|
1989
2079
|
if (fatalDiagnostics.length > 0) {
|
|
1990
|
-
throw new Error(
|
|
2080
|
+
throw new Error(formatServerDiagnostics(shell.file, fatalDiagnostics));
|
|
1991
2081
|
}
|
|
1992
2082
|
phaseStartedAt = renderTimingPhaseStartedAt(timing);
|
|
1993
2083
|
const component = await loadServerComponent(output.code, shell.file, serverModules, serverModuleCacheVersion);
|
|
@@ -2456,7 +2546,7 @@ async function loadRouteMetadata(options) {
|
|
|
2456
2546
|
label: `metadata:${options.filename}`,
|
|
2457
2547
|
serverModuleCacheVersion: options.serverModuleCacheVersion,
|
|
2458
2548
|
});
|
|
2459
|
-
return module.
|
|
2549
|
+
return await resolveRouteMetadataModule(module, options.context);
|
|
2460
2550
|
}
|
|
2461
2551
|
const code = prebuiltArtifact?.code ?? await bundleRouteMetadataModuleCode(options);
|
|
2462
2552
|
const module = await importAppRouterSourceModule({
|
|
@@ -2468,7 +2558,27 @@ async function loadRouteMetadata(options) {
|
|
|
2468
2558
|
code,
|
|
2469
2559
|
label: `metadata:${options.filename}`,
|
|
2470
2560
|
});
|
|
2471
|
-
return module.
|
|
2561
|
+
return await resolveRouteMetadataModule(module, options.context);
|
|
2562
|
+
}
|
|
2563
|
+
async function resolveRouteMetadataModule(module, context) {
|
|
2564
|
+
if (module.generateMetadata === undefined) {
|
|
2565
|
+
return module.metadata;
|
|
2566
|
+
}
|
|
2567
|
+
try {
|
|
2568
|
+
const generated = await module.generateMetadata(context);
|
|
2569
|
+
return generated === undefined
|
|
2570
|
+
? module.metadata
|
|
2571
|
+
: mergeRouteMetadata([module.metadata, generated].filter(isRouteMetadata));
|
|
2572
|
+
}
|
|
2573
|
+
catch (error) {
|
|
2574
|
+
if (module.metadata !== undefined) {
|
|
2575
|
+
return module.metadata;
|
|
2576
|
+
}
|
|
2577
|
+
throw error;
|
|
2578
|
+
}
|
|
2579
|
+
}
|
|
2580
|
+
function isRouteMetadata(value) {
|
|
2581
|
+
return value !== undefined;
|
|
2472
2582
|
}
|
|
2473
2583
|
async function bundleRouteMetadataModuleCode(options) {
|
|
2474
2584
|
const output = await bundleRouterModule({
|
|
@@ -2499,28 +2609,34 @@ async function loadComposedRouteMetadata(options) {
|
|
|
2499
2609
|
return cached;
|
|
2500
2610
|
}
|
|
2501
2611
|
}
|
|
2502
|
-
|
|
2612
|
+
try {
|
|
2613
|
+
const loaded = await loadComposedRouteMetadataUncached(options);
|
|
2614
|
+
if (cacheKey !== undefined && !loaded.dynamic) {
|
|
2615
|
+
setBoundedCacheEntry(composedRouteMetadataCache, cacheKey, Promise.resolve(loaded.metadata), maxComposedRouteMetadataCacheEntries, composedRouteMetadataCacheCounters);
|
|
2616
|
+
}
|
|
2617
|
+
return loaded.metadata;
|
|
2618
|
+
}
|
|
2619
|
+
catch (error) {
|
|
2503
2620
|
if (cacheKey !== undefined) {
|
|
2504
2621
|
composedRouteMetadataCache.delete(cacheKey);
|
|
2505
2622
|
}
|
|
2506
2623
|
throw error;
|
|
2507
|
-
});
|
|
2508
|
-
if (cacheKey !== undefined) {
|
|
2509
|
-
setBoundedCacheEntry(composedRouteMetadataCache, cacheKey, loaded, maxComposedRouteMetadataCacheEntries, composedRouteMetadataCacheCounters);
|
|
2510
2624
|
}
|
|
2511
|
-
return loaded;
|
|
2512
2625
|
}
|
|
2513
2626
|
async function loadComposedRouteMetadataUncached(options) {
|
|
2514
2627
|
const layoutFiles = await shellFilesForPage(options.appDir, options.filename, options.serverModuleCacheVersion);
|
|
2515
2628
|
const metadata = [];
|
|
2629
|
+
let dynamic = hasGenerateMetadataExport(options.code);
|
|
2516
2630
|
for (const shell of layoutFiles) {
|
|
2517
2631
|
if (shell.kind !== "layout") {
|
|
2518
2632
|
continue;
|
|
2519
2633
|
}
|
|
2520
2634
|
const code = await readServerSourceFile(shell.file, options.serverModuleCacheVersion, options.serverSourceFiles);
|
|
2635
|
+
dynamic ||= hasGenerateMetadataExport(code);
|
|
2521
2636
|
const shellMetadata = await loadRouteMetadata({
|
|
2522
2637
|
appDir: options.appDir,
|
|
2523
2638
|
code,
|
|
2639
|
+
context: options.context,
|
|
2524
2640
|
filename: shell.file,
|
|
2525
2641
|
importPolicy: options.importPolicy,
|
|
2526
2642
|
serverModules: options.serverModules,
|
|
@@ -2533,6 +2649,7 @@ async function loadComposedRouteMetadataUncached(options) {
|
|
|
2533
2649
|
const pageMetadata = await loadRouteMetadata({
|
|
2534
2650
|
appDir: options.appDir,
|
|
2535
2651
|
code: options.code,
|
|
2652
|
+
context: options.context,
|
|
2536
2653
|
filename: options.filename,
|
|
2537
2654
|
importPolicy: options.importPolicy,
|
|
2538
2655
|
serverModules: options.serverModules,
|
|
@@ -2541,7 +2658,10 @@ async function loadComposedRouteMetadataUncached(options) {
|
|
|
2541
2658
|
if (pageMetadata !== undefined) {
|
|
2542
2659
|
metadata.push(pageMetadata);
|
|
2543
2660
|
}
|
|
2544
|
-
return
|
|
2661
|
+
return {
|
|
2662
|
+
dynamic,
|
|
2663
|
+
metadata: applyFileConventionMetadata(mergeRouteMetadata(metadata), options.routes),
|
|
2664
|
+
};
|
|
2545
2665
|
}
|
|
2546
2666
|
function mergeRouteMetadata(metadata) {
|
|
2547
2667
|
if (metadata.length === 0) {
|
|
@@ -2572,6 +2692,24 @@ function mergeRouteMetadata(metadata) {
|
|
|
2572
2692
|
return mergedMetadata;
|
|
2573
2693
|
}, {});
|
|
2574
2694
|
}
|
|
2695
|
+
function applyFileConventionMetadata(metadata, routes) {
|
|
2696
|
+
const next = metadata === undefined ? {} : { ...metadata };
|
|
2697
|
+
const iconRoute = routes.find((route) => route.kind === "asset" && route.convention === "icon");
|
|
2698
|
+
const appleIconRoute = routes.find((route) => route.kind === "asset" && route.convention === "apple-icon");
|
|
2699
|
+
const openGraphImageRoute = routes.find((route) => route.kind === "asset" && route.convention === "opengraph-image");
|
|
2700
|
+
if (iconRoute !== undefined && next.icons?.icon === undefined) {
|
|
2701
|
+
next.icons = { ...next.icons, icon: iconRoute.path };
|
|
2702
|
+
}
|
|
2703
|
+
if (appleIconRoute !== undefined && next.icons?.apple === undefined) {
|
|
2704
|
+
next.icons = { ...next.icons, apple: appleIconRoute.path };
|
|
2705
|
+
}
|
|
2706
|
+
if (openGraphImageRoute !== undefined &&
|
|
2707
|
+
next.openGraph?.image === undefined &&
|
|
2708
|
+
(next.openGraph?.images === undefined || next.openGraph.images.length === 0)) {
|
|
2709
|
+
next.openGraph = { ...next.openGraph, image: openGraphImageRoute.path };
|
|
2710
|
+
}
|
|
2711
|
+
return Object.keys(next).length === 0 ? undefined : next;
|
|
2712
|
+
}
|
|
2575
2713
|
function mergeObject(left, right) {
|
|
2576
2714
|
if (left === undefined) {
|
|
2577
2715
|
return right;
|
|
@@ -2655,7 +2793,11 @@ function mergeOpenGraphMetadata(left, right) {
|
|
|
2655
2793
|
return merged;
|
|
2656
2794
|
}
|
|
2657
2795
|
function hasMetadataExport(code) {
|
|
2658
|
-
return /\bexport\s+const\s+metadata\s*=/.test(code);
|
|
2796
|
+
return /\bexport\s+const\s+metadata\s*=/.test(code) || hasGenerateMetadataExport(code);
|
|
2797
|
+
}
|
|
2798
|
+
function hasGenerateMetadataExport(code) {
|
|
2799
|
+
return /\bexport\s+(?:async\s+)?function\s+generateMetadata\b/.test(code) ||
|
|
2800
|
+
/\bexport\s*\{[^}]*\bgenerateMetadata\b[^}]*\}/.test(code);
|
|
2659
2801
|
}
|
|
2660
2802
|
function usesRuntimeCacheControl(code) {
|
|
2661
2803
|
return /\bcacheControl\s*\(/.test(code);
|
|
@@ -2664,6 +2806,9 @@ function injectHeadMetadata(html, metadata) {
|
|
|
2664
2806
|
if (metadata === undefined) {
|
|
2665
2807
|
return html;
|
|
2666
2808
|
}
|
|
2809
|
+
let nextHtml = metadata.lang === undefined
|
|
2810
|
+
? html
|
|
2811
|
+
: injectHtmlLangAttribute(html, metadataString(metadata.lang, "lang"));
|
|
2667
2812
|
const tags = [
|
|
2668
2813
|
metadata.title === undefined
|
|
2669
2814
|
? undefined
|
|
@@ -2699,30 +2844,135 @@ function injectHeadMetadata(html, metadata) {
|
|
|
2699
2844
|
.filter((tag) => tag !== undefined)
|
|
2700
2845
|
.join("");
|
|
2701
2846
|
if (tags === "") {
|
|
2702
|
-
return
|
|
2847
|
+
return nextHtml;
|
|
2703
2848
|
}
|
|
2704
|
-
if (/<head(?:\s[^>]*)?>/i.test(
|
|
2705
|
-
return
|
|
2849
|
+
if (/<head(?:\s[^>]*)?>/i.test(nextHtml)) {
|
|
2850
|
+
return nextHtml.replace(/<head(\s[^>]*)?>/i, (match) => `${match}${tags}`);
|
|
2706
2851
|
}
|
|
2707
|
-
if (/<html(?:\s[^>]*)?>/i.test(
|
|
2708
|
-
return
|
|
2852
|
+
if (/<html(?:\s[^>]*)?>/i.test(nextHtml)) {
|
|
2853
|
+
return nextHtml.replace(/<html(\s[^>]*)?>/i, (match) => `${match}<head>${tags}</head>`);
|
|
2709
2854
|
}
|
|
2710
|
-
return `<head>${tags}</head>${
|
|
2855
|
+
return `<head>${tags}</head>${nextHtml}`;
|
|
2856
|
+
}
|
|
2857
|
+
function injectHtmlLangAttribute(html, lang) {
|
|
2858
|
+
const escapedLang = escapeHtmlAttribute(lang);
|
|
2859
|
+
if (!/<html(?:\s[^>]*)?>/i.test(html)) {
|
|
2860
|
+
return html;
|
|
2861
|
+
}
|
|
2862
|
+
return html.replace(/<html(\s[^>]*)?>/i, (_match, attrs = "") => {
|
|
2863
|
+
const strippedAttrs = String(attrs).replace(/\s+lang=(?:"[^"]*"|'[^']*'|[^\s>]+)/i, "");
|
|
2864
|
+
return `<html lang="${escapedLang}"${strippedAttrs}>`;
|
|
2865
|
+
});
|
|
2711
2866
|
}
|
|
2712
2867
|
const DEFAULT_HTML_RESPONSE_HEADERS = Object.freeze({
|
|
2713
2868
|
"content-type": "text/html; charset=utf-8",
|
|
2714
2869
|
});
|
|
2715
|
-
function responseHeadersForMetadata(metadata, extra) {
|
|
2870
|
+
function responseHeadersForMetadata(metadata, request, extra) {
|
|
2716
2871
|
const csp = contentSecurityPolicy(metadata?.csp);
|
|
2872
|
+
const security = routeSecurityHeaders({
|
|
2873
|
+
request,
|
|
2874
|
+
security: metadata?.security,
|
|
2875
|
+
});
|
|
2717
2876
|
if (csp === undefined && extra === undefined) {
|
|
2718
|
-
return
|
|
2877
|
+
return {
|
|
2878
|
+
...DEFAULT_HTML_RESPONSE_HEADERS,
|
|
2879
|
+
...security,
|
|
2880
|
+
};
|
|
2719
2881
|
}
|
|
2720
2882
|
return {
|
|
2721
2883
|
...DEFAULT_HTML_RESPONSE_HEADERS,
|
|
2884
|
+
...security,
|
|
2722
2885
|
...(csp === undefined ? undefined : { "content-security-policy": csp }),
|
|
2723
2886
|
...extra,
|
|
2724
2887
|
};
|
|
2725
2888
|
}
|
|
2889
|
+
function textConventionResponse(body) {
|
|
2890
|
+
return htmlResponse(body, {
|
|
2891
|
+
headers: {
|
|
2892
|
+
"cache-control": "public, max-age=3600",
|
|
2893
|
+
"content-type": "text/plain; charset=utf-8",
|
|
2894
|
+
},
|
|
2895
|
+
});
|
|
2896
|
+
}
|
|
2897
|
+
function xmlConventionResponse(body) {
|
|
2898
|
+
return htmlResponse(body, {
|
|
2899
|
+
headers: {
|
|
2900
|
+
"cache-control": "no-cache",
|
|
2901
|
+
"content-type": "application/xml; charset=utf-8",
|
|
2902
|
+
},
|
|
2903
|
+
});
|
|
2904
|
+
}
|
|
2905
|
+
function jsonConventionResponse(body) {
|
|
2906
|
+
return htmlResponse(JSON.stringify(body), {
|
|
2907
|
+
headers: {
|
|
2908
|
+
"cache-control": "public, max-age=3600",
|
|
2909
|
+
"content-type": "application/manifest+json; charset=utf-8",
|
|
2910
|
+
},
|
|
2911
|
+
});
|
|
2912
|
+
}
|
|
2913
|
+
function serializeRobots(manifest) {
|
|
2914
|
+
const lines = [];
|
|
2915
|
+
const rules = manifest.rules === undefined
|
|
2916
|
+
? []
|
|
2917
|
+
: Array.isArray(manifest.rules)
|
|
2918
|
+
? manifest.rules
|
|
2919
|
+
: [manifest.rules];
|
|
2920
|
+
for (const rule of rules) {
|
|
2921
|
+
for (const userAgent of arrayValue(rule.userAgent)) {
|
|
2922
|
+
lines.push(`User-agent: ${userAgent}`);
|
|
2923
|
+
}
|
|
2924
|
+
for (const allow of arrayValue(rule.allow)) {
|
|
2925
|
+
lines.push(`Allow: ${allow}`);
|
|
2926
|
+
}
|
|
2927
|
+
for (const disallow of arrayValue(rule.disallow)) {
|
|
2928
|
+
lines.push(`Disallow: ${disallow}`);
|
|
2929
|
+
}
|
|
2930
|
+
}
|
|
2931
|
+
for (const sitemap of arrayValue(manifest.sitemap)) {
|
|
2932
|
+
lines.push(`Sitemap: ${sitemap}`);
|
|
2933
|
+
}
|
|
2934
|
+
if (manifest.host !== undefined) {
|
|
2935
|
+
lines.push(`Host: ${manifest.host}`);
|
|
2936
|
+
}
|
|
2937
|
+
return `${lines.join("\n")}\n`;
|
|
2938
|
+
}
|
|
2939
|
+
function serializeSitemap(entries) {
|
|
2940
|
+
const urls = entries
|
|
2941
|
+
.map((entry) => {
|
|
2942
|
+
const fields = [
|
|
2943
|
+
`<loc>${escapeXml(entry.url)}</loc>`,
|
|
2944
|
+
entry.lastModified === undefined
|
|
2945
|
+
? undefined
|
|
2946
|
+
: `<lastmod>${escapeXml(sitemapDate(entry.lastModified))}</lastmod>`,
|
|
2947
|
+
entry.changeFrequency === undefined
|
|
2948
|
+
? undefined
|
|
2949
|
+
: `<changefreq>${escapeXml(entry.changeFrequency)}</changefreq>`,
|
|
2950
|
+
entry.priority === undefined ? undefined : `<priority>${entry.priority}</priority>`,
|
|
2951
|
+
].filter((field) => field !== undefined);
|
|
2952
|
+
return `<url>${fields.join("")}</url>`;
|
|
2953
|
+
})
|
|
2954
|
+
.join("");
|
|
2955
|
+
return `<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">${urls}</urlset>`;
|
|
2956
|
+
}
|
|
2957
|
+
function sitemapDate(value) {
|
|
2958
|
+
if (value instanceof Date) {
|
|
2959
|
+
return value.toISOString();
|
|
2960
|
+
}
|
|
2961
|
+
return typeof value === "number" ? new Date(value).toISOString() : value;
|
|
2962
|
+
}
|
|
2963
|
+
function arrayValue(value) {
|
|
2964
|
+
if (value === undefined) {
|
|
2965
|
+
return [];
|
|
2966
|
+
}
|
|
2967
|
+
return Array.isArray(value) ? value : [value];
|
|
2968
|
+
}
|
|
2969
|
+
function escapeXml(value) {
|
|
2970
|
+
return value
|
|
2971
|
+
.replaceAll("&", "&")
|
|
2972
|
+
.replaceAll("<", "<")
|
|
2973
|
+
.replaceAll(">", ">")
|
|
2974
|
+
.replaceAll('"', """);
|
|
2975
|
+
}
|
|
2726
2976
|
function injectQueryState(html, state) {
|
|
2727
2977
|
if (state.queries.length === 0) {
|
|
2728
2978
|
return html;
|