From 8aa371380bfbc3a61d7da2ae1e7fd8387ce87f23 Mon Sep 17 00:00:00 2001 From: sorrycc Date: Wed, 17 Jan 2024 09:53:03 +0800 Subject: [PATCH] fix(bundler-okam): prefer use lessLoader.modifyVars than theme --- e2e/fixtures.umi/config.less.modifyVars/.umirc.ts | 11 +++++++++++ e2e/fixtures.umi/config.less.modifyVars/expect.js | 8 ++++++++ .../config.less.modifyVars/pages/index.less | 3 +++ .../config.less.modifyVars/pages/index.tsx | 3 +++ packages/bundler-okam/index.js | 2 +- 5 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 e2e/fixtures.umi/config.less.modifyVars/.umirc.ts create mode 100644 e2e/fixtures.umi/config.less.modifyVars/expect.js create mode 100644 e2e/fixtures.umi/config.less.modifyVars/pages/index.less create mode 100644 e2e/fixtures.umi/config.less.modifyVars/pages/index.tsx diff --git a/e2e/fixtures.umi/config.less.modifyVars/.umirc.ts b/e2e/fixtures.umi/config.less.modifyVars/.umirc.ts new file mode 100644 index 000000000..5c8ffb6a6 --- /dev/null +++ b/e2e/fixtures.umi/config.less.modifyVars/.umirc.ts @@ -0,0 +1,11 @@ +export default { + mfsu: false, + theme: { + '@primary-color': 'red', + }, + lessLoader: { + modifyVars: { + '@primary-color': 'blue', + }, + }, +}; diff --git a/e2e/fixtures.umi/config.less.modifyVars/expect.js b/e2e/fixtures.umi/config.less.modifyVars/expect.js new file mode 100644 index 000000000..ca4f2f9ab --- /dev/null +++ b/e2e/fixtures.umi/config.less.modifyVars/expect.js @@ -0,0 +1,8 @@ +const assert = require("assert"); +const { parseBuildResult, moduleReg } = require("../../../scripts/test-utils"); +const { files } = parseBuildResult(__dirname); + +let content = files["umi.css"]; +content = content.replace(/\s/g, ""); + +assert(content.includes(`color:blue;`), "should prefer less.modifyVars than config.theme"); diff --git a/e2e/fixtures.umi/config.less.modifyVars/pages/index.less b/e2e/fixtures.umi/config.less.modifyVars/pages/index.less new file mode 100644 index 000000000..4c9fbd82f --- /dev/null +++ b/e2e/fixtures.umi/config.less.modifyVars/pages/index.less @@ -0,0 +1,3 @@ +.a { + color: @primary-color; +} diff --git a/e2e/fixtures.umi/config.less.modifyVars/pages/index.tsx b/e2e/fixtures.umi/config.less.modifyVars/pages/index.tsx new file mode 100644 index 000000000..df2076c63 --- /dev/null +++ b/e2e/fixtures.umi/config.less.modifyVars/pages/index.tsx @@ -0,0 +1,3 @@ +import React from 'react'; +import './index.less'; +export default () =>
1
; diff --git a/packages/bundler-okam/index.js b/packages/bundler-okam/index.js index fe4b0c82b..622842253 100644 --- a/packages/bundler-okam/index.js +++ b/packages/bundler-okam/index.js @@ -67,7 +67,7 @@ exports.build = async function (opts) { config: opts.config, // NOTICE: 有个缺点是 如果 alias 配置是 mako 插件修改的 less 这边就感知到不了 alias: okamConfig.resolve.alias, - modifyVars: opts.config.theme, + modifyVars: opts.config.lessLoader?.modifyVars || opts.config.theme, sourceMap: getLessSourceMapConfig(okamConfig.devtool), }), },