Adapt monaco error matching pattern to recent webpack config change (#36533)
Signed-off-by: silverwind <me@silverwind.io>
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import {showGlobalErrorMessage} from './bootstrap.ts';
|
import {showGlobalErrorMessage, shouldIgnoreError} from './bootstrap.ts';
|
||||||
|
|
||||||
test('showGlobalErrorMessage', () => {
|
test('showGlobalErrorMessage', () => {
|
||||||
document.body.innerHTML = '<div class="page-content"></div>';
|
document.body.innerHTML = '<div class="page-content"></div>';
|
||||||
@@ -10,3 +10,19 @@ test('showGlobalErrorMessage', () => {
|
|||||||
expect(document.body.innerHTML).toContain('>test msg 2<');
|
expect(document.body.innerHTML).toContain('>test msg 2<');
|
||||||
expect(document.querySelectorAll('.js-global-error').length).toEqual(2);
|
expect(document.querySelectorAll('.js-global-error').length).toEqual(2);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('shouldIgnoreError', () => {
|
||||||
|
for (const url of [
|
||||||
|
'https://gitea.test/assets/js/monaco.b359ef7e.js',
|
||||||
|
'https://gitea.test/assets/js/monaco-editor.4a969118.worker.js',
|
||||||
|
'https://gitea.test/assets/js/vendors-node_modules_pnpm_monaco-editor_0_55_1_node_modules_monaco-editor_esm_vs_base_common_-e11c7c.966a028d.js',
|
||||||
|
]) {
|
||||||
|
const err = new Error('test');
|
||||||
|
err.stack = `Error: test\n at ${url}:1:1`;
|
||||||
|
expect(shouldIgnoreError(err)).toEqual(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
const otherError = new Error('test');
|
||||||
|
otherError.stack = 'Error: test\n at https://gitea.test/assets/js/index.js:1:1';
|
||||||
|
expect(shouldIgnoreError(otherError)).toEqual(false);
|
||||||
|
});
|
||||||
|
|||||||
@@ -8,12 +8,15 @@ import {html} from './utils/html.ts';
|
|||||||
// This file must be imported before any lazy-loading is being attempted.
|
// This file must be imported before any lazy-loading is being attempted.
|
||||||
window.__webpack_public_path__ = `${window.config?.assetUrlPrefix ?? '/assets'}/`;
|
window.__webpack_public_path__ = `${window.config?.assetUrlPrefix ?? '/assets'}/`;
|
||||||
|
|
||||||
function shouldIgnoreError(err: Error) {
|
export function shouldIgnoreError(err: Error) {
|
||||||
const ignorePatterns = [
|
const ignorePatterns: Array<RegExp> = [
|
||||||
'/assets/js/monaco.', // https://github.com/go-gitea/gitea/issues/30861 , https://github.com/microsoft/monaco-editor/issues/4496
|
// https://github.com/go-gitea/gitea/issues/30861
|
||||||
|
// https://github.com/microsoft/monaco-editor/issues/4496
|
||||||
|
// https://github.com/microsoft/monaco-editor/issues/4679
|
||||||
|
/\/assets\/js\/.*monaco/,
|
||||||
];
|
];
|
||||||
for (const pattern of ignorePatterns) {
|
for (const pattern of ignorePatterns) {
|
||||||
if (err.stack?.includes(pattern)) return true;
|
if (pattern.test(err.stack ?? '')) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user