Files
continue/core/tsconfig.json
Patrick Erichsen 85994118e8 feat: implement Sentry error tracking with privacy-first anonymization (#6881)
* feat: add sentry to core

* feat: implement comprehensive Sentry error tracking with privacy-first anonymization

- Add Sentry ErrorBoundary components following React best practices
- Implement shared anonymization logic between core and GUI environments
- Create organized sentry directory structure with clean exports
- Add Continue team member access control (@continue.dev email check)
- Preserve node_modules package names for debugging while anonymizing user paths
- Include comprehensive test coverage for all anonymization scenarios
- Set up source maps for readable production error stack traces
- Add browser-compatible hashing without crypto module dependency

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: complete Sentry integration with GUI components and tests

- Add GUI TelemetryProviders with Sentry ErrorBoundary
- Create shared isContinueTeamMember utilities for both core and GUI
- Update all imports and dependencies for new sentry structure
- Add comprehensive test coverage and fix all TypeScript issues

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* prettier

* fix: resolve GUI build errors by removing sentry index.ts and using specific imports

- Remove problematic index.ts that was pulling Node.js-specific Sentry code into browser bundle
- Update GUI to import specifically from anonymization.ts and constants.ts files
- Update core imports to use specific SentryLogger.ts import path
- GUI build now succeeds with proper source map upload to Sentry

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: move TelemetryProviders inside AuthProvider to fix test failures

- Move TelemetryProviders from main.tsx to Layout.tsx inside AuthProvider
- Fixes "useAuth must be used within an AuthProvider" error in tests
- TelemetryProviders now has access to auth context for Continue team member check
- GUI build and functionality remain working correctly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* prettier

* merge main

* Update package.json

* fix tests

* fix errors

* Update extension.ts

* disable sentry in tests/local dev

* add additional error handling

* Update SentryLogger.ts

* remove global try/catch

* remove test code

* linting

* Update SentryLogger.ts

* more logs

* Update core.ts

* lower sampling rate

* fix tests

* feat: use `Logger`

* Update logger.ts

* Update logger.ts

Co-Authored-By: Claude <noreply@anthropic.com>

* lint fixes

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: rename logger.ts to Logger.ts for case sensitivity

This fixes TypeScript compilation errors in CI where the file
was tracked as lowercase logger.ts but referenced as Logger.ts
in imports.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* address ting-wai's feedback

* Update core.ts

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-14 16:54:21 -07:00

33 lines
933 B
JSON

{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"lib": ["DOM", "DOM.Iterable", "ESNext", "ES2021"],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "ESNext",
"moduleResolution": "Bundler",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
"noEmitOnError": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"types": ["jest", "node"],
"sourceMap": true,
"inlineSources": true,
// Set `sourceRoot` to "/" to strip the build path prefix
// from generated source code references.
// This improves issue grouping in Sentry.
"sourceRoot": "/"
},
"include": ["./**/*.ts", "./**/*.js", "./**/*.d.ts"],
"exclude": ["dist"]
}