16 changed files with 1093 additions and 256 deletions
@ -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'] |
|||
} |
|||
File diff suppressed because it is too large
Loading…
Reference in new issue