Skip to content

Commit 1605d41

Browse files
committed
chore: mpx usage
1 parent 9907a13 commit 1605d41

File tree

3 files changed

+33
-37
lines changed
  • packages/weapp-tailwindcss/src/bundlers/webpack

3 files changed

+33
-37
lines changed

packages/weapp-tailwindcss/src/bundlers/webpack/BaseUnifiedPlugin/v4.ts

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { resolveOutputSpecifier, toAbsoluteOutputPath } from '../../shared/modul
1717
import { pushConcurrentTaskFactories } from '../../shared/run-tasks'
1818
import { applyTailwindcssCssImportRewrite } from '../shared/css-imports'
1919
import { createLoaderAnchorFinders } from '../shared/loader-anchors'
20-
import { ensureMpxTailwindcssAliases, isMpx, patchMpxLoaderResolve, setupMpxTailwindcssRedirect } from '../shared/mpx'
20+
import { ensureMpxTailwindcssAliases, injectMpxCssRewritePreRules, isMpx, patchMpxLoaderResolve, setupMpxTailwindcssRedirect } from '../shared/mpx'
2121
import { getCacheKey } from './shared'
2222

2323
const debug = createDebug()
@@ -120,26 +120,11 @@ export class UnifiedWebpackPluginV4 implements IBaseWebpackPlugin {
120120
: undefined
121121

122122
onLoad()
123-
if (shouldRewriteCssImports && this.appType === 'mpx') {
123+
if (shouldRewriteCssImports && isMpxApp) {
124124
ensureMpxTailwindcssAliases(compiler, weappTailwindcssPackageDir)
125125
}
126-
if (runtimeCssImportRewriteLoader && shouldRewriteCssImports && cssImportRewriteLoaderOptions && this.appType === 'mpx') {
127-
const moduleOptions = (compiler.options.module ??= { rules: [] as any })
128-
moduleOptions.rules = moduleOptions.rules || []
129-
const createRule = (match: { test?: RegExp, resourceQuery?: RegExp }) => ({
130-
...match,
131-
enforce: 'pre' as const,
132-
use: [
133-
{
134-
loader: runtimeCssImportRewriteLoader,
135-
options: cssImportRewriteLoaderOptions,
136-
},
137-
],
138-
})
139-
moduleOptions.rules.unshift(
140-
createRule({ resourceQuery: /type=styles/ }),
141-
createRule({ test: /\.css$/i }),
142-
)
126+
if (runtimeCssImportRewriteLoader && shouldRewriteCssImports && cssImportRewriteLoaderOptions && isMpxApp) {
127+
injectMpxCssRewritePreRules(compiler, runtimeCssImportRewriteLoader, cssImportRewriteLoaderOptions)
143128
}
144129
const createRuntimeClassSetLoaderEntry = () => ({
145130
loader: runtimeClassSetLoader,

packages/weapp-tailwindcss/src/bundlers/webpack/BaseUnifiedPlugin/v5.ts

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { resolveOutputSpecifier, toAbsoluteOutputPath } from '../../shared/modul
1616
import { pushConcurrentTaskFactories } from '../../shared/run-tasks'
1717
import { applyTailwindcssCssImportRewrite } from '../shared/css-imports'
1818
import { createLoaderAnchorFinders } from '../shared/loader-anchors'
19-
import { ensureMpxTailwindcssAliases, isMpx, patchMpxLoaderResolve, setupMpxTailwindcssRedirect } from '../shared/mpx'
19+
import { ensureMpxTailwindcssAliases, injectMpxCssRewritePreRules, isMpx, patchMpxLoaderResolve, setupMpxTailwindcssRedirect } from '../shared/mpx'
2020
import { getCacheKey } from './shared'
2121

2222
const debug = createDebug()
@@ -122,24 +122,9 @@ export class UnifiedWebpackPluginV5 implements IBaseWebpackPlugin {
122122
if (shouldRewriteCssImports && isMpxApp) {
123123
ensureMpxTailwindcssAliases(compiler, weappTailwindcssPackageDir)
124124
}
125-
if (runtimeCssImportRewriteLoader && shouldRewriteCssImports && cssImportRewriteLoaderOptions && this.appType === 'mpx') {
125+
if (runtimeCssImportRewriteLoader && shouldRewriteCssImports && cssImportRewriteLoaderOptions && isMpxApp) {
126126
// Ensure CSS files(如 app.css)在进入 postcss-import 前先被重写。
127-
const moduleOptions = (compiler.options.module ??= { rules: [] } as any)
128-
moduleOptions.rules = moduleOptions.rules || []
129-
const createRule = (match: { test?: RegExp, resourceQuery?: RegExp }) => ({
130-
...match,
131-
enforce: 'pre' as const,
132-
use: [
133-
{
134-
loader: runtimeCssImportRewriteLoader,
135-
options: cssImportRewriteLoaderOptions,
136-
},
137-
],
138-
})
139-
moduleOptions.rules.unshift(
140-
createRule({ resourceQuery: /type=styles/ }),
141-
createRule({ test: /\.css$/i }),
142-
)
127+
injectMpxCssRewritePreRules(compiler, runtimeCssImportRewriteLoader, cssImportRewriteLoaderOptions)
143128
}
144129
const createRuntimeClassSetLoaderEntry = () => ({
145130
loader: runtimeClassSetLoader,

packages/weapp-tailwindcss/src/bundlers/webpack/shared/mpx.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,29 @@ export function setupMpxTailwindcssRedirect(
6363
installTailwindcssCssRedirect(pkgDir)
6464
}
6565
}
66+
67+
export function injectMpxCssRewritePreRules(
68+
compiler: any,
69+
loader: string | undefined,
70+
loaderOptions: any,
71+
) {
72+
if (!loader) {
73+
return
74+
}
75+
const moduleOptions = (compiler.options.module ??= { rules: [] } as any)
76+
moduleOptions.rules = moduleOptions.rules || []
77+
const createRule = (match: { test?: RegExp, resourceQuery?: RegExp }) => ({
78+
...match,
79+
enforce: 'pre' as const,
80+
use: [
81+
{
82+
loader,
83+
options: loaderOptions,
84+
},
85+
],
86+
})
87+
moduleOptions.rules.unshift(
88+
createRule({ resourceQuery: /type=styles/ }),
89+
createRule({ test: /\.css$/i }),
90+
)
91+
}

0 commit comments

Comments
 (0)