为爱奥尼亚贡献力量betway东盟体育app
感谢您对贡献Ionic Framework的兴趣!betway东盟体育app
贡献礼仪
详情请参阅
制造问题
如果您对使用该框架有任何问题,请在 betway东盟体育app离子论坛 .
您需要清楚地描述再现您所遇到的问题所需的步骤。尽管我们愿意尽可能地帮助我们的用户,但在没有明确复制步骤的情况下诊断问题是非常耗时的,而且是不可持续的。
发行清单 betway东盟体育app 库专门用于bug报告和特性请求。不合格问题将立即处理。
没有明确的复制步骤的问题将不会被分类。如果一个问题被标记为“需要:回复”,并且在14天以上没有收到该问题作者的进一步回复,它将被关闭。
如果你认为你已经发现了一个bug,或者有了一个新功能的想法,请先确定它还没有被发现 报道 .您可以搜索现有的问题,看看是否报告了类似的问题。包括已解决的问题,因为它可能已经解决了解决方案。
接下来, 创建一个新问题 这完全解释了这个问题。请在提交问题之前填写已填充的问题表单。
创建一个好的代码复制
什么是代码复制?
代码复制是为演示特定问题而构建的小型应用程序。代码复制应该包含重新创建问题所需的最少数量的代码,并且应该专注于单个问题。
为什么要复制?
您所遇到的问题的代码再现可以帮助我们更好地隔离问题的原因。这是修复任何错误的重要第一步!
如果没有可靠的代码复制,我们就不太可能解决这个问题,从而导致它被关闭。换句话说,创建问题的代码再现可以帮助我们帮助您。
如何制作复制品
-
使用我们的一个初始模板创建betway东盟体育app一个新的Ionic应用程序。的
空白
初学者应用程序是一个很好的选择。您可以使用以下离子型CLI命令创建一个:betway东盟体育appbetway东盟体育app离子启动myApp空白
- 添加最少数量的代码来重新创建您所遇到的问题。不要包含任何非复制问题所必需的内容。这包括您已安装的任何第三方插件。
- 在GitHub上发布应用程序,并包含到它的链接 制造问题 .
- 一定要包括重现问题的步骤。这些步骤应该是清晰且容易执行的。
复制的好处
- 使用最新版本的Ionic:betway东盟体育app 通过创建一个新的Ionic应用程序,betway东盟体育app您可以确保针对框架的最新版本进行测试。有时您遇到的问题已经在框架的新版本中解决了!
- 最小表面积: 通过删除为了再现问题而不需要的代码,可以更容易地确定问题的原因。
- 不需要密码: 创建问题的最小复制可以防止您不得不发布项目中使用的任何专有代码。
- 寻求帮助解决问题: 如果我们能够可靠地再现一个问题,那么我们就很有可能能够解决它。
创建Pull Request
我们感谢您花时间贡献!在提交撤销请求之前,我们请求您 制造问题 这解释了bug或特性请求,并让我们知道你计划为它创建一个拉请求。如果一个问题已经存在,请评论该问题,让我们知道你想提交一个拉请求。这有助于我们跟踪拉请求,并确保没有重复的工作。
想要解决一个问题?一定要看清楚我们的问题 招聘 标签!
设置
- 下载安装程序 Node.js的LTS版本。这是最好的方法 安装npm .
- 叉的 betway东盟体育app 存储库。
- 克隆你的叉子。
- 为您的更改从master创建一个新的分支。
- 导航到你想要修改的包的目录(core, angular等)。
-
运行
npm安装
安装此包的依赖项。 - 按照下面具体包的步骤操作。
核心
修改组件
-
找到要在里面修改的组件
/ /核心/ src /组件
. - 来看看 模板文档 和其他组件,了解这些组件的实现。
- 对组件进行更改。如果更改过于复杂或不寻常,请添加注释,以便我们能够理解更改。
- 预览您的更改 本地。
- 修改文档 如果需要的话。
- 运行线头 并确保没有错误。
- 构建项目 .
- 构建完成后,提交更改。请参阅 提交消息格式 对于每次提交。
- 提交Pull Request 您的更改。
预览更改
-
运行
npm开始
从内部核心
目录中。 -
浏览器应该在
http://localhost:3333/
. - 从这里,导航到一个组件的测试,以预览您的更改。
- 如果测试显示您的更改不存在, 添加新的测试或更新现有的测试 .
-
若要在RTL模式下进行测试,在进入所需组件的测试后,添加
? rtl = true
在url的末尾;例如:http://localhost:3333/src/components/alert/test/basic?rtl=true
.
线头的变化
-
运行
NPM运行lint
来lint TypeScript和Sass。 -
如果有lint错误,运行
运行lint.fix
自动修复任何错误。重复步骤1以确保错误已被修复,如果没有,则手动修复。 -
要lint和修复TypeScript错误,请运行
NPM运行lint.ts
而且运行lint.ts.fix
,分别。 -
要lint并只修复Sass错误,请运行
运行lint.sass
而且运行lint.sass.fix
,分别。
修改文档
-
定位
readme.md
文件在组件目录中。 -
修改文档
以上
这一行写着
<!——下面自动生成——>
在这个文件中。 -
要更新该行以下的任何自动生成文档,请在以下地方进行相关更改:
使用
:更新该组件的使用示例使用/
目录属性
,事件
,或方法
:更新组件的TypeScript文件(* .tsx
)CSS自定义属性
:更新组件的主Sass文件(* .scss
)
修改测试
-
中要修改的测试
测试/
文件夹中的组件目录。 - 如果存在测试,则通过添加示例来修改测试,以再现已修复的问题或添加的特性。
-
如果需要一个新的测试,最简单的方法是复制
基本的/
目录测试/
目录中的内容,将其重命名并编辑index . html
而且e2e.ts
文件(见 测试截图 有关此文件的更多信息)。 -
的
预览/
目录在文档中用作演示。只有在测试中有bug,或者API有一个没有在测试中更新的更改时,才更新此测试。
测试截图
-
如果测试在屏幕截图中存在,则会有一个名为
e2e.ts
在测试的目录中。 -
可以通过包含该文件并添加一个或多个来添加截图测试
测试()
包含对。的调用page.compareScreenshot ()
.看到 模板端到端测试 中的现有测试核心/
为例子。 -
重要的是:
每一个
测试()
应该只有一个截图(page.compareScreenshot ()
)调用 或 它应该在每次测试结束时检查期望。如果有一个不匹配,它将失败的测试,这将阻止其余的测试运行,即如果第一个截图失败,其余的截图调用将不会被调用 除非 它们在单独的测试中,或者在最后调用所有的期望。 -
使用如下命令在本地运行截图:
NPM运行test.截图
.- 若要为特定测试运行截图,请传递测试的路径或要搜索的字符串。
-
例如,运行all
警报
测试:NPM运行test.截图警报
. -
或者,运行基本的
警报
测试:NPM运行test.截图src/components/alert/test/basic/e2e.ts
.
建筑的变化
-
完成所有更改并更新文档之后,运行
NPM运行构建
在内部核心
目录中。如果有必要,这会将您的更改添加到任何自动生成的文件中。 - 检查更改,如果一切正常, 提交 更改。
- 在提交之前确保构建已经完成。如果您对文档、属性、方法或其他任何需要更新生成文件的内容进行了更改,则需要提交此操作。
- 在推送更改之后,发布分支和 创建一个pull请求 .
提交拉请求
-
创建一个新的pull请求
与
主
分支机构为基地
.您可能需要点击跨fork进行比较
找到您的更改。 - 看到 从一个fork创建一个pull请求 GitHub帮助文章获取更多信息。
- 请尽你所能填写所提供的拉请求模板,并包括相关的任何问题。
提交消息指南
对于git提交消息的格式,我们有非常精确的规则。这将导致在查看项目历史记录时容易遵循的可读消息。我们还使用git提交消息来生成我们的 更新日志 .我们的格式与Angular的非常相似 提交消息指南 .
提交消息格式
我们遵循 常规提交规范 .提交消息由 头 , 身体 而且 页脚 .头文件有一个 类型 , 范围 而且 主题 :
():
的 头 是强制性的, 范围 是可选的。
回复
如果提交恢复了以前的提交,那么它应该从
回复:
,后面是返回提交的头文件。在身体里它应该说:
这将还原commit
,这里的散列是被还原的提交的SHA。
类型
如果前缀是
的壮举
,
修复
或
性能
,它将出现在更新日志中。然而,如果有任何
断变化
,提交将始终出现在更新日志中。
必须是以下之一:
- 的壮举 :一个新功能
- 修复 : bug修复
- 文档 文档只会更改
- 风格 :不影响代码含义的更改(空白、格式化、缺少分号等)
- 重构 :既不修复bug也不添加特性的代码更改
- 性能 :提高性能的代码更改
- 测验 :添加缺失的测试
- 烦人的事 :对构建过程或辅助工具和库(如文档生成)的更改
范围
作用域可以是指定提交更改位置的任何内容。通常它会引用一个组件,但它也可以引用一个实用程序。例如
动作表单
,
按钮
,
css
,
菜单
,
导航
等。如果对同一个组件进行多次提交,请保持该组件的命名一致。例如,如果您更改了导航,而第一次提交是
修复(nav)
,你应该继续使用
导航
用于更多与导航相关的提交。一般规则是,如果要修改组件,请使用文件夹的名称。
主题
主题包含了对变更的简洁描述:
- 使用祈使句,现在时:"change"而不是"changed"或"changes"
- 第一个字母不大写
-
不放句号
.
最后 - 提交消息的整个长度不能超过50个字符
- 描述提交做了什么,而不是它与什么问题相关或修复了什么问题
- 要简短,但要有描述性 -我们应该通过阅读主题来很好地理解commit做了什么
身体
就像在 主题 ,使用祈使句、现在时:“change”而不是“changed”或“changes”。主体应该包括改变的动机,并与之前的行为进行对比。
页脚
页脚应该包含关于 突发的变化 也是引用此提交的GitHub问题的地方 关闭 .
突发的变化
应该以单词开头吗
断变化:
用一个空格或两个换行符。然后使用提交消息的其余部分。
例子
不会出现在生成的更新日志中:
文档(changelog):更新要更新的步骤
出现在"Features"标题下,toast子标题:
Feat (toast):添加'buttons'属性
出现在“Bug Fixes”标题下,skeleton-text子标题下,带有第28个问题的链接:
修正(skeleton-text):使用正确的颜色当动画关闭#28
出现在“性能改进”标题下,以及“突破性更改”下面,并带有突破性更改解释:
perf(css):删除所有css实用属性BREAKING CHANGE:删除css实用属性。使用CSS类代替。
出现在“突破性变化”下,并带有突破性变化解释:
break CHANGE:删除旧的动画系统以使用新的Ionic动画。betway东盟体育app
下面的提交和提交
667年ecc1
如果它们在同一个版本下,则不要出现在更新日志中。如果不是,则还原提交出现在“Reverts”标头下。
这将还原提交667ecc1654a317a13331b17617d973392f415f02。
许可证
通过将您的代码贡献给ionic-team/ionic GitHubbetway东盟体育app Repository,您同意在MIT许可下授权您的贡献。