prettier / prettier/plugin-xml
Bug in src/embed.js @getParser(node, opts)
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 278
- Forks
- 46
- Avg merge
- 1m
- Merged PRs (30d)
- 13
Description
Stack trace
TypeError: Cannot read properties of undefined (reading 'toLowerCase')
at getParser (file:///Users/shane/repos/brm/node_modules/@prettier/plugin-xml/src/embed.js:56:21)
at embed (file:///Users/shane/repos/brm/node_modules/@prettier/plugin-xml/src/embed.js:121:18)
at recurse (file:///Users/shane/repos/brm/node_modules/prettier/index.mjs:22194:20)
at AstPath.each (file:///Users/shane/repos/brm/node_modules/prettier/index.mjs:20791:9)
at recurse (file:///Users/shane/repos/brm/node_modules/prettier/index.mjs:22189:16)
at AstPath.call (file:///Users/shane/repos/brm/node_modules/prettier/index.mjs:20753:14)
at recurse (file:///Users/shane/repos/brm/node_modules/prettier/index.mjs:22191:16)
at AstPath.each (file:///Users/shane/repos/brm/node_modules/prettier/index.mjs:20791:9)
at recurse (file:///Users/shane/repos/brm/node_modules/prettier/index.mjs:22189:16)
at AstPath.call (file:///Users/shane/repos/brm/node_modules/prettier/index.mjs:20753:14)
console.log(node)
and the function is attempting to destructured some properties that don't exist
const { Name, attribute } = node;
let parser = Name.toLowerCase();
thus we get the undefined TypeError
details of my machine
prettier config
{
"trailingComma": "es5",
"tabWidth": 2,
"printWidth": 120,
"semi": false,
"singleQuote": false,
"language": "postgresql",
"keywordCase": "upper",
"embeddedSqlTags": ["db.sql", "sql"],
"embeddedSqlComments": ["db.sql", "sql"],
"overrides": [
{
"files": ["*.md", "*.y?(a)ml"],
"options": {
"tabWidth": 2
}
}
],
"plugins": ["prettier-plugin-embed", "prettier-plugin-sql", "@prettier/plugin-xml"]
}
command to reproduce
npx prettier --check . --log-level warn
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/embed.js, especially getParser and the destructuring shown in the report. Run npx prettier --check . --log-level warn using the reported plugin configuration to reproduce the failure. Done means the reported input no longer raises the undefined toLowerCase TypeError, with a regression check for the case found.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100