Skip to content

Parse FTL files in plugin #101

Closed
@rangermeier

Description

@rangermeier

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 FluentResources 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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions