From 33cdaa0654c8f212396a7767a5d4884d43b533f3 Mon Sep 17 00:00:00 2001 From: jycouet Date: Sat, 26 Oct 2024 17:59:02 +0200 Subject: [PATCH] move recast --- packages/internals/src/lib/ast/ast.ts | 3 +-- packages/internals/src/lib/index.ts | 2 +- .../src/lib/transformPackage.ts | 15 +++------------ 3 files changed, 5 insertions(+), 15 deletions(-) diff --git a/packages/internals/src/lib/ast/ast.ts b/packages/internals/src/lib/ast/ast.ts index 1b7b0fa2..244c7c7e 100644 --- a/packages/internals/src/lib/ast/ast.ts +++ b/packages/internals/src/lib/ast/ast.ts @@ -1,4 +1,3 @@ -// import { prettyPrint } from 'recast' import { parse } from '@babel/parser' import * as recast from 'recast' import { prettyPrint as recastPrettyPrint } from 'recast' @@ -83,4 +82,4 @@ export function parseTs(source: string | null) { return parsed } -export const { visit } = recast.types +export const { visit, builders } = recast.types diff --git a/packages/internals/src/lib/index.ts b/packages/internals/src/lib/index.ts index 5bf38d18..0a05bf61 100644 --- a/packages/internals/src/lib/index.ts +++ b/packages/internals/src/lib/index.ts @@ -7,5 +7,5 @@ export { getRelativePackagePath, findFileOrUp, } from './fs/fs.js' -export { parseTs, extractHtmlElementAttr_Text, visit, prettyPrint } from './ast/ast.js' +export { parseTs, extractHtmlElementAttr_Text, visit, prettyPrint, builders } from './ast/ast.js' export type { Statement } from './ast/ast.js' diff --git a/packages/vite-plugin-stripper/src/lib/transformPackage.ts b/packages/vite-plugin-stripper/src/lib/transformPackage.ts index 1f7581d6..f08a4068 100644 --- a/packages/vite-plugin-stripper/src/lib/transformPackage.ts +++ b/packages/vite-plugin-stripper/src/lib/transformPackage.ts @@ -1,17 +1,8 @@ -import { parse } from '@babel/parser' -import * as recast from 'recast' - -const { - visit, - types: { builders }, -} = recast +import { builders, parseTs, prettyPrint, visit } from '@kitql/internals' export const removePackages = async (code: string, packages_to_strip: string[]) => { try { - const ast = parse(code, { - plugins: ['typescript', 'decorators-legacy', 'importAssertions'], - sourceType: 'module', - }) + const ast = parseTs(code) const packages_striped: string[] = [] @@ -45,7 +36,7 @@ export const removePackages = async (code: string, packages_to_strip: string[]) }) return { - code: recast.print(ast).code, + code: prettyPrint(ast).code, info: packages_striped.map((pkg) => `Replaced import from '${pkg}'`), } } catch (error) {