Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .browserslistrc

This file was deleted.

10 changes: 10 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
root = true

[*]
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true
max_line_length = 120
end_of_line = lf
indent_style = space
indent_size = 4
228 changes: 153 additions & 75 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,82 +1,160 @@
module.exports = {
extends: ["plugin:vue/recommended", "plugin:prettier-vue/recommended", "prettier"],

settings: {
"prettier-vue": {
// Settings for how to process Vue SFC Blocks
SFCBlocks: {
/**
* Use prettier to process `<template>` blocks or not
*
* If set to `false`, you may need to enable those vue rules that are disabled by `eslint-config-prettier`,
* because you need them to lint `<template>` blocks
*
* @default true
*/
template: true,

/**
* Use prettier to process `<script>` blocks or not
*
* If set to `false`, you may need to enable those rules that are disabled by `eslint-config-prettier`,
* because you need them to lint `<script>` blocks
*
* @default true
*/
script: true,

/**
* Use prettier to process `<style>` blocks or not
*
* @default true
*/
style: true,

// Settings for how to process custom blocks
customBlocks: {
// Treat the `<docs>` block as a `.markdown` file
docs: { lang: "markdown" },

// Treat the `<config>` block as a `.json` file
config: { lang: "json" },

// Treat the `<module>` block as a `.js` file
module: { lang: "js" },

// Ignore `<comments>` block (omit it or set it to `false` to ignore the block)
comments: false
root: true,
env: {
node: true
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
'plugin:vue/vue3-recommended',
'@vue/typescript/recommended',
],
plugins: [
'vue'
],
ignorePatterns: [
'node_modules',
'*.js'
],
parserOptions: {
ecmaVersion: 2020,
parser: '@typescript-eslint/parser',
sourceType: 'module',
project: './tsconfig.json',
tsconfigRootDir: __dirname,
extraFileExtensions: ['.vue'],
},
rules: {
// https://eslint.org/docs/rules/
'no-console': 'warn',
'no-debugger': 'warn',
'semi': 'off',
'indent': 'off',
'no-unused-expressions': 'off',
'space-before-function-paren': ['warn', {
'anonymous': 'never',
'named': 'never',
'asyncArrow': 'always'
}],
'no-trailing-spaces': 'warn',
'no-any': 'off',
'no-prototype-builtins': 'off',
'no-unused-vars': 'off',
'prefer-rest-params': 'warn',
'no-extra-parens': 'off',
'quotes': 'off',
'func-call-spacing': 'off',
'comma-spacing': 'off',
'keyword-spacing': 'off',
'object-curly-spacing': ['warn', 'always'],
'comma-dangle': ['warn', 'never'],
'max-len': ['warn', 120],
'eqeqeq': 'error',

// Other custom blocks that are not listed here will be ignored
}
// https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#supported-rules
'@typescript-eslint/indent': ['warn', 4],
'@typescript-eslint/semi': 'error',
'@typescript-eslint/no-unused-expressions': ['error', {
allowTernary: true,
allowShortCircuit: true
}],
'@typescript-eslint/quotes': ['warn', 'single'],
'@typescript-eslint/no-extra-parens': 'error',
'@typescript-eslint/no-unused-vars': 'warn',
'@typescript-eslint/no-useless-constructor': 'warn',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/no-unsafe-return': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/explicit-module-boundary-types': ['error', {
allowArgumentsExplicitlyTypedAsAny: true,
allowedNames: ['setup']
}],
'@typescript-eslint/prefer-nullish-coalescing': 'warn',
'@typescript-eslint/prefer-optional-chain': 'warn',
'@typescript-eslint/prefer-ts-expect-error': 'warn',
'@typescript-eslint/promise-function-async': 'error',
'@typescript-eslint/func-call-spacing': ['error', 'never'],
'@typescript-eslint/comma-spacing': 'warn',
'@typescript-eslint/keyword-spacing': 'warn',
// '@typescript-eslint/consistent-indexed-object-style': ['error', 'record'], // waiting on dependency updates
// '@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports' }],
'@typescript-eslint/member-delimiter-style': 'warn',
'@typescript-eslint/type-annotation-spacing': 'warn',
'@typescript-eslint/naming-convention': ['error',
{
selector: 'default',
format: ['camelCase']
},

// Use prettierrc for prettier options or not (default: `true`)
usePrettierrc: true,

// Set the options for `prettier.getFileInfo`.
// @see https://prettier.io/docs/en/api.html#prettiergetfileinfofilepath-options
fileInfoOptions: {
// Path to ignore file (default: `'.prettierignore'`)
// Notice that the ignore file is only used for this plugin
ignorePath: ".testignore",

// Process the files in `node_modules` or not (default: `false`)
withNodeModules: false
{
selector: 'objectLiteralProperty',
format: ['camelCase', 'PascalCase']
},
{
selector: 'typeLike',
format: ['PascalCase']
},
{
selector: 'parameter',
format: null,
filter: {
regex: '^_.*',
match: true
}
}
}
},
],
'@typescript-eslint/no-non-null-assertion': 'off',

rules: {
"prettier-vue/prettier": [
"error",
{
// Override all options of `prettier` here
// @see https://prettier.io/docs/en/options.html
printWidth: 100,
singleQuote: false,
semi: true,
trailingComma: "none"
// https://eslint.vuejs.org/rules/
// if unsure and eslint doesn't cover it please refer to https://v3.vuejs.org/style-guide/
'vue/html-indent': ['warn', 4],
'vue/component-name-in-template-casing': ['warn', 'PascalCase'],
'vue/match-component-file-name': ['off', { // until we have storybook working
extensions: ['jsx', 'vue', 'tsx']
}],
'vue/new-line-between-multi-line-property': 'warn',
'vue/max-attributes-per-line': [
'warn', {
'singleline': 3,
'multiline': 1
}
]
],
'vue/first-attribute-linebreak': ['warn', {
'singleline': 'ignore',
'multiline': 'beside'
}],
'vue/no-boolean-default': ['error', 'default-false'],
'vue/no-duplicate-attr-inheritance': 'error',
'vue/no-empty-component-block': 'warn',
'vue/no-multiple-objects-in-class': 'error',
'vue/no-potential-component-option-typo': ['error', {
presets: ['vue', 'vue-router']
}],
'vue/no-reserved-component-names': ['error', {
'disallowVueBuiltInComponents': true,
'disallowVue3BuiltInComponents': true
}],
'vue/no-template-target-blank': 'error',
'vue/no-unsupported-features': ['error', {
'version': '^3.0.0'
}],
'vue/no-useless-mustaches': 'warn',
'vue/no-useless-v-bind': 'error',
'vue/padding-line-between-blocks': 'warn',
'vue/require-name-property': 'error',
'vue/v-for-delimiter-style': 'error',
'vue/v-on-event-hyphenation': 'error',
'vue/v-on-function-call': ['error', 'never', {
'ignoreIncludesComment': true
}],
'vue/eqeqeq': 'error',
'vue/no-extra-parens': 'warn',
'vue/html-closing-bracket-newline': ['warn', {
'multiline': 'never'
}],
'vue/no-v-html': 'off',
'vue/require-default-prop': 'off',
'vue/no-v-text-v-html-on-component': 'off'
}
};
}
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: nandi95
27 changes: 27 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version: 2
updates:

- package-ecosystem: npm
directory: '/'
target-branch: release/0.x
schedule:
interval: monthly
time: '00:00'
open-pull-requests-limit: 10
commit-message:
prefix: fix
prefix-development: chore
include: scope


- package-ecosystem: github-actions
directory: '/'
target-branch: release/0.x
schedule:
interval: monthly
time: '00:00'
open-pull-requests-limit: 10
commit-message:
prefix: fix
prefix-development: chore
include: scope
36 changes: 36 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<!---
☝️ PR title should follow conventional commits (https://conventionalcommits.org)

Please carefully read the contribution docs before creating a pull request
👉 https://upfrontjs.com/prologue/contributing.html
-->

### 🔗 Linked issue

<!-- Please ensure there is an open issue and mention its number as #123 -->

### ❓ Type of change

<!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply. -->

- [ ] 📖 Documentation (updates to the documentation or readme)
- [ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
- [ ] 👌 Enhancement (improving an existing functionality like performance)
- [ ] ✨ New feature (a non-breaking change that adds functionality)
- [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to change)

### 📚 Description

<!-- Describe your changes in detail -->
<!-- Why is this change required? What problem does it solve? -->
<!-- If it resolves an open issue, please link to the issue here. For example "Resolves #1337" -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. -->

- [ ] I have linked an issue or discussion.
- [ ] I have updated the documentation accordingly.

30 changes: 10 additions & 20 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,22 +1,12 @@
.DS_Store
node_modules
/build
/dist

# local env files
.env.local
.env.*.local

# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Editor directories and files
.DS_Store
*.local
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

# distribution files
dist
index.css
index.es.js
index.umd.js
types
vue-toastify-*
5 changes: 0 additions & 5 deletions .prettierrc

This file was deleted.

Loading