Extract variables from pug template
npm install @startupjs/pug-uses-variablesFind all JavaScript variables used in pug template.
```
$ npm install --save pug-uses-variables
`js
const { findVariablesInTemplate } = require('pug-uses-variables')
const pugTemplate =
ReactComponent(property=object[item])
= content
if condition === matcher
p Truthy
.trimRight()
const variables = findVariablesInTemplate(pugTemplate)
``jsvariables
// is equal:`
[{
value: 'ReactComponent',
loc: {
start: { line: 3, column: 2 },
end: { line: 3, column: 14 }
}
}, {
value: 'object',
loc: {
start: { line: 3, column: 24 },
end: { line: 3, column: 30 }
}
}, {
value: 'item',
loc: {
start: { line: 3, column: 31 },
end: { line: 3, column: 35 }
}
}, {
value: 'content',
loc: {
start: { line: 4, column: 4 },
end: { line: 4, column: 11 }
}
}, {
value: 'condition',
loc: {
start: { line: 6, column: 5 },
end: { line: 6, column: 14 }
}
}, {
value: 'condition',
loc: {
start: { line: 6, column: 19 },
end: { line: 6, column: 26 }
}
}]
Important: templates should be right-trimmed. Usually it means that you have to execute .trimRight on your template-string as in the example above.
`js`
const variableNames = variables.map(variable => variable.value)
// > ['ReactComponent', 'object', 'item', 'content', 'condition', 'matcher']
This plugin helps us to integrate babel-plugin-transform-react-pug and eslint.
* yarn testyarn lint`
*