@lukoweb/apitogo 0.1.55 → 0.1.57
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/cli/cli.js +280 -46
- package/dist/declarations/config/default-landing-content.d.ts +2 -0
- package/dist/declarations/config/landing-manifest.d.ts +6 -0
- package/dist/declarations/config/local-manifest.d.ts +6 -0
- package/dist/declarations/config/resolve-modules.d.ts +3 -1
- package/dist/declarations/config/validators/ModulesSchema.d.ts +32 -0
- package/dist/declarations/config/validators/ZudokuConfig.d.ts +7 -0
- package/dist/declarations/lib/authentication/providers/dev-portal-utils.d.ts +1 -0
- package/dist/flat-config.d.ts +53 -40
- package/package.json +1 -1
- package/src/config/default-landing-content.ts +154 -0
- package/src/config/resolve-modules.ts +115 -47
- package/src/config/validators/ModulesSchema.ts +25 -0
- package/src/lib/authentication/providers/dev-portal-utils.ts +9 -0
- package/src/vite/plugin-theme.ts +41 -0
package/dist/cli/cli.js
CHANGED
|
@@ -667,7 +667,7 @@ var init_file_exists = __esm({
|
|
|
667
667
|
|
|
668
668
|
// src/config/validators/ModulesSchema.ts
|
|
669
669
|
import { z as z3 } from "zod";
|
|
670
|
-
var ModuleToggleSchema, DocsModuleSchema, LandingLinkSchema, LandingFeatureSchema, LandingCodeExampleSchema, LandingHeroSchema, LandingTickerItemSchema, LandingTickerSchema, LandingTrustSchema, LandingApiShowcaseItemSchema, LandingApiShowcaseSchema, LandingPricingCtaSchema, LandingContentSchema, DashboardContentSchema, ProfileContentSchema, PlanTierSchema, PlansContentSchema, SubmodulePageFields, LandingModuleSchema, UserManagementModuleSchema, ApiKeysModuleSchema, PlanCatalogItemSchema, PlansModuleSchema, DashboardModuleSchema, UserPanelModuleSchema, ModulesSchema;
|
|
670
|
+
var ModuleToggleSchema, DocsModuleSchema, LandingLinkSchema, LandingFeatureSchema, LandingCodeExampleSchema, LandingHeroSchema, LandingFeaturesSectionSchema, LandingTickerItemSchema, LandingTickerSchema, LandingTrustSchema, LandingApiShowcaseItemSchema, LandingApiShowcaseSchema, LandingPricingCtaSchema, LandingContentSchema, DashboardContentSchema, ProfileContentSchema, PlanTierSchema, PlansContentSchema, SubmodulePageFields, LandingModuleSchema, UserManagementModuleSchema, ApiKeysModuleSchema, PlanCatalogItemSchema, PlansModuleSchema, DashboardModuleSchema, UserPanelModuleSchema, ModulesSchema;
|
|
671
671
|
var init_ModulesSchema = __esm({
|
|
672
672
|
"src/config/validators/ModulesSchema.ts"() {
|
|
673
673
|
ModuleToggleSchema = z3.object({
|
|
@@ -708,12 +708,18 @@ var init_ModulesSchema = __esm({
|
|
|
708
708
|
}).optional();
|
|
709
709
|
LandingHeroSchema = z3.object({
|
|
710
710
|
title: z3.string().optional(),
|
|
711
|
+
titleAccent: z3.string().optional().describe("Accent-colored word or phrase shown on a new line after the title."),
|
|
711
712
|
subtitle: z3.string().optional(),
|
|
712
713
|
description: z3.string().optional(),
|
|
713
714
|
badge: z3.string().optional(),
|
|
714
715
|
highlights: z3.array(z3.string()).optional(),
|
|
715
716
|
codeExample: LandingCodeExampleSchema
|
|
716
717
|
}).optional();
|
|
718
|
+
LandingFeaturesSectionSchema = z3.object({
|
|
719
|
+
label: z3.string().optional(),
|
|
720
|
+
title: z3.string().optional(),
|
|
721
|
+
description: z3.string().optional()
|
|
722
|
+
}).optional();
|
|
717
723
|
LandingTickerItemSchema = z3.object({
|
|
718
724
|
label: z3.string(),
|
|
719
725
|
value: z3.string(),
|
|
@@ -753,6 +759,7 @@ var init_ModulesSchema = __esm({
|
|
|
753
759
|
}).optional();
|
|
754
760
|
LandingContentSchema = z3.object({
|
|
755
761
|
hero: LandingHeroSchema,
|
|
762
|
+
featuresSection: LandingFeaturesSectionSchema,
|
|
756
763
|
features: z3.array(LandingFeatureSchema).optional(),
|
|
757
764
|
primaryAction: LandingLinkSchema.optional(),
|
|
758
765
|
secondaryAction: LandingLinkSchema.optional(),
|
|
@@ -799,6 +806,9 @@ var init_ModulesSchema = __esm({
|
|
|
799
806
|
),
|
|
800
807
|
content: LandingContentSchema.describe(
|
|
801
808
|
"Default landing page content when no custom component is provided."
|
|
809
|
+
),
|
|
810
|
+
useDefaults: z3.boolean().optional().describe(
|
|
811
|
+
"When true, merge DEFAULT_LANDING_CONTENT for unset sections. When false or omitted, only configured sections are shown."
|
|
802
812
|
)
|
|
803
813
|
});
|
|
804
814
|
UserManagementModuleSchema = ModuleToggleSchema.extend({
|
|
@@ -1032,10 +1042,160 @@ var init_local_manifest = __esm({
|
|
|
1032
1042
|
}
|
|
1033
1043
|
});
|
|
1034
1044
|
|
|
1045
|
+
// src/config/default-landing-content.ts
|
|
1046
|
+
var DEFAULT_LANDING_CONTENT;
|
|
1047
|
+
var init_default_landing_content = __esm({
|
|
1048
|
+
"src/config/default-landing-content.ts"() {
|
|
1049
|
+
DEFAULT_LANDING_CONTENT = {
|
|
1050
|
+
hero: {
|
|
1051
|
+
badge: "99.98% uptime",
|
|
1052
|
+
subtitle: "Production-ready APIs, one endpoint away",
|
|
1053
|
+
title: "Developer APIs that ship",
|
|
1054
|
+
titleAccent: "today.",
|
|
1055
|
+
description: "Documentation, interactive API reference, auth, and billing \u2014 sub-40ms responses, one API key, generous free tier.",
|
|
1056
|
+
highlights: ["No credit card", "10k requests free", "SDKs for 6 languages"],
|
|
1057
|
+
codeExample: {
|
|
1058
|
+
filename: "example.sh",
|
|
1059
|
+
language: "bash",
|
|
1060
|
+
code: `$ curl https://api.example.com/v1/items \\
|
|
1061
|
+
-H "Authorization: Bearer YOUR_API_KEY" \\
|
|
1062
|
+
-d "limit=10"
|
|
1063
|
+
|
|
1064
|
+
{
|
|
1065
|
+
"items": [
|
|
1066
|
+
{ "id": "item_1", "name": "Widget", "status": "active" },
|
|
1067
|
+
{ "id": "item_2", "name": "Gadget", "status": "active" }
|
|
1068
|
+
]
|
|
1069
|
+
} // 28ms`
|
|
1070
|
+
}
|
|
1071
|
+
},
|
|
1072
|
+
primaryAction: { label: "Get your API key", href: "/register" },
|
|
1073
|
+
secondaryAction: { label: "Read the docs", href: "/introduction" },
|
|
1074
|
+
ticker: {
|
|
1075
|
+
items: [
|
|
1076
|
+
{ label: "GET", value: "/v1/items", change: "28ms" },
|
|
1077
|
+
{ label: "POST", value: "/v1/items", change: "34ms" },
|
|
1078
|
+
{ label: "GET", value: "/v1/users", change: "19ms" },
|
|
1079
|
+
{ label: "PATCH", value: "/v1/users/{id}", change: "41ms" },
|
|
1080
|
+
{ label: "GET", value: "/v1/health", change: "16ms" },
|
|
1081
|
+
{ label: "DELETE", value: "/v1/items/{id}", change: "22ms" },
|
|
1082
|
+
{ label: "GET", value: "/v1/search", change: "47ms" },
|
|
1083
|
+
{ label: "POST", value: "/v1/auth/token", change: "52ms" }
|
|
1084
|
+
]
|
|
1085
|
+
},
|
|
1086
|
+
trust: {
|
|
1087
|
+
title: "Trusted by teams shipping production APIs",
|
|
1088
|
+
logos: ["Acme Corp", "BuildFast", "DataFlow", "ShipKit", "DevStack", "LaunchPad"]
|
|
1089
|
+
},
|
|
1090
|
+
featuresSection: {
|
|
1091
|
+
label: "// why us",
|
|
1092
|
+
title: "Everything you need to build on your API",
|
|
1093
|
+
description: "Skip the infra. We handle docs, auth, keys, and billing so you can focus on your product."
|
|
1094
|
+
},
|
|
1095
|
+
features: [
|
|
1096
|
+
{
|
|
1097
|
+
icon: "gauge",
|
|
1098
|
+
title: "Sub-40ms responses",
|
|
1099
|
+
description: "Edge-cached and globally distributed, so your app feels instant anywhere."
|
|
1100
|
+
},
|
|
1101
|
+
{
|
|
1102
|
+
icon: "radio",
|
|
1103
|
+
title: "Real-time streams",
|
|
1104
|
+
description: "WebSocket feeds with automatic reconnection for live data and events."
|
|
1105
|
+
},
|
|
1106
|
+
{
|
|
1107
|
+
icon: "blocks",
|
|
1108
|
+
title: "Unified schema",
|
|
1109
|
+
description: "One consistent API design \u2014 no per-endpoint glue code or custom adapters."
|
|
1110
|
+
},
|
|
1111
|
+
{
|
|
1112
|
+
icon: "shield-check",
|
|
1113
|
+
title: "99.98% uptime",
|
|
1114
|
+
description: "Redundant infra with a public status page and an SLA on paid plans."
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
icon: "code",
|
|
1118
|
+
title: "SDKs for 6 languages",
|
|
1119
|
+
description: "Typed clients for JS, Python, Go, Rust, Ruby and PHP. Copy, paste, ship."
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
icon: "webhook",
|
|
1123
|
+
title: "Webhooks & alerts",
|
|
1124
|
+
description: "Push events and threshold alerts straight to your endpoints."
|
|
1125
|
+
}
|
|
1126
|
+
],
|
|
1127
|
+
apiShowcase: {
|
|
1128
|
+
title: "Production APIs. One key.",
|
|
1129
|
+
browseAllLabel: "Browse all APIs",
|
|
1130
|
+
browseAllHref: "/api",
|
|
1131
|
+
autoFromOpenApi: true,
|
|
1132
|
+
items: [
|
|
1133
|
+
{
|
|
1134
|
+
name: "List resources",
|
|
1135
|
+
path: "/v1/items",
|
|
1136
|
+
icon: "boxes",
|
|
1137
|
+
latency: "28ms"
|
|
1138
|
+
},
|
|
1139
|
+
{
|
|
1140
|
+
name: "Create resource",
|
|
1141
|
+
path: "/v1/items",
|
|
1142
|
+
icon: "badge-dollar-sign",
|
|
1143
|
+
latency: "34ms"
|
|
1144
|
+
},
|
|
1145
|
+
{
|
|
1146
|
+
name: "Get resource",
|
|
1147
|
+
path: "/v1/items/{id}",
|
|
1148
|
+
icon: "layers",
|
|
1149
|
+
latency: "19ms"
|
|
1150
|
+
},
|
|
1151
|
+
{
|
|
1152
|
+
name: "Search",
|
|
1153
|
+
path: "/v1/search",
|
|
1154
|
+
icon: "arrow-left-right",
|
|
1155
|
+
latency: "41ms"
|
|
1156
|
+
},
|
|
1157
|
+
{
|
|
1158
|
+
name: "User profile",
|
|
1159
|
+
path: "/v1/users/me",
|
|
1160
|
+
icon: "wallet",
|
|
1161
|
+
latency: "52ms"
|
|
1162
|
+
},
|
|
1163
|
+
{
|
|
1164
|
+
name: "Health check",
|
|
1165
|
+
path: "/v1/health",
|
|
1166
|
+
icon: "activity",
|
|
1167
|
+
latency: "16ms"
|
|
1168
|
+
},
|
|
1169
|
+
{
|
|
1170
|
+
name: "Metadata",
|
|
1171
|
+
path: "/v1/meta",
|
|
1172
|
+
icon: "coins",
|
|
1173
|
+
latency: "22ms"
|
|
1174
|
+
},
|
|
1175
|
+
{
|
|
1176
|
+
name: "Rate limits",
|
|
1177
|
+
path: "/v1/limits",
|
|
1178
|
+
icon: "gauge",
|
|
1179
|
+
latency: "16ms"
|
|
1180
|
+
}
|
|
1181
|
+
]
|
|
1182
|
+
},
|
|
1183
|
+
pricingCta: {
|
|
1184
|
+
title: "Start free. Scale when you do.",
|
|
1185
|
+
description: "10,000 requests a month, free forever. Upgrade only when your app takes off.",
|
|
1186
|
+
primaryAction: { label: "Create free account", href: "/register" },
|
|
1187
|
+
secondaryAction: { label: "See pricing", href: "/pricing" }
|
|
1188
|
+
},
|
|
1189
|
+
showPoweredBy: true
|
|
1190
|
+
};
|
|
1191
|
+
}
|
|
1192
|
+
});
|
|
1193
|
+
|
|
1035
1194
|
// src/config/resolve-modules.ts
|
|
1036
|
-
var hasExplicitModules, joinPanelPath,
|
|
1195
|
+
var hasExplicitModules, joinPanelPath, mergeLandingSection, buildDefaultLandingContent, resolveLandingContent, DEFAULT_DASHBOARD_QUICK_LINKS, resolveDashboardContent, resolveProfileContent, resolvePlansContent, resolveModulesConfig;
|
|
1037
1196
|
var init_resolve_modules = __esm({
|
|
1038
1197
|
"src/config/resolve-modules.ts"() {
|
|
1198
|
+
init_default_landing_content();
|
|
1039
1199
|
init_ModulesSchema();
|
|
1040
1200
|
hasExplicitModules = (config2) => config2.modules !== void 0;
|
|
1041
1201
|
joinPanelPath = (basePath, routePath) => {
|
|
@@ -1049,55 +1209,98 @@ var init_resolve_modules = __esm({
|
|
|
1049
1209
|
}
|
|
1050
1210
|
return `/${`${base}/${route}`.replace(/^\/+/, "")}`;
|
|
1051
1211
|
};
|
|
1052
|
-
|
|
1053
|
-
{
|
|
1054
|
-
|
|
1055
|
-
description: "Write guides and references in Markdown or MDX with full navigation and search."
|
|
1056
|
-
},
|
|
1057
|
-
{
|
|
1058
|
-
title: "API Reference",
|
|
1059
|
-
description: "Publish interactive OpenAPI docs with a built-in playground and code samples."
|
|
1060
|
-
},
|
|
1061
|
-
{
|
|
1062
|
-
title: "Developer Portal",
|
|
1063
|
-
description: "Extend with landing pages, authentication, API keys, and subscription modules."
|
|
1212
|
+
mergeLandingSection = (defaults, override) => {
|
|
1213
|
+
if (override?.enabled === false) {
|
|
1214
|
+
return void 0;
|
|
1064
1215
|
}
|
|
1065
|
-
|
|
1066
|
-
|
|
1216
|
+
if (!defaults && !override) {
|
|
1217
|
+
return void 0;
|
|
1218
|
+
}
|
|
1219
|
+
return { ...defaults, ...override };
|
|
1220
|
+
};
|
|
1221
|
+
buildDefaultLandingContent = (config2) => {
|
|
1067
1222
|
const siteTitle = config2.metadata?.applicationName ?? config2.site?.title ?? "APIToGo";
|
|
1068
|
-
|
|
1223
|
+
return {
|
|
1224
|
+
...DEFAULT_LANDING_CONTENT,
|
|
1069
1225
|
hero: {
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
description: content?.hero?.description ?? config2.metadata?.description ?? "Ship beautiful API documentation and developer experiences with APIToGo.",
|
|
1073
|
-
badge: content?.hero?.badge,
|
|
1074
|
-
highlights: content?.hero?.highlights,
|
|
1075
|
-
codeExample: content?.hero?.codeExample
|
|
1226
|
+
...DEFAULT_LANDING_CONTENT.hero,
|
|
1227
|
+
title: `${siteTitle} APIs that ship`
|
|
1076
1228
|
},
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1229
|
+
primaryAction: {
|
|
1230
|
+
...DEFAULT_LANDING_CONTENT.primaryAction,
|
|
1231
|
+
href: "/introduction",
|
|
1232
|
+
label: "Get started"
|
|
1081
1233
|
},
|
|
1082
|
-
secondaryAction:
|
|
1083
|
-
|
|
1084
|
-
href: "/api"
|
|
1234
|
+
secondaryAction: {
|
|
1235
|
+
...DEFAULT_LANDING_CONTENT.secondaryAction,
|
|
1236
|
+
href: "/api",
|
|
1237
|
+
label: "API Reference"
|
|
1085
1238
|
},
|
|
1086
|
-
|
|
1239
|
+
pricingCta: DEFAULT_LANDING_CONTENT.pricingCta ? {
|
|
1240
|
+
...DEFAULT_LANDING_CONTENT.pricingCta,
|
|
1241
|
+
primaryAction: {
|
|
1242
|
+
label: "Get started",
|
|
1243
|
+
href: "/introduction"
|
|
1244
|
+
},
|
|
1245
|
+
secondaryAction: {
|
|
1246
|
+
label: "See pricing",
|
|
1247
|
+
href: "/pricing"
|
|
1248
|
+
}
|
|
1249
|
+
} : void 0
|
|
1087
1250
|
};
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
if (
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1251
|
+
};
|
|
1252
|
+
resolveLandingContent = (config2, content, options) => {
|
|
1253
|
+
const siteTitle = config2.metadata?.applicationName ?? config2.site?.title ?? "APIToGo";
|
|
1254
|
+
if (options?.useDefaults === true) {
|
|
1255
|
+
const defaults = buildDefaultLandingContent(config2);
|
|
1256
|
+
return {
|
|
1257
|
+
hero: {
|
|
1258
|
+
...defaults.hero,
|
|
1259
|
+
...content?.hero,
|
|
1260
|
+
title: content?.hero?.title ?? defaults.hero?.title,
|
|
1261
|
+
description: content?.hero?.description ?? config2.metadata?.description ?? defaults.hero?.description,
|
|
1262
|
+
codeExample: content?.hero?.codeExample ?? defaults.hero?.codeExample,
|
|
1263
|
+
titleAccent: content?.hero?.titleAccent ?? (content?.hero?.title ? void 0 : defaults.hero?.titleAccent)
|
|
1264
|
+
},
|
|
1265
|
+
featuresSection: mergeLandingSection(
|
|
1266
|
+
defaults.featuresSection,
|
|
1267
|
+
content?.featuresSection
|
|
1268
|
+
),
|
|
1269
|
+
features: content?.features ?? defaults.features,
|
|
1270
|
+
primaryAction: content?.primaryAction ?? defaults.primaryAction,
|
|
1271
|
+
secondaryAction: content?.secondaryAction ?? defaults.secondaryAction,
|
|
1272
|
+
showPoweredBy: content?.showPoweredBy ?? defaults.showPoweredBy,
|
|
1273
|
+
ticker: mergeLandingSection(defaults.ticker, content?.ticker),
|
|
1274
|
+
trust: mergeLandingSection(defaults.trust, content?.trust),
|
|
1275
|
+
apiShowcase: mergeLandingSection(
|
|
1276
|
+
defaults.apiShowcase,
|
|
1277
|
+
content?.apiShowcase
|
|
1278
|
+
),
|
|
1279
|
+
pricingCta: mergeLandingSection(defaults.pricingCta, content?.pricingCta)
|
|
1280
|
+
};
|
|
1096
1281
|
}
|
|
1097
|
-
|
|
1098
|
-
|
|
1282
|
+
const hasContent = content !== void 0 && Object.keys(content).length > 0;
|
|
1283
|
+
if (!hasContent) {
|
|
1284
|
+
return {
|
|
1285
|
+
hero: { title: siteTitle },
|
|
1286
|
+
showPoweredBy: true
|
|
1287
|
+
};
|
|
1099
1288
|
}
|
|
1100
|
-
return
|
|
1289
|
+
return {
|
|
1290
|
+
hero: {
|
|
1291
|
+
...content.hero,
|
|
1292
|
+
title: content.hero?.title ?? siteTitle
|
|
1293
|
+
},
|
|
1294
|
+
featuresSection: content.featuresSection ? mergeLandingSection(void 0, content.featuresSection) : void 0,
|
|
1295
|
+
features: content.features,
|
|
1296
|
+
primaryAction: content.primaryAction,
|
|
1297
|
+
secondaryAction: content.secondaryAction,
|
|
1298
|
+
showPoweredBy: content.showPoweredBy ?? true,
|
|
1299
|
+
ticker: content.ticker ? mergeLandingSection(void 0, content.ticker) : void 0,
|
|
1300
|
+
trust: content.trust ? mergeLandingSection(void 0, content.trust) : void 0,
|
|
1301
|
+
apiShowcase: content.apiShowcase ? mergeLandingSection(void 0, content.apiShowcase) : void 0,
|
|
1302
|
+
pricingCta: content.pricingCta ? mergeLandingSection(void 0, content.pricingCta) : void 0
|
|
1303
|
+
};
|
|
1101
1304
|
};
|
|
1102
1305
|
DEFAULT_DASHBOARD_QUICK_LINKS = [
|
|
1103
1306
|
{ label: "Documentation", href: "/introduction" },
|
|
@@ -1151,7 +1354,9 @@ var init_resolve_modules = __esm({
|
|
|
1151
1354
|
path: landingModule?.path ?? "/",
|
|
1152
1355
|
component: landingModule?.component,
|
|
1153
1356
|
layout: landingModule?.layout ?? "landing",
|
|
1154
|
-
content: resolveLandingContent(config2, landingModule?.content
|
|
1357
|
+
content: resolveLandingContent(config2, landingModule?.content, {
|
|
1358
|
+
useDefaults: landingModule?.useDefaults === true
|
|
1359
|
+
})
|
|
1155
1360
|
},
|
|
1156
1361
|
userPanel: {
|
|
1157
1362
|
enabled: userPanelEnabled,
|
|
@@ -1379,9 +1584,10 @@ var init_shadcn_registry = __esm({
|
|
|
1379
1584
|
});
|
|
1380
1585
|
|
|
1381
1586
|
// src/vite/plugin-theme.ts
|
|
1587
|
+
import { createRequire } from "node:module";
|
|
1382
1588
|
import path4 from "node:path";
|
|
1383
1589
|
import { normalizeTheme } from "shiki";
|
|
1384
|
-
var THEME_VARIABLES, uncamelize, processColorValue, generateCss, generateRegistryCss, processCustomCss, MAIN_REPLACE, DEFAULT_THEME_REPLACE, GOOGLE_FONTS, getGoogleFontUrl, processFont, processFontConfig, processFonts, virtualModuleId, resolvedVirtualModuleId, viteThemePlugin;
|
|
1590
|
+
var THEME_VARIABLES, uncamelize, processColorValue, generateCss, generateRegistryCss, processCustomCss, MAIN_REPLACE, DEFAULT_THEME_REPLACE, GOOGLE_FONTS, getGoogleFontUrl, processFont, processFontConfig, processFonts, MODULE_SOURCE_PACKAGES, resolveModuleSourceDirs, virtualModuleId, resolvedVirtualModuleId, viteThemePlugin;
|
|
1385
1591
|
var init_plugin_theme = __esm({
|
|
1386
1592
|
"src/vite/plugin-theme.ts"() {
|
|
1387
1593
|
init_loader();
|
|
@@ -1549,6 +1755,33 @@ var init_plugin_theme = __esm({
|
|
|
1549
1755
|
}
|
|
1550
1756
|
return { imports, families };
|
|
1551
1757
|
};
|
|
1758
|
+
MODULE_SOURCE_PACKAGES = [
|
|
1759
|
+
"@lukoweb/apitogo-module-landing",
|
|
1760
|
+
"@lukoweb/apitogo-module-user-panel"
|
|
1761
|
+
];
|
|
1762
|
+
resolveModuleSourceDirs = (config2) => {
|
|
1763
|
+
if (config2.__meta.mode === "internal") {
|
|
1764
|
+
return MODULE_SOURCE_PACKAGES.map(
|
|
1765
|
+
(pkg) => path4.join(
|
|
1766
|
+
config2.__meta.moduleDir,
|
|
1767
|
+
"..",
|
|
1768
|
+
pkg.replace("@lukoweb/apitogo-", ""),
|
|
1769
|
+
"src"
|
|
1770
|
+
)
|
|
1771
|
+
);
|
|
1772
|
+
}
|
|
1773
|
+
const require2 = createRequire(
|
|
1774
|
+
path4.join(config2.__meta.rootDir, "package.json")
|
|
1775
|
+
);
|
|
1776
|
+
const dirs = [];
|
|
1777
|
+
for (const pkg of MODULE_SOURCE_PACKAGES) {
|
|
1778
|
+
try {
|
|
1779
|
+
dirs.push(path4.dirname(require2.resolve(pkg)));
|
|
1780
|
+
} catch {
|
|
1781
|
+
}
|
|
1782
|
+
}
|
|
1783
|
+
return dirs;
|
|
1784
|
+
};
|
|
1552
1785
|
virtualModuleId = "virtual:zudoku-theme.css";
|
|
1553
1786
|
resolvedVirtualModuleId = `\0${virtualModuleId}`;
|
|
1554
1787
|
viteThemePlugin = () => {
|
|
@@ -1666,7 +1899,8 @@ ${rootVars.join("\n")}
|
|
|
1666
1899
|
[
|
|
1667
1900
|
config2.__meta.rootDir,
|
|
1668
1901
|
...config2.__meta.dependencies,
|
|
1669
|
-
...config2.__pluginDirs ?? []
|
|
1902
|
+
...config2.__pluginDirs ?? [],
|
|
1903
|
+
...resolveModuleSourceDirs(config2)
|
|
1670
1904
|
].map((file) => path4.relative(path4.dirname(id), file))
|
|
1671
1905
|
);
|
|
1672
1906
|
const code = [...files].map((file) => `@source "${file}";`);
|
|
@@ -4980,7 +5214,7 @@ import {
|
|
|
4980
5214
|
// package.json
|
|
4981
5215
|
var package_default = {
|
|
4982
5216
|
name: "@lukoweb/apitogo",
|
|
4983
|
-
version: "0.1.
|
|
5217
|
+
version: "0.1.57",
|
|
4984
5218
|
type: "module",
|
|
4985
5219
|
sideEffects: [
|
|
4986
5220
|
"**/*.css",
|
|
@@ -3,6 +3,7 @@ import { LandingContentSchema } from "./validators/ModulesSchema.js";
|
|
|
3
3
|
export declare const LandingManifestContentSchema: z.ZodOptional<z.ZodObject<{
|
|
4
4
|
hero: z.ZodOptional<z.ZodObject<{
|
|
5
5
|
title: z.ZodOptional<z.ZodString>;
|
|
6
|
+
titleAccent: z.ZodOptional<z.ZodString>;
|
|
6
7
|
subtitle: z.ZodOptional<z.ZodString>;
|
|
7
8
|
description: z.ZodOptional<z.ZodString>;
|
|
8
9
|
badge: z.ZodOptional<z.ZodString>;
|
|
@@ -13,6 +14,11 @@ export declare const LandingManifestContentSchema: z.ZodOptional<z.ZodObject<{
|
|
|
13
14
|
code: z.ZodString;
|
|
14
15
|
}, z.core.$strip>>;
|
|
15
16
|
}, z.core.$strip>>;
|
|
17
|
+
featuresSection: z.ZodOptional<z.ZodObject<{
|
|
18
|
+
label: z.ZodOptional<z.ZodString>;
|
|
19
|
+
title: z.ZodOptional<z.ZodString>;
|
|
20
|
+
description: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, z.core.$strip>>;
|
|
16
22
|
features: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
17
23
|
title: z.ZodString;
|
|
18
24
|
description: z.ZodString;
|
|
@@ -91,6 +91,7 @@ export declare const DevPortalLocalManifestSchema: z.ZodObject<{
|
|
|
91
91
|
content: z.ZodOptional<z.ZodObject<{
|
|
92
92
|
hero: z.ZodOptional<z.ZodObject<{
|
|
93
93
|
title: z.ZodOptional<z.ZodString>;
|
|
94
|
+
titleAccent: z.ZodOptional<z.ZodString>;
|
|
94
95
|
subtitle: z.ZodOptional<z.ZodString>;
|
|
95
96
|
description: z.ZodOptional<z.ZodString>;
|
|
96
97
|
badge: z.ZodOptional<z.ZodString>;
|
|
@@ -101,6 +102,11 @@ export declare const DevPortalLocalManifestSchema: z.ZodObject<{
|
|
|
101
102
|
code: z.ZodString;
|
|
102
103
|
}, z.core.$strip>>;
|
|
103
104
|
}, z.core.$strip>>;
|
|
105
|
+
featuresSection: z.ZodOptional<z.ZodObject<{
|
|
106
|
+
label: z.ZodOptional<z.ZodString>;
|
|
107
|
+
title: z.ZodOptional<z.ZodString>;
|
|
108
|
+
description: z.ZodOptional<z.ZodString>;
|
|
109
|
+
}, z.core.$strip>>;
|
|
104
110
|
features: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
105
111
|
title: z.ZodString;
|
|
106
112
|
description: z.ZodString;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type ResolvedModulesConfig, type LandingContentConfig, type ResolvedLandingContent, type DashboardContentConfig, type ProfileContentConfig, type PlansContentConfig, type ResolvedDashboardContent, type ResolvedProfileContent, type ResolvedPlansContent } from "./validators/ModulesSchema.js";
|
|
2
2
|
import type { ZudokuConfig } from "./validators/ZudokuConfig.js";
|
|
3
3
|
export declare const joinPanelPath: (basePath: string, routePath: string) => string;
|
|
4
|
-
export declare const resolveLandingContent: (config: ZudokuConfig, content?: LandingContentConfig
|
|
4
|
+
export declare const resolveLandingContent: (config: ZudokuConfig, content?: LandingContentConfig, options?: {
|
|
5
|
+
useDefaults?: boolean;
|
|
6
|
+
}) => ResolvedLandingContent;
|
|
5
7
|
export declare const resolveDashboardContent: (content?: DashboardContentConfig) => ResolvedDashboardContent;
|
|
6
8
|
export declare const resolveProfileContent: (content?: ProfileContentConfig) => ResolvedProfileContent;
|
|
7
9
|
export declare const resolvePlansContent: (content?: PlansContentConfig) => ResolvedPlansContent;
|
|
@@ -36,6 +36,7 @@ export declare const LandingCodeExampleSchema: z.ZodOptional<z.ZodObject<{
|
|
|
36
36
|
}, z.core.$strip>>;
|
|
37
37
|
export declare const LandingHeroSchema: z.ZodOptional<z.ZodObject<{
|
|
38
38
|
title: z.ZodOptional<z.ZodString>;
|
|
39
|
+
titleAccent: z.ZodOptional<z.ZodString>;
|
|
39
40
|
subtitle: z.ZodOptional<z.ZodString>;
|
|
40
41
|
description: z.ZodOptional<z.ZodString>;
|
|
41
42
|
badge: z.ZodOptional<z.ZodString>;
|
|
@@ -46,6 +47,11 @@ export declare const LandingHeroSchema: z.ZodOptional<z.ZodObject<{
|
|
|
46
47
|
code: z.ZodString;
|
|
47
48
|
}, z.core.$strip>>;
|
|
48
49
|
}, z.core.$strip>>;
|
|
50
|
+
export declare const LandingFeaturesSectionSchema: z.ZodOptional<z.ZodObject<{
|
|
51
|
+
label: z.ZodOptional<z.ZodString>;
|
|
52
|
+
title: z.ZodOptional<z.ZodString>;
|
|
53
|
+
description: z.ZodOptional<z.ZodString>;
|
|
54
|
+
}, z.core.$strip>>;
|
|
49
55
|
export declare const LandingTickerItemSchema: z.ZodObject<{
|
|
50
56
|
label: z.ZodString;
|
|
51
57
|
value: z.ZodString;
|
|
@@ -102,6 +108,7 @@ export declare const LandingPricingCtaSchema: z.ZodOptional<z.ZodObject<{
|
|
|
102
108
|
export declare const LandingContentSchema: z.ZodOptional<z.ZodObject<{
|
|
103
109
|
hero: z.ZodOptional<z.ZodObject<{
|
|
104
110
|
title: z.ZodOptional<z.ZodString>;
|
|
111
|
+
titleAccent: z.ZodOptional<z.ZodString>;
|
|
105
112
|
subtitle: z.ZodOptional<z.ZodString>;
|
|
106
113
|
description: z.ZodOptional<z.ZodString>;
|
|
107
114
|
badge: z.ZodOptional<z.ZodString>;
|
|
@@ -112,6 +119,11 @@ export declare const LandingContentSchema: z.ZodOptional<z.ZodObject<{
|
|
|
112
119
|
code: z.ZodString;
|
|
113
120
|
}, z.core.$strip>>;
|
|
114
121
|
}, z.core.$strip>>;
|
|
122
|
+
featuresSection: z.ZodOptional<z.ZodObject<{
|
|
123
|
+
label: z.ZodOptional<z.ZodString>;
|
|
124
|
+
title: z.ZodOptional<z.ZodString>;
|
|
125
|
+
description: z.ZodOptional<z.ZodString>;
|
|
126
|
+
}, z.core.$strip>>;
|
|
115
127
|
features: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
116
128
|
title: z.ZodString;
|
|
117
129
|
description: z.ZodString;
|
|
@@ -212,6 +224,7 @@ export declare const LandingModuleSchema: z.ZodObject<{
|
|
|
212
224
|
content: z.ZodOptional<z.ZodObject<{
|
|
213
225
|
hero: z.ZodOptional<z.ZodObject<{
|
|
214
226
|
title: z.ZodOptional<z.ZodString>;
|
|
227
|
+
titleAccent: z.ZodOptional<z.ZodString>;
|
|
215
228
|
subtitle: z.ZodOptional<z.ZodString>;
|
|
216
229
|
description: z.ZodOptional<z.ZodString>;
|
|
217
230
|
badge: z.ZodOptional<z.ZodString>;
|
|
@@ -222,6 +235,11 @@ export declare const LandingModuleSchema: z.ZodObject<{
|
|
|
222
235
|
code: z.ZodString;
|
|
223
236
|
}, z.core.$strip>>;
|
|
224
237
|
}, z.core.$strip>>;
|
|
238
|
+
featuresSection: z.ZodOptional<z.ZodObject<{
|
|
239
|
+
label: z.ZodOptional<z.ZodString>;
|
|
240
|
+
title: z.ZodOptional<z.ZodString>;
|
|
241
|
+
description: z.ZodOptional<z.ZodString>;
|
|
242
|
+
}, z.core.$strip>>;
|
|
225
243
|
features: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
226
244
|
title: z.ZodString;
|
|
227
245
|
description: z.ZodString;
|
|
@@ -278,6 +296,7 @@ export declare const LandingModuleSchema: z.ZodObject<{
|
|
|
278
296
|
}, z.core.$strip>>;
|
|
279
297
|
showPoweredBy: z.ZodOptional<z.ZodBoolean>;
|
|
280
298
|
}, z.core.$strip>>;
|
|
299
|
+
useDefaults: z.ZodOptional<z.ZodBoolean>;
|
|
281
300
|
}, z.core.$strip>;
|
|
282
301
|
export declare const UserManagementModuleSchema: z.ZodObject<{
|
|
283
302
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -442,6 +461,7 @@ export declare const ModulesSchema: z.ZodOptional<z.ZodObject<{
|
|
|
442
461
|
content: z.ZodOptional<z.ZodObject<{
|
|
443
462
|
hero: z.ZodOptional<z.ZodObject<{
|
|
444
463
|
title: z.ZodOptional<z.ZodString>;
|
|
464
|
+
titleAccent: z.ZodOptional<z.ZodString>;
|
|
445
465
|
subtitle: z.ZodOptional<z.ZodString>;
|
|
446
466
|
description: z.ZodOptional<z.ZodString>;
|
|
447
467
|
badge: z.ZodOptional<z.ZodString>;
|
|
@@ -452,6 +472,11 @@ export declare const ModulesSchema: z.ZodOptional<z.ZodObject<{
|
|
|
452
472
|
code: z.ZodString;
|
|
453
473
|
}, z.core.$strip>>;
|
|
454
474
|
}, z.core.$strip>>;
|
|
475
|
+
featuresSection: z.ZodOptional<z.ZodObject<{
|
|
476
|
+
label: z.ZodOptional<z.ZodString>;
|
|
477
|
+
title: z.ZodOptional<z.ZodString>;
|
|
478
|
+
description: z.ZodOptional<z.ZodString>;
|
|
479
|
+
}, z.core.$strip>>;
|
|
455
480
|
features: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
456
481
|
title: z.ZodString;
|
|
457
482
|
description: z.ZodString;
|
|
@@ -508,6 +533,7 @@ export declare const ModulesSchema: z.ZodOptional<z.ZodObject<{
|
|
|
508
533
|
}, z.core.$strip>>;
|
|
509
534
|
showPoweredBy: z.ZodOptional<z.ZodBoolean>;
|
|
510
535
|
}, z.core.$strip>>;
|
|
536
|
+
useDefaults: z.ZodOptional<z.ZodBoolean>;
|
|
511
537
|
}, z.core.$strip>>;
|
|
512
538
|
userPanel: z.ZodOptional<z.ZodObject<{
|
|
513
539
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -604,12 +630,18 @@ export type LandingPricingCtaConfig = z.infer<typeof LandingPricingCtaSchema>;
|
|
|
604
630
|
export type ResolvedLandingContent = {
|
|
605
631
|
hero?: {
|
|
606
632
|
title?: string;
|
|
633
|
+
titleAccent?: string;
|
|
607
634
|
subtitle?: string;
|
|
608
635
|
description?: string;
|
|
609
636
|
badge?: string;
|
|
610
637
|
highlights?: string[];
|
|
611
638
|
codeExample?: NonNullable<LandingCodeExampleConfig>;
|
|
612
639
|
};
|
|
640
|
+
featuresSection?: {
|
|
641
|
+
label?: string;
|
|
642
|
+
title?: string;
|
|
643
|
+
description?: string;
|
|
644
|
+
};
|
|
613
645
|
features?: LandingFeatureConfig[];
|
|
614
646
|
primaryAction?: LandingLinkConfig;
|
|
615
647
|
secondaryAction?: LandingLinkConfig;
|
|
@@ -6890,6 +6890,7 @@ export declare const ZudokuConfig: z.ZodObject<{
|
|
|
6890
6890
|
content: z.ZodOptional<z.ZodObject<{
|
|
6891
6891
|
hero: z.ZodOptional<z.ZodObject<{
|
|
6892
6892
|
title: z.ZodOptional<z.ZodString>;
|
|
6893
|
+
titleAccent: z.ZodOptional<z.ZodString>;
|
|
6893
6894
|
subtitle: z.ZodOptional<z.ZodString>;
|
|
6894
6895
|
description: z.ZodOptional<z.ZodString>;
|
|
6895
6896
|
badge: z.ZodOptional<z.ZodString>;
|
|
@@ -6900,6 +6901,11 @@ export declare const ZudokuConfig: z.ZodObject<{
|
|
|
6900
6901
|
code: z.ZodString;
|
|
6901
6902
|
}, z.core.$strip>>;
|
|
6902
6903
|
}, z.core.$strip>>;
|
|
6904
|
+
featuresSection: z.ZodOptional<z.ZodObject<{
|
|
6905
|
+
label: z.ZodOptional<z.ZodString>;
|
|
6906
|
+
title: z.ZodOptional<z.ZodString>;
|
|
6907
|
+
description: z.ZodOptional<z.ZodString>;
|
|
6908
|
+
}, z.core.$strip>>;
|
|
6903
6909
|
features: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
6904
6910
|
title: z.ZodString;
|
|
6905
6911
|
description: z.ZodString;
|
|
@@ -6956,6 +6962,7 @@ export declare const ZudokuConfig: z.ZodObject<{
|
|
|
6956
6962
|
}, z.core.$strip>>;
|
|
6957
6963
|
showPoweredBy: z.ZodOptional<z.ZodBoolean>;
|
|
6958
6964
|
}, z.core.$strip>>;
|
|
6965
|
+
useDefaults: z.ZodOptional<z.ZodBoolean>;
|
|
6959
6966
|
}, z.core.$strip>>;
|
|
6960
6967
|
userPanel: z.ZodOptional<z.ZodObject<{
|
|
6961
6968
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -4,6 +4,7 @@ export declare function resolveDevPortalApiBaseUrl(config: Pick<DevPortalAuthent
|
|
|
4
4
|
export declare function isPlaceholderDevPortalApiUrl(apiBaseUrl: string | undefined): boolean;
|
|
5
5
|
export declare function toAbsoluteReturnUrl(pathOrUrl: string): string;
|
|
6
6
|
export declare function buildDevPortalOidcChallengeUrl(apiBaseUrl: string, providerId: string, returnUrl: string): string;
|
|
7
|
+
export declare function buildDevPortalLoginUrl(apiBaseUrl: string, returnUrl: string): string;
|
|
7
8
|
export declare function buildDevPortalLogoutUrl(apiBaseUrl: string, returnUrl: string): string;
|
|
8
9
|
export declare function normalizeDevPortalAuthConfig(raw: unknown): import("./dev-portal-constants.js").DevPortalAuthConfigResponse;
|
|
9
10
|
export declare function isNativeAuthEnabled(config: import("./dev-portal-constants.js").DevPortalAuthConfigResponse | null | undefined): boolean;
|