Skip to content

Commit

Permalink
perf(scripts): 修改lint脚本,优化markdown文档格式化配置
Browse files Browse the repository at this point in the history
  • Loading branch information
142vip.cn committed Oct 30, 2023
1 parent dcdd48e commit 717d7f7
Show file tree
Hide file tree
Showing 8 changed files with 53 additions and 83 deletions.
5 changes: 4 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
node_modules
node_modules
.idea
.github
.husky
2 changes: 1 addition & 1 deletion .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ jobs:
- name: Code LintFix
run: |
./scripts/lint --fix
./scripts/lint
- name: Build Site
run: |
Expand Down
80 changes: 22 additions & 58 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,75 +1,39 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.vscode
.vscode/*
*/.DS_Store
.DS_Store
*/.vscode
.idea

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# docs
lib-cov

# Coverage directory used by tools like istanbul
coverage

*.lcov
# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Typescript v1 declaration files
# TypeScript v1 declaration files
typings/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.git
.vscode
.env
.DS_Store
# parcel-bundler cache (https://parceljs.org/)
.cache
# Next.js build output
.next
.nuxt
dist
lib
es
_site
yarn.lock
package-lock.json
/coverage

# useless files
templete
/docs/.vuepress/.temp/
/docs/.vuepress/.cache/
# Gatsby files
.cache/
# vuepress build output
# .vuepress/dist
docs/.vuepress/.cache/
docs/.vuepress/.temp/
docs/.vuepress/dist/
# TernJS port file
.tern-port
/.husky/
.vercel
6 changes: 5 additions & 1 deletion .markdownlint.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// 参考:<https://github.com/updownpress/markdown-lint/tree/master/rules>
module.exports = {
"default": true,
"MD001": false,
Expand All @@ -11,6 +12,9 @@ module.exports = {
"MD024": {
"allow_different_nesting": true
},
"MD025": {
"front_matter_title": ""
},
"MD033": {
"allowed_elements": [
"br",
Expand Down Expand Up @@ -65,4 +69,4 @@ module.exports = {
"MD042": false,
"MD046": false,
"MD049": false
}
}
3 changes: 3 additions & 0 deletions .markdownignore → .markdownlintignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
**/node_modules/**
CHANGELOG.md
LICENSE
.idea
.husky
.github
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"scripts": {
"preinstall": "chmod +x ./scripts/*",
"postinstall": "npm run build:mark-map",
"prepare": "rm -f .husky/pre-commit && husky install && npx husky add .husky/pre-commit \"./scripts/lint --fix\" && chmod +x .husky/pre-commit",
"prepare": "rm -f .husky/pre-commit && husky install && npx husky add .husky/pre-commit \"./scripts/lint\" && chmod +x .husky/pre-commit",
"dev": "vuepress dev docs",
"build": "./scripts/bundle build",
"build:proxy": "./scripts/bundle build_proxy",
Expand Down
1 change: 0 additions & 1 deletion scripts/ci
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,3 @@ fi

# 安装项目依赖
pnpm i --frozen-lockfile --registry https://registry.npmmirror.com

37 changes: 17 additions & 20 deletions scripts/lint
Original file line number Diff line number Diff line change
@@ -1,25 +1,22 @@
#!/usr/bin/env node
#!/bin/bash

/**
*
* 格式化代码
* 例如:
* - ./scripts/lint
* - ./scripts/lint --fix
*/
##
## 自动格式化
## - 代码
## - markdown文档
## 使用:
# - ./scripts/lint
## 参考链接:
## - https://eslint.org/docs/latest/use/getting-started
## - https://github.com/igorshubovych/markdownlint-cli
##

const {execShell} = require('./.exec')
const scriptName = process.argv[2]
const fixed = scriptName != null ? '--fix' : '';
# 设置 PATH 环境变量,避免command not found问题
export PATH="$(pnpm bin):$PATH"

// 格式化代码
const lintCode = `eslint ${fixed} --ext .js,.ts,.vue --ignore-path .gitignore .`;
# ESLint格式化代码
eslint --fix --ext .js,.ts,.vue --ignore-path .gitignore .

// 遍历格式化docs目录下的markdown 文档
const lintMd = 'find docs -type f -name \"*.md\" -print0 | xargs -0 -I {} markdownlint -c .markdownlint.js --fix {}';
# markdown-cli格式化markdown 文档
markdownlint '**/*.md' -c .markdownlint.js -p .markdownlintignore --fix

// 可以在--fix后指定目录
(async () => await execShell([
lintCode,
lintMd
]))()

0 comments on commit 717d7f7

Please sign in to comment.