Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: update repo to use flat config && update integration tests #22

Merged
merged 27 commits into from
Jul 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
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
File renamed without changes.
11 changes: 0 additions & 11 deletions .eslintignore

This file was deleted.

137 changes: 0 additions & 137 deletions .eslintrc.js

This file was deleted.

3 changes: 2 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@
/docs/.vuepress/dist
/node_modules
/tests/fixtures
/tests-integrations/config-recommended
/tests-integrations

# ignore files
/CHANGELOG.md
/.github/ISSUE_TEMPLATE/
/.changeset/**/*.md
/pnpm-lock.yaml
File renamed without changes.
File renamed without changes.
142 changes: 142 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'
import markdown from 'eslint-plugin-markdown'
import tseslint from 'typescript-eslint'
import process from 'process'

export default [
eslintPluginPrettierRecommended,
...markdown.configs.recommended,
{
rules: {
'accessor-pairs': 2,
'brace-style': [2, '1tbs', { allowSingleLine: true }],
camelcase: [2, { properties: 'never' }],
'comma-dangle': [2, 'never'],
'constructor-super': 2,
curly: [2, 'multi-line'],
eqeqeq: [2, 'allow-null'],
'handle-callback-err': [2, '^(err|error)$'],
'new-cap': [2, { newIsCap: true, capIsNew: false }],
'new-parens': 2,
'no-array-constructor': 2,
'no-caller': 2,
'no-class-assign': 2,
'no-cond-assign': 2,
'no-const-assign': 2,
'no-control-regex': 2,
'no-delete-var': 2,
'no-dupe-args': 2,
'no-dupe-class-members': 2,
'no-dupe-keys': 2,
'no-duplicate-case': 2,
'no-empty-character-class': 2,
'no-empty-pattern': 2,
'no-eval': 2,
'no-ex-assign': 2,
'no-extend-native': 2,
'no-extra-bind': 2,
'no-extra-boolean-cast': 2,
'no-extra-parens': [2, 'functions'],
'no-fallthrough': 2,
'no-floating-decimal': 2,
'no-func-assign': 2,
'no-implied-eval': 2,
'no-inner-declarations': [2, 'functions'],
'no-invalid-regexp': 2,
'no-irregular-whitespace': 2,
'no-iterator': 2,
'no-label-var': 2,
'no-labels': [2, { allowLoop: false, allowSwitch: false }],
'no-lone-blocks': 2,
'no-mixed-spaces-and-tabs': 2,
'no-multi-str': 2,
'no-native-reassign': 2,
'no-negated-in-lhs': 2,
'no-new-object': 2,
'no-new-require': 2,
'no-new-symbol': 2,
'no-new-wrappers': 2,
'no-obj-calls': 2,
'no-octal': 2,
'no-octal-escape': 2,
'no-path-concat': 2,
'no-proto': 2,
'no-redeclare': 2,
'no-regex-spaces': 2,
'no-return-assign': [2, 'except-parens'],
'no-self-assign': 2,
'no-self-compare': 2,
'no-sequences': 2,
'no-shadow-restricted-names': 2,
'no-spaced-func': 2,
'no-sparse-arrays': 2,
'no-this-before-super': 2,
'no-throw-literal': 2,
'no-trailing-spaces': 2,
'no-undef': 2,
'no-undef-init': 2,
'no-unexpected-multiline': 2,
'no-unmodified-loop-condition': 2,
'no-unneeded-ternary': [2, { defaultAssignment: false }],
'no-unreachable': 2,
'no-unsafe-finally': 2,
'no-unused-vars': [2, { vars: 'all', args: 'none' }],
'no-useless-call': 2,
'no-useless-computed-key': 2,
'no-useless-constructor': 2,
'no-useless-escape': 0,
'no-whitespace-before-property': 2,
'no-with': 2,
'one-var': [2, { initialized: 'never' }],
'use-isnan': 2,
'valid-typeof': 2,
'wrap-iife': [2, 'any'],
yoda: [2, 'never'],
'prefer-const': 2,
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
'object-shorthand': 'error'
}
},
...tseslint.config({
files: ['*.ts'],
extends: [...tseslint.configs.recommended],
rules: {
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/consistent-type-imports': 'error'
},
languageOptions: {
parserOptions: {
parser: tseslint.parser
}
}
}),
{
files: ['*.vue'],
parser: 'vue-eslint-parser',
languageOptions: {
ecmaVersion: 2021,
sourceType: 'module'
}
},
{
files: ['js', 'ts', 'vue', 'svelte'].map(ext => [`**/*.md/*.${ext}`]),
processor: 'markdown/markdown',
rules: {
'prettier/prettier': 'off'
}
},
{
ignores: [
'!docs/.vuepress/',
'!.github/',
'!.vscode/',
'.nyc_output/',
'assets/',
'coverage/',
'dist/',
'docs/.vuepress/dist/',
'node_modules/',
'tests-integrations/'
]
}
]
17 changes: 10 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
}
},
"dependencies": {
"@types/node": "^20.14.9",
"debug": "^4.3.1",
"eslint-compat-utils": "^0.5.1",
"svelte-eslint-parser": ">=0.9.0 <1.0.0"
Expand All @@ -45,22 +46,24 @@
"@types/eslint": "^7.2.10",
"@types/eslint-scope": "^3.7.0",
"@types/eslint-visitor-keys": "^1.0.0",
"@types/mocha": "^10.0.7",
"@typescript-eslint/eslint-plugin": "^6.0.0",
"@typescript-eslint/parser": "^6.0.0",
"env-cmd": "^10.1.0",
"eslint": "^8.0.0",
"eslint-config-prettier": "^8.0.0",
"eslint-plugin-markdown": "^2.0.0",
"eslint-plugin-prettier": "^5.0.0",
"eslint": "^9.6.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-markdown": "^5.0.0",
"eslint-plugin-prettier": "^5.1.3",
"eslint4b": "^7.16.0",
"mocha": "^8.0.0",
"mocha": "^10.5.2",
"nyc": "^15.0.0",
"opener": "^1.5.1",
"prettier": "^3.0.0",
"rimraf": "^3.0.0",
"svelte": "^3.37.0",
"ts-node": "^9.0.0",
"typescript": "~5.0.0",
"typescript-eslint": "^7.14.1",
"vue-eslint-editor": "^1.1.0",
"vue-eslint-parser": "^7.6.0",
"vue-github-button": "^1.2.0",
Expand Down Expand Up @@ -95,14 +98,14 @@
"docs": "npm run build && vuepress dev docs",
"docs:build": "npm run build && vuepress build docs",
"generate": "ts-node --transpile-only scripts/update.ts && prettier . --write",
"lint": "eslint . --ext js,ts,vue,md --ignore-pattern \"/tests/fixtures\"",
"lint": "eslint . --ignore-pattern \"/tests/fixtures\"",
"lint:docs": "prettier docs --check",
"format": "yarn lint --fix && yarn format:docs",
"format:docs": "prettier docs --write",
"test": "mocha --require ts-node/register \"./tests/**/*.ts\"",
"test:debug": "mocha --require ts-node/register/transpile-only \"./tests/**/*.ts\"",
"test:coverage": "nyc mocha --require ts-node/register \"./tests/**/*.ts\" --timeout 60000",
"test:integrations": "mocha ./tests-integrations/*.js --timeout 60000",
"test:integrations": "mocha --require ts-node/register \"./tests-integrations/*.ts\" --timeout 60000",
"prerelease": "yarn build",
"release": "changeset publish",
"version:ci": "env-cmd -e version-ci yarn generate && changeset version"
Expand Down
38 changes: 0 additions & 38 deletions tests-integrations/config-recommended.js

This file was deleted.

Loading
Loading