Skip to content

importAttributesKey not respected for dynamic imports #5814

@cmackenthun

Description

@cmackenthun

Rollup Version

4.32.0

Operating System (or Browser)

MacOS

Node Version (if applicable)

v22.13.1

Link To Reproduction

https://rollupjs.org/repl/?version=4.32.0&shareable=JTdCJTIyZXhhbXBsZSUyMiUzQW51bGwlMkMlMjJtb2R1bGVzJTIyJTNBJTVCJTdCJTIyY29kZSUyMiUzQSUyMiUyRiUyRiUyMFRSRUUtU0hBS0lORyU1Q25pbXBvcnQlMjBqc29uRmlsZSUyMGZyb20lMjAlNUMlMjIlMkZ0ZXN0JTJGaW5kZXguanNvbiU1QyUyMiUyMHdpdGglMjAlN0IlMjB0eXBlJTNBJTIwJTVDJTIyanNvbiU1QyUyMiUyMCU3RCUzQiU1Q24lNUNuY29uc3QlMjB0ZXN0JTIwJTNEJTIwYXN5bmMlMjAodmFsKSUyMCUzRCUzRSUyMCU3QiU1Q24lMjAlMjBpZih2YWwpJTIwJTdCJTVDbiUyMCUyMCUyMCUyMGNvbnN0JTIwZHluYW1pY0ltcG9ydGVkSnNvbkZpbGUlMjAlM0QlMjBhd2FpdCUyMGltcG9ydCglNUMlMjIlMkZ0ZXN0JTJGaW5kZXguanNvbiU1QyUyMiUyQyUyMCU3QiUyMHdpdGglM0ElMjAlN0IlMjB0eXBlJTNBJTIwJTVDJTIyanNvbiU1QyUyMiUyMCU3RCU3RCklM0IlNUNuJTIwJTIwJTdEJTVDbiU3RCU1Q24lNUNuY29uc29sZS5sb2codGVzdCh0cnVlKSklM0IlMjAlMkYlMkYlMjAxMjUlMjIlMkMlMjJpc0VudHJ5JTIyJTNBdHJ1ZSUyQyUyMm5hbWUlMjIlM0ElMjJtYWluLmpzJTIyJTdEJTJDJTdCJTIyY29kZSUyMiUzQSUyMiUyRiUyRiUyMG1hdGhzLmpzJTVDbiU1Q24lMkYlMkYlMjBUaGlzJTIwZnVuY3Rpb24lMjBpc24ndCUyMHVzZWQlMjBhbnl3aGVyZSUyQyUyMHNvJTVDbiUyRiUyRiUyMFJvbGx1cCUyMGV4Y2x1ZGVzJTIwaXQlMjBmcm9tJTIwdGhlJTIwYnVuZGxlLi4uJTVDbmV4cG9ydCUyMGNvbnN0JTIwc3F1YXJlJTIwJTNEJTIweCUyMCUzRCUzRSUyMHglMjAqJTIweCUzQiU1Q24lNUNuJTJGJTJGJTIwVGhpcyUyMGZ1bmN0aW9uJTIwZ2V0cyUyMGluY2x1ZGVkJTVDbiUyRiUyRiUyMHJld3JpdGUlMjB0aGlzJTIwYXMlMjAlNjBzcXVhcmUoeCklMjAqJTIweCU2MCU1Q24lMkYlMkYlMjBhbmQlMjBzZWUlMjB3aGF0JTIwaGFwcGVucyElNUNuZXhwb3J0JTIwY29uc3QlMjBjdWJlJTIwJTNEJTIweCUyMCUzRCUzRSUyMHglMjAqJTIweCUyMColMjB4JTNCJTVDbiU1Q24lMkYlMkYlMjBUaGlzJTIwJTVDJTIyc2lkZSUyMGVmZmVjdCU1QyUyMiUyMGNyZWF0ZXMlMjBhJTIwZ2xvYmFsJTVDbiUyRiUyRiUyMHZhcmlhYmxlJTIwYW5kJTIwd2lsbCUyMG5vdCUyMGJlJTIwcmVtb3ZlZC4lNUNud2luZG93LmVmZmVjdDElMjAlM0QlMjAnY3JlYXRlZCclM0IlNUNuJTVDbmNvbnN0JTIwaW5jbHVkZUVmZmVjdCUyMCUzRCUyMGZhbHNlJTNCJTVDbmlmJTIwKGluY2x1ZGVFZmZlY3QpJTIwJTdCJTVDbiU1Q3QlMkYlMkYlMjBPbiUyMHRoZSUyMG90aGVyJTIwaGFuZCUyQyUyMHRoaXMlMjBpcyUyMG5ldmVyJTVDbiU1Q3QlMkYlMkYlMjBleGVjdXRlZCUyMGFuZCUyMHRodXMlMjByZW1vdmVkLiU1Q24lNUN0d2luZG93LmVmZmVjdDElMjAlM0QlMjAnbm90JTIwY3JlYXRlZCclM0IlNUNuJTdEJTIyJTJDJTIyaXNFbnRyeSUyMiUzQWZhbHNlJTJDJTIybmFtZSUyMiUzQSUyMm1hdGhzLmpzJTIyJTdEJTJDJTdCJTIyY29kZSUyMiUzQSUyMmJvZHklMjAlN0IlNUNuJTIwJTIwd2lkdGglM0ElMjAxMDB2dyUzQiU1Q24lMjAlMjBoZWlnaHQlM0ElMjAxMDB2aCUzQiU1Q24lN0QlMjIlMkMlMjJpc0VudHJ5JTIyJTNBZmFsc2UlMkMlMjJuYW1lJTIyJTNBJTIybWFpbi5jc3MlMjIlN0QlNUQlMkMlMjJvcHRpb25zJTIyJTNBJTdCJTIyb3V0cHV0JTIyJTNBJTdCJTIyZm9ybWF0JTIyJTNBJTIyZXMlMjIlMkMlMjJpbXBvcnRBdHRyaWJ1dGVzS2V5JTIyJTNBJTIyd2l0aCUyMiUyQyUyMnByZXNlcnZlTW9kdWxlcyUyMiUzQXRydWUlN0QlN0QlN0Q=

Expected Behaviour

I would expect the dynamic import line to also be changed to use with instead of assert so the output looks like

import '/test/index.json' with { type: 'json' };

// TREE-SHAKING

const test = async (val) => {
  {
    await import('/test/index.json', { with: { type: 'json' } });
  }
};

console.log(test()); // 125

when output.importAttributesKey = 'with'

Actual Behaviour

Instead, the dynamic import is hardcoded with assert and can not be changed via the config option

import '/test/index.json' with { type: 'json' };

// TREE-SHAKING

const test = async (val) => {
  {
    await import('/test/index.json', { assert: { type: 'json' } });
  }
};

console.log(test()); // 125

Due to (I believe)

`,${_}${getObject([['assert', this.attributes]], {
being hardcoded and not using the config options

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions