@name 判断是否存在"engines",并且判断 get.nodejs_version 是否在大于等于"engines"中的node版本
(self, get)
| 1019 | |
| 1020 | # 2024/7/12 上午10:40 检测node版本是否符合要求 |
| 1021 | def check_node_version(self, get): |
| 1022 | ''' |
| 1023 | @name 判断是否存在"engines",并且判断 get.nodejs_version 是否在大于等于"engines"中的node版本 |
| 1024 | ''' |
| 1025 | if "engines" in get.package_info: |
| 1026 | if "node" in get.package_info["engines"]: |
| 1027 | # 2024/7/12 上午10:24 获取engines的数学符号 |
| 1028 | get_nodejs_version = self.version_key(get.nodejs_version) |
| 1029 | if ">=" in get.package_info["engines"]["node"]: |
| 1030 | engines_node_version = get.package_info["engines"]["node"].replace(">=", "v").strip() |
| 1031 | engines_node_version = self.version_key(engines_node_version) |
| 1032 | if get_nodejs_version < engines_node_version: |
| 1033 | self.ws_err_exit(False, '当前项目【{}】要求使用【{}】以上的node版本'.format( |
| 1034 | get.project_name, |
| 1035 | "v" + ".".join(map(str, engines_node_version))), code=2) |
| 1036 | elif ">" in get.package_info["engines"]["node"]: |
| 1037 | engines_node_version = get.package_info["engines"]["node"].replace(">", "v").strip() |
| 1038 | engines_node_version = self.version_key(engines_node_version) |
| 1039 | if get_nodejs_version <= engines_node_version: |
| 1040 | self.ws_err_exit(False, '当前项目【{}】要求使用【{}】以上的node版本'.format( |
| 1041 | get.project_name, |
| 1042 | "v" + ".".join(map(str, engines_node_version))), code=2) |
| 1043 | elif "<=" in get.package_info["engines"]["node"]: |
| 1044 | engines_node_version = get.package_info["engines"]["node"].replace("<=", "v").strip() |
| 1045 | engines_node_version = self.version_key(engines_node_version) |
| 1046 | if get_nodejs_version > engines_node_version: |
| 1047 | self.ws_err_exit(False, '当前项目【{}】要求使用【{}】以下的node版本'.format( |
| 1048 | get.project_name, |
| 1049 | "v" + ".".join(map(str, engines_node_version))), code=2) |
| 1050 | elif "<" in get.package_info["engines"]["node"]: |
| 1051 | engines_node_version = get.package_info["engines"]["node"].replace("<", "v").strip() |
| 1052 | engines_node_version = self.version_key(engines_node_version) |
| 1053 | if get_nodejs_version >= engines_node_version: |
| 1054 | self.ws_err_exit(False, '当前项目【{}】要求使用【{}】以下的node版本'.format( |
| 1055 | get.project_name, |
| 1056 | "v" + ".".join(map(str, engines_node_version))), code=2) |
| 1057 | elif "==" in get.package_info["engines"]["node"]: |
| 1058 | engines_node_version = get.package_info["engines"]["node"].replace("==", "v").strip() |
| 1059 | engines_node_version = self.version_key(engines_node_version) |
| 1060 | if get_nodejs_version != engines_node_version: |
| 1061 | self.ws_err_exit(False, '当前项目【{}】要求使用【{}】的node版本'.format( |
| 1062 | get.project_name, |
| 1063 | "v" + ".".join(map(str, engines_node_version))), code=2) |
| 1064 | |
| 1065 | def replace_or_add_field(self, config_body, regex, field): |
| 1066 | if regex.search(config_body): |
no test coverage detected