Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
Chameleon
提交
d03d2a1e
C
Chameleon
项目概览
DiDi
/
Chameleon
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Chameleon
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d03d2a1e
编写于
5月 16, 2019
作者:
K
kevinluohuan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
运行组件和通用标签上绑定通用事件
上级
94923b16
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
18 addition
and
8 deletion
+18
-8
packages/chameleon-linter/bin/cli.js
packages/chameleon-linter/bin/cli.js
+1
-1
packages/chameleon-linter/checkers/template/index.js
packages/chameleon-linter/checkers/template/index.js
+13
-6
packages/chameleon-linter/config/common-events.json
packages/chameleon-linter/config/common-events.json
+3
-0
packages/cml-htmllinter/lib/knife/is_common_events.js
packages/cml-htmllinter/lib/knife/is_common_events.js
+1
-1
未找到文件。
packages/chameleon-linter/bin/cli.js
浏览文件 @
d03d2a1e
#!/usr/bin/env node
// --inspect-brk
const
program
=
require
(
'
commander
'
);
const
packageJson
=
require
(
'
../package.json
'
);
const
main
=
require
(
'
../index
'
);
...
...
packages/chameleon-linter/checkers/template/index.js
浏览文件 @
d03d2a1e
const
jsAstParser
=
require
(
'
./lib/js-ast-parser
'
);
const
templateAstParser
=
require
(
'
./lib/template-ast-parser
'
);
const
jsonAstParser
=
require
(
'
./lib/json-ast-parser
'
);
const
commonEvents
=
require
(
'
../../config/common-events.json
'
);
class
TemplateChecker
{
...
...
@@ -49,10 +49,17 @@ class TemplateChecker {
if
(
usingComponents
[
compName
]
&&
usingComponents
[
compName
].
isCml
)
{
let
{
props
,
events
}
=
component
[
compName
];
let
{
props
:
usingProps
,
events
:
usingEvents
}
=
usingComponents
[
compName
];
usingProps
=
usingProps
.
map
((
prop
)
=>
prop
.
name
).
join
(
'
|
'
);
usingEvents
=
usingEvents
.
map
((
event
)
=>
event
.
name
).
join
(
'
|
'
);
props
.
filter
((
prop
)
=>
usingProps
.
indexOf
(
prop
.
name
)
===
-
1
).
forEach
((
prop
)
=>
{
usingProps
=
usingProps
.
map
((
prop
)
=>
prop
.
name
)
.
join
(
'
|
'
);
usingEvents
=
usingEvents
.
map
((
event
)
=>
event
.
name
)
.
concat
(
commonEvents
.
events
)
.
join
(
'
|
'
);
usingProps
=
`|
${
usingProps
}
|`
;
usingEvents
=
`|
${
usingEvents
}
|`
;
debugger
props
.
filter
((
prop
)
=>
usingProps
.
indexOf
(
'
|
'
+
prop
.
name
+
'
|
'
)
===
-
1
).
forEach
((
prop
)
=>
{
issues
.
push
({
line
:
prop
.
pos
[
0
],
column
:
prop
.
pos
[
1
],
...
...
@@ -61,7 +68,7 @@ class TemplateChecker {
});
});
events
.
filter
((
event
)
=>
usingEvents
.
indexOf
(
event
.
name
)
===
-
1
).
forEach
((
event
)
=>
{
events
.
filter
((
event
)
=>
usingEvents
.
indexOf
(
'
|
'
+
event
.
name
+
'
|
'
)
===
-
1
).
forEach
((
event
)
=>
{
issues
.
push
({
line
:
event
.
pos
[
0
],
column
:
event
.
pos
[
1
],
...
...
packages/chameleon-linter/config/common-events.json
0 → 100644
浏览文件 @
d03d2a1e
{
"events"
:
[
"tap"
,
"click"
,
"touchstart"
,
"touchmove"
,
"touchend"
]
}
\ No newline at end of file
packages/cml-htmllinter/lib/knife/is_common_events.js
浏览文件 @
d03d2a1e
const
commonEvents
=
[
'
tap
'
,
'
touchstart
'
,
'
touchmove
'
,
'
touchend
'
];
const
commonEvents
=
[
'
tap
'
,
'
click
'
,
'
touchstart
'
,
'
touchmove
'
,
'
touchend
'
];
module
.
exports
.
isCommonEvent
=
function
(
eventName
)
{
return
~
commonEvents
.
indexOf
(
eventName
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录