build: keep playwright out of sf-server image

This commit is contained in:
Mikael Hugo 2026-05-18 00:19:19 +02:00
parent ead081bfde
commit c3b17114f3
2 changed files with 9 additions and 9 deletions

View file

@ -53,6 +53,9 @@ RUN rm -rf \
web/.next/cache \
web/node_modules \
node_modules/.cache \
node_modules/playwright \
node_modules/playwright-core \
node_modules/chromium-bidi \
packages/*/tsconfig.tsbuildinfo
FROM node:26.1-slim AS sf-server

View file

@ -172,15 +172,12 @@ function extractImports(filePath) {
) {
specs.push(node.moduleSpecifier.text);
}
// dynamic import("...") | await import("...")
if (
ts.isCallExpression(node) &&
node.expression.kind === ts.SyntaxKind.ImportKeyword &&
node.arguments.length > 0 &&
ts.isStringLiteral(node.arguments[0])
) {
specs.push(node.arguments[0].text);
}
// Intentionally skip dynamic `import("...")` and `await import("...")`.
// Lazy/async imports are a legitimate cycle-breaking technique:
// they don't run at module-graph evaluation time, so they cannot
// cause initialization-order cycles. Madge's prior config used
// `skipAsyncImports: true` for the same reason — matching that
// here so we don't false-positive on intentional lazy seams.
// CommonJS require("...")
if (
ts.isCallExpression(node) &&