husky

京东扫描平台EOS—JS扫描落地与实践

十年热恋 提交于 2021-02-03 12:04:20
"程序是写给人读的,只是偶尔让计算机执行一下。—— Donald Knuth" 引言 随着前端应用的大型化和复杂化,越来越多的前端工程师和团队开始重视 JavaScript 代码规范。得益于前端开源社区的繁盛,当下已经有几种较为成熟的 JavaScript 代码规范检查工具,包括 JSLint、JSHint、ESLint、FECS 等等。EOS-JS,它是一款插件化的JavaScript 代码静态检查工具,具备全套的热修复、增量更新方案,集各类代码规范检查工具优势于一体,其核心是通过对代码解析得到的 AST(Abstract Syntax Tree,抽象语法树)进行模式匹配,定位不符合约定规范的代码、给出修改意见并支持一键修复,在降低维护成本、提升执行效率的同时,也保障了代码规范的统一。 为实现规范编码、提高编码质量,目前较为通用的是直接使用开源生态中提供的一些标准方案,可以用较低成本来实现 JavaScript 代码规范的落地。如果再搭配一些辅助工具(例如 husky 和 lint-staged),整个流程会更加顺畅。但是对于大型企业开发团队而言,数十人甚至上千人面对数万个工程,规模化地应用统一的 JavaScript 代码规范,并且有效落地执行,问题就会变得较为复杂。 痛点分析 设计初期,我们收集了大量前端开发人员的编码痛点,可以归纳为以下几点: 人员角度 公司部门团队较多

Is it possible to ban a list of words with ESlint or anything else when pre-commit?

这一生的挚爱 提交于 2021-01-28 08:47:48
问题 I am using husky to deal with the pre-commit thing. So here I want that the newly written program should not contain a list of words, like dangerouslySetInnerHTML , etc. I know there is a rule no-danger in eslint-plugin-react, but it only prevents that one word. How can I write a list of words in a file and use it as a filter? 回答1: So I finally solved this problem myself. The solution lies in taking advantage of git hook and the precommit , which is one of those. A good resource of achieving

How to run husky pre-commit in child directory only

余生颓废 提交于 2021-01-22 06:37:08
问题 We have an enterprise application with a folder structure like the following: /project .git /sub1 ...Java project /sub2 package.json ...Javascript Backbone project /sub3 ...Java project /sub4 ...Java project /sub5 package.json ...Javascript React project I currently have Husky set up both in sub2 and sub5 projects, which causes conflicts (requires an npm install whenever I switch projects). Also, the Java developers are reporting that when they commit code in projects sub1, sub3 and sub4, the

How to run husky pre-commit in child directory only

南楼画角 提交于 2021-01-22 06:35:37
问题 We have an enterprise application with a folder structure like the following: /project .git /sub1 ...Java project /sub2 package.json ...Javascript Backbone project /sub3 ...Java project /sub4 ...Java project /sub5 package.json ...Javascript React project I currently have Husky set up both in sub2 and sub5 projects, which causes conflicts (requires an npm install whenever I switch projects). Also, the Java developers are reporting that when they commit code in projects sub1, sub3 and sub4, the

如何感召人们让其参与到开源活动中

不想你离开。 提交于 2020-12-18 13:16:35
向他人介绍开源最有效的办法是,告诉他们开源可以提供给他们想要的。 如果你在浏览这里,可能你会编程,而且或许你正使用某些难以捉摸的 Linux 发行版 的开源浏览器上阅读这些内容。你也许很多年没有看到过浏览器广告了,因为你正运行着一个 开源的广告拦截器 。当你想到企鹅时,你感到温暖而又陌生。 简单地说,你知道开源的力量,并且它已经成了你生活的一部分。不幸的是,并不是每个人都发现了如何利用开源的方式。他们的电脑慢得令人痛苦,当他们上网浏览时他们看到的广告比内容都多,他们把钱花在专利和版权的垃圾上。这些人中可能有些是与你有关系的,例如你的侄女和侄子。 知识就是财富 那么你如何向你的侄女和侄子(以及任意一个人)介绍开源? 我尝试着回答这个问题,作为一个教授,一个以长篇大论著称的职业,我最终还是出了一本书: 《使用开源项目创造、分享和省钱》 ,由 McGraw-Hill 出版。 我认为诀窍在于先发现你的侄女或侄子想要获取但没有钱去购买的东西,然后向他们展示如何通过开源知识来得到他们想要的东西。 可升降的桌子 (Joni Steiner and Nick Ierodiaconou, CC-BY-SA-NC ) 知识是所有商品里独特的财富。不像黄金或小麦,它不仅在分享时会保留价值,而且可以迅速增值。因为互联网信息分享成本趋近于零,因此无限地扩展了此过程

ant design pro 、django的k8s镜像部署(前端打包nginx镜像、后端uwsgi-socket启动)

拜拜、爱过 提交于 2020-12-16 03:02:13
ant design pro 、django的k8s镜像部署(前端打包nginx镜像、后端uwsgi-socket启动) 前言:在将前后端的项目做出初版后,初步在虚拟机(centos7)中以本地部署和docker-compose部署两种方式都试验成功后,准备将项目部署到k8s集群中;但是因为技术知识有限(主要是nginx不熟悉),项目迟迟停顿在 nginx不能转发动态请求到后端 阶段,参考了 ant design pro官方的nginx部署 和 一篇比较全的部署文档 ,我的问题依旧没有变化。现在将问题全部抛出,因为项目并未开放公网,因此关于k8s的ip端口等放出并无大碍。 求大佬给出指点! 关于接口规范,配置规范都可以! 后端配置 uwsgi.ini #[uwsgi] #http=:3033 #static-map=/static=static #master=true #file=/opt/husky-back/husky/husky/wsgi.py #module=husky.wsgi #buffer-size=65536 [uwsgi] socket=:3033 #http-socket=127.0.0.1:3033 #http=127.0.0.1:3033 processes=%(%k*2) threads=%(%k*20) enable-threads=true lazy

公司内部【统一账号认证体系】实践与实现

狂风中的少年 提交于 2020-11-12 13:53:15
总架构图 架构说明 HR层面,用户进入HR系统后分配工号并加入公司企业微信,员工从企业微信为交互源头,经由后端api—— tabby 统一处理微信消息加密发送给内网管理平台 husky ,申请信息解密后处理,生成账号,并针对性对部分可提供接口平台初始化权限或作加强处理。 账号密码信息只保留在AD域服务器,各个开源管理平台可并行使用多种认证方式,但应陆续调整为ldap登录方式,而少用/不用系统认证方式 其次对于AD账号的统一管理,应该由一个内网安全的最高权限的先导平台统一处理,不设删除接口 开源平台一般都预留好AD domain账号认证的接口,有的需要配置,有的需要加装中间件并启用ldap认证; 自研内部管理平台没有ldap认证的可以考虑添加,但是如果平台仅供管理员使用,用户从别的平台导入,并且禁止普通用户登录; 进度介绍 猪齿鱼已经对接,[开启定时同步], [手工干掉或者修改测试ad ldap用户信息] 华为云堡垒机已经对接,[是否可以开启自动同步] pms和svn都是php,需要克隆一台phabricator服务器,升级php安装对应版本中间件php-ldap并开启测试 vpn因为只是内网管理员用来管理公司员工的vpn权限,用户数据从pms同步,只需要验证过来的数据是否有问题 注意点 现在AD服务器对接的系统原来越多,应当谨慎操作,如果在生产服创建的测试账户(垃圾数据

别乱提交代码了,看下大厂 Git 提交规范是怎么做的!

一曲冷凌霜 提交于 2020-08-10 06:46:48
来源:人人贷大前端技术中心 juejin.im/post/5d0b3f8c6fb9a07ec07fc5d0 Git是现在市面上最流行的版本控制工具,书写良好的commit message能大大提高代码维护的效率。 但是在日常开发中由于缺少对commit message的约束,导致填写内容随意、质量参差不齐,可读性低亦难以维护。 在项目中引入commit message规范已是迫在眉睫。 用什么规范? Quick Start 1. 全局安装commitizen & cz-conventional-changelog 2. 项目内安装commitlint & husky 3. 添加相应配置 4. 使用 Commit message规范在rrd-fe落地使用情况 1. type 2. scope 3. body 4. break changes 5. affect issues 示例 扩展阅读 用什么规范? 现在市面上比较流行的方案是 约定式提交规范 ( Conventional Commits ),它受到了 Angular提交准则 的启发,并在很大程度上以其为依据。 约定式提交规范 是一种基于提交消息的轻量级约定。 它提供了一组用于创建清晰的提交历史的简单规则;这使得编写基于规范的自动化工具变得更容易。这个约定与 SemVer 相吻合,在提交信息中描述新特性、bug 修复和破坏性变更。