mirror of
https://github.com/stackblitz-labs/bolt.diy
synced 2025-06-26 18:26:38 +00:00
- Move stores/utils/types to their relative directories (i.e chat stores in chat directory) - Move utility files to shared/utils - Move component files to shared/components - Move type definitions to shared/types - Move stores to shared/stores - Update import paths across the project
28 lines
827 B
TypeScript
28 lines
827 B
TypeScript
/**
|
|
* Cleans webcontainer URLs from stack traces to show relative paths instead
|
|
*/
|
|
export function cleanStackTrace(stackTrace: string): string {
|
|
// Function to clean a single URL
|
|
const cleanUrl = (url: string): string => {
|
|
const regex = /^https?:\/\/[^\/]+\.webcontainer-api\.io(\/.*)?$/;
|
|
|
|
if (!regex.test(url)) {
|
|
return url;
|
|
}
|
|
|
|
const pathRegex = /^https?:\/\/[^\/]+\.webcontainer-api\.io\/(.*?)$/;
|
|
const match = url.match(pathRegex);
|
|
|
|
return match?.[1] || '';
|
|
};
|
|
|
|
// Split the stack trace into lines and process each line
|
|
return stackTrace
|
|
.split('\n')
|
|
.map((line) => {
|
|
// Match any URL in the line that contains webcontainer-api.io
|
|
return line.replace(/(https?:\/\/[^\/]+\.webcontainer-api\.io\/[^\s\)]+)/g, (match) => cleanUrl(match));
|
|
})
|
|
.join('\n');
|
|
}
|