vue-i18n
vue-i18n copied to clipboard
Parsing of language file fails when using functions
Reporting a bug?
Consider the following two function calls:
locationName(named('pointOfInterest'), false)
locationName({ pointOfInterest: named('pointOfInterest'), includeParent: false })
With origin2:
export const locationName = ({ pointOfInterest, includeParent, abbreviatedParent = true }) => {
// do something
}
The former can be used in a locale file and works fine, but the latter will fail parsing and will add part of the function call at the end of the parsed string:
Expected behavior
foo({ a: 'a' })
to be compiled correctly
Reproduction
Fiddle doesn't work ("Uncaught ReferenceError: VueI18n is not defined")
System Info
System:
OS: macOS 13.4.1
CPU: (10) arm64 Apple M1 Pro
Memory: 374.34 MB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 18.16.1 - ~/.nvm/versions/node/v18.16.1/bin/node
npm: 9.5.1 - ~/.nvm/versions/node/v18.16.1/bin/npm
Browsers:
Chrome: 115.0.5790.114
Safari: 16.5.2
npmPackages:
vite-svg-loader: ^4.0.0 => 4.0.0
Screenshot
See main issue
Additional context
No response
Validations
- [X] Read the Contributing Guidelines
- [X] Read the Documentation
- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- [X] Check that this is a concrete bug. For Q&A open a GitHub Discussion
- [X] The provided reproduction is a minimal reproducible example of the bug.
It seems to be an even deeper issue, you can't use functions at all...
If I define the function in the file itself, vite crashes with a 500. It works if I remove the local function. Imports also don't work (same 500 crash):
// import
import { someFunc } from '~/lib/someFunc` // This crashes Vite
// local
const someFunc = () => 'hello' // Calling this crashes Vite (someFunc is not defined).
export default {
test: () => someFunc()
}