aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/turbo-tracing-next-plugin/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/turbo-tracing-next-plugin/src')
-rw-r--r--packages/turbo-tracing-next-plugin/src/index.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/packages/turbo-tracing-next-plugin/src/index.ts b/packages/turbo-tracing-next-plugin/src/index.ts
new file mode 100644
index 0000000..0b75113
--- /dev/null
+++ b/packages/turbo-tracing-next-plugin/src/index.ts
@@ -0,0 +1,27 @@
+import {
+ NodeModuleTracePlugin,
+ NodeModuleTracePluginOptions,
+} from "@vercel/webpack-nft";
+import type { NextConfig } from "next";
+
+export function createNodeFileTrace(options?: NodeModuleTracePluginOptions) {
+ return function withNodeFileTrace(config: NextConfig = {}) {
+ const createWebpackConfig = config.webpack;
+ config.outputFileTracing = false;
+ config.webpack = (webpackConfig, context) => {
+ const config =
+ createWebpackConfig?.(webpackConfig, context) ?? webpackConfig;
+ if (context.isServer && !context.dev) {
+ const plugin = new NodeModuleTracePlugin(options);
+ if (config.plugins) {
+ config.plugins.push(plugin);
+ } else {
+ config.plugins = [plugin];
+ }
+ }
+
+ return config;
+ };
+ return config;
+ };
+}