File tree 8 files changed +83
-7
lines changed
8 files changed +83
-7
lines changed Original file line number Diff line number Diff line change 16
16
" ${workspaceFolder}/dist/extension/*.js"
17
17
],
18
18
"preLaunchTask" : " ${defaultBuildTask}"
19
+ },
20
+ {
21
+ "name" : " Preview Extension" ,
22
+ "type" : " extensionHost" ,
23
+ "request" : " launch" ,
24
+ "args" : [
25
+ " --extensionDevelopmentPath=${workspaceFolder}"
26
+ ],
27
+ "outFiles" : [
28
+ " ${workspaceFolder}/dist/extension/*.js"
29
+ ],
30
+ "preLaunchTask" : " npm: build"
19
31
}
20
32
]
21
33
}
Original file line number Diff line number Diff line change 10
10
"owner" : " typescript" ,
11
11
"fileLocation" : " relative" ,
12
12
"pattern" : {
13
- "regexp" : " ^([a-zA-Z]\\ :\ / ?([\\ w\\ -]\ / ?)+\\ .\\ w+):(\\ d+):(\\ d+): (ERROR|WARNING)\\ : (.*)$" ,
13
+ "regexp" : " ^([a-zA-Z]\\ :/?([\\ w\\ -]/?)+\\ .\\ w+):(\\ d+):(\\ d+): (ERROR|WARNING)\\ : (.*)$" ,
14
14
"file" : 1 ,
15
15
"line" : 3 ,
16
16
"column" : 4 ,
31
31
"kind" : " build" ,
32
32
"isDefault" : true
33
33
}
34
+ },
35
+ {
36
+ "type" : " npm" ,
37
+ "script" : " build" ,
38
+ "group" : {
39
+ "kind" : " build" ,
40
+ "isDefault" : true
41
+ },
42
+ "problemMatcher" : []
34
43
}
35
44
]
36
45
}
Original file line number Diff line number Diff line change 16
16
" ${workspaceFolder}/dist/extension/*.js"
17
17
],
18
18
"preLaunchTask" : " ${defaultBuildTask}"
19
+ },
20
+ {
21
+ "name" : " Preview Extension" ,
22
+ "type" : " extensionHost" ,
23
+ "request" : " launch" ,
24
+ "args" : [
25
+ " --extensionDevelopmentPath=${workspaceFolder}"
26
+ ],
27
+ "outFiles" : [
28
+ " ${workspaceFolder}/dist/extension/*.js"
29
+ ],
30
+ "preLaunchTask" : " npm: build"
19
31
}
20
32
]
21
33
}
Original file line number Diff line number Diff line change 10
10
"owner" : " typescript" ,
11
11
"fileLocation" : " relative" ,
12
12
"pattern" : {
13
- "regexp" : " ^([a-zA-Z]\\ :\ / ?([\\ w\\ -]\ / ?)+\\ .\\ w+):(\\ d+):(\\ d+): (ERROR|WARNING)\\ : (.*)$" ,
13
+ "regexp" : " ^([a-zA-Z]\\ :/?([\\ w\\ -]/?)+\\ .\\ w+):(\\ d+):(\\ d+): (ERROR|WARNING)\\ : (.*)$" ,
14
14
"file" : 1 ,
15
15
"line" : 3 ,
16
16
"column" : 4 ,
31
31
"kind" : " build" ,
32
32
"isDefault" : true
33
33
}
34
+ },
35
+ {
36
+ "type" : " npm" ,
37
+ "script" : " build" ,
38
+ "group" : {
39
+ "kind" : " build" ,
40
+ "isDefault" : true
41
+ },
42
+ "problemMatcher" : []
34
43
}
35
44
]
36
45
}
Original file line number Diff line number Diff line change 16
16
" ${workspaceFolder}/dist/extension/*.js"
17
17
],
18
18
"preLaunchTask" : " ${defaultBuildTask}"
19
+ },
20
+ {
21
+ "name" : " Preview Extension" ,
22
+ "type" : " extensionHost" ,
23
+ "request" : " launch" ,
24
+ "args" : [
25
+ " --extensionDevelopmentPath=${workspaceFolder}"
26
+ ],
27
+ "outFiles" : [
28
+ " ${workspaceFolder}/dist/extension/*.js"
29
+ ],
30
+ "preLaunchTask" : " npm: build"
19
31
}
20
32
]
21
33
}
Original file line number Diff line number Diff line change 10
10
"owner" : " typescript" ,
11
11
"fileLocation" : " relative" ,
12
12
"pattern" : {
13
- "regexp" : " ^([a-zA-Z]\\ :\ / ?([\\ w\\ -]\ / ?)+\\ .\\ w+):(\\ d+):(\\ d+): (ERROR|WARNING)\\ : (.*)$" ,
13
+ "regexp" : " ^([a-zA-Z]\\ :/?([\\ w\\ -]/?)+\\ .\\ w+):(\\ d+):(\\ d+): (ERROR|WARNING)\\ : (.*)$" ,
14
14
"file" : 1 ,
15
15
"line" : 3 ,
16
16
"column" : 4 ,
31
31
"kind" : " build" ,
32
32
"isDefault" : true
33
33
}
34
+ },
35
+ {
36
+ "type" : " npm" ,
37
+ "script" : " build" ,
38
+ "group" : {
39
+ "kind" : " build" ,
40
+ "isDefault" : true
41
+ },
42
+ "problemMatcher" : []
34
43
}
35
44
]
36
45
}
Original file line number Diff line number Diff line change @@ -28,8 +28,7 @@ function getPkg() {
28
28
}
29
29
30
30
function preMergeOptions ( options ?: PluginOptions ) : PluginOptions {
31
- getPkg ( ) ;
32
-
31
+ const pkg = getPkg ( ) ;
33
32
const opts : PluginOptions = merge (
34
33
{
35
34
webview : true ,
@@ -43,11 +42,12 @@ function preMergeOptions(options?: PluginOptions): PluginOptions {
43
42
shims : true ,
44
43
clean : true ,
45
44
dts : false ,
46
- treeshake : ! ! isDev ,
45
+ treeshake : isDev ? false : 'smallest' ,
47
46
outExtension ( ) {
48
47
return { js : '.js' } ;
49
48
} ,
50
49
external : [ 'vscode' ] ,
50
+ skipNodeModulesBundle : isDev ,
51
51
} as ExtensionOptions ,
52
52
} ,
53
53
cloneDeep ( options ) ,
@@ -71,6 +71,12 @@ function preMergeOptions(options?: PluginOptions): PluginOptions {
71
71
opt . external ?? [ ] ,
72
72
) ;
73
73
74
+ if ( ! opt . skipNodeModulesBundle ) {
75
+ opt . noExternal = Object . keys ( pkg . dependencies || { } ) . concat (
76
+ Object . keys ( pkg . peerDependencies || { } ) ,
77
+ ) ;
78
+ }
79
+
74
80
opts . extension = opt ;
75
81
76
82
if ( opts . webview === true ) {
Original file line number Diff line number Diff line change @@ -4,7 +4,10 @@ import type { Options } from 'tsup';
4
4
* vscode extension options. See [tsup](https://tsup.egoist.dev/) and [API Doc](https://paka.dev/npm/tsup) for more information.
5
5
*/
6
6
export interface ExtensionOptions
7
- extends Omit < Options , 'entry' | 'format' | 'outDir' | 'watch' | 'onSuccess' > {
7
+ extends Omit <
8
+ Options ,
9
+ 'entry' | 'format' | 'outDir' | 'watch' | 'onSuccess' | 'skipNodeModulesBundle'
10
+ > {
8
11
/**
9
12
* The extension entry file.
10
13
* @default "extension/index.ts"
@@ -19,6 +22,10 @@ export interface ExtensionOptions
19
22
* The bundle format. Currently only supports cjs.
20
23
*/
21
24
format ?: 'cjs' ;
25
+ /**
26
+ * Skip dependencies and peerDependencies bundle. Default is false.
27
+ */
28
+ skipNodeModulesBundle ?: boolean ;
22
29
/**
23
30
* A function that will be executed after the build succeeds.
24
31
*/
You can’t perform that action at this time.
0 commit comments