genkit icon indicating copy to clipboard operation
genkit copied to clipboard

[JS] [Next.js] Webpack Console Warnings for googleCloud plugin

Open MichaelDoyle opened this issue 1 year ago • 0 comments

Describe the bug

Init a new next.js project using the genkit CLI. Then add the googleCloud plugin and enable telemetry.

 ⚠ ./node_modules/@opentelemetry/instrumentation-winston/build/src/instrumentation.js
Module not found: Can't resolve '@opentelemetry/winston-transport' in '/Users/michaeldoyle/repos/thirdparty/nextjs/node_modules/@opentelemetry/instrumentation-winston/build/src'

Import trace for requested module:
./node_modules/@opentelemetry/instrumentation-winston/build/src/instrumentation.js
./node_modules/@opentelemetry/instrumentation-winston/build/src/index.js
./node_modules/@genkit-ai/google-cloud/lib/gcpOpenTelemetry.js
./node_modules/@genkit-ai/google-cloud/lib/index.mjs
./src/app/genkit.ts
./src/app/flow1/page.tsx

./node_modules/@opentelemetry/sdk-node/build/src/TracerProviderWithEnvExporter.js
Module not found: Can't resolve '@opentelemetry/exporter-jaeger' in '/Users/michaeldoyle/repos/thirdparty/nextjs/node_modules/@opentelemetry/sdk-node/build/src'

Similar to https://github.com/firebase/genkit/issues/928, the workaround is to install and/or externalize the dependencies.

/** @type {import('next').NextConfig} */
const nextConfig = {
  experimental: {
    serverComponentsExternalPackages: [
      "@opentelemetry/sdk-node",
      "@opentelemetry/winston-transport",
    ],
  },
};

export default nextConfig;

Runtime (please complete the following information):

Node: 20.17.0 Genkit: 0.5.13 Next: 14.2.12

** Node version**

v20.17.0

Additional context Add any other context about the problem here.

MichaelDoyle avatar Sep 19 '24 19:09 MichaelDoyle