From baaaff2935b3be7f1729ff159b1043fdc77951e5 Mon Sep 17 00:00:00 2001 From: Nicolas Hrubec Date: Wed, 23 Sep 2026 13:32:32 +0200 Subject: [PATCH 1/4] docs: Point tooling READMEs to documentation Co-Authored-By: GPT-6 --- docs/sdk-tooling.md | 64 ++++++++++++++++++++++++++++ packages/bundler-plugins/README.md | 29 +++++-------- packages/eslint-config-sdk/README.md | 30 +++---------- packages/eslint-plugin-sdk/README.md | 12 ++++++ packages/typescript/README.md | 41 +++--------------- 5 files changed, 100 insertions(+), 76 deletions(-) create mode 100644 docs/sdk-tooling.md diff --git a/docs/sdk-tooling.md b/docs/sdk-tooling.md new file mode 100644 index 000000000000..70d4bac45e16 --- /dev/null +++ b/docs/sdk-tooling.md @@ -0,0 +1,64 @@ +# SDK Tooling + +The `@sentry/typescript`, `@sentry/eslint-config-sdk`, and `@sentry/eslint-plugin-sdk` packages share development +configuration across Sentry-owned JavaScript packages and repositories. They are internal packages, are not part of +the public API contract, and may change in any release without SemVer compatibility for direct consumers. + +This repository uses Oxlint and Oxfmt through `yarn lint` and `yarn format`. The ESLint packages below serve existing +consumers of Sentry's shared ESLint tooling. + +## TypeScript Configuration + +Install the shared configuration as a development dependency: + +```sh +yarn add --dev @sentry/typescript +``` + +Extend it from your project's `tsconfig.json`, adjusting the paths for your project: + +```json +{ + "extends": "./node_modules/@sentry/typescript/tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "src", + "outDir": "dist" + } +} +``` + +The [shared configuration](../packages/typescript/tsconfig.json) is the source of truth for its compiler options. + +## ESLint Configuration + +Existing ESLint consumers can install the shared configuration as a development dependency: + +```sh +yarn add --dev @sentry/eslint-config-sdk +``` + +The configuration's legacy `extends` name is `@sentry/sdk`. TypeScript consumers must set `parserOptions.project` +to their TypeScript configuration so that rules requiring type information can run: + +```json +{ + "extends": ["@sentry/sdk"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.d.ts"], + "parserOptions": { + "project": "./tsconfig.json" + } + } + ] +} +``` + +See the [configuration entry point](../packages/eslint-config-sdk/src/index.js) for the shared rule sets. + +## ESLint Plugin + +`@sentry/eslint-plugin-sdk` provides custom rules used by Sentry's shared ESLint configuration. +The [plugin entry point](../packages/eslint-plugin-sdk/src/index.js) lists the available rules, and their +[implementations](../packages/eslint-plugin-sdk/src/rules) describe the checks they perform. diff --git a/packages/bundler-plugins/README.md b/packages/bundler-plugins/README.md index 9d316ee7e99a..98ed5629b1a9 100644 --- a/packages/bundler-plugins/README.md +++ b/packages/bundler-plugins/README.md @@ -6,26 +6,17 @@ # Sentry Bundler Plugins -Core package containing the bundler-agnostic functionality used by the [bundler plugins](https://github.com/getsentry/sentry-javascript-bundler-plugins). +Core package containing the bundler-agnostic functionality used by Sentry’s bundler plugins. -Check out the individual packages for more information and examples: +## Documentation -- [Rollup](https://www.npmjs.com/package/@sentry/rollup-plugin) -- [Vite](https://www.npmjs.com/package/@sentry/vite-plugin) -- [esbuild](https://www.npmjs.com/package/@sentry/esbuild-plugin) -- [Webpack](https://www.npmjs.com/package/@sentry/webpack-plugin) +- [Uploading source maps](https://docs.sentry.io/platforms/javascript/sourcemaps/uploading/) +- [Rollup plugin](https://www.npmjs.com/package/@sentry/rollup-plugin) +- [Vite plugin](https://www.npmjs.com/package/@sentry/vite-plugin) +- [esbuild plugin](https://www.npmjs.com/package/@sentry/esbuild-plugin) +- [Webpack plugin](https://www.npmjs.com/package/@sentry/webpack-plugin) -### Features +## Support -The Sentry bundler plugin package contains the following functionality: - -- Sourcemap upload -- Release creation in Sentry -- Automatic release name discovery (based on CI environment - Vercel, AWS, Heroku, CircleCI, or current Git SHA) -- Automatically associate errors with releases (Release injection) - -### More information - -- [Sentry Documentation](https://docs.sentry.io/quickstart/) -- [Sentry Discord](https://discord.gg/Ww9hbqr) -- [Sentry Stackoverflow](http://stackoverflow.com/questions/tagged/sentry) +- [Report a bug](https://github.com/getsentry/sentry-javascript/issues/new/choose) +- [Contributing](https://github.com/getsentry/sentry-javascript/blob/develop/CONTRIBUTING.md) diff --git a/packages/eslint-config-sdk/README.md b/packages/eslint-config-sdk/README.md index 0369a1ef1146..2c876ef8fd6f 100644 --- a/packages/eslint-config-sdk/README.md +++ b/packages/eslint-config-sdk/README.md @@ -10,34 +10,18 @@ [![npm dm](https://img.shields.io/npm/dm/@sentry/eslint-config-sdk.svg)](https://www.npmjs.com/package/@sentry/eslint-config-sdk) [![npm dt](https://img.shields.io/npm/dt/@sentry/eslint-config-sdk.svg)](https://www.npmjs.com/package/@sentry/eslint-config-sdk) +Shared ESLint configuration used at Sentry. + > [!NOTE] > This package is an internal library published for use by Sentry-owned JavaScript SDK packages and repositories. It is > not part of the public API contract and may change in any release. Do not rely on SemVer compatibility if you depend on > it directly. -## Links - -- [Official SDK Docs](https://docs.sentry.io/quickstart/) - -## General - -Install with `yarn add -D @sentry/eslint-config-sdk` +## Documentation -## Configuration +- [Usage and configuration](https://github.com/getsentry/sentry-javascript/blob/develop/docs/sdk-tooling.md#eslint-configuration) -Use `@sentry` for base rules. Make sure to specify your tsconfig under `parserOptions.project` so that you can -correctly use the typescript rules. This configuration comes with +## Support -```json -{ - "extends": ["@sentry/sdk"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.d.ts"], - "parserOptions": { - "project": "./tsconfig.json" - } - } - ] -} -``` +- [Report a bug](https://github.com/getsentry/sentry-javascript/issues/new/choose) +- [Contributing](https://github.com/getsentry/sentry-javascript/blob/develop/CONTRIBUTING.md) diff --git a/packages/eslint-plugin-sdk/README.md b/packages/eslint-plugin-sdk/README.md index 1bbf65d64921..c44488643d98 100644 --- a/packages/eslint-plugin-sdk/README.md +++ b/packages/eslint-plugin-sdk/README.md @@ -10,7 +10,19 @@ [![npm dm](https://img.shields.io/npm/dm/@sentry/eslint-plugin-sdk.svg)](https://www.npmjs.com/package/@sentry/eslint-plugin-sdk) [![npm dt](https://img.shields.io/npm/dt/@sentry/eslint-plugin-sdk.svg)](https://www.npmjs.com/package/@sentry/eslint-plugin-sdk) +Custom ESLint rules used at Sentry. + > [!NOTE] > This package is an internal library published for use by Sentry-owned JavaScript SDK packages and repositories. It is > not part of the public API contract and may change in any release. Do not rely on SemVer compatibility if you depend on > it directly. + +## Documentation + +- [SDK tooling](https://github.com/getsentry/sentry-javascript/blob/develop/docs/sdk-tooling.md#eslint-plugin) +- [Available rules](https://github.com/getsentry/sentry-javascript/tree/develop/packages/eslint-plugin-sdk/src/rules) + +## Support + +- [Report a bug](https://github.com/getsentry/sentry-javascript/issues/new/choose) +- [Contributing](https://github.com/getsentry/sentry-javascript/blob/develop/CONTRIBUTING.md) diff --git a/packages/typescript/README.md b/packages/typescript/README.md index 746cf132c841..a7357511a79d 100644 --- a/packages/typescript/README.md +++ b/packages/typescript/README.md @@ -10,45 +10,18 @@ [![npm dm](https://img.shields.io/npm/dm/@sentry/typescript.svg)](https://www.npmjs.com/package/@sentry/typescript) [![npm dt](https://img.shields.io/npm/dt/@sentry/typescript.svg)](https://www.npmjs.com/package/@sentry/typescript) +Shared TypeScript configuration used at Sentry. + > [!NOTE] > This package is an internal library published for use by Sentry-owned JavaScript SDK packages and repositories. It is > not part of the public API contract and may change in any release. Do not rely on SemVer compatibility if you depend on > it directly. -## Links - -- [Official SDK Docs](https://docs.sentry.io/quickstart/) - -## General - -Shared typescript configuration used at Sentry. - -## Installation - -```sh -# With Yarn: -yarn add --dev @sentry/typescript - -# With NPM: -npm install --save-dev @sentry/typescript -``` - -## Usage - -Add the following config files to your project's root directory: +## Documentation -**tsconfig.json**: +- [Usage and configuration](https://github.com/getsentry/sentry-javascript/blob/develop/docs/sdk-tooling.md#typescript-configuration) -```json -{ - "extends": "./node_modules/@sentry/typescript/tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "rootDir": "src", - "outDir": "dist" - } -} -``` +## Support -For an example of how to use this package in a monorepo, check out this package's own parent repo, -https://github.com/getsentry/sentry-javascript. +- [Report a bug](https://github.com/getsentry/sentry-javascript/issues/new/choose) +- [Contributing](https://github.com/getsentry/sentry-javascript/blob/develop/CONTRIBUTING.md) From e561d69faa28677c9a16afc1d4be17b2344d0eb1 Mon Sep 17 00:00:00 2001 From: Nicolas Hrubec Date: Wed, 23 Sep 2026 13:55:22 +0200 Subject: [PATCH 2/4] docs: Resolve new documentation links within the branch Co-Authored-By: GPT-6 --- packages/eslint-config-sdk/README.md | 2 +- packages/eslint-plugin-sdk/README.md | 2 +- packages/typescript/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/eslint-config-sdk/README.md b/packages/eslint-config-sdk/README.md index 2c876ef8fd6f..5f3fbcf063d0 100644 --- a/packages/eslint-config-sdk/README.md +++ b/packages/eslint-config-sdk/README.md @@ -19,7 +19,7 @@ Shared ESLint configuration used at Sentry. ## Documentation -- [Usage and configuration](https://github.com/getsentry/sentry-javascript/blob/develop/docs/sdk-tooling.md#eslint-configuration) +- [Usage and configuration](../../docs/sdk-tooling.md#eslint-configuration) ## Support diff --git a/packages/eslint-plugin-sdk/README.md b/packages/eslint-plugin-sdk/README.md index c44488643d98..f36d103202f1 100644 --- a/packages/eslint-plugin-sdk/README.md +++ b/packages/eslint-plugin-sdk/README.md @@ -19,7 +19,7 @@ Custom ESLint rules used at Sentry. ## Documentation -- [SDK tooling](https://github.com/getsentry/sentry-javascript/blob/develop/docs/sdk-tooling.md#eslint-plugin) +- [SDK tooling](../../docs/sdk-tooling.md#eslint-plugin) - [Available rules](https://github.com/getsentry/sentry-javascript/tree/develop/packages/eslint-plugin-sdk/src/rules) ## Support diff --git a/packages/typescript/README.md b/packages/typescript/README.md index a7357511a79d..a1f64462585a 100644 --- a/packages/typescript/README.md +++ b/packages/typescript/README.md @@ -19,7 +19,7 @@ Shared TypeScript configuration used at Sentry. ## Documentation -- [Usage and configuration](https://github.com/getsentry/sentry-javascript/blob/develop/docs/sdk-tooling.md#typescript-configuration) +- [Usage and configuration](../../docs/sdk-tooling.md#typescript-configuration) ## Support From 59f1aa025e5b7720959fd13895d10ddb76ad1c88 Mon Sep 17 00:00:00 2001 From: Nicolas Hrubec Date: Wed, 23 Sep 2026 14:08:16 +0200 Subject: [PATCH 3/4] docs: Keep internal tooling instructions in package READMEs Co-Authored-By: GPT-6 --- docs/sdk-tooling.md | 64 ---------------------------- packages/eslint-config-sdk/README.md | 29 +++++++++++-- packages/eslint-plugin-sdk/README.md | 1 - packages/typescript/README.md | 24 ++++++++++- 4 files changed, 48 insertions(+), 70 deletions(-) delete mode 100644 docs/sdk-tooling.md diff --git a/docs/sdk-tooling.md b/docs/sdk-tooling.md deleted file mode 100644 index 70d4bac45e16..000000000000 --- a/docs/sdk-tooling.md +++ /dev/null @@ -1,64 +0,0 @@ -# SDK Tooling - -The `@sentry/typescript`, `@sentry/eslint-config-sdk`, and `@sentry/eslint-plugin-sdk` packages share development -configuration across Sentry-owned JavaScript packages and repositories. They are internal packages, are not part of -the public API contract, and may change in any release without SemVer compatibility for direct consumers. - -This repository uses Oxlint and Oxfmt through `yarn lint` and `yarn format`. The ESLint packages below serve existing -consumers of Sentry's shared ESLint tooling. - -## TypeScript Configuration - -Install the shared configuration as a development dependency: - -```sh -yarn add --dev @sentry/typescript -``` - -Extend it from your project's `tsconfig.json`, adjusting the paths for your project: - -```json -{ - "extends": "./node_modules/@sentry/typescript/tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "rootDir": "src", - "outDir": "dist" - } -} -``` - -The [shared configuration](../packages/typescript/tsconfig.json) is the source of truth for its compiler options. - -## ESLint Configuration - -Existing ESLint consumers can install the shared configuration as a development dependency: - -```sh -yarn add --dev @sentry/eslint-config-sdk -``` - -The configuration's legacy `extends` name is `@sentry/sdk`. TypeScript consumers must set `parserOptions.project` -to their TypeScript configuration so that rules requiring type information can run: - -```json -{ - "extends": ["@sentry/sdk"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.d.ts"], - "parserOptions": { - "project": "./tsconfig.json" - } - } - ] -} -``` - -See the [configuration entry point](../packages/eslint-config-sdk/src/index.js) for the shared rule sets. - -## ESLint Plugin - -`@sentry/eslint-plugin-sdk` provides custom rules used by Sentry's shared ESLint configuration. -The [plugin entry point](../packages/eslint-plugin-sdk/src/index.js) lists the available rules, and their -[implementations](../packages/eslint-plugin-sdk/src/rules) describe the checks they perform. diff --git a/packages/eslint-config-sdk/README.md b/packages/eslint-config-sdk/README.md index 5f3fbcf063d0..2fd1ce100bec 100644 --- a/packages/eslint-config-sdk/README.md +++ b/packages/eslint-config-sdk/README.md @@ -17,9 +17,32 @@ Shared ESLint configuration used at Sentry. > not part of the public API contract and may change in any release. Do not rely on SemVer compatibility if you depend on > it directly. -## Documentation - -- [Usage and configuration](../../docs/sdk-tooling.md#eslint-configuration) +## Installation + +```sh +yarn add --dev @sentry/eslint-config-sdk +``` + +## Configuration + +The configuration's legacy `extends` name is `@sentry/sdk`. TypeScript consumers must set `parserOptions.project` +to their TypeScript configuration so that rules requiring type information can run: + +```json +{ + "extends": ["@sentry/sdk"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.d.ts"], + "parserOptions": { + "project": "./tsconfig.json" + } + } + ] +} +``` + +See the [configuration entry point](./src/index.js) for the shared rule sets. ## Support diff --git a/packages/eslint-plugin-sdk/README.md b/packages/eslint-plugin-sdk/README.md index f36d103202f1..745d88bad7f1 100644 --- a/packages/eslint-plugin-sdk/README.md +++ b/packages/eslint-plugin-sdk/README.md @@ -19,7 +19,6 @@ Custom ESLint rules used at Sentry. ## Documentation -- [SDK tooling](../../docs/sdk-tooling.md#eslint-plugin) - [Available rules](https://github.com/getsentry/sentry-javascript/tree/develop/packages/eslint-plugin-sdk/src/rules) ## Support diff --git a/packages/typescript/README.md b/packages/typescript/README.md index a1f64462585a..651c6a4c9e2a 100644 --- a/packages/typescript/README.md +++ b/packages/typescript/README.md @@ -17,9 +17,29 @@ Shared TypeScript configuration used at Sentry. > not part of the public API contract and may change in any release. Do not rely on SemVer compatibility if you depend on > it directly. -## Documentation +## Installation -- [Usage and configuration](../../docs/sdk-tooling.md#typescript-configuration) +```sh +yarn add --dev @sentry/typescript +``` + +## Usage + +Extend the shared configuration from your project's `tsconfig.json`, adjusting the paths for your project: + +```json +{ + "extends": "./node_modules/@sentry/typescript/tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "src", + "outDir": "dist" + } +} +``` + +See the [shared configuration](./tsconfig.json) for its compiler options. This package's +[parent repository](https://github.com/getsentry/sentry-javascript) provides an example of using it in a monorepo. ## Support From 3e62c91774f09b7373c9f17ce20e136c338bb9b5 Mon Sep 17 00:00:00 2001 From: Nicolas Hrubec Date: Wed, 23 Sep 2026 16:34:20 +0200 Subject: [PATCH 4/4] docs: Preserve original tooling README sections Co-Authored-By: GPT-6 --- packages/bundler-plugins/README.md | 13 ++++++++----- packages/eslint-config-sdk/README.md | 12 ++---------- packages/typescript/README.md | 14 ++++++++++---- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/packages/bundler-plugins/README.md b/packages/bundler-plugins/README.md index 98ed5629b1a9..e9387aab6f40 100644 --- a/packages/bundler-plugins/README.md +++ b/packages/bundler-plugins/README.md @@ -6,15 +6,18 @@ # Sentry Bundler Plugins -Core package containing the bundler-agnostic functionality used by Sentry’s bundler plugins. +Core package containing the bundler-agnostic functionality used by the [bundler plugins](https://github.com/getsentry/sentry-javascript-bundler-plugins). + +Check out the individual packages for more information and examples: + +- [Rollup](https://www.npmjs.com/package/@sentry/rollup-plugin) +- [Vite](https://www.npmjs.com/package/@sentry/vite-plugin) +- [esbuild](https://www.npmjs.com/package/@sentry/esbuild-plugin) +- [Webpack](https://www.npmjs.com/package/@sentry/webpack-plugin) ## Documentation - [Uploading source maps](https://docs.sentry.io/platforms/javascript/sourcemaps/uploading/) -- [Rollup plugin](https://www.npmjs.com/package/@sentry/rollup-plugin) -- [Vite plugin](https://www.npmjs.com/package/@sentry/vite-plugin) -- [esbuild plugin](https://www.npmjs.com/package/@sentry/esbuild-plugin) -- [Webpack plugin](https://www.npmjs.com/package/@sentry/webpack-plugin) ## Support diff --git a/packages/eslint-config-sdk/README.md b/packages/eslint-config-sdk/README.md index 2fd1ce100bec..0d9abb45b577 100644 --- a/packages/eslint-config-sdk/README.md +++ b/packages/eslint-config-sdk/README.md @@ -17,16 +17,10 @@ Shared ESLint configuration used at Sentry. > not part of the public API contract and may change in any release. Do not rely on SemVer compatibility if you depend on > it directly. -## Installation - -```sh -yarn add --dev @sentry/eslint-config-sdk -``` - ## Configuration -The configuration's legacy `extends` name is `@sentry/sdk`. TypeScript consumers must set `parserOptions.project` -to their TypeScript configuration so that rules requiring type information can run: +Use `@sentry` for base rules. Make sure to specify your tsconfig under `parserOptions.project` so that you can +correctly use the typescript rules. This configuration comes with ```json { @@ -42,8 +36,6 @@ to their TypeScript configuration so that rules requiring type information can r } ``` -See the [configuration entry point](./src/index.js) for the shared rule sets. - ## Support - [Report a bug](https://github.com/getsentry/sentry-javascript/issues/new/choose) diff --git a/packages/typescript/README.md b/packages/typescript/README.md index 651c6a4c9e2a..860302047ad1 100644 --- a/packages/typescript/README.md +++ b/packages/typescript/README.md @@ -10,7 +10,7 @@ [![npm dm](https://img.shields.io/npm/dm/@sentry/typescript.svg)](https://www.npmjs.com/package/@sentry/typescript) [![npm dt](https://img.shields.io/npm/dt/@sentry/typescript.svg)](https://www.npmjs.com/package/@sentry/typescript) -Shared TypeScript configuration used at Sentry. +Shared typescript configuration used at Sentry. > [!NOTE] > This package is an internal library published for use by Sentry-owned JavaScript SDK packages and repositories. It is @@ -20,12 +20,18 @@ Shared TypeScript configuration used at Sentry. ## Installation ```sh +# With Yarn: yarn add --dev @sentry/typescript + +# With NPM: +npm install --save-dev @sentry/typescript ``` ## Usage -Extend the shared configuration from your project's `tsconfig.json`, adjusting the paths for your project: +Add the following config files to your project's root directory: + +**tsconfig.json**: ```json { @@ -38,8 +44,8 @@ Extend the shared configuration from your project's `tsconfig.json`, adjusting t } ``` -See the [shared configuration](./tsconfig.json) for its compiler options. This package's -[parent repository](https://github.com/getsentry/sentry-javascript) provides an example of using it in a monorepo. +For an example of how to use this package in a monorepo, check out this package's own parent repo, +https://github.com/getsentry/sentry-javascript. ## Support