New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@pleisto/unplugin-swc

Package Overview
Dependencies
Maintainers
2
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pleisto/unplugin-swc

SWC plugin for Vite3 and Rollup

  • 1.3.2-patch.2
  • latest
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

Fork from egoist/unplugin-swc and add vite3 support.

💛 You can help the author become a full-time open-source maintainer by sponsoring him on GitHub.


unplugin-swc

npm version

SWC plugin for Vite and Rollup.

Install

npm i unplugin-swc @swc/core -D

Usage

Vite or Rollup:

import swc from 'unplugin-swc'

export default {
  plugins: [
    // Vite plugin
    swc.vite()
    // Rollup plugin
    swc.rollup()
  ]
}

tsconfig.json

Following SWC options are inferred from tsconfig.json:

  • jsc.parser.syntax: based on file extension
  • jsc.parser.jsx, parser.tsx: compilerOptions.jsx
  • jsc.parser.decorators: compilerOptions.experimentalDecorators
  • jsc.transform.react.pragma: compilerOptions.jsxFactory
  • jsc.transform.react.pragmaFrag: compilerOptions.jsxFragmentFactory
  • jsc.transform.react.importSource: compilerOptions.jsxImportSource
  • jsc.transform.legacyDecorator: compilerOptions.experimentalDecorators
  • jsc.transform.decoratorMetadata: compilerOptions.emitDecoratorMetadata
  • jsc.keepClassNames: when decorator is enabled, because original class name is required by libs like type-graphql to generate correct graphql type

If you wish to disable this behavior and use .swcrc to control above jsc options, you can use tsconfigFile option:

// Or swc.rollup
swc.vite({
  tsconfigFile: false,
})

// It's also possible to use a custom tsconfig file instead of tsconfig.json
swc.vite({
  tsconfigFile: "./tsconfig.build.json",
})

Minification

Use the minify: true option, it only works for Rollup as Vite uses esbuild to minify the code and cannot be changed.

To have advanced control over the minification process, use jsc.minify option in .swcrc.

Vite

esbuild will be automatically disabled if you use this plugin.

Options

This plugin accepts all @swc/core options, except for jsc which should be configured in .swcrc instead, and some extra options that are specific to this plugin:

options.tsconfigFile

  • Type: boolean, string
  • Default: tsconfig.json

Disable the use of tsconfig file or specify a custom one.

options.include

  • Type: RegExp
  • Default: /\.[jt]sx?$/

Files to include in the transpilation process.

options.exclude

  • Type: RegExp
  • Default: /node_modules/

Files to exclude in the transpilation process.

options.jsc

  • Type: object

Custom jsc options to merge with the default one.

Sponsors

sponsors

License

MIT © EGOIST

FAQs

Package last updated on 23 Aug 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc