@tsofist/web-buddy 1.22.0 → 2.0.0-next.10
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 +33 -3
- package/LICENSE +167 -21
- package/README.md +4 -57
- package/lib/eslint/config.d.ts +1201 -0
- package/lib/eslint/config.fws-mercurio.d.ts +2 -0
- package/lib/eslint/config.fws-mercurio.js +15 -0
- package/lib/eslint/config.js +63 -0
- package/lib/eslint/config.json.d.ts +2 -0
- package/lib/eslint/config.json.js +20 -0
- package/lib/eslint/config.json.rules.d.ts +3 -0
- package/lib/eslint/config.json.rules.js +9 -0
- package/lib/eslint/config.shared.rules.d.ts +3 -0
- package/lib/eslint/config.shared.rules.js +70 -0
- package/lib/eslint/config.typescript.d.ts +2 -0
- package/lib/eslint/config.typescript.js +42 -0
- package/lib/eslint/config.typescript.rules.d.ts +2 -0
- package/lib/eslint/config.typescript.rules.js +149 -0
- package/lib/eslint/config.vue.d.ts +5 -0
- package/lib/eslint/config.vue.js +46 -0
- package/lib/eslint/config.vue.rules.d.ts +5 -0
- package/lib/eslint/config.vue.rules.js +61 -0
- package/lib/eslint/config.yaml.d.ts +2 -0
- package/lib/eslint/config.yaml.js +13 -0
- package/lib/eslint/config.yaml.rules.d.ts +2 -0
- package/lib/eslint/config.yaml.rules.js +8 -0
- package/lib/eslint/ignores.d.ts +1 -0
- package/lib/eslint/ignores.js +40 -0
- package/lib/prettier/config.d.ts +39 -0
- package/{.prettierrc.js → lib/prettier/config.js} +4 -3
- package/lib/semantic-release/config.github.d.ts +16 -0
- package/lib/semantic-release/config.github.js +3 -0
- package/lib/semantic-release/config.gitlab.d.ts +16 -0
- package/lib/semantic-release/config.gitlab.js +3 -0
- package/lib/semantic-release/configuration-bootstrap.d.ts +84 -0
- package/lib/semantic-release/configuration-bootstrap.js +53 -0
- package/lib/stricter-mode.d.ts +1 -0
- package/lib/stricter-mode.js +2 -0
- package/lib/stylelint/config.d.ts +11 -0
- package/lib/stylelint/config.js +21 -0
- package/lib/stylelint/rules.d.ts +2 -0
- package/lib/stylelint/rules.js +19 -0
- package/lib/tsconfig/config.base.json +18 -0
- package/lib/tsconfig/config.isomorphic.json +6 -0
- package/lib/tsconfig/config.web.json +11 -0
- package/lib/types.d.ts +14 -0
- package/lib/types.js +1 -0
- package/package.json +45 -46
- package/.eslintrc.yaml +0 -66
- package/.releaserc-github.json +0 -23
- package/.releaserc-gitlab.json +0 -23
- package/.stylelintrc.yaml +0 -49
- package/eslint/shared.yaml +0 -66
- package/eslint/stricter.extends.yaml +0 -10
- package/eslint/typescript/common.yaml +0 -20
- package/eslint/typescript/rules.yaml +0 -159
- package/eslint/typescript/stricter.rules.yaml +0 -4
- package/eslint/vue/common.yaml +0 -36
- package/eslint/vue/rules.yaml +0 -63
- package/eslint/yaml/common.yaml +0 -22
- package/tsconfig/base.json +0 -18
- package/tsconfig/browser.json +0 -10
- package/tsconfig/server.json +0 -6
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const WebBuddySemanticReleaseConfigForGitHub: {
|
|
2
|
+
branches: (string | {
|
|
3
|
+
name: string;
|
|
4
|
+
prerelease: true | string;
|
|
5
|
+
channel?: string;
|
|
6
|
+
} | {
|
|
7
|
+
name: string;
|
|
8
|
+
channel: string;
|
|
9
|
+
range?: string;
|
|
10
|
+
})[];
|
|
11
|
+
plugins: (string | (string | {
|
|
12
|
+
assets: string[];
|
|
13
|
+
message: string;
|
|
14
|
+
})[])[];
|
|
15
|
+
};
|
|
16
|
+
export default WebBuddySemanticReleaseConfigForGitHub;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const WebBuddySemanticReleaseConfigForGitLab: {
|
|
2
|
+
branches: (string | {
|
|
3
|
+
name: string;
|
|
4
|
+
prerelease: true | string;
|
|
5
|
+
channel?: string;
|
|
6
|
+
} | {
|
|
7
|
+
name: string;
|
|
8
|
+
channel: string;
|
|
9
|
+
range?: string;
|
|
10
|
+
})[];
|
|
11
|
+
plugins: (string | (string | {
|
|
12
|
+
assets: string[];
|
|
13
|
+
message: string;
|
|
14
|
+
})[])[];
|
|
15
|
+
};
|
|
16
|
+
export default WebBuddySemanticReleaseConfigForGitLab;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*/
|
|
4
|
+
export declare function bootstrapSemanticReleaseConfig(platform: SemanticReleasePlatform, branchesFlow?: SemanticReleaseBranchesFlow): {
|
|
5
|
+
branches: SemanticReleaseBranchDef[];
|
|
6
|
+
plugins: (string | (string | {
|
|
7
|
+
assets: string[];
|
|
8
|
+
message: string;
|
|
9
|
+
})[])[];
|
|
10
|
+
};
|
|
11
|
+
export type SemanticReleasePlatform = 'github' | 'gitlab';
|
|
12
|
+
export type SemanticReleaseBranchesFlow = {
|
|
13
|
+
/**
|
|
14
|
+
* ### Defaults:
|
|
15
|
+
* - __Channel name__: `maintenance`
|
|
16
|
+
* - __Branch name template:__ `maintenance/+([0-9])?(.{+([0-9]),x}).x`
|
|
17
|
+
*/
|
|
18
|
+
maintenance?: ReleaseBranchFlowParams;
|
|
19
|
+
/**
|
|
20
|
+
* ### Defaults:
|
|
21
|
+
* - __Channel name__: `draft`
|
|
22
|
+
* - __Branch name template:__ `draft/*`
|
|
23
|
+
*/
|
|
24
|
+
draft?: ReleaseBranchFlowParams;
|
|
25
|
+
};
|
|
26
|
+
export type ReleaseBranchFlowParams = {
|
|
27
|
+
branchPrefix?: string;
|
|
28
|
+
releaseChannel?: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* @see https://semantic-release.gitbook.io/semantic-release/usage/configuration#branches Branches | semantic-release
|
|
32
|
+
* @see https://semantic-release.gitbook.io/semantic-release/usage/workflow-configuration#workflow-configuration Workflow | semantic-release
|
|
33
|
+
*/
|
|
34
|
+
type SemanticReleaseBranchDef = SemanticReleaseBranchDistributionChannel | SemanticReleaseBranchPreRelease | SemanticReleaseBranchMaintenance;
|
|
35
|
+
/**
|
|
36
|
+
* Prerelease branch definition
|
|
37
|
+
* ---
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```TypeScript
|
|
41
|
+
* // `prerelease` is set to `true` as it is the value of `name`
|
|
42
|
+
* { name: "master", prerelease: true }
|
|
43
|
+
* // `prerelease` is built with the template `${name.replace(/^pre\\//g, "")}`
|
|
44
|
+
* { name: "pre/rc", channel: "pre/rc", prerelease: "rc" }
|
|
45
|
+
* // `prerelease` is set to `beta` as it is the value of `name`
|
|
46
|
+
* { name: "beta", channel: "beta", prerelease: true }
|
|
47
|
+
* // `prerelease` is built with the template `${name.replace(/^wip\\//, 'wip.')}`
|
|
48
|
+
* { name: "wip", channel: "wip", prerelease: "${name.replace(/^wip\\//, 'wip.')}" }
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @see https://semantic-release.gitbook.io/semantic-release/usage/workflow-configuration#workflow-configuration#pre-release-branches Pre-release branches | semantic-release
|
|
52
|
+
* @see https://semantic-release.gitbook.io/semantic-release/recipes/release-workflow/pre-releases Workflow: Pre-releases | semantic-release
|
|
53
|
+
*/
|
|
54
|
+
type SemanticReleaseBranchPreRelease = {
|
|
55
|
+
name: string;
|
|
56
|
+
prerelease: true | string;
|
|
57
|
+
channel?: string;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Maintenance branch definition
|
|
61
|
+
* ---
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```TypeScript
|
|
65
|
+
* { name: "maintenance/+([0-9])?(.{+([0-9]),x}).x", channel: "maintenance" }
|
|
66
|
+
* // `channel` is built with the template `channel-${name}`
|
|
67
|
+
* {name: "next", channel: "channel-${name}"}
|
|
68
|
+
* // only after the `1.x` is created in the repo
|
|
69
|
+
* { name: "1.x", channel: "1.x", range: "1.x" },
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* @see https://semantic-release.gitbook.io/semantic-release/usage/workflow-configuration#workflow-configuration#maintenance-branches Maintenance branches | semantic-release
|
|
73
|
+
* @see https://semantic-release.gitbook.io/semantic-release/recipes/release-workflow/maintenance-releases Workflow: Maintenance releases | semantic-release
|
|
74
|
+
*/
|
|
75
|
+
type SemanticReleaseBranchMaintenance = {
|
|
76
|
+
name: string;
|
|
77
|
+
channel: string;
|
|
78
|
+
range?: string;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* @see https://semantic-release.gitbook.io/semantic-release/recipes/release-workflow/distribution-channels Workflow: Distribution channels | semantic-release
|
|
82
|
+
*/
|
|
83
|
+
type SemanticReleaseBranchDistributionChannel = string;
|
|
84
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*/
|
|
4
|
+
export function bootstrapSemanticReleaseConfig(platform, branchesFlow = DEF_BRANCHES_FLOW) {
|
|
5
|
+
const branches = [
|
|
6
|
+
'main',
|
|
7
|
+
'master',
|
|
8
|
+
{ name: 'next', prerelease: true },
|
|
9
|
+
{ name: 'stage', prerelease: true },
|
|
10
|
+
{ name: 'dev', prerelease: true },
|
|
11
|
+
{ name: 'beta', prerelease: true },
|
|
12
|
+
{ name: 'alpha', prerelease: true },
|
|
13
|
+
];
|
|
14
|
+
if (branchesFlow.maintenance) {
|
|
15
|
+
const prefix = branchesFlow.maintenance.branchPrefix ?? DEF_BRANCHES_FLOW.maintenance.branchPrefix;
|
|
16
|
+
const channel = branchesFlow.maintenance.releaseChannel ?? DEF_BRANCHES_FLOW.maintenance.releaseChannel;
|
|
17
|
+
const name = `${prefix}/+([0-9])?(.{+([0-9]),x}).x`;
|
|
18
|
+
branches.push({ name, channel });
|
|
19
|
+
}
|
|
20
|
+
if (branchesFlow.draft) {
|
|
21
|
+
const prefix = branchesFlow.draft.branchPrefix ?? DEF_BRANCHES_FLOW.draft.branchPrefix;
|
|
22
|
+
const channel = branchesFlow.draft.releaseChannel ?? DEF_BRANCHES_FLOW.draft.releaseChannel;
|
|
23
|
+
const name = `${prefix}/*`;
|
|
24
|
+
const prerelease = `\${name.replace(/^${channel}\\//, '${channel}.')}`;
|
|
25
|
+
branches.push({ name, channel, prerelease });
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
branches,
|
|
29
|
+
plugins: [
|
|
30
|
+
'@semantic-release/commit-analyzer',
|
|
31
|
+
'@semantic-release/release-notes-generator',
|
|
32
|
+
`@semantic-release/${platform}`,
|
|
33
|
+
'@semantic-release/npm',
|
|
34
|
+
[
|
|
35
|
+
'@semantic-release/git',
|
|
36
|
+
{
|
|
37
|
+
assets: ['package.json', 'package-lock.json'],
|
|
38
|
+
message: 'chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}',
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
],
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
const DEF_BRANCHES_FLOW = {
|
|
45
|
+
maintenance: {
|
|
46
|
+
releaseChannel: 'maintenance',
|
|
47
|
+
branchPrefix: 'maintenance',
|
|
48
|
+
},
|
|
49
|
+
draft: {
|
|
50
|
+
releaseChannel: 'draft',
|
|
51
|
+
branchPrefix: 'draft',
|
|
52
|
+
},
|
|
53
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const WebBuddyStricterMode: boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const WebBuddyStylelintConfig: {
|
|
2
|
+
defaultSeverity: string;
|
|
3
|
+
extends: string[];
|
|
4
|
+
plugins: string[];
|
|
5
|
+
overrides: {
|
|
6
|
+
files: string[];
|
|
7
|
+
customSyntax: string;
|
|
8
|
+
}[];
|
|
9
|
+
rules: import("../types.js").StylelintRuleSet;
|
|
10
|
+
};
|
|
11
|
+
export default WebBuddyStylelintConfig;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { WebBuddyStylelintRules } from './rules.js';
|
|
2
|
+
export const WebBuddyStylelintConfig = {
|
|
3
|
+
defaultSeverity: 'error',
|
|
4
|
+
extends: [
|
|
5
|
+
'stylelint-config-html',
|
|
6
|
+
'stylelint-config-standard',
|
|
7
|
+
'stylelint-config-standard-vue',
|
|
8
|
+
'stylelint-config-standard-scss',
|
|
9
|
+
'stylelint-config-standard-vue/scss',
|
|
10
|
+
'stylelint-prettier',
|
|
11
|
+
],
|
|
12
|
+
plugins: ['stylelint-prettier', 'stylelint-scss', 'stylelint-order'],
|
|
13
|
+
overrides: [
|
|
14
|
+
{
|
|
15
|
+
files: ['*.html'],
|
|
16
|
+
customSyntax: 'postcss-html',
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
rules: WebBuddyStylelintRules,
|
|
20
|
+
};
|
|
21
|
+
export default WebBuddyStylelintConfig;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const VuePseudoClasses = [
|
|
2
|
+
'deep',
|
|
3
|
+
'slotted',
|
|
4
|
+
'global',
|
|
5
|
+
// legacy ->
|
|
6
|
+
'v-deep',
|
|
7
|
+
'v-slotted',
|
|
8
|
+
'v-global',
|
|
9
|
+
];
|
|
10
|
+
export const WebBuddyStylelintRules = {
|
|
11
|
+
'prettier/prettier': true,
|
|
12
|
+
'order/properties-alphabetical-order': true,
|
|
13
|
+
'no-empty-source': null,
|
|
14
|
+
'declaration-property-value-no-unknown': true,
|
|
15
|
+
'selector-pseudo-class-no-unknown': [true, { ignorePseudoClasses: VuePseudoClasses }],
|
|
16
|
+
'selector-pseudo-element-no-unknown': [true, { ignorePseudoElements: VuePseudoClasses }],
|
|
17
|
+
'scss/at-rule-no-unknown': null,
|
|
18
|
+
'scss/comment-no-empty': null,
|
|
19
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"declaration": true,
|
|
4
|
+
"forceConsistentCasingInFileNames": true,
|
|
5
|
+
"importHelpers": true,
|
|
6
|
+
"newLine": "lf",
|
|
7
|
+
"noEmitHelpers": true,
|
|
8
|
+
"noEmitOnError": true,
|
|
9
|
+
"noFallthroughCasesInSwitch": true,
|
|
10
|
+
"noImplicitOverride": true,
|
|
11
|
+
"noImplicitReturns": true,
|
|
12
|
+
"noUnusedLocals": true,
|
|
13
|
+
"noUnusedParameters": true,
|
|
14
|
+
"resolveJsonModule": true,
|
|
15
|
+
"strict": true,
|
|
16
|
+
"useDefineForClassFields": true
|
|
17
|
+
}
|
|
18
|
+
}
|
package/lib/types.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Linter } from 'eslint';
|
|
2
|
+
import type { defineConfig } from 'eslint/config';
|
|
3
|
+
export type WebBuddyESLintConfig = RO<ReturnType<ESLintDefineConfig>>;
|
|
4
|
+
export type ESLintRuleSet = Record<string, Linter.RuleEntry>;
|
|
5
|
+
export type ESLintConfigChainElement = Parameters<ESLintDefineConfig>[number];
|
|
6
|
+
export type ESLintConfigChain = ESLintConfigChainElement[];
|
|
7
|
+
export type StylelintRuleSet = {
|
|
8
|
+
[rule in string]: null | boolean | [boolean, object];
|
|
9
|
+
};
|
|
10
|
+
type ESLintDefineConfig = typeof defineConfig;
|
|
11
|
+
type RO<T> = T extends Function ? T : T extends object ? {
|
|
12
|
+
readonly [K in keyof T]: RO<T[K]>;
|
|
13
|
+
} : T;
|
|
14
|
+
export {};
|
package/lib/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,78 +1,77 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsofist/web-buddy",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-next.10",
|
|
4
4
|
"description": "Configuration basics for Linters, TypeScript, Semantic Release and others",
|
|
5
|
+
"type": "module",
|
|
5
6
|
"author": "Andrew Berdnikov <tsofistgudmen@gmail.com>",
|
|
6
|
-
"license": "
|
|
7
|
+
"license": "LGPL-3.0",
|
|
7
8
|
"homepage": "https://github.com/tsofist/web-buddy/",
|
|
8
9
|
"scripts": {
|
|
10
|
+
"build": "rm -rf lib && tsc -p tsconfig.build.json",
|
|
9
11
|
"format": "npm run lint:code -- --fix && npm run lint:style -- --fix",
|
|
12
|
+
"test": "npm run build && npm run lint",
|
|
10
13
|
"lint": "npm run lint:code && npm run lint:style",
|
|
11
|
-
"lint:code": "eslint .
|
|
12
|
-
"lint:style": "stylelint **/*.{htm,html,vue,css,scss,sass,pcss,postcss} --cache --cache-location .
|
|
14
|
+
"lint:code": "WEB_BUDDY_LINT_STRICTER=1 eslint . --cache --cache-location .cache/",
|
|
15
|
+
"lint:style": "stylelint **/*.{htm,html,vue,css,scss,sass,pcss,postcss} --cache --cache-location .cache/ --allow-empty-input",
|
|
13
16
|
"pkg:publish": "semantic-release --no-ci",
|
|
14
17
|
"pkg:publish-test": "semantic-release --no-ci --dry-run",
|
|
15
|
-
"pkg:clean": "rm -rf dist lib .coverage
|
|
16
|
-
"pkg:purge": "npm run pkg:clean && rm -rf node_modules",
|
|
18
|
+
"pkg:clean": "rm -rf dist lib .coverage .cache",
|
|
19
|
+
"pkg:purge": "npm run pkg:clean && rm -rf .npm node_modules",
|
|
17
20
|
"prepare": "husky"
|
|
18
21
|
},
|
|
19
22
|
"dependencies": {
|
|
20
|
-
"@
|
|
21
|
-
"@semantic-release/
|
|
22
|
-
"@semantic-release/
|
|
23
|
-
"@semantic-release/
|
|
24
|
-
"@
|
|
25
|
-
"@
|
|
26
|
-
"@vue/eslint-config-prettier": "^
|
|
27
|
-
"@vue/eslint-config-typescript": "^
|
|
28
|
-
"eslint": "^8.
|
|
29
|
-
"eslint-
|
|
30
|
-
"eslint-plugin-decorator-position": "^6.
|
|
31
|
-
"eslint-plugin-import": "^
|
|
32
|
-
"eslint-plugin-
|
|
33
|
-
"eslint-plugin-prettier": "^5.
|
|
34
|
-
"eslint-plugin-
|
|
35
|
-
"eslint-plugin-
|
|
36
|
-
"
|
|
23
|
+
"@eslint/js": "^10.0.1",
|
|
24
|
+
"@semantic-release/git": "^11.0.1",
|
|
25
|
+
"@semantic-release/github": "^12.0.9",
|
|
26
|
+
"@semantic-release/gitlab": "^13.3.3",
|
|
27
|
+
"@semantic-release/npm": "^13.1.5",
|
|
28
|
+
"@stylistic/eslint-plugin": "^5.10.0",
|
|
29
|
+
"@vue/eslint-config-prettier": "^10.2.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",
|
|
37
40
|
"husky": "^9.1.7",
|
|
38
|
-
"postcss-html": "^
|
|
39
|
-
"prettier": "^3.
|
|
40
|
-
"semantic-release": "^25.0.
|
|
41
|
-
"stylelint": "^
|
|
42
|
-
"stylelint-config-recommended-scss": "^
|
|
43
|
-
"stylelint-config-standard": "^
|
|
44
|
-
"stylelint-config-standard-scss": "^
|
|
45
|
-
"stylelint-config-standard-vue": "^
|
|
46
|
-
"stylelint-order": "^
|
|
41
|
+
"postcss-html": "^2.0.0",
|
|
42
|
+
"prettier": "^3.9.6",
|
|
43
|
+
"semantic-release": "^25.0.9",
|
|
44
|
+
"stylelint": "^17.14.1",
|
|
45
|
+
"stylelint-config-recommended-scss": "^17.0.1",
|
|
46
|
+
"stylelint-config-standard": "^40.0.0",
|
|
47
|
+
"stylelint-config-standard-scss": "^17.0.0",
|
|
48
|
+
"stylelint-config-standard-vue": "^2.0.0",
|
|
49
|
+
"stylelint-order": "^8.1.1",
|
|
47
50
|
"stylelint-prettier": "^5.0.3",
|
|
48
|
-
"stylelint-scss": "^
|
|
49
|
-
"typescript": "~
|
|
51
|
+
"stylelint-scss": "^7.2.0",
|
|
52
|
+
"typescript": "~6.0.3",
|
|
53
|
+
"typescript-eslint": "^8.67.0",
|
|
54
|
+
"yaml-eslint-parser": "^2.1.0"
|
|
50
55
|
},
|
|
51
56
|
"devDependencies": {
|
|
57
|
+
"@types/node": "^22.20.0",
|
|
52
58
|
"tslib": "^2.8.1"
|
|
53
59
|
},
|
|
54
60
|
"files": [
|
|
55
|
-
"
|
|
56
|
-
"tsconfig",
|
|
57
|
-
".eslintrc.yaml",
|
|
58
|
-
".stylelintrc.yaml",
|
|
59
|
-
".releaserc-*.json",
|
|
60
|
-
".editorconfig",
|
|
61
|
-
".prettierrc.js",
|
|
61
|
+
"LICENSE",
|
|
62
62
|
"README.md",
|
|
63
|
-
"
|
|
63
|
+
".editorconfig",
|
|
64
|
+
"lib"
|
|
64
65
|
],
|
|
65
66
|
"publishConfig": {
|
|
66
67
|
"registry": "https://registry.npmjs.org/",
|
|
67
68
|
"access": "public"
|
|
68
69
|
},
|
|
69
70
|
"engines": {
|
|
70
|
-
"node": ">=
|
|
71
|
+
"node": ">=22.12"
|
|
71
72
|
},
|
|
72
73
|
"release": {
|
|
73
|
-
"extends":
|
|
74
|
-
"./.releaserc-github.json"
|
|
75
|
-
]
|
|
74
|
+
"extends": "./lib/semantic-release/config.github.js"
|
|
76
75
|
},
|
|
77
76
|
"keywords": [
|
|
78
77
|
"eslint",
|
package/.eslintrc.yaml
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
env:
|
|
2
|
-
browser: true
|
|
3
|
-
node: true
|
|
4
|
-
|
|
5
|
-
parserOptions:
|
|
6
|
-
ecmaVersion: 2020
|
|
7
|
-
extraFileExtensions:
|
|
8
|
-
- .vue
|
|
9
|
-
|
|
10
|
-
ignorePatterns:
|
|
11
|
-
- 'package*.json'
|
|
12
|
-
- '*.scss'
|
|
13
|
-
- '*.css'
|
|
14
|
-
- '*.html'
|
|
15
|
-
- '*.htm'
|
|
16
|
-
- '!.*.yml'
|
|
17
|
-
- '!.*.yaml'
|
|
18
|
-
- '!.*.json'
|
|
19
|
-
- '!.gitlab-ci'
|
|
20
|
-
- '!.k8s'
|
|
21
|
-
|
|
22
|
-
plugins:
|
|
23
|
-
- import
|
|
24
|
-
- vue
|
|
25
|
-
- '@typescript-eslint'
|
|
26
|
-
- decorator-position
|
|
27
|
-
|
|
28
|
-
settings:
|
|
29
|
-
import/extensions: [.ts, .tsx, .vue, .js, .json]
|
|
30
|
-
import/parsers:
|
|
31
|
-
'@typescript-eslint/parser': [.ts, .tsx, .vue]
|
|
32
|
-
prettier-vue:
|
|
33
|
-
SFCBlocks:
|
|
34
|
-
template: false
|
|
35
|
-
style: true
|
|
36
|
-
script: true
|
|
37
|
-
|
|
38
|
-
overrides:
|
|
39
|
-
- files: ['*.json']
|
|
40
|
-
parser: '@typescript-eslint/parser'
|
|
41
|
-
plugins:
|
|
42
|
-
- prettier
|
|
43
|
-
extends:
|
|
44
|
-
- prettier
|
|
45
|
-
- ./eslint/shared.yaml
|
|
46
|
-
rules:
|
|
47
|
-
prettier/prettier: error
|
|
48
|
-
quotes: off
|
|
49
|
-
quote-props: off
|
|
50
|
-
|
|
51
|
-
- files: ['*.yaml', '*.yml']
|
|
52
|
-
extends:
|
|
53
|
-
- ./eslint/yaml/common.yaml
|
|
54
|
-
|
|
55
|
-
- files: ['*.vue']
|
|
56
|
-
extends:
|
|
57
|
-
- ./eslint/vue/common.yaml
|
|
58
|
-
|
|
59
|
-
- files: ['*.ts', '*.tsx']
|
|
60
|
-
extends:
|
|
61
|
-
- ./eslint/typescript/common.yaml
|
|
62
|
-
|
|
63
|
-
# todo?
|
|
64
|
-
- files: ['*.js', '*.jsx']
|
|
65
|
-
extends:
|
|
66
|
-
- ./eslint/typescript/common.yaml
|
package/.releaserc-github.json
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"branches": [
|
|
3
|
-
"main",
|
|
4
|
-
"master",
|
|
5
|
-
{ "name": "next", "prerelease": true },
|
|
6
|
-
{ "name": "stage", "prerelease": true },
|
|
7
|
-
{ "name": "dev", "prerelease": true },
|
|
8
|
-
{ "name": "wip/*", "channel": "wip", "prerelease": "${name.replace(/^wip\\//, 'wip.')}" }
|
|
9
|
-
],
|
|
10
|
-
"plugins": [
|
|
11
|
-
"@semantic-release/commit-analyzer",
|
|
12
|
-
"@semantic-release/release-notes-generator",
|
|
13
|
-
"@semantic-release/github",
|
|
14
|
-
"@semantic-release/npm",
|
|
15
|
-
[
|
|
16
|
-
"@semantic-release/git",
|
|
17
|
-
{
|
|
18
|
-
"assets": ["package.json", "package-lock.json"],
|
|
19
|
-
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
|
20
|
-
}
|
|
21
|
-
]
|
|
22
|
-
]
|
|
23
|
-
}
|
package/.releaserc-gitlab.json
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"branches": [
|
|
3
|
-
"main",
|
|
4
|
-
"master",
|
|
5
|
-
{ "name": "next", "prerelease": true },
|
|
6
|
-
{ "name": "stage", "prerelease": true },
|
|
7
|
-
{ "name": "dev", "prerelease": true },
|
|
8
|
-
{ "name": "wip/*", "channel": "wip", "prerelease": "${name.replace(/^wip\\//, 'wip.')}" }
|
|
9
|
-
],
|
|
10
|
-
"plugins": [
|
|
11
|
-
"@semantic-release/commit-analyzer",
|
|
12
|
-
"@semantic-release/release-notes-generator",
|
|
13
|
-
"@semantic-release/gitlab",
|
|
14
|
-
"@semantic-release/npm",
|
|
15
|
-
[
|
|
16
|
-
"@semantic-release/git",
|
|
17
|
-
{
|
|
18
|
-
"assets": ["package.json", "package-lock.json"],
|
|
19
|
-
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
|
20
|
-
}
|
|
21
|
-
]
|
|
22
|
-
]
|
|
23
|
-
}
|
package/.stylelintrc.yaml
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
defaultSeverity: error
|
|
2
|
-
|
|
3
|
-
extends:
|
|
4
|
-
- stylelint-config-html
|
|
5
|
-
- stylelint-config-standard
|
|
6
|
-
- stylelint-config-standard-vue
|
|
7
|
-
- stylelint-config-standard-scss
|
|
8
|
-
- stylelint-config-standard-vue/scss
|
|
9
|
-
- stylelint-prettier
|
|
10
|
-
|
|
11
|
-
plugins:
|
|
12
|
-
- stylelint-prettier
|
|
13
|
-
- stylelint-scss
|
|
14
|
-
- stylelint-order
|
|
15
|
-
|
|
16
|
-
overrides:
|
|
17
|
-
- files:
|
|
18
|
-
- '*.html'
|
|
19
|
-
customSyntax: postcss-html
|
|
20
|
-
|
|
21
|
-
rules:
|
|
22
|
-
prettier/prettier: true
|
|
23
|
-
order/properties-alphabetical-order: true
|
|
24
|
-
no-empty-source: null
|
|
25
|
-
declaration-property-value-no-unknown: true
|
|
26
|
-
selector-pseudo-class-no-unknown:
|
|
27
|
-
- true
|
|
28
|
-
- ignorePseudoClasses:
|
|
29
|
-
# for webpack
|
|
30
|
-
- v-deep
|
|
31
|
-
- v-slotted
|
|
32
|
-
- v-global
|
|
33
|
-
# for vite
|
|
34
|
-
- deep
|
|
35
|
-
- slotted
|
|
36
|
-
- global
|
|
37
|
-
selector-pseudo-element-no-unknown:
|
|
38
|
-
- true
|
|
39
|
-
- ignorePseudoElements:
|
|
40
|
-
# for webpack
|
|
41
|
-
- v-deep
|
|
42
|
-
- v-slotted
|
|
43
|
-
- v-global
|
|
44
|
-
# for vite
|
|
45
|
-
- deep
|
|
46
|
-
- slotted
|
|
47
|
-
- global
|
|
48
|
-
scss/at-rule-no-unknown: null
|
|
49
|
-
scss/comment-no-empty: null
|
package/eslint/shared.yaml
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
rules:
|
|
2
|
-
prefer-const: error
|
|
3
|
-
one-var:
|
|
4
|
-
- error
|
|
5
|
-
- never
|
|
6
|
-
no-multi-spaces: error
|
|
7
|
-
no-multiple-empty-lines:
|
|
8
|
-
- error
|
|
9
|
-
- max: 1
|
|
10
|
-
maxEOF: 0
|
|
11
|
-
maxBOF: 0
|
|
12
|
-
object-curly-spacing:
|
|
13
|
-
- error
|
|
14
|
-
- always
|
|
15
|
-
|
|
16
|
-
import/newline-after-import: error
|
|
17
|
-
import/no-duplicates: warn
|
|
18
|
-
import/order:
|
|
19
|
-
- error
|
|
20
|
-
- newlines-between: never
|
|
21
|
-
alphabetize:
|
|
22
|
-
order: asc
|
|
23
|
-
caseInsensitive: false
|
|
24
|
-
groups:
|
|
25
|
-
- builtin
|
|
26
|
-
- external
|
|
27
|
-
- internal
|
|
28
|
-
- parent
|
|
29
|
-
- sibling
|
|
30
|
-
- index
|
|
31
|
-
|
|
32
|
-
no-restricted-imports:
|
|
33
|
-
- error
|
|
34
|
-
- paths:
|
|
35
|
-
- name: lodash
|
|
36
|
-
message: NEVER IMPORT lodash. Use ONLY DIRECT lodash-es/<SOME-TOOL>
|
|
37
|
-
- name: lodash-es
|
|
38
|
-
message: NEVER IMPORT lodash-es. Use ONLY lodash-es/<SOME-TOOL>
|
|
39
|
-
|
|
40
|
-
no-new-wrappers: error
|
|
41
|
-
|
|
42
|
-
quotes:
|
|
43
|
-
- error
|
|
44
|
-
- single
|
|
45
|
-
- allowTemplateLiterals: true
|
|
46
|
-
avoidEscape: true
|
|
47
|
-
quote-props:
|
|
48
|
-
- error
|
|
49
|
-
- consistent-as-needed
|
|
50
|
-
|
|
51
|
-
no-return-await: error
|
|
52
|
-
|
|
53
|
-
key-spacing:
|
|
54
|
-
- error
|
|
55
|
-
block-spacing:
|
|
56
|
-
- error
|
|
57
|
-
semi-spacing:
|
|
58
|
-
- error
|
|
59
|
-
keyword-spacing:
|
|
60
|
-
- error
|
|
61
|
-
space-before-blocks:
|
|
62
|
-
- error
|
|
63
|
-
brace-style:
|
|
64
|
-
- error
|
|
65
|
-
arrow-spacing:
|
|
66
|
-
- error
|