From d62f5b3da934786d8125c3f277becf61e10be102 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Thu, 16 Aug 2018 10:52:08 +0200 Subject: [PATCH] use ts loader, exclude node_module for now --- extensions/emmet/extension.webpack.config.js | 39 ++++++++++------ extensions/emmet/tsconfig.json | 3 +- extensions/git/extension.webpack.config.js | 48 ++++++++++++-------- extensions/git/tsconfig.json | 5 +- package.json | 1 + yarn.lock | 14 +++++- 6 files changed, 71 insertions(+), 39 deletions(-) diff --git a/extensions/emmet/extension.webpack.config.js b/extensions/emmet/extension.webpack.config.js index 752505a4108..7584366203a 100644 --- a/extensions/emmet/extension.webpack.config.js +++ b/extensions/emmet/extension.webpack.config.js @@ -8,31 +8,40 @@ const path = require('path'); module.exports = { - mode: 'production', - // mode: 'none', + // mode: 'production', + // stats: 'errors-only', + mode: 'none', context: __dirname, target: 'node', - resolve: { - mainFields: ['main'] - }, entry: { - extension: './out/extension.js', + extension: './src/extension.ts', + }, + resolve: { + mainFields: ['main'], + extensions: [".ts", ".js"] + }, + module: { + rules: [{ + test: /\.ts$/, + exclude: /node_modules/, + use: [{ + loader: 'ts-loader', + options: { transpileOnly: true } + }] + }] }, output: { filename: '[name].js', path: path.join(__dirname, 'dist'), libraryTarget: "commonjs", }, + devtool: 'source-map', externals: { 'vscode': 'commonjs vscode', + '@emmetio/css-parser': 'commonjs @emmetio/css-parser', + '@emmetio/html-matcher': 'commonjs @emmetio/html-matcher', + '@emmetio/math-expression': 'commonjs @emmetio/math-expression', + 'image-size': 'commonjs image-size', + 'vscode-emmet-helper': 'commonjs vscode-emmet-helper', }, - stats: 'errors-only', - devtool: 'source-map', - module: { - rules: [{ - test: /\.js$/, - use: ["source-map-loader"], - enforce: "pre" - }] - } }; diff --git a/extensions/emmet/tsconfig.json b/extensions/emmet/tsconfig.json index 0a6f9c5eaf7..796d66278f2 100644 --- a/extensions/emmet/tsconfig.json +++ b/extensions/emmet/tsconfig.json @@ -6,6 +6,7 @@ ], "module": "commonjs", "outDir": "./out", + "sourceMap": true, "noUnusedLocals": true, "strictNullChecks": true }, @@ -16,4 +17,4 @@ "include": [ "src/**/*" ] -} \ No newline at end of file +} diff --git a/extensions/git/extension.webpack.config.js b/extensions/git/extension.webpack.config.js index 28aa93b4918..d003265d2d5 100644 --- a/extensions/git/extension.webpack.config.js +++ b/extensions/git/extension.webpack.config.js @@ -9,42 +9,52 @@ const path = require('path'); const CopyWebpackPlugin = require('copy-webpack-plugin'); module.exports = { - mode: 'production', - // mode: 'none', + // mode: 'production', + // stats: 'errors-only', + mode: 'none', context: __dirname, target: 'node', node: { __dirname: false }, - resolve: { - mainFields: ['main'] - }, entry: { - main: './out/main.js', - ['askpass-main']: './out/askpass-main.js' + main: './src/main.ts', + ['askpass-main']: './src/askpass-main.ts' + }, + resolve: { + mainFields: ['main'], + extensions: [".ts", ".js"] + }, + module: { + rules: [{ + test: /\.ts$/, + exclude: /node_modules/, + use: [{ + loader: 'ts-loader', + options: { transpileOnly: true } + }] + }] }, output: { filename: '[name].js', path: path.join(__dirname, 'dist'), libraryTarget: "commonjs" }, - externals: { - 'vscode': 'commonjs vscode', - 'vscode-nls': 'commonjs vscode-nls', - }, plugins: [ new CopyWebpackPlugin([ { from: './out/*.sh', to: '[name].sh' }, { from: './out/nls.*.json', to: '[name].json' } ]) ], - stats: 'errors-only', devtool: 'source-map', - module: { - rules: [{ - test: /\.js$/, - use: ["source-map-loader"], - enforce: "pre" - }] - } + externals: { + 'vscode': 'commonjs vscode', + "byline": 'commonjs byline', + "file-type": 'commonjs file-type', + "iconv-lite": 'commonjs iconv-lite', + "jschardet": 'commonjs jschardet', + "vscode-extension-telemetry": 'commonjs vscode-extension-telemetry', + "vscode-nls": 'commonjs vscode-nls', + "which": 'commonjs which', + }, }; diff --git a/extensions/git/tsconfig.json b/extensions/git/tsconfig.json index a7eca805f97..15d19fc48a6 100644 --- a/extensions/git/tsconfig.json +++ b/extensions/git/tsconfig.json @@ -11,9 +11,10 @@ ], "strict": true, "experimentalDecorators": true, - "noUnusedLocals": true + "noUnusedLocals": true, + "sourceMap": true }, "include": [ "src/**/*" ] -} \ No newline at end of file +} diff --git a/package.json b/package.json index 1abde5c7836..4ce476468c7 100644 --- a/package.json +++ b/package.json @@ -118,6 +118,7 @@ "sinon": "^1.17.2", "source-map": "^0.4.4", "source-map-loader": "^0.2.3", + "ts-loader": "^4.4.2", "tslint": "^5.9.1", "typescript": "2.9.2", "typescript-formatter": "7.1.0", diff --git a/yarn.lock b/yarn.lock index 62cdd874b45..e3b7585aa1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4312,7 +4312,7 @@ loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" -loader-utils@^1.1.0: +loader-utils@^1.0.2, loader-utils@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" dependencies: @@ -6666,7 +6666,7 @@ semver@^4.1.0, semver@^4.3.4: version "4.3.6" resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" -semver@^5.4.1, semver@^5.5.0: +semver@^5.0.1, semver@^5.4.1, semver@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" @@ -7415,6 +7415,16 @@ tryit@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" +ts-loader@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-4.4.2.tgz#778d4464b24436873c78f7f9e914d88194c2a248" + dependencies: + chalk "^2.3.0" + enhanced-resolve "^4.0.0" + loader-utils "^1.0.2" + micromatch "^3.1.4" + semver "^5.0.1" + tslib@^1.7.1: version "1.8.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.8.0.tgz#dc604ebad64bcbf696d613da6c954aa0e7ea1eb6"