提交 bf9c5a3a 编写于 作者: fxy060608's avatar fxy060608

fix(css): preprocess

上级 463c43f1
...@@ -5799,13 +5799,9 @@ export default function vueFactory(exports) { ...@@ -5799,13 +5799,9 @@ export default function vueFactory(exports) {
var kebabKey; var kebabKey;
for (var _key6 in rawCurrentProps) { for (var _key6 in rawCurrentProps) {
if (!rawProps || // for camelCase if (!rawProps || !hasOwn(rawProps, _key6) && ((kebabKey = hyphenate(_key6)) === _key6 || !hasOwn(rawProps, kebabKey))) {
!hasOwn(rawProps, _key6) && ( // it's possible the original props was passed in as kebab-case
// and converted to camelCase (#955)
(kebabKey = hyphenate(_key6)) === _key6 || !hasOwn(rawProps, kebabKey))) {
if (options) { if (options) {
if (rawPrevProps && ( // for camelCase if (rawPrevProps && (rawPrevProps[_key6] !== undefined || // for kebab-case
rawPrevProps[_key6] !== undefined || // for kebab-case
rawPrevProps[kebabKey] !== undefined)) { rawPrevProps[kebabKey] !== undefined)) {
props[_key6] = resolvePropValue(options, rawCurrentProps, _key6, undefined, instance, true props[_key6] = resolvePropValue(options, rawCurrentProps, _key6, undefined, instance, true
/* isAbsent */ /* isAbsent */
...@@ -7629,9 +7625,7 @@ export default function vueFactory(exports) { ...@@ -7629,9 +7625,7 @@ export default function vueFactory(exports) {
var container = // oldVNode may be an errored async setup() component inside Suspense var container = // oldVNode may be an errored async setup() component inside Suspense
// which will not have a mounted element // which will not have a mounted element
oldVNode.el && ( // - In the case of a Fragment, we need to provide the actual parent oldVNode.el && (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
// of the Fragment itself so it can move its children.
oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
// which also requires the correct parent container // which also requires the correct parent container
!isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything. !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.
oldVNode.shapeFlag & 6 oldVNode.shapeFlag & 6
...@@ -8473,8 +8467,7 @@ export default function vueFactory(exports) { ...@@ -8473,8 +8467,7 @@ export default function vueFactory(exports) {
/* TELEPORT */ /* TELEPORT */
) { ) {
vnode.type.remove(vnode, parentComponent, parentSuspense, optimized, internals, doRemove); vnode.type.remove(vnode, parentComponent, parentSuspense, optimized, internals, doRemove);
} else if (dynamicChildren && ( // #1153: fast path should not be taken for non-stable (v-for) fragments } else if (dynamicChildren && (type !== Fragment || patchFlag > 0 && patchFlag & 64
type !== Fragment || patchFlag > 0 && patchFlag & 64
/* STABLE_FRAGMENT */ /* STABLE_FRAGMENT */
)) { )) {
// fast path for block nodes: only need to unmount dynamic children. // fast path for block nodes: only need to unmount dynamic children.
...@@ -9381,11 +9374,7 @@ export default function vueFactory(exports) { ...@@ -9381,11 +9374,7 @@ export default function vueFactory(exports) {
if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
!isBlockNode && // has current parent block !isBlockNode && // has current parent block
currentBlock && ( // presence of a patch flag indicates this node needs patching on updates. currentBlock && (patchFlag > 0 || shapeFlag & 6
// component nodes also should always be patched, because even if the
// component doesn't need to update, it needs to persist the instance on to
// the next vnode so that it can be properly unmounted later.
patchFlag > 0 || shapeFlag & 6
/* COMPONENT */ /* COMPONENT */
) && // the EVENTS flag is only for hydration and if it is the only flag, the ) && // the EVENTS flag is only for hydration and if it is the only flag, the
// vnode should not be considered dynamic due to handler caching. // vnode should not be considered dynamic due to handler caching.
...@@ -9920,8 +9909,7 @@ export default function vueFactory(exports) { ...@@ -9920,8 +9909,7 @@ export default function vueFactory(exports) {
/* CONTEXT */ /* CONTEXT */
; ;
return ctx[key]; return ctx[key];
} else if ( // window properties } else if (globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)) {
globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)) {
{ {
return globalProperties[key]; return globalProperties[key];
} }
......
...@@ -33,7 +33,7 @@ const uniPrePluginOptions: Partial<UniPluginFilterOptions> = { ...@@ -33,7 +33,7 @@ const uniPrePluginOptions: Partial<UniPluginFilterOptions> = {
exclude: [...COMMON_EXCLUDE, UNI_H5_RE], exclude: [...COMMON_EXCLUDE, UNI_H5_RE],
} }
const uniPreCssPluginOptions: Partial<UniPluginFilterOptions> = { const uniPreCssPluginOptions: Partial<UniPluginFilterOptions> = {
exclude: [UNI_H5_RE], exclude: [...COMMON_EXCLUDE, UNI_H5_RE],
} }
const uniEasycomPluginOptions: Partial<UniPluginFilterOptions> = { const uniEasycomPluginOptions: Partial<UniPluginFilterOptions> = {
......
...@@ -7,7 +7,7 @@ import { UniPluginFilterOptions } from '.' ...@@ -7,7 +7,7 @@ import { UniPluginFilterOptions } from '.'
const debugPre = debug('vite:uni:pre-css') const debugPre = debug('vite:uni:pre-css')
const debugPreTry = debug('vite:uni:pre-css-try') const debugPreTry = debug('vite:uni:pre-css-try')
const cssLangs = `\\.(less|sass|scss|styl|stylus|postcss)($|\\?)` const cssLangs = `\\.(css|less|sass|scss|styl|stylus|postcss)($|\\?)`
const cssLangRE = new RegExp(cssLangs) const cssLangRE = new RegExp(cssLangs)
/** /**
* preprocess css * preprocess css
...@@ -18,12 +18,12 @@ export function uniPreCssPlugin(options: UniPluginFilterOptions): Plugin { ...@@ -18,12 +18,12 @@ export function uniPreCssPlugin(options: UniPluginFilterOptions): Plugin {
return { return {
name: 'vite:uni-pre-css', name: 'vite:uni-pre-css',
transform(code, id) { transform(code, id) {
if (!filter(id)) {
return code
}
if (!cssLangRE.test(id)) { if (!cssLangRE.test(id)) {
return return
} }
if (!filter(id)) {
return code
}
debugPreTry(id) debugPreTry(id)
if (!code.includes('#endif')) { if (!code.includes('#endif')) {
return return
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册