Socket
Socket
Sign inDemoInstall

@unplugin-vue-ce/sub-style

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@unplugin-vue-ce/sub-style

A vue plugin that extends vue's Custom Element capabilities (sub component style)


Version published
Weekly downloads
1.8K
decreased by-11.75%
Maintainers
1
Weekly downloads
 
Created
Source

@unplugin-vue-ce/sub-style

The implementation principle of @unplugin-vue-ce/sub-style comes from vue/core pr #7942

Tips: ⚠ This plugin will inject the implementation code into the vue runtime, which is what I have to tell you. If you have any problems using it, please submit an issue

Snapshot

style.gif

Install

npm i @unplugin-vue-ce/sub-style

or

yarn add @unplugin-vue-ce/sub-style

or

pnpm add @unplugin-vue-ce/sub-style

Usage

Tips: You need to enable the customElement option of @vitejs/plugin-vue

Vite
// vite.config.ts
import { defineConfig } from 'vite'
import { viteVueCESubStyle } from '@unplugin-vue-ce/sub-style'
import vue from '@vitejs/plugin-vue'
import type { PluginOption } from 'vite'
export default defineConfig({
  plugins: [
    vue(),
    viteVueCESubStyle() as PluginOption,
  ],
})

Rollup
// rollup.config.js
import { rollupVueCESubStyle } from '@unplugin-vue-ce/sub-style'
export default {
  plugins: [
    rollupVueCESubStyle(),
  ],
}

Webpack
// webpack.config.js
module.exports = {
  /* ... */
  plugins: [
    require('@unplugin-vue-ce/sub-style').webpackVueCESubStyle(),
  ],
}

Vue CLI
// vue.config.js
module.exports = {
  configureWebpack: {
    plugins: [
      require('@unplugin-vue-ce/sub-style').webpackVueCESubStyle({}),
    ],
  },
}

ESBuild
// esbuild.config.js
import { build } from 'esbuild'
import { esbuildVueCESubStyle } from '@unplugin-vue-ce/sub-style'

build({
  plugins: [esbuildVueCESubStyle()],
})

ES module import css( experimental )

via: https://github.com/unplugin/unplugin-vue-ce/issues/118
@unplugin-vue-ce/sub-style Starting from version "1.0.0-beta.19", a new option isESCSS is added, which is turned off by default.
This is an experimental feature.

// vite.config.ts
import { defineConfig } from 'vite'
import { viteVueCESubStyle } from '@unplugin-vue-ce/sub-style'
import vue from '@vitejs/plugin-vue'
import type { PluginOption } from 'vite'
export default defineConfig({
  plugins: [
    vue(),
    viteVueCESubStyle({
      isESCSS: true,
    }) as PluginOption,
  ],
})

When isESCSS is turned on,@unplugin-vue-ce/sub-style will automatically move the css import part of the script block to the style block,
so that vue-plugin can compile its style. If you do not do this , it will be injected into the head of the document as a global style.

<template>
  <div>
    foo
  </div>
</template>

<script setup>
import './test.css'
</script>

transform result

<template>
  <div>
    foo
  </div>
</template>

<script setup>

</script>

<style lang="css">
  @import './test.css';
</style>

About Tailwind CSS

Since vue enables shadow dom by default, it will isolate the style, so you need to add the root component of each web component to add the reference style:

<!-- xxx.vue -->
<style>
    @tailwind base;
    @tailwind components;
    @tailwind utilities;
</style>

or (only vite)

<!-- xxx.vue -->
<script>
  import '@virtual:taiwind'
</script>

About Uno CSS

Only postcss plugins are supported (via: https://unocss.dev/integrations/postcss#install),
you need to add the root component of each web component to add the reference style:

<!-- xxx.vue -->
<style>
    @unocss preflights;
    @unocss default;
    @unocss;
</style>

or (only vite)

<!-- xxx.vue -->
<script>
  import '@virtual:uno'
</script>

About Windi CSS

Windi css is not supported Windi CSS is Sunsetting

Keywords

FAQs

Package last updated on 27 Mar 2024

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