@kasoa/vite-plus-config 0.1.1 → 0.1.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/dist/{base-ICoOIzvp.mjs → base-Xhg6v9Ct.mjs} +18 -4
- package/dist/base-Xhg6v9Ct.mjs.map +1 -0
- package/dist/src/base/index.mjs +1 -1
- package/dist/src/cloudflare-workers/index.mjs +1 -1
- package/dist/src/library/index.mjs +1 -1
- package/dist/src/monorepo/index.mjs +1 -1
- package/dist/src/node/index.mjs +1 -1
- package/dist/src/react/index.mjs +1 -1
- package/package.json +10 -9
- package/dist/base-ICoOIzvp.mjs.map +0 -1
|
@@ -3,10 +3,24 @@ import { defineConfig, mergeConfig } from "vite-plus";
|
|
|
3
3
|
function toUserConfig(config) {
|
|
4
4
|
return config;
|
|
5
5
|
}
|
|
6
|
+
function mergeConfigFragment(current, fragment) {
|
|
7
|
+
const merged = toUserConfig(mergeConfig(current, toUserConfig(fragment)));
|
|
8
|
+
const rules = fragment.lint?.rules;
|
|
9
|
+
if (rules === void 0) return merged;
|
|
10
|
+
return {
|
|
11
|
+
...merged,
|
|
12
|
+
lint: {
|
|
13
|
+
...merged.lint,
|
|
14
|
+
rules: {
|
|
15
|
+
...current.lint?.rules,
|
|
16
|
+
...rules
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
6
21
|
function mergeConfigFragments(base, ...overrides) {
|
|
7
|
-
let result = {};
|
|
8
|
-
result =
|
|
9
|
-
for (const override of overrides) result = mergeConfig(result, toUserConfig(override));
|
|
22
|
+
let result = mergeConfigFragment({}, base);
|
|
23
|
+
for (const override of overrides) result = mergeConfigFragment(result, override);
|
|
10
24
|
return result;
|
|
11
25
|
}
|
|
12
26
|
function createDefinedConfig(base, ...overrides) {
|
|
@@ -270,4 +284,4 @@ function createBaseConfig(overrides = {}) {
|
|
|
270
284
|
//#endregion
|
|
271
285
|
export { DEFAULT_WRANGLER_CONFIG_PATH as a, reactFmt as i, reactLint as n, createDefinedConfig as o, serverLint as r, mergeConfigFragments as s, createBaseConfig as t };
|
|
272
286
|
|
|
273
|
-
//# sourceMappingURL=base-
|
|
287
|
+
//# sourceMappingURL=base-Xhg6v9Ct.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-Xhg6v9Ct.mjs","names":[],"sources":["../src/shared/config.ts","../src/shared/constants.ts","../src/shared/fmt.ts","../src/shared/lint.ts","../src/base/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { defineConfig, mergeConfig } from \"vite-plus\";\n\nexport type PluginInput = object | readonly object[] | false | null | undefined;\n\nexport type ConfigInput = Omit<UserConfig, \"plugins\"> & {\n /**\n * Vite plugins to merge into the config.\n *\n * This is intentionally typed structurally instead of as Vite's recursive\n * PluginOption type. Vite 8 plugin types from different Vite entrypoints can\n * trigger excessive stack-depth comparisons before the config reaches Vite.\n */\n readonly plugins?: readonly PluginInput[];\n};\n\nfunction toUserConfig(config: ConfigInput): UserConfig {\n // eslint-disable-next-line typescript/no-unsafe-type-assertion -- ConfigInput preserves UserConfig autocomplete but keeps plugin assignability shallow at our public boundary.\n return config as UserConfig;\n}\n\nfunction mergeConfigFragment(current: UserConfig, fragment: ConfigInput): UserConfig {\n const merged = toUserConfig(mergeConfig<UserConfig, UserConfig>(current, toUserConfig(fragment)));\n // Vite concatenates nested arrays, but an Oxlint rule tuple is one atomic value.\n const rules = fragment.lint?.rules;\n\n if (rules === undefined) {\n return merged;\n }\n\n return {\n ...merged,\n lint: {\n ...merged.lint,\n rules: {\n ...current.lint?.rules,\n ...rules,\n },\n },\n };\n}\n\nexport function mergeConfigFragments(base: ConfigInput, ...overrides: ConfigInput[]): UserConfig {\n let result = mergeConfigFragment({}, base);\n\n for (const override of overrides) {\n result = mergeConfigFragment(result, override);\n }\n\n return result;\n}\n\nexport function createDefinedConfig(base: ConfigInput, ...overrides: ConfigInput[]): UserConfig {\n return defineConfig(mergeConfigFragments(base, ...overrides));\n}\n","export const DEFAULT_TEST_INCLUDE = [\"**/*.{test,spec}.{ts,tsx,mts,cts}\"] as const;\nexport const DEFAULT_IGNORE_PATTERNS = [\n \"node_modules/**\",\n \"dist/**\",\n \"dist-ssr/**\",\n \"**/worker-configuration.d.ts\",\n \"**/migrations/**\",\n \"**/drizzle/migrations.js\",\n \"**/drizzle/meta/*.json\",\n] as const;\n\nexport const DEFAULT_STAGED_CHECK_GLOB = \"*.{js,jsx,ts,tsx,mjs,cjs,mts,cts}\";\nexport const DEFAULT_STAGED_CHECK_COMMAND = \"vp check --fix\";\nexport const DEFAULT_WRANGLER_CONFIG_PATH = \"./wrangler.jsonc\";\n","import type { UserConfig } from \"vite-plus\";\nimport { DEFAULT_IGNORE_PATTERNS } from \"./constants.ts\";\n\ntype FmtConfig = NonNullable<UserConfig[\"fmt\"]>;\n\nexport const baseFmt: FmtConfig = {\n ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],\n sortImports: {\n internalPattern: [\"#\", \"@/\"],\n newlinesBetween: false,\n groups: [\n \"type-import\",\n [\"value-builtin\", \"value-external\"],\n \"type-internal\",\n \"value-internal\",\n [\"type-parent\", \"type-sibling\", \"type-index\"],\n [\"value-parent\", \"value-sibling\", \"value-index\"],\n \"unknown\",\n ],\n },\n};\n\nexport const reactFmt: FmtConfig = {\n sortTailwindcss: {\n attributes: [\"/.*ClassName/\"],\n functions: [\"tv\"],\n },\n};\n","import type { UserConfig } from \"vite-plus\";\nimport { DEFAULT_IGNORE_PATTERNS } from \"./constants.ts\";\n\nexport const BASE_LINT_PLUGINS = [\"typescript\", \"unicorn\", \"oxc\", \"import\", \"promise\"] as const;\n\ntype LintConfig = NonNullable<UserConfig[\"lint\"]>;\n\nconst baseLintConfig: LintConfig = {\n plugins: [...BASE_LINT_PLUGINS],\n ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],\n env: {\n serviceworker: true,\n worker: true,\n },\n options: {\n reportUnusedDisableDirectives: \"error\",\n typeAware: true,\n typeCheck: true,\n },\n categories: {\n correctness: \"error\",\n suspicious: \"error\",\n pedantic: \"error\",\n perf: \"error\",\n style: \"error\",\n },\n rules: {\n \"capitalized-comments\": \"off\",\n \"func-style\": \"off\",\n \"id-length\": \"off\",\n \"init-declarations\": \"off\",\n \"max-classes-per-file\": \"off\",\n \"max-lines\": \"off\",\n \"max-lines-per-function\": \"off\",\n \"max-statements\": \"off\",\n \"no-continue\": \"off\",\n \"no-magic-numbers\": \"off\",\n \"no-ternary\": \"off\",\n \"require-await\": \"off\",\n \"sort-imports\": \"off\",\n \"sort-keys\": \"off\",\n \"vars-on-top\": \"off\",\n\n complexity: [\"error\", { max: 20 }],\n curly: [\"error\", \"multi-line\", \"consistent\"],\n \"default-case-last\": \"error\",\n eqeqeq: \"error\",\n \"getter-return\": \"error\",\n \"grouped-accessor-pairs\": [\"error\", \"getBeforeSet\"],\n \"max-depth\": [\"error\", { max: 3 }],\n \"max-nested-callbacks\": [\"error\", { max: 3 }],\n \"max-params\": [\"error\", { max: 3 }],\n \"new-cap\": \"off\",\n \"no-alert\": \"error\",\n \"no-bitwise\": \"error\",\n \"no-console\": [\"error\", { allow: [\"info\", \"warn\", \"error\"] }],\n \"no-duplicate-imports\": [\"error\", { allowSeparateTypeImports: true }],\n \"no-param-reassign\": [\"error\", { props: true }],\n \"no-plusplus\": \"error\",\n \"no-undef\": \"error\",\n \"no-unneeded-ternary\": \"error\",\n \"no-unreachable\": \"error\",\n \"no-useless-return\": \"error\",\n \"prefer-template\": \"error\",\n\n \"import/exports-last\": \"off\",\n \"import/group-exports\": \"off\",\n \"import/no-anonymous-default-export\": \"off\",\n \"import/no-named-export\": \"off\",\n \"import/no-namespace\": \"off\",\n \"import/no-nodejs-modules\": \"off\",\n \"import/no-unassigned-import\": \"off\",\n \"import/prefer-default-export\": \"off\",\n \"import/max-dependencies\": \"off\",\n \"import/no-cycle\": \"error\",\n\n \"promise/prefer-await-to-callbacks\": \"off\",\n\n \"typescript/ban-ts-comment\": [\"error\", { minimumDescriptionLength: 10 }],\n \"typescript/consistent-type-definitions\": \"off\",\n \"typescript/consistent-return\": \"error\",\n \"typescript/consistent-type-exports\": \"error\",\n \"typescript/consistent-type-imports\": [\n \"error\",\n { prefer: \"type-imports\", fixStyle: \"separate-type-imports\" },\n ],\n \"typescript/dot-notation\": \"error\",\n \"typescript/explicit-module-boundary-types\": \"error\",\n \"typescript/no-confusing-void-expression\": \"error\",\n \"typescript/no-dynamic-delete\": \"error\",\n \"typescript/no-explicit-any\": \"error\",\n \"typescript/no-floating-promises\": \"error\",\n \"typescript/no-misused-promises\": \"error\",\n \"typescript/no-misused-spread\": \"error\",\n \"typescript/no-non-null-assertion\": \"error\",\n \"typescript/no-require-imports\": \"error\",\n \"typescript/no-unnecessary-condition\": \"error\",\n \"typescript/no-unnecessary-qualifier\": \"error\",\n \"typescript/no-unnecessary-type-arguments\": \"error\",\n \"typescript/no-unnecessary-type-assertion\": \"error\",\n \"typescript/no-unnecessary-type-parameters\": \"error\",\n \"typescript/no-unsafe-argument\": \"error\",\n \"typescript/no-unsafe-assignment\": \"error\",\n \"typescript/no-unsafe-call\": \"error\",\n \"typescript/no-unsafe-member-access\": \"error\",\n \"typescript/no-unsafe-return\": \"error\",\n \"typescript/no-useless-default-assignment\": \"error\",\n \"typescript/non-nullable-type-assertion-style\": \"error\",\n \"typescript/only-throw-error\": \"error\",\n \"typescript/prefer-find\": \"error\",\n \"typescript/prefer-nullish-coalescing\": \"error\",\n \"typescript/prefer-optional-chain\": \"error\",\n \"typescript/prefer-readonly\": \"error\",\n \"typescript/prefer-readonly-parameter-types\": \"off\",\n \"typescript/prefer-regexp-exec\": \"error\",\n \"typescript/require-await\": \"off\",\n \"typescript/require-array-sort-compare\": \"error\",\n \"typescript/restrict-plus-operands\": \"error\",\n \"typescript/restrict-template-expressions\": \"error\",\n \"typescript/return-await\": \"error\",\n \"typescript/strict-boolean-expressions\": \"error\",\n \"typescript/strict-void-return\": \"error\",\n \"typescript/switch-exhaustiveness-check\": \"error\",\n \"typescript/unbound-method\": \"error\",\n \"typescript/use-unknown-in-catch-callback-variable\": \"error\",\n\n \"unicorn/no-null\": \"off\",\n \"unicorn/no-abusive-eslint-disable\": \"error\",\n \"unicorn/filename-case\": [\"error\", { case: \"kebabCase\" }],\n },\n overrides: [\n {\n files: [\"**/*.{cjs,cts}\"],\n env: {\n node: true,\n },\n rules: {\n \"typescript/no-require-imports\": \"off\",\n },\n },\n {\n files: [\"**/*.config.{js,jsx,ts,tsx,mjs,cjs,mts,cts}\"],\n env: {\n node: true,\n },\n rules: {\n \"func-names\": \"off\",\n },\n },\n {\n files: [\"**/*.d.ts\"],\n rules: {\n \"typescript/no-empty-interface\": \"off\",\n },\n },\n {\n files: [\n \"**/test/**\",\n \"**/tests/**\",\n \"**/__tests__/**\",\n \"**/*.{test,spec}.{js,jsx,ts,tsx,mjs,cjs,mts,cts}\",\n ],\n plugins: [...BASE_LINT_PLUGINS, \"vitest\"],\n env: {\n vitest: true,\n },\n rules: {\n \"vitest/no-importing-vitest-globals\": \"off\",\n \"vitest/max-nested-describe\": [\"error\", { max: 3 }],\n },\n },\n ],\n};\n\nexport const baseLint: LintConfig = baseLintConfig;\n\nconst reactLintConfig: LintConfig = {\n plugins: [\"react\", \"jsx-a11y\"],\n env: {\n browser: true,\n },\n rules: {\n \"jsx-a11y/alt-text\": \"error\",\n\n \"react/jsx-props-no-spreading\": \"off\",\n \"react/react-in-jsx-scope\": \"off\",\n \"react/exhaustive-deps\": \"error\",\n \"react/jsx-key\": \"error\",\n \"react/jsx-max-depth\": [\"error\", { max: 4 }],\n \"react/jsx-no-constructed-context-values\": \"error\",\n \"react/jsx-no-duplicate-props\": \"error\",\n \"react/jsx-no-undef\": \"error\",\n \"react/no-array-index-key\": \"error\",\n \"react/no-children-prop\": \"error\",\n \"react/no-clone-element\": \"error\",\n \"react/no-danger\": \"error\",\n \"react/no-danger-with-children\": \"error\",\n \"react/no-direct-mutation-state\": \"error\",\n \"react/no-find-dom-node\": \"error\",\n \"react/no-react-children\": \"error\",\n \"react/no-string-refs\": \"error\",\n \"react/style-prop-object\": \"off\",\n \"react/no-unsafe\": \"error\",\n \"react/no-unknown-property\": \"error\",\n \"react/void-dom-elements-no-children\": \"error\",\n },\n};\n\nexport const reactLint: LintConfig = reactLintConfig;\n\nconst serverLintConfig: LintConfig = {\n plugins: [\"node\"],\n globals: {\n WebSocketPair: \"readonly\",\n },\n rules: {\n \"node/no-exports-assign\": \"error\",\n },\n};\n\nexport const serverLint: LintConfig = serverLintConfig;\n","import type { UserConfig } from \"vite-plus\";\nimport type { ConfigInput } from \"../shared/config.ts\";\nimport { createDefinedConfig } from \"../shared/config.ts\";\nimport {\n DEFAULT_STAGED_CHECK_COMMAND,\n DEFAULT_STAGED_CHECK_GLOB,\n DEFAULT_TEST_INCLUDE,\n} from \"../shared/constants.ts\";\nimport { baseFmt } from \"../shared/fmt.ts\";\nimport { baseLint } from \"../shared/lint.ts\";\n\nconst baseConfig: UserConfig = {\n fmt: baseFmt,\n lint: baseLint,\n test: {\n include: [...DEFAULT_TEST_INCLUDE],\n },\n staged: {\n [DEFAULT_STAGED_CHECK_GLOB]: DEFAULT_STAGED_CHECK_COMMAND,\n },\n};\n\nexport function createBaseConfig(overrides: ConfigInput = {}): UserConfig {\n return createDefinedConfig(baseConfig, overrides);\n}\n\nexport { createBaseConfig as createConfig };\n"],"mappings":"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"}
|
package/dist/src/base/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createBaseConfig } from "../../base-
|
|
1
|
+
import { t as createBaseConfig } from "../../base-Xhg6v9Ct.mjs";
|
|
2
2
|
export { createBaseConfig, createBaseConfig as createConfig };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as DEFAULT_WRANGLER_CONFIG_PATH, o as createDefinedConfig, s as mergeConfigFragments } from "../../base-
|
|
1
|
+
import { a as DEFAULT_WRANGLER_CONFIG_PATH, o as createDefinedConfig, s as mergeConfigFragments } from "../../base-Xhg6v9Ct.mjs";
|
|
2
2
|
import { createConfig as createNodeConfig } from "../node/index.mjs";
|
|
3
3
|
import { lazyPlugins } from "vite-plus";
|
|
4
4
|
import { cloudflareTest } from "@cloudflare/vitest-pool-workers";
|
package/dist/src/node/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as createDefinedConfig, r as serverLint, t as createBaseConfig } from "../../base-
|
|
1
|
+
import { o as createDefinedConfig, r as serverLint, t as createBaseConfig } from "../../base-Xhg6v9Ct.mjs";
|
|
2
2
|
//#region src/node/index.ts
|
|
3
3
|
const nodeConfig = { lint: serverLint };
|
|
4
4
|
function createNodeConfig(overrides = {}) {
|
package/dist/src/react/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as reactFmt, n as reactLint, o as createDefinedConfig, t as createBaseConfig } from "../../base-
|
|
1
|
+
import { i as reactFmt, n as reactLint, o as createDefinedConfig, t as createBaseConfig } from "../../base-Xhg6v9Ct.mjs";
|
|
2
2
|
//#region src/react/index.ts
|
|
3
3
|
const reactConfig = {
|
|
4
4
|
fmt: reactFmt,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kasoa/vite-plus-config",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Kasoa's Vite+ configurations",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"config",
|
|
@@ -57,6 +57,14 @@
|
|
|
57
57
|
"publishConfig": {
|
|
58
58
|
"access": "public"
|
|
59
59
|
},
|
|
60
|
+
"scripts": {
|
|
61
|
+
"dev": "vp pack --watch",
|
|
62
|
+
"build": "vp pack",
|
|
63
|
+
"check": "vp check",
|
|
64
|
+
"check:fix": "vp check --fix",
|
|
65
|
+
"test": "vp test --passWithNoTests",
|
|
66
|
+
"prepublishOnly": "pnpm build"
|
|
67
|
+
},
|
|
60
68
|
"devDependencies": {
|
|
61
69
|
"@cloudflare/vitest-pool-workers": "^0.16.8",
|
|
62
70
|
"@types/node": "^25.9.1",
|
|
@@ -79,12 +87,5 @@
|
|
|
79
87
|
},
|
|
80
88
|
"engines": {
|
|
81
89
|
"node": ">=24"
|
|
82
|
-
},
|
|
83
|
-
"scripts": {
|
|
84
|
-
"dev": "vp pack --watch",
|
|
85
|
-
"build": "vp pack",
|
|
86
|
-
"check": "vp check",
|
|
87
|
-
"check:fix": "vp check --fix",
|
|
88
|
-
"test": "vp test --passWithNoTests"
|
|
89
90
|
}
|
|
90
|
-
}
|
|
91
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-ICoOIzvp.mjs","names":[],"sources":["../src/shared/config.ts","../src/shared/constants.ts","../src/shared/fmt.ts","../src/shared/lint.ts","../src/base/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { defineConfig, mergeConfig } from \"vite-plus\";\n\nexport type PluginInput = object | readonly object[] | false | null | undefined;\n\nexport type ConfigInput = Omit<UserConfig, \"plugins\"> & {\n /**\n * Vite plugins to merge into the config.\n *\n * This is intentionally typed structurally instead of as Vite's recursive\n * PluginOption type. Vite 8 plugin types from different Vite entrypoints can\n * trigger excessive stack-depth comparisons before the config reaches Vite.\n */\n readonly plugins?: readonly PluginInput[];\n};\n\nfunction toUserConfig(config: ConfigInput): UserConfig {\n // eslint-disable-next-line typescript/no-unsafe-type-assertion -- ConfigInput preserves UserConfig autocomplete but keeps plugin assignability shallow at our public boundary.\n return config as UserConfig;\n}\n\nexport function mergeConfigFragments(base: ConfigInput, ...overrides: ConfigInput[]): UserConfig {\n let result: UserConfig = {};\n result = mergeConfig<UserConfig, UserConfig>(result, toUserConfig(base));\n\n for (const override of overrides) {\n result = mergeConfig<UserConfig, UserConfig>(result, toUserConfig(override));\n }\n\n return result;\n}\n\nexport function createDefinedConfig(base: ConfigInput, ...overrides: ConfigInput[]): UserConfig {\n return defineConfig(mergeConfigFragments(base, ...overrides));\n}\n","export const DEFAULT_TEST_INCLUDE = [\"**/*.{test,spec}.{ts,tsx,mts,cts}\"] as const;\nexport const DEFAULT_IGNORE_PATTERNS = [\n \"node_modules/**\",\n \"dist/**\",\n \"dist-ssr/**\",\n \"**/worker-configuration.d.ts\",\n \"**/migrations/**\",\n \"**/drizzle/migrations.js\",\n \"**/drizzle/meta/*.json\",\n] as const;\n\nexport const DEFAULT_STAGED_CHECK_GLOB = \"*.{js,jsx,ts,tsx,mjs,cjs,mts,cts}\";\nexport const DEFAULT_STAGED_CHECK_COMMAND = \"vp check --fix\";\nexport const DEFAULT_WRANGLER_CONFIG_PATH = \"./wrangler.jsonc\";\n","import type { UserConfig } from \"vite-plus\";\nimport { DEFAULT_IGNORE_PATTERNS } from \"./constants.ts\";\n\ntype FmtConfig = NonNullable<UserConfig[\"fmt\"]>;\n\nexport const baseFmt: FmtConfig = {\n ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],\n sortImports: {\n internalPattern: [\"#\", \"@/\"],\n newlinesBetween: false,\n groups: [\n \"type-import\",\n [\"value-builtin\", \"value-external\"],\n \"type-internal\",\n \"value-internal\",\n [\"type-parent\", \"type-sibling\", \"type-index\"],\n [\"value-parent\", \"value-sibling\", \"value-index\"],\n \"unknown\",\n ],\n },\n};\n\nexport const reactFmt: FmtConfig = {\n sortTailwindcss: {\n attributes: [\"/.*ClassName/\"],\n functions: [\"tv\"],\n },\n};\n","import type { UserConfig } from \"vite-plus\";\nimport { DEFAULT_IGNORE_PATTERNS } from \"./constants.ts\";\n\nexport const BASE_LINT_PLUGINS = [\"typescript\", \"unicorn\", \"oxc\", \"import\", \"promise\"] as const;\n\ntype LintConfig = NonNullable<UserConfig[\"lint\"]>;\n\nconst baseLintConfig: LintConfig = {\n plugins: [...BASE_LINT_PLUGINS],\n ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],\n env: {\n serviceworker: true,\n worker: true,\n },\n options: {\n reportUnusedDisableDirectives: \"error\",\n typeAware: true,\n typeCheck: true,\n },\n categories: {\n correctness: \"error\",\n suspicious: \"error\",\n pedantic: \"error\",\n perf: \"error\",\n style: \"error\",\n },\n rules: {\n \"capitalized-comments\": \"off\",\n \"func-style\": \"off\",\n \"id-length\": \"off\",\n \"init-declarations\": \"off\",\n \"max-classes-per-file\": \"off\",\n \"max-lines\": \"off\",\n \"max-lines-per-function\": \"off\",\n \"max-statements\": \"off\",\n \"no-continue\": \"off\",\n \"no-magic-numbers\": \"off\",\n \"no-ternary\": \"off\",\n \"require-await\": \"off\",\n \"sort-imports\": \"off\",\n \"sort-keys\": \"off\",\n \"vars-on-top\": \"off\",\n\n complexity: [\"error\", { max: 20 }],\n curly: [\"error\", \"multi-line\", \"consistent\"],\n \"default-case-last\": \"error\",\n eqeqeq: \"error\",\n \"getter-return\": \"error\",\n \"grouped-accessor-pairs\": [\"error\", \"getBeforeSet\"],\n \"max-depth\": [\"error\", { max: 3 }],\n \"max-nested-callbacks\": [\"error\", { max: 3 }],\n \"max-params\": [\"error\", { max: 3 }],\n \"new-cap\": \"off\",\n \"no-alert\": \"error\",\n \"no-bitwise\": \"error\",\n \"no-console\": [\"error\", { allow: [\"info\", \"warn\", \"error\"] }],\n \"no-duplicate-imports\": [\"error\", { allowSeparateTypeImports: true }],\n \"no-param-reassign\": [\"error\", { props: true }],\n \"no-plusplus\": \"error\",\n \"no-undef\": \"error\",\n \"no-unneeded-ternary\": \"error\",\n \"no-unreachable\": \"error\",\n \"no-useless-return\": \"error\",\n \"prefer-template\": \"error\",\n\n \"import/exports-last\": \"off\",\n \"import/group-exports\": \"off\",\n \"import/no-anonymous-default-export\": \"off\",\n \"import/no-named-export\": \"off\",\n \"import/no-namespace\": \"off\",\n \"import/no-nodejs-modules\": \"off\",\n \"import/no-unassigned-import\": \"off\",\n \"import/prefer-default-export\": \"off\",\n \"import/max-dependencies\": \"off\",\n \"import/no-cycle\": \"error\",\n\n \"promise/prefer-await-to-callbacks\": \"off\",\n\n \"typescript/ban-ts-comment\": [\"error\", { minimumDescriptionLength: 10 }],\n \"typescript/consistent-type-definitions\": \"off\",\n \"typescript/consistent-return\": \"error\",\n \"typescript/consistent-type-exports\": \"error\",\n \"typescript/consistent-type-imports\": [\n \"error\",\n { prefer: \"type-imports\", fixStyle: \"separate-type-imports\" },\n ],\n \"typescript/dot-notation\": \"error\",\n \"typescript/explicit-module-boundary-types\": \"error\",\n \"typescript/no-confusing-void-expression\": \"error\",\n \"typescript/no-dynamic-delete\": \"error\",\n \"typescript/no-explicit-any\": \"error\",\n \"typescript/no-floating-promises\": \"error\",\n \"typescript/no-misused-promises\": \"error\",\n \"typescript/no-misused-spread\": \"error\",\n \"typescript/no-non-null-assertion\": \"error\",\n \"typescript/no-require-imports\": \"error\",\n \"typescript/no-unnecessary-condition\": \"error\",\n \"typescript/no-unnecessary-qualifier\": \"error\",\n \"typescript/no-unnecessary-type-arguments\": \"error\",\n \"typescript/no-unnecessary-type-assertion\": \"error\",\n \"typescript/no-unnecessary-type-parameters\": \"error\",\n \"typescript/no-unsafe-argument\": \"error\",\n \"typescript/no-unsafe-assignment\": \"error\",\n \"typescript/no-unsafe-call\": \"error\",\n \"typescript/no-unsafe-member-access\": \"error\",\n \"typescript/no-unsafe-return\": \"error\",\n \"typescript/no-useless-default-assignment\": \"error\",\n \"typescript/non-nullable-type-assertion-style\": \"error\",\n \"typescript/only-throw-error\": \"error\",\n \"typescript/prefer-find\": \"error\",\n \"typescript/prefer-nullish-coalescing\": \"error\",\n \"typescript/prefer-optional-chain\": \"error\",\n \"typescript/prefer-readonly\": \"error\",\n \"typescript/prefer-readonly-parameter-types\": \"off\",\n \"typescript/prefer-regexp-exec\": \"error\",\n \"typescript/require-await\": \"off\",\n \"typescript/require-array-sort-compare\": \"error\",\n \"typescript/restrict-plus-operands\": \"error\",\n \"typescript/restrict-template-expressions\": \"error\",\n \"typescript/return-await\": \"error\",\n \"typescript/strict-boolean-expressions\": \"error\",\n \"typescript/strict-void-return\": \"error\",\n \"typescript/switch-exhaustiveness-check\": \"error\",\n \"typescript/unbound-method\": \"error\",\n \"typescript/use-unknown-in-catch-callback-variable\": \"error\",\n\n \"unicorn/no-null\": \"off\",\n \"unicorn/no-abusive-eslint-disable\": \"error\",\n \"unicorn/filename-case\": [\"error\", { case: \"kebabCase\" }],\n },\n overrides: [\n {\n files: [\"**/*.{cjs,cts}\"],\n env: {\n node: true,\n },\n rules: {\n \"typescript/no-require-imports\": \"off\",\n },\n },\n {\n files: [\"**/*.config.{js,jsx,ts,tsx,mjs,cjs,mts,cts}\"],\n env: {\n node: true,\n },\n rules: {\n \"func-names\": \"off\",\n },\n },\n {\n files: [\"**/*.d.ts\"],\n rules: {\n \"typescript/no-empty-interface\": \"off\",\n },\n },\n {\n files: [\n \"**/test/**\",\n \"**/tests/**\",\n \"**/__tests__/**\",\n \"**/*.{test,spec}.{js,jsx,ts,tsx,mjs,cjs,mts,cts}\",\n ],\n plugins: [...BASE_LINT_PLUGINS, \"vitest\"],\n env: {\n vitest: true,\n },\n rules: {\n \"vitest/no-importing-vitest-globals\": \"off\",\n \"vitest/max-nested-describe\": [\"error\", { max: 3 }],\n },\n },\n ],\n};\n\nexport const baseLint: LintConfig = baseLintConfig;\n\nconst reactLintConfig: LintConfig = {\n plugins: [\"react\", \"jsx-a11y\"],\n env: {\n browser: true,\n },\n rules: {\n \"jsx-a11y/alt-text\": \"error\",\n\n \"react/jsx-props-no-spreading\": \"off\",\n \"react/react-in-jsx-scope\": \"off\",\n \"react/exhaustive-deps\": \"error\",\n \"react/jsx-key\": \"error\",\n \"react/jsx-max-depth\": [\"error\", { max: 4 }],\n \"react/jsx-no-constructed-context-values\": \"error\",\n \"react/jsx-no-duplicate-props\": \"error\",\n \"react/jsx-no-undef\": \"error\",\n \"react/no-array-index-key\": \"error\",\n \"react/no-children-prop\": \"error\",\n \"react/no-clone-element\": \"error\",\n \"react/no-danger\": \"error\",\n \"react/no-danger-with-children\": \"error\",\n \"react/no-direct-mutation-state\": \"error\",\n \"react/no-find-dom-node\": \"error\",\n \"react/no-react-children\": \"error\",\n \"react/no-string-refs\": \"error\",\n \"react/style-prop-object\": \"off\",\n \"react/no-unsafe\": \"error\",\n \"react/no-unknown-property\": \"error\",\n \"react/void-dom-elements-no-children\": \"error\",\n },\n};\n\nexport const reactLint: LintConfig = reactLintConfig;\n\nconst serverLintConfig: LintConfig = {\n plugins: [\"node\"],\n globals: {\n WebSocketPair: \"readonly\",\n },\n rules: {\n \"node/no-exports-assign\": \"error\",\n },\n};\n\nexport const serverLint: LintConfig = serverLintConfig;\n","import type { UserConfig } from \"vite-plus\";\nimport type { ConfigInput } from \"../shared/config.ts\";\nimport { createDefinedConfig } from \"../shared/config.ts\";\nimport {\n DEFAULT_STAGED_CHECK_COMMAND,\n DEFAULT_STAGED_CHECK_GLOB,\n DEFAULT_TEST_INCLUDE,\n} from \"../shared/constants.ts\";\nimport { baseFmt } from \"../shared/fmt.ts\";\nimport { baseLint } from \"../shared/lint.ts\";\n\nconst baseConfig: UserConfig = {\n fmt: baseFmt,\n lint: baseLint,\n test: {\n include: [...DEFAULT_TEST_INCLUDE],\n },\n staged: {\n [DEFAULT_STAGED_CHECK_GLOB]: DEFAULT_STAGED_CHECK_COMMAND,\n },\n};\n\nexport function createBaseConfig(overrides: ConfigInput = {}): UserConfig {\n return createDefinedConfig(baseConfig, overrides);\n}\n\nexport { createBaseConfig as createConfig };\n"],"mappings":"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"}
|