1.0.1 • Published 3 years ago

postcss-uniapp-tailwindcss v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

PostCSS Uniapp Tailwindcss

PostCSS plugin use tailwindcss in uniapp.

/* 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

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'),
    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'
    },
    {
      pattern: /\\:(?!hover|focus)/g,
      replacement: '_'
    },
    {
      pattern: /\\\//g,
      replacement: '_'
    },
    {
      pattern: /\.\\/g,
      replacement: '._'
    },
    {
      pattern: /\\\./g,
      replacement: '_'
    },
    {
      pattern: /^\*$/,
      replacement: 'page'
    }
  ]
}
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