@pradip1995/framework-compiler 0.2.3 → 0.2.4
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/bin/storefront-build.js +3 -80
- package/package.json +1 -1
package/bin/storefront-build.js
CHANGED
|
@@ -132,7 +132,9 @@ function main() {
|
|
|
132
132
|
// Copy static assets: plugin public/ dirs, then client overrides
|
|
133
133
|
copyPublicAssets(packages, clientDir, outDir)
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
console.log(
|
|
136
|
+
" dynamic-config: schema in backend/config/homepage-config.json — storefront fetches GET /store/dynamic-config"
|
|
137
|
+
)
|
|
136
138
|
|
|
137
139
|
console.log(" generated:", packages.segments.length, "segments,", packages.layouts.length, "layouts,", packages.workflows.length, "workflows")
|
|
138
140
|
console.log("Done.")
|
|
@@ -272,85 +274,6 @@ function copyPublicAssets(packages, clientDir, outDir) {
|
|
|
272
274
|
}
|
|
273
275
|
}
|
|
274
276
|
|
|
275
|
-
function resolveDynamicConfigSchemaDir() {
|
|
276
|
-
const bundled = join(__dirname, "..", "dynamic-config-schema")
|
|
277
|
-
if (existsSync(join(bundled, "schemas", "homepage-config.json"))) return bundled
|
|
278
|
-
|
|
279
|
-
const candidates = [
|
|
280
|
-
join(__dirname, "..", "dynamic-config-schema"),
|
|
281
|
-
join(__dirname, "..", "..", "dynamic-config-schema"),
|
|
282
|
-
]
|
|
283
|
-
for (const candidate of candidates) {
|
|
284
|
-
if (existsSync(join(candidate, "schemas", "homepage-config.json"))) return candidate
|
|
285
|
-
}
|
|
286
|
-
let dir = dirname(__dirname)
|
|
287
|
-
for (let depth = 0; depth < 6; depth++) {
|
|
288
|
-
const candidate = join(dir, "packages", "dynamic-config-schema")
|
|
289
|
-
if (existsSync(join(candidate, "schemas", "homepage-config.json"))) return candidate
|
|
290
|
-
const parent = dirname(dir)
|
|
291
|
-
if (parent === dir) break
|
|
292
|
-
dir = parent
|
|
293
|
-
}
|
|
294
|
-
return null
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* Emit Medusa dynamic-config schema for backend registration.
|
|
299
|
-
* Output: dynamic-config.generated.json with { configs: { "homepage-config": ... } }
|
|
300
|
-
*
|
|
301
|
-
* Client override: place dynamic-config.schema.json in client root (full { configs } or bare config map).
|
|
302
|
-
*/
|
|
303
|
-
function generateDynamicConfigSchema(clientDir, outDir) {
|
|
304
|
-
const clientOverride = join(clientDir, "dynamic-config.schema.json")
|
|
305
|
-
let payload
|
|
306
|
-
|
|
307
|
-
if (existsSync(clientOverride)) {
|
|
308
|
-
payload = JSON.parse(readFileSync(clientOverride, "utf8"))
|
|
309
|
-
if (!payload.configs) {
|
|
310
|
-
payload = { configs: payload }
|
|
311
|
-
}
|
|
312
|
-
console.log(" dynamic-config: using client dynamic-config.schema.json")
|
|
313
|
-
} else {
|
|
314
|
-
const schemaDir = resolveDynamicConfigSchemaDir()
|
|
315
|
-
if (!schemaDir) {
|
|
316
|
-
console.warn(" dynamic-config: schema package not found — skip generation")
|
|
317
|
-
return
|
|
318
|
-
}
|
|
319
|
-
const homepage = JSON.parse(
|
|
320
|
-
readFileSync(join(schemaDir, "schemas", "homepage-config.json"), "utf8")
|
|
321
|
-
)
|
|
322
|
-
payload = { configs: { "homepage-config": homepage } }
|
|
323
|
-
console.log(" dynamic-config: from packages/dynamic-config-schema")
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
const schemaDir = resolveDynamicConfigSchemaDir()
|
|
327
|
-
const homepageSchema = payload.configs?.["homepage-config"]
|
|
328
|
-
let homepageDefaults = {}
|
|
329
|
-
|
|
330
|
-
if (homepageSchema && schemaDir) {
|
|
331
|
-
const defaultsPath = existsSync(join(schemaDir, "build-defaults.cjs"))
|
|
332
|
-
? join(schemaDir, "build-defaults.cjs")
|
|
333
|
-
: join(schemaDir, "build-defaults.js")
|
|
334
|
-
const { buildHomepageConfigDefaults } = require(defaultsPath)
|
|
335
|
-
homepageDefaults = buildHomepageConfigDefaults(homepageSchema)
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
payload.defaults = {
|
|
339
|
-
...(payload.defaults || {}),
|
|
340
|
-
"homepage-config": homepageDefaults,
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
const json = `${JSON.stringify(payload, null, 2)}\n`
|
|
344
|
-
writeFileSync(join(clientDir, "dynamic-config.generated.json"), json)
|
|
345
|
-
writeFileSync(join(outDir, "dynamic-config.generated.json"), json)
|
|
346
|
-
|
|
347
|
-
const defaultsJson = `${JSON.stringify({ "homepage-config": homepageDefaults }, null, 2)}\n`
|
|
348
|
-
writeFileSync(join(clientDir, "dynamic-config.defaults.json"), defaultsJson)
|
|
349
|
-
writeFileSync(join(outDir, "dynamic-config.defaults.json"), defaultsJson)
|
|
350
|
-
console.log(" dynamic-config: wrote dynamic-config.generated.json")
|
|
351
|
-
console.log(" dynamic-config: wrote dynamic-config.defaults.json")
|
|
352
|
-
}
|
|
353
|
-
|
|
354
277
|
function loadPagesConfig(clientDir) {
|
|
355
278
|
const jsonPath = join(clientDir, "pages.config.json")
|
|
356
279
|
if (existsSync(jsonPath)) {
|