Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

compile-vue-sfc

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

compile-vue-sfc

A utility function to compile a Vue SFC file into JavaScript and TypeScript definitions.

  • 0.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3
decreased by-40%
Maintainers
1
Weekly downloads
 
Created
Source

compile-vue-sfc

A utility function for compiling a Vue SFC into a JavaScript file and an optional TypeScript declarations file.

Installation

npm install compile-vue-sfc

How it Works

TypeScript Definitions

TypeScript definitions are generated with vue-tsc. However, TypeScript unfortunately doesn't support specifying individual files for compilation in combination with a tsconfig.json file. Thus, in order to work around this limitation, a temporary tsconfig.json file needs to be created specifying the .vue file explicitly within an extra includes property. But, creating a temporary tsconfig.json on disk is slow and error-prone, so instead, we call a wrapper script which overrides fs.readFileSync to provide a "virtual" tsconfig.json file with the appropriate before it invokes vue-tsc.

Unfortunately, for an unknown reason, whenever multiple .vue files are specified, vue-tsc encounters an infinite loop and never exits. Thus, each Vue SFC needs to be compiled separately (if there is a solution to this, please let me know!)

In addition, since TypeScript doesn't provide a way to export declarations via standard out, we also have to monkey-patch fs.writeSync to save the declaration output to a temporary variable before outputting it from our wrapper script.

FAQs

Package last updated on 15 May 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc