refactor: use webpack to compile and package

This commit is contained in:
Levi Yan
2024-07-02 12:31:42 +08:00
parent fd9fe52529
commit f044c4770a
3 changed files with 9 additions and 15 deletions

2
.vscode/launch.json vendored
View File

@@ -7,7 +7,7 @@
"type": "extensionHost", "type": "extensionHost",
"request": "launch", "request": "launch",
"args": ["--extensionDevelopmentPath=${workspaceRoot}"], "args": ["--extensionDevelopmentPath=${workspaceRoot}"],
"preLaunchTask": "tsc: build - tsconfig.json", "sourceMaps": true,
"outFiles": ["${workspaceFolder}/dist/**/*.js"], "outFiles": ["${workspaceFolder}/dist/**/*.js"],
}, },
{ {

View File

@@ -90,17 +90,11 @@
} }
}, },
"scripts": { "scripts": {
"build": "webpack --mode production", "compile": "webpack --mode production",
"vscode:package": "webpack --mode production && vsce package", "vscode:package": "webpack --mode production && vsce package",
"vscode:prepublish": "npm run package", "vscode:publish": "vsce publish",
"compile": "webpack", "watch": "webpack --mode production --watch",
"watch": "webpack --watch", "lint": "eslint src --ext ts"
"package": "webpack --mode production --devtool hidden-source-map",
"compile-tests": "tsc -p . --outDir out",
"watch-tests": "tsc -p . -w --outDir out",
"pretest": "npm run compile-tests && npm run compile && npm run lint",
"lint": "eslint src --ext ts",
"test": "vscode-test"
}, },
"dependencies": { "dependencies": {
"fs-plus": "~3.1.1", "fs-plus": "~3.1.1",

View File

@@ -15,7 +15,7 @@ externals.push('vscode');
module.exports = { module.exports = {
mode: 'production', mode: 'production',
entry: __dirname + '/src/main.js', entry: __dirname + '/src/main.ts',
output: { output: {
path: path.resolve(__dirname, 'dist'), path: path.resolve(__dirname, 'dist'),
filename: 'extension.js', filename: 'extension.js',
@@ -27,14 +27,14 @@ module.exports = {
module: { module: {
rules: [ rules: [
{ {
test: /\.js$/, test: /\.ts$/,
loader: 'babel-loader', loader: 'ts-loader',
exclude: /node_modules/ exclude: /node_modules/
} }
] ]
}, },
resolve: { resolve: {
modules: [path.resolve('./node_modules'), path.resolve('./src')], modules: [path.resolve('./node_modules'), path.resolve('./src')],
extensions: ['.js'] extensions: ['.ts', '.js']
} }
}; };