@tsofist/web-buddy 2.0.0-next.1 → 2.0.0-next.11
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 +19 -0
- package/lib/eslint/config.d.ts +3 -2
- package/lib/eslint/config.js +36 -3
- package/lib/eslint/config.shared.rules.js +12 -0
- package/lib/eslint/config.typescript.d.ts +2 -2
- package/lib/eslint/config.typescript.js +10 -1
- package/lib/eslint/config.typescript.rules.js +29 -2
- package/lib/eslint/config.vue.d.ts +2 -2
- package/lib/eslint/config.vue.js +4 -1
- package/lib/eslint/config.yaml.d.ts +2 -2
- package/lib/eslint/config.yaml.rules.js +2 -0
- package/lib/eslint/ignores.d.ts +4 -0
- package/lib/eslint/ignores.js +19 -4
- package/lib/tsconfig/config.base.json +1 -2
- package/lib/tsconfig/config.web.json +4 -3
- package/lib/types.d.ts +3 -2
- package/package.json +40 -30
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
|
package/lib/eslint/config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WebBuddyESLintConfig } from '../types.js';
|
|
1
|
+
import type { ESLintConfigChain, WebBuddyESLintConfig } from '../types.js';
|
|
2
2
|
declare const _default: readonly {
|
|
3
3
|
readonly name?: string | undefined;
|
|
4
4
|
readonly basePath?: string | undefined;
|
|
@@ -1197,4 +1197,5 @@ declare const _default: readonly {
|
|
|
1197
1197
|
} | undefined;
|
|
1198
1198
|
}[];
|
|
1199
1199
|
export default _default;
|
|
1200
|
-
export declare function createWebBuddyESLintConfig(): WebBuddyESLintConfig;
|
|
1200
|
+
export declare function createWebBuddyESLintConfig(onChain?: (chain: ESLintConfigChain) => ESLintConfigChain): WebBuddyESLintConfig;
|
|
1201
|
+
export declare function createWebBuddyESLintConfigChain(): ESLintConfigChain;
|
package/lib/eslint/config.js
CHANGED
|
@@ -3,6 +3,7 @@ import epStylistic from '@stylistic/eslint-plugin';
|
|
|
3
3
|
import { defineConfig } from 'eslint/config';
|
|
4
4
|
import { importX as epImportX } from 'eslint-plugin-import-x';
|
|
5
5
|
import epPrettier from 'eslint-plugin-prettier';
|
|
6
|
+
import globals from 'globals';
|
|
6
7
|
import { WebBuddyESLintFrameworkSpecificConfigForMercurio } from './config.fws-mercurio.js';
|
|
7
8
|
import { WebBuddyESLintJSON } from './config.json.js';
|
|
8
9
|
import { WebBuddyESLintRulesShared } from './config.shared.rules.js';
|
|
@@ -11,12 +12,33 @@ import { WebBuddyESLintVue } from './config.vue.js';
|
|
|
11
12
|
import { WebBuddyESLintYAML } from './config.yaml.js';
|
|
12
13
|
import { WebBuddyESLintIgnores } from './ignores.js';
|
|
13
14
|
export default createWebBuddyESLintConfig();
|
|
14
|
-
export function createWebBuddyESLintConfig() {
|
|
15
|
-
|
|
15
|
+
export function createWebBuddyESLintConfig(onChain) {
|
|
16
|
+
let chain = createWebBuddyESLintConfigChain();
|
|
17
|
+
if (onChain)
|
|
18
|
+
chain = onChain(chain);
|
|
19
|
+
return defineConfig(...chain);
|
|
20
|
+
}
|
|
21
|
+
export function createWebBuddyESLintConfigChain() {
|
|
22
|
+
return [
|
|
23
|
+
...createWebBuddyESLintConfigGeneralChain(),
|
|
24
|
+
...WebBuddyESLintJSON,
|
|
25
|
+
WebBuddyESLintTypeScript,
|
|
26
|
+
WebBuddyESLintVue,
|
|
27
|
+
...WebBuddyESLintFrameworkSpecificConfigForMercurio,
|
|
28
|
+
WebBuddyESLintYAML,
|
|
29
|
+
];
|
|
16
30
|
}
|
|
17
31
|
function createWebBuddyESLintConfigGeneralChain() {
|
|
18
32
|
return [
|
|
19
|
-
{
|
|
33
|
+
{
|
|
34
|
+
linterOptions: {
|
|
35
|
+
reportUnusedDisableDirectives: 'error',
|
|
36
|
+
reportUnusedInlineConfigs: 'error',
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
ignores: WebBuddyESLintIgnores,
|
|
41
|
+
},
|
|
20
42
|
{
|
|
21
43
|
plugins: {
|
|
22
44
|
'@stylistic': epStylistic,
|
|
@@ -27,6 +49,17 @@ function createWebBuddyESLintConfigGeneralChain() {
|
|
|
27
49
|
'import-x/resolver': { typescript: true },
|
|
28
50
|
},
|
|
29
51
|
},
|
|
52
|
+
{
|
|
53
|
+
// todo manage?
|
|
54
|
+
files: ['**/*.{js,cjs,mjs,jsx}'],
|
|
55
|
+
languageOptions: {
|
|
56
|
+
globals: {
|
|
57
|
+
...globals.browser,
|
|
58
|
+
...globals.node,
|
|
59
|
+
...globals.jest,
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
},
|
|
30
63
|
epJS.configs.recommended,
|
|
31
64
|
{
|
|
32
65
|
rules: {
|
|
@@ -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
|
+
'warn',
|
|
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
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const WebBuddyESLintTypeScript:
|
|
1
|
+
import type { ESLintConfigChainItem } from '../types.js';
|
|
2
|
+
export declare const WebBuddyESLintTypeScript: ESLintConfigChainItem;
|
|
@@ -22,7 +22,16 @@ export const WebBuddyESLintTypeScript = {
|
|
|
22
22
|
sourceType: 'module',
|
|
23
23
|
parser: epTS.parser,
|
|
24
24
|
parserOptions: {
|
|
25
|
-
projectService:
|
|
25
|
+
projectService: {
|
|
26
|
+
allowDefaultProject: [
|
|
27
|
+
'jest-setup.js',
|
|
28
|
+
'jest-setup.mjs',
|
|
29
|
+
'jest-setup.ts',
|
|
30
|
+
'*.jest-setup.js',
|
|
31
|
+
'*.jest-setup.ts',
|
|
32
|
+
'*.jest-setup.mjs',
|
|
33
|
+
],
|
|
34
|
+
},
|
|
26
35
|
extraFileExtensions: WebBuddyESLintVueExtraFileExtensions,
|
|
27
36
|
},
|
|
28
37
|
},
|
|
@@ -12,6 +12,18 @@ https://eslint.vuejs.org/rules/script-indent
|
|
|
12
12
|
|
|
13
13
|
*/
|
|
14
14
|
export const WebBuddyESLintTypeScriptRules = {
|
|
15
|
+
'@typescript-eslint/prefer-optional-chain': 'off', // noisy
|
|
16
|
+
'@typescript-eslint/prefer-nullish-coalescing': [
|
|
17
|
+
'warn',
|
|
18
|
+
{
|
|
19
|
+
ignoreIfStatements: true,
|
|
20
|
+
ignorePrimitives: {
|
|
21
|
+
string: true,
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
'@typescript-eslint/no-deprecated': 'warn',
|
|
26
|
+
'@typescript-eslint/no-empty-object-type': 'off', // harmful
|
|
15
27
|
'@typescript-eslint/consistent-indexed-object-style': 'off', // harmful
|
|
16
28
|
'@typescript-eslint/no-inferrable-types': 'off', // harmful
|
|
17
29
|
'@typescript-eslint/consistent-type-definitions': ['error', 'type'],
|
|
@@ -46,14 +58,13 @@ export const WebBuddyESLintTypeScriptRules = {
|
|
|
46
58
|
'@typescript-eslint/no-this-alias': 'error',
|
|
47
59
|
'@typescript-eslint/return-await': 'off',
|
|
48
60
|
'@typescript-eslint/no-floating-promises': 'error',
|
|
49
|
-
'@typescript-eslint/no-unnecessary-type-assertion': '
|
|
61
|
+
'@typescript-eslint/no-unnecessary-type-assertion': 'off', // harmful
|
|
50
62
|
'@typescript-eslint/no-misused-new': 'error',
|
|
51
63
|
'@typescript-eslint/no-misused-promises': 'off',
|
|
52
64
|
'@typescript-eslint/no-array-constructor': 'error',
|
|
53
65
|
'@typescript-eslint/no-useless-constructor': 'error',
|
|
54
66
|
'@typescript-eslint/adjacent-overload-signatures': 'error',
|
|
55
67
|
'@typescript-eslint/consistent-type-assertions': 'error',
|
|
56
|
-
'semi': 'error',
|
|
57
68
|
'@stylistic/semi': ['error', 'always'],
|
|
58
69
|
'@stylistic/member-delimiter-style': [
|
|
59
70
|
'error',
|
|
@@ -83,6 +94,7 @@ export const WebBuddyESLintTypeScriptRules = {
|
|
|
83
94
|
'@typescript-eslint/indent': 'off', // by prettier
|
|
84
95
|
'no-unused-vars': 'off',
|
|
85
96
|
'@typescript-eslint/no-unused-vars': 'off', // by tsc
|
|
97
|
+
'no-useless-assignment': 'off', // by tsc
|
|
86
98
|
'no-trailing-spaces': 'off',
|
|
87
99
|
'@stylistic/space-in-parens': 'error',
|
|
88
100
|
'@stylistic/function-call-spacing': 'error',
|
|
@@ -126,7 +138,22 @@ export const WebBuddyESLintTypeScriptRules = {
|
|
|
126
138
|
'error',
|
|
127
139
|
{ allowWithDecorator: true, allowStaticOnly: true },
|
|
128
140
|
],
|
|
141
|
+
'@typescript-eslint/dot-notation': [
|
|
142
|
+
'warn',
|
|
143
|
+
{
|
|
144
|
+
allowPattern: '^([_A-Z]+)$',
|
|
145
|
+
allowIndexSignaturePropertyAccess: true,
|
|
146
|
+
},
|
|
147
|
+
],
|
|
129
148
|
'@typescript-eslint/no-wrapper-object-types': 'error',
|
|
149
|
+
'@typescript-eslint/no-base-to-string': 'warn',
|
|
150
|
+
'@typescript-eslint/no-unused-expressions': [
|
|
151
|
+
'error',
|
|
152
|
+
{
|
|
153
|
+
allowShortCircuit: true,
|
|
154
|
+
},
|
|
155
|
+
],
|
|
156
|
+
'@typescript-eslint/no-unsafe-function-type': 'warn', // noisy
|
|
130
157
|
'@typescript-eslint/unified-signatures': 'off', // odd
|
|
131
158
|
'@typescript-eslint/no-unsafe-enum-comparison': 'off', // odd
|
|
132
159
|
'@typescript-eslint/no-duplicate-type-constituents': 'off', // odd
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ESLintConfigChainItem } from '../types.js';
|
|
2
2
|
/**
|
|
3
3
|
* @see https://github.com/oxc-project/oxc/issues/15761 TODO: oxc migration blocker
|
|
4
4
|
*/
|
|
5
|
-
export declare const WebBuddyESLintVue:
|
|
5
|
+
export declare const WebBuddyESLintVue: ESLintConfigChainItem;
|
package/lib/eslint/config.vue.js
CHANGED
|
@@ -28,7 +28,10 @@ export const WebBuddyESLintVue = {
|
|
|
28
28
|
languageOptions: {
|
|
29
29
|
ecmaVersion: 'latest',
|
|
30
30
|
sourceType: 'module',
|
|
31
|
-
globals:
|
|
31
|
+
globals: {
|
|
32
|
+
// todo others?
|
|
33
|
+
...globals.browser,
|
|
34
|
+
},
|
|
32
35
|
parserOptions: {
|
|
33
36
|
parser: epTS.parser,
|
|
34
37
|
projectService: true,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const WebBuddyESLintYAML:
|
|
1
|
+
import type { ESLintConfigChainItem } from '../types.js';
|
|
2
|
+
export declare const WebBuddyESLintYAML: ESLintConfigChainItem;
|
package/lib/eslint/ignores.d.ts
CHANGED
|
@@ -1 +1,5 @@
|
|
|
1
|
+
import type { ESLintConfigChain, ESLintConfigChainItem } from '../types.js';
|
|
1
2
|
export declare const WebBuddyESLintIgnores: string[];
|
|
3
|
+
export declare function appendESLintIgnores(ignores: string[], chain: ESLintConfigChain, matcher?: typeof matchIgnores): ESLintConfigChain;
|
|
4
|
+
declare function matchIgnores(item: ESLintConfigChainItem): boolean;
|
|
5
|
+
export {};
|
package/lib/eslint/ignores.js
CHANGED
|
@@ -12,14 +12,16 @@ export const WebBuddyESLintIgnores = [
|
|
|
12
12
|
'!.*.yaml',
|
|
13
13
|
'!.*.json',
|
|
14
14
|
//
|
|
15
|
-
'
|
|
16
|
-
'
|
|
17
|
-
'
|
|
18
|
-
'
|
|
15
|
+
'**/*.tmp.*',
|
|
16
|
+
'**/*.private.*',
|
|
17
|
+
'**/*.tmp/',
|
|
18
|
+
'**/*.private/',
|
|
19
19
|
//
|
|
20
20
|
'.husky/_/',
|
|
21
|
+
//
|
|
21
22
|
'./.cache/',
|
|
22
23
|
'./.*-cache/',
|
|
24
|
+
//
|
|
23
25
|
'./.coverage/',
|
|
24
26
|
//
|
|
25
27
|
'./dist/',
|
|
@@ -36,3 +38,16 @@ export const WebBuddyESLintIgnores = [
|
|
|
36
38
|
'./spec/*.openapi.json',
|
|
37
39
|
'./spec/*.dbml.json',
|
|
38
40
|
];
|
|
41
|
+
export function appendESLintIgnores(ignores, chain, matcher = matchIgnores) {
|
|
42
|
+
const list = chain.find(matcher)?.ignores;
|
|
43
|
+
if (list) {
|
|
44
|
+
list.push(...ignores);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
chain.unshift({ ignores });
|
|
48
|
+
}
|
|
49
|
+
return chain;
|
|
50
|
+
}
|
|
51
|
+
function matchIgnores(item) {
|
|
52
|
+
return Array.isArray(item.ignores) && item.files == null;
|
|
53
|
+
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "./config.base.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
-
"isolatedModules": true
|
|
4
|
+
"isolatedModules": true,
|
|
5
|
+
"verbatimModuleSyntax": false
|
|
5
6
|
},
|
|
6
7
|
"vueCompilerOptions": {
|
|
7
|
-
"
|
|
8
|
-
"
|
|
8
|
+
"allowImplicitTemplateReturnType": false,
|
|
9
|
+
"strictTemplates": true
|
|
9
10
|
}
|
|
10
11
|
}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { ConfigWithExtends } from '@eslint/config-helpers';
|
|
1
2
|
import type { Linter } from 'eslint';
|
|
2
3
|
import type { defineConfig } from 'eslint/config';
|
|
3
4
|
export type WebBuddyESLintConfig = RO<ReturnType<ESLintDefineConfig>>;
|
|
4
5
|
export type ESLintRuleSet = Record<string, Linter.RuleEntry>;
|
|
5
|
-
export type
|
|
6
|
-
export type ESLintConfigChain =
|
|
6
|
+
export type ESLintConfigChainItem = ConfigWithExtends;
|
|
7
|
+
export type ESLintConfigChain = ConfigWithExtends[];
|
|
7
8
|
export type StylelintRuleSet = {
|
|
8
9
|
[rule in string]: null | boolean | [boolean, object];
|
|
9
10
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsofist/web-buddy",
|
|
3
|
-
"version": "2.0.0-next.
|
|
3
|
+
"version": "2.0.0-next.11",
|
|
4
4
|
"description": "Configuration basics for Linters, TypeScript, Semantic Release and others",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Andrew Berdnikov <tsofistgudmen@gmail.com>",
|
|
@@ -10,9 +10,10 @@
|
|
|
10
10
|
"build": "rm -rf lib && tsc -p tsconfig.build.json",
|
|
11
11
|
"format": "npm run lint:code -- --fix && npm run lint:style -- --fix",
|
|
12
12
|
"test": "npm run build && npm run lint",
|
|
13
|
-
"lint": "npm run lint:code && npm run lint:style",
|
|
13
|
+
"lint": "npm run lint:code && npm run lint:style && npm run lint:lock-file",
|
|
14
14
|
"lint:code": "WEB_BUDDY_LINT_STRICTER=1 eslint . --cache --cache-location .cache/",
|
|
15
15
|
"lint:style": "stylelint **/*.{htm,html,vue,css,scss,sass,pcss,postcss} --cache --cache-location .cache/ --allow-empty-input",
|
|
16
|
+
"lint:lock-file": "lockfile-lint",
|
|
16
17
|
"pkg:publish": "semantic-release --no-ci",
|
|
17
18
|
"pkg:publish-test": "semantic-release --no-ci --dry-run",
|
|
18
19
|
"pkg:clean": "rm -rf dist lib .coverage .cache",
|
|
@@ -21,41 +22,41 @@
|
|
|
21
22
|
},
|
|
22
23
|
"dependencies": {
|
|
23
24
|
"@eslint/js": "^10.0.1",
|
|
24
|
-
"@semantic-release/git": "^
|
|
25
|
-
"@semantic-release/github": "^12.0.
|
|
26
|
-
"@semantic-release/gitlab": "^13.3.
|
|
25
|
+
"@semantic-release/git": "^11.0.1",
|
|
26
|
+
"@semantic-release/github": "^12.0.9",
|
|
27
|
+
"@semantic-release/gitlab": "^13.3.3",
|
|
27
28
|
"@semantic-release/npm": "^13.1.5",
|
|
28
29
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
29
30
|
"@vue/eslint-config-prettier": "^10.2.0",
|
|
30
|
-
"@vue/eslint-config-typescript": "^14.
|
|
31
|
-
"eslint": "^10.
|
|
32
|
-
"eslint-import-resolver-typescript": "^4.4.
|
|
33
|
-
"eslint-plugin-decorator-position": "^6.1.
|
|
34
|
-
"eslint-plugin-import-x": "^4.
|
|
35
|
-
"eslint-plugin-jsonc": "^3.1
|
|
36
|
-
"eslint-plugin-prettier": "^5.5.
|
|
37
|
-
"eslint-plugin-vue": "^10.
|
|
38
|
-
"eslint-plugin-yml": "^3.
|
|
39
|
-
"globals": "^17.
|
|
31
|
+
"@vue/eslint-config-typescript": "^14.9.0",
|
|
32
|
+
"eslint": "^10.8.1",
|
|
33
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
34
|
+
"eslint-plugin-decorator-position": "^6.1.1",
|
|
35
|
+
"eslint-plugin-import-x": "^4.17.1",
|
|
36
|
+
"eslint-plugin-jsonc": "^3.4.1",
|
|
37
|
+
"eslint-plugin-prettier": "^5.5.6",
|
|
38
|
+
"eslint-plugin-vue": "^10.10.0",
|
|
39
|
+
"eslint-plugin-yml": "^3.8.1",
|
|
40
|
+
"globals": "^17.11.0",
|
|
40
41
|
"husky": "^9.1.7",
|
|
41
|
-
"
|
|
42
|
-
"postcss-html": "^
|
|
43
|
-
"prettier": "^3.
|
|
44
|
-
"semantic-release": "^25.0.
|
|
45
|
-
"stylelint": "^17.
|
|
42
|
+
"lockfile-lint": "^5.0.1",
|
|
43
|
+
"postcss-html": "^2.0.0",
|
|
44
|
+
"prettier": "^3.9.6",
|
|
45
|
+
"semantic-release": "^25.0.9",
|
|
46
|
+
"stylelint": "^17.14.1",
|
|
46
47
|
"stylelint-config-recommended-scss": "^17.0.1",
|
|
47
48
|
"stylelint-config-standard": "^40.0.0",
|
|
48
49
|
"stylelint-config-standard-scss": "^17.0.0",
|
|
49
|
-
"stylelint-config-standard-vue": "^
|
|
50
|
+
"stylelint-config-standard-vue": "^2.0.0",
|
|
50
51
|
"stylelint-order": "^8.1.1",
|
|
51
52
|
"stylelint-prettier": "^5.0.3",
|
|
52
|
-
"stylelint-scss": "^7.
|
|
53
|
+
"stylelint-scss": "^7.2.0",
|
|
53
54
|
"typescript": "~6.0.3",
|
|
54
|
-
"typescript-eslint": "^8.
|
|
55
|
-
"yaml-eslint-parser": "^2.
|
|
55
|
+
"typescript-eslint": "^8.67.0",
|
|
56
|
+
"yaml-eslint-parser": "^2.1.0"
|
|
56
57
|
},
|
|
57
58
|
"devDependencies": {
|
|
58
|
-
"@types/node": "^22.
|
|
59
|
+
"@types/node": "^22.20.0",
|
|
59
60
|
"tslib": "^2.8.1"
|
|
60
61
|
},
|
|
61
62
|
"files": [
|
|
@@ -69,14 +70,23 @@
|
|
|
69
70
|
"access": "public"
|
|
70
71
|
},
|
|
71
72
|
"engines": {
|
|
72
|
-
"node": ">=22"
|
|
73
|
-
},
|
|
74
|
-
"release": {
|
|
75
|
-
"extends": "./lib/semantic-release/config.github.js"
|
|
73
|
+
"node": ">=22.12"
|
|
76
74
|
},
|
|
77
75
|
"keywords": [
|
|
78
76
|
"eslint",
|
|
79
77
|
"web-config",
|
|
80
78
|
"linting"
|
|
81
|
-
]
|
|
79
|
+
],
|
|
80
|
+
"release": {
|
|
81
|
+
"extends": "./lib/semantic-release/config.github.js"
|
|
82
|
+
},
|
|
83
|
+
"lockfile-lint": {
|
|
84
|
+
"type": "npm",
|
|
85
|
+
"path": "package-lock.json",
|
|
86
|
+
"allowedHosts": [
|
|
87
|
+
"npm"
|
|
88
|
+
],
|
|
89
|
+
"validateHttps": true,
|
|
90
|
+
"validateIntegrity": true
|
|
91
|
+
}
|
|
82
92
|
}
|