Skip to content

Commit e26b875

Browse files
tyouzu1zhangrui11
and
zhangrui11
authored
fix: Use sequential and post order for vite artifact deletion (#568)
Co-authored-by: zhangrui11 <[email protected]>
1 parent a7e69d3 commit e26b875

File tree

1 file changed

+38
-32
lines changed

1 file changed

+38
-32
lines changed

Diff for: packages/bundler-plugin-core/src/plugins/sourcemap-deletion.ts

+38-32
Original file line numberDiff line numberDiff line change
@@ -22,43 +22,49 @@ export function fileDeletionPlugin({
2222
dependenciesAreFreedPromise,
2323
logger,
2424
}: FileDeletionPlugin): UnpluginOptions {
25-
return {
26-
name: "sentry-file-deletion-plugin",
27-
async writeBundle() {
28-
try {
29-
if (filesToDeleteAfterUpload !== undefined) {
30-
const filePathsToDelete = await glob(filesToDeleteAfterUpload, {
31-
absolute: true,
32-
nodir: true,
33-
});
25+
const writeBundle = async () => {
26+
try {
27+
if (filesToDeleteAfterUpload !== undefined) {
28+
const filePathsToDelete = await glob(filesToDeleteAfterUpload, {
29+
absolute: true,
30+
nodir: true,
31+
});
3432

35-
logger.debug(
36-
"Waiting for dependencies on generated files to be freed before deleting..."
37-
);
33+
logger.debug("Waiting for dependencies on generated files to be freed before deleting...");
3834

39-
await dependenciesAreFreedPromise;
35+
await dependenciesAreFreedPromise;
4036

41-
filePathsToDelete.forEach((filePathToDelete) => {
42-
logger.debug(`Deleting asset after upload: ${filePathToDelete}`);
43-
});
37+
filePathsToDelete.forEach((filePathToDelete) => {
38+
logger.debug(`Deleting asset after upload: ${filePathToDelete}`);
39+
});
4440

45-
await Promise.all(
46-
filePathsToDelete.map((filePathToDelete) =>
47-
fs.promises.rm(filePathToDelete, { force: true }).catch((e) => {
48-
// This is allowed to fail - we just don't do anything
49-
logger.debug(
50-
`An error occurred while attempting to delete asset: ${filePathToDelete}`,
51-
e
52-
);
53-
})
54-
)
55-
);
56-
}
57-
} catch (e) {
58-
sentryHub.captureException('Error in "sentry-file-deletion-plugin" buildEnd hook');
59-
await safeFlushTelemetry(sentryClient);
60-
handleRecoverableError(e);
41+
await Promise.all(
42+
filePathsToDelete.map((filePathToDelete) =>
43+
fs.promises.rm(filePathToDelete, { force: true }).catch((e) => {
44+
// This is allowed to fail - we just don't do anything
45+
logger.debug(
46+
`An error occurred while attempting to delete asset: ${filePathToDelete}`,
47+
e
48+
);
49+
})
50+
)
51+
);
6152
}
53+
} catch (e) {
54+
sentryHub.captureException('Error in "sentry-file-deletion-plugin" buildEnd hook');
55+
await safeFlushTelemetry(sentryClient);
56+
handleRecoverableError(e);
57+
}
58+
};
59+
return {
60+
name: "sentry-file-deletion-plugin",
61+
vite: {
62+
writeBundle: {
63+
sequential: true,
64+
order: "post",
65+
handler: writeBundle,
66+
},
6267
},
68+
writeBundle,
6369
};
6470
}

0 commit comments

Comments
 (0)