Skip to content

Commit 2e80a23

Browse files
committed
chore: don't suggest common engine for Angular 20
1 parent 23ebfa0 commit 2e80a23

File tree

1 file changed

+25
-18
lines changed

1 file changed

+25
-18
lines changed

src/helpers/serverModuleHelpers.js

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -175,26 +175,33 @@ const fixServerTs = async function ({ angularVersion, siteRoot, failPlugin, fail
175175
return 'CommonEngine'
176176
}
177177

178-
// at this point we know that user's server.ts is not Netlify compatible so user intervention is required
179-
// we will try to inspect server.ts to determine which engine is used and provide more accurate error message
180-
const guessedUsedEngine = guessUsedEngine(serverModuleContents)
181-
182-
let errorMessage = `server.ts doesn't seem to be Netlify compatible and is not known default. Please replace it with Netlify compatible server.ts.`
183-
if (guessedUsedEngine) {
184-
const alternativeEngine = guessedUsedEngine === 'AppEngine' ? 'CommonEngine' : 'AppEngine'
185-
186-
errorMessage += `\n\nIt seems like you use "${guessedUsedEngine}" - for this case your server.ts file should contain following:\n\n\`\`\`\n${
187-
guessedUsedEngine === 'CommonEngine' ? NetlifyServerTsCommonEngine : NetlifyServerTsAppEngine
188-
}\`\`\``
189-
errorMessage += `\n\nIf you want to use "${alternativeEngine}" instead - your server.ts file should contain following:\n\n\`\`\`\n${
190-
alternativeEngine === 'CommonEngine' ? NetlifyServerTsCommonEngine : NetlifyServerTsAppEngine
191-
}\`\`\``
178+
if (satisfies(angularVersion, '<20', { includePrerelease: true })) {
179+
// at this point we know that user's server.ts is not Netlify compatible so user intervention is required
180+
// we will try to inspect server.ts to determine which engine is used and provide more accurate error message
181+
const guessedUsedEngine = guessUsedEngine(serverModuleContents)
182+
183+
let errorMessage = `server.ts doesn't seem to be Netlify compatible and is not known default. Please replace it with Netlify compatible server.ts.`
184+
if (guessedUsedEngine) {
185+
const alternativeEngine = guessedUsedEngine === 'AppEngine' ? 'CommonEngine' : 'AppEngine'
186+
187+
errorMessage += `\n\nIt seems like you use "${guessedUsedEngine}" - for this case your server.ts file should contain following:\n\n\`\`\`\n${
188+
guessedUsedEngine === 'CommonEngine' ? NetlifyServerTsCommonEngine : NetlifyServerTsAppEngine
189+
}\`\`\``
190+
errorMessage += `\n\nIf you want to use "${alternativeEngine}" instead - your server.ts file should contain following:\n\n\`\`\`\n${
191+
alternativeEngine === 'CommonEngine' ? NetlifyServerTsCommonEngine : NetlifyServerTsAppEngine
192+
}\`\`\``
193+
} else {
194+
errorMessage += `\n\nIf you want to use "CommonEngine" - your server.ts file should contain following:\n\n\`\`\`\n${NetlifyServerTsCommonEngine}\`\`\``
195+
errorMessage += `\n\nIf you want to use "AppEngine" - your server.ts file should contain following:\n\n\`\`\`\n${NetlifyServerTsAppEngine}\`\`\``
196+
}
197+
198+
failBuild(errorMessage)
192199
} else {
193-
errorMessage += `\n\nIf you want to use "CommonEngine" - your server.ts file should contain following:\n\n\`\`\`\n${NetlifyServerTsCommonEngine}\`\`\``
194-
errorMessage += `\n\nIf you want to use "AppEngine" - your server.ts file should contain following:\n\n\`\`\`\n${NetlifyServerTsAppEngine}\`\`\``
200+
// Angular 20+ made App Engine stable, so we should not recommend Common Engine anymore
201+
failBuild(
202+
`server.ts doesn't seem to be Netlify compatible and is not known default. Please replace it with Netlify compatible server.ts:\n\n\`\`\`\n${NetlifyServerTsAppEngine}\`\`\``,
203+
)
195204
}
196-
197-
failBuild(errorMessage)
198205
}
199206

200207
module.exports.fixServerTs = fixServerTs

0 commit comments

Comments
 (0)