Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
徽霖
Vscode
提交
01365dbe
V
Vscode
项目概览
徽霖
/
Vscode
通知
9
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
Vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
01365dbe
编写于
8月 20, 2018
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
webpack - more defaults for extensions
上级
7b5dc58b
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
83 addition
and
20 deletion
+83
-20
extensions/emmet/extension.webpack.config.js
extensions/emmet/extension.webpack.config.js
+3
-3
extensions/git/extension.webpack.config.js
extensions/git/extension.webpack.config.js
+4
-5
extensions/shared.webpack.config.js
extensions/shared.webpack.config.js
+68
-11
package.json
package.json
+1
-0
yarn.lock
yarn.lock
+7
-1
未找到文件。
extensions/emmet/extension.webpack.config.js
浏览文件 @
01365dbe
...
...
@@ -5,14 +5,14 @@
'
use strict
'
;
const
sharedConfig
=
require
(
'
../shared.webpack.config
'
);
const
withDefaults
=
require
(
'
../shared.webpack.config
'
);
const
myConfig
=
{
context
:
__dirname
,
entry
:
{
extension
:
'
./src/extension.ts
'
,
},
externals
:
{
'
vscode
'
:
'
commonjs vscode
'
,
// ignored because it doesn't exist
'
@emmetio/css-parser
'
:
'
commonjs @emmetio/css-parser
'
,
'
@emmetio/html-matcher
'
:
'
commonjs @emmetio/html-matcher
'
,
'
@emmetio/math-expression
'
:
'
commonjs @emmetio/math-expression
'
,
...
...
@@ -21,4 +21,4 @@ const myConfig = {
},
};
module
.
exports
=
{
...
sharedConfig
(
__dirname
),
...
myConfig
}
;
module
.
exports
=
withDefaults
(
myConfig
)
;
extensions/git/extension.webpack.config.js
浏览文件 @
01365dbe
...
...
@@ -5,10 +5,11 @@
'
use strict
'
;
const
sharedConfig
=
require
(
'
../shared.webpack.config
'
);
const
withDefaults
=
require
(
'
../shared.webpack.config
'
);
const
CopyWebpackPlugin
=
require
(
'
copy-webpack-plugin
'
);
const
myConfig
=
{
context
:
__dirname
,
node
:
{
__dirname
:
false
// leave the __dirname-behaviour intact
},
...
...
@@ -18,12 +19,10 @@ const myConfig = {
},
plugins
:
[
new
CopyWebpackPlugin
([
{
from
:
'
./out/*.sh
'
,
to
:
'
[name].sh
'
},
{
from
:
'
./out/nls.*.json
'
,
to
:
'
[name].json
'
}
{
from
:
'
./out/*.sh
'
,
to
:
'
[name].sh
'
}
])
],
externals
:
{
'
vscode
'
:
'
commonjs vscode
'
,
// ignored because it doesn't exist
"
byline
"
:
'
commonjs byline
'
,
"
file-type
"
:
'
commonjs file-type
'
,
"
iconv-lite
"
:
'
commonjs iconv-lite
'
,
...
...
@@ -34,4 +33,4 @@ const myConfig = {
},
};
module
.
exports
=
{
...
sharedConfig
(
__dirname
),
...
myConfig
}
;
module
.
exports
=
withDefaults
(
myConfig
)
;
extensions/shared.webpack.config.js
浏览文件 @
01365dbe
...
...
@@ -6,15 +6,11 @@
'
use strict
'
;
const
path
=
require
(
'
path
'
);
const
CopyWebpackPlugin
=
require
(
'
copy-webpack-plugin
'
);
const
merge
=
require
(
'
merge-options
'
);
/**
* Function that must be invoked with __dirname and that
* returns a good default configuation for extensions that
* want to do webpack
*/
module
.
exports
=
function
(
extensionDir
)
{
return
{
context
:
extensionDir
,
module
.
exports
=
function
withDefaults
(
extConfig
)
{
let
defaultConfig
=
{
mode
:
'
none
'
,
// this leaves the source code as close as possible to the original (when packaging we set this to 'production')
target
:
'
node
'
,
// extensions run in a node context
resolve
:
{
...
...
@@ -43,14 +39,75 @@ module.exports = function (extensionDir) {
}]
}]
},
plugins
:
[
new
CopyWebpackPlugin
([{
from
:
'
./out/nls.*.json
'
,
to
:
'
[name].json
'
}])
// copy nls files
],
externals
:
{
'
vscode
'
:
'
commonjs vscode
'
,
// ignored because it doesn't exist
},
output
:
{
// all output goes into `dist`.
// packaging depends on that and this must always be like it
filename
:
'
[name].js
'
,
path
:
path
.
join
(
ext
ensionDir
,
'
dist
'
),
path
:
path
.
join
(
ext
Config
.
context
,
'
dist
'
),
libraryTarget
:
"
commonjs
"
,
},
// yes, really source maps
devtool
:
'
source-map
'
};
};
}
return
merge
(
defaultConfig
,
extConfig
);
}
// /**
// * Function that must be invoked with __dirname and that
// * returns a good default configuation for extensions that
// * want to do webpack
// */
// module.exports = function (extensionDir) {
// return {
// context: extensionDir,
// mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production')
// target: 'node', // extensions run in a node context
// resolve: {
// mainFields: ['main'], // prefer the main-entry of package.json files
// extensions: ['.ts', '.js'] // support ts-files and js-files
// },
// module: {
// rules: [{
// test: /\.ts$/,
// exclude: /node_modules/,
// use: [{
// // vscode-nls-dev loader:
// // * rewrite nls-calls
// loader: 'vscode-nls-dev/lib/webpack-loader'
// }, {
// // configure TypeScript loader:
// // * only transpile because we have a separate compilation pipeline
// // * enable sources maps for end-to-end source maps
// loader: 'ts-loader',
// options: {
// transpileOnly: true,
// compilerOptions: {
// "sourceMap": true,
// }
// }
// }]
// }]
// },
// plugins: [
// new CopyWebpackPlugin([
// { from: './out/nls.*.json', to: '[name].json' }
// ])
// ],
// output: {
// // all output goes into `dist`.
// // packaging depends on that and this must always be like it
// filename: '[name].js',
// path: path.join(extensionDir, 'dist'),
// libraryTarget: "commonjs",
// },
// // yes, really source maps
// devtool: 'source-map'
// };
// };
package.json
浏览文件 @
01365dbe
...
...
@@ -102,6 +102,7 @@
"
istanbul
"
:
"
^0.3.17
"
,
"
jsdom-no-contextify
"
:
"
^3.1.0
"
,
"
lazy.js
"
:
"
^0.4.2
"
,
"
merge-options
"
:
"
^1.0.1
"
,
"
mime
"
:
"
^1.4.1
"
,
"
minimatch
"
:
"
^2.0.10
"
,
"
mkdirp
"
:
"
^0.5.0
"
,
...
...
yarn.lock
浏览文件 @
01365dbe
...
...
@@ -3909,7 +3909,7 @@ is-path-inside@^1.0.0:
dependencies:
path-is-inside "^1.0.1"
is-plain-obj@^1.0.0:
is-plain-obj@^1.0.0
, is-plain-obj@^1.1
:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
...
...
@@ -4724,6 +4724,12 @@ merge-descriptors@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
merge-options@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-1.0.1.tgz#2a64b24457becd4e4dc608283247e94ce589aa32"
dependencies:
is-plain-obj "^1.1"
merge-stream@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录