UNPKG

@linden.dev/vue-unclassify

Version:

Create Vue 3 script setup SFC from Vue2/3 class based TypeScript SFCs

35 lines (32 loc) 1.04 kB
#! /usr/bin/env node import { joinSFC, transpileSFC } from './src/sfc'; import { readFileSync, writeFileSync } from 'fs'; import { parseArgs } from 'node:util'; import { globSync } from 'glob'; const args = parseArgs({ allowPositionals: true, options: { replace: { type: 'boolean', short: "r" } } }); const paths = args.positionals; if (paths.length) { const files = globSync(paths, { nodir: true }); if (!files.length) console.error('No files found for pattern', paths); else { for (const filename of files) { console.info('\x1b[36mTranspiling ' + filename + '...\x1b[0m'); const src = readFileSync(filename, { encoding: 'utf-8' }); const result = joinSFC(transpileSFC(src)); if (args.values.replace) writeFileSync(filename, result); else console.log(result); } } } else console.log(`Usage: vue-unclassify [--replace] file names/patterns...`);