parent
04b9910a56
commit
a0482d493b
@ -0,0 +1,9 @@ |
||||
#!/bin/sh |
||||
command_exists () { |
||||
command -v "$1" >/dev/null 2>&1 |
||||
} |
||||
|
||||
# Workaround for Windows 10, Git Bash and Yarn |
||||
if command_exists winpty && test -t 1; then |
||||
exec < /dev/tty |
||||
fi |
@ -0,0 +1,8 @@ |
||||
module.exports = { |
||||
'*.{js,jsx,ts,tsx}': ['eslint --fix', 'prettier --write'], |
||||
'{!(package)*.json,*.code-snippets,.!(browserslist)*rc}': ['prettier --write--parser json'], |
||||
'package.json': ['prettier --write'], |
||||
'*.vue': ['eslint --fix', 'prettier --write', 'stylelint --fix'], |
||||
'*.{scss,less,styl,html}': ['stylelint --fix', 'prettier --write'], |
||||
'*.md': ['prettier --write'] |
||||
} |
@ -1,4 +1,10 @@ |
||||
#!/bin/sh |
||||
. "$(dirname "$0")/_/husky.sh" |
||||
. "$(dirname "$0")/common.sh" |
||||
|
||||
npx lint-staged |
||||
[ -n "$CI" ] && exit 0 |
||||
|
||||
# Format and submit code according to lintstagedrc.js configuration |
||||
npm run lint:lint-staged |
||||
|
||||
npm run lint:pretty |
||||
|
@ -0,0 +1,3 @@ |
||||
/dist/* |
||||
/public/* |
||||
public/* |
@ -0,0 +1,208 @@ |
||||
module.exports = { |
||||
root: true, |
||||
plugins: ['stylelint-order'], |
||||
extends: ['stylelint-config-standard', 'stylelint-config-prettier'], |
||||
rules: { |
||||
'selector-pseudo-class-no-unknown': [ |
||||
true, |
||||
{ |
||||
ignorePseudoClasses: ['global'] |
||||
} |
||||
], |
||||
'selector-pseudo-element-no-unknown': [ |
||||
true, |
||||
{ |
||||
ignorePseudoElements: ['v-deep'] |
||||
} |
||||
], |
||||
'at-rule-no-unknown': [ |
||||
true, |
||||
{ |
||||
ignoreAtRules: ['function', 'if', 'each', 'include', 'mixin'] |
||||
} |
||||
], |
||||
'no-empty-source': null, |
||||
'named-grid-areas-no-invalid': null, |
||||
'unicode-bom': 'never', |
||||
'no-descending-specificity': null, |
||||
'font-family-no-missing-generic-family-keyword': null, |
||||
'declaration-colon-space-after': 'always-single-line', |
||||
'declaration-colon-space-before': 'never', |
||||
'declaration-block-trailing-semicolon': 'always', |
||||
'rule-empty-line-before': [ |
||||
'always', |
||||
{ |
||||
ignore: ['after-comment', 'first-nested'] |
||||
} |
||||
], |
||||
'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }], |
||||
'order/order': [ |
||||
[ |
||||
'dollar-variables', |
||||
'custom-properties', |
||||
'at-rules', |
||||
'declarations', |
||||
{ |
||||
type: 'at-rule', |
||||
name: 'supports' |
||||
}, |
||||
{ |
||||
type: 'at-rule', |
||||
name: 'media' |
||||
}, |
||||
'rules' |
||||
], |
||||
{ severity: 'warning' } |
||||
], |
||||
// Specify the alphabetical order of the attributes in the declaration block
|
||||
'order/properties-order': [ |
||||
'position', |
||||
'top', |
||||
'right', |
||||
'bottom', |
||||
'left', |
||||
'z-index', |
||||
'display', |
||||
'float', |
||||
'width', |
||||
'height', |
||||
'max-width', |
||||
'max-height', |
||||
'min-width', |
||||
'min-height', |
||||
'padding', |
||||
'padding-top', |
||||
'padding-right', |
||||
'padding-bottom', |
||||
'padding-left', |
||||
'margin', |
||||
'margin-top', |
||||
'margin-right', |
||||
'margin-bottom', |
||||
'margin-left', |
||||
'margin-collapse', |
||||
'margin-top-collapse', |
||||
'margin-right-collapse', |
||||
'margin-bottom-collapse', |
||||
'margin-left-collapse', |
||||
'overflow', |
||||
'overflow-x', |
||||
'overflow-y', |
||||
'clip', |
||||
'clear', |
||||
'font', |
||||
'font-family', |
||||
'font-size', |
||||
'font-smoothing', |
||||
'osx-font-smoothing', |
||||
'font-style', |
||||
'font-weight', |
||||
'hyphens', |
||||
'src', |
||||
'line-height', |
||||
'letter-spacing', |
||||
'word-spacing', |
||||
'color', |
||||
'text-align', |
||||
'text-decoration', |
||||
'text-indent', |
||||
'text-overflow', |
||||
'text-rendering', |
||||
'text-size-adjust', |
||||
'text-shadow', |
||||
'text-transform', |
||||
'word-break', |
||||
'word-wrap', |
||||
'white-space', |
||||
'vertical-align', |
||||
'list-style', |
||||
'list-style-type', |
||||
'list-style-position', |
||||
'list-style-image', |
||||
'pointer-events', |
||||
'cursor', |
||||
'background', |
||||
'background-attachment', |
||||
'background-color', |
||||
'background-image', |
||||
'background-position', |
||||
'background-repeat', |
||||
'background-size', |
||||
'border', |
||||
'border-collapse', |
||||
'border-top', |
||||
'border-right', |
||||
'border-bottom', |
||||
'border-left', |
||||
'border-color', |
||||
'border-image', |
||||
'border-top-color', |
||||
'border-right-color', |
||||
'border-bottom-color', |
||||
'border-left-color', |
||||
'border-spacing', |
||||
'border-style', |
||||
'border-top-style', |
||||
'border-right-style', |
||||
'border-bottom-style', |
||||
'border-left-style', |
||||
'border-width', |
||||
'border-top-width', |
||||
'border-right-width', |
||||
'border-bottom-width', |
||||
'border-left-width', |
||||
'border-radius', |
||||
'border-top-right-radius', |
||||
'border-bottom-right-radius', |
||||
'border-bottom-left-radius', |
||||
'border-top-left-radius', |
||||
'border-radius-topright', |
||||
'border-radius-bottomright', |
||||
'border-radius-bottomleft', |
||||
'border-radius-topleft', |
||||
'content', |
||||
'quotes', |
||||
'outline', |
||||
'outline-offset', |
||||
'opacity', |
||||
'filter', |
||||
'visibility', |
||||
'size', |
||||
'zoom', |
||||
'transform', |
||||
'box-align', |
||||
'box-flex', |
||||
'box-orient', |
||||
'box-pack', |
||||
'box-shadow', |
||||
'box-sizing', |
||||
'table-layout', |
||||
'animation', |
||||
'animation-delay', |
||||
'animation-duration', |
||||
'animation-iteration-count', |
||||
'animation-name', |
||||
'animation-play-state', |
||||
'animation-timing-function', |
||||
'animation-fill-mode', |
||||
'transition', |
||||
'transition-delay', |
||||
'transition-duration', |
||||
'transition-property', |
||||
'transition-timing-function', |
||||
'background-clip', |
||||
'backface-visibility', |
||||
'resize', |
||||
'appearance', |
||||
'user-select', |
||||
'interpolation-mode', |
||||
'direction', |
||||
'marks', |
||||
'page', |
||||
'set-link-source', |
||||
'unicode-bidi', |
||||
'speak' |
||||
] |
||||
}, |
||||
ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'] |
||||
} |
Loading…
Reference in new issue