1.0.3 • Published 10 months ago

@zscreate/postcss-uniapp-tailwindcss-compatible v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

PostCSS Uniapp Tailwindcss

PostCSS 在uniapp中使用tailwindcss兼容postcss7

/* Input example */

.foo {
  width: 2px;
  height: 1rem;
}

.w-1\/2,
.w-0\.5 {
}
/* Output example */
.foo {
  width: 4rpx;
  height: 32rpx;
}

.w-1_2,
.w-0-5 {
}

Usage

Step 1: Install plugin:

npm install --save-dev postcss postcss-uniapp-tailwindcss-compatible

Step 2: Check you project for existed PostCSS config: postcss.config.js in the project root, "postcss" section in package.json or postcss in bundle config.

If you do not use PostCSS, add it according to official docs and set this plugin in settings.

Step 3: Add the plugin to plugins list:

module.exports = {
  plugins: [
+   require('tailwindcss'),
+   require('postcss-uniapp-tailwindcss-compatible'),
    require('autoprefixer')
  ]
}

Options

default options:

{
  platform: 'mp',
  units: {
    px2rem: 0.25,
    px2rpx: 2,
    rem2rpx: 32,
    px2pt: 0.22,
    rpx2pt: 0.75,
    rem2pt: 28.125,
    'vw2%': 1,
    'vh2%': 1
  },
  unitIgnore: {
    selector: [],
    prop: [/^border-.*?width$/],
    value: []
  },
  unitGroup: {
    h5: ['px2rem'],
    mp: ['px2rpx', 'rem2rpx'],
    native: ['px2pt', 'rem2pt', 'rpx2pt', 'vw2%', 'vh2%']
  },
  selectorRules: [
    {
      pattern:
        /(\.[\S]+?(?<!>))\s?>\s?:not\(\[(hidden|template)\]\)\s?~\s?:not\(\[(hidden|template)\]\)/g,
      replacement: '$1 > view + view',
    },
    // .2xl
    {
      pattern: /\.\\/g,
      replacement: '._',
    },
    // *
    {
      pattern: /^\*$/,
      replacement: 'page',
    },
    // hover:w-1
    {
      pattern: /\\:/g,
      replacement: '_',
    },
    // w-1/2
    {
      pattern: /\\\//g,
      replacement: '_',
    },
    // w-0.5
    {
      pattern: /\\\./g,
      replacement: '-',
    },
  ]
}
optiontypedescription
unitsobjectunit conversion scale
unitIgnoreobjectDo not convert unit rules
unitIgnore.selector[]regex|stringDo not convert declaration's parent selector
unitIgnore.prop[]regex|stringDo not convert declaration's prop
unitIgnore.value[]regex|stringDo not convert declaration's value
unitGroupobjectunit group by platform
selectorRulesarrayselector replace rules
selectorRules[].patternregex|stringselector replace pattern
selectorRules[].replacementstringselector replace replacement

thanks