diff --git a/extensions/git-extended/package.json b/extensions/git-extended/package.json index 1c73f3cee0d..6896e13d270 100644 --- a/extensions/git-extended/package.json +++ b/extensions/git-extended/package.json @@ -122,12 +122,17 @@ }, "scripts": { "vscode:prepublish": "tsc -p ./", - "compile": "tsc -watch -p ./" + "compile": "tsc -watch -p ./", + "watch": "npm run build-preview && npm run compile", + "build-preview": "webpack --mode development" }, "devDependencies": { "@types/lodash": "^4.14.106", "@types/node": "*", - "typescript": "^2.1.4" + "typescript": "^2.1.4", + "webpack": "^4.1.0", + "webpack-cli": "^2.0.10", + "ts-loader": "^4.0.1" }, "dependencies": { "@octokit/rest": "^15.2.6", diff --git a/extensions/git-extended/preview-src/index.ts b/extensions/git-extended/preview-src/index.ts new file mode 100644 index 00000000000..703e914d348 --- /dev/null +++ b/extensions/git-extended/preview-src/index.ts @@ -0,0 +1,18 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +declare var acquireVsCodeApi: any; +const vscode = acquireVsCodeApi(); + +window.addEventListener('message', event => { + const message = event.data; // The json data that the extension sent + switch (message.command) { + case 'refactor': + console.log('hahah'); + break; + default: + break; + } +}); \ No newline at end of file diff --git a/extensions/git-extended/preview-src/tsconfig.json b/extensions/git-extended/preview-src/tsconfig.json new file mode 100644 index 00000000000..9684d1ec2d9 --- /dev/null +++ b/extensions/git-extended/preview-src/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "outDir": "./dist/", + "module": "commonjs", + "target": "es6", + "jsx": "react", + "sourceMap": true, + "strict": true, + "noImplicitAny": true, + "noUnusedLocals": true + } +} \ No newline at end of file diff --git a/extensions/git-extended/src/commands.ts b/extensions/git-extended/src/commands.ts index d6514507304..b4634cca2d2 100644 --- a/extensions/git-extended/src/commands.ts +++ b/extensions/git-extended/src/commands.ts @@ -53,11 +53,31 @@ export function registerCommands(context: vscode.ExtensionContext) { ); } - panel.webview.html = await getWebviewContent(pr); + panel.webview.html = getHtmlForWebview(); //await getWebviewContent(pr); })); let md = new MarkdownIt(); + function getHtmlForWebview() { + const scriptPathOnDisk = vscode.Uri.file(path.join(this._extensionPath, 'media', 'index.js')); + const scriptUri = scriptPathOnDisk.with({ scheme: 'vscode-resource' }); + + const nonce = new Date().getTime() + '' + new Date().getMilliseconds(); + + return ` + + + + + + + Cat Coding + + + + + `; + } async function getWebviewContent(pr: PullRequestModel) { const timelineEvents = await pr.getTimelineEvents(); diff --git a/extensions/git-extended/webpack.config.js b/extensions/git-extended/webpack.config.js new file mode 100644 index 00000000000..e9337d7a856 --- /dev/null +++ b/extensions/git-extended/webpack.config.js @@ -0,0 +1,28 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +const path = require('path'); + +module.exports = { + entry: { + index: './preview-src/index.ts' + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + } + ] + }, + resolve: { + extensions: ['.tsx', '.ts', '.js'] + }, + devtool: 'inline-source-map', + output: { + filename: '[name].js', + path: path.resolve(__dirname, 'media') + } +}; \ No newline at end of file