/* * Tencent is pleased to support the open source community by making MagicEditor available. * * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { transformSync } from '@babel/core'; import logger from '@src/utils/logger'; export function babelTransform(value) { const options = { compact: false, presets: [ [ '@babel/preset-env', { modules: false, targets: { browsers: ['> 1%', 'last 2 versions', 'not ie <= 8'], }, }, ], ], }; try { return transformSync(value, options)?.code || ''; } catch (e) { logger.error(e); throw new Error('babel 编译失败'); } }