|
1 | 1 | import { JSDOM } from 'jsdom' |
2 | 2 | import * as path from 'path' |
3 | 3 | import * as vscode from 'vscode' |
4 | | -import onError from 'services/sentry/onError' |
| 4 | +import onError from '../services/sentry/onError' |
5 | 5 |
|
6 | 6 | const getNonce = (): string => { |
7 | 7 | let text = '' |
@@ -29,11 +29,14 @@ async function render(panel: vscode.WebviewPanel, rootPath: string) { |
29 | 29 |
|
30 | 30 | // generate vscode-resource build path uri |
31 | 31 | const createUri = (filePath: string): any => { |
32 | | - return panel.webview |
33 | | - .asWebviewUri(vscode.Uri.file(filePath)) |
34 | | - .toString() |
35 | | - .replace(/^\/+/g, '') // remove leading '/' |
36 | | - .replace('/vscode-resource%3A', rootPath) // replace mangled resource path with root |
| 32 | + return ( |
| 33 | + panel.webview |
| 34 | + // @ts-ignore |
| 35 | + .asWebviewUri(vscode.Uri.file(filePath)) |
| 36 | + .toString() |
| 37 | + .replace(/^\/+/g, '') // remove leading '/' |
| 38 | + .replace('/vscode-resource%3A', rootPath) |
| 39 | + ) // replace mangled resource path with root |
37 | 40 | } |
38 | 41 |
|
39 | 42 | // fix paths for scripts |
@@ -70,9 +73,12 @@ async function render(panel: vscode.WebviewPanel, rootPath: string) { |
70 | 73 | [ |
71 | 74 | `default-src 'self'`, |
72 | 75 | `connect-src https: http:`, |
| 76 | + // @ts-ignore |
73 | 77 | `font-src ${panel.webview.cspSource} http: https: data:`, |
| 78 | + // @ts-ignore |
74 | 79 | `img-src ${panel.webview.cspSource} https:`, |
75 | 80 | `script-src ${nonces.map(nonce => `'nonce-${nonce}'`).join(' ')} data:`, |
| 81 | + // @ts-ignore |
76 | 82 | `style-src ${panel.webview.cspSource} https: 'self' 'unsafe-inline'`, |
77 | 83 | ].join('; ') + ';' |
78 | 84 | document.head.appendChild(cspMeta) |
|
0 commit comments