@alphasquad/saleor-template-advance 0.1.3 → 0.1.5
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/next.config.ts +23 -1
- package/package.json +1 -1
package/next.config.ts
CHANGED
|
@@ -48,11 +48,12 @@ function getRemoteImageHosts(): string[] {
|
|
|
48
48
|
);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
|
|
51
52
|
// --- Tenant Override Resolution ---
|
|
52
53
|
// When running via @alphasquad/create-saleor-storefront CLI wrapper,
|
|
53
54
|
// process.cwd() is the tenant root. The tenant can place override components
|
|
54
55
|
// in src/overrides/ which the template will use instead of its defaults.
|
|
55
|
-
const tenantRoot = process.cwd();
|
|
56
|
+
const tenantRoot = process.env.NEXT_TENANT_ROOT || process.cwd();
|
|
56
57
|
const tenantOverridesIndex = path.join(tenantRoot, "src", "overrides", "index.ts");
|
|
57
58
|
const tenantOverridesDir = path.join(tenantRoot, "src", "overrides");
|
|
58
59
|
const hasTenantOverrides =
|
|
@@ -60,10 +61,31 @@ const hasTenantOverrides =
|
|
|
60
61
|
fs.existsSync(tenantOverridesIndex.replace(".ts", ".tsx")) ||
|
|
61
62
|
fs.existsSync(tenantOverridesIndex.replace(".ts", ".js"));
|
|
62
63
|
|
|
64
|
+
// Create symlink for Turbopack to access tenant overrides outside project root
|
|
65
|
+
const templateSrcDir = path.join(tenantRoot, "src");
|
|
66
|
+
const tenantSymlinkPath = path.join(templateSrcDir, "tenant-overrides");
|
|
67
|
+
if (hasTenantOverrides && !fs.existsSync(tenantSymlinkPath)) {
|
|
68
|
+
try {
|
|
69
|
+
fs.symlinkSync(tenantOverridesDir, tenantSymlinkPath, "dir");
|
|
70
|
+
} catch (e) {
|
|
71
|
+
console.error("Error creating tenant overrides symlink:", e);
|
|
72
|
+
// Symlink may already exist or permission denied
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
63
76
|
const nextConfig: NextConfig = {
|
|
64
77
|
// Next.js skips tsconfig path resolution for files inside node_modules.
|
|
65
78
|
// When this template is consumed as a package, we need explicit aliases.
|
|
66
79
|
transpilePackages: ["@alphasquad/saleor-template-advance"],
|
|
80
|
+
turbopack: {
|
|
81
|
+
resolveAlias: {
|
|
82
|
+
"@": path.resolve(__dirname, "src"),
|
|
83
|
+
// Use symlink for tenant overrides, falls back to defaults
|
|
84
|
+
"@tenant-overrides": hasTenantOverrides
|
|
85
|
+
? "@/tenant-overrides"
|
|
86
|
+
: "@/lib/overrides/defaults",
|
|
87
|
+
},
|
|
88
|
+
},
|
|
67
89
|
webpack(config) {
|
|
68
90
|
config.resolve.alias["@"] = path.resolve(__dirname, "src");
|
|
69
91
|
|