chore(eslint): update eslint configuration to include recommended rules and plugins

- Add "eslint:recommended" and "plugin:prettier/recommended" to the "extends" array to include recommended rules and prettier plugin.
- Add "plugin:@typescript-eslint/recommended" to the "extends" array to include recommended rules for TypeScript.
- Add "@typescript-eslint" and "prettier" to the "plugins" array to enable TypeScript and prettier linting.
- Update "parserOptions" to use the latest ECMAScript version and specify the project path.
- Add "sort-imports" rule to sort imports in a specific order and ignore case.
- Add "import/no-unresolved" rule to enforce resolving of imports.
- Add "import/order" rule to enforce a specific order for imports.
- Update "settings" to specify the TypeScript project path for import resolver.

chore(prettier): update prettier configuration to include additional plugins

- Add "prettier-plugin-organize-imports" to the "plugins" array to enable organizing imports.
- Update "overrides" to include "*.html" files for prettier formatting.

feat(package.json): add "swiper" dependency

- Add "swiper" dependency with version "^11.0.3" to the "dependencies" section.
This commit is contained in:
Sped0n
2023-10-29 22:08:26 +08:00
parent 2025a57ae4
commit f3b5642f16
4 changed files with 133 additions and 27 deletions

View File

@@ -1,23 +1,54 @@
{ {
"env": { "env": {
"browser": true, "browser": true,
"es2021": true "es2021": true
}, },
"extends": [ "extends": [
"standard-with-typescript", "standard-with-typescript",
"prettier" "prettier",
"eslint:recommended",
"plugin:prettier/recommended",
"plugin:@typescript-eslint/recommended"
],
"overrides": [],
"plugins": ["prettier", "@typescript-eslint"],
"parserOptions": {
"ecmaVersion": "latest",
"project": "./tsconfig.json",
"sourceType": "module"
},
"rules": {
"prettier/prettier": "error",
"arrow-body-style": "off",
"prefer-arrow-callback": "off",
"sort-imports": [
"error",
{
"ignoreCase": false,
"ignoreDeclarationSort": true,
"ignoreMemberSort": false,
"memberSyntaxSortOrder": ["none", "all", "multiple", "single"],
"allowSeparatedGroups": true
}
], ],
"overrides": [ "import/no-unresolved": "error",
], "import/order": [
"plugins": ["prettier"], "error",
"parserOptions": { {
"ecmaVersion": "latest", "groups": ["builtin", "external", "internal", "parent", "sibling", "index"],
"project": "./tsconfig.json", "newlines-between": "always",
"sourceType": "module" "alphabetize": {
}, "order": "asc",
"rules": { "caseInsensitive": true
"prettier/prettier": "error", }
"arrow-body-style": "off", }
"prefer-arrow-callback": "off" ]
},
"settings": {
"import/resolver": {
"typescript": {
"project": "./tsconfig.json"
}
} }
}
} }

View File

@@ -6,7 +6,7 @@
"trailingComma": "none", "trailingComma": "none",
"bracketSpacing": true, "bracketSpacing": true,
"semi": false, "semi": false,
"plugins": ["prettier-plugin-go-template"], "plugins": ["prettier-plugin-go-template", "prettier-plugin-organize-imports"],
"overrides": [ "overrides": [
{ {
"files": ["*.html"], "files": ["*.html"],

View File

@@ -32,15 +32,18 @@
"eslint-config-prettier": "^9.0.0", "eslint-config-prettier": "^9.0.0",
"eslint-config-standard": "^17.1.0", "eslint-config-standard": "^17.1.0",
"eslint-config-standard-with-typescript": "^39.1.1", "eslint-config-standard-with-typescript": "^39.1.1",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.0", "eslint-plugin-import": "^2.29.0",
"eslint-plugin-n": "^16.2.0", "eslint-plugin-n": "^16.2.0",
"eslint-plugin-prettier": "^5.0.1", "eslint-plugin-prettier": "^5.0.1",
"eslint-plugin-promise": "^6.1.1", "eslint-plugin-promise": "^6.1.1",
"prettier": "3.0.3", "prettier": "3.0.3",
"prettier-plugin-go-template": "^0.0.15", "prettier-plugin-go-template": "^0.0.15",
"prettier-plugin-organize-imports": "^3.2.3",
"typescript": "^5.2.2" "typescript": "^5.2.2"
}, },
"dependencies": { "dependencies": {
"gsap": "^3.12.2" "gsap": "^3.12.2",
"swiper": "^11.0.3"
} }
} }

84
pnpm-lock.yaml generated
View File

@@ -8,6 +8,9 @@ dependencies:
gsap: gsap:
specifier: ^3.12.2 specifier: ^3.12.2
version: 3.12.2 version: 3.12.2
swiper:
specifier: ^11.0.3
version: 11.0.3
devDependencies: devDependencies:
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
@@ -28,9 +31,12 @@ devDependencies:
eslint-config-standard-with-typescript: eslint-config-standard-with-typescript:
specifier: ^39.1.1 specifier: ^39.1.1
version: 39.1.1(@typescript-eslint/eslint-plugin@6.9.0)(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.52.0)(typescript@5.2.2) version: 39.1.1(@typescript-eslint/eslint-plugin@6.9.0)(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.52.0)(typescript@5.2.2)
eslint-import-resolver-typescript:
specifier: ^3.6.1
version: 3.6.1(@typescript-eslint/parser@6.9.0)(eslint-plugin-import@2.29.0)(eslint@8.52.0)
eslint-plugin-import: eslint-plugin-import:
specifier: ^2.29.0 specifier: ^2.29.0
version: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0) version: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
eslint-plugin-n: eslint-plugin-n:
specifier: ^16.2.0 specifier: ^16.2.0
version: 16.2.0(eslint@8.52.0) version: 16.2.0(eslint@8.52.0)
@@ -46,6 +52,9 @@ devDependencies:
prettier-plugin-go-template: prettier-plugin-go-template:
specifier: ^0.0.15 specifier: ^0.0.15
version: 0.0.15(prettier@3.0.3) version: 0.0.15(prettier@3.0.3)
prettier-plugin-organize-imports:
specifier: ^3.2.3
version: 3.2.3(prettier@3.0.3)(typescript@5.2.2)
typescript: typescript:
specifier: ^5.2.2 specifier: ^5.2.2
version: 5.2.2 version: 5.2.2
@@ -570,6 +579,14 @@ packages:
esutils: 2.0.3 esutils: 2.0.3
dev: true dev: true
/enhanced-resolve@5.15.0:
resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
engines: {node: '>=10.13.0'}
dependencies:
graceful-fs: 4.2.11
tapable: 2.2.1
dev: true
/es-abstract@1.22.1: /es-abstract@1.22.1:
resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@@ -667,7 +684,7 @@ packages:
'@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2)
eslint: 8.52.0 eslint: 8.52.0
eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.52.0) eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.52.0)
eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0) eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
eslint-plugin-n: 16.2.0(eslint@8.52.0) eslint-plugin-n: 16.2.0(eslint@8.52.0)
eslint-plugin-promise: 6.1.1(eslint@8.52.0) eslint-plugin-promise: 6.1.1(eslint@8.52.0)
typescript: 5.2.2 typescript: 5.2.2
@@ -685,7 +702,7 @@ packages:
eslint-plugin-promise: ^6.0.0 eslint-plugin-promise: ^6.0.0
dependencies: dependencies:
eslint: 8.52.0 eslint: 8.52.0
eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0) eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
eslint-plugin-n: 16.2.0(eslint@8.52.0) eslint-plugin-n: 16.2.0(eslint@8.52.0)
eslint-plugin-promise: 6.1.1(eslint@8.52.0) eslint-plugin-promise: 6.1.1(eslint@8.52.0)
dev: true dev: true
@@ -700,7 +717,30 @@ packages:
- supports-color - supports-color
dev: true dev: true
/eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0): /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.9.0)(eslint-plugin-import@2.29.0)(eslint@8.52.0):
resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
eslint: '*'
eslint-plugin-import: '*'
dependencies:
debug: 4.3.4
enhanced-resolve: 5.15.0
eslint: 8.52.0
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
fast-glob: 3.3.1
get-tsconfig: 4.7.2
is-core-module: 2.13.1
is-glob: 4.0.3
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-node
- eslint-import-resolver-webpack
- supports-color
dev: true
/eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'} engines: {node: '>=4'}
peerDependencies: peerDependencies:
@@ -725,6 +765,7 @@ packages:
debug: 3.2.7 debug: 3.2.7
eslint: 8.52.0 eslint: 8.52.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.9.0)(eslint-plugin-import@2.29.0)(eslint@8.52.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
@@ -740,7 +781,7 @@ packages:
eslint: 8.52.0 eslint: 8.52.0
dev: true dev: true
/eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0): /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0):
resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==}
engines: {node: '>=4'} engines: {node: '>=4'}
peerDependencies: peerDependencies:
@@ -759,7 +800,7 @@ packages:
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 8.52.0 eslint: 8.52.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
hasown: 2.0.0 hasown: 2.0.0
is-core-module: 2.13.1 is-core-module: 2.13.1
is-glob: 4.0.3 is-glob: 4.0.3
@@ -1130,6 +1171,10 @@ packages:
get-intrinsic: 1.2.1 get-intrinsic: 1.2.1
dev: true dev: true
/graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
dev: true
/graphemer@1.4.0: /graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
dev: true dev: true
@@ -1678,6 +1723,23 @@ packages:
ulid: 2.3.0 ulid: 2.3.0
dev: true dev: true
/prettier-plugin-organize-imports@3.2.3(prettier@3.0.3)(typescript@5.2.2):
resolution: {integrity: sha512-KFvk8C/zGyvUaE3RvxN2MhCLwzV6OBbFSkwZ2OamCrs9ZY4i5L77jQ/w4UmUr+lqX8qbaqVq6bZZkApn+IgJSg==}
peerDependencies:
'@volar/vue-language-plugin-pug': ^1.0.4
'@volar/vue-typescript': ^1.0.4
prettier: '>=2.0'
typescript: '>=2.9'
peerDependenciesMeta:
'@volar/vue-language-plugin-pug':
optional: true
'@volar/vue-typescript':
optional: true
dependencies:
prettier: 3.0.3
typescript: 5.2.2
dev: true
/prettier@3.0.3: /prettier@3.0.3:
resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==}
engines: {node: '>=14'} engines: {node: '>=14'}
@@ -1869,6 +1931,11 @@ packages:
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
dev: true dev: true
/swiper@11.0.3:
resolution: {integrity: sha512-MyV9ooQsriAe2EibeamqewLjgCfSvl2xoyratl6S3ln5BXDL4BzlO6mxcbLMCzQL6Z60b/u0AS/nKrepL0+TAg==}
engines: {node: '>= 4.7.0'}
dev: false
/synckit@0.8.5: /synckit@0.8.5:
resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
@@ -1877,6 +1944,11 @@ packages:
tslib: 2.6.1 tslib: 2.6.1
dev: true dev: true
/tapable@2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
dev: true
/text-table@0.2.0: /text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true dev: true