Skip to content

Commit

Permalink
Merge branch 'main' of github.com:alibaba/f2e-spec
Browse files Browse the repository at this point in the history
  • Loading branch information
guoyunhe committed Apr 25, 2024
2 parents f7ad699 + c259009 commit 44f41a2
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 28 deletions.
59 changes: 35 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
# 阿里巴巴前端规约及配套工具

[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
# 阿里巴巴前端规约

## 简介

「阿里巴巴前端规约」是在阿里经济体内广泛使用的一套前端编码和工程规范,致力于通过统一编码风格、普及最佳实践和代码缺陷检查帮助团队降低协作成本、提升前端项目的可维护性和稳定性。

本项目主要包括「规约文档」和「配套工具」两部分。你可以通过阅读规约文档了解各前端语言、框架及工程规范,并使用 [F2ELint](https://www.npmjs.com/package/f2elint) 等配套工具来为项目接入规约检查。

### 规约文档
## 规约文档

规约文档分为编码规约和工程规约两大类,包括:

- 编码规约
- [HTML 编码规约](docs/coding/1.html-style-guide.md)
- [CSS 编码规约](docs/coding/2.css-style-guide.md)
- [JavaScript 编码规约](docs/coding/3.javascript-style-guide.md)
- [React 编码规约](docs/coding/4.react-style-guide.md)
- [Node.js 开发规约](docs/coding/5.node-style-guide.md)
- [TypeScript 编码规约](docs/coding/6.typescript-style-guide.md)
- [Rax 编码规约](docs/coding/7.rax-style-guide.md)
- [JavaScript 编码规约](docs/coding/javascript.md)
- [TypeScript 编码规约](docs/coding/typescript.md)
- [React 编码规约](docs/coding/react.md)
- [Node.js 开发规约](docs/coding/node.md)
- [CSS 编码规约](docs/coding/css.md)
- [HTML 编码规约](docs/coding/html.md)
- 工程规约
- [Git 规约](docs/engineering/1.git.md)
- [文档通用规约](docs/engineering/2.doc-writing-practice.md)
- [更新日志规约](docs/engineering/3.doc-changelog.md)
- [Git 规约](docs/engineering/git.md)
- [文档通用规约](docs/engineering/writing.md)
- [更新日志规约](docs/engineering/changelog.md)

### 配套工具
## 规约工具

我们引入了多个业界流行的 Linter 作为规约文档的配套工具,并根据规约内容定制了对应的规则包,它们包括:

| 规约 | Lint 工具 | 规则包 |
| -------- | -------- | -------- |
| 《JavaScript 编码规约》 <br/> 《TypeScript 编码规约》 <br/> 《React 编码规约》 <br/> 《Rax 编码规约》 <br/> 《Node.js 开发规约》 | [ESLint](https://eslint.org/) | [eslint-config-ali](https://www.npmjs.com/package/eslint-config-ali) |
| 《CSS 编码规约》 | [stylelint](https://stylelint.io/) | [stylelint-config-ali](https://www.npmjs.com/package/stylelint-config-ali) |
| 《Git 规约》 | [commitlint](https://commitlint.js.org/#/) | [commitlint-config-ali](https://www.npmjs.com/package/commitlint-config-ali) |
| 《文档通用规约》 | [markdownlint](https://github.com/DavidAnson/markdownlint) | [markdownlint-config-ali](https://www.npmjs.com/package/markdownlint-config-ali) |
| 规约 | 工具 | 规则 |
| ------------------- | -------------- | ------------------------- |
| JavaScript 编码规约 | [ESLint] | [eslint-config-ali] |
| TypeScript 编码规约 | [ESLint] | [eslint-config-ali] |
| React 编码规约 | [ESLint] | [eslint-config-ali] |
| Node.js 开发规约 | [ESLint] | [eslint-config-ali] |
| CSS 编码规约 | [stylelint] | [stylelint-config-ali] |
| Git 规约 | [commitlint] | [commitlint-config-ali] |
| 文档通用规约 | [markdownlint] | [markdownlint-config-ali] |

可以看到这些 Linter 和规则包众多且零散,全部安装它们会给项目增加十几个依赖,接入及后续升级成本都比较高。

Expand All @@ -46,14 +46,16 @@

非常欢迎大家通过 [Issues](https://github.com/alibaba/f2e-spec/issues) 反馈问题和需求,或者通过 [PRs](https://github.com/alibaba/f2e-spec/pulls) 参与贡献,请参考 [CONTRIBUTING.md](/CONTRIBUTING.md)

## 贡献者信息
## 贡献署名

文档撰写人员(排名不分先后):邦彦、尘弦、迟帆、大果、氐宿、法海、姬无、倞羽、连木、林熠、零弌、墨止、牧曈、霂之、年翼、清锐、萨波、释然、双龙、苏青、阎罗、扬炀、洋风、云谦、载天、梓骞

文档审阅人员(排名不分先后):大貘、九十、狼叔、龙归、秦粤、上坡、死月、苏千、吞吞、潕量、艺璇、游鹿、裕波、张挺、知忧

工具编写人员(排名不分先后):尘弦、鹤仙、连木、牧曈、年翼、秦粤、萨波、双龙、扬炀、洋风

[其他贡献者参见此处](https://github.com/alibaba/f2e-spec/graphs/contributors)

## 引用信息及鸣谢

本项目的文档部分参考或引用了许多优秀的业界开源规范、标准化文档和技术官网,它们主要包括:
Expand All @@ -73,8 +75,17 @@
本项目的配套工具使用了多个优秀的 Linter、Formatter 及社区生态,主要包括:

- [ESLint](https://eslint.org)[多个 plugin 和 parser](https://github.com/alibaba/f2e-spec/tree/main/packages/eslint-config-ali#eslint-config-ali)
- [stylelint](https://stylelint.io/)[stylelint-scss](https://github.com/kristerkari/stylelint-scss)
- [commitlint](https://commitlint.js.org/#/)[conventional-changelog-conventionalcommits](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-conventionalcommits)
- [stylelint][stylelint-scss](https://github.com/kristerkari/stylelint-scss)
- [commitlint][conventional-changelog-conventionalcommits](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-conventionalcommits)
- [markdownlint](https://github.com/DavidAnson/markdownlint)

在此表示感谢,如有侵权行为,敬请联系我们 :-)

[ESLint]: https://eslint.org/
[eslint-config-ali]: https://www.npmjs.com/package/eslint-config-ali
[stylelint]: https://stylelint.io/
[stylelint-config-ali]: https://www.npmjs.com/package/stylelint-config-ali
[commitlint]: https://commitlint.js.org/
[commitlint-config-ali]: https://www.npmjs.com/package/commitlint-config-ali
[markdownlint]: https://github.com/DavidAnson/markdownlint
[markdownlint-config-ali]: https://www.npmjs.com/package/markdownlint-config-ali
4 changes: 4 additions & 0 deletions packages/f2elint/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# 更新日志

## 4.7.0 - 2024-04-18

- 自动更新依赖版本

## 4.6.0 - 2024-04-07

- Prettier 格式化创建/更新的文件
Expand Down
6 changes: 3 additions & 3 deletions packages/f2elint/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "f2elint",
"version": "4.6.0",
"version": "4.7.0",
"description": "Linter for Alibaba F2E Guidelines",
"keywords": [
"f2elint",
Expand Down Expand Up @@ -71,12 +71,12 @@
"chalk": "^5.3.0",
"command-exists": "^1.2.9",
"commander": "^12.0.0",
"init-roll": "^1.2.0",
"init-roll": "^1.3.0",
"prettier-config-ali": "workspace:^"
},
"devDependencies": {
"@types/command-exists": "^1.2.3",
"@types/node": "^20.12.5",
"@types/node": "^20.12.7",
"eslint": "^8.57.0",
"eslint-config-ali": "workspace:^",
"eslint-config-prettier": "^9.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/f2elint/src/f2elint.ts
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,6 @@ if (process.argv.length > 2 && !process.argv.includes('init')) {
}
}
outro('🎉 规约初始化完成,建议安装推荐插件并重启 VS Code');
outro('🎉 规约初始化完成,建议安装推荐的 VS Code 插件并重启 VS Code');
})();
}
1 change: 1 addition & 0 deletions packages/f2elint/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export async function f2elint(project: string | null = '.', options: F2elintOpti
init(join(__dirname, '..', 'templates', t), projectFullPath, options, {
disableLog: options.disableLog,
prettier,
bumpDependencies: true,
});

await initTemplate('base');
Expand Down

0 comments on commit 44f41a2

Please sign in to comment.