unjs/unimport

Unimport doesn't work with shebang in entry file.

Closed this issue · 0 comments

tmg0 commented

Environment

Stackblitz node cli project.
node: v18.18.0

Reproduction

https://stackblitz.com/edit/stackblitz-starters-hv4vuo

Describe the bug

I am not sure if this issue is caused by tsup or unimport.
In a Node CLI project, if the entry file includes a shebang code like #!/usr/bin/env node, then it must be explicitly declared for import, otherwise it will cause an error message like ✘ [ERROR] Syntax error "!

tsup.config.ts

import { defineConfig } from 'tsup';
import Unimport from 'unimport/unplugin';

export default defineConfig((options) => ({
  entry: ['./src'],
  format: ['esm'],
  esbuildPlugins: [Unimport.esbuild({ dts: true, dirs: ['./src'] })],
}));

entry file: src/cli.ts

#!/usr/bin/env node
output();

Additional context

No response

Logs

CLI Building entry: src/cli.ts, src/utils.ts
CLI Using tsconfig: tsconfig.json
CLI tsup v8.0.1
CLI Using tsup config: /home/projects/stackblitz-starters-hv4vuo/tsup.config.ts
CLI Target: esnext
ESM Build start
✘ [ERROR] Syntax error "!"

    src/cli.ts:2:1:
      2 │ #!/usr/bin/env node
        ╵  ^

ESM Build failed
Error: Build failed with 1 error:
src/cli.ts:2:1: ERROR: Syntax error "!"
    at failureErrorWithLog (/home/projects/stackblitz-starters-hv4vuo/node_modules/.pnpm/esbuild@0.19.11/node_modules/esbuild/lib/main.js:1641:15)
    at eval (/home/projects/stackblitz-starters-hv4vuo/node_modules/.pnpm/esbuild@0.19.11/node_modules/esbuild/lib/main.js:1049:25)
    at runOnEndCallbacks (/home/projects/stackblitz-starters-hv4vuo/node_modules/.pnpm/esbuild@0.19.11/node_modules/esbuild/lib/main.js:1476:45)
    at buildResponseToResult (/home/projects/stackblitz-starters-hv4vuo/node_modules/.pnpm/esbuild@0.19.11/node_modules/esbuild/lib/main.js:1047:7)
    at eval (/home/projects/stackblitz-starters-hv4vuo/node_modules/.pnpm/esbuild@0.19.11/node_modules/esbuild/lib/main.js:1076:16)
    at responseCallbacks.<computed> (/home/projects/stackblitz-starters-hv4vuo/node_modules/.pnpm/esbuild@0.19.11/node_modules/esbuild/lib/main.js:694:9)
    at handleIncomingPacket (/home/projects/stackblitz-starters-hv4vuo/node_modules/.pnpm/esbuild@0.19.11/node_modules/esbuild/lib/main.js:754:9)
    at Socket.readFromStdout (/home/projects/stackblitz-starters-hv4vuo/node_modules/.pnpm/esbuild@0.19.11/node_modules/esbuild/lib/main.js:670:7)
    at EventEmitter.emit (node:events:42:9202)
    at addChunk (node:internal/streams/readable:105:4109)
 ELIFECYCLE  Command failed with exit code 1.