Closed as not planned
Description
Describe the bug
Looks like imported named exports are not being correctly transformed when used in object desctructuring.
// types.js
export const NAME = 'test';
// helper.js
import { NAME } from './types';
console.log('NAME', NAME);
export const run = ({ [NAME]: result }) => result;
When running I get this error:
FAIL test/helper1.spec.js > should
ReferenceError: NAME is not defined
❯ Module.run test/helper1.js:4:31
2|
3| console.log('NAME', NAME);
4| export const run = ({ [NAME]: result }) => result;
| ^
5|
This is the transform result of my helper.js file:
As can be seen, NAME
isn't not correctly referenced.
Originally posted by @inakiabt in #1789
Reproduction
https://stackblitz.com/edit/vitest-dev-vitest-eg6hlk?file=test%2Fhelper1.js
There are 3 tests. All of them tests a simple function that uses an imported constant to destruct an object and return the result.
for test 1 and 2, the constant (NAME) seems to be "not defined" to vitest.
for test 3, I use a different the constant (n) that seems to be defined but it doesn't have the correct value when running the test.
System Info
System:
OS: macOS 12.5
CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
Memory: 795.55 MB / 16.00 GB
Shell: 5.1.16 - /usr/local/bin/bash
Binaries:
Node: 16.10.0 - ~/.nvm/versions/node/v16.10.0/bin/node
npm: 7.24.0 - ~/.nvm/versions/node/v16.10.0/bin/npm
Watchman: 2022.07.04.00 - /usr/local/bin/watchman
Browsers:
Chrome: 103.0.5060.134
Firefox: 102.0.1
Safari: 15.6
npmPackages:
vite: ^2.9.14 => 2.9.14
vitest: ^0.20.3 => 0.20.3
Used Package Manager
npm
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- The provided reproduction is a minimal reproducible example of the bug.