跳到内容
新问题

对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。

单击“注册GitHub”,表示您同意我们的服务条款隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。

已经在GitHub上了?登录到您的帐户

脚本:切换到Prettier 2.5并更改间距周围的格式 #37607

关闭

对话

吉奥罗牌手表
复制链接
成员

@吉奥罗牌手表 吉奥罗牌手表 评论2021年12月23日

描述

TLDR;我建议我们切换到Prettier的原始版本,并将其更新到最新版本2.5。因此,我们还应该围绕间距更新现有的JavaScript编码标准,以满足Prettier的要求。

修复 #21872.
修复 #37516.
替换和关闭 #37517.

我们在古腾堡项目中使用了一个过时的Prettier分支,因为它在一年多的时间里没有得到任何更新:

wp-投影仪 更漂亮
09 40 31屏幕截图2021-12-23 09 42 18截图2021-12-23

使用分叉版本Prettier的唯一动机是它的自定义功能覆盖了空间的格式化行为。它允许与WordPress代码库中用于PHP的编码样式约定更紧密地对齐,如JavaScript编码标准。相关规则:

在代码中自由使用空格。“如果有疑问,请将其隔开。”

与jQuery风格指南相比,WordPress JavaScript标准更喜欢略宽的空白规则。这些偏差是为了保持WordPress代码库中PHP和JavaScript文件之间的一致性。

值得提醒的是,从2017年开始,这个话题已经讨论过好几次了,当时对使用Prettier的初步探索始于#2819。在这段时间里,Prettier的维护者没有改变他们的想法,即增加对父母之间空间的支持(())和括号([])尽管在中共享了许多请求更漂亮/更漂亮#1303来自用户(包括WordPress社区)。这就是为什么我们决定使用Automatic开发人员开发的分叉版本。

与此同时,去年Prettier发布了三个小版本,其中包含了一长串新功能:

古腾堡项目不再仅使用JavaScript进行开发。代码库的某些部分使用TypeScript几个月前我们达成一致。这意味着我们无法使用为TypeScript语言的较新版本以及未来对JavaScript语言的潜在添加而添加的改进。我们在社区使用的共享Prettier配置中使用的一个配置选项中也添加了一个弃用选项。结果是它阻止了使用@wordpress/prettier-config在第三方项目中使用最新版本的Prettier,如中所述#37516。最后,我们在#21872社区成员使用@wordpress/脚本@wordpress/eslint插件Prettier的分叉版本没有正确安装在他们的项目中。好消息是,切换到原来的Prettier将解决以上所有问题!

JavaScript编码标准需要更改

-为了与WordPress PHP编码标准保持一致,一些空白规则有所不同。
+为了与[Prettier]保持一致,一些空白规则有所不同(https://prettier.io网址)格式化工具。
-将对所有新的或更新的JavaScript代码进行审查,以确保其符合标准并通过JSHint。
+将审查所有新的或更新的JavaScript代码,以确保其符合标准并通过[ESLint](网址:https://eslint.org).
-在代码中自由使用空格。“如果有疑问,请将其隔开。”
-任何!否定运算符应该有一个空格*
+任何!否定运算符不应该有后面的空格。
-始终在元素和参数周围包含额外的空格:
-数组=[a,b];
-foo(arg);
-foo('string',object);
-foo(选项,对象[属性]);
-foo(节点,“属性”,2);
-prop=对象['default'];
-firstArrayElement=arr[0];
+不要在元素和参数周围包含额外的空格:
+arg=[a,b];
+foo(arg);
+foo(“字符串”,对象);
+foo(选项,对象[属性]);
+foo(节点,“属性”,2);
+prop=对象['default'];
+firstArrayElement=arr[0];
-变量i;
-
-if(条件){
-doSomething(“带字符串”);
-}else if(otherCondition){
-其他事物({
-键:值,
-otherKey:otherValue
-} );
-}其他{
-somethingElse(真的);
-}
 
-//与jQuery不同,WordPress喜欢在!否定运算符。
-//这也是为了符合我们的PHP标准。
-while(!条件){
-迭代++;
-}
-  
-对于(i=0;i<100;i++){
-对象[数组[i]]=someFn(i);
-$('.container').val(数组[i]);
-}
-  
-尝试{
-//表达式
-}捕捉(e){
-//表达式
-}
+变量i;
+
+if(条件){
+doSomething(“用字符串”);
+}else if(otherCondition){
+其他东西({
+键:值,
+otherKey:otherValue,
+});
+}其他{
+somethingElse(真的);
+}
+ 
+while(!条件){
+迭代++;
+}
+ 
+对于(i=0;i<100;i++){
+对象[数组[i]]=someFn(i);
+$('.container').val(数组[i]);
+}
+ 
+尝试{
+//表达式
+}捕获(e){
+//表达式
+}

我们需要在文档中更新更多的代码示例,但它们与上面共享的代码示例非常相似。

这是如何测试的?

npm安装npm运行生成npm运行lint-jsnpm运行测试单元npm运行测试-e2e

我还确保运行时分支中没有更改:

npm运行文档:构建npm运行格式

更改的类型

中断更改(将导致现有功能无法按预期工作的修复或功能)。

TODO任务

检查清单:

  • 我的代码已经过测试。
  • 我的代码遵循WordPress代码风格。
  • [-]我的代码遵循可访问性标准。
  • [-]我已经用键盘和屏幕阅读器测试了我的更改。
  • 我的代码有适当的内联文档。
  • 如果合适的话,我已经包括了开发人员文档。
  • 我已经更新了所有受此PR中任何重构/重命名影响的React Native文件(请手动搜索所有*.native.js文件需要重命名或删除的术语的文件)。

@吉奥罗牌手表 吉奥罗牌手表补充[Package]脚本 /包/脚本 [Package]配置更漂亮 /软件包/更漂亮的配置 [Package]ESLint插件 /包裹/eslint-plugin [类型]代码质量 与代码质量相关的问题或PR [类型]中断更改 对于引入将破坏现有功能的更改的PR标签2021年12月23日
@吉奥罗牌手表 吉奥罗牌手表更改了标题更新/漂亮2.5 脚本:切换到Prettier 2.5 2021年12月23日
@github-操作
复制链接

github-操作 机器人程序 评论2021年12月23日

尺寸变化:-33亿(0%)

总尺寸:1.13 MB

文件名 大小 更改
build/components/index.min.js 214千字节 -33亿(0%)
ℹ️查看未更改
文件名 大小
构建/a11y/index.min.js 960亿
build/admin-manifest/index.min.js 1.1千字节
build/annotations/index.min.js 2.75千字节
构建/api-fetch/index.min.js 2.21千字节
构建/auto/index.min.js 2.12千字节
build/blob/index.min.js 459亿
build/block-directory/index.min.js 6.28千字节
构建/块目录/样式-rtl.css 1.01千字节
构建/块目录/样式.css 1.01千字节
构建/块编辑器/默认编辑器样式-rtl.css 378亿
构建/块编辑器/默认编辑器样式.css 378亿
build/block-editor/index.min.js 140千字节
构建/块编辑器/style-rtl.css 14.6千字节
构建/块编辑器/样式.css 14.6千字节
build/block-library/blocks/archives/editor-rtl.css 61亿
build/block-library/blocks/archives/editor.css 60亿
build/block-library/blocks/archives/style-rtl.css 65亿
build/block-library/blocks/archives/style.css 65亿
build/block-library/blocks/audio/editor-rtl.css 58亿
build/block-library/blocks/audio/editor.css 58亿
build/block-library/blocks/audio/style-rtl.css 111亿
build/block-library/blocks/audio/style.css 111亿
构建/block-library/blocks/audio/theme-rtl.css 125亿
构建/block-library/blocks/audio/theme.css 125亿
build/block-library/blocks/block/editor-rtl.css 161亿
build/block-library/blocks/block/editor.css 161亿
build/block-library/blocks/button/editor-rtl.css 470亿
build/block-library/blocks/button/editor.css 470亿
build/block-library/blocks/button/style-rtl.css 560亿
build/block-library/blocks/button/style.css 560亿
build/block-library/blocks/buttons/editor-rtl.css 292亿
构建/块库/blocks/buttons/editor.css 292亿
build/block-library/blocks/buttons/style-rtl.css 275亿
build/block-library/blocks/buttons/style.css 275亿
build/block-library/blocks/calendar/style-rtl.css 207亿
build/block-library/blocks/calendar/style.css 207亿
build/block-library/blocks/categories/editor-rtl.css 84亿
build/block-library/blocks/categories/editor.css 83亿
build/block-library/blocks/categories/style-rtl.css 79亿
build/block-library/blocks/categories/style.css 79亿
build/block-library/blocks/code/style-rtl.css 90亿
build/block-library/blocks/code/style.css 90亿
build/block-library/blocks/code/theme-rtl.css 134亿
build/block-library/blocks/code/theme.css 134亿
build/block-library/blocks/columns/editor-rtl.css 210亿
build/block-library/blocks/columns/editor.css 208亿
build/block-library/blocks/columns/style-rtl.css 502 B
build/block-library/blocks/columns/style.css 501乙
build/block-library/blocks/comment-template/style-rtl.css 127亿
build/block-library/blocks/comment-template/style.css 127亿
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 123亿
构建/块库/块/注释页码/editor.css 121亿
build/block-library/blocks/comments-pagination/editor-rtl.css 222亿
build/block-library/blocks/comments-pageination/editor.css 209亿
build/block-library/blocks/comments-pagination/style-rtl.css 235亿
build/block-library/blocks/comments-pageination/style.css 231亿
build/block-library/blocks/cover/editor-rtl.css 546磅
build/block-library/blocks/cover/editor.css 547亿
build/block-library/blocks/cover/style-rtl.css 1.22千字节
build/block-library/blocks/cover/style.css 1.22千字节
build/block-library/blocks/embed/editor-rtl.css 293亿
build/block-library/blocks/embed/editor.css 293亿
build/block-library/blocks/embed/style-rtl.css 417亿
build/block-library/blocks/embed/style.css 417亿
build/block-library/blocks/embed/theme-rtl.css 124亿
build/block-library/blocks/embed/theme.css 124亿
build/block-library/blocks/file/editor-rtl.css 300亿
build/block-library/blocks/file/editor.css 300亿
build/block-library/blocks/file/style-rtl.css 255亿
build/block-library/blocks/file/style.css 255亿
构建/块库/块/文件/view.min.js 322亿
build/block-library/blocks/freeform/editor-rtl.css 2.44千字节
build/block-library/blocks/freeform/editor.css 2.44千字节
build/block-library/blocks/galletry/editor-rtl.css 966亿
build/block-library/blocks/galletry/editor.css 970亿
build/block-library/blocks/gallower/style-rtl.css 1.6千字节
构建/块库/blocks/gallery/style.css 1.6千字节
build/block-library/blocks/gallower/theme-rtl.css版本 122亿
build/block-library/blocks/gallery/主题.css 122亿
build/block-library/blocks/group/editor-rtl.css 159亿
build/block-library/blocks/group/editor.css 159亿
build/block-library/blocks/group/style-rtl.css 57亿
build/block-library/blocks/group/style.css 57亿
构建/块-库/块/组/主题-rtl.css 78亿
构建/块-库/块/组/主题.css 78亿
build/block-library/blocks/heading/style-rtl.css 114亿
build/block-library/blocks/heading/style.css 114磅
build/block-library/blocks/html/editor-rtl.css 332亿
build/block-library/blocks/html/editor.css 333亿
build/block-library/blocks/image/editor-rtl.css 810亿
构建/块库/blocks/images/editor.css 809亿
build/block-library/blocks/image/style-rtl.css 507亿
build/block-library/blocks/image/style.css 511亿
构建/block-library/blocks/image/theme-rtl.css 124亿
构建/block-library/blocks/image/theme.css 124亿
build/block-library/blocks/latest-comments/style-rtl.css 284亿
构建/块库/blocks/latest comments/style.css 284亿
build/block-library/blocks/platest-posts/editor-rtl.css 137亿
build/block-library/blocks/platest-posts/editor.css 137亿
build/block-library/blocks/platest-posts/style-rtl.css 528亿
build/block-library/blocks/platest-posts/style.css 527亿
build/block-library/blocks/list/style-rtl.css 94亿
build/block-library/blocks/list/style.css 94亿
build/block-library/blocks/media-text/editor-rtl.css 266亿
build/block-library/blocks/media-text/editor.css 263亿
build/block-library/blocks/media-text/style-rtl.css 493亿
构建/块库/blocks/media-text/style.css 490亿
build/block-library/blocks/more/editor-rtl.css 431亿
build/block-library/blocks/more/editor.css 431亿
build/block-library/blocks/navigation-link/editor-rtl.css 649亿
build/block-library/blocks/navigation-link/editor.css 650亿
build/block-library/blocks/navigation-link/style-rtl.css 94亿
build/block-library/blocks/navigation-link/style.css 94亿
build/block-library/blocks/navigation-submenu/editor-rtl.css 299亿
build/block-library/blocks/navigation-submenu/editor.css 299亿
构建/块库/块/导航子菜单/view.min.js 343亿
build/block-library/blocks/navigation/editor-rtl.css 1.91千字节
build/block-library/blocks/navigation/editor.css 1.91千字节
build/block-library/blocks/navigation/style-rtl.css 1.8千字节
build/block-library/blocks/navigation/style.css 1.79千字节
build/block-library/blocks/navigation/view.min.js 2.82千字节
build/block-library/blocks/nextpage/editor-rtl.css 395亿
build/block-library/blocks/nextpage/editor.css 395亿
build/block-library/blocks/page-list/editor-rtl.css 377亿
build/block-library/blocks/page-list/editor.css 377亿
build/block-library/blocks/page-list/style-rtl.css 172亿
构建/块库/块/页列表/style.css 172亿
build/block-library/blocks/pragment/editor-rtl.css 157亿
build/block-library/blocks/pragment/editor.css 157亿
build/block-library/blocks/pragment/style-rtl.css 273亿
build/block-library/blocks/pragment/style.css 273亿
build/block-library/blocks/post-author/style-rtl.css 175亿
build/block-library/blocks/post-author/style.css 176亿
build/block-library/blocks/post-comments-form/style-rtl.css 446亿
build/block-library/blocks/post-comments-form/style.css 446亿
构建/块库/blocks/post注释/style-rtl.css 509亿
build/block-library/blocks/post-comments/style.css 509亿
build/block-library/blocks/post-extract/editor-rtl.css 73亿
build/block-library/blocks/post-extract/editor.css 73亿
build/block-library/blocks/post-extract/style-rtl.css 69亿
build/block-library/blocks/post-extract/style.css 69亿
build/block-library/blocks/post-featured-image/editor-rtl.css 721亿
build/block-library/blocks/post-featured-image/editor.css 721亿
build/block-library/blocks/post-featured-image/style-rtl.css 153亿
build/block-library/blocks/post-featured-image/style.css 153亿
build/block-library/blocks/post-template/editor-rtl.css 99亿
构建/块库/blocks/post-template/editor.css 98亿
build/block-library/blocks/post-template/style-rtl.css 391亿
build/block-library/blocks/post-template/style.css 392亿
build/block-library/blocks/post-terms/style-rtl.css 73磅
build/block-library/blocks/post-terms/style.css 73亿
build/block-library/blocks/post-title/style-rtl.css 80亿
build/block-library/blocks/post-title/style.css 80亿
build/block-library/blocks/preactatted/style-rtl.css 103亿
build/block-library/blocks/preactatted/style.css 103亿
构建/块库/块/pullquote/editor-rtl.css 198亿
build/block-library/blocks/pullquote/editor.css 198亿
build/block-library/blocks/pullquote/style-rtl.css 389亿
build/block-library/blocks/pullquote/style.css 388亿
build/block-library/blocks/pullquote/theme-rtl.css 167亿
构建/block-library/blocks/pullquote/theme.css 167亿
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122亿
build/block-library/blocks/query-pagination-numbers/editor.css 121亿
build/block-library/blocks/query-pagination/editor-rtl.css 221亿
build/block-library/blocks/query-pagination/editor.css 211亿
构建/块库/blocks/query分页/style-rtl.css 234亿
build/block-library/blocks/query-pagination/style.css 231亿
build/block-library/blocks/query/editor-rtl.css 131亿
build/block-library/blocks/query/editor.css 132亿
构建/块库/blocks/quote/style-rtl.css 187亿
build/block-library/blocks/quote/style.css 187亿
build/block-library/blocks/quote/theme-rtl.css 223亿
构建/block-library/blocks/quote/theme.css 226亿
build/block-library/blocks/rss/editor-rtl.css 202亿
build/block-library/blocks/rss/editor.css 204磅
build/block-library/blocks/rss/style-rtl.css 289亿
build/block-library/blocks/rss/style.css 288亿
build/block-library/blocks/search/editor-rtl.css 165亿
build/block-library/blocks/search/editor.css 165亿
build/block-library/blocks/search/style-rtl.css 397亿
build/block-library/blocks/search/style.css 398亿
构建/block-library/blocks/search/theme-rtl.css 64亿
构建/block-library/blocks/search/theme.css 64亿
build/block-library/blocks/seleparator/editor-rtl.css 99亿
build/block-library/blocks/seleparator/editor.css 99亿
build/block-library/blocks/seleparater/style-rtl.css 245磅
build/block-library/blocks/seleparater/style.css 245亿
build/block-library/blocks/seleparater/theme-rtl.css 172亿
build/block-library/blocks/seleparater/theme.css 172亿
构建/块库/blocks/shortcode/editor-rtl.css 474亿
build/block-library/blocks/shortcode/editor.css 474亿
build/block-library/blocks/site-logo/editor-rtl.css 744亿
build/block-library/blocks/site-logo/editor.css 744亿
build/block-library/blocks/site-logo/style-rtl.css 181亿
build/block-library/blocks/site-logo/style.css 181个B
build/block-library/blocks/site-tagline/editor-rtl.css 86亿
build/block-library/blocks/site-tagline/editor.css 86亿
build/block-library/blocks/site-title/editor-rtl.css 84亿
build/block-library/blocks/site-title/editor.css 84亿
build/block-library/blocks/social-link/editor-rtl.css 177亿
build/block-library/blocks/social-link/editor.css 177亿
build/block-library/blocks/social-links/editor-rtl.css 670亿
build/block-library/blocks/social-links/editor.css 669亿
build/block-library/blocks/social-links/style-rtl.css 1.32千字节
build/block-library/blocks/social-links/style.css 1.32千字节
build/block-library/blocks/spacer/editor-rtl.css 307亿
build/block-library/blocks/spacer/editor.css 307亿
build/block-library/blocks/spacer/style-rtl.css 48亿
构建/块库/blocks/spacer/style.css 48亿
build/block-library/blocks/table/editor-rtl.css 471亿
build/block-library/blocks/table/editor.css 472亿
build/block-library/blocks/table/style-rtl.css 481亿
build/block-library/blocks/table/style.css 481亿
build/block-library/blocks/table/theme-rtl.css 188亿
build/block-library/blocks/table/theme.css 188亿
build/block-library/blocks/tag-cloud/style-rtl.css 146亿
build/block-library/blocks/tag-cloud/style.css 146亿
build/block-library/blocks/template-part/editor-rtl.css 560亿
build/block-library/blocks/template-part/editor.css 559亿
build/block-library/blocks/template-part/theme-rtl.css 101亿
build/block-library/blocks/template-part/theme.css 101亿
build/block-library/blocks/text-columns/editor-rtl.css 95亿
build/block-library/blocks/text-columns/editor.css 95亿
build/block-library/blocks/text-columns/style-rtl.css 166磅
build/block-library/blocks/text-columns/style.css 166亿
build/block-library/blocks/verse/style-rtl.css 87亿
build/block-library/blocks/verse/style.css 87亿
构建/块库/blocks/video/editor-rtl.css 571亿
build/block-library/blocks/video/editor.css 公元572年
build/block-library/blocks/video/style-rtl.css 173亿
build/block-library/blocks/video/style.css 173亿
构建/block-library/blocks/video/theme-rtl.css 124亿
build/block-library/blocks/video/theme.css 124亿
构建/块库/common-rtl.css 910亿
build/block-library/common.css 908亿
build/block-library/editor-rtl.css 10千字节
build/block-library/editor.css 10千字节
build/block-library/index.min.js 165千字节
build/block-library/reset-rtl.css 474亿
build/block-library/reset.css 474亿
build/block-library/style-rtl.css 10.8千字节
build/block-library/style.css 10.9千字节
构建/块库/theme-rtl.css 675亿
构建/块库/theme.css 679亿
build/block-serialization-default-parser/index.min.js 1.09千字节
build/block-serialization-specifi-parser/index.min.js 2.79千字节
build/blocks/index.min.js 46.3千字节
构建/components/style-rtl.css 15.5千字节
build/components/style.css 15.5千字节
构建/合成/索引.min.js 11.2千字节
构建/core-data/index.min.js 13.2千字节
构建/定制e-widgets/index.min.js 11.4千字节
构建/定制e-widgets/style-rtl.css 1.5千字节
构建/自定义widgets/style.css 1.49千字节
构建/数据控制/索引.min.js 631亿
build/data/index.min.js 7.49千字节
构建/日期/索引.min.js 31.9千字节
build/deprecated/index.min.js 485亿
构建/dom-ready/index.min.js 304亿
构建/dom/index.min.js 4.5千字节
build/edit-navigation/index.min.js 16千字节
构建/编辑导航/样式-rtl.css 3.76千字节
构建/编辑导航/样式.css 3.76千字节
构建/编辑-发布/分类-rtl.css 492磅
构建/编辑post/classic.css 494亿
build/edit-post/index.min.js 29.5千字节
构建/编辑-发布/样式-rtl.css 7.16千字节
构建/编辑post/style.css 7.16千字节
build/edit-site/index.min.js 35.8千字节
构建/编辑site/style-rtl.css 6.62千字节
构建/编辑site/style.css 6.61千字节
build/edit-widgets/index.min.js 16.5千字节
build/edit-widgets/style-rtl.css 4.17千字节
build/edit-widgets/style.css 4.18千字节
build/editor/index.min.js 37.9千字节
构建/编辑器/样式-rtl.css 3.75千字节
构建/编辑器/样式.css 3.74千字节
build/element/index.min.js 3.29千字节
build/escape-html/index.min.js 517亿
build/format-library/index.min.js 6.58千字节
build/format-library/style-rtl.css 571亿
构建/格式库/样式.css 571亿
build/hooks/index.min.js 1.63千字节
build/html-entities/index.min.js 424亿
构建/i18n/index.min.js 3.71千字节
构建/is-shallow-equal/index.min.js 501乙
构建/键盘快捷键/index.min.js 1.8千字节
build/keycodes/index.min.js 1.39千字节
构建/list-reasable-blocks/index.min.js 1.72千字节
构建/list-rusable-blocks/style-rtl.css 838亿
build/list-rusable-blocks/style.css 838亿
build/media-utils/index.min.js 2.92千巴
build/notices/index.min.js 925亿
build/nux/index.min.js 2.08千字节
build/nux/style-rtl.css 747亿
build/nux/style.css 743亿
build/plugins/index.min.js 1.84千字节
build/primitives/index.min.js 924亿
build/priority-queue/index.min.js 582亿
build/react-i18n/index.min.js 671亿
build/react-refresh-entry/index.min.js 8.44千字节
build/react-refresh-runtime/index.min.js 7.31千字节
build/redux-routine/index.min.js 2.65千字节
构建/可重用块/index.min.js 2.22千字节
构建/可重用块/样式-rtl.css 256亿
构建/可重用块/style.css 256亿
构建/rich-text/index.min.js 11千字节
build/server-side-render/index.min.js 1.57千字节
build/shortcode/index.min.js 1.49千字节
构建/token-list/index.min.js 639亿
构建/url/index.min.js 1.9千字节
构建/视口/索引min.js 1.05千字节
build/warning/index.min.js 248亿
build/widgets/index.min.js 7.15千字节
构建/widgets/style-rtl.css 1.16千字节
build/widgets/style.css 1.16千字节
构建/wordcount/index.min.js 1.04千字节

压缩尺寸作用

@吉奥罗牌手表 吉奥罗牌手表更改了标题脚本:切换到Prettier 2.5 脚本:切换到Prettier 2.5并更改间距周围的格式 2021年12月23日
@马马杜卡
复制链接
成员

我还担心类似的更改如何影响git责备历史。我每天在VS Code上使用GitLens来查找介绍它们的特定决策或PR的上下文。不幸的是,像这样的大规模变化让它变得有点困难。

昨天,我在推特。所以也许我们还应该考虑添加.git-blame-ignore-revs文件项目。

我们可以为该列表考虑的另一项承诺是4857公元5年.

推文中链接的P.S.文章-https://akrabat.com/ignoring-revisions-with-git-blame/

@吉奥罗牌手表
复制链接
成员 作者

我刚刚在上发布了一份官方提案https://make.wordpress.org/core/2022/01/05/proposal-changes-to-javascript-coding-standards-for-full-prettier-compatibility/.

@凯文940726
复制链接
成员

我全力配合社区的标准。然而,如果我们继续遵循WordPress风格指南,但使用eslint—修复更漂亮--写?

因此,与其用我们自己的叉子wp-prettier—写入,我们可以做到更漂亮--写入&&eslint--修复来解决那些漂亮点都不在乎的小问题。

当然,它会变慢,但我不认为我们会经常运行该命令,它可以通过短绒状也。也可以将IDE配置为按顺序运行这两个工具(或者只是在IDE中禁用它们的linting样式规则,这应该是无关紧要的)。

虽然我同意一次性改变规则是一个非常简单的解决方案,但我也有以下担忧@马马杜卡在里面#37607(评论)吉特的指责将是一件痛苦的事。

@吉奥罗牌手表
复制链接
成员 作者

吉奥罗牌手表 评论2022年1月10日

然而,如果我们继续遵循WordPress风格指南,但使用eslint-fix和prettier-write结合使用,这不是更向后兼容吗?

@新世界银行在中进行了几次探索#4628采用你提到的相同方法,但在2018年时还不够好。

@凯文940726
复制链接
成员

@新世界银行在中进行了几次探索#4628采用你提到的相同方法,但在2018年时还不够好。

原因在今天仍然相关吗?似乎是中的结论#4628就是不要使用现在已经明显改变的更漂亮的东西。也许值得一提的是,我曾尝试使用更漂亮--写入&&eslint--修复之前在我的一个项目中合作过,效果很好。

@新世界银行
复制链接
成员

原因在今天仍然相关吗?似乎是中的结论#4628就是不要使用现在已经明显改变的更漂亮的东西。可能值得注意的是,我以前在我的一个项目中尝试过使用更漂亮的--write&&eslint--fix,并且效果非常好。

我认为这将是一项值得探索的有趣任务,想知道我们是否可以创建一个专用的ESLint配置,只修复“parens和bracket之间的空格”,以及如果先用Prettier运行lint-staging,然后再使用此ESLint配置,是否可以。。。。

老实说,我觉得这很不礼貌,而且对更广泛的开发人员社区来说,必须以这种方式实现它并不太友好,不确定是否@wordpress/脚本也可以处理这个。。。。

@吉奥罗牌手表
复制链接
成员 作者

老实说,我觉得这很不礼貌,而且对更广泛的开发人员社区来说,必须以这种方式实现它并不太友好,也不确定@wordpress/scripts是否能够处理这一点。。。。

只要人们愿意npx-wp脚本格式这很好,但如果有人直接使用Prettier,他们会得到不同的样式,例如在使用默认的IDE集成时。

@凯文940726
复制链接
成员

只要人们愿意npx wp-scripts格式这很好,但如果有人直接使用Prettier,他们会得到不同的样式,例如在使用默认的IDE集成时。

没错,但这也不重要。人们应该能够在开发过程中使用任何样式,只要他们推送的代码遵循WP标准,这就是我们拥有的原因短绒状首先。

想知道我们是否可以创建一个专用的ESLint配置,只修复“parens和bracket之间的空格”

从理论上讲,这应该是可能的,但我不认为我们必须这样做,它只会带来一些性能上的好处。

如果先用Prettier运行lint-staging,然后这个ESLint配置就可以了。。。。

这应该是可能的。

@路易希兰兹
复制链接
成员

路易希兰兹 评论2022年1月11日

短绒状是一个很棒的工具,但我认为IDE集成不应被低估。对于许多开发人员(包括我在内)来说,这是一个基本的工作流程:

  • 写一些代码。
  • 使用IDE快捷方式运行自动格式化(例如,Prettier集成)。
  • 编写更多代码。
  • 使用IDE快捷方式再次运行自动套用格式。
  • 重复。。。

如果仅使用CLI命令(如npx wp-scripts格式,开发人员的体验不会那么好。

@凯文940726
复制链接
成员

凯文940726 评论2022年1月11日

如果只有使用CLI命令才能实现正确的格式,如npx wp-scripts格式,开发人员的体验不会那么好。

我的想象就是这样埃斯林将只修复一些小细节(如括号周围的空格等),因此总体样式仍然基本相同。此外,我们仍将提供更漂亮的配置和eslint配置,因此现有的IDE集成应该仍然有效。无论如何,在开发过程中不强制使用格式样式对DX来说应该更好,而不是更坏,这样开发人员可以使用他们觉得舒服的任何样式,只要最终结果符合标准。

此外,应该可以配置IDE集成以运行更漂亮--写入&&eslint--修复同样,CLI并不是唯一可以实现的方法。但也许每个IDE都有一些怪癖😅 .

@路易希兰兹
复制链接
成员

应该可以配置IDE集成来运行更漂亮的--write&&eslint-fix,这样CLI就不是唯一可以实现的方法

是的,我想这是可能的。但是,我们偏离标准工作流的每个步骤通常是用户配置工具所需的额外步骤。在这种情况下,他们需要找出如何运行该命令,而不仅仅是安装Prettier插件。

@新世界银行
复制链接
成员

谢谢,我认为值得探索的是,如果工作流可以在没有大量痛苦的情况下解决,那么Gutenberg Repo(Commit、Lint-Staged、GitHub Actions等)和Developer IDE/Editor工作(Prettier/ESLint save&format)

如果可以实现上述目标,那么古腾堡就不再需要使用(或更新和维护)Prettier fork,并且可以使用规范的Prettier-then,这涵盖了我认为对make/core提案的所有主要反对意见:

@凯文940726
复制链接
成员

我做了一些快速测试,但不幸的是,有些规则无法保持不变。这就是太空中的人这条规则将为我们解决更漂亮的空间问题,但这将与打印宽度统治更漂亮。从那以后埃斯林将在之后运行更漂亮,并且没有一对一的等价物打印宽度在里面埃斯林,它将无法恢复宽度变化。以下面为例:

//原始代码很长,超过了“printWidth”设置
fn公司(...);

//预贴:去除空格后,宽度刚好低于阈值
fn公司(...);

//eslint添加了空格,但它不再将它们包装成多行
fn公司( 123 );

这在修改后的代码和原始代码之间造成了一些不一致。尽管影响远低于本公关计划,但我们仍需解决同样的问题,只是规模较小。

是的,我想这是可能的。但是,我们偏离标准工作流的每个步骤通常是用户配置工具所需的额外步骤。在这种情况下,他们需要找出如何运行该命令,而不仅仅是安装Prettier插件。

我们可以提供像我们这样的文档目前。虽然他们不需要,但我认为这是一个重要的观点,整个IDE设置应该是可选的。

@吉奥罗牌手表 吉奥罗牌手表补充这个需求决策 需要一个可操作或相关的决策标签2022年1月13日
@吉奥罗牌手表
复制链接
成员 作者

我还发现公关漂亮的eslint探索:#4374.

我做了一些快速测试,但不幸的是,有些规则无法保持不变。这就是太空中的人规则将为我们解决更漂亮的空间问题,然而,这将与打印宽度统治更漂亮。

是的,这是在最初探索Prettier时讨论的问题之一。ESLint在Prettier之后运行,它不遵守线宽设置。同样的问题可能适用于wp-投影仪的叉子。

查看漂亮的eslint更广泛地说,我认为它与wp-投影仪–这是一个需要维护的不同外部事物。在这种情况下,我们还可能会因为缺少项目更新而受到影响。我查看了最新版本13.0.0(6个月前),我发现它依赖于ESLint^7.9.0,我们已经使用了下一个主要版本(8.6.0),所以我们会突然推出两个不同的主要版本的ESLint@wordpress/脚本.我相信你可以限制--修复按照其中一条评论中提到的影响间距的规则,这样做很可能会很好。我们在项目中越来越多地使用TypeScript这一事实带来了另一组挑战,因为我们必须使用TS规则中的修复程序来覆盖整个代码库,而不是ESLint默认提供的那些。

无论如何,您通常只修改几个JS文件,这样您就不会注意到任何问题。然而,我们在降价文件中也使用了Prettier。它在那里变得更加有趣,因为Prettier足够聪明,可以检测JS片段并对其进行格式化。然而,ESLint对Markdown一无所知,因此我们可能会在这一点上有所分歧,或者在使用Prettier时必须忽略这些代码段,这样,如果没有ESLint步骤来修复空格,它们就不会被格式化。

最关键的部分是优化开发人员体验,因为许多开发人员都使用IDE集成。我知道最好的部分是,当您保存代码时,只需放置一个Prettier的配置,一切都会在Visual Studio Code中神奇地运行,我想这与上列出的其他编辑器中的体验没有什么不同https://prettier.io/docs/en/editors.html.

虽然Prettier+ESLint似乎是一个可行的解决方案,但我认为它并不比当前的设置好wp-prettier公司它们都有很多缺点,让我们需要解决Prettier的局限性。我个人更喜欢按照建议更改编码样式,或者保持原样,最终尝试更新fork。

@西蒙哈姆斯
复制链接
贡献者

@吉奥罗牌手表很抱歉打扰你,但是关于这个提议/这个公关有什么消息吗?

@吉奥罗牌手表
复制链接
成员 作者

我正在重新分享来自的评论@新世界银行他在WordPress Slack上留下的信息(链接需要注册https://make.wordpress.org/chat):

https://wordpress.slack.com/archives/C5UNMSU4R/p1648555187344279?thread_ts=1647357562.940759&cid=C5UNMSU 4R

目前,核心团队的共识是“不”。
我现在有一个草稿评论,明天我会发布,但是tl;我认为WordPress项目应该以更正式的方式向Prettier上游重新提交它的请求,我还要补充一下为什么我认为这次我们可能会取得更好的结果

因此,我将关闭此公关。

@吉奥罗牌手表
复制链接
成员 作者

吉奥罗牌手表 评论2022年7月14日

我在Prettier存储库中打开了一个新问题,再次提出允许在JavaScript代码中的元素和参数周围使用额外空格的选项:更漂亮/更漂亮#13107.

免费注册 在GitHub上加入此对话.已经有帐户了吗?登录以发表评论
标签
需求决策 需要一个可操作或相关的决策 [Package]ESLint插件 /包裹/eslint-plugin [Package]配置更漂亮 /程序包/pretier-config [Package]脚本 /包/脚本 [类型]断开变化 对于引入将破坏现有功能的更改的PR [类型]代码质量 与代码质量相关的问题或PR
项目
没有打开的项目
核心JS
  
多恩
6名参与者