polymer-analyzer
TypeScript icon, indicating that this package has built-in type declarations

3.2.4 • Public • Published

Build Status NPM version

Polymer Analyzer

A static analysis framework for Web Components.

Install

npm install polymer-analyzer

Usage

const {Analyzer, FsUrlLoader, PackageUrlResolver} = require('polymer-analyzer');
 
const rootDir = process.cwd();
const analyzer = new Analyzer({
  urlLoader: new FsUrlLoader(rootDir),
  urlResolver: new PackageUrlResolver({ packageDir: rootDir }),
});
 
// This path is relative to the root dir
analyzer.analyze(['my-element.html']).then((analysis) => {
  // Print the name of every property on paper-button, and where it was
  // inherited from.
  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.

Readme

Keywords

none

Package Sidebar

Install

npm i polymer-analyzer

Weekly Downloads

6,261

Version

3.2.4

License

BSD-3-Clause

Unpacked Size

1.2 MB

Total Files

341

Last publish

Collaborators

  • aomarks
  • emarquez
  • sorvell
  • bicknellr
  • usergenic
  • polymer-devs
  • azakus
  • kevinpschaaf
  • justinfagnani