!6591 api_check门禁工具-开启全量校验,修复继承标签继承场景误报

Merge pull request !6591 from fanjiaojiao/master
This commit is contained in:
openharmony_ci 2023-08-01 11:13:22 +00:00 committed by Gitee
commit 99e9ffa369
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 18 additions and 1155 deletions

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,7 @@ const urlSuffix = '/systemres/main/config.json';
exports.checkJSDoc = function (node, sourceFile, fileName) {
const checkLegality = require('./src/check_legality');
return checkLegality.checkJsDocOfCurrentNode(node, sourceFile, fileName, false);
return checkLegality.checkJsDocOfCurrentNode(node, sourceFile, fileName, false, false);
};
exports.initEnv = function (version) {

View File

@ -92,7 +92,7 @@ function checkAllNode(node, sourcefile, fileName) {
checkEventSubscription(node, sourcefile, fileName);
if (commentNodeWhiteList.includes(node.kind)) {
checkJSDoc(node, sourcefile, fileName, true);
checkJSDoc(node, sourcefile, fileName, true, false);
}
}
checkAnyInAPI(node, sourcefile, fileName);

View File

@ -71,9 +71,8 @@ function checkApiOrder(comments) {
}
exports.checkApiOrder = checkApiOrder;
function checkAPITagName(tag, node, sourcefile, fileName, JSDocIndec) {
let isIllegalTagWhitetFile = true;
isIllegalTagWhitetFile = isWhiteListFile(fileName, whiteLists.JSDocCheck.checkIllegalTag);
function checkAPITagName(tag, node, sourcefile, fileName, JSDocIndec, useWhitelist) {
let isIllegalTagWhitetFile = useWhitelist ? !isWhiteListFile(fileName, whiteLists.JSDocCheck.checkIllegalTag) : true;
const APITagNameResult = {
checkResult: true,
errorInfo: '',
@ -93,7 +92,7 @@ exports.checkAPITagName = checkAPITagName;
function checkParentInheritTag(node, inheritTag, inheritResult, JSocIndex) {
const parentTagArr = [];
if (ts.isSourceFile(node)) {
if (ts.isSourceFile(node.parent)) {
return inheritResult;
}
if (!ts.isModuleBlock(node.parent)) {
@ -116,9 +115,8 @@ function checkParentInheritTag(node, inheritTag, inheritResult, JSocIndex) {
return inheritResult;
}
function checkInheritTag(comment, node, sourcefile, fileName, JSocIndex) {
let isMissingTagWhitetFile = true;
isMissingTagWhitetFile = isWhiteListFile(fileName, whiteLists.JSDocCheck.checkMissingTag);
function checkInheritTag(comment, node, sourcefile, fileName, JSocIndex, useWhitelist) {
let isMissingTagWhitetFile = useWhitelist ? !isWhiteListFile(fileName, whiteLists.JSDocCheck.checkMissingTag) : true;
const inheritResult = {
checkResult: true,
errorInfo: '',

View File

@ -247,7 +247,7 @@ function checkTagValue(tag, index, node, fileName, errorLogs) {
}
}
function checkJsDocOfCurrentNode(node, sourcefile, fileName, isGuard) {
function checkJsDocOfCurrentNode(node, sourcefile, fileName, isGuard, useWhitelist) {
const checkInfoArray = [];
const lastComment = parseJsDoc(node).length > 0 ? [parseJsDoc(node).pop()] : [];
const comments = isGuard ? lastComment : parseJsDoc(node);
@ -259,10 +259,10 @@ function checkJsDocOfCurrentNode(node, sourcefile, fileName, isGuard) {
comments.forEach((comment, index) => {
const errorLogs = [];
// 继承校验
checkInheritTag(comment, node, sourcefile, fileName, index);
checkInheritTag(comment, node, sourcefile, fileName, index, useWhitelist);
// 值检验
comment.tags.forEach(tag => {
const checkAPIDecorator = checkAPITagName(tag, node, sourcefile, fileName, index);
const checkAPIDecorator = checkAPITagName(tag, node, sourcefile, fileName, index, useWhitelist);
if (!checkAPIDecorator.checkResult) {
errorLogs.push(checkAPIDecorator);
}
@ -281,15 +281,11 @@ function checkJsDocOfCurrentNode(node, sourcefile, fileName, isGuard) {
}
exports.checkJsDocOfCurrentNode = checkJsDocOfCurrentNode;
function checkJSDoc(node, sourcefile, fileName, isGuard) {
const verificationResult = checkJsDocOfCurrentNode(node, sourcefile, fileName, isGuard);
let isMissingTagWhitetFile = true;
let isIllegalTagWhitetFile = true;
let isOrderTagWhitetFile = true;
isMissingTagWhitetFile = isWhiteListFile(fileName, whiteLists.JSDocCheck.checkMissingTag);
isIllegalTagWhitetFile = isWhiteListFile(fileName, whiteLists.JSDocCheck.checkIllegalTag);
isOrderTagWhitetFile = isWhiteListFile(fileName, whiteLists.JSDocCheck.checkOrderResult);
function checkJSDoc(node, sourcefile, fileName, isGuard, useWhitelist) {
const verificationResult = checkJsDocOfCurrentNode(node, sourcefile, fileName, isGuard, useWhitelist);
let isMissingTagWhitetFile = useWhitelist ? !isWhiteListFile(fileName, whiteLists.JSDocCheck.checkMissingTag) : true;
let isIllegalTagWhitetFile = useWhitelist ? !isWhiteListFile(fileName, whiteLists.JSDocCheck.checkIllegalTag) : true;
let isOrderTagWhitetFile = useWhitelist ? !isWhiteListFile(fileName, whiteLists.JSDocCheck.checkOrderResult) : true;
verificationResult.forEach(item => {
let errorInfo = '';