or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

file-conversion.mdindex.mdproject-generation.mdproject-migration.mdwebpack-config.md
tile.json

tessl/npm-vue--cli-plugin-typescript

Vue CLI plugin that adds comprehensive TypeScript support to Vue.js projects with webpack configuration, project scaffolding, and build optimization.

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/@vue/cli-plugin-typescript@5.0.x

To install, run

npx @tessl/cli install tessl/npm-vue--cli-plugin-typescript@5.0.0

index.mddocs/

Vue CLI TypeScript Plugin

Vue CLI TypeScript Plugin adds comprehensive TypeScript support to Vue.js projects. It provides webpack configuration, project scaffolding, file conversion capabilities, and build optimization features including caching and parallel processing.

Package Information

  • Package Name: @vue/cli-plugin-typescript
  • Package Type: npm (Vue CLI Plugin)
  • Language: JavaScript
  • Installation: vue add typescript or npm install @vue/cli-plugin-typescript

Core Imports

As a Vue CLI plugin, this package exports functions that integrate with the Vue CLI ecosystem:

// Main plugin function (webpack configuration)
const plugin = require('@vue/cli-plugin-typescript');

// Generator function (project scaffolding)
const generator = require('@vue/cli-plugin-typescript/generator');

// Prompts configuration
const prompts = require('@vue/cli-plugin-typescript/prompts');

Basic Usage

This plugin is typically added to Vue CLI projects via the Vue CLI command:

# Add TypeScript support to an existing Vue project
vue add typescript

# Create new Vue project with TypeScript
vue create my-project --default
# Then add TypeScript
cd my-project
vue add typescript

The plugin automatically configures:

  • TypeScript compilation via ts-loader
  • Type checking with fork-ts-checker-webpack-plugin
  • Build optimization with cache-loader and thread-loader
  • Vue file TypeScript support
  • Project scaffolding with TypeScript templates

Architecture

The plugin consists of several key components:

  • Main Plugin Function: Webpack configuration for TypeScript compilation and optimization
  • Generator Module: Project scaffolding, dependency management, and template rendering
  • File Converter: JavaScript to TypeScript file conversion utilities
  • Migrator: Handles migration of existing projects to TypeScript
  • Codemods: AST transformations for code migration (Vue 3 compatibility)
  • Template System: TypeScript project templates and configuration files

Capabilities

Webpack Configuration

Main plugin function that configures webpack for TypeScript support with performance optimizations.

/**
 * Main plugin function that configures webpack for TypeScript compilation
 * @param api - Vue CLI service API instance
 * @param projectOptions - Project configuration options
 */
function plugin(api, projectOptions): void;

Webpack Configuration

Project Generation

Generator function for scaffolding TypeScript support in Vue projects with dependency management and template rendering.

/**
 * Generator function for adding TypeScript support to Vue projects
 * @param api - Generator API instance
 * @param options - TypeScript configuration options
 * @param rootOptions - Root project options
 * @param invoking - Whether plugin is being invoked late
 */
function generator(
  api, 
  options: GeneratorOptions, 
  rootOptions?: RootOptions, 
  invoking?: boolean
): void;

interface GeneratorOptions {
  classComponent?: boolean;
  skipLibCheck?: boolean;
  convertJsToTs?: boolean;
  allowJs?: boolean;
}

interface RootOptions {
  vueVersion?: string;
  [key: string]: any;
}

Project Generation

File Conversion

Utilities for converting JavaScript files to TypeScript during project setup.

/**
 * Converts JavaScript files to TypeScript
 * @param api - Generator API instance  
 * @param options - Conversion options
 */
function convert(api, options: ConvertOptions): void;

interface ConvertOptions {
  convertJsToTs?: boolean;
}

File Conversion

Project Migration

Migration utilities for upgrading existing projects to TypeScript.

/**
 * Migrates existing projects to TypeScript support
 * @param api - Migrator API instance
 * @param options - Migration options
 * @param rootOptions - Root project options  
 */
function migrator(api, options: any, rootOptions: RootOptions): void;

Project Migration

Installation Prompts

/**
 * Configuration prompts for plugin installation
 * Array of prompt definitions for user configuration during installation
 */
const prompts: PromptDefinition[];

interface PromptDefinition {
  name: string;
  type: string;
  message: string;
  default?: boolean;
}

Available Prompts:

  • classComponent: Use class-style component syntax
  • useTsWithBabel: Use Babel alongside TypeScript
  • convertJsToTs: Convert all .js files to .ts
  • allowJs: Allow .js files to be compiled
  • skipLibCheck: Skip type checking of declaration files

Dependencies

Runtime Dependencies:

  • @babel/core: Babel core for JavaScript compilation
  • fork-ts-checker-webpack-plugin: Off-thread TypeScript type checking
  • ts-loader: TypeScript loader for webpack
  • thread-loader: Multi-threaded webpack loader
  • babel-loader: Babel integration
  • globby: File pattern matching utilities
  • @vue/cli-shared-utils: Vue CLI utility functions

Peer Dependencies:

  • @vue/cli-service: Vue CLI service (^3.0.0 || ^4.0.0 || ^5.0.0-0)
  • typescript: TypeScript compiler (>=2)
  • vue: Vue.js framework (^2 || ^3.2.13)
  • cache-loader: Build caching (optional)
  • vue-template-compiler: Vue 2 template compiler (optional)