File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import { defineConfig } from "vite" ;
2+ import { resolve } from "pathe" ;
3+ import { readFileSync , writeFileSync } from "fs" ;
4+ import pkg from "./package.json" ;
5+
6+ const external = [
7+ / ^ n o d e : / ,
8+ ...Object . keys ( pkg . dependencies ?? { } ) ,
9+ ...Object . keys ( pkg . peerDependencies ?? { } ) ,
10+ ] ;
11+
12+ function preserveCliShebang ( ) : import ( "vite" ) . Plugin {
13+ return {
14+ name : "preserve-cli-shebang" ,
15+ closeBundle ( ) {
16+ const cliPath = resolve ( __dirname , "dist/cli.js" ) ;
17+ const content = readFileSync ( cliPath , "utf8" ) ;
18+ if ( ! content . startsWith ( "#!/usr/bin/env node" ) ) {
19+ writeFileSync ( cliPath , `#!/usr/bin/env node\n${ content } ` ) ;
20+ }
21+ } ,
22+ } ;
23+ }
24+
25+ export default defineConfig ( {
26+ plugins : [ preserveCliShebang ( ) ] ,
27+ build : {
28+ ssr : true ,
29+ outDir : "dist" ,
30+ emptyOutDir : true ,
31+ target : "node18" ,
32+ sourcemap : true ,
33+ rollupOptions : {
34+ input : {
35+ cli : resolve ( __dirname , "src/cli.ts" ) ,
36+ index : resolve ( __dirname , "src/index.ts" ) ,
37+ } ,
38+ external,
39+ output : {
40+ format : "cjs" ,
41+ entryFileNames : "[name].js" ,
42+ exports : "auto" ,
43+ } ,
44+ } ,
45+ } ,
46+ } ) ;
Original file line number Diff line number Diff line change 1+ import { defineConfig } from "vitest/config" ;
2+ import { resolve } from "pathe" ;
3+
4+ export default defineConfig ( {
5+ test : {
6+ environment : "node" ,
7+ include : [ "tests/**/*.test.ts" ] ,
8+ setupFiles : [ "tests/helpers/setup.ts" ] ,
9+ testTimeout : 30000 ,
10+ restoreMocks : true ,
11+ } ,
12+ resolve : {
13+ alias : {
14+ "@" : resolve ( __dirname , "src" ) ,
15+ } ,
16+ } ,
17+ } ) ;
You can’t perform that action at this time.
0 commit comments