Files
cadSet/text-to-cad/apps/cad-agent-studio/next.config.ts
T
2026-07-27 16:00:36 +08:00

43 lines
1.4 KiB
TypeScript

import type { NextConfig } from "next";
import path from "node:path";
const appRoot = __dirname;
const repoRoot = path.resolve(appRoot, "../..");
const viewerRoot = path.join(repoRoot, "viewer");
const viewerNodeModules = path.join(viewerRoot, "node_modules");
const cadJsSrc = path.join(appRoot, "src", "viewer-cadjs");
const nextConfig: NextConfig = {
allowedDevOrigins: ["127.0.0.1", "localhost"],
transpilePackages: ["cadjs", "three", "three-mesh-bvh"],
turbopack: {
resolveAlias: {
cadjs: "./src/viewer-cadjs",
three: "./node_modules/three",
"three/examples": "./node_modules/three/examples",
"three-mesh-bvh": "./node_modules/three-mesh-bvh",
gifenc: "./node_modules/gifenc/dist/gifenc.esm.js",
},
resolveExtensions: [".tsx", ".ts", ".jsx", ".js", ".mjs", ".json"],
},
webpack(config) {
config.resolve = config.resolve || {};
config.resolve.alias = {
...(config.resolve.alias || {}),
cadjs: cadJsSrc,
three: path.join(viewerNodeModules, "three"),
"three/examples": path.join(viewerNodeModules, "three", "examples"),
"three-mesh-bvh": path.join(viewerNodeModules, "three-mesh-bvh"),
gifenc: path.join(viewerNodeModules, "gifenc", "dist", "gifenc.esm.js"),
};
config.resolve.extensions = [
...(config.resolve.extensions || []),
".js",
".mjs",
];
return config;
},
};
export default nextConfig;