rollup icon indicating copy to clipboard operation
rollup copied to clipboard

`/*#__PURE__*/` annotation ineffective for tree-shaking top-level `await import().then(...)` expressions

Open Gaubee opened this issue 8 months ago • 0 comments

Rollup Version

4.40.2

Operating System (or Browser)

Node Version (if applicable)

No response

Link To Reproduction

https://rollupjs.org/repl/?version=4.40.2&shareable=JTdCJTIyZXhhbXBsZSUyMiUzQW51bGwlMkMlMjJtb2R1bGVzJTIyJTNBJTVCJTdCJTIyY29kZSUyMiUzQSUyMmltcG9ydCUyMCU3QmElN0QlMjBmcm9tJTIwJy4lMkZtaXguanMnJTVDbmNvbnNvbGUubG9nKGEpJTIyJTJDJTIyaXNFbnRyeSUyMiUzQXRydWUlMkMlMjJuYW1lJTIyJTNBJTIybWFpbi5qcyUyMiU3RCUyQyU3QiUyMmNvZGUlMjIlM0ElMjJleHBvcnQlMjBjb25zdCUyMG5hdGl2ZV9hJTIwJTNEJTIwMSU1Q25leHBvcnQlMjBjb25zdCUyMHNoaW1fYSUyMCUzRCUyMDIlNUNuZXhwb3J0JTIwY29uc3QlMjBuYXRpdmVfYiUyMCUzRCUyMDElNUNuZXhwb3J0JTIwY29uc3QlMjBzaGltX2IlMjAlM0QlMjAyJTVDbmV4cG9ydCUyMGNvbnN0JTIwb3RoZXIlMjAlM0QlMjAzJTIyJTJDJTIyaXNFbnRyeSUyMiUzQWZhbHNlJTJDJTIybmFtZSUyMiUzQSUyMmFsbC5qcyUyMiU3RCUyQyU3QiUyMmNvZGUlMjIlM0ElMjJleHBvcnQlMjBjb25zdCUyMGElMjAlM0QlMjAlMkYqJTIzX19QVVJFX18qJTJGYXdhaXQlMjBpbXBvcnQoJy4lMkZhbGwuanMnKS50aGVuKCglN0JuYXRpdmVfYSUyQ3NoaW1fYSU3RCklM0QlM0VuYXRpdmVfYSUzRm5hdGl2ZV9hJTNBc2hpbV9hKSU1Q25leHBvcnQlMjBjb25zdCUyMGIlMjAlM0QlMjAlMkYqJTIzX19QVVJFX18qJTJGYXdhaXQlMjBpbXBvcnQoJy4lMkZhbGwuanMnKS50aGVuKCglN0JuYXRpdmVfYiUyQ3NoaW1fYiU3RCklM0QlM0VuYXRpdmVfYiUzRm5hdGl2ZV9iJTNBc2hpbV9iKSUyMiUyQyUyMmlzRW50cnklMjIlM0FmYWxzZSUyQyUyMm5hbWUlMjIlM0ElMjJtaXguanMlMjIlN0QlNUQlMkMlMjJvcHRpb25zJTIyJTNBJTdCJTIyb3V0cHV0JTIyJTNBJTdCJTIyZm9ybWF0JTIyJTNBJTIyZXMlMjIlN0QlN0QlN0Q=

Expected Behaviour

/*#__PURE__*/await import is pure function call

const a = await import('./all-DnWgraJt.js').then(({native_a,shim_a})=>native_a?native_a:shim_a);
// await import('./all-DnWgraJt.js').then(({native_b,shim_b})=>native_b?native_b:shim_b);

console.log(a);

Actual Behaviour

const a = await import('./all-DnWgraJt.js').then(({native_a,shim_a})=>native_a?native_a:shim_a);
await import('./all-DnWgraJt.js').then(({native_b,shim_b})=>native_b?native_b:shim_b); // should be removed

console.log(a);

Gaubee avatar May 06 '25 11:05 Gaubee