eslint

[git hooks] pre-commit 配置

大城市里の小女人 提交于 2019-12-27 08:25:51
在开发过程中,通常使用 eslint 来规范团队的代码风格。但是 eslint 只能在开发服务器启动的时候才去检验代码。如果一个人在不启动开发服务器的情况下,修改了代码直接提交到git,那么别人pull下来的代码肯定会报错,我们需要把错误遏制在提交之前。 唯一的麻烦可能是地震的时候commit不太方便 ------- 一位成都前端开发者留言说 git hooks 是什么 git hooks 是git的一种钩子机制,可以让用户在git操作的各个阶段执行自定义的逻辑。 git hooks 在项目根目录的 .git/hooks 下面配置,配置文件的名称是固定的,使用 shell 语法编写。 里面包含 pre-commit , pre-push , commit-msg 等多种钩子,具体可以查看 Git 钩子 。 从头编写如此多的 shell脚本 太难,所以我们使用 husky 来帮我们自动生成这些 shell脚本 。 husky是什么 husky 就是一款用于处理 git hooks 的npm包包。 安装好 husky ,他会自动在项目的 .git/hooks 文件夹下面生成各种配置文件。 如果你在 git init 之前已经安装了 husky ,那么需要卸载掉再重装才能使用。 pre-commit 举例 不推荐使用 husky 来管理 pre-commit ,因为他只是简单的运行

使用eslint+prettier+pre-commit+lint-stage+validate-commit-msg构建流畅前端项目提交规范

a 夏天 提交于 2019-12-27 04:25:57
背景 团队多人协同开发,为了保证代码质量,对代码制定规范化的标准是必须的,在此分享下,目前我们的项目采用的规范化手段: 一、代码校验以及提交的过程中的配置 在package.json中配置pre-commit pre-commit钩子可以在 git commits 之前运行一段脚本,比如在commit代码之前运行eslint,校验失败则代码提交失败,校验成功则允许提交代码。 "pre-commit": [ "lint-staged" ], 在package.json中配置lint-staged lint-staged主要是为了保证,每次只对当前修改后的文件进行扫描,即进行git add加入到stage区的文件进行扫描即可,完成对增量代码进行检查。如何实现呢?这里就需要使用到lint-staged工具来识别被加入到stage区文件。 "lint-staged": { "{src,routes}/**/*.{js,jsx,ts,tsx}": [ "eslint", "prettier --write", "git add" ] }, prettier 配置文件 prettier配置可以以.prettier.js的文件放在项目中,也可以通过在package.json中配置"prettier"字段,引入配置文件。 module.exports = { // 一行最多 100 字符

GitHub:我们是这样弃用jQuery的

落爺英雄遲暮 提交于 2019-12-26 12:16:57
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 摘要: 技术债清理流程指南。 原文: Removing jQuery from GitHub.com frontend 译文: GitHub:我们为什么会弃用jQuery? 作者:GitHub 前端工程团队 译者:无明 编辑:覃云 最近,我们将 jQuery 完全从 GitHub.com 的前端代码中移除了 ,这标志着我们数年来逐步移除 jQuery这个渐进式的过程终于结束了,这对我们来说是一件里程碑式的事件。这篇文章将介绍过去我们是如何依赖上jQuery的,随着时间地推移,我们意识到不再需要它,但到最后我们并没有使用另一个库或框架取代它,而是使用标准的浏览器API实现了我们所需要的一切。 早期,jQuery对我们意义重大 GitHub.com在2007年底开始使用jQuery 1.2.1,那是谷歌发布 Chrome 浏览器的前一年。当时还没有通过CSS选择器来查询DOM元素的标准方法,也没有动态渲染元素的样式的标准方法,而Internet Explorer的XMLHttpRequest接口与其他很多API一样,在浏览器之间存在不一致性问题。 jQuery让DOM操作、创建动画和“AJAX”请求变得相当简单,基本上,它让Web开发人员能够创建更加现代化的动态Web体验。最重要的是

01-使用vue脚手架搭建项目

岁酱吖の 提交于 2019-12-26 07:59:02
使用vue脚手架搭建项目 Vue项目开发实战系列 主要内容: 初识vues 升级到vue cli4.0 从零开始配置vue cli4.0 使用vue cli4.0创建项目 1 初识vue 1.1 Vue概述 我们就直接开门见山,看看Vue的官网吧: Vue官网: https://cn.vuejs.org/ 从官网中,我们可以知道: Vue是什么 Vue是一套用于构建用户界面的 渐进式JavaScript框架 。 Vue的核心库只关注视图层。 Vue读作[v’juː] 类似view Vue的特点是: 易用 只要掌握了HTML、CSS、JavaScript知识就可以开始构建应用 灵活 小到可以只使用一个库,大到可以使用整套完整框架 高效 运行大小仅20k,超快虚拟DOM,不必关心优化问题。 1.2 Vue开发者简介 开发者为尤雨溪。 尤雨溪简历: 尤雨溪毕业于上海复旦附中,在美国完成大学学业,本科毕业于Colgate University,后在Parsons设计学院获得Design & Technology艺术硕士学位 现任职于纽约Google Creative Lab核心开发工程师 2014年2月,开源了一个前端开发库Vuejs。 2016年9月3日,在南京的JSConf上,Vue作者尤雨溪正式宣布加盟阿里巴巴Weex团队,尤雨溪称他将以技术顾问的身份加入 Weex 团队来做 Vue

VSCode 拓展插件推荐

本小妞迷上赌 提交于 2019-12-26 01:42:22
VSCode 拓展插件推荐 插件列表 Auto Close Tag 自动闭合HTML标签 Auto Rename Tag 修改HTML标签时,自动修改匹配的标签 Bookmarks 添加行书签 Can I Use HTML5、CSS3、SVG的浏览器兼容性检查 Code Runner 运行选中代码段(支持大量语言,包括Node) CodeBing 在VSCode中弹出浏览器并搜索,可编辑搜索引擎 Color Highlight 颜色值在代码中高亮显示 Color Picker 拾色器 Document This 注释文档生成 EditorConfig for VS Code EditorConfig 插件 Emoji 在代码中输入emoji ESLint ESLint插件,高亮提示 File Peek 根据路径字符串,快速定位到文件 Font-awesome codes for html FontAwesome提示代码段 ftp-sync 同步文件到ftp Git Blame 在状态栏显示当前行的Git信息 Git History(git log) 查看git log GitLens 显示文件最近的commit和作者,显示当前行commit信息 Guides 高亮缩进基准线 Gulp Snippets Gulp代码段 HTML CSS Class Completion CSS

一统江湖的大前端(5)editorconfig + eslint——你的代码里藏着你的优雅

流过昼夜 提交于 2019-12-25 21:17:19
《一统江湖的大前端》 系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新。如果你对前端的理解还是写写页面绑绑事件,那你真的是有点OUT了,前端能做的事情已经太多了, 手机app开发 , 桌面应用开发 , 用于神经网络人工智能的库 , 页面游戏 , 数据可视化 , 甚至 嵌入式开发 ,什么火就搞什么,活脱脱一个 蹭热点小能手 。如果你也觉得前端的日常开发有些枯燥,不妨一起来看看前端的另一番模样。 一.协作开发引发的问题 前端有个很流行的段子(其实前端有很多流行的段子): 看完你们项目的源码,就知道你们团队有多少个人。 各种命名风格,各种冗余代码,各种缩进风格,各种奇葩注释和各种没有注释, 眼中有码,心中无码,只有 心累 两个字 ,项目的整洁度会受到很多客观因素的影响,为了自己的身心健康,我们应该试图将这种影响降到最低。简单地说,统一格式和风格的代码让人更加赏心悦目,更不容易让你产生想摔键盘的冲动;用一个B格更高的词语,叫做 “熵减” ,也就是降低团队产出代码的无序性,如果你想在未来成为一名合格的前端架构师,这将是你的工作目标。 二.码如其人 从做开发开始,我就是一个名 sublime 的爱好者,随着常用快捷键的熟练和各种插件的配合,自己的开发速度得到了很大提升,毕竟这是一个 颜值决定一切 的时代,作为一个前端

快速构建vue-cli(vue脚手架)

泪湿孤枕 提交于 2019-12-25 14:21:32
vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的。 1、使用npm安装vue-cli 需要先装好vue 和 webpack(前提是已经安装了nodejs,否则连npm都用不了)   npm install -g vue //全局安装vue   npm install -g webpack //全局安装webpack   npm install -g vue-cli //全局安装vue-cli     注意:上面这些装过一次之后都不需要再安装了 2、使用vue-cli构建vue项目 vue init webpack my-project //生成项目名为my-project的模板 命令输入后,会进入安装阶段,需要用户输入一些信息: Project name (vuetest) 项目名称,可以自己指定,也可直接回车,按照括号中默认名字(注意这里的名字不能有大写字母,如果有会报错Sorry, name can no longer contain capital letters),阮一峰老师博客 为什么文件名要小写 ,可以参考一下。 Project description (A Vue.js project) 项目描述,也可直接点击回车,使用默认名字 Author (........) 作者(随便你) Runtime + Compiler: recommended

How to set ESLint rule to identify functions are either camelcase or not?

怎甘沉沦 提交于 2019-12-25 09:06:05
问题 If I check for ESLint docs there is a perfect plugin available for camel case properties, whereas the same thing I'm trying to identify functions if they are either camelcase or not. index.js var first_name; var lastName; function getFirstName(a,b){ return firstName; } .eslintrc module.exports = { "rules": { "camelcase": [2, {"properties": "always"}] } } if I ran eslint index.js , I will be getting a proper lint error like this 2:5 error Identifier 'first_name' is not in camel case camelcase

Create React App - console lint warnings don't match eslintrc

随声附和 提交于 2019-12-25 03:55:33
问题 I've got a sort of weird problem, that I don't see any mention of elsewhere. Create React App by default seems to log lint warning in the terminal when running yarn start and also in the Chrome console. All good. Makes sense, and I've seen discussions of whether this functionality should exist, and how it should work. My issue is that those warnings seem not to match my .eslintrc settings at all! As in, if I run yarn lint , which runs eslint using my settings, I see none of the warnings that

Including both errors and warnings for same ESLint rule?

丶灬走出姿态 提交于 2019-12-24 15:27:22
问题 My team is refactoring our codebase, and we're using ESLint to identify the files with any lint errors. We currently have one .eslintrc file with extremely high thresholds, and are ratcheting these thresholds down as we make improvements to certain files in the codebase. For example, our "max-statements" threshold is set to 99 statements, and our target is to get this down to 20 statements. So we incrementally lower our threshold from 99 to 98 to 97 etc., until we see a lint error appear. We