Bilibili-Evolved/webpack/loaders/ts-loader.ts
2022-06-15 08:58:41 +08:00

50 lines
976 B
TypeScript

import { RuleSetUseItem } from 'webpack'
import { injectMetadata } from '../inject-metadata'
const babelLoader: RuleSetUseItem = {
loader: 'babel-loader',
options: {
presets: [
'@babel/preset-env',
[
'@babel/preset-typescript',
{
allExtensions: true,
},
],
],
plugins: [
['@babel/plugin-proposal-class-properties'],
// './webpack/loaders/inject-metadata.js',
injectMetadata,
],
},
}
// const esBuildLoader = {
// loader: 'esbuild-loader',
// options: {
// target: 'esnext',
// loader: 'ts',
// },
// }
// const swcLoader = {
// loader: 'swc-loader',
// options: {
// jsc: {
// parser: {
// syntax: 'typescript',
// dynamicImport: true,
// },
// },
// },
// }
// let tsLoader
// try {
// require('swc-loader')
// tsLoader = swcLoader
// } catch (e) {
// tsLoader = babelLoader
// }
export const tsLoaders = [babelLoader]