Skip to content

Commit

Permalink
feat: remove shebang when executing the code via vite-node (#1224)
Browse files Browse the repository at this point in the history
* fix: remove shebang when runnning the code

* fix: add padding to avoid index changes

* chore: update

Co-authored-by: Anthony Fu <anthonyfu117@hotmail.com>
  • Loading branch information
togami2864 and antfu committed May 6, 2022
1 parent 2fcba95 commit 5dcfea7
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion packages/vite-node/src/client.ts
Expand Up @@ -129,7 +129,8 @@ export class ViteNodeRunner {
if (id in requestStubs)
return requestStubs[id]

const { code: transformed, externalize } = await this.options.fetchModule(id)
// eslint-disable-next-line prefer-const
let { code: transformed, externalize } = await this.options.fetchModule(id)
if (externalize) {
const mod = await this.interopedImport(externalize)
this.moduleCache.set(fsPath, { exports: mod })
Expand Down Expand Up @@ -177,6 +178,9 @@ export class ViteNodeRunner {
__dirname: dirname(__filename),
})

if (transformed[0] === '#')
transformed = transformed.replace(/^\#\!.*/, s => ' '.repeat(s.length))

// add 'use strict' since ESM enables it by default
const fn = vm.runInThisContext(`'use strict';async (${Object.keys(context).join(',')})=>{{${transformed}\n}}`, {
filename: fsPath,
Expand Down

0 comments on commit 5dcfea7

Please sign in to comment.