diff --git a/apps/proxy/src/routes/svgShape.ts b/apps/proxy/src/routes/svgShape.ts index 0e1fd7d..b6d7b8d 100644 --- a/apps/proxy/src/routes/svgShape.ts +++ b/apps/proxy/src/routes/svgShape.ts @@ -1,7 +1,12 @@ -import * as ClipperLib from 'clipper-lib'; +import { createRequire } from 'module'; import svgpath from 'svgpath'; import type { TracedShape } from '@tts/shared'; +// clipper-lib is a CommonJS package; load it via require so the enums and +// classes resolve under Node's native ESM loader without a `default` unwrap. +const require = createRequire(import.meta.url); +const ClipperLib = require('clipper-lib') as typeof import('clipper-lib'); + /** Number of samples per cubic bezier when flattening curves to polylines. */ const CURVE_STEPS = 12;