feat: add delete route
This commit is contained in:
1
src/lib/index.ts
Normal file
1
src/lib/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export * from './ts2js.ts';
|
||||
32
src/lib/ts2js.ts
Normal file
32
src/lib/ts2js.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import * as babel from '@babel/core';
|
||||
import stripAnsi from 'strip-ansi';
|
||||
/**
|
||||
* 转换 ts 代码为 js 代码
|
||||
* @param tsCode
|
||||
* @returns
|
||||
*/
|
||||
export const convertTsToJs = async (tsCode: string) => {
|
||||
const presetEnv = await import('@babel/preset-env');
|
||||
const presetTypescript = await import('@babel/preset-typescript');
|
||||
|
||||
try {
|
||||
const result = babel.transformSync(tsCode, {
|
||||
presets: [
|
||||
presetTypescript.default,
|
||||
[
|
||||
presetEnv.default,
|
||||
{
|
||||
targets: {
|
||||
node: 20,
|
||||
},
|
||||
},
|
||||
],
|
||||
],
|
||||
filename: 'temp.ts',
|
||||
});
|
||||
return result.code;
|
||||
} catch (e) {
|
||||
const message = e.message.split('temp.ts:')[1] || e.message;
|
||||
throw new Error(stripAnsi(message));
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user