0.12.1-alpha.2 • Published 1 year ago

@speedy-js/speedy-plugin-swc v0.12.1-alpha.2

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

@speedy-js/speedy-plugin-swc

插件性质

  • 类似babel-plugin 利用 swc 替换babel 来实现 babel 类似功能的插件集合体

插件可选配置

  • speedy-react-runtime 作用:自动填补 tsx 上 "import React from 'react'"
  • speedy-react-babelimport 作用:代替babel-import-plugin

speedy-react-runtime 配置示例

  • exlude(选填): 正则数组 匹配则跳过 speedy-react-runtime 的处理
import { defineConfig } from '@speedy-js/speedy-core';
import { SwcPlugin } from '@speedy-js/speedy-plugin-swc';

export = defineConfig({
  input: {
    main: './src/index.tsx',
  },
  plugins: [
    SwcPlugin([
      {
        name: "speedy-react-runtime",
        exclude: [/node_modules/],
      },
    ]),
  ]
});

speedy-react-babelimport 配置示例

  • exlude(选填): 正则数组 匹配则跳过 speedy-react-babelimport 的处理
  • configx.fromSource(必填): 替换 packagename 例如 "antd","@arco-design/web-react"
  • configx.replaceCss(选填): Object
  • configx.replaceCss.replaceExpr(必填): string 替换表达式 -> antd/lib/{}/style/css => import "antd/lib/button/style/css"
  • configx.replaceCss.lower(选填): bool 是否替换时进行小写转化
  • configx.replaceCss.ignoreStyleComponent(选填): string[] 填写忽略的组件名称
  • configx.replaceJs(选填): Object
  • configx.replaceJs.replaceExpr(必填): string 替换表达式 -> antd/es/{}/index.js => import button from "antd/es/button/index.js"
  • configx.replaceJs.lower(选填): bool 是否替换时进行小写转化
  • configx.replaceJs.ignoreEsComponent(选填): string[] 填写忽略的组件名称
import { defineConfig } from '@speedy-js/speedy-core';
import { SwcPlugin } from '@speedy-js/speedy-plugin-swc';

export = defineConfig({
  input: {
    main: './src/index.tsx',
  },
  plugins: [
    SwcPlugin([
      {
        name: 'speedy-react-babelimport',
        exclude: [/node_modules/],
        config: [
          {
            fromSource: 'antd',
            replaceCss: {
              ignoreStyleComponent: ['button'],
              replaceExpr: `antd/lib/{}/style/css`,
              lower: true,
            },
            replaceJs: {
              ignoreEsComponent: ['button'],
              lower: true,
              replaceExpr: `antd/es/{}/index.js`,
            },
          },
        ],
      },
    ]),
  ],
});

综合使用示例

import { defineConfig } from '@speedy-js/speedy-core';
import { SwcPlugin } from '@speedy-js/speedy-plugin-swc';

export = defineConfig({
  input: {
    main: './src/index.tsx',
  },
  plugins: [
    SwcPlugin([
      {
        name: "speedy-react-runtime",
        exclude: [/node_modules/],
      },
      {
        name: 'speedy-react-babelimport',
        exclude: [/node_modules/],
        config: [
          {
            fromSource: 'antd',
            replaceCss: {
              ignoreStyleComponent: ['button'],
              replaceExpr: `antd/lib/{}/style/css`,
              lower: true,
            },
            replaceJs: {
              ignoreEsComponent: ['button'],
              lower: true,
              replaceExpr: `antd/es/{}/index.js`,
            },
          },
        ],
      },
    ]),
  ],
});
0.13.2-modern.5

1 year ago

0.14.1-alpha.10

2 years ago

0.13.2-alpha.20

2 years ago

0.13.2-modern.2

1 year ago

0.13.2-modern.3

1 year ago

0.13.2-modern.4

1 year ago

0.14.1-alpha.9

2 years ago

0.14.1-alpha.0

2 years ago

0.14.1-alpha.7

2 years ago

0.14.1-alpha.8

2 years ago

0.14.1-alpha.5

2 years ago

0.14.1-alpha.6

2 years ago

0.14.0

2 years ago

0.14.1-alpha.3

2 years ago

0.14.1-alpha.4

2 years ago

0.14.1-alpha.1

2 years ago

0.14.1-alpha.2

2 years ago

0.13.2-alpha.19

2 years ago

0.13.2-alpha.18

2 years ago

0.13.2-modern.0

2 years ago

0.13.2-modern.1

2 years ago

0.13.2-alpha.17

2 years ago

0.13.2-webpack.8

2 years ago

0.13.2-webpack.9

2 years ago

0.13.2-webpack.6

2 years ago

0.13.2-webpack.7

2 years ago

0.13.2-webpack.5

2 years ago

0.13.2-alpha.9

2 years ago

0.13.1

2 years ago

0.13.2-alpha.11

2 years ago

0.13.2-alpha.10

2 years ago

0.13.2-alpha.13

2 years ago

0.13.2-alpha.12

2 years ago

0.13.2-alpha.15

2 years ago

0.13.2-alpha.14

2 years ago

0.13.2-alpha.16

2 years ago

0.13.2-alpha.0

2 years ago

0.13.2-webpack.4

2 years ago

0.13.2-webpack.2

2 years ago

0.13.2-webpack.3

2 years ago

0.13.2-alpha.8

2 years ago

0.13.2-webpack.1

2 years ago

0.13.2-alpha.7

2 years ago

0.13.2-alpha.6

2 years ago

0.13.2-alpha.5

2 years ago

0.13.2-alpha.4

2 years ago

0.13.2-alpha.3

2 years ago

0.13.2-alpha.2

2 years ago

0.13.2-alpha.1

2 years ago

0.12.1-alpha.3

2 years ago

0.12.1-alpha.4

2 years ago

0.12.1-alpha.5

2 years ago

0.13.0

2 years ago

0.13.1-alpha.5

2 years ago

0.13.1-alpha.4

2 years ago

0.13.1-alpha.3

2 years ago

0.13.1-alpha.2

2 years ago

0.13.1-alpha.6

2 years ago

0.13.1-alpha.1

2 years ago

0.13.1-alpha.0

2 years ago

0.12.1-alpha.0

2 years ago

0.12.1-alpha.1

2 years ago

0.12.1-alpha.2

2 years ago

0.12.0

2 years ago

0.12.1

2 years ago

0.11.3-alpha.4

2 years ago

0.11.3-alpha.3

2 years ago

0.11.3-alpha.2

2 years ago

0.11.3-alpha.1

2 years ago

0.11.3-alpha.0

2 years ago

0.11.2

2 years ago

0.11.2-alpha.4

2 years ago

0.11.2-alpha.5

2 years ago

0.11.1

2 years ago

0.11.1-alpha.1

2 years ago

0.11.2-alpha.0

2 years ago

0.11.2-alpha.1

2 years ago

0.11.2-alpha.3

2 years ago

0.10.1-alpha.6

2 years ago

0.10.1-alpha.5

2 years ago

0.9.1-alpha.0

2 years ago

0.10.1-alpha.7

2 years ago

0.9.0-alpha.0

2 years ago

0.9.0-alpha.1

2 years ago

0.10.1-alpha.0

2 years ago

0.9.0-alpha.2

2 years ago

0.8.1-1

2 years ago

0.10.1-alpha.2

2 years ago

0.9.0-alpha.4

2 years ago

0.10.1-alpha.1

2 years ago

0.10.1-alpha.4

2 years ago

0.10.1-alpha.3

2 years ago

0.8.1-alpha

2 years ago

0.11.0

2 years ago

0.9.2-alpha.5

2 years ago

0.9.2-alpha.4

2 years ago

0.9.2-alpha.3

2 years ago

0.9.2-alpha.2

2 years ago

0.9.2-alpha.1

2 years ago

0.9.2-alpha.0

2 years ago

0.11.1-alpha.0

2 years ago

0.8.2-alpha.1

2 years ago

0.10.0

2 years ago

0.9.0

2 years ago

0.8.1

2 years ago

0.9.1

2 years ago

0.9.2-0

2 years ago

0.8.0

2 years ago

0.8.0-4

2 years ago

0.8.0-3

2 years ago

0.8.0-1

2 years ago