1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-04-13 17:09:45 +08:00

perf(scripts): 修改lint脚本,优化markdown文档格式化配置

This commit is contained in:
142vip.cn
2023-10-30 17:53:30 +08:00
parent dcdd48e64c
commit 717d7f7a09
8 changed files with 53 additions and 83 deletions

View File

@@ -1 +1,4 @@
node_modules
node_modules
.idea
.github
.husky

View File

@@ -65,7 +65,7 @@ jobs:
- name: Code LintFix
run: |
./scripts/lint --fix
./scripts/lint
- name: Build Site
run: |

80
.gitignore vendored
View File

@@ -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

View File

@@ -1,3 +1,4 @@
// 参考:<https://github.com/updownpress/markdown-lint/tree/master/rules>
module.exports = {
"default": true,
"MD001": false,
@@ -11,6 +12,9 @@ module.exports = {
"MD024": {
"allow_different_nesting": true
},
"MD025": {
"front_matter_title": ""
},
"MD033": {
"allowed_elements": [
"br",
@@ -65,4 +69,4 @@ module.exports = {
"MD042": false,
"MD046": false,
"MD049": false
}
}

View File

@@ -1,3 +1,6 @@
**/node_modules/**
CHANGELOG.md
LICENSE
.idea
.husky
.github

View File

@@ -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",

View File

@@ -37,4 +37,3 @@ fi
# 安装项目依赖
pnpm i --frozen-lockfile --registry https://registry.npmmirror.com

View File

@@ -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
]))()