@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.
Files changed (62) hide show
  1. package/.editorconfig +16 -5
  2. package/LICENSE +167 -21
  3. package/README.md +4 -57
  4. package/lib/eslint/config.d.ts +1200 -0
  5. package/lib/eslint/config.fws-mercurio.d.ts +2 -0
  6. package/lib/eslint/config.fws-mercurio.js +15 -0
  7. package/lib/eslint/config.js +38 -0
  8. package/lib/eslint/config.json.d.ts +2 -0
  9. package/lib/eslint/config.json.js +20 -0
  10. package/lib/eslint/config.json.rules.d.ts +3 -0
  11. package/lib/eslint/config.json.rules.js +9 -0
  12. package/lib/eslint/config.shared.rules.d.ts +3 -0
  13. package/lib/eslint/config.shared.rules.js +58 -0
  14. package/lib/eslint/config.typescript.d.ts +2 -0
  15. package/lib/eslint/config.typescript.js +33 -0
  16. package/lib/eslint/config.typescript.rules.d.ts +2 -0
  17. package/lib/eslint/config.typescript.rules.js +147 -0
  18. package/lib/eslint/config.vue.d.ts +5 -0
  19. package/lib/eslint/config.vue.js +43 -0
  20. package/lib/eslint/config.vue.rules.d.ts +5 -0
  21. package/lib/eslint/config.vue.rules.js +61 -0
  22. package/lib/eslint/config.yaml.d.ts +2 -0
  23. package/lib/eslint/config.yaml.js +13 -0
  24. package/lib/eslint/config.yaml.rules.d.ts +2 -0
  25. package/lib/eslint/config.yaml.rules.js +6 -0
  26. package/lib/eslint/ignores.d.ts +1 -0
  27. package/lib/eslint/ignores.js +38 -0
  28. package/lib/prettier/config.d.ts +39 -0
  29. package/{.prettierrc.js → lib/prettier/config.js} +4 -3
  30. package/lib/semantic-release/config.github.d.ts +16 -0
  31. package/lib/semantic-release/config.github.js +3 -0
  32. package/lib/semantic-release/config.gitlab.d.ts +16 -0
  33. package/lib/semantic-release/config.gitlab.js +3 -0
  34. package/lib/semantic-release/configuration-bootstrap.d.ts +84 -0
  35. package/lib/semantic-release/configuration-bootstrap.js +53 -0
  36. package/lib/stricter-mode.d.ts +1 -0
  37. package/lib/stricter-mode.js +2 -0
  38. package/lib/stylelint/config.d.ts +11 -0
  39. package/lib/stylelint/config.js +21 -0
  40. package/lib/stylelint/rules.d.ts +2 -0
  41. package/lib/stylelint/rules.js +19 -0
  42. package/lib/tsconfig/config.base.json +18 -0
  43. package/lib/tsconfig/config.isomorphic.json +6 -0
  44. package/lib/tsconfig/config.web.json +11 -0
  45. package/lib/types.d.ts +14 -0
  46. package/lib/types.js +1 -0
  47. package/package.json +42 -42
  48. package/.eslintrc.yaml +0 -66
  49. package/.releaserc-github.json +0 -23
  50. package/.releaserc-gitlab.json +0 -23
  51. package/.stylelintrc.yaml +0 -49
  52. package/eslint/shared.yaml +0 -66
  53. package/eslint/stricter.extends.yaml +0 -10
  54. package/eslint/typescript/common.yaml +0 -20
  55. package/eslint/typescript/rules.yaml +0 -159
  56. package/eslint/typescript/stricter.rules.yaml +0 -4
  57. package/eslint/vue/common.yaml +0 -36
  58. package/eslint/vue/rules.yaml +0 -63
  59. package/eslint/yaml/common.yaml +0 -22
  60. package/tsconfig/base.json +0 -18
  61. package/tsconfig/browser.json +0 -10
  62. 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,2 @@
1
+ import { env } from 'node:process';
2
+ export const WebBuddyStricterMode = (env.WEB_BUDDY_LINT_STRICTER ?? '1') === '1';
@@ -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,2 @@
1
+ import type { StylelintRuleSet } from '../types.js';
2
+ export declare const WebBuddyStylelintRules: StylelintRuleSet;
@@ -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
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "./config.base.json",
3
+ "compilerOptions": {
4
+ "incremental": true
5
+ }
6
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "extends": "./config.base.json",
3
+ "compilerOptions": {
4
+ "isolatedModules": true,
5
+ "verbatimModuleSyntax": false
6
+ },
7
+ "vueCompilerOptions": {
8
+ "allowImplicitTemplateReturnType": false,
9
+ "strictTemplates": true
10
+ }
11
+ }
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": "1.22.0",
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": "MIT",
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 . -c .eslintrc.yaml --cache --cache-location .lint-cache/",
12
- "lint:style": "stylelint **/*.{htm,html,vue,css,scss,sass,pcss,postcss} --cache --cache-location .lint-cache/ --allow-empty-input",
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 .*-cache .npm",
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": "^11.0.6",
22
- "@semantic-release/gitlab": "^13.2.9",
23
- "@semantic-release/npm": "^12.0.2",
24
- "@typescript-eslint/eslint-plugin": "^7.18.0",
25
- "@typescript-eslint/parser": "^7.18.0",
26
- "@vue/eslint-config-prettier": "^9.0.0",
27
- "@vue/eslint-config-typescript": "^13.0.0",
28
- "eslint": "^8.57.1",
29
- "eslint-config-prettier": "^9.1.2",
30
- "eslint-plugin-decorator-position": "^6.0.0",
31
- "eslint-plugin-import": "^2.32.0",
32
- "eslint-plugin-json-format": "^2.0.1",
33
- "eslint-plugin-prettier": "^5.2.6",
34
- "eslint-plugin-prettier-vue": "^5.0.0",
35
- "eslint-plugin-vue": "^9.33.0",
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.4.2",
43
+ "prettier": "^3.8.3",
40
44
  "semantic-release": "^25.0.3",
41
- "stylelint": "^16.12.0",
42
- "stylelint-config-recommended-scss": "^14.1.0",
43
- "stylelint-config-standard": "^36.0.1",
44
- "stylelint-config-standard-scss": "^13.1.0",
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": "^6.0.4",
50
+ "stylelint-order": "^8.1.1",
47
51
  "stylelint-prettier": "^5.0.3",
48
- "stylelint-scss": "^6.10.1",
49
- "typescript": "~5.9.3"
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
- "eslint",
56
- "tsconfig",
57
- ".eslintrc.yaml",
58
- ".stylelintrc.yaml",
59
- ".releaserc-*.json",
60
- ".editorconfig",
61
- ".prettierrc.js",
62
+ "LICENSE",
62
63
  "README.md",
63
- "LICENSE"
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": ">=20"
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
@@ -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
- }
@@ -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
@@ -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,10 +0,0 @@
1
- overrides:
2
- - files: ['*.ts', '*.tsx']
3
- extends:
4
- - ./typescript/common.yaml
5
- - ./typescript/stricter.rules.yaml
6
-
7
- - files: ['*.vue']
8
- extends:
9
- - ./vue/common.yaml
10
- - ./typescript/stricter.rules.yaml
@@ -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