Skip to content

Can not build using latest version (2.3.1) #250

@vvashisht

Description

@vvashisht

Mine is a ESM project. Doing this:

import esbuildPluginPino from 'esbuild-plugin-pino';

const config = {
  ...
  plugins: [esbuildPluginPino({ transports: [] })],
  ...
};

doesn't throw type errors any more but results in a build error:

file:///home/varun/dummy-project/esbuild.config.mjs:7
import esbuildPluginPino from 'esbuild-plugin-pino';
       ^^^^^^^^^^^^^^^^^
SyntaxError: The requested module 'esbuild-plugin-pino' does not provide an export named 'default'

Please check:
#246 (comment)

And:
https://arethetypeswrong.github.io/?p=esbuild-plugin-pino%402.3.1

Ultimately what you need is along the lines of:

package.json

{
  "name": "esbuild-plugin-pino",
  "version": "X.Y.Z",
  "main": "./dist/index.cjs",
  "module": "./dist/index.mjs",
  "types": "./dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.mjs",
      "require": "./dist/index.cjs",
      "default": "./dist/index.mjs"
    }
  },
  "sideEffects": false
}

dist/index.cjs (CJS)

'use strict';

/** @type {(opts?: { transports?: string[] }) => import('esbuild').Plugin} */
function esbuildPluginPino(opts = {}) {
  // ...existing implementation...
}

module.exports = esbuildPluginPino;
// bonus for interop with some bundlers:
module.exports.esbuildPluginPino = esbuildPluginPino;
module.exports.default = esbuildPluginPino;

dist/index.mjs (ESM)

import { createRequire } from 'node:module';
const require = createRequire(import.meta.url); // for require.resolve, etc.

/** @type {(opts?: { transports?: string[] }) => import('esbuild').Plugin} */
export function esbuildPluginPino(opts = {}) {
  // ...same implementation as CJS version...
}

export default esbuildPluginPino;

dist/index.d.ts

import type { Plugin } from 'esbuild';

declare function esbuildPluginPino(opts?: { transports?: string[] }): Plugin;

export default esbuildPluginPino;

export { esbuildPluginPino };

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions