@sonordev/site-kit 1.5.5 → 2.0.0
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/dist/AnalyticsProvider-J7UMCBCJ.mjs +4 -0
- package/dist/{AnalyticsProvider-BBLU4U2T.mjs.map → AnalyticsProvider-J7UMCBCJ.mjs.map} +1 -1
- package/dist/AnalyticsProvider-PPDJIGWY.js +25 -0
- package/dist/{AnalyticsProvider-EMDIAAWR.js.map → AnalyticsProvider-PPDJIGWY.js.map} +1 -1
- package/dist/EngageWidget-IDBEBGQR.js +13 -0
- package/dist/{EngageWidget-UHWXXCAX.js.map → EngageWidget-IDBEBGQR.js.map} +1 -1
- package/dist/EngageWidget-SRRI4W7U.mjs +4 -0
- package/dist/{EngageWidget-CVZMTSB6.mjs.map → EngageWidget-SRRI4W7U.mjs.map} +1 -1
- package/dist/SignalBridge-D6W6OLVG.mjs +4 -0
- package/dist/{SignalBridge-WGHMEILW.mjs.map → SignalBridge-D6W6OLVG.mjs.map} +1 -1
- package/dist/SignalBridge-THATXU2R.js +33 -0
- package/dist/{SignalBridge-6UYUZ2CN.js.map → SignalBridge-THATXU2R.js.map} +1 -1
- package/dist/analytics/index.js +9 -9
- package/dist/analytics/index.mjs +2 -2
- package/dist/blog/index.js +75 -75
- package/dist/blog/index.js.map +1 -1
- package/dist/blog/index.mjs +75 -75
- package/dist/blog/index.mjs.map +1 -1
- package/dist/blog/server.js +2 -2
- package/dist/blog/server.js.map +1 -1
- package/dist/blog/server.mjs +2 -2
- package/dist/blog/server.mjs.map +1 -1
- package/dist/brand.css +87 -0
- package/dist/{chunk-ZU6YPEAF.mjs → chunk-2OJCYWSQ.mjs} +85 -73
- package/dist/chunk-2OJCYWSQ.mjs.map +1 -0
- package/dist/{chunk-PM2KQ6YK.mjs → chunk-3CXAWGUP.mjs} +3 -3
- package/dist/{chunk-PM2KQ6YK.mjs.map → chunk-3CXAWGUP.mjs.map} +1 -1
- package/dist/{chunk-36Y7OWES.mjs → chunk-3YQCPLGP.mjs} +4 -4
- package/dist/chunk-3YQCPLGP.mjs.map +1 -0
- package/dist/{chunk-XWWBUC2I.js → chunk-6ZGM7S5O.js} +77 -61
- package/dist/chunk-6ZGM7S5O.js.map +1 -0
- package/dist/{chunk-XFOL6JDF.mjs → chunk-7LAOWIWE.mjs} +4 -4
- package/dist/chunk-7LAOWIWE.mjs.map +1 -0
- package/dist/{chunk-YBTYDBWY.js → chunk-7M3FNAS5.js} +6 -8
- package/dist/chunk-7M3FNAS5.js.map +1 -0
- package/dist/{chunk-4QHHFCAA.mjs → chunk-AOIG5PVY.mjs} +6 -8
- package/dist/chunk-AOIG5PVY.mjs.map +1 -0
- package/dist/{chunk-VZMDH3R4.mjs → chunk-B22WSN4L.mjs} +4 -4
- package/dist/chunk-B22WSN4L.mjs.map +1 -0
- package/dist/{chunk-ELDJDBQL.js → chunk-BVUOATPG.js} +7 -7
- package/dist/chunk-BVUOATPG.js.map +1 -0
- package/dist/{chunk-N24BPFF6.mjs → chunk-CU6OGBKK.mjs} +6 -6
- package/dist/chunk-CU6OGBKK.mjs.map +1 -0
- package/dist/{chunk-NRNK7LXK.mjs → chunk-DWI5ZKPM.mjs} +4 -4
- package/dist/chunk-DWI5ZKPM.mjs.map +1 -0
- package/dist/{chunk-KRPFLF62.mjs → chunk-F5NXD7VQ.mjs} +10 -12
- package/dist/{chunk-KRPFLF62.mjs.map → chunk-F5NXD7VQ.mjs.map} +1 -1
- package/dist/{chunk-PTTDKFL7.js → chunk-FCXQECM7.js} +6 -6
- package/dist/chunk-FCXQECM7.js.map +1 -0
- package/dist/{chunk-DY4K6X3A.js → chunk-GCPPXUAI.js} +6 -6
- package/dist/chunk-GCPPXUAI.js.map +1 -0
- package/dist/{chunk-KJN2C6YE.js → chunk-I34XL5VJ.js} +5 -5
- package/dist/chunk-I34XL5VJ.js.map +1 -0
- package/dist/{chunk-G6VGUAK2.js → chunk-IFVMZFNT.js} +4 -4
- package/dist/chunk-IFVMZFNT.js.map +1 -0
- package/dist/{chunk-FMB2RZDH.mjs → chunk-J4U3IEXL.mjs} +6 -6
- package/dist/chunk-J4U3IEXL.mjs.map +1 -0
- package/dist/{chunk-EUNL6GAL.js → chunk-JP5WGL75.js} +4 -4
- package/dist/chunk-JP5WGL75.js.map +1 -0
- package/dist/{chunk-MG23BS36.js → chunk-L3UB4B74.js} +5 -5
- package/dist/chunk-L3UB4B74.js.map +1 -0
- package/dist/{chunk-FVCQBTNK.mjs → chunk-MSRLAD7F.mjs} +77 -61
- package/dist/chunk-MSRLAD7F.mjs.map +1 -0
- package/dist/{chunk-M5FLRLHI.mjs → chunk-OM6R7CDP.mjs} +3 -3
- package/dist/chunk-OM6R7CDP.mjs.map +1 -0
- package/dist/{chunk-4X5TFGKD.mjs → chunk-P3POHQWW.mjs} +422 -426
- package/dist/chunk-P3POHQWW.mjs.map +1 -0
- package/dist/{chunk-GJD4CFHN.js → chunk-RLNG67S5.js} +7 -7
- package/dist/chunk-RLNG67S5.js.map +1 -0
- package/dist/{chunk-FTSXKDP3.js → chunk-RO6DHV6S.js} +10 -12
- package/dist/{chunk-FTSXKDP3.js.map → chunk-RO6DHV6S.js.map} +1 -1
- package/dist/{chunk-WW7UM7XY.js → chunk-TZAD7CZD.js} +424 -428
- package/dist/chunk-TZAD7CZD.js.map +1 -0
- package/dist/{chunk-TXZNP76P.js → chunk-UD5447TC.js} +13 -15
- package/dist/chunk-UD5447TC.js.map +1 -0
- package/dist/{chunk-TC6TOW2T.js → chunk-UJ757WGI.js} +4 -4
- package/dist/{chunk-TC6TOW2T.js.map → chunk-UJ757WGI.js.map} +1 -1
- package/dist/{chunk-C3A5HXHX.mjs → chunk-V6V6OXS2.mjs} +5 -5
- package/dist/chunk-V6V6OXS2.mjs.map +1 -0
- package/dist/{chunk-X4J33XQD.js → chunk-W6K7MQCC.js} +6 -6
- package/dist/chunk-W6K7MQCC.js.map +1 -0
- package/dist/{chunk-FI2ME55T.mjs → chunk-W7RZ3OTA.mjs} +7 -7
- package/dist/chunk-W7RZ3OTA.mjs.map +1 -0
- package/dist/{chunk-IJ2LWZID.js → chunk-WETCVFIK.js} +85 -73
- package/dist/chunk-WETCVFIK.js.map +1 -0
- package/dist/{chunk-VNAJQKYG.mjs → chunk-WN2PUL6B.mjs} +13 -15
- package/dist/chunk-WN2PUL6B.mjs.map +1 -0
- package/dist/cli/index.js +19339 -3461
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/index.mjs +19331 -3452
- package/dist/cli/index.mjs.map +1 -1
- package/dist/cms/index.d.mts +1 -1
- package/dist/cms/index.d.ts +1 -1
- package/dist/cms/index.js +3 -3
- package/dist/cms/index.js.map +1 -1
- package/dist/cms/index.mjs +2 -2
- package/dist/cms/index.mjs.map +1 -1
- package/dist/cms/server.js +4 -4
- package/dist/cms/server.mjs +1 -1
- package/dist/commerce/index.js +47 -47
- package/dist/commerce/index.mjs +3 -3
- package/dist/engage/index.js +6 -6
- package/dist/engage/index.js.map +1 -1
- package/dist/engage/index.mjs +3 -3
- package/dist/engage/index.mjs.map +1 -1
- package/dist/forms/index.js +379 -84
- package/dist/forms/index.js.map +1 -1
- package/dist/forms/index.mjs +375 -65
- package/dist/forms/index.mjs.map +1 -1
- package/dist/forms/styles.css +312 -0
- package/dist/images/index.js +11 -11
- package/dist/images/index.mjs +2 -2
- package/dist/images/server.js +4 -4
- package/dist/images/server.mjs +1 -1
- package/dist/index.d.mts +4 -131
- package/dist/index.d.ts +4 -131
- package/dist/index.js +85 -1373
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +13 -1294
- package/dist/index.mjs.map +1 -1
- package/dist/layout/client.js +2 -2
- package/dist/layout/client.mjs +1 -1
- package/dist/layout/index.js +21 -11
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/index.mjs +17 -7
- package/dist/layout/index.mjs.map +1 -1
- package/dist/llms/index.d.mts +3 -3
- package/dist/llms/index.d.ts +3 -3
- package/dist/llms/index.js +12 -12
- package/dist/llms/index.js.map +1 -1
- package/dist/llms/index.mjs +2 -2
- package/dist/llms/index.mjs.map +1 -1
- package/dist/manifest/index.js +4 -4
- package/dist/manifest/index.js.map +1 -1
- package/dist/manifest/index.mjs +3 -3
- package/dist/manifest/index.mjs.map +1 -1
- package/dist/middleware/index.js +3 -3
- package/dist/middleware/index.mjs +2 -2
- package/dist/redirects/index.js +6 -6
- package/dist/redirects/index.mjs +2 -2
- package/dist/robots/index.js +3 -3
- package/dist/robots/index.js.map +1 -1
- package/dist/robots/index.mjs +2 -2
- package/dist/robots/index.mjs.map +1 -1
- package/dist/{routing-DZYzyDHw.d.ts → routing-DQ_Et-OP.d.mts} +4 -4
- package/dist/{routing-B5XS-6_W.d.mts → routing-IYiJNIIX.d.ts} +4 -4
- package/dist/seo/index.d.mts +3 -5
- package/dist/seo/index.d.ts +3 -5
- package/dist/seo/index.js +77 -76
- package/dist/seo/index.js.map +1 -1
- package/dist/seo/index.mjs +41 -40
- package/dist/seo/index.mjs.map +1 -1
- package/dist/seo/register-sitemap-cli.js +3 -3
- package/dist/seo/register-sitemap-cli.js.map +1 -1
- package/dist/seo/register-sitemap-cli.mjs +3 -3
- package/dist/seo/register-sitemap-cli.mjs.map +1 -1
- package/dist/seo/server.d.mts +3 -3
- package/dist/seo/server.d.ts +3 -3
- package/dist/seo/server.js +7 -7
- package/dist/seo/server.js.map +1 -1
- package/dist/seo/server.mjs +5 -5
- package/dist/seo/server.mjs.map +1 -1
- package/dist/{server-api-XGKRGUMG.js → server-api-36R24YWN.js} +21 -21
- package/dist/{server-api-XGKRGUMG.js.map → server-api-36R24YWN.js.map} +1 -1
- package/dist/{server-api-COVFLFZ2.mjs → server-api-UIZU4JM3.mjs} +3 -3
- package/dist/{server-api-COVFLFZ2.mjs.map → server-api-UIZU4JM3.mjs.map} +1 -1
- package/dist/setup/index.d.mts +2 -5
- package/dist/setup/index.d.ts +2 -5
- package/dist/setup/index.js +0 -31
- package/dist/setup/index.mjs +1 -4
- package/dist/site-config/index.js +3 -3
- package/dist/site-config/index.mjs +1 -1
- package/dist/sitemap/index.js +10 -9
- package/dist/sitemap/index.js.map +1 -1
- package/dist/sitemap/index.mjs +8 -7
- package/dist/sitemap/index.mjs.map +1 -1
- package/dist/sync/index.js +13 -13
- package/dist/sync/index.mjs +1 -1
- package/dist/{types-KZP_VWZp.d.mts → types-CGkyylOa.d.mts} +2 -2
- package/dist/{types-KZP_VWZp.d.ts → types-CGkyylOa.d.ts} +2 -2
- package/package.json +4 -12
- package/dist/AnalyticsProvider-BBLU4U2T.mjs +0 -4
- package/dist/AnalyticsProvider-EMDIAAWR.js +0 -25
- package/dist/EngageWidget-CVZMTSB6.mjs +0 -4
- package/dist/EngageWidget-UHWXXCAX.js +0 -13
- package/dist/SetupWizard-Cki06kB0.d.mts +0 -12
- package/dist/SetupWizard-Cki06kB0.d.ts +0 -12
- package/dist/SignalBridge-6UYUZ2CN.js +0 -33
- package/dist/SignalBridge-WGHMEILW.mjs +0 -4
- package/dist/chunk-36Y7OWES.mjs.map +0 -1
- package/dist/chunk-373TK6TZ.js +0 -321
- package/dist/chunk-373TK6TZ.js.map +0 -1
- package/dist/chunk-4MOJJSNA.js +0 -14867
- package/dist/chunk-4MOJJSNA.js.map +0 -1
- package/dist/chunk-4QHHFCAA.mjs.map +0 -1
- package/dist/chunk-4X5TFGKD.mjs.map +0 -1
- package/dist/chunk-5YDPPOUU.mjs +0 -810
- package/dist/chunk-5YDPPOUU.mjs.map +0 -1
- package/dist/chunk-7FKPJQVS.mjs +0 -289
- package/dist/chunk-7FKPJQVS.mjs.map +0 -1
- package/dist/chunk-C3A5HXHX.mjs.map +0 -1
- package/dist/chunk-DY4K6X3A.js.map +0 -1
- package/dist/chunk-ELDJDBQL.js.map +0 -1
- package/dist/chunk-EUNL6GAL.js.map +0 -1
- package/dist/chunk-FI2ME55T.mjs.map +0 -1
- package/dist/chunk-FMB2RZDH.mjs.map +0 -1
- package/dist/chunk-FVCQBTNK.mjs.map +0 -1
- package/dist/chunk-G6VGUAK2.js.map +0 -1
- package/dist/chunk-GJD4CFHN.js.map +0 -1
- package/dist/chunk-GVXZWXQ7.js +0 -814
- package/dist/chunk-GVXZWXQ7.js.map +0 -1
- package/dist/chunk-HF2FWDBJ.mjs +0 -968
- package/dist/chunk-HF2FWDBJ.mjs.map +0 -1
- package/dist/chunk-IFAW7JFO.js +0 -1429
- package/dist/chunk-IFAW7JFO.js.map +0 -1
- package/dist/chunk-IJ2LWZID.js.map +0 -1
- package/dist/chunk-IKIJEKU3.mjs +0 -1427
- package/dist/chunk-IKIJEKU3.mjs.map +0 -1
- package/dist/chunk-JFTGG6HK.mjs +0 -14848
- package/dist/chunk-JFTGG6HK.mjs.map +0 -1
- package/dist/chunk-JM3ZR6LB.js +0 -981
- package/dist/chunk-JM3ZR6LB.js.map +0 -1
- package/dist/chunk-KJN2C6YE.js.map +0 -1
- package/dist/chunk-M5FLRLHI.mjs.map +0 -1
- package/dist/chunk-MCGLYYAR.mjs +0 -341
- package/dist/chunk-MCGLYYAR.mjs.map +0 -1
- package/dist/chunk-MG23BS36.js.map +0 -1
- package/dist/chunk-N24BPFF6.mjs.map +0 -1
- package/dist/chunk-NRNK7LXK.mjs.map +0 -1
- package/dist/chunk-PTTDKFL7.js.map +0 -1
- package/dist/chunk-S7FRYNSU.mjs +0 -315
- package/dist/chunk-S7FRYNSU.mjs.map +0 -1
- package/dist/chunk-SLB5V4RT.js +0 -302
- package/dist/chunk-SLB5V4RT.js.map +0 -1
- package/dist/chunk-TXZNP76P.js.map +0 -1
- package/dist/chunk-VNAJQKYG.mjs.map +0 -1
- package/dist/chunk-VZMDH3R4.mjs.map +0 -1
- package/dist/chunk-WW7UM7XY.js.map +0 -1
- package/dist/chunk-X4J33XQD.js.map +0 -1
- package/dist/chunk-XFOL6JDF.mjs.map +0 -1
- package/dist/chunk-XWWBUC2I.js.map +0 -1
- package/dist/chunk-YBTYDBWY.js.map +0 -1
- package/dist/chunk-ZQO6FZZB.js +0 -343
- package/dist/chunk-ZQO6FZZB.js.map +0 -1
- package/dist/chunk-ZU6YPEAF.mjs.map +0 -1
- package/dist/generators-DOFWGRXS.js +0 -37
- package/dist/generators-DOFWGRXS.js.map +0 -1
- package/dist/generators-R62APO62.mjs +0 -4
- package/dist/generators-R62APO62.mjs.map +0 -1
- package/dist/migrator-3WQB3KQ2.mjs +0 -4
- package/dist/migrator-3WQB3KQ2.mjs.map +0 -1
- package/dist/migrator-HFVQYK5R.js +0 -37
- package/dist/migrator-HFVQYK5R.js.map +0 -1
- package/dist/scanner-AF7YUCFG.mjs +0 -4
- package/dist/scanner-AF7YUCFG.mjs.map +0 -1
- package/dist/scanner-DBD5K6F7.js +0 -53
- package/dist/scanner-DBD5K6F7.js.map +0 -1
- package/dist/setup/client.d.mts +0 -60
- package/dist/setup/client.d.ts +0 -60
- package/dist/setup/client.js +0 -31
- package/dist/setup/client.js.map +0 -1
- package/dist/setup/client.mjs +0 -6
- package/dist/setup/client.mjs.map +0 -1
- package/dist/setup/server.d.mts +0 -14
- package/dist/setup/server.d.ts +0 -14
- package/dist/setup/server.js +0 -13
- package/dist/setup/server.js.map +0 -1
- package/dist/setup/server.mjs +0 -4
- package/dist/setup/server.mjs.map +0 -1
package/dist/manifest/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getSiteConfig } from '../chunk-
|
|
1
|
+
import { getSiteConfig } from '../chunk-B22WSN4L.mjs';
|
|
2
2
|
import '../chunk-4XPGGLVP.mjs';
|
|
3
3
|
|
|
4
4
|
// src/manifest/index.ts
|
|
@@ -23,8 +23,8 @@ async function fetchProjectInfo(apiKey, apiUrl) {
|
|
|
23
23
|
}
|
|
24
24
|
function createManifest(config) {
|
|
25
25
|
return async function GET() {
|
|
26
|
-
const apiKey = config?.apiKey ?? process.env.SONOR_API_KEY ??
|
|
27
|
-
const apiUrl = config?.apiUrl ?? process.env.SONOR_API_URL ??
|
|
26
|
+
const apiKey = config?.apiKey ?? process.env.SONOR_API_KEY ?? "";
|
|
27
|
+
const apiUrl = config?.apiUrl ?? process.env.SONOR_API_URL ?? "https://api.sonor.io";
|
|
28
28
|
let project = null;
|
|
29
29
|
if (apiKey) {
|
|
30
30
|
project = await fetchProjectInfo(apiKey, apiUrl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/manifest/index.ts"],"names":[],"mappings":";;;;AAoEA,eAAe,gBAAA,CACb,QACA,MAAA,EAC6B;AAC7B,EAAA,IAAI;AACF,IAAA,MAAM,YAAA,GAAsD;AAAA,MAC1D,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,WAAA,EAAa;AAAA;AACf,KACF;AAEC,IAAC,YAAA,CAAqB,IAAA,GAAO,EAAE,UAAA,EAAY,IAAA,EAAK;AACjD,IAAA,MAAM,MAAM,MAAM,KAAA;AAAA,MAChB,GAAG,MAAM,CAAA,4BAAA,CAAA;AAAA,MACT;AAAA,KACF;AACA,IAAA,IAAI,CAAC,GAAA,CAAI,EAAA,EAAI,OAAO,IAAA;AACpB,IAAA,OAAO,MAAM,IAAI,IAAA,EAAK;AAAA,EACxB,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,IAAA;AAAA,EACT;AACF;AAMO,SAAS,eACd,MAAA,EACyB;AACzB,EAAA,OAAO,eAAe,GAAA,GAAyB;AAC7C,IAAA,MAAM,MAAA,GACJ,MAAA,EAAQ,MAAA,IACR,OAAA,CAAQ,
|
|
1
|
+
{"version":3,"sources":["../../src/manifest/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * @sonordev/site-kit/manifest\n *\n * PWA manifest generator. Fetches project name, description, brand colors,\n * and logo from Portal to generate a compliant Web App Manifest.\n *\n * @example\n * ```ts\n * // app/manifest.webmanifest/route.ts\n * import { createManifest } from '@sonordev/site-kit/manifest'\n * export const GET = createManifest()\n * ```\n *\n * @example With overrides:\n * ```ts\n * export const GET = createManifest({\n * display: 'fullscreen',\n * themeColor: '#1a1a2e',\n * categories: ['business', 'productivity'],\n * })\n * ```\n */\n\nimport { getSiteConfig } from '../site-config'\n\nexport interface ManifestConfig {\n /** App name. Defaults to Portal project name. */\n name?: string\n /** Short name for home screen. Defaults to first word of name. */\n shortName?: string\n /** App description. Defaults to Portal project description. */\n description?: string\n /** Theme color for browser chrome. Defaults to Portal brand color or #4bbf39. */\n themeColor?: string\n /** Background color for splash screen. Default: '#ffffff' */\n backgroundColor?: string\n /** Display mode. Default: 'standalone' */\n display?: 'standalone' | 'fullscreen' | 'minimal-ui' | 'browser'\n /** Orientation preference. Default: 'any' */\n orientation?: 'portrait-primary' | 'landscape-primary' | 'any'\n /** Start URL. Default: '/' */\n startUrl?: string\n /** Scope. Default: '/' */\n scope?: string\n /** App categories */\n categories?: string[]\n /** Custom icons. If not provided, derived from Portal logo. */\n icons?: Array<{\n src: string\n sizes: string\n type: string\n purpose?: string\n }>\n /** Portal API key. Defaults from env. */\n apiKey?: string\n /** Portal API URL. Defaults from env. */\n apiUrl?: string\n}\n\ninterface ProjectInfo {\n site_url?: string\n domain?: string\n name?: string\n description?: string\n logo_url?: string\n brand_primary?: string\n}\n\nasync function fetchProjectInfo(\n apiKey: string,\n apiUrl: string,\n): Promise<ProjectInfo | null> {\n try {\n const fetchOptions: RequestInit & Record<string, unknown> = {\n headers: {\n 'Content-Type': 'application/json',\n 'x-api-key': apiKey,\n },\n }\n // Next.js fetch extension for ISR caching\n ;(fetchOptions as any).next = { revalidate: 3600 }\n const res = await fetch(\n `${apiUrl}/api/public/seo/project-info`,\n fetchOptions,\n )\n if (!res.ok) return null\n return await res.json()\n } catch {\n return null\n }\n}\n\n/**\n * Create a route handler that serves the PWA manifest.\n * Fetches project data from Portal and merges with config overrides.\n */\nexport function createManifest(\n config?: ManifestConfig,\n): () => Promise<Response> {\n return async function GET(): Promise<Response> {\n const apiKey =\n config?.apiKey ??\n process.env.SONOR_API_KEY ??\n ''\n const apiUrl =\n config?.apiUrl ??\n process.env.SONOR_API_URL ??\n 'https://api.sonor.io'\n\n // Fetch project info for defaults\n let project: ProjectInfo | null = null\n if (apiKey) {\n project = await fetchProjectInfo(apiKey, apiUrl)\n }\n\n // Also try getSiteConfig for site_url\n const siteConfig = apiKey\n ? await getSiteConfig({ apiKey, apiUrl }).catch(() => null)\n : null\n\n const name = config?.name ?? project?.name ?? 'My Site'\n const shortName =\n config?.shortName ?? name.split(/\\s+/)[0] ?? name\n const description =\n config?.description ?? project?.description ?? ''\n const themeColor =\n config?.themeColor ?? project?.brand_primary ?? '#4bbf39'\n const backgroundColor = config?.backgroundColor ?? '#ffffff'\n const startUrl = config?.startUrl ?? '/'\n\n // Build icons array\n const logoUrl = project?.logo_url\n const icons =\n config?.icons ??\n (logoUrl\n ? [\n {\n src: logoUrl,\n sizes: '192x192',\n type: 'image/png',\n },\n {\n src: logoUrl,\n sizes: '512x512',\n type: 'image/png',\n },\n {\n src: logoUrl,\n sizes: '512x512',\n type: 'image/png',\n purpose: 'maskable',\n },\n ]\n : [])\n\n const manifest = {\n name,\n short_name: shortName,\n description,\n start_url: startUrl,\n scope: config?.scope ?? '/',\n display: config?.display ?? 'standalone',\n orientation: config?.orientation ?? 'any',\n theme_color: themeColor,\n background_color: backgroundColor,\n icons,\n ...(config?.categories?.length\n ? { categories: config.categories }\n : {}),\n }\n\n return new Response(JSON.stringify(manifest, null, 2), {\n status: 200,\n headers: {\n 'Content-Type': 'application/manifest+json',\n 'Cache-Control':\n 'public, max-age=86400, s-maxage=86400',\n },\n })\n }\n}\n"]}
|
package/dist/middleware/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk3MYZS6PD_js = require('../chunk-3MYZS6PD.js');
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
4
|
+
var chunkW6K7MQCC_js = require('../chunk-W6K7MQCC.js');
|
|
5
|
+
require('../chunk-JP5WGL75.js');
|
|
6
6
|
require('../chunk-ZSMWDLMK.js');
|
|
7
7
|
var server = require('next/server');
|
|
8
8
|
|
|
@@ -20,7 +20,7 @@ function createMiddleware(config) {
|
|
|
20
20
|
}
|
|
21
21
|
if (config?.redirects !== false) {
|
|
22
22
|
const redirectConfig = typeof config?.redirects === "object" ? config.redirects : {};
|
|
23
|
-
const redirect = await
|
|
23
|
+
const redirect = await chunkW6K7MQCC_js.handleManagedRedirects(
|
|
24
24
|
request,
|
|
25
25
|
redirectConfig
|
|
26
26
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { buildSecurityHeaders } from '../chunk-6BIPAKL4.mjs';
|
|
2
|
-
import { handleManagedRedirects } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
2
|
+
import { handleManagedRedirects } from '../chunk-7LAOWIWE.mjs';
|
|
3
|
+
import '../chunk-B22WSN4L.mjs';
|
|
4
4
|
import '../chunk-4XPGGLVP.mjs';
|
|
5
5
|
import { NextResponse } from 'next/server';
|
|
6
6
|
|
package/dist/redirects/index.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
3
|
+
var chunkW6K7MQCC_js = require('../chunk-W6K7MQCC.js');
|
|
4
|
+
require('../chunk-JP5WGL75.js');
|
|
5
5
|
require('../chunk-ZSMWDLMK.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "clearRedirectCache", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkW6K7MQCC_js.clearRedirectCache; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "fetchRedirectRules", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkW6K7MQCC_js.fetchRedirectRules; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "generateNextRedirects", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkW6K7MQCC_js.generateNextRedirects; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "handleManagedRedirects", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return chunkW6K7MQCC_js.handleManagedRedirects; }
|
|
24
24
|
});
|
|
25
25
|
//# sourceMappingURL=index.js.map
|
|
26
26
|
//# sourceMappingURL=index.js.map
|
package/dist/redirects/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { clearRedirectCache, fetchRedirectRules, generateNextRedirects, handleManagedRedirects } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { clearRedirectCache, fetchRedirectRules, generateNextRedirects, handleManagedRedirects } from '../chunk-7LAOWIWE.mjs';
|
|
2
|
+
import '../chunk-B22WSN4L.mjs';
|
|
3
3
|
import '../chunk-4XPGGLVP.mjs';
|
|
4
4
|
//# sourceMappingURL=index.mjs.map
|
|
5
5
|
//# sourceMappingURL=index.mjs.map
|
package/dist/robots/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkJP5WGL75_js = require('../chunk-JP5WGL75.js');
|
|
4
4
|
require('../chunk-ZSMWDLMK.js');
|
|
5
5
|
|
|
6
6
|
// src/robots/index.ts
|
|
@@ -33,14 +33,14 @@ function createRobots(config) {
|
|
|
33
33
|
if (baseUrl) {
|
|
34
34
|
return buildRobotsResponse(baseUrl, config);
|
|
35
35
|
}
|
|
36
|
-
const apiKey = config.apiKey ?? (typeof process !== "undefined" && process.env &&
|
|
36
|
+
const apiKey = config.apiKey ?? (typeof process !== "undefined" && process.env && process.env.SONOR_API_KEY);
|
|
37
37
|
if (!apiKey) {
|
|
38
38
|
return new Response("User-agent: *\nDisallow: /", {
|
|
39
39
|
status: 200,
|
|
40
40
|
headers: { "Content-Type": "text/plain; charset=utf-8" }
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
return
|
|
43
|
+
return chunkJP5WGL75_js.getSiteConfig({ apiKey, apiUrl: config.apiUrl }).then((site) => {
|
|
44
44
|
const url = site?.site_url ?? "https://example.com";
|
|
45
45
|
return buildRobotsResponse(url, config);
|
|
46
46
|
});
|
package/dist/robots/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/robots/index.ts"],"names":["getSiteConfig"],"mappings":";;;;;;AAmCA,SAAS,mBAAA,CAAoB,SAAiB,MAAA,EAAgC;AAC5E,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI,MAAA,CAAO,aAAA,EAAe,IAAA,EAAK,EAAG;AAChC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,aAAA,CAAc,IAAA,EAAM,CAAA;AAAA,EACxC,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,KAAK,eAAe,CAAA;AAC1B,IAAA,KAAA,CAAM,KAAK,UAAU,CAAA;AACrB,IAAA,KAAA,MAAW,CAAA,IAAK,MAAA,CAAO,QAAA,IAAY,EAAC,EAAG;AACrC,MAAA,KAAA,CAAM,IAAA,CAAK,CAAA,UAAA,EAAa,CAAC,CAAA,CAAE,CAAA;AAAA,IAC7B;AAAA,EACF;AAEA,EAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACtC,EAAA,MAAM,WAAA,GAAc,OAAO,WAAA,IAAe,cAAA;AAC1C,EAAA,MAAM,UAAA,GAAa,CAAA,EAAG,IAAI,CAAA,EAAG,WAAA,CAAY,UAAA,CAAW,GAAG,CAAA,GAAI,EAAA,GAAK,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA;AACjF,EAAA,KAAA,CAAM,IAAA,CAAK,CAAA,SAAA,EAAY,UAAU,CAAA,CAAE,CAAA;AAEnC,EAAA,OAAO,IAAI,QAAA,CAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA,EAAG;AAAA,IACpC,MAAA,EAAQ,GAAA;AAAA,IACR,OAAA,EAAS;AAAA,MACP,cAAA,EAAgB,2BAAA;AAAA,MAChB,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AACH;AAMO,SAAS,aAAa,MAAA,EAA0D;AACrF,EAAA,OAAO,SAAS,MAAA,GAAuC;AACrD,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,OAAO,mBAAA,CAAoB,SAAS,MAAM,CAAA;AAAA,IAC5C;AACA,IAAA,MAAM,MAAA,GAAS,
|
|
1
|
+
{"version":3,"sources":["../../src/robots/index.ts"],"names":["getSiteConfig"],"mappings":";;;;;;AAmCA,SAAS,mBAAA,CAAoB,SAAiB,MAAA,EAAgC;AAC5E,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI,MAAA,CAAO,aAAA,EAAe,IAAA,EAAK,EAAG;AAChC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,aAAA,CAAc,IAAA,EAAM,CAAA;AAAA,EACxC,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,KAAK,eAAe,CAAA;AAC1B,IAAA,KAAA,CAAM,KAAK,UAAU,CAAA;AACrB,IAAA,KAAA,MAAW,CAAA,IAAK,MAAA,CAAO,QAAA,IAAY,EAAC,EAAG;AACrC,MAAA,KAAA,CAAM,IAAA,CAAK,CAAA,UAAA,EAAa,CAAC,CAAA,CAAE,CAAA;AAAA,IAC7B;AAAA,EACF;AAEA,EAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACtC,EAAA,MAAM,WAAA,GAAc,OAAO,WAAA,IAAe,cAAA;AAC1C,EAAA,MAAM,UAAA,GAAa,CAAA,EAAG,IAAI,CAAA,EAAG,WAAA,CAAY,UAAA,CAAW,GAAG,CAAA,GAAI,EAAA,GAAK,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA;AACjF,EAAA,KAAA,CAAM,IAAA,CAAK,CAAA,SAAA,EAAY,UAAU,CAAA,CAAE,CAAA;AAEnC,EAAA,OAAO,IAAI,QAAA,CAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA,EAAG;AAAA,IACpC,MAAA,EAAQ,GAAA;AAAA,IACR,OAAA,EAAS;AAAA,MACP,cAAA,EAAgB,2BAAA;AAAA,MAChB,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AACH;AAMO,SAAS,aAAa,MAAA,EAA0D;AACrF,EAAA,OAAO,SAAS,MAAA,GAAuC;AACrD,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,OAAO,mBAAA,CAAoB,SAAS,MAAM,CAAA;AAAA,IAC5C;AACA,IAAA,MAAM,MAAA,GAAS,OAAO,MAAA,KAAW,OAAO,YAAY,WAAA,IAAe,OAAA,CAAQ,GAAA,IAAO,OAAA,CAAQ,GAAA,CAAI,aAAA,CAAA;AAC9F,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,OAAO,IAAI,SAAS,4BAAA,EAA8B;AAAA,QAChD,MAAA,EAAQ,GAAA;AAAA,QACR,OAAA,EAAS,EAAE,cAAA,EAAgB,2BAAA;AAA4B,OACxD,CAAA;AAAA,IACH;AACA,IAAA,OAAOA,8BAAA,CAAc,EAAE,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,QAAQ,CAAA,CAAE,IAAA,CAAK,CAAC,IAAA,KAAS;AACrE,MAAA,MAAM,GAAA,GAAM,MAAM,QAAA,IAAY,qBAAA;AAC9B,MAAA,OAAO,mBAAA,CAAoB,KAAK,MAAM,CAAA;AAAA,IACxC,CAAC,CAAA;AAAA,EACH,CAAA;AACF","file":"index.js","sourcesContent":["/**\n * @sonordev/site-kit/robots - robots.txt Generator\n *\n * Generates robots.txt with Sitemap directive.\n * baseUrl can be omitted when apiKey is set (resolved from Portal project-info).\n *\n * @example\n * // app/robots.txt/route.ts (API key only)\n * import { createRobots } from '@sonordev/site-kit/robots'\n * export const GET = createRobots({ apiKey: process.env.SONOR_API_KEY })\n *\n * @example\n * // With explicit baseUrl\n * export const GET = createRobots({\n * baseUrl: process.env.NEXT_PUBLIC_SITE_URL || 'https://example.com',\n * disallow: ['/admin'],\n * })\n */\n\nimport { getSiteConfig } from '../site-config'\n\nexport interface RobotsConfig {\n /** Base URL of the site (optional when apiKey is set; then resolved from Portal) */\n baseUrl?: string\n /** Project API key; when set and baseUrl is not, baseUrl is resolved from Portal */\n apiKey?: string\n apiUrl?: string\n /** Path to sitemap (default: /sitemap.xml) */\n sitemapPath?: string\n /** Pre-built robots content from Portal (overrides default when provided) */\n managedRobots?: string | null\n /** Paths to disallow (e.g. ['/admin', '/api']) */\n disallow?: string[]\n}\n\nfunction buildRobotsResponse(baseUrl: string, config: RobotsConfig): Response {\n const lines: string[] = []\n\n if (config.managedRobots?.trim()) {\n lines.push(config.managedRobots.trim())\n } else {\n lines.push('User-agent: *')\n lines.push('Allow: /')\n for (const p of config.disallow ?? []) {\n lines.push(`Disallow: ${p}`)\n }\n }\n\n const base = baseUrl.replace(/\\/$/, '')\n const sitemapPath = config.sitemapPath ?? '/sitemap.xml'\n const sitemapUrl = `${base}${sitemapPath.startsWith('/') ? '' : '/'}${sitemapPath}`\n lines.push(`Sitemap: ${sitemapUrl}`)\n\n return new Response(lines.join('\\n'), {\n status: 200,\n headers: {\n 'Content-Type': 'text/plain; charset=utf-8',\n 'Cache-Control': 'public, max-age=86400, s-maxage=86400',\n },\n })\n}\n\n/**\n * Create a robots.txt handler that returns a Response or Promise<Response>.\n * Use as GET handler for app/robots.txt/route.ts. When baseUrl is omitted, pass apiKey to resolve from Portal.\n */\nexport function createRobots(config: RobotsConfig): () => Response | Promise<Response> {\n return function robots(): Response | Promise<Response> {\n const baseUrl = config.baseUrl\n if (baseUrl) {\n return buildRobotsResponse(baseUrl, config)\n }\n const apiKey = config.apiKey ?? (typeof process !== 'undefined' && process.env && process.env.SONOR_API_KEY)\n if (!apiKey) {\n return new Response('User-agent: *\\nDisallow: /', {\n status: 200,\n headers: { 'Content-Type': 'text/plain; charset=utf-8' },\n })\n }\n return getSiteConfig({ apiKey, apiUrl: config.apiUrl }).then((site) => {\n const url = site?.site_url ?? 'https://example.com'\n return buildRobotsResponse(url, config)\n })\n }\n}\n"]}
|
package/dist/robots/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getSiteConfig } from '../chunk-
|
|
1
|
+
import { getSiteConfig } from '../chunk-B22WSN4L.mjs';
|
|
2
2
|
import '../chunk-4XPGGLVP.mjs';
|
|
3
3
|
|
|
4
4
|
// src/robots/index.ts
|
|
@@ -31,7 +31,7 @@ function createRobots(config) {
|
|
|
31
31
|
if (baseUrl) {
|
|
32
32
|
return buildRobotsResponse(baseUrl, config);
|
|
33
33
|
}
|
|
34
|
-
const apiKey = config.apiKey ?? (typeof process !== "undefined" && process.env &&
|
|
34
|
+
const apiKey = config.apiKey ?? (typeof process !== "undefined" && process.env && process.env.SONOR_API_KEY);
|
|
35
35
|
if (!apiKey) {
|
|
36
36
|
return new Response("User-agent: *\nDisallow: /", {
|
|
37
37
|
status: 200,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/robots/index.ts"],"names":[],"mappings":";;;;AAmCA,SAAS,mBAAA,CAAoB,SAAiB,MAAA,EAAgC;AAC5E,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI,MAAA,CAAO,aAAA,EAAe,IAAA,EAAK,EAAG;AAChC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,aAAA,CAAc,IAAA,EAAM,CAAA;AAAA,EACxC,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,KAAK,eAAe,CAAA;AAC1B,IAAA,KAAA,CAAM,KAAK,UAAU,CAAA;AACrB,IAAA,KAAA,MAAW,CAAA,IAAK,MAAA,CAAO,QAAA,IAAY,EAAC,EAAG;AACrC,MAAA,KAAA,CAAM,IAAA,CAAK,CAAA,UAAA,EAAa,CAAC,CAAA,CAAE,CAAA;AAAA,IAC7B;AAAA,EACF;AAEA,EAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACtC,EAAA,MAAM,WAAA,GAAc,OAAO,WAAA,IAAe,cAAA;AAC1C,EAAA,MAAM,UAAA,GAAa,CAAA,EAAG,IAAI,CAAA,EAAG,WAAA,CAAY,UAAA,CAAW,GAAG,CAAA,GAAI,EAAA,GAAK,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA;AACjF,EAAA,KAAA,CAAM,IAAA,CAAK,CAAA,SAAA,EAAY,UAAU,CAAA,CAAE,CAAA;AAEnC,EAAA,OAAO,IAAI,QAAA,CAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA,EAAG;AAAA,IACpC,MAAA,EAAQ,GAAA;AAAA,IACR,OAAA,EAAS;AAAA,MACP,cAAA,EAAgB,2BAAA;AAAA,MAChB,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AACH;AAMO,SAAS,aAAa,MAAA,EAA0D;AACrF,EAAA,OAAO,SAAS,MAAA,GAAuC;AACrD,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,OAAO,mBAAA,CAAoB,SAAS,MAAM,CAAA;AAAA,IAC5C;AACA,IAAA,MAAM,MAAA,GAAS,
|
|
1
|
+
{"version":3,"sources":["../../src/robots/index.ts"],"names":[],"mappings":";;;;AAmCA,SAAS,mBAAA,CAAoB,SAAiB,MAAA,EAAgC;AAC5E,EAAA,MAAM,QAAkB,EAAC;AAEzB,EAAA,IAAI,MAAA,CAAO,aAAA,EAAe,IAAA,EAAK,EAAG;AAChC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,aAAA,CAAc,IAAA,EAAM,CAAA;AAAA,EACxC,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,KAAK,eAAe,CAAA;AAC1B,IAAA,KAAA,CAAM,KAAK,UAAU,CAAA;AACrB,IAAA,KAAA,MAAW,CAAA,IAAK,MAAA,CAAO,QAAA,IAAY,EAAC,EAAG;AACrC,MAAA,KAAA,CAAM,IAAA,CAAK,CAAA,UAAA,EAAa,CAAC,CAAA,CAAE,CAAA;AAAA,IAC7B;AAAA,EACF;AAEA,EAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACtC,EAAA,MAAM,WAAA,GAAc,OAAO,WAAA,IAAe,cAAA;AAC1C,EAAA,MAAM,UAAA,GAAa,CAAA,EAAG,IAAI,CAAA,EAAG,WAAA,CAAY,UAAA,CAAW,GAAG,CAAA,GAAI,EAAA,GAAK,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA;AACjF,EAAA,KAAA,CAAM,IAAA,CAAK,CAAA,SAAA,EAAY,UAAU,CAAA,CAAE,CAAA;AAEnC,EAAA,OAAO,IAAI,QAAA,CAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA,EAAG;AAAA,IACpC,MAAA,EAAQ,GAAA;AAAA,IACR,OAAA,EAAS;AAAA,MACP,cAAA,EAAgB,2BAAA;AAAA,MAChB,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AACH;AAMO,SAAS,aAAa,MAAA,EAA0D;AACrF,EAAA,OAAO,SAAS,MAAA,GAAuC;AACrD,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,OAAO,mBAAA,CAAoB,SAAS,MAAM,CAAA;AAAA,IAC5C;AACA,IAAA,MAAM,MAAA,GAAS,OAAO,MAAA,KAAW,OAAO,YAAY,WAAA,IAAe,OAAA,CAAQ,GAAA,IAAO,OAAA,CAAQ,GAAA,CAAI,aAAA,CAAA;AAC9F,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,OAAO,IAAI,SAAS,4BAAA,EAA8B;AAAA,QAChD,MAAA,EAAQ,GAAA;AAAA,QACR,OAAA,EAAS,EAAE,cAAA,EAAgB,2BAAA;AAA4B,OACxD,CAAA;AAAA,IACH;AACA,IAAA,OAAO,aAAA,CAAc,EAAE,MAAA,EAAQ,MAAA,EAAQ,MAAA,CAAO,QAAQ,CAAA,CAAE,IAAA,CAAK,CAAC,IAAA,KAAS;AACrE,MAAA,MAAM,GAAA,GAAM,MAAM,QAAA,IAAY,qBAAA;AAC9B,MAAA,OAAO,mBAAA,CAAoB,KAAK,MAAM,CAAA;AAAA,IACxC,CAAC,CAAA;AAAA,EACH,CAAA;AACF","file":"index.mjs","sourcesContent":["/**\n * @sonordev/site-kit/robots - robots.txt Generator\n *\n * Generates robots.txt with Sitemap directive.\n * baseUrl can be omitted when apiKey is set (resolved from Portal project-info).\n *\n * @example\n * // app/robots.txt/route.ts (API key only)\n * import { createRobots } from '@sonordev/site-kit/robots'\n * export const GET = createRobots({ apiKey: process.env.SONOR_API_KEY })\n *\n * @example\n * // With explicit baseUrl\n * export const GET = createRobots({\n * baseUrl: process.env.NEXT_PUBLIC_SITE_URL || 'https://example.com',\n * disallow: ['/admin'],\n * })\n */\n\nimport { getSiteConfig } from '../site-config'\n\nexport interface RobotsConfig {\n /** Base URL of the site (optional when apiKey is set; then resolved from Portal) */\n baseUrl?: string\n /** Project API key; when set and baseUrl is not, baseUrl is resolved from Portal */\n apiKey?: string\n apiUrl?: string\n /** Path to sitemap (default: /sitemap.xml) */\n sitemapPath?: string\n /** Pre-built robots content from Portal (overrides default when provided) */\n managedRobots?: string | null\n /** Paths to disallow (e.g. ['/admin', '/api']) */\n disallow?: string[]\n}\n\nfunction buildRobotsResponse(baseUrl: string, config: RobotsConfig): Response {\n const lines: string[] = []\n\n if (config.managedRobots?.trim()) {\n lines.push(config.managedRobots.trim())\n } else {\n lines.push('User-agent: *')\n lines.push('Allow: /')\n for (const p of config.disallow ?? []) {\n lines.push(`Disallow: ${p}`)\n }\n }\n\n const base = baseUrl.replace(/\\/$/, '')\n const sitemapPath = config.sitemapPath ?? '/sitemap.xml'\n const sitemapUrl = `${base}${sitemapPath.startsWith('/') ? '' : '/'}${sitemapPath}`\n lines.push(`Sitemap: ${sitemapUrl}`)\n\n return new Response(lines.join('\\n'), {\n status: 200,\n headers: {\n 'Content-Type': 'text/plain; charset=utf-8',\n 'Cache-Control': 'public, max-age=86400, s-maxage=86400',\n },\n })\n}\n\n/**\n * Create a robots.txt handler that returns a Response or Promise<Response>.\n * Use as GET handler for app/robots.txt/route.ts. When baseUrl is omitted, pass apiKey to resolve from Portal.\n */\nexport function createRobots(config: RobotsConfig): () => Response | Promise<Response> {\n return function robots(): Response | Promise<Response> {\n const baseUrl = config.baseUrl\n if (baseUrl) {\n return buildRobotsResponse(baseUrl, config)\n }\n const apiKey = config.apiKey ?? (typeof process !== 'undefined' && process.env && process.env.SONOR_API_KEY)\n if (!apiKey) {\n return new Response('User-agent: *\\nDisallow: /', {\n status: 200,\n headers: { 'Content-Type': 'text/plain; charset=utf-8' },\n })\n }\n return getSiteConfig({ apiKey, apiUrl: config.apiUrl }).then((site) => {\n const url = site?.site_url ?? 'https://example.com'\n return buildRobotsResponse(url, config)\n })\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as GetRedirectOptions, R as RedirectResult, r as GetRobotsOptions, q as RobotsDirective, t as GetSitemapEntriesOptions, s as SitemapEntry } from './types-CGkyylOa.mjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Get redirect for a path if one exists
|
|
@@ -12,7 +12,7 @@ import { m as GetRedirectOptions, R as RedirectResult, q as GetRobotsOptions, p
|
|
|
12
12
|
*
|
|
13
13
|
* export async function middleware(request) {
|
|
14
14
|
* const redirect = await getRedirect({
|
|
15
|
-
* projectId: process.env.
|
|
15
|
+
* projectId: process.env.SONOR_PROJECT_ID!,
|
|
16
16
|
* path: request.nextUrl.pathname
|
|
17
17
|
* })
|
|
18
18
|
*
|
|
@@ -29,7 +29,7 @@ declare function getRedirect(options: GetRedirectOptions): Promise<RedirectResul
|
|
|
29
29
|
* @example
|
|
30
30
|
* ```tsx
|
|
31
31
|
* const robots = await getRobotsDirective({
|
|
32
|
-
* projectId: process.env.
|
|
32
|
+
* projectId: process.env.SONOR_PROJECT_ID!,
|
|
33
33
|
* path: '/private-page'
|
|
34
34
|
* })
|
|
35
35
|
*
|
|
@@ -51,7 +51,7 @@ declare function getRobotsDirective(options: GetRobotsOptions): Promise<RobotsDi
|
|
|
51
51
|
*
|
|
52
52
|
* export default async function sitemap() {
|
|
53
53
|
* return generateSitemap({
|
|
54
|
-
* projectId: process.env.
|
|
54
|
+
* projectId: process.env.SONOR_PROJECT_ID!,
|
|
55
55
|
* baseUrl: 'https://example.com',
|
|
56
56
|
* publishedOnly: true
|
|
57
57
|
* })
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as GetRedirectOptions, R as RedirectResult, r as GetRobotsOptions, q as RobotsDirective, t as GetSitemapEntriesOptions, s as SitemapEntry } from './types-CGkyylOa.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Get redirect for a path if one exists
|
|
@@ -12,7 +12,7 @@ import { m as GetRedirectOptions, R as RedirectResult, q as GetRobotsOptions, p
|
|
|
12
12
|
*
|
|
13
13
|
* export async function middleware(request) {
|
|
14
14
|
* const redirect = await getRedirect({
|
|
15
|
-
* projectId: process.env.
|
|
15
|
+
* projectId: process.env.SONOR_PROJECT_ID!,
|
|
16
16
|
* path: request.nextUrl.pathname
|
|
17
17
|
* })
|
|
18
18
|
*
|
|
@@ -29,7 +29,7 @@ declare function getRedirect(options: GetRedirectOptions): Promise<RedirectResul
|
|
|
29
29
|
* @example
|
|
30
30
|
* ```tsx
|
|
31
31
|
* const robots = await getRobotsDirective({
|
|
32
|
-
* projectId: process.env.
|
|
32
|
+
* projectId: process.env.SONOR_PROJECT_ID!,
|
|
33
33
|
* path: '/private-page'
|
|
34
34
|
* })
|
|
35
35
|
*
|
|
@@ -51,7 +51,7 @@ declare function getRobotsDirective(options: GetRobotsOptions): Promise<RobotsDi
|
|
|
51
51
|
*
|
|
52
52
|
* export default async function sitemap() {
|
|
53
53
|
* return generateSitemap({
|
|
54
|
-
* projectId: process.env.
|
|
54
|
+
* projectId: process.env.SONOR_PROJECT_ID!,
|
|
55
55
|
* baseUrl: 'https://example.com',
|
|
56
56
|
* publishedOnly: true
|
|
57
57
|
* })
|
package/dist/seo/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { G as GetManagedMetadataOptions, M as ManagedMetadataResult,
|
|
2
|
-
export { A as ABTest, F as FAQItem,
|
|
1
|
+
import { G as GetManagedMetadataOptions, M as ManagedMetadataResult, l as GetABVariantOptions, k as ABTestResult, c as ManagedSchemaProps, e as ManagedFAQProps, g as ManagedInternalLinksProps, i as ManagedContentProps, h as ManagedContentBlock, p as ManagedScriptsProps } from '../types-CGkyylOa.mjs';
|
|
2
|
+
export { A as ABTest, F as FAQItem, n as GetRedirectOptions, r as GetRobotsOptions, t as GetSitemapEntriesOptions, d as ManagedFAQData, f as ManagedLink, m as ManagedRedirect, o as ManagedScript, R as RedirectResult, q as RobotsDirective, a as SEOPageData, b as SchemaMarkup, s as SitemapEntry, S as SonorSEOConfig } from '../types-CGkyylOa.mjs';
|
|
3
3
|
import { ResolvingMetadata, Metadata } from 'next';
|
|
4
|
-
export { g as generateSitemap, a as getRedirect, b as getRobotsDirective, i as isIndexable } from '../routing-
|
|
4
|
+
export { g as generateSitemap, a as getRedirect, b as getRobotsDirective, i as isIndexable } from '../routing-DQ_Et-OP.mjs';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
export { SitemapSync } from './client.mjs';
|
|
7
7
|
|
|
@@ -205,7 +205,6 @@ declare const getVisibilitySummary: () => Promise<{
|
|
|
205
205
|
* ```tsx
|
|
206
206
|
* export async function generateMetadata({ params }) {
|
|
207
207
|
* return getManagedMetadata({
|
|
208
|
-
* projectId: process.env.UPTRADE_PROJECT_ID!,
|
|
209
208
|
* path: `/services/${params.slug}`,
|
|
210
209
|
* fallback: {
|
|
211
210
|
* title: 'Our Services',
|
|
@@ -222,7 +221,6 @@ declare function getManagedMetadata(options: GetManagedMetadataOptions): Promise
|
|
|
222
221
|
* @example
|
|
223
222
|
* ```tsx
|
|
224
223
|
* const variant = await getABVariant({
|
|
225
|
-
* projectId: process.env.UPTRADE_PROJECT_ID!,
|
|
226
224
|
* path: '/pricing',
|
|
227
225
|
* field: 'title',
|
|
228
226
|
* sessionId: cookies().get('session_id')?.value
|
package/dist/seo/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { G as GetManagedMetadataOptions, M as ManagedMetadataResult,
|
|
2
|
-
export { A as ABTest, F as FAQItem,
|
|
1
|
+
import { G as GetManagedMetadataOptions, M as ManagedMetadataResult, l as GetABVariantOptions, k as ABTestResult, c as ManagedSchemaProps, e as ManagedFAQProps, g as ManagedInternalLinksProps, i as ManagedContentProps, h as ManagedContentBlock, p as ManagedScriptsProps } from '../types-CGkyylOa.js';
|
|
2
|
+
export { A as ABTest, F as FAQItem, n as GetRedirectOptions, r as GetRobotsOptions, t as GetSitemapEntriesOptions, d as ManagedFAQData, f as ManagedLink, m as ManagedRedirect, o as ManagedScript, R as RedirectResult, q as RobotsDirective, a as SEOPageData, b as SchemaMarkup, s as SitemapEntry, S as SonorSEOConfig } from '../types-CGkyylOa.js';
|
|
3
3
|
import { ResolvingMetadata, Metadata } from 'next';
|
|
4
|
-
export { g as generateSitemap, a as getRedirect, b as getRobotsDirective, i as isIndexable } from '../routing-
|
|
4
|
+
export { g as generateSitemap, a as getRedirect, b as getRobotsDirective, i as isIndexable } from '../routing-IYiJNIIX.js';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
export { SitemapSync } from './client.js';
|
|
7
7
|
|
|
@@ -205,7 +205,6 @@ declare const getVisibilitySummary: () => Promise<{
|
|
|
205
205
|
* ```tsx
|
|
206
206
|
* export async function generateMetadata({ params }) {
|
|
207
207
|
* return getManagedMetadata({
|
|
208
|
-
* projectId: process.env.UPTRADE_PROJECT_ID!,
|
|
209
208
|
* path: `/services/${params.slug}`,
|
|
210
209
|
* fallback: {
|
|
211
210
|
* title: 'Our Services',
|
|
@@ -222,7 +221,6 @@ declare function getManagedMetadata(options: GetManagedMetadataOptions): Promise
|
|
|
222
221
|
* @example
|
|
223
222
|
* ```tsx
|
|
224
223
|
* const variant = await getABVariant({
|
|
225
|
-
* projectId: process.env.UPTRADE_PROJECT_ID!,
|
|
226
224
|
* path: '/pricing',
|
|
227
225
|
* field: 'title',
|
|
228
226
|
* sessionId: cookies().get('session_id')?.value
|