npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@andoshin11/vue-ts-plugin

v0.0.5

Published

A TypeScript native plugin to run type-check on Vue SFC(Single File Component).

Downloads

10

Readme

@andoshin11/vue-ts-plugin

A TypeScript native plugin to run type-check on Vue SFC(Single File Component).

This libary takes a fundamentally different approach from vetur. Please refer to the Architecture section to see the detail.

vue-ts-plugin

:warning: Disclaimer

This is an experimental project and has very limited number of features. Before you try it on any production level products, be sure to know what it does since it's highly likely to cause performance issues.

I strongly reccomend not to use it on production unless you have deep knowledge of TypeScript Server.

Technical Limitations Due to the API compatibilities, this plugin is only expected to work with certain versions of depending libraries. Make sure to have thses versions set up to have full functionality of itself.

Whas it TypeScript Plugin?

Read this page.

Basically, it is a feature that developers can use to bring TypeScript's DX to other ecosystem & languages. Here's the quote from TS official wiki.

TypeScript Language Service Plugins ("plugins") are for changing the editing experience only. The core TypeScript language remains the same. Plugins can't add new language features such as new syntax or different typechecking behavior, and plugins aren't loaded during normal commandline typechecking or emitting.

:rocket: Getting Started

  • Set up a Vue project. Vue CLI is recommended for this process.
  • $ yarn add -D @andoshin11/vue-ts-plugin
  • Open VSCode and change the configurations
    • Disable vetur
    • Set typescript.tsserver.pluginPaths as ["./node_modules"]
    • Set files.associations as { "*.vue": "typescript" }
  • Add Plugin info to tsconfig.json
// tsconfig.json
{
  "compilerOptions": {
    ...
    "plugins": [
      {
        "name":  "@andoshin11/vue-ts-plugin"
      }
    ]
  }
}
  • Reload VSCode
  • Open a .vue file to see the result

Architecture

This plugin is heavily relying on vue-type-audit, which is a side-project of mine.

All the heavy lifting, like file compilation, virtual file management, sourcemap recovery, and diagnostics formatting are done by vue-type-audit. This libary mainly focus on TS Server bridging so that the core functionality of type analyzation for Vue files could remain portable and maintainable.

Architecture