@tsofist/web-buddy 2.0.0-next.6 → 2.0.0-next.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.editorconfig CHANGED
@@ -18,6 +18,8 @@ tab_width = 2
18
18
  # Markdown
19
19
  [*.{md,markdown}]
20
20
  trim_trailing_whitespace = false
21
+ indent_size = 2
22
+ tab_width = 2
21
23
 
22
24
  # Makefile
23
25
  [Makefile]
@@ -25,6 +27,23 @@ indent_style = tab
25
27
  indent_size = 4
26
28
  tab_width = 4
27
29
 
30
+ [*.{sh,bat}]
31
+ indent_size = 2
32
+ tab_width = 2
33
+
34
+ [*.{conf,ini}]
35
+ indent_size = 4
36
+ tab_width = 4
37
+
38
+ [*.http]
39
+ indent_size = 4
40
+ tab_width = 4
41
+
42
+ # https://docs.ollama.com/modelfile
43
+ [{Containerfile,Dockerfile,Modelfile}]
44
+ indent_size = 2
45
+ tab_width = 2
46
+
28
47
  # Classic web
29
48
  [*.{html,pcss,postcss,css,scss,sass}]
30
49
  indent_size = 4
@@ -1,5 +1,6 @@
1
1
  export const WebBuddyESLintVueExtraFileExtensions = ['.vue'];
2
2
  export const WebBuddyESLintRulesShared = {
3
+ 'semi': 'error',
3
4
  'object-shorthand': ['error', 'properties'],
4
5
  'spaced-comment': ['error', 'always', { block: { balanced: true } }],
5
6
  //
@@ -55,4 +56,15 @@ export const WebBuddyESLintRulesShared = {
55
56
  'groups': ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'],
56
57
  },
57
58
  ],
59
+ 'no-restricted-syntax': [
60
+ 'error',
61
+ {
62
+ selector: "BinaryExpression[operator='==='][right.type='Identifier'][right.name='undefined']",
63
+ message: 'Do not compare directly to undefined. Use == null instead.',
64
+ },
65
+ {
66
+ selector: "BinaryExpression[operator='==='][left.type='Identifier'][left.name='undefined']",
67
+ message: 'Do not compare directly to undefined. Use == null instead.',
68
+ },
69
+ ],
58
70
  };
@@ -22,7 +22,9 @@ export const WebBuddyESLintTypeScript = {
22
22
  sourceType: 'module',
23
23
  parser: epTS.parser,
24
24
  parserOptions: {
25
- projectService: true,
25
+ projectService: {
26
+ allowDefaultProject: ['jest-setup.ts', '*.jest-setup.ts'],
27
+ },
26
28
  extraFileExtensions: WebBuddyESLintVueExtraFileExtensions,
27
29
  },
28
30
  },
@@ -56,7 +56,6 @@ export const WebBuddyESLintTypeScriptRules = {
56
56
  '@typescript-eslint/no-useless-constructor': 'error',
57
57
  '@typescript-eslint/adjacent-overload-signatures': 'error',
58
58
  '@typescript-eslint/consistent-type-assertions': 'error',
59
- 'semi': 'error',
60
59
  '@stylistic/semi': ['error', 'always'],
61
60
  '@stylistic/member-delimiter-style': [
62
61
  'error',
@@ -35,7 +35,4 @@ export const WebBuddyESLintIgnores = [
35
35
  './spec/*.schema*.json',
36
36
  './spec/*.openapi.json',
37
37
  './spec/*.dbml.json',
38
- //
39
- './jest-setup.ts',
40
- './*.jest-setup.ts',
41
38
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsofist/web-buddy",
3
- "version": "2.0.0-next.6",
3
+ "version": "2.0.0-next.8",
4
4
  "description": "Configuration basics for Linters, TypeScript, Semantic Release and others",
5
5
  "type": "module",
6
6
  "author": "Andrew Berdnikov <tsofistgudmen@gmail.com>",
@@ -21,41 +21,40 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "@eslint/js": "^10.0.1",
24
- "@semantic-release/git": "^10.0.1",
25
- "@semantic-release/github": "^12.0.8",
26
- "@semantic-release/gitlab": "^13.3.2",
24
+ "@semantic-release/git": "^11.0.1",
25
+ "@semantic-release/github": "^12.0.9",
26
+ "@semantic-release/gitlab": "^13.3.3",
27
27
  "@semantic-release/npm": "^13.1.5",
28
28
  "@stylistic/eslint-plugin": "^5.10.0",
29
29
  "@vue/eslint-config-prettier": "^10.2.0",
30
- "@vue/eslint-config-typescript": "^14.7.0",
31
- "eslint": "^10.4.0",
32
- "eslint-import-resolver-typescript": "^4.4.4",
33
- "eslint-plugin-decorator-position": "^6.1.0",
34
- "eslint-plugin-import-x": "^4.16.2",
35
- "eslint-plugin-jsonc": "^3.1.2",
36
- "eslint-plugin-prettier": "^5.5.5",
37
- "eslint-plugin-vue": "^10.9.1",
38
- "eslint-plugin-yml": "^3.3.2",
39
- "globals": "^17.6.0",
30
+ "@vue/eslint-config-typescript": "^14.9.0",
31
+ "eslint": "^10.8.1",
32
+ "eslint-import-resolver-typescript": "^4.4.5",
33
+ "eslint-plugin-decorator-position": "^6.1.1",
34
+ "eslint-plugin-import-x": "^4.17.1",
35
+ "eslint-plugin-jsonc": "^3.4.1",
36
+ "eslint-plugin-prettier": "^5.5.6",
37
+ "eslint-plugin-vue": "^10.10.0",
38
+ "eslint-plugin-yml": "^3.8.1",
39
+ "globals": "^17.11.0",
40
40
  "husky": "^9.1.7",
41
- "npm": "^11.15.0",
42
41
  "postcss-html": "^1.8.1",
43
- "prettier": "^3.8.3",
44
- "semantic-release": "^25.0.3",
45
- "stylelint": "^17.12.0",
42
+ "prettier": "^3.9.6",
43
+ "semantic-release": "^25.0.9",
44
+ "stylelint": "^17.14.1",
46
45
  "stylelint-config-recommended-scss": "^17.0.1",
47
46
  "stylelint-config-standard": "^40.0.0",
48
47
  "stylelint-config-standard-scss": "^17.0.0",
49
48
  "stylelint-config-standard-vue": "^1.0.0",
50
49
  "stylelint-order": "^8.1.1",
51
50
  "stylelint-prettier": "^5.0.3",
52
- "stylelint-scss": "^7.1.1",
51
+ "stylelint-scss": "^7.2.0",
53
52
  "typescript": "~6.0.3",
54
- "typescript-eslint": "^8.60.0",
55
- "yaml-eslint-parser": "^2.0.0"
53
+ "typescript-eslint": "^8.67.0",
54
+ "yaml-eslint-parser": "^2.1.0"
56
55
  },
57
56
  "devDependencies": {
58
- "@types/node": "^22.19.17",
57
+ "@types/node": "^22.20.0",
59
58
  "tslib": "^2.8.1"
60
59
  },
61
60
  "files": [
@@ -69,7 +68,7 @@
69
68
  "access": "public"
70
69
  },
71
70
  "engines": {
72
- "node": ">=22"
71
+ "node": ">=22.12"
73
72
  },
74
73
  "release": {
75
74
  "extends": "./lib/semantic-release/config.github.js"