Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
touchx
uni-app
提交
d495867b
U
uni-app
项目概览
touchx
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d495867b
编写于
11月 14, 2022
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: @vue/component-compiler-utils support postcss8
上级
ace3289a
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
174 addition
and
120 deletion
+174
-120
packages/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/dist/stylePlugins/remove-scoped.js
...mponent-compiler-utils/dist/stylePlugins/remove-scoped.js
+22
-4
packages/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/dist/stylePlugins/scoped.js
...@vue/component-compiler-utils/dist/stylePlugins/scoped.js
+119
-101
packages/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/dist/stylePlugins/trim.js
...s/@vue/component-compiler-utils/dist/stylePlugins/trim.js
+33
-15
未找到文件。
packages/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/dist/stylePlugins/remove-scoped.js
浏览文件 @
d495867b
"
use strict
"
;
"
use strict
"
;
var
__importStar
=
(
this
&&
this
.
__importStar
)
||
function
(
mod
)
{
var
__importStar
=
(
this
&&
this
.
__importStar
)
||
function
(
mod
)
{
if
(
mod
&&
mod
.
__esModule
)
return
mod
;
if
(
mod
&&
mod
.
__esModule
)
return
mod
;
var
result
=
{};
var
result
=
{};
if
(
mod
!=
null
)
if
(
mod
!=
null
)
...
@@ -14,8 +14,8 @@ Object.defineProperty(exports, "__esModule", {
...
@@ -14,8 +14,8 @@ Object.defineProperty(exports, "__esModule", {
const
postcss
=
__importStar
(
require
(
"
postcss
"
));
const
postcss
=
__importStar
(
require
(
"
postcss
"
));
// postcss-selector-parser does have typings but it's problematic to work with.
// postcss-selector-parser does have typings but it's problematic to work with.
const
selectorParser
=
require
(
'
postcss-selector-parser
'
);
const
selectorParser
=
require
(
'
postcss-selector-parser
'
);
exports
.
default
=
postcss
.
plugin
(
'
remove-scoped
'
,
(
options
)
=>
(
root
)
=>
{
const
once
=
(
root
)
=>
{
root
.
each
(
function
rewriteSelector
(
node
)
{
root
.
each
(
function
rewriteSelector
(
node
)
{
if
(
!
node
.
selector
)
{
if
(
!
node
.
selector
)
{
// handle media queries
// handle media queries
if
(
node
.
type
===
'
atrule
'
)
{
if
(
node
.
type
===
'
atrule
'
)
{
...
@@ -58,4 +58,22 @@ exports.default = postcss.plugin('remove-scoped', (options) => (root) => {
...
@@ -58,4 +58,22 @@ exports.default = postcss.plugin('remove-scoped', (options) => (root) => {
});
});
}).
processSync
(
node
.
selector
);
}).
processSync
(
node
.
selector
);
});
});
});
};
const
version
=
Number
(
require
(
'
postcss/package.json
'
).
version
.
split
(
'
.
'
)[
0
])
if
(
version
<
8
)
{
const
postcss
=
require
(
'
postcss
'
)
module
.
exports
=
postcss
.
plugin
(
'
remove-scoped
'
,
function
(
opts
)
{
return
once
})
}
else
{
module
.
exports
=
function
(
opts
)
{
return
{
postcssPlugin
:
'
remove-scoped
'
,
Once
:
once
}
}
module
.
exports
.
postcss
=
true
}
packages/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/dist/stylePlugins/scoped.js
浏览文件 @
d495867b
"
use strict
"
;
"
use strict
"
;
var
__importStar
=
(
this
&&
this
.
__importStar
)
||
function
(
mod
)
{
var
__importStar
=
(
this
&&
this
.
__importStar
)
||
function
(
mod
)
{
if
(
mod
&&
mod
.
__esModule
)
return
mod
;
if
(
mod
&&
mod
.
__esModule
)
return
mod
;
var
result
=
{};
var
result
=
{};
if
(
mod
!=
null
)
for
(
var
k
in
mod
)
if
(
Object
.
hasOwnProperty
.
call
(
mod
,
k
))
result
[
k
]
=
mod
[
k
];
if
(
mod
!=
null
)
for
(
var
k
in
mod
)
if
(
Object
.
hasOwnProperty
.
call
(
mod
,
k
))
result
[
k
]
=
mod
[
k
];
result
[
"
default
"
]
=
mod
;
result
[
"
default
"
]
=
mod
;
return
result
;
return
result
;
};
};
Object
.
defineProperty
(
exports
,
"
__esModule
"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"
__esModule
"
,
{
value
:
true
});
const
postcss
=
__importStar
(
require
(
"
postcss
"
));
const
postcss
=
__importStar
(
require
(
"
postcss
"
));
// postcss-selector-parser does have typings but it's problematic to work with.
// postcss-selector-parser does have typings but it's problematic to work with.
const
selectorParser
=
require
(
'
postcss-selector-parser
'
);
const
selectorParser
=
require
(
'
postcss-selector-parser
'
);
exports
.
default
=
postcss
.
plugin
(
'
add-id
'
,
(
options
)
=>
(
root
)
=>
{
const
once
=
(
options
)
=>
(
root
)
=>
{
const
id
=
options
;
const
id
=
options
;
const
keyframes
=
Object
.
create
(
null
);
const
keyframes
=
Object
.
create
(
null
);
root
.
each
(
function
rewriteSelector
(
node
)
{
root
.
each
(
function
rewriteSelector
(
node
)
{
if
(
!
node
.
selector
)
{
if
(
!
node
.
selector
)
{
// handle media queries
// handle media queries
if
(
node
.
type
===
'
atrule
'
)
{
if
(
node
.
type
===
'
atrule
'
)
{
if
(
node
.
name
===
'
media
'
||
node
.
name
===
'
supports
'
)
{
if
(
node
.
name
===
'
media
'
||
node
.
name
===
'
supports
'
)
{
node
.
each
(
rewriteSelector
);
node
.
each
(
rewriteSelector
);
}
else
if
(
/-
?
keyframes$/
.
test
(
node
.
name
))
{
// register keyframes
keyframes
[
node
.
params
]
=
node
.
params
=
node
.
params
+
'
-
'
+
id
;
}
}
return
;
}
}
node
.
selector
=
selectorParser
((
selectors
)
=>
{
else
if
(
/-
?
keyframes$/
.
test
(
node
.
name
))
{
selectors
.
each
((
selector
)
=>
{
// register keyframes
let
node
=
null
;
keyframes
[
node
.
params
]
=
node
.
params
=
node
.
params
+
'
-
'
+
id
;
// find the last child node to insert attribute selector
}
selector
.
each
((
n
)
=>
{
}
// ">>>" combinator
return
;
// and /deep/ alias for >>>, since >>> doesn't work in SASS
}
if
(
n
.
type
===
'
combinator
'
&&
node
.
selector
=
selectorParser
((
selectors
)
=>
{
(
n
.
value
===
'
>>>
'
||
n
.
value
===
'
/deep/
'
))
{
selectors
.
each
((
selector
)
=>
{
n
.
value
=
'
'
;
let
node
=
null
;
n
.
spaces
.
before
=
n
.
spaces
.
after
=
''
;
// find the last child node to insert attribute selector
return
false
;
selector
.
each
((
n
)
=>
{
}
// ">>>" combinator
// in newer versions of sass, /deep/ support is also dropped, so add a ::v-deep alias
// and /deep/ alias for >>>, since >>> doesn't work in SASS
if
(
n
.
type
===
'
pseudo
'
&&
n
.
value
===
'
::v-deep
'
)
{
if
(
n
.
type
===
'
combinator
'
&&
n
.
value
=
n
.
spaces
.
before
=
n
.
spaces
.
after
=
''
;
(
n
.
value
===
'
>>>
'
||
n
.
value
===
'
/deep/
'
))
{
return
false
;
n
.
value
=
'
'
;
}
n
.
spaces
.
before
=
n
.
spaces
.
after
=
''
;
if
(
n
.
type
!==
'
pseudo
'
&&
n
.
type
!==
'
combinator
'
)
{
return
false
;
node
=
n
;
}
}
// in newer versions of sass, /deep/ support is also dropped, so add a ::v-deep alias
});
if
(
n
.
type
===
'
pseudo
'
&&
n
.
value
===
'
::v-deep
'
)
{
if
(
node
)
{
n
.
value
=
n
.
spaces
.
before
=
n
.
spaces
.
after
=
''
;
node
.
spaces
.
after
=
''
;
return
false
;
}
}
else
{
if
(
n
.
type
!==
'
pseudo
'
&&
n
.
type
!==
'
combinator
'
)
{
// For deep selectors & standalone pseudo selectors,
node
=
n
;
// the attribute selectors are prepended rather than appended.
}
// So all leading spaces must be eliminated to avoid problems.
});
selector
.
first
.
spaces
.
before
=
''
;
if
(
node
)
{
}
node
.
spaces
.
after
=
''
;
// fixed by xxxxxx (h5,app-plus v3 平台继续使用 attribute,其他平台使用 className)
}
if
(
else
{
process
.
env
.
UNI_PLATFORM
===
'
h5
'
||
// For deep selectors & standalone pseudo selectors,
(
// the attribute selectors are prepended rather than appended.
process
.
env
.
UNI_PLATFORM
===
'
app-plus
'
&&
// So all leading spaces must be eliminated to avoid problems.
process
.
env
.
UNI_USING_V3
selector
.
first
.
spaces
.
before
=
''
;
)
}
){
// fixed by xxxxxx (h5,app-plus v3 平台继续使用 attribute,其他平台使用 className)
selector
.
insertAfter
(
node
,
selectorParser
.
attribute
({
if
(
attribute
:
id
process
.
env
.
UNI_PLATFORM
===
'
h5
'
||
}));
(
}
else
{
process
.
env
.
UNI_PLATFORM
===
'
app-plus
'
&&
selector
.
insertAfter
(
node
,
selectorParser
.
className
({
process
.
env
.
UNI_USING_V3
value
:
id
)
}));
)
{
}
selector
.
insertAfter
(
node
,
selectorParser
.
attribute
({
});
attribute
:
id
}).
processSync
(
node
.
selector
);
}));
});
}
else
{
// If keyframes are found in this <style>, find and rewrite animation names
selector
.
insertAfter
(
node
,
selectorParser
.
className
({
// in declarations.
value
:
id
// Caveat: this only works for keyframes and animation rules in the same
}));
// <style> element.
}
if
(
Object
.
keys
(
keyframes
).
length
)
{
});
root
.
walkDecls
(
decl
=>
{
}).
processSync
(
node
.
selector
);
// individual animation-name declaration
});
if
(
/^
(
-
\w
+-
)?
animation-name$/
.
test
(
decl
.
prop
))
{
// If keyframes are found in this <style>, find and rewrite animation names
decl
.
value
=
decl
.
value
// in declarations.
.
split
(
'
,
'
)
// Caveat: this only works for keyframes and animation rules in the same
.
map
(
v
=>
keyframes
[
v
.
trim
()]
||
v
.
trim
())
// <style> element.
.
join
(
'
,
'
);
if
(
Object
.
keys
(
keyframes
).
length
)
{
root
.
walkDecls
(
decl
=>
{
// individual animation-name declaration
if
(
/^
(
-
\w
+-
)?
animation-name$/
.
test
(
decl
.
prop
))
{
decl
.
value
=
decl
.
value
.
split
(
'
,
'
)
.
map
(
v
=>
keyframes
[
v
.
trim
()]
||
v
.
trim
())
.
join
(
'
,
'
);
}
// shorthand
if
(
/^
(
-
\w
+-
)?
animation$/
.
test
(
decl
.
prop
))
{
decl
.
value
=
decl
.
value
.
split
(
'
,
'
)
.
map
(
v
=>
{
const
vals
=
v
.
trim
().
split
(
/
\s
+/
);
const
i
=
vals
.
findIndex
(
val
=>
keyframes
[
val
]);
if
(
i
!==
-
1
)
{
vals
.
splice
(
i
,
1
,
keyframes
[
vals
[
i
]]);
return
vals
.
join
(
'
'
);
}
}
// shorthand
else
{
if
(
/^
(
-
\w
+-
)?
animation$/
.
test
(
decl
.
prop
))
{
return
v
;
decl
.
value
=
decl
.
value
.
split
(
'
,
'
)
.
map
(
v
=>
{
const
vals
=
v
.
trim
().
split
(
/
\s
+/
);
const
i
=
vals
.
findIndex
(
val
=>
keyframes
[
val
]);
if
(
i
!==
-
1
)
{
vals
.
splice
(
i
,
1
,
keyframes
[
vals
[
i
]]);
return
vals
.
join
(
'
'
);
}
else
{
return
v
;
}
})
.
join
(
'
,
'
);
}
}
});
})
.
join
(
'
,
'
);
}
});
}
};
const
version
=
Number
(
require
(
'
postcss/package.json
'
).
version
.
split
(
'
.
'
)[
0
])
if
(
version
<
8
)
{
const
postcss
=
require
(
'
postcss
'
)
module
.
exports
=
postcss
.
plugin
(
'
add-id
'
,
function
(
opts
)
{
return
once
(
opts
)
})
}
else
{
module
.
exports
=
function
(
opts
)
{
return
{
postcssPlugin
:
'
add-id
'
,
Once
:
once
(
opts
)
}
}
});
}
module
.
exports
.
postcss
=
true
}
packages/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/dist/stylePlugins/trim.js
浏览文件 @
d495867b
"
use strict
"
;
"
use strict
"
;
var
__importStar
=
(
this
&&
this
.
__importStar
)
||
function
(
mod
)
{
var
__importStar
=
(
this
&&
this
.
__importStar
)
||
function
(
mod
)
{
if
(
mod
&&
mod
.
__esModule
)
return
mod
;
if
(
mod
&&
mod
.
__esModule
)
return
mod
;
var
result
=
{};
var
result
=
{};
if
(
mod
!=
null
)
for
(
var
k
in
mod
)
if
(
Object
.
hasOwnProperty
.
call
(
mod
,
k
))
result
[
k
]
=
mod
[
k
];
if
(
mod
!=
null
)
for
(
var
k
in
mod
)
if
(
Object
.
hasOwnProperty
.
call
(
mod
,
k
))
result
[
k
]
=
mod
[
k
];
result
[
"
default
"
]
=
mod
;
result
[
"
default
"
]
=
mod
;
return
result
;
return
result
;
};
};
Object
.
defineProperty
(
exports
,
"
__esModule
"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"
__esModule
"
,
{
value
:
true
});
const
postcss
=
__importStar
(
require
(
"
postcss
"
));
const
postcss
=
__importStar
(
require
(
"
postcss
"
));
exports
.
default
=
postcss
.
plugin
(
'
trim
'
,
()
=>
(
css
)
=>
{
const
once
=
(
css
)
=>
{
css
.
walk
(({
type
,
raws
})
=>
{
css
.
walk
(({
type
,
raws
})
=>
{
if
(
type
===
'
rule
'
||
type
===
'
atrule
'
)
{
if
(
type
===
'
rule
'
||
type
===
'
atrule
'
)
{
if
(
raws
.
before
)
if
(
raws
.
before
)
raws
.
before
=
'
\n
'
;
raws
.
before
=
'
\n
'
;
if
(
raws
.
after
)
if
(
raws
.
after
)
raws
.
after
=
'
\n
'
;
raws
.
after
=
'
\n
'
;
}
}
});
});
});
};
const
version
=
Number
(
require
(
'
postcss/package.json
'
).
version
.
split
(
'
.
'
)[
0
])
if
(
version
<
8
)
{
const
postcss
=
require
(
'
postcss
'
)
module
.
exports
=
postcss
.
plugin
(
'
trim
'
,
function
(
opts
)
{
return
once
})
}
else
{
module
.
exports
=
function
(
opts
)
{
return
{
postcssPlugin
:
'
trim
'
,
Once
:
once
}
}
module
.
exports
.
postcss
=
true
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录