Description
Clear and concise description of the problem
I'm currently using ExternalFluentPlugin
in a Vite project. When inspecting the output of the build process, i noticed that the FTL files are included in their raw state in the JS files. This means they have to be parsed into actual FluentResource
s when they are loaded by a user. I'm wondering what the overhead of this process is and - if it is not negligible - whether it would be possible to handle the parsing of FTL files by the plugin.
Suggested solution
The resulting FluentResource
itself has only one property, body
, which consists only of simple objects and strings.
So instead of instructing the browser to parse the raw file
import { FluentResource } from '@fluent/bundle'
export default new FluentResource(`
my-string = My String
`)
...it should be possible to serve the resulting resource:
export default {
body: [{id: "my-string", value: "My String", attributes: {}}]
}
Additional context
As mentioned before, I'm not sure what actual effect this change would have on performance. Also, i don't know if this coudl also work for the SFCFluentPlugin
.
Thanks anyway for this useful project!
Validations
- Follow our Code of Conduct
- Read the Contributing Guide.
- Check that there isn't already an issue that request the same feature to avoid creating a duplicate.