wd-David / esbuild-plugin-pino

An esbuild plugin to generate extra pino files for bundling
https://www.npmjs.com/package/esbuild-plugin-pino
MIT License
36 stars 9 forks source link

Does not work with pino v9.1 #157

Closed viceice closed 4 months ago

viceice commented 5 months ago
> node tools/esbuild.js

X [ERROR] Could not resolve "~\\base\\node_modules\\.pnpm\\pino@9.1.0\\node_modules\\pino\\lib\\worker-pipeline.js"

~\base\node_modules\.pnpm\esbuild@0.21.3\node_modules\esbuild\lib\main.js:1469
  let error = new Error(text);
              ^

Error: Build failed with 1 error:
error: Could not resolve "~\\base\\node_modules\\.pnpm\\pino@9.1.0\\node_modules\\pino\\lib\\worker-pipeline.js"
    at failureErrorWithLog (~\base\node_modules\.pnpm\esbuild@0.21.3\node_modules\esbuild\lib\main.js:1469:15)
    at~\base\node_modules\.pnpm\esbuild@0.21.3\node_modules\esbuild\lib\main.js:945:25
    at ~\base\node_modules\.pnpm\esbuild@0.21.3\node_modules\esbuild\lib\main.js:1350:9
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  errors: [Getter/Setter],
  warnings: [Getter/Setter]
}
import { build } from 'esbuild';
import esbuildPluginPino from 'esbuild-plugin-pino';

await build({
  entryPoints: { 'cli': './src/cli/index.ts' },
  bundle: true,
  platform: 'node',
  target: `node20`,
  minify: false,
  tsconfig: 'tsconfig.dist.json',
  outdir: './dist',
  plugins: [esbuildPluginPino({ transports: ['pino-pretty'] })],
});

worker-pipeline.js no longer exists

viceice commented 5 months ago

file was removed https://app.renovatebot.com/package-diff?name=pino&from=9.0.0&to=9.1.0#d2h-367432

viceice commented 5 months ago

caused by

viceice commented 5 months ago

a pnpm patch

diff --git a/dist/index.js b/dist/index.js
index e76d27a89367083f95854fc3b72f8eed88e5a5f6..47c3d5ce5605e02048102a123002d341161017db 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -57,7 +57,6 @@ function esbuildPluginPino({
       const customEntrypoints = {
         "thread-stream-worker": path.join(threadStream, "lib/worker.js"),
         "pino-worker": path.join(pino, "lib/worker.js"),
-        "pino-pipeline-worker": path.join(pino, "lib/worker-pipeline.js"),
         "pino-file": path.join(pino, "file.js")
       };
       const transportsEntrypoints = Object.fromEntries(
diff --git a/dist/index.mjs b/dist/index.mjs
index ffa9c33476053ae103e6c1ca4f42269d1c58f19f..5b9258a6e808c81cac5f374d45343f44a8cbfe2a 100644
--- a/dist/index.mjs
+++ b/dist/index.mjs
@@ -54,7 +54,6 @@ function esbuildPluginPino({
       const customEntrypoints = {
         "thread-stream-worker": path.join(threadStream, "lib/worker.js"),
         "pino-worker": path.join(pino, "lib/worker.js"),
-        "pino-pipeline-worker": path.join(pino, "lib/worker-pipeline.js"),
         "pino-file": path.join(pino, "file.js")
       };
       const transportsEntrypoints = Object.fromEntries(
segevfiner commented 4 months ago

Guess this plugin could receive a PR that checks if worker-pipeline actually exists and doesn't try to bundle it if it doesn't to support newer pino?