Skip to content

Commits on Source 2

## [3.1.2](https://gitlab.kilic.dev/config/eslint-config/compare/v3.1.1...v3.1.2) (2024-10-19)
### Bug Fixes
* update configuration with the file types ([42843c9](https://gitlab.kilic.dev/config/eslint-config/commit/42843c90630c15223f53c246ceb69532d093cc53))
## [3.1.1](https://gitlab.kilic.dev/config/eslint-config/compare/v3.1.0...v3.1.1) (2024-10-19)
......
export const EXTENSIONS_JAVASCRIPT = ['**/*.js', '**/*.mjs', '**/*.cjs', '**/*.jsx']
export const EXTENSIONS_TYPESCRIPT = ['**/*.ts', '**/*.mts', '**/*.cts', '**/*.tsx']
export const EXTENSIONS_VUE = ['**/*.vue']
export const EXTENSIONS_SVELTE = ['**/*.svelte']
export function mapExtensions(extensions) {
return extensions.flatMap((ext) => [`*.${ext}`, `**/*.${ext}`])
}
export const EXTENSIONS = [EXTENSIONS_JAVASCRIPT, '**/*.vue', '**/*.svelte', ...EXTENSIONS_TYPESCRIPT]
const javascript = ['js', 'mjs', 'cjs', 'jsx']
const typescript = ['ts', 'mts', 'cts', 'tsx']
const vue = ['vue']
const svelte = ['svelte']
export const EXTENSIONS_JAVASCRIPT = mapExtensions(javascript)
export const EXTENSIONS_TYPESCRIPT = mapExtensions(typescript)
export const EXTENSIONS_VUE = mapExtensions(vue)
export const EXTENSIONS_SVELTE = mapExtensions(svelte)
export const EXTENSIONS = [...EXTENSIONS_JAVASCRIPT, ...EXTENSIONS_TYPESCRIPT, ...EXTENSIONS_VUE, ...EXTENSIONS_SVELTE]
import { EXTENSIONS_JAVASCRIPT } from './constants.js'
import ConfigJavascript from './javascript.js'
/** @type {import("eslint").Linter.Config[]} */
export default [
...ConfigJavascript,
{
files: ['**/*.js']
files: [...EXTENSIONS_JAVASCRIPT]
}
]
......@@ -4,6 +4,7 @@ import { EXTENSIONS } from './constants.js'
/** @type {import("eslint").Linter.Config[]} */
export default [
{
name: 'cenk1cenk2/import/strict',
files: [...EXTENSIONS],
plugins: {
import: ImportPlugin
......
......@@ -4,6 +4,7 @@ import { EXTENSIONS } from './constants.js'
/** @type {import("eslint").Linter.Config[]} */
export default [
{
name: 'cenk1cenk2/import/recommended',
files: [...EXTENSIONS],
plugins: { import: ImportPlugin },
rules: {
......
......@@ -4,6 +4,7 @@ import ConfigJavascript from './javascript.js'
import ConfigTypescriptDynamic from './typescript-dynamic.js'
import ConfigTypescript from './typescript.js'
import * as utils from './utils.js'
import * as constants from './constants.js'
export const configs = {
['javascript']: ConfigJavascript,
......@@ -13,4 +14,4 @@ export const configs = {
['typescript-dynamic']: ConfigTypescriptDynamic
}
export { utils }
export { utils, constants }
......@@ -7,8 +7,11 @@ import { EXTENSIONS } from './constants.js'
/** @type {import("eslint").Linter.Config[]} */
export default [
JavascriptPlugin.configs.recommended,
...ConfigImports,
{
name: 'cenk1cenk2/javascript/recommended',
files: [...EXTENSIONS],
languageOptions: {
globals: {
......
{
"name": "@cenk1cenk2/eslint-config",
"version": "3.1.1",
"version": "3.1.2",
"description": "Eslint configuration for my taste.",
"main": "index.js",
"repository": "git@gitlab.kilic.dev:config/eslint-config.git",
......@@ -75,7 +75,8 @@
"eslint-plugin-vue": "^9.29.0",
"lint-staged": "^15.2.10",
"prettier": "^3.3.3",
"simple-git-hooks": "^2.11.1"
"simple-git-hooks": "^2.11.1",
"svelte": "^5.0.0"
},
"config": {
"commitizen": {
......
......@@ -63,9 +63,16 @@ importers:
simple-git-hooks:
specifier: ^2.11.1
version: 2.11.1
svelte:
specifier: ^5.0.0
version: 5.0.0
packages:
'@ampproject/remapping@2.3.0':
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
'@babel/code-frame@7.25.7':
resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==}
engines: {node: '>=6.9.0'}
......@@ -156,9 +163,27 @@ packages:
resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
engines: {node: '>=18.18'}
'@jridgewell/gen-mapping@0.3.5':
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
engines: {node: '>=6.0.0'}
'@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
'@jridgewell/set-array@1.2.1':
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
'@jridgewell/sourcemap-codec@1.4.15':
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
'@jridgewell/sourcemap-codec@1.5.0':
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
'@listr2/prompt-adapter-enquirer@2.0.12':
resolution: {integrity: sha512-WR1RvaiRuSOQ8i8Hr6CLlPXFsL2u9xwoADKYD2GeUsk7EBOx7cb9GFvJhHnlVUZq4LaPvY1U1NtrgXoslteaVA==}
engines: {node: '>=18.0.0'}
......@@ -274,6 +299,11 @@ packages:
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
acorn-typescript@1.4.13:
resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==}
peerDependencies:
acorn: '>=8.9.0'
acorn@8.13.0:
resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==}
engines: {node: '>=0.4.0'}
......@@ -320,6 +350,10 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
aria-query@5.3.2:
resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
engines: {node: '>= 0.4'}
array-buffer-byte-length@1.0.1:
resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
engines: {node: '>= 0.4'}
......@@ -352,6 +386,10 @@ packages:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
axobject-query@4.1.0:
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
engines: {node: '>= 0.4'}
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
......@@ -703,6 +741,9 @@ packages:
jiti:
optional: true
esm-env@1.0.0:
resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
espree@10.2.0:
resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
......@@ -715,6 +756,9 @@ packages:
resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
engines: {node: '>=0.10'}
esrap@1.2.2:
resolution: {integrity: sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==}
esrecurse@4.3.0:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
engines: {node: '>=4.0'}
......@@ -1029,6 +1073,9 @@ packages:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
is-reference@3.0.2:
resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
engines: {node: '>= 0.4'}
......@@ -1140,6 +1187,9 @@ packages:
resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
locate-character@3.0.0:
resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
locate-path@6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
......@@ -1178,6 +1228,9 @@ packages:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
magic-string@0.30.12:
resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==}
merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
......@@ -1596,6 +1649,10 @@ packages:
svelte:
optional: true
svelte@5.0.0:
resolution: {integrity: sha512-jv2IvTtakG58DqZMo6fY3T6HFmGV4iDQH2lSUyfmCEYaoa+aCNcF+9rERbdDvT4XDF0nQBg6TEoJn0dirED8VQ==}
engines: {node: '>=18'}
text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
......@@ -1740,8 +1797,16 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
zimmerframe@1.1.2:
resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==}
snapshots:
'@ampproject/remapping@2.3.0':
dependencies:
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
'@babel/code-frame@7.25.7':
dependencies:
'@babel/highlight': 7.25.7
......@@ -1868,8 +1933,25 @@ snapshots:
'@humanwhocodes/retry@0.3.1': {}
'@jridgewell/gen-mapping@0.3.5':
dependencies:
'@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping': 0.3.25
'@jridgewell/resolve-uri@3.1.2': {}
'@jridgewell/set-array@1.2.1': {}
'@jridgewell/sourcemap-codec@1.4.15': {}
'@jridgewell/sourcemap-codec@1.5.0': {}
'@jridgewell/trace-mapping@0.3.25':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
'@listr2/prompt-adapter-enquirer@2.0.12(enquirer@2.4.1)':
dependencies:
enquirer: 2.4.1
......@@ -2015,6 +2097,10 @@ snapshots:
dependencies:
acorn: 8.13.0
acorn-typescript@1.4.13(acorn@8.13.0):
dependencies:
acorn: 8.13.0
acorn@8.13.0: {}
ajv@6.12.6:
......@@ -2058,6 +2144,8 @@ snapshots:
argparse@2.0.1: {}
aria-query@5.3.2: {}
array-buffer-byte-length@1.0.1:
dependencies:
call-bind: 1.0.7
......@@ -2112,6 +2200,8 @@ snapshots:
dependencies:
possible-typed-array-names: 1.0.0
axobject-query@4.1.0: {}
balanced-match@1.0.2: {}
base64-js@1.5.1: {}
......@@ -2571,6 +2661,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
esm-env@1.0.0: {}
espree@10.2.0:
dependencies:
acorn: 8.13.0
......@@ -2587,6 +2679,11 @@ snapshots:
dependencies:
estraverse: 5.3.0
esrap@1.2.2:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
'@types/estree': 1.0.6
esrecurse@4.3.0:
dependencies:
estraverse: 5.3.0
......@@ -2917,6 +3014,10 @@ snapshots:
is-number@7.0.0: {}
is-reference@3.0.2:
dependencies:
'@types/estree': 1.0.6
is-regex@1.1.4:
dependencies:
call-bind: 1.0.7
......@@ -3030,6 +3131,8 @@ snapshots:
load-tsconfig@0.2.5: {}
locate-character@3.0.0: {}
locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
......@@ -3068,6 +3171,10 @@ snapshots:
dependencies:
yallist: 4.0.0
magic-string@0.30.12:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
merge-stream@2.0.0: {}
merge2@1.4.1: {}
......@@ -3462,6 +3569,22 @@ snapshots:
postcss: 8.4.38
postcss-scss: 4.0.9(postcss@8.4.38)
svelte@5.0.0:
dependencies:
'@ampproject/remapping': 2.3.0
'@jridgewell/sourcemap-codec': 1.5.0
'@types/estree': 1.0.6
acorn: 8.13.0
acorn-typescript: 1.4.13(acorn@8.13.0)
aria-query: 5.3.2
axobject-query: 4.1.0
esm-env: 1.0.0
esrap: 1.2.2
is-reference: 3.0.2
locate-character: 3.0.0
magic-string: 0.30.12
zimmerframe: 1.1.2
text-table@0.2.0: {}
through@2.3.8: {}
......@@ -3624,3 +3747,5 @@ snapshots:
yaml@2.5.1: {}
yocto-queue@0.1.0: {}
zimmerframe@1.1.2: {}
import svelte from 'eslint-plugin-svelte'
import SveltePlugin from 'eslint-plugin-svelte'
import TypescriptParser from '@typescript-eslint/parser'
import SvelteParser from 'svelte-eslint-parser'
import typescript from './typescript-dynamic.js'
import ConfigTypescript from './typescript-dynamic.js'
import { EXTENSIONS_SVELTE, EXTENSIONS_TYPESCRIPT } from './constants.js'
/** @type {import("eslint").Linter.Config[]} */
export default [
...svelte.configs['flat/recommended'],
...typescript,
...SveltePlugin.configs['flat/recommended'],
...ConfigTypescript,
{
files: ['**/*.svelte'],
name: 'cenk1cenk2/svelte/typescript/recommended',
files: [...EXTENSIONS_SVELTE],
languageOptions: {
parser: 'svelte-eslint-parser',
parser: SvelteParser,
parserOptions: {
parser: '@typescript-eslint/parser',
parser: TypescriptParser,
extraFileExtensions: ['.svelte']
}
},
......
import { EXTENSIONS_TYPESCRIPT } from './constants.js'
import ConfigTypescript from './typescript.js'
/** @type {import("eslint").Linter.Config[]} */
export default [
...ConfigTypescript,
{
files: ['**/*.ts', '**/*.tsx', '**/*.vue', '**/*.svelte'],
name: 'cenk1cenk2/typescript-dynamic/recommended',
files: [...EXTENSIONS_TYPESCRIPT],
languageOptions: {
parserOptions: {
project: 'tsconfig.json'
......
......@@ -7,12 +7,13 @@ import { EXTENSIONS_TYPESCRIPT } from './constants.js'
export default [
...ConfigJavascript,
...TypescriptEslint.configs.recommended.map((config) => {
config.files = EXTENSIONS_TYPESCRIPT
config.files = [...EXTENSIONS_TYPESCRIPT]
return config
}),
{
files: EXTENSIONS_TYPESCRIPT,
name: 'cenk1cenk2/typescript/recommended',
files: [...EXTENSIONS_TYPESCRIPT],
plugins: {
'@typescript-eslint': TypescriptEslintPlugin
},
......
import VuePlugin from 'eslint-plugin-vue'
import VueTypescriptConfig from '@vue/eslint-config-typescript'
import VuePlugin from 'eslint-plugin-vue'
import { EXTENSIONS_VUE } from './constants.js'
import ConfigTypescript from './typescript-dynamic.js'
import { EXTENSIONS, EXTENSIONS_TYPESCRIPT, EXTENSIONS_VUE } from './constants.js'
/** @type {import("eslint").Linter.Config[]} */
export default [
...ConfigTypescript.map((config) => {
config.files = [...EXTENSIONS_VUE, EXTENSIONS_TYPESCRIPT]
return config
}),
...VuePlugin.configs['flat/essential'],
...VueTypescriptConfig({
......@@ -25,8 +19,11 @@ export default [
}
}),
...ConfigTypescript,
{
files: [...EXTENSIONS],
name: 'cenk1cenk2/vue/typescript/recommended',
files: [...EXTENSIONS_VUE],
rules: {
'vue/multi-word-component-names': 'off'
}
......