diff --git a/packages/aws-serverless/package.json b/packages/aws-serverless/package.json index 7779dc1cc698..a2e4c50db690 100644 --- a/packages/aws-serverless/package.json +++ b/packages/aws-serverless/package.json @@ -50,6 +50,46 @@ "require": { "default": "./build/npm/cjs/awslambda-auto.js" } + }, + "./vite": { + "import": { + "types": "./build/npm/types/bundler-plugin/vite.d.ts", + "default": "./build/npm/esm/bundler-plugin/vite.js" + }, + "require": { + "types": "./build/npm/types/bundler-plugin/vite.d.ts", + "default": "./build/npm/cjs/bundler-plugin/vite.js" + } + }, + "./rollup": { + "import": { + "types": "./build/npm/types/bundler-plugin/rollup.d.ts", + "default": "./build/npm/esm/bundler-plugin/rollup.js" + }, + "require": { + "types": "./build/npm/types/bundler-plugin/rollup.d.ts", + "default": "./build/npm/cjs/bundler-plugin/rollup.js" + } + }, + "./webpack": { + "import": { + "types": "./build/npm/types/bundler-plugin/webpack.d.ts", + "default": "./build/npm/esm/bundler-plugin/webpack.js" + }, + "require": { + "types": "./build/npm/types/bundler-plugin/webpack.d.ts", + "default": "./build/npm/cjs/bundler-plugin/webpack.js" + } + }, + "./esbuild": { + "import": { + "types": "./build/npm/types/bundler-plugin/esbuild.d.ts", + "default": "./build/npm/esm/bundler-plugin/esbuild.js" + }, + "require": { + "types": "./build/npm/types/bundler-plugin/esbuild.d.ts", + "default": "./build/npm/cjs/bundler-plugin/esbuild.js" + } } }, "publishConfig": { diff --git a/packages/aws-serverless/rollup.npm.config.mjs b/packages/aws-serverless/rollup.npm.config.mjs index ff398be22729..8478b6cad8ae 100644 --- a/packages/aws-serverless/rollup.npm.config.mjs +++ b/packages/aws-serverless/rollup.npm.config.mjs @@ -31,7 +31,14 @@ export default [ // TODO: `awslambda-auto.ts` is a file which the lambda layer uses to automatically init the SDK. Does it need to be // in the npm package? Is it possible that some people are using it themselves in the same way the layer uses it (in // which case removing it would be a breaking change)? Should it stay here or not? - entrypoints: ['src/index.ts', 'src/awslambda-auto.ts'], + entrypoints: [ + 'src/index.ts', + 'src/awslambda-auto.ts', + 'src/bundler-plugin/vite.ts', + 'src/bundler-plugin/rollup.ts', + 'src/bundler-plugin/webpack.ts', + 'src/bundler-plugin/esbuild.ts', + ], // packages with bundles have a different build directory structure hasBundles: true, packageSpecificConfig: { diff --git a/packages/aws-serverless/src/bundler-plugin/esbuild.ts b/packages/aws-serverless/src/bundler-plugin/esbuild.ts new file mode 100644 index 000000000000..0177c7dfd2b2 --- /dev/null +++ b/packages/aws-serverless/src/bundler-plugin/esbuild.ts @@ -0,0 +1,2 @@ +export { sentryEsbuildPlugin } from '@sentry/node/esbuild'; +export type { SentryEsbuildPluginOptions } from '@sentry/node/esbuild'; diff --git a/packages/aws-serverless/src/bundler-plugin/rollup.ts b/packages/aws-serverless/src/bundler-plugin/rollup.ts new file mode 100644 index 000000000000..c6ebf1e3377f --- /dev/null +++ b/packages/aws-serverless/src/bundler-plugin/rollup.ts @@ -0,0 +1,2 @@ +export { sentryRollupPlugin } from '@sentry/node/rollup'; +export type { SentryRollupPluginOptions } from '@sentry/node/rollup'; diff --git a/packages/aws-serverless/src/bundler-plugin/vite.ts b/packages/aws-serverless/src/bundler-plugin/vite.ts new file mode 100644 index 000000000000..0c926a007d6c --- /dev/null +++ b/packages/aws-serverless/src/bundler-plugin/vite.ts @@ -0,0 +1,2 @@ +export { sentryVitePlugin } from '@sentry/node/vite'; +export type { SentryVitePluginOptions } from '@sentry/node/vite'; diff --git a/packages/aws-serverless/src/bundler-plugin/webpack.ts b/packages/aws-serverless/src/bundler-plugin/webpack.ts new file mode 100644 index 000000000000..1bbc9a1233ea --- /dev/null +++ b/packages/aws-serverless/src/bundler-plugin/webpack.ts @@ -0,0 +1,2 @@ +export { sentryWebpackPlugin } from '@sentry/node/webpack'; +export type { SentryWebpackPluginOptions } from '@sentry/node/webpack'; diff --git a/packages/aws-serverless/test/bundler-plugin.test.ts b/packages/aws-serverless/test/bundler-plugin.test.ts new file mode 100644 index 000000000000..c542208793c9 --- /dev/null +++ b/packages/aws-serverless/test/bundler-plugin.test.ts @@ -0,0 +1,18 @@ +import { sentryEsbuildPlugin as nodeEsbuildPlugin } from '@sentry/node/esbuild'; +import { sentryRollupPlugin as nodeRollupPlugin } from '@sentry/node/rollup'; +import { sentryVitePlugin as nodeVitePlugin } from '@sentry/node/vite'; +import { sentryWebpackPlugin as nodeWebpackPlugin } from '@sentry/node/webpack'; +import { describe, expect, it } from 'vitest'; +import { sentryEsbuildPlugin } from '../src/bundler-plugin/esbuild'; +import { sentryRollupPlugin } from '../src/bundler-plugin/rollup'; +import { sentryVitePlugin } from '../src/bundler-plugin/vite'; +import { sentryWebpackPlugin } from '../src/bundler-plugin/webpack'; + +describe('@sentry/aws-serverless bundler plugins', () => { + it('re-exports the @sentry/node plugins', () => { + expect(sentryVitePlugin).toBe(nodeVitePlugin); + expect(sentryRollupPlugin).toBe(nodeRollupPlugin); + expect(sentryWebpackPlugin).toBe(nodeWebpackPlugin); + expect(sentryEsbuildPlugin).toBe(nodeEsbuildPlugin); + }); +}); diff --git a/packages/google-cloud-serverless/package.json b/packages/google-cloud-serverless/package.json index 9372b4874209..bcec33e0bdc2 100644 --- a/packages/google-cloud-serverless/package.json +++ b/packages/google-cloud-serverless/package.json @@ -30,6 +30,46 @@ "import": { "default": "./build/import-hook.mjs" } + }, + "./vite": { + "import": { + "types": "./build/types/bundler-plugin/vite.d.ts", + "default": "./build/esm/bundler-plugin/vite.js" + }, + "require": { + "types": "./build/types/bundler-plugin/vite.d.ts", + "default": "./build/cjs/bundler-plugin/vite.js" + } + }, + "./rollup": { + "import": { + "types": "./build/types/bundler-plugin/rollup.d.ts", + "default": "./build/esm/bundler-plugin/rollup.js" + }, + "require": { + "types": "./build/types/bundler-plugin/rollup.d.ts", + "default": "./build/cjs/bundler-plugin/rollup.js" + } + }, + "./webpack": { + "import": { + "types": "./build/types/bundler-plugin/webpack.d.ts", + "default": "./build/esm/bundler-plugin/webpack.js" + }, + "require": { + "types": "./build/types/bundler-plugin/webpack.d.ts", + "default": "./build/cjs/bundler-plugin/webpack.js" + } + }, + "./esbuild": { + "import": { + "types": "./build/types/bundler-plugin/esbuild.d.ts", + "default": "./build/esm/bundler-plugin/esbuild.js" + }, + "require": { + "types": "./build/types/bundler-plugin/esbuild.d.ts", + "default": "./build/cjs/bundler-plugin/esbuild.js" + } } }, "publishConfig": { diff --git a/packages/google-cloud-serverless/rollup.npm.config.mjs b/packages/google-cloud-serverless/rollup.npm.config.mjs index 9ffe2dab5427..d48490bc729f 100644 --- a/packages/google-cloud-serverless/rollup.npm.config.mjs +++ b/packages/google-cloud-serverless/rollup.npm.config.mjs @@ -1,3 +1,16 @@ import { makeBaseNPMConfig, makeNPMConfigVariants, makeOrchestrionLoader } from '@sentry-internal/rollup-utils'; -export default [...makeNPMConfigVariants(makeBaseNPMConfig()), ...makeOrchestrionLoader('./build')]; +export default [ + ...makeNPMConfigVariants( + makeBaseNPMConfig({ + entrypoints: [ + 'src/index.ts', + 'src/bundler-plugin/vite.ts', + 'src/bundler-plugin/rollup.ts', + 'src/bundler-plugin/webpack.ts', + 'src/bundler-plugin/esbuild.ts', + ], + }), + ), + ...makeOrchestrionLoader('./build'), +]; diff --git a/packages/google-cloud-serverless/src/bundler-plugin/esbuild.ts b/packages/google-cloud-serverless/src/bundler-plugin/esbuild.ts new file mode 100644 index 000000000000..0177c7dfd2b2 --- /dev/null +++ b/packages/google-cloud-serverless/src/bundler-plugin/esbuild.ts @@ -0,0 +1,2 @@ +export { sentryEsbuildPlugin } from '@sentry/node/esbuild'; +export type { SentryEsbuildPluginOptions } from '@sentry/node/esbuild'; diff --git a/packages/google-cloud-serverless/src/bundler-plugin/rollup.ts b/packages/google-cloud-serverless/src/bundler-plugin/rollup.ts new file mode 100644 index 000000000000..c6ebf1e3377f --- /dev/null +++ b/packages/google-cloud-serverless/src/bundler-plugin/rollup.ts @@ -0,0 +1,2 @@ +export { sentryRollupPlugin } from '@sentry/node/rollup'; +export type { SentryRollupPluginOptions } from '@sentry/node/rollup'; diff --git a/packages/google-cloud-serverless/src/bundler-plugin/vite.ts b/packages/google-cloud-serverless/src/bundler-plugin/vite.ts new file mode 100644 index 000000000000..0c926a007d6c --- /dev/null +++ b/packages/google-cloud-serverless/src/bundler-plugin/vite.ts @@ -0,0 +1,2 @@ +export { sentryVitePlugin } from '@sentry/node/vite'; +export type { SentryVitePluginOptions } from '@sentry/node/vite'; diff --git a/packages/google-cloud-serverless/src/bundler-plugin/webpack.ts b/packages/google-cloud-serverless/src/bundler-plugin/webpack.ts new file mode 100644 index 000000000000..1bbc9a1233ea --- /dev/null +++ b/packages/google-cloud-serverless/src/bundler-plugin/webpack.ts @@ -0,0 +1,2 @@ +export { sentryWebpackPlugin } from '@sentry/node/webpack'; +export type { SentryWebpackPluginOptions } from '@sentry/node/webpack'; diff --git a/packages/google-cloud-serverless/test/bundler-plugin.test.ts b/packages/google-cloud-serverless/test/bundler-plugin.test.ts new file mode 100644 index 000000000000..8149bdb428ea --- /dev/null +++ b/packages/google-cloud-serverless/test/bundler-plugin.test.ts @@ -0,0 +1,18 @@ +import { sentryEsbuildPlugin as nodeEsbuildPlugin } from '@sentry/node/esbuild'; +import { sentryRollupPlugin as nodeRollupPlugin } from '@sentry/node/rollup'; +import { sentryVitePlugin as nodeVitePlugin } from '@sentry/node/vite'; +import { sentryWebpackPlugin as nodeWebpackPlugin } from '@sentry/node/webpack'; +import { describe, expect, it } from 'vitest'; +import { sentryEsbuildPlugin } from '../src/bundler-plugin/esbuild'; +import { sentryRollupPlugin } from '../src/bundler-plugin/rollup'; +import { sentryVitePlugin } from '../src/bundler-plugin/vite'; +import { sentryWebpackPlugin } from '../src/bundler-plugin/webpack'; + +describe('@sentry/google-cloud-serverless bundler plugins', () => { + it('re-exports the @sentry/node plugins', () => { + expect(sentryVitePlugin).toBe(nodeVitePlugin); + expect(sentryRollupPlugin).toBe(nodeRollupPlugin); + expect(sentryWebpackPlugin).toBe(nodeWebpackPlugin); + expect(sentryEsbuildPlugin).toBe(nodeEsbuildPlugin); + }); +}); diff --git a/packages/hono/package.json b/packages/hono/package.json index ce561d1101ac..cb2b59432acc 100644 --- a/packages/hono/package.json +++ b/packages/hono/package.json @@ -66,6 +66,46 @@ "types": "./build/types/index.deno.d.ts", "default": "./build/cjs/index.deno.js" } + }, + "./node/vite": { + "import": { + "types": "./build/types/node/bundler-plugin/vite.d.ts", + "default": "./build/esm/node/bundler-plugin/vite.js" + }, + "require": { + "types": "./build/types/node/bundler-plugin/vite.d.ts", + "default": "./build/cjs/node/bundler-plugin/vite.js" + } + }, + "./node/rollup": { + "import": { + "types": "./build/types/node/bundler-plugin/rollup.d.ts", + "default": "./build/esm/node/bundler-plugin/rollup.js" + }, + "require": { + "types": "./build/types/node/bundler-plugin/rollup.d.ts", + "default": "./build/cjs/node/bundler-plugin/rollup.js" + } + }, + "./node/webpack": { + "import": { + "types": "./build/types/node/bundler-plugin/webpack.d.ts", + "default": "./build/esm/node/bundler-plugin/webpack.js" + }, + "require": { + "types": "./build/types/node/bundler-plugin/webpack.d.ts", + "default": "./build/cjs/node/bundler-plugin/webpack.js" + } + }, + "./node/esbuild": { + "import": { + "types": "./build/types/node/bundler-plugin/esbuild.d.ts", + "default": "./build/esm/node/bundler-plugin/esbuild.js" + }, + "require": { + "types": "./build/types/node/bundler-plugin/esbuild.d.ts", + "default": "./build/cjs/node/bundler-plugin/esbuild.js" + } } }, "publishConfig": { diff --git a/packages/hono/rollup.npm.config.mjs b/packages/hono/rollup.npm.config.mjs index ef795cc688db..9b4fca034811 100644 --- a/packages/hono/rollup.npm.config.mjs +++ b/packages/hono/rollup.npm.config.mjs @@ -7,6 +7,10 @@ const baseConfig = makeBaseNPMConfig({ 'src/index.node.ts', 'src/index.bun.ts', 'src/index.deno.ts', + 'src/node/bundler-plugin/vite.ts', + 'src/node/bundler-plugin/rollup.ts', + 'src/node/bundler-plugin/webpack.ts', + 'src/node/bundler-plugin/esbuild.ts', ], packageSpecificConfig: { output: { diff --git a/packages/hono/src/node/bundler-plugin/esbuild.ts b/packages/hono/src/node/bundler-plugin/esbuild.ts new file mode 100644 index 000000000000..0177c7dfd2b2 --- /dev/null +++ b/packages/hono/src/node/bundler-plugin/esbuild.ts @@ -0,0 +1,2 @@ +export { sentryEsbuildPlugin } from '@sentry/node/esbuild'; +export type { SentryEsbuildPluginOptions } from '@sentry/node/esbuild'; diff --git a/packages/hono/src/node/bundler-plugin/rollup.ts b/packages/hono/src/node/bundler-plugin/rollup.ts new file mode 100644 index 000000000000..c6ebf1e3377f --- /dev/null +++ b/packages/hono/src/node/bundler-plugin/rollup.ts @@ -0,0 +1,2 @@ +export { sentryRollupPlugin } from '@sentry/node/rollup'; +export type { SentryRollupPluginOptions } from '@sentry/node/rollup'; diff --git a/packages/hono/src/node/bundler-plugin/vite.ts b/packages/hono/src/node/bundler-plugin/vite.ts new file mode 100644 index 000000000000..0c926a007d6c --- /dev/null +++ b/packages/hono/src/node/bundler-plugin/vite.ts @@ -0,0 +1,2 @@ +export { sentryVitePlugin } from '@sentry/node/vite'; +export type { SentryVitePluginOptions } from '@sentry/node/vite'; diff --git a/packages/hono/src/node/bundler-plugin/webpack.ts b/packages/hono/src/node/bundler-plugin/webpack.ts new file mode 100644 index 000000000000..1bbc9a1233ea --- /dev/null +++ b/packages/hono/src/node/bundler-plugin/webpack.ts @@ -0,0 +1,2 @@ +export { sentryWebpackPlugin } from '@sentry/node/webpack'; +export type { SentryWebpackPluginOptions } from '@sentry/node/webpack'; diff --git a/packages/hono/test/node/bundler-plugin.test.ts b/packages/hono/test/node/bundler-plugin.test.ts new file mode 100644 index 000000000000..ccf2a7fe56b3 --- /dev/null +++ b/packages/hono/test/node/bundler-plugin.test.ts @@ -0,0 +1,18 @@ +import { sentryEsbuildPlugin as nodeEsbuildPlugin } from '@sentry/node/esbuild'; +import { sentryRollupPlugin as nodeRollupPlugin } from '@sentry/node/rollup'; +import { sentryVitePlugin as nodeVitePlugin } from '@sentry/node/vite'; +import { sentryWebpackPlugin as nodeWebpackPlugin } from '@sentry/node/webpack'; +import { describe, expect, it } from 'vitest'; +import { sentryEsbuildPlugin } from '../../src/node/bundler-plugin/esbuild'; +import { sentryRollupPlugin } from '../../src/node/bundler-plugin/rollup'; +import { sentryVitePlugin } from '../../src/node/bundler-plugin/vite'; +import { sentryWebpackPlugin } from '../../src/node/bundler-plugin/webpack'; + +describe('@sentry/hono/node bundler plugins', () => { + it('re-exports the @sentry/node plugins', () => { + expect(sentryVitePlugin).toBe(nodeVitePlugin); + expect(sentryRollupPlugin).toBe(nodeRollupPlugin); + expect(sentryWebpackPlugin).toBe(nodeWebpackPlugin); + expect(sentryEsbuildPlugin).toBe(nodeEsbuildPlugin); + }); +}); diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index a1904cd78987..a11a7388a376 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -38,6 +38,46 @@ "types": "./setup.d.ts", "default": "./build/cjs/setup.js" } + }, + "./vite": { + "import": { + "types": "./build/types/bundler-plugin/vite.d.ts", + "default": "./build/esm/bundler-plugin/vite.js" + }, + "require": { + "types": "./build/types/bundler-plugin/vite.d.ts", + "default": "./build/cjs/bundler-plugin/vite.js" + } + }, + "./rollup": { + "import": { + "types": "./build/types/bundler-plugin/rollup.d.ts", + "default": "./build/esm/bundler-plugin/rollup.js" + }, + "require": { + "types": "./build/types/bundler-plugin/rollup.d.ts", + "default": "./build/cjs/bundler-plugin/rollup.js" + } + }, + "./webpack": { + "import": { + "types": "./build/types/bundler-plugin/webpack.d.ts", + "default": "./build/esm/bundler-plugin/webpack.js" + }, + "require": { + "types": "./build/types/bundler-plugin/webpack.d.ts", + "default": "./build/cjs/bundler-plugin/webpack.js" + } + }, + "./esbuild": { + "import": { + "types": "./build/types/bundler-plugin/esbuild.d.ts", + "default": "./build/esm/bundler-plugin/esbuild.js" + }, + "require": { + "types": "./build/types/bundler-plugin/esbuild.d.ts", + "default": "./build/cjs/bundler-plugin/esbuild.js" + } } }, "publishConfig": { diff --git a/packages/nestjs/rollup.npm.config.mjs b/packages/nestjs/rollup.npm.config.mjs index 0ce71546935c..9bfcc64fd23a 100644 --- a/packages/nestjs/rollup.npm.config.mjs +++ b/packages/nestjs/rollup.npm.config.mjs @@ -2,6 +2,13 @@ import { makeBaseNPMConfig, makeNPMConfigVariants } from '@sentry-internal/rollu export default makeNPMConfigVariants( makeBaseNPMConfig({ - entrypoints: ['src/index.ts', 'src/setup.ts'], + entrypoints: [ + 'src/index.ts', + 'src/setup.ts', + 'src/bundler-plugin/vite.ts', + 'src/bundler-plugin/rollup.ts', + 'src/bundler-plugin/webpack.ts', + 'src/bundler-plugin/esbuild.ts', + ], }), ); diff --git a/packages/nestjs/src/bundler-plugin/esbuild.ts b/packages/nestjs/src/bundler-plugin/esbuild.ts new file mode 100644 index 000000000000..0177c7dfd2b2 --- /dev/null +++ b/packages/nestjs/src/bundler-plugin/esbuild.ts @@ -0,0 +1,2 @@ +export { sentryEsbuildPlugin } from '@sentry/node/esbuild'; +export type { SentryEsbuildPluginOptions } from '@sentry/node/esbuild'; diff --git a/packages/nestjs/src/bundler-plugin/rollup.ts b/packages/nestjs/src/bundler-plugin/rollup.ts new file mode 100644 index 000000000000..c6ebf1e3377f --- /dev/null +++ b/packages/nestjs/src/bundler-plugin/rollup.ts @@ -0,0 +1,2 @@ +export { sentryRollupPlugin } from '@sentry/node/rollup'; +export type { SentryRollupPluginOptions } from '@sentry/node/rollup'; diff --git a/packages/nestjs/src/bundler-plugin/vite.ts b/packages/nestjs/src/bundler-plugin/vite.ts new file mode 100644 index 000000000000..0c926a007d6c --- /dev/null +++ b/packages/nestjs/src/bundler-plugin/vite.ts @@ -0,0 +1,2 @@ +export { sentryVitePlugin } from '@sentry/node/vite'; +export type { SentryVitePluginOptions } from '@sentry/node/vite'; diff --git a/packages/nestjs/src/bundler-plugin/webpack.ts b/packages/nestjs/src/bundler-plugin/webpack.ts new file mode 100644 index 000000000000..1bbc9a1233ea --- /dev/null +++ b/packages/nestjs/src/bundler-plugin/webpack.ts @@ -0,0 +1,2 @@ +export { sentryWebpackPlugin } from '@sentry/node/webpack'; +export type { SentryWebpackPluginOptions } from '@sentry/node/webpack'; diff --git a/packages/nestjs/test/bundler-plugin.test.ts b/packages/nestjs/test/bundler-plugin.test.ts new file mode 100644 index 000000000000..ac55d538cfe1 --- /dev/null +++ b/packages/nestjs/test/bundler-plugin.test.ts @@ -0,0 +1,18 @@ +import { sentryEsbuildPlugin as nodeEsbuildPlugin } from '@sentry/node/esbuild'; +import { sentryRollupPlugin as nodeRollupPlugin } from '@sentry/node/rollup'; +import { sentryVitePlugin as nodeVitePlugin } from '@sentry/node/vite'; +import { sentryWebpackPlugin as nodeWebpackPlugin } from '@sentry/node/webpack'; +import { describe, expect, it } from 'vitest'; +import { sentryEsbuildPlugin } from '../src/bundler-plugin/esbuild'; +import { sentryRollupPlugin } from '../src/bundler-plugin/rollup'; +import { sentryVitePlugin } from '../src/bundler-plugin/vite'; +import { sentryWebpackPlugin } from '../src/bundler-plugin/webpack'; + +describe('@sentry/nestjs bundler plugins', () => { + it('re-exports the @sentry/node plugins', () => { + expect(sentryVitePlugin).toBe(nodeVitePlugin); + expect(sentryRollupPlugin).toBe(nodeRollupPlugin); + expect(sentryWebpackPlugin).toBe(nodeWebpackPlugin); + expect(sentryEsbuildPlugin).toBe(nodeEsbuildPlugin); + }); +});