@maicol07/lit-labs-analyzer
TypeScript icon, indicating that this package has built-in type declarations

0.13.0-1 • Public • Published

@lit-labs/analyzer

A static analyzer for Lit

Overview

This package contains static analysis utilities for analyzing source code that contain Lit templates and elements, that might be useful for other programs like linters, IDE plugins, code generators, etc.

This is a very early stage Lit Labs package and is not ready for use.

Usage

This section is incomplete

Node

import {createPackageAnalyzer} from '@lit-labs/analyzer/package-analyzer.js';
import * as path from 'path';

const packagePath = path.resolve('./my-package');
const analyzer = createPackageAnalyzer(packagePath);
const module = analyzer.getModule(
  path.resolve(packagePath, 'src/my-element.ts')
);

Browser

You must use a bundler to bundle TypeScript, such as Rollup with the CommonJS plugin.

With @rollup/plugin-commonjs you need to ignore built-in libraries like os, fs, etc. You can isgnore these in your Rollup config:

rollup.config.js:

import commonjs from '@rollup/plugin-commonjs';

// ...
    plugins: [
      commonjs({
          ignore: (id) => ['fs', 'os', 'inspector'].includes(id),
      }),
    ],
// ...

You may need to install the 'path' package:

npm i path

Then you can make an Analyzer using these imports:

import {Analyzer} from '@lit-labs/analyzer/lib/analyzer.js';
import {AbsolutePath} from '@lit-labs/analyzer/lib/paths.js';
import ts from 'typescript';
import * as path from 'path';

// TODO: show constructing an Analyzer in browser contexts

Contributing

Please see CONTRIBUTING.md.

/@maicol07/lit-labs-analyzer/

    Package Sidebar

    Install

    npm i @maicol07/lit-labs-analyzer

    Weekly Downloads

    1

    Version

    0.13.0-1

    License

    BSD-3-Clause

    Unpacked Size

    455 kB

    Total Files

    99

    Last publish

    Collaborators

    • maicol07