这是indexloc提供的服务,不要输入任何密码
Skip to content

banner config is unnecessarily transformed in output #719

@lvqq

Description

@lvqq

For example, tsup.config.ts like:

export default {
  entry: ['src/index.ts'],
  format: 'esm',
  target: 'esnext',
  banner: {
    js: `import { createRequire } from 'module'; const require = createRequire(import.meta.url);`,
  }
}

Or same option in esbuildOption:

export default {
  entry: ['src/index.ts'],
  format: 'esm',
  target: 'esnext',
  esbuildOptions: (options) => {
    options.banner = {
      js: `import { createRequire } from 'module'; const require = createRequire(import.meta.url);`,
    }
  },
}

Will generate output with:

import { createRequire } from 'module'; const require = createRequire("file://D:\RD\test\tsup-test\tsup.config.ts");

The import.meta.url was totally transformed to the url where tsup.config.ts is.

Expect output:

import { createRequire } from 'module'; const require = createRequire(import.meta.url);

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions