Polymer Analyzer
A static analysis framework for Web Components.
Install
npm install polymer-analyzer
Usage
const {Analyzer} = require('polymer-analyzer');
const analyzer = Analyzer.createForDirectory('./');
analyzer.analyze(['./my-element.html']).then((analysis) => {
const [paperButton, ] = analysis.getFeatures(
{kind: 'element', id: 'paper-button', externalPackages: true});
if (paperButton) {
for (const [name, property] of paperButton.properties) {
let message = `${name}`;
if (property.inheritedFrom) {
message += ` inherited from ${property.inheritedFrom}`;
} else {
message += ` was defined directly on paper-button`;
}
console.log(message);
}
} else {
console.log(`my-element.html didn't define or import paper-button.`);
}
});
What's it used for?
Developing
Polymer Analyzer is supported on Node LTS and stable. It is written
in TypeScript. All development dependencies are installed via npm.
npm install
npm test
Or watch the source for changes, and run tests each time a file is modified:
npm run test:watch
Looking for Hydrolysis?
Hydrolysis has been renamed to Polymer Analyzer for version 2. You can find the
hydrolysis source on the
hydrolysis-1.x
branch.