Skip to content

Commit aa7cfdd

Browse files
ovflowdclaude
andcommitted
fix(platform): give Turbopack a wildcard @platform/* alias
Turbopack's `resolveAlias` doesn't do webpack-style prefix matching, so `{ '@platform': PLATFORM_ALIAS }` left every static `@platform/*` import unresolved on the Vercel build — `Module not found: Can't resolve '@platform/analytics'` etc. Webpack rejects the `/*` wildcard form, so the two bundlers need different shapes for the same mapping. Split the alias map: `'@platform/*': '<pkg>/*'` for Turbopack, `'@platform': '<pkg>'` for webpack. Co-Authored-By: Claude Opus 4.7 <[email protected]>
1 parent c261b2c commit aa7cfdd

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

apps/site/next.config.mjs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ const { default: platform } = await import(`${PLATFORM_ALIAS}/next.config.mjs`);
2020
const platformImages = await platform.images?.();
2121
const platformNextConfig = await platform.nextConfig?.();
2222

23-
const platformAliases = { '@platform': PLATFORM_ALIAS };
23+
// Turbopack's `resolveAlias` requires explicit `*` wildcards; webpack's
24+
// `resolve.alias` matches the bare prefix and the `/*` form is invalid,
25+
// so the two bundlers need different shapes for the same mapping.
26+
const turbopackPlatformAliases = { '@platform/*': `${PLATFORM_ALIAS}/*` };
27+
const webpackPlatformAliases = { '@platform': PLATFORM_ALIAS };
2428

2529
/** @type {import('next').NextConfig} */
2630
const nextConfig = {
@@ -86,13 +90,13 @@ const nextConfig = {
8690
turbopackFileSystemCacheForDev: true,
8791
},
8892
// Provide Turbopack Aliases for Platform Resolution
89-
turbopack: { resolveAlias: platformAliases },
93+
turbopack: { resolveAlias: turbopackPlatformAliases },
9094
// Provide Webpack Aliases for Platform Resolution.
9195
webpack: ({ resolve, ...config }) => ({
9296
...config,
9397
resolve: {
9498
...resolve,
95-
alias: { ...resolve.alias, ...platformAliases },
99+
alias: { ...resolve.alias, ...webpackPlatformAliases },
96100
conditionNames: resolve.conditionNames
97101
.concat(DEPLOY_TARGET)
98102
.filter(Boolean),

0 commit comments

Comments
 (0)