@tsofist/web-buddy 1.22.0 → 2.0.0-next.2
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 +16 -5
- package/LICENSE +167 -21
- package/README.md +4 -57
- package/lib/eslint/config.d.ts +1200 -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 +38 -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 +58 -0
- package/lib/eslint/config.typescript.d.ts +2 -0
- package/lib/eslint/config.typescript.js +33 -0
- package/lib/eslint/config.typescript.rules.d.ts +2 -0
- package/lib/eslint/config.typescript.rules.js +147 -0
- package/lib/eslint/config.vue.d.ts +5 -0
- package/lib/eslint/config.vue.js +43 -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 +6 -0
- package/lib/eslint/ignores.d.ts +1 -0
- package/lib/eslint/ignores.js +38 -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 +42 -42
- 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,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 = readonly 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,78 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsofist/web-buddy",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-next.2",
|
|
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": {
|
|
23
|
+
"@eslint/js": "^10.0.1",
|
|
20
24
|
"@semantic-release/git": "^10.0.1",
|
|
21
|
-
"@semantic-release/github": "^
|
|
22
|
-
"@semantic-release/gitlab": "^13.2
|
|
23
|
-
"@semantic-release/npm": "^
|
|
24
|
-
"@
|
|
25
|
-
"@
|
|
26
|
-
"@vue/eslint-config-
|
|
27
|
-
"
|
|
28
|
-
"eslint": "^
|
|
29
|
-
"eslint-
|
|
30
|
-
"eslint-plugin-
|
|
31
|
-
"eslint-plugin-
|
|
32
|
-
"eslint-plugin-
|
|
33
|
-
"eslint-plugin-
|
|
34
|
-
"eslint-plugin-
|
|
35
|
-
"
|
|
36
|
-
"eslint-plugin-yml": "^1.19.1",
|
|
25
|
+
"@semantic-release/github": "^12.0.6",
|
|
26
|
+
"@semantic-release/gitlab": "^13.3.2",
|
|
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.7.0",
|
|
31
|
+
"eslint": "^10.3.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",
|
|
37
40
|
"husky": "^9.1.7",
|
|
41
|
+
"npm": "^11.14.0",
|
|
38
42
|
"postcss-html": "^1.8.1",
|
|
39
|
-
"prettier": "^3.
|
|
43
|
+
"prettier": "^3.8.3",
|
|
40
44
|
"semantic-release": "^25.0.3",
|
|
41
|
-
"stylelint": "^
|
|
42
|
-
"stylelint-config-recommended-scss": "^
|
|
43
|
-
"stylelint-config-standard": "^
|
|
44
|
-
"stylelint-config-standard-scss": "^
|
|
45
|
+
"stylelint": "^17.11.0",
|
|
46
|
+
"stylelint-config-recommended-scss": "^17.0.1",
|
|
47
|
+
"stylelint-config-standard": "^40.0.0",
|
|
48
|
+
"stylelint-config-standard-scss": "^17.0.0",
|
|
45
49
|
"stylelint-config-standard-vue": "^1.0.0",
|
|
46
|
-
"stylelint-order": "^
|
|
50
|
+
"stylelint-order": "^8.1.1",
|
|
47
51
|
"stylelint-prettier": "^5.0.3",
|
|
48
|
-
"stylelint-scss": "^
|
|
49
|
-
"typescript": "~
|
|
52
|
+
"stylelint-scss": "^7.0.0",
|
|
53
|
+
"typescript": "~6.0.3",
|
|
54
|
+
"typescript-eslint": "^8.59.2",
|
|
55
|
+
"yaml-eslint-parser": "^2.0.0"
|
|
50
56
|
},
|
|
51
57
|
"devDependencies": {
|
|
58
|
+
"@types/node": "^22.19.17",
|
|
52
59
|
"tslib": "^2.8.1"
|
|
53
60
|
},
|
|
54
61
|
"files": [
|
|
55
|
-
"
|
|
56
|
-
"tsconfig",
|
|
57
|
-
".eslintrc.yaml",
|
|
58
|
-
".stylelintrc.yaml",
|
|
59
|
-
".releaserc-*.json",
|
|
60
|
-
".editorconfig",
|
|
61
|
-
".prettierrc.js",
|
|
62
|
+
"LICENSE",
|
|
62
63
|
"README.md",
|
|
63
|
-
"
|
|
64
|
+
".editorconfig",
|
|
65
|
+
"lib"
|
|
64
66
|
],
|
|
65
67
|
"publishConfig": {
|
|
66
68
|
"registry": "https://registry.npmjs.org/",
|
|
67
69
|
"access": "public"
|
|
68
70
|
},
|
|
69
71
|
"engines": {
|
|
70
|
-
"node": ">=
|
|
72
|
+
"node": ">=22"
|
|
71
73
|
},
|
|
72
74
|
"release": {
|
|
73
|
-
"extends":
|
|
74
|
-
"./.releaserc-github.json"
|
|
75
|
-
]
|
|
75
|
+
"extends": "./lib/semantic-release/config.github.js"
|
|
76
76
|
},
|
|
77
77
|
"keywords": [
|
|
78
78
|
"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
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
parser: '@typescript-eslint/parser'
|
|
2
|
-
|
|
3
|
-
parserOptions:
|
|
4
|
-
extraFilesExtension:
|
|
5
|
-
- .vue
|
|
6
|
-
project: tsconfig.json
|
|
7
|
-
sourceType: module
|
|
8
|
-
|
|
9
|
-
plugins:
|
|
10
|
-
- import
|
|
11
|
-
- prettier
|
|
12
|
-
- '@typescript-eslint'
|
|
13
|
-
- decorator-position
|
|
14
|
-
|
|
15
|
-
extends:
|
|
16
|
-
- eslint:recommended
|
|
17
|
-
- plugin:import/typescript
|
|
18
|
-
- plugin:@typescript-eslint/strict-type-checked
|
|
19
|
-
- ./rules.yaml
|
|
20
|
-
- ../shared.yaml
|