Skip to content

Pass thru twigOptions to compiler regardless of code path#61

Open
gavrielrh wants to merge 1 commit intozimmo-be:masterfrom
gavrielrh:fix-options-pass-thru
Open

Pass thru twigOptions to compiler regardless of code path#61
gavrielrh wants to merge 1 commit intozimmo-be:masterfrom
gavrielrh:fix-options-pass-thru

Conversation

@gavrielrh
Copy link

Hi 🙂

Thank you for maintaining this library!

When investigating the cause of some twig templates not behaving the way I'd expect, I found that options I had set in my webpack.config.js weren't actually applying when the twig-loader was creating js output.

Specifically, I was expecting:

rules: [
            {
                test: /\.twig$/,
                loader: "twig-loader",
                options: {
                    twigOptions {
                        autoescape: true
                    }
                },
            }
        ]

to pass through the autoescape: true option to twigjs, such that the resulting js output would resemble the following

var twig = ...,
      tokens = [...],
      template = twig({"autoescape":true,...});
      ...

but instead the autoescape option was completely missing from the generated template.

This PR should remedy it, but I'd be more than happy to know if I'm missing something / if there's a better approach.

When options are provided to this loader via webpack config, they should always pass thru to the compiler regardless of which codepath is taken.
This unfortunately isn't the case for all webpack configs, resulting in critical options like autoescape: true not being seen when compiling .twig files.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant