Skip to content

Commit fa023dc

Browse files
author
Luca Forstner
authored
feat(core): Add deleteFilesAfterUpload option (#244)
1 parent dfb8d94 commit fa023dc

File tree

4 files changed

+22
-4
lines changed

4 files changed

+22
-4
lines changed

packages/bundler-plugin-core/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ export function sentryUnpluginFactory({
201201
debugIdUploadPlugin({
202202
assets: options.sourcemaps.assets,
203203
ignore: options.sourcemaps.ignore,
204+
deleteFilesAfterUpload: options.sourcemaps.deleteFilesAfterUpload,
204205
dist: options.release.dist,
205206
releaseName: options.release.name,
206207
logger: logger,

packages/bundler-plugin-core/src/plugins/debug-id-upload.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ interface DebugIdUploadPluginOptions {
1818
handleRecoverableError: (error: unknown) => void;
1919
sentryHub: Hub;
2020
sentryClient: NodeClient;
21+
deleteFilesAfterUpload?: string | string[];
2122
sentryCliOptions: {
2223
url: string;
2324
authToken: string;
@@ -39,6 +40,7 @@ export function debugIdUploadPlugin({
3940
sentryHub,
4041
sentryClient,
4142
sentryCliOptions,
43+
deleteFilesAfterUpload,
4244
}: DebugIdUploadPluginOptions): UnpluginOptions {
4345
return {
4446
name: "sentry-debug-id-upload-plugin",
@@ -88,6 +90,23 @@ export function debugIdUploadPlugin({
8890
],
8991
useArtifactBundle: true,
9092
});
93+
94+
if (deleteFilesAfterUpload) {
95+
const filePathsToDelete = await glob(deleteFilesAfterUpload, {
96+
absolute: true,
97+
nodir: true,
98+
});
99+
100+
filePathsToDelete.forEach((filePathToDelete) => {
101+
logger.debug(`Deleting asset after upload: ${filePathToDelete}`);
102+
});
103+
104+
await Promise.all(
105+
filePathsToDelete.map((filePathToDelete) =>
106+
fs.promises.rm(filePathToDelete, { force: true })
107+
)
108+
);
109+
}
91110
} catch (e) {
92111
sentryHub.captureException('Error in "debugIdUploadPlugin" writeBundle hook');
93112
await sentryClient.flush();

packages/bundler-plugin-core/src/sentry/telemetry.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ export function setTelemetryDataOnHub(options: NormalizedOptions, hub: Hub, bund
9090
if (sourcemaps?.assets) {
9191
hub.setTag("debug-id-upload", true);
9292
}
93-
if (sourcemaps?.deleteAfterUpload) {
93+
if (sourcemaps?.deleteFilesAfterUpload) {
9494
hub.setTag("delete-after-upload", true);
9595
}
9696

packages/bundler-plugin-core/src/types.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,8 @@ export interface Options {
125125
* The globbing patterns follow the implementation of the `glob` package. (https://www.npmjs.com/package/glob)
126126
*
127127
* Use the `debug` option to print information about which files end up being deleted.
128-
*
129-
* @hidden Not yet implemented.
130128
*/
131-
deleteAfterUpload?: string | string[];
129+
deleteFilesAfterUpload?: string | string[];
132130
};
133131

134132
/**

0 commit comments

Comments
 (0)