From 44a5b6f7c66f345e77ecc02fb3db69a2c2118dde Mon Sep 17 00:00:00 2001 From: iamlinsfans <57242900+iamlinsfans@users.noreply.github.com> Date: Fri, 9 Sep 2022 15:21:21 +0800 Subject: [PATCH] =?UTF-8?q?fix(postcss):=20pxtransform=20baseFontSize=20?= =?UTF-8?q?=E5=8F=96=E5=80=BC=E9=97=AE=E9=A2=98=20(#12460)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 林纪莹 Co-authored-by: Zakary --- packages/postcss-pxtransform/__tests__/index.test.js | 7 +++++++ packages/postcss-pxtransform/index.js | 2 +- packages/taro-webpack-runner/src/util/index.ts | 2 +- .../taro-webpack5-runner/src/webpack/H5WebpackPlugin.ts | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/postcss-pxtransform/__tests__/index.test.js b/packages/postcss-pxtransform/__tests__/index.test.js index 5b1c7e7ea563..c01e5c7ad8dc 100644 --- a/packages/postcss-pxtransform/__tests__/index.test.js +++ b/packages/postcss-pxtransform/__tests__/index.test.js @@ -72,6 +72,13 @@ describe('px2rem', function () { expect(processed).toBe(expected) }) + + it('8 should work on custom baseFontSize', function () { + const processed = postcss(px2rem({ platform: 'h5', baseFontSize: 15 })).process(basicCSS).css + const expected = '.rule { font-size: 0.5rem }' + + expect(processed).toBe(expected) + }) }) describe('value parsing', function () { diff --git a/packages/postcss-pxtransform/index.js b/packages/postcss-pxtransform/index.js index 417c73c0ff53..b9e95e5e5dcd 100644 --- a/packages/postcss-pxtransform/index.js +++ b/packages/postcss-pxtransform/index.js @@ -41,7 +41,7 @@ module.exports = postcss.plugin('postcss-pxtransform', function (options = {}) { options = Object.assign({}, DEFAULT_WEAPP_OPTIONS, options) const transUnits = ['px'] - const baseFontSize = options.baseFontSize || options.minRootSize >= 1 ? options.minRootSize : 20 + const baseFontSize = options.baseFontSize || (options.minRootSize >= 1 ? options.minRootSize : 20) const designWidth = input => typeof options.designWidth === 'function' ? options.designWidth(input) : options.designWidth diff --git a/packages/taro-webpack-runner/src/util/index.ts b/packages/taro-webpack-runner/src/util/index.ts index 35e7e980c24d..798f6a4bf64a 100644 --- a/packages/taro-webpack-runner/src/util/index.ts +++ b/packages/taro-webpack-runner/src/util/index.ts @@ -48,7 +48,7 @@ export function parseHtmlScript (pxtransformOption: IPostcssOption['pxtransform' const options = pxtransformOption?.config || {} const max = options?.maxRootSize ?? 40 const min = options?.minRootSize ?? 20 - const baseFontSize = options?.baseFontSize || min > 1 ? min : 20 + const baseFontSize = options?.baseFontSize || (min > 1 ? min : 20) const designWidth = (input => typeof options.designWidth === 'function' ? options.designWidth(input) : options.designWidth)(baseFontSize) diff --git a/packages/taro-webpack5-runner/src/webpack/H5WebpackPlugin.ts b/packages/taro-webpack5-runner/src/webpack/H5WebpackPlugin.ts index 5cf7595400f3..3d2cfff7ff0b 100644 --- a/packages/taro-webpack5-runner/src/webpack/H5WebpackPlugin.ts +++ b/packages/taro-webpack5-runner/src/webpack/H5WebpackPlugin.ts @@ -83,7 +83,7 @@ export class H5WebpackPlugin { const options = this.pxtransformOption?.config || {} const max = options?.maxRootSize ?? 40 const min = options?.minRootSize ?? 20 - const baseFontSize = options?.baseFontSize || min > 1 ? min : 20 + const baseFontSize = options?.baseFontSize || (min > 1 ? min : 20) const designWidth = (input => typeof options.designWidth === 'function' ? options.designWidth(input) : options.designWidth)(baseFontSize)