@kasoa/vite-plus-config 0.0.12 → 0.0.14

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @kasoa/vite-plus-config
2
2
 
3
- Kasoa's Vite+ configurations
3
+ Kasoa's shared Vite+ presets for formatting, linting, and type checking.
4
4
 
5
5
  ## Installation
6
6
 
@@ -106,14 +106,7 @@ Project-specific migrations, bindings, coverage, setup files, and `test.provide`
106
106
 
107
107
  ## Recommended Workflow
108
108
 
109
- - For Vite+-first apps and packages, prefer a simple `check` script that runs `vp check`.
110
- - Pair it with `check:fix` that runs `vp check --fix`.
111
- - Use `vp check` for formatting, linting, and type checking in one pass.
112
- - Use `vp check --fix` for autofixable formatting and linting issues.
113
- - Use `vp config` if you want commit hooks generated from the shared `staged` rules.
114
- - Use one `vite.config.ts` by default, then keep separate config files only when a project genuinely needs them.
115
-
116
- Example:
109
+ For Vite+-first apps and packages, prefer a simple repo-native check workflow:
117
110
 
118
111
  ```json
119
112
  {
@@ -124,9 +117,33 @@ Example:
124
117
  }
125
118
  ```
126
119
 
120
+ Use `vp check` as the default static check command.
121
+
122
+ It already covers:
123
+
124
+ - formatting
125
+ - linting
126
+ - type checking
127
+
128
+ Type checking is included in that workflow. The shared lint config enables Vite+'s type-aware and type-check modes by default, so most projects using this package do not need a separate raw `tsc` step for the standard check flow.
129
+
130
+ Use `vp check --fix` for autofixable formatting and linting issues.
131
+
132
+ `vp check` also accepts file or path arguments:
133
+
134
+ ```bash
135
+ vp check src/foo.ts src/bar.ts
136
+ ```
137
+
138
+ These narrower runs are useful during focused edits. For final validation, prefer the normal whole-project `vp check` flow.
139
+
140
+ Use `vp config` if you want commit hooks generated from the shared `staged` rules.
141
+
142
+ Use one `vite.config.ts` by default, then keep separate config files only when a project genuinely needs them.
143
+
127
144
  ## Configurations
128
145
 
129
- - **`base`**: Strict TypeScript-first format, lint, test include, and staged-file defaults.
146
+ - **`base`**: Strict TypeScript-first format, lint, type-aware/type-check defaults, test include, and staged-file defaults.
130
147
  - **`react`**: `base` plus React lint rules and Tailwind-aware formatting.
131
148
  - **`node`**: `base` plus Node-oriented lint rules.
132
149
  - **`library`**: `base` plus ESM-only packaging defaults for `vp pack`.
@@ -1,7 +1,10 @@
1
1
  import { defineConfig, mergeConfig } from "vite-plus";
2
2
  //#region src/shared/config.ts
3
3
  function mergeConfigFragments(base, ...overrides) {
4
- return overrides.reduce((result, override) => mergeConfig(result, override), base);
4
+ let result = {};
5
+ result = mergeConfig(result, base);
6
+ for (const override of overrides) result = mergeConfig(result, override);
7
+ return result;
5
8
  }
6
9
  function createDefinedConfig(base, ...overrides) {
7
10
  return defineConfig(mergeConfigFragments(base, ...overrides));
@@ -82,6 +85,7 @@ const baseLint = {
82
85
  "id-length": "off",
83
86
  "init-declarations": "off",
84
87
  "max-classes-per-file": "off",
88
+ "max-lines": "off",
85
89
  "max-lines-per-function": "off",
86
90
  "max-statements": "off",
87
91
  "no-continue": "off",
@@ -128,6 +132,7 @@ const baseLint = {
128
132
  "import/no-nodejs-modules": "off",
129
133
  "import/no-unassigned-import": "off",
130
134
  "import/prefer-default-export": "off",
135
+ "import/max-dependencies": "off",
131
136
  "import/no-cycle": "error",
132
137
  "promise/prefer-await-to-callbacks": "off",
133
138
  "typescript/ban-ts-comment": ["error", { minimumDescriptionLength: 10 }],
@@ -251,10 +256,10 @@ const baseConfig = {
251
256
  test: { include: [...DEFAULT_TEST_INCLUDE] },
252
257
  staged: { [DEFAULT_STAGED_CHECK_GLOB]: DEFAULT_STAGED_CHECK_COMMAND }
253
258
  };
254
- function createBaseConfig(overrides = {}) {
255
- return createDefinedConfig(baseConfig, overrides);
259
+ function createBaseConfig(overrides) {
260
+ return createDefinedConfig(baseConfig, overrides ?? {});
256
261
  }
257
262
  //#endregion
258
263
  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 };
259
264
 
260
- //# sourceMappingURL=base-Cwrw6jf3.mjs.map
265
+ //# sourceMappingURL=base-zdt1stcl.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-zdt1stcl.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\ntype ConfigResult<Config> = UserConfig & Pick<Config, never>;\n\nexport function mergeConfigFragments<\n const Base extends UserConfig,\n const Overrides extends readonly UserConfig[],\n>(base: Base, ...overrides: Overrides): ConfigResult<Base & Overrides[number]> {\n let result: UserConfig = {};\n result = mergeConfig<UserConfig, UserConfig>(result, base);\n\n for (const override of overrides) {\n result = mergeConfig<UserConfig, UserConfig>(result, override);\n }\n\n return result;\n}\n\nexport function createDefinedConfig<\n const Base extends UserConfig,\n const Overrides extends readonly UserConfig[],\n>(base: Base, ...overrides: Overrides): ConfigResult<Base & Overrides[number]> {\n return defineConfig(mergeConfigFragments(base, ...overrides));\n}\n","export const DEFAULT_TEST_INCLUDE = [\"**/*.{test,spec}.{ts,tsx,mts,cts}\"] as const;\nexport const GENERATED_FILE_IGNORE_PATTERNS = [\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 { GENERATED_FILE_IGNORE_PATTERNS } from \"./constants.ts\";\n\ntype FmtConfig = NonNullable<UserConfig[\"fmt\"]>;\n\nexport const baseFmt: FmtConfig = {\n ignorePatterns: [...GENERATED_FILE_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 { GENERATED_FILE_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: [...GENERATED_FILE_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-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 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 { 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<const Overrides extends UserConfig = UserConfig>(\n overrides?: Overrides,\n): UserConfig & Pick<Overrides, never> {\n return createDefinedConfig(baseConfig, overrides ?? {});\n}\n\nexport { createBaseConfig as createConfig };\n"],"mappings":";;AAKA,SAAgB,qBAGd,MAAY,GAAG,WAA8D;CAC7E,IAAI,SAAqB,EAAE;CAC3B,SAAS,YAAoC,QAAQ,KAAK;CAE1D,KAAK,MAAM,YAAY,WACrB,SAAS,YAAoC,QAAQ,SAAS;CAGhE,OAAO;;AAGT,SAAgB,oBAGd,MAAY,GAAG,WAA8D;CAC7E,OAAO,aAAa,qBAAqB,MAAM,GAAG,UAAU,CAAC;;;;ACvB/D,MAAa,uBAAuB,CAAC,oCAAoC;AACzE,MAAa,iCAAiC;CAC5C;CACA;CACA;CACA;CACD;AAED,MAAa,4BAA4B;AACzC,MAAa,+BAA+B;AAC5C,MAAa,+BAA+B;;;ACL5C,MAAa,UAAqB;CAChC,gBAAgB,CAAC,GAAG,+BAA+B;CACnD,aAAa;EACX,iBAAiB,CAAC,KAAK,KAAK;EAC5B,iBAAiB;EACjB,QAAQ;GACN;GACA,CAAC,iBAAiB,iBAAiB;GACnC;GACA;GACA;IAAC;IAAe;IAAgB;IAAa;GAC7C;IAAC;IAAgB;IAAiB;IAAc;GAChD;GACD;EACF;CACF;AAED,MAAa,WAAsB,EACjC,iBAAiB;CACf,YAAY,CAAC,gBAAgB;CAC7B,WAAW,CAAC,KAAK;CAClB,EACF;;;ACxBD,MAAa,oBAAoB;CAAC;CAAc;CAAW;CAAO;CAAU;CAAU;AA0KtF,MAAa,WAAuB;CArKlC,SAAS,CAAC,GAAG,kBAAkB;CAC/B,gBAAgB,CAAC,GAAG,+BAA+B;CACnD,KAAK;EACH,eAAe;EACf,QAAQ;EACT;CACD,SAAS;EACP,+BAA+B;EAC/B,WAAW;EACX,WAAW;EACZ;CACD,YAAY;EACV,aAAa;EACb,YAAY;EACZ,UAAU;EACV,MAAM;EACN,OAAO;EACR;CACD,OAAO;EACL,wBAAwB;EACxB,cAAc;EACd,aAAa;EACb,qBAAqB;EACrB,wBAAwB;EACxB,aAAa;EACb,0BAA0B;EAC1B,kBAAkB;EAClB,eAAe;EACf,oBAAoB;EACpB,cAAc;EACd,iBAAiB;EACjB,gBAAgB;EAChB,aAAa;EACb,eAAe;EAEf,YAAY,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC;EAClC,OAAO;GAAC;GAAS;GAAc;GAAa;EAC5C,qBAAqB;EACrB,QAAQ;EACR,iBAAiB;EACjB,0BAA0B,CAAC,SAAS,eAAe;EACnD,aAAa,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC;EAClC,wBAAwB,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC;EAC7C,cAAc,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC;EACnC,WAAW;EACX,YAAY;EACZ,cAAc;EACd,cAAc,CAAC,SAAS,EAAE,OAAO;GAAC;GAAQ;GAAQ;GAAQ,EAAE,CAAC;EAC7D,wBAAwB,CAAC,SAAS,EAAE,0BAA0B,MAAM,CAAC;EACrE,qBAAqB,CAAC,SAAS,EAAE,OAAO,MAAM,CAAC;EAC/C,eAAe;EACf,YAAY;EACZ,uBAAuB;EACvB,kBAAkB;EAClB,qBAAqB;EACrB,mBAAmB;EAEnB,uBAAuB;EACvB,wBAAwB;EACxB,sCAAsC;EACtC,0BAA0B;EAC1B,uBAAuB;EACvB,4BAA4B;EAC5B,+BAA+B;EAC/B,gCAAgC;EAChC,2BAA2B;EAC3B,mBAAmB;EAEnB,qCAAqC;EAErC,6BAA6B,CAAC,SAAS,EAAE,0BAA0B,IAAI,CAAC;EACxE,0CAA0C;EAC1C,gCAAgC;EAChC,sCAAsC;EACtC,sCAAsC,CACpC,SACA;GAAE,QAAQ;GAAgB,UAAU;GAAyB,CAC9D;EACD,2BAA2B;EAC3B,6CAA6C;EAC7C,2CAA2C;EAC3C,gCAAgC;EAChC,8BAA8B;EAC9B,mCAAmC;EACnC,kCAAkC;EAClC,gCAAgC;EAChC,oCAAoC;EACpC,iCAAiC;EACjC,uCAAuC;EACvC,uCAAuC;EACvC,4CAA4C;EAC5C,4CAA4C;EAC5C,6CAA6C;EAC7C,iCAAiC;EACjC,mCAAmC;EACnC,6BAA6B;EAC7B,sCAAsC;EACtC,+BAA+B;EAC/B,4CAA4C;EAC5C,gDAAgD;EAChD,+BAA+B;EAC/B,0BAA0B;EAC1B,wCAAwC;EACxC,oCAAoC;EACpC,8BAA8B;EAC9B,iCAAiC;EACjC,4BAA4B;EAC5B,yCAAyC;EACzC,qCAAqC;EACrC,4CAA4C;EAC5C,2BAA2B;EAC3B,yCAAyC;EACzC,iCAAiC;EACjC,0CAA0C;EAC1C,6BAA6B;EAC7B,qDAAqD;EAErD,mBAAmB;EACnB,qCAAqC;EACrC,yBAAyB,CAAC,SAAS,EAAE,MAAM,aAAa,CAAC;EAC1D;CACD,WAAW;EACT;GACE,OAAO,CAAC,iBAAiB;GACzB,KAAK,EACH,MAAM,MACP;GACD,OAAO,EACL,iCAAiC,OAClC;GACF;EACD;GACE,OAAO,CAAC,8CAA8C;GACtD,KAAK,EACH,MAAM,MACP;GACD,OAAO,EACL,cAAc,OACf;GACF;EACD;GACE,OAAO,CAAC,YAAY;GACpB,OAAO,EACL,iCAAiC,OAClC;GACF;EACD;GACE,OAAO;IACL;IACA;IACA;IACA;IACD;GACD,SAAS,CAAC,GAAG,mBAAmB,SAAS;GACzC,KAAK,EACH,QAAQ,MACT;GACD,OAAO;IACL,sCAAsC;IACtC,8BAA8B,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC;IACpD;GACF;EACF;CAGiC;AA+BpC,MAAa,YAAwB;CA5BnC,SAAS,CAAC,SAAS,WAAW;CAC9B,OAAO;EACL,qBAAqB;EAErB,gCAAgC;EAChC,4BAA4B;EAC5B,yBAAyB;EACzB,iBAAiB;EACjB,uBAAuB,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC;EAC5C,2CAA2C;EAC3C,gCAAgC;EAChC,sBAAsB;EACtB,4BAA4B;EAC5B,0BAA0B;EAC1B,0BAA0B;EAC1B,mBAAmB;EACnB,iCAAiC;EACjC,kCAAkC;EAClC,0BAA0B;EAC1B,2BAA2B;EAC3B,wBAAwB;EACxB,2BAA2B;EAC3B,mBAAmB;EACnB,6BAA6B;EAC7B,uCAAuC;EACxC;CAGkC;AAYrC,MAAa,aAAyB;CATpC,SAAS,CAAC,OAAO;CACjB,SAAS,EACP,eAAe,YAChB;CACD,OAAO,EACL,0BAA0B,SAC3B;CAGmC;;;AC9MtC,MAAM,aAAyB;CAC7B,KAAK;CACL,MAAM;CACN,MAAM,EACJ,SAAS,CAAC,GAAG,qBAAqB,EACnC;CACD,QAAQ,GACL,4BAA4B,8BAC9B;CACF;AAED,SAAgB,iBACd,WACqC;CACrC,OAAO,oBAAoB,YAAY,aAAa,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { UserConfig } from "vite-plus";
2
2
 
3
3
  //#region src/base/index.d.ts
4
- declare function createBaseConfig(overrides?: UserConfig): UserConfig;
4
+ declare function createBaseConfig<const Overrides extends UserConfig = UserConfig>(overrides?: Overrides): UserConfig & Pick<Overrides, never>;
5
5
  //#endregion
6
6
  export { createBaseConfig, createBaseConfig as createConfig };
7
7
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/base/index.ts"],"mappings":";;;iBAqBgB,gBAAA,CAAiB,SAAA,GAAW,UAAA,GAAkB,UAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/base/index.ts"],"mappings":";;;iBAqBgB,gBAAA,yBAAyC,UAAA,GAAa,UAAA,CAAA,CACpE,SAAA,GAAY,SAAA,GACX,UAAA,GAAa,IAAA,CAAK,SAAA"}
@@ -1,2 +1,2 @@
1
- import { t as createBaseConfig } from "../../base-Cwrw6jf3.mjs";
1
+ import { t as createBaseConfig } from "../../base-zdt1stcl.mjs";
2
2
  export { createBaseConfig, createBaseConfig as createConfig };
@@ -3,15 +3,15 @@ import { PluginConfig } from "@cloudflare/vite-plugin";
3
3
  import { cloudflareTest } from "@cloudflare/vitest-pool-workers";
4
4
 
5
5
  //#region src/cloudflare-workers/index.d.ts
6
- type CloudflareWorkersPluginOptions = Exclude<NonNullable<Parameters<typeof cloudflareTest>[0]>, (...args: never[]) => unknown>;
6
+ type CloudflareWorkersPluginOptions = Exclude<NonNullable<Parameters<typeof cloudflareTest>[0]>, (...args: readonly never[]) => unknown>;
7
7
  interface CloudflareWorkersConfigOptions extends Omit<CloudflareWorkersPluginOptions, "wrangler"> {
8
- cloudflare?: PluginConfig | false;
9
- config?: UserConfig;
10
- include?: string[];
11
- test?: UserConfig["test"];
12
- wrangler?: CloudflareWorkersPluginOptions["wrangler"];
8
+ readonly cloudflare?: PluginConfig | false;
9
+ readonly config?: UserConfig;
10
+ readonly include?: readonly string[];
11
+ readonly test?: UserConfig["test"];
12
+ readonly wrangler?: CloudflareWorkersPluginOptions["wrangler"];
13
13
  }
14
- declare function createCloudflareWorkersConfig(options?: CloudflareWorkersConfigOptions): UserConfig;
14
+ declare function createCloudflareWorkersConfig<const Options extends CloudflareWorkersConfigOptions = CloudflareWorkersConfigOptions>(options?: Options): UserConfig & Pick<Options, never>;
15
15
  //#endregion
16
16
  export { CloudflareWorkersConfigOptions, createCloudflareWorkersConfig, createCloudflareWorkersConfig as createConfig };
17
17
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/cloudflare-workers/index.ts"],"mappings":";;;;;KASK,8BAAA,GAAiC,OAAA,CACpC,WAAA,CAAY,UAAA,QAAkB,cAAA,WAC1B,IAAA;AAAA,UAGW,8BAAA,SAAuC,IAAA,CACtD,8BAAA;EAGA,UAAA,GAAa,YAAA;EACb,MAAA,GAAS,UAAA;EACT,OAAA;EACA,IAAA,GAAO,UAAA;EACP,QAAA,GAAW,8BAAA;AAAA;AAAA,iBAGG,6BAAA,CACd,OAAA,GAAS,8BAAA,GACR,UAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/cloudflare-workers/index.ts"],"mappings":";;;;;KASK,8BAAA,GAAiC,OAAA,CACpC,WAAA,CAAY,UAAA,QAAkB,cAAA,WAC1B,IAAA;AAAA,UAGW,8BAAA,SAAuC,IAAA,CACtD,8BAAA;EAAA,SAGS,UAAA,GAAa,YAAA;EAAA,SACb,MAAA,GAAS,UAAA;EAAA,SACT,OAAA;EAAA,SACA,IAAA,GAAO,UAAA;EAAA,SACP,QAAA,GAAW,8BAAA;AAAA;AAAA,iBAGN,6BAAA,uBACQ,8BAAA,GAAiC,8BAAA,CAAA,CACvD,OAAA,GAAU,OAAA,GAAU,UAAA,GAAa,IAAA,CAAK,OAAA"}
@@ -1,11 +1,11 @@
1
- import { a as DEFAULT_WRANGLER_CONFIG_PATH, o as createDefinedConfig, s as mergeConfigFragments } from "../../base-Cwrw6jf3.mjs";
1
+ import { a as DEFAULT_WRANGLER_CONFIG_PATH, o as createDefinedConfig, s as mergeConfigFragments } from "../../base-zdt1stcl.mjs";
2
2
  import { createConfig as createNodeConfig } from "../node/index.mjs";
3
3
  import { cloudflare } from "@cloudflare/vite-plugin";
4
4
  import { cloudflareTest } from "@cloudflare/vitest-pool-workers";
5
5
  import process from "node:process";
6
6
  //#region src/cloudflare-workers/index.ts
7
- function createCloudflareWorkersConfig(options = {}) {
8
- const { cloudflare: cloudflareOptions = {}, config = {}, include, test, wrangler, ...testPluginOptions } = options;
7
+ function createCloudflareWorkersConfig(options) {
8
+ const { cloudflare: cloudflareOptions = {}, config = {}, include, test, wrangler, ...testPluginOptions } = options ?? {};
9
9
  const isTest = process.env.VITEST === "true";
10
10
  return createNodeConfig(mergeConfigFragments(createDefinedConfig({ plugins: [cloudflareTest({
11
11
  ...testPluginOptions,
@@ -13,7 +13,7 @@ function createCloudflareWorkersConfig(options = {}) {
13
13
  configPath: DEFAULT_WRANGLER_CONFIG_PATH,
14
14
  ...wrangler
15
15
  }
16
- })] }, include === void 0 ? {} : { test: { include } }, { test }), !isTest && cloudflareOptions !== false ? { plugins: [...cloudflare(cloudflareOptions)] } : {}, config));
16
+ })] }, include === void 0 ? {} : { test: { include: [...include] } }, { test }), !isTest && cloudflareOptions !== false ? { plugins: [...cloudflare(cloudflareOptions)] } : {}, config));
17
17
  }
18
18
  //#endregion
19
19
  export { createCloudflareWorkersConfig, createCloudflareWorkersConfig as createConfig };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/cloudflare-workers/index.ts"],"sourcesContent":["import type { PluginConfig as CloudflareVitePluginConfig } from \"@cloudflare/vite-plugin\";\nimport type { UserConfig } from \"vite-plus\";\nimport { cloudflare } from \"@cloudflare/vite-plugin\";\nimport { cloudflareTest } from \"@cloudflare/vitest-pool-workers\";\nimport process from \"node:process\";\nimport { createNodeConfig } from \"../node/index.ts\";\nimport { createDefinedConfig, mergeConfigFragments } from \"../shared/config.ts\";\nimport { DEFAULT_WRANGLER_CONFIG_PATH } from \"../shared/constants.ts\";\n\ntype CloudflareWorkersPluginOptions = Exclude<\n NonNullable<Parameters<typeof cloudflareTest>[0]>,\n (...args: never[]) => unknown\n>;\n\nexport interface CloudflareWorkersConfigOptions extends Omit<\n CloudflareWorkersPluginOptions,\n \"wrangler\"\n> {\n cloudflare?: CloudflareVitePluginConfig | false;\n config?: UserConfig;\n include?: string[];\n test?: UserConfig[\"test\"];\n wrangler?: CloudflareWorkersPluginOptions[\"wrangler\"];\n}\n\nexport function createCloudflareWorkersConfig(\n options: CloudflareWorkersConfigOptions = {},\n): UserConfig {\n const {\n cloudflare: cloudflareOptions = {},\n config = {},\n include,\n test,\n wrangler,\n ...testPluginOptions\n } = options;\n const isTest = process.env.VITEST === \"true\";\n const cloudflareTestConfig = createDefinedConfig(\n {\n plugins: [\n cloudflareTest({\n ...testPluginOptions,\n wrangler: {\n configPath: DEFAULT_WRANGLER_CONFIG_PATH,\n ...wrangler,\n },\n }),\n ],\n },\n include === undefined\n ? {}\n : {\n test: {\n include,\n },\n },\n {\n test,\n },\n );\n\n return createNodeConfig(\n mergeConfigFragments(\n cloudflareTestConfig,\n !isTest && cloudflareOptions !== false\n ? {\n plugins: [...cloudflare(cloudflareOptions)],\n }\n : {},\n config,\n ),\n );\n}\n\nexport { createCloudflareWorkersConfig as createConfig };\n"],"mappings":";;;;;;AAyBA,SAAgB,8BACd,UAA0C,EAAE,EAChC;CACZ,MAAM,EACJ,YAAY,oBAAoB,EAAE,EAClC,SAAS,EAAE,EACX,SACA,MACA,UACA,GAAG,sBACD;CACJ,MAAM,SAAS,QAAQ,IAAI,WAAW;AAyBtC,QAAO,iBACL,qBAzB2B,oBAC3B,EACE,SAAS,CACP,eAAe;EACb,GAAG;EACH,UAAU;GACR,YAAY;GACZ,GAAG;GACJ;EACF,CAAC,CACH,EACF,EACD,YAAY,KAAA,IACR,EAAE,GACF,EACE,MAAM,EACJ,SACD,EACF,EACL,EACE,MACD,CACF,EAKG,CAAC,UAAU,sBAAsB,QAC7B,EACE,SAAS,CAAC,GAAG,WAAW,kBAAkB,CAAC,EAC5C,GACD,EAAE,EACN,OACD,CACF"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/cloudflare-workers/index.ts"],"sourcesContent":["import type { PluginConfig as CloudflareVitePluginConfig } from \"@cloudflare/vite-plugin\";\nimport type { UserConfig } from \"vite-plus\";\nimport { cloudflare } from \"@cloudflare/vite-plugin\";\nimport { cloudflareTest } from \"@cloudflare/vitest-pool-workers\";\nimport process from \"node:process\";\nimport { createNodeConfig } from \"../node/index.ts\";\nimport { createDefinedConfig, mergeConfigFragments } from \"../shared/config.ts\";\nimport { DEFAULT_WRANGLER_CONFIG_PATH } from \"../shared/constants.ts\";\n\ntype CloudflareWorkersPluginOptions = Exclude<\n NonNullable<Parameters<typeof cloudflareTest>[0]>,\n (...args: readonly never[]) => unknown\n>;\n\nexport interface CloudflareWorkersConfigOptions extends Omit<\n CloudflareWorkersPluginOptions,\n \"wrangler\"\n> {\n readonly cloudflare?: CloudflareVitePluginConfig | false;\n readonly config?: UserConfig;\n readonly include?: readonly string[];\n readonly test?: UserConfig[\"test\"];\n readonly wrangler?: CloudflareWorkersPluginOptions[\"wrangler\"];\n}\n\nexport function createCloudflareWorkersConfig<\n const Options extends CloudflareWorkersConfigOptions = CloudflareWorkersConfigOptions,\n>(options?: Options): UserConfig & Pick<Options, never> {\n const {\n cloudflare: cloudflareOptions = {},\n config = {},\n include,\n test,\n wrangler,\n ...testPluginOptions\n } = options ?? {};\n const isTest = process.env.VITEST === \"true\";\n const cloudflareTestConfig = createDefinedConfig(\n {\n plugins: [\n cloudflareTest({\n ...testPluginOptions,\n wrangler: {\n configPath: DEFAULT_WRANGLER_CONFIG_PATH,\n ...wrangler,\n },\n }),\n ],\n },\n include === undefined\n ? {}\n : {\n test: {\n include: [...include],\n },\n },\n {\n test,\n },\n );\n\n return createNodeConfig(\n mergeConfigFragments(\n cloudflareTestConfig,\n !isTest && cloudflareOptions !== false\n ? {\n plugins: [...cloudflare(cloudflareOptions)],\n }\n : {},\n config,\n ),\n );\n}\n\nexport { createCloudflareWorkersConfig as createConfig };\n"],"mappings":";;;;;;AAyBA,SAAgB,8BAEd,SAAsD;CACtD,MAAM,EACJ,YAAY,oBAAoB,EAAE,EAClC,SAAS,EAAE,EACX,SACA,MACA,UACA,GAAG,sBACD,WAAW,EAAE;CACjB,MAAM,SAAS,QAAQ,IAAI,WAAW;CAyBtC,OAAO,iBACL,qBAzB2B,oBAC3B,EACE,SAAS,CACP,eAAe;EACb,GAAG;EACH,UAAU;GACR,YAAY;GACZ,GAAG;GACJ;EACF,CAAC,CACH,EACF,EACD,YAAY,KAAA,IACR,EAAE,GACF,EACE,MAAM,EACJ,SAAS,CAAC,GAAG,QAAQ,EACtB,EACF,EACL,EACE,MACD,CAKqB,EACpB,CAAC,UAAU,sBAAsB,QAC7B,EACE,SAAS,CAAC,GAAG,WAAW,kBAAkB,CAAC,EAC5C,GACD,EAAE,EACN,OACD,CACF"}
@@ -1,7 +1,7 @@
1
1
  import { UserConfig } from "vite-plus";
2
2
 
3
3
  //#region src/library/index.d.ts
4
- declare function createLibraryConfig(overrides?: UserConfig): UserConfig;
4
+ declare function createLibraryConfig<const Overrides extends UserConfig = UserConfig>(overrides?: Overrides): UserConfig & Pick<Overrides, never>;
5
5
  //#endregion
6
6
  export { createLibraryConfig as createConfig, createLibraryConfig };
7
7
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/library/index.ts"],"mappings":";;;iBAagB,mBAAA,CAAoB,SAAA,GAAW,UAAA,GAAkB,UAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/library/index.ts"],"mappings":";;;iBAagB,mBAAA,yBAA4C,UAAA,GAAa,UAAA,CAAA,CACvE,SAAA,GAAY,SAAA,GACX,UAAA,GAAa,IAAA,CAAK,SAAA"}
@@ -1,4 +1,4 @@
1
- import { o as createDefinedConfig, t as createBaseConfig } from "../../base-Cwrw6jf3.mjs";
1
+ import { o as createDefinedConfig, t as createBaseConfig } from "../../base-zdt1stcl.mjs";
2
2
  //#region src/library/index.ts
3
3
  const libraryConfig = { pack: {
4
4
  clean: true,
@@ -6,8 +6,8 @@ const libraryConfig = { pack: {
6
6
  format: ["esm"],
7
7
  sourcemap: true
8
8
  } };
9
- function createLibraryConfig(overrides = {}) {
10
- return createDefinedConfig(createBaseConfig(), libraryConfig, overrides);
9
+ function createLibraryConfig(overrides) {
10
+ return createDefinedConfig(createBaseConfig(), libraryConfig, overrides ?? {});
11
11
  }
12
12
  //#endregion
13
13
  export { createLibraryConfig as createConfig, createLibraryConfig };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/library/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { createBaseConfig } from \"../base/index.ts\";\nimport { createDefinedConfig } from \"../shared/config.ts\";\n\nconst libraryConfig: UserConfig = {\n pack: {\n clean: true,\n dts: true,\n format: [\"esm\"],\n sourcemap: true,\n },\n};\n\nexport function createLibraryConfig(overrides: UserConfig = {}): UserConfig {\n return createDefinedConfig(createBaseConfig(), libraryConfig, overrides);\n}\n\nexport { createLibraryConfig as createConfig };\n"],"mappings":";;AAIA,MAAM,gBAA4B,EAChC,MAAM;CACJ,OAAO;CACP,KAAK;CACL,QAAQ,CAAC,MAAM;CACf,WAAW;CACZ,EACF;AAED,SAAgB,oBAAoB,YAAwB,EAAE,EAAc;AAC1E,QAAO,oBAAoB,kBAAkB,EAAE,eAAe,UAAU"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/library/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { createBaseConfig } from \"../base/index.ts\";\nimport { createDefinedConfig } from \"../shared/config.ts\";\n\nconst libraryConfig: UserConfig = {\n pack: {\n clean: true,\n dts: true,\n format: [\"esm\"],\n sourcemap: true,\n },\n};\n\nexport function createLibraryConfig<const Overrides extends UserConfig = UserConfig>(\n overrides?: Overrides,\n): UserConfig & Pick<Overrides, never> {\n return createDefinedConfig(createBaseConfig(), libraryConfig, overrides ?? {});\n}\n\nexport { createLibraryConfig as createConfig };\n"],"mappings":";;AAIA,MAAM,gBAA4B,EAChC,MAAM;CACJ,OAAO;CACP,KAAK;CACL,QAAQ,CAAC,MAAM;CACf,WAAW;CACZ,EACF;AAED,SAAgB,oBACd,WACqC;CACrC,OAAO,oBAAoB,kBAAkB,EAAE,eAAe,aAAa,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { UserConfig } from "vite-plus";
2
2
 
3
3
  //#region src/monorepo/index.d.ts
4
- declare function createMonorepoConfig(overrides?: UserConfig): UserConfig;
4
+ declare function createMonorepoConfig<const Overrides extends UserConfig = UserConfig>(overrides?: Overrides): UserConfig & Pick<Overrides, never>;
5
5
  //#endregion
6
6
  export { createMonorepoConfig as createConfig, createMonorepoConfig };
7
7
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/monorepo/index.ts"],"mappings":";;;iBAcgB,oBAAA,CAAqB,SAAA,GAAW,UAAA,GAAkB,UAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/monorepo/index.ts"],"mappings":";;;iBAcgB,oBAAA,yBAA6C,UAAA,GAAa,UAAA,CAAA,CACxE,SAAA,GAAY,SAAA,GACX,UAAA,GAAa,IAAA,CAAK,SAAA"}
@@ -1,4 +1,4 @@
1
- import { o as createDefinedConfig, t as createBaseConfig } from "../../base-Cwrw6jf3.mjs";
1
+ import { o as createDefinedConfig, t as createBaseConfig } from "../../base-zdt1stcl.mjs";
2
2
  //#region src/monorepo/index.ts
3
3
  const monorepoConfig = { run: {
4
4
  cache: {
@@ -7,8 +7,8 @@ const monorepoConfig = { run: {
7
7
  },
8
8
  enablePrePostScripts: true
9
9
  } };
10
- function createMonorepoConfig(overrides = {}) {
11
- return createDefinedConfig(createBaseConfig(), monorepoConfig, overrides);
10
+ function createMonorepoConfig(overrides) {
11
+ return createDefinedConfig(createBaseConfig(), monorepoConfig, overrides ?? {});
12
12
  }
13
13
  //#endregion
14
14
  export { createMonorepoConfig as createConfig, createMonorepoConfig };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/monorepo/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { createBaseConfig } from \"../base/index.ts\";\nimport { createDefinedConfig } from \"../shared/config.ts\";\n\nconst monorepoConfig: UserConfig = {\n run: {\n cache: {\n scripts: true,\n tasks: true,\n },\n enablePrePostScripts: true,\n },\n};\n\nexport function createMonorepoConfig(overrides: UserConfig = {}): UserConfig {\n return createDefinedConfig(createBaseConfig(), monorepoConfig, overrides);\n}\n\nexport { createMonorepoConfig as createConfig };\n"],"mappings":";;AAIA,MAAM,iBAA6B,EACjC,KAAK;CACH,OAAO;EACL,SAAS;EACT,OAAO;EACR;CACD,sBAAsB;CACvB,EACF;AAED,SAAgB,qBAAqB,YAAwB,EAAE,EAAc;AAC3E,QAAO,oBAAoB,kBAAkB,EAAE,gBAAgB,UAAU"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/monorepo/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { createBaseConfig } from \"../base/index.ts\";\nimport { createDefinedConfig } from \"../shared/config.ts\";\n\nconst monorepoConfig: UserConfig = {\n run: {\n cache: {\n scripts: true,\n tasks: true,\n },\n enablePrePostScripts: true,\n },\n};\n\nexport function createMonorepoConfig<const Overrides extends UserConfig = UserConfig>(\n overrides?: Overrides,\n): UserConfig & Pick<Overrides, never> {\n return createDefinedConfig(createBaseConfig(), monorepoConfig, overrides ?? {});\n}\n\nexport { createMonorepoConfig as createConfig };\n"],"mappings":";;AAIA,MAAM,iBAA6B,EACjC,KAAK;CACH,OAAO;EACL,SAAS;EACT,OAAO;EACR;CACD,sBAAsB;CACvB,EACF;AAED,SAAgB,qBACd,WACqC;CACrC,OAAO,oBAAoB,kBAAkB,EAAE,gBAAgB,aAAa,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { UserConfig } from "vite-plus";
2
2
 
3
3
  //#region src/node/index.d.ts
4
- declare function createNodeConfig(overrides?: UserConfig): UserConfig;
4
+ declare function createNodeConfig<const Overrides extends UserConfig = UserConfig>(overrides?: Overrides): UserConfig & Pick<Overrides, never>;
5
5
  //#endregion
6
6
  export { createNodeConfig as createConfig, createNodeConfig };
7
7
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/node/index.ts"],"mappings":";;;iBASgB,gBAAA,CAAiB,SAAA,GAAW,UAAA,GAAkB,UAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/node/index.ts"],"mappings":";;;iBASgB,gBAAA,yBAAyC,UAAA,GAAa,UAAA,CAAA,CACpE,SAAA,GAAY,SAAA,GACX,UAAA,GAAa,IAAA,CAAK,SAAA"}
@@ -1,8 +1,8 @@
1
- import { o as createDefinedConfig, r as serverLint, t as createBaseConfig } from "../../base-Cwrw6jf3.mjs";
1
+ import { o as createDefinedConfig, r as serverLint, t as createBaseConfig } from "../../base-zdt1stcl.mjs";
2
2
  //#region src/node/index.ts
3
3
  const nodeConfig = { lint: serverLint };
4
- function createNodeConfig(overrides = {}) {
5
- return createDefinedConfig(createBaseConfig(), nodeConfig, overrides);
4
+ function createNodeConfig(overrides) {
5
+ return createDefinedConfig(createBaseConfig(), nodeConfig, overrides ?? {});
6
6
  }
7
7
  //#endregion
8
8
  export { createNodeConfig as createConfig, createNodeConfig };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/node/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { createBaseConfig } from \"../base/index.ts\";\nimport { createDefinedConfig } from \"../shared/config.ts\";\nimport { serverLint } from \"../shared/lint.ts\";\n\nconst nodeConfig: UserConfig = {\n lint: serverLint,\n};\n\nexport function createNodeConfig(overrides: UserConfig = {}): UserConfig {\n return createDefinedConfig(createBaseConfig(), nodeConfig, overrides);\n}\n\nexport { createNodeConfig as createConfig };\n"],"mappings":";;AAKA,MAAM,aAAyB,EAC7B,MAAM,YACP;AAED,SAAgB,iBAAiB,YAAwB,EAAE,EAAc;AACvE,QAAO,oBAAoB,kBAAkB,EAAE,YAAY,UAAU"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/node/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { createBaseConfig } from \"../base/index.ts\";\nimport { createDefinedConfig } from \"../shared/config.ts\";\nimport { serverLint } from \"../shared/lint.ts\";\n\nconst nodeConfig: UserConfig = {\n lint: serverLint,\n};\n\nexport function createNodeConfig<const Overrides extends UserConfig = UserConfig>(\n overrides?: Overrides,\n): UserConfig & Pick<Overrides, never> {\n return createDefinedConfig(createBaseConfig(), nodeConfig, overrides ?? {});\n}\n\nexport { createNodeConfig as createConfig };\n"],"mappings":";;AAKA,MAAM,aAAyB,EAC7B,MAAM,YACP;AAED,SAAgB,iBACd,WACqC;CACrC,OAAO,oBAAoB,kBAAkB,EAAE,YAAY,aAAa,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { UserConfig } from "vite-plus";
2
2
 
3
3
  //#region src/react/index.d.ts
4
- declare function createReactConfig(overrides?: UserConfig): UserConfig;
4
+ declare function createReactConfig<const Overrides extends UserConfig = UserConfig>(overrides?: Overrides): UserConfig & Pick<Overrides, never>;
5
5
  //#endregion
6
6
  export { createReactConfig as createConfig, createReactConfig };
7
7
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/react/index.ts"],"mappings":";;;iBAWgB,iBAAA,CAAkB,SAAA,GAAW,UAAA,GAAkB,UAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/react/index.ts"],"mappings":";;;iBAWgB,iBAAA,yBAA0C,UAAA,GAAa,UAAA,CAAA,CACrE,SAAA,GAAY,SAAA,GACX,UAAA,GAAa,IAAA,CAAK,SAAA"}
@@ -1,11 +1,11 @@
1
- import { i as reactFmt, n as reactLint, o as createDefinedConfig, t as createBaseConfig } from "../../base-Cwrw6jf3.mjs";
1
+ import { i as reactFmt, n as reactLint, o as createDefinedConfig, t as createBaseConfig } from "../../base-zdt1stcl.mjs";
2
2
  //#region src/react/index.ts
3
3
  const reactConfig = {
4
4
  fmt: reactFmt,
5
5
  lint: reactLint
6
6
  };
7
- function createReactConfig(overrides = {}) {
8
- return createDefinedConfig(createBaseConfig(), reactConfig, overrides);
7
+ function createReactConfig(overrides) {
8
+ return createDefinedConfig(createBaseConfig(), reactConfig, overrides ?? {});
9
9
  }
10
10
  //#endregion
11
11
  export { createReactConfig as createConfig, createReactConfig };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/react/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { createBaseConfig } from \"../base/index.ts\";\nimport { createDefinedConfig } from \"../shared/config.ts\";\nimport { reactFmt } from \"../shared/fmt.ts\";\nimport { reactLint } from \"../shared/lint.ts\";\n\nconst reactConfig: UserConfig = {\n fmt: reactFmt,\n lint: reactLint,\n};\n\nexport function createReactConfig(overrides: UserConfig = {}): UserConfig {\n return createDefinedConfig(createBaseConfig(), reactConfig, overrides);\n}\n\nexport { createReactConfig as createConfig };\n"],"mappings":";;AAMA,MAAM,cAA0B;CAC9B,KAAK;CACL,MAAM;CACP;AAED,SAAgB,kBAAkB,YAAwB,EAAE,EAAc;AACxE,QAAO,oBAAoB,kBAAkB,EAAE,aAAa,UAAU"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/react/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { createBaseConfig } from \"../base/index.ts\";\nimport { createDefinedConfig } from \"../shared/config.ts\";\nimport { reactFmt } from \"../shared/fmt.ts\";\nimport { reactLint } from \"../shared/lint.ts\";\n\nconst reactConfig: UserConfig = {\n fmt: reactFmt,\n lint: reactLint,\n};\n\nexport function createReactConfig<const Overrides extends UserConfig = UserConfig>(\n overrides?: Overrides,\n): UserConfig & Pick<Overrides, never> {\n return createDefinedConfig(createBaseConfig(), reactConfig, overrides ?? {});\n}\n\nexport { createReactConfig as createConfig };\n"],"mappings":";;AAMA,MAAM,cAA0B;CAC9B,KAAK;CACL,MAAM;CACP;AAED,SAAgB,kBACd,WACqC;CACrC,OAAO,oBAAoB,kBAAkB,EAAE,aAAa,aAAa,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kasoa/vite-plus-config",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "description": "Kasoa's Vite+ configurations",
5
5
  "keywords": [
6
6
  "config",
@@ -58,12 +58,12 @@
58
58
  "access": "public"
59
59
  },
60
60
  "devDependencies": {
61
- "@cloudflare/vite-plugin": "^1.31.0",
62
- "@cloudflare/vitest-pool-workers": "^0.14.1",
63
- "@types/node": "^25.5.2",
64
- "@typescript/native-preview": "^7.0.0-dev.20260406.1",
65
- "vite-plus": "^0.1.15",
66
- "wrangler": "^4.80.0"
61
+ "@cloudflare/vite-plugin": "^1.37.0",
62
+ "@cloudflare/vitest-pool-workers": "^0.16.5",
63
+ "@types/node": "^25.8.0",
64
+ "@typescript/native-preview": "7.0.0-dev.20260514.1",
65
+ "vite-plus": "^0.1.21",
66
+ "wrangler": "^4.91.0"
67
67
  },
68
68
  "peerDependencies": {
69
69
  "@cloudflare/vite-plugin": ">=1 <2",
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-Cwrw6jf3.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 function mergeConfigFragments(base: UserConfig, ...overrides: UserConfig[]): UserConfig {\n return overrides.reduce<UserConfig>((result, override) => mergeConfig(result, override), base);\n}\n\nexport function createDefinedConfig(base: UserConfig, ...overrides: UserConfig[]): UserConfig {\n return defineConfig(mergeConfigFragments(base, ...overrides));\n}\n","export const DEFAULT_TEST_INCLUDE = [\"**/*.{test,spec}.{ts,tsx,mts,cts}\"] as const;\nexport const GENERATED_FILE_IGNORE_PATTERNS = [\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 { GENERATED_FILE_IGNORE_PATTERNS } from \"./constants.ts\";\n\ntype FmtConfig = NonNullable<UserConfig[\"fmt\"]>;\n\nexport const baseFmt: FmtConfig = {\n ignorePatterns: [...GENERATED_FILE_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 { GENERATED_FILE_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: [...GENERATED_FILE_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-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/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-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 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 { 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: UserConfig = {}): UserConfig {\n return createDefinedConfig(baseConfig, overrides);\n}\n\nexport { createBaseConfig as createConfig };\n"],"mappings":";;AAGA,SAAgB,qBAAqB,MAAkB,GAAG,WAAqC;AAC7F,QAAO,UAAU,QAAoB,QAAQ,aAAa,YAAY,QAAQ,SAAS,EAAE,KAAK;;AAGhG,SAAgB,oBAAoB,MAAkB,GAAG,WAAqC;AAC5F,QAAO,aAAa,qBAAqB,MAAM,GAAG,UAAU,CAAC;;;;ACR/D,MAAa,uBAAuB,CAAC,oCAAoC;AACzE,MAAa,iCAAiC;CAC5C;CACA;CACA;CACA;CACD;AAED,MAAa,4BAA4B;AACzC,MAAa,+BAA+B;AAC5C,MAAa,+BAA+B;;;ACL5C,MAAa,UAAqB;CAChC,gBAAgB,CAAC,GAAG,+BAA+B;CACnD,aAAa;EACX,iBAAiB,CAAC,KAAK,KAAK;EAC5B,iBAAiB;EACjB,QAAQ;GACN;GACA,CAAC,iBAAiB,iBAAiB;GACnC;GACA;GACA;IAAC;IAAe;IAAgB;IAAa;GAC7C;IAAC;IAAgB;IAAiB;IAAc;GAChD;GACD;EACF;CACF;AAED,MAAa,WAAsB,EACjC,iBAAiB;CACf,YAAY,CAAC,gBAAgB;CAC7B,WAAW,CAAC,KAAK;CAClB,EACF;;;ACxBD,MAAa,oBAAoB;CAAC;CAAc;CAAW;CAAO;CAAU;CAAU;AAwKtF,MAAa,WApKsB;CACjC,SAAS,CAAC,GAAG,kBAAkB;CAC/B,gBAAgB,CAAC,GAAG,+BAA+B;CACnD,KAAK;EACH,eAAe;EACf,QAAQ;EACT;CACD,SAAS;EACP,+BAA+B;EAC/B,WAAW;EACX,WAAW;EACZ;CACD,YAAY;EACV,aAAa;EACb,YAAY;EACZ,UAAU;EACV,MAAM;EACN,OAAO;EACR;CACD,OAAO;EACL,wBAAwB;EACxB,cAAc;EACd,aAAa;EACb,qBAAqB;EACrB,wBAAwB;EACxB,0BAA0B;EAC1B,kBAAkB;EAClB,eAAe;EACf,oBAAoB;EACpB,cAAc;EACd,iBAAiB;EACjB,gBAAgB;EAChB,aAAa;EACb,eAAe;EAEf,YAAY,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC;EAClC,OAAO;GAAC;GAAS;GAAc;GAAa;EAC5C,qBAAqB;EACrB,QAAQ;EACR,iBAAiB;EACjB,0BAA0B,CAAC,SAAS,eAAe;EACnD,aAAa,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC;EAClC,wBAAwB,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC;EAC7C,cAAc,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC;EACnC,WAAW;EACX,YAAY;EACZ,cAAc;EACd,cAAc,CAAC,SAAS,EAAE,OAAO;GAAC;GAAQ;GAAQ;GAAQ,EAAE,CAAC;EAC7D,wBAAwB,CAAC,SAAS,EAAE,0BAA0B,MAAM,CAAC;EACrE,qBAAqB,CAAC,SAAS,EAAE,OAAO,MAAM,CAAC;EAC/C,eAAe;EACf,YAAY;EACZ,uBAAuB;EACvB,kBAAkB;EAClB,qBAAqB;EACrB,mBAAmB;EAEnB,uBAAuB;EACvB,wBAAwB;EACxB,sCAAsC;EACtC,0BAA0B;EAC1B,uBAAuB;EACvB,4BAA4B;EAC5B,+BAA+B;EAC/B,gCAAgC;EAChC,mBAAmB;EAEnB,qCAAqC;EAErC,6BAA6B,CAAC,SAAS,EAAE,0BAA0B,IAAI,CAAC;EACxE,0CAA0C;EAC1C,gCAAgC;EAChC,sCAAsC;EACtC,sCAAsC,CACpC,SACA;GAAE,QAAQ;GAAgB,UAAU;GAAyB,CAC9D;EACD,2BAA2B;EAC3B,6CAA6C;EAC7C,2CAA2C;EAC3C,gCAAgC;EAChC,8BAA8B;EAC9B,mCAAmC;EACnC,kCAAkC;EAClC,gCAAgC;EAChC,oCAAoC;EACpC,iCAAiC;EACjC,uCAAuC;EACvC,uCAAuC;EACvC,4CAA4C;EAC5C,4CAA4C;EAC5C,6CAA6C;EAC7C,iCAAiC;EACjC,mCAAmC;EACnC,6BAA6B;EAC7B,sCAAsC;EACtC,+BAA+B;EAC/B,4CAA4C;EAC5C,gDAAgD;EAChD,+BAA+B;EAC/B,0BAA0B;EAC1B,wCAAwC;EACxC,oCAAoC;EACpC,8BAA8B;EAC9B,iCAAiC;EACjC,4BAA4B;EAC5B,yCAAyC;EACzC,qCAAqC;EACrC,4CAA4C;EAC5C,2BAA2B;EAC3B,yCAAyC;EACzC,iCAAiC;EACjC,0CAA0C;EAC1C,6BAA6B;EAC7B,qDAAqD;EAErD,mBAAmB;EACnB,qCAAqC;EACrC,yBAAyB,CAAC,SAAS,EAAE,MAAM,aAAa,CAAC;EAC1D;CACD,WAAW;EACT;GACE,OAAO,CAAC,iBAAiB;GACzB,KAAK,EACH,MAAM,MACP;GACD,OAAO,EACL,iCAAiC,OAClC;GACF;EACD;GACE,OAAO,CAAC,8CAA8C;GACtD,KAAK,EACH,MAAM,MACP;GACD,OAAO,EACL,cAAc,OACf;GACF;EACD;GACE,OAAO,CAAC,YAAY;GACpB,OAAO,EACL,iCAAiC,OAClC;GACF;EACD;GACE,OAAO;IACL;IACA;IACA;IACA;IACD;GACD,SAAS,CAAC,GAAG,mBAAmB,SAAS;GACzC,KAAK,EACH,QAAQ,MACT;GACD,OAAO;IACL,sCAAsC;IACtC,8BAA8B,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC;IACpD;GACF;EACF;CACF;AAiCD,MAAa,YA7BuB;CAClC,SAAS,CAAC,SAAS,WAAW;CAC9B,OAAO;EACL,qBAAqB;EAErB,gCAAgC;EAChC,4BAA4B;EAC5B,yBAAyB;EACzB,iBAAiB;EACjB,uBAAuB,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC;EAC5C,2CAA2C;EAC3C,gCAAgC;EAChC,sBAAsB;EACtB,4BAA4B;EAC5B,0BAA0B;EAC1B,0BAA0B;EAC1B,mBAAmB;EACnB,iCAAiC;EACjC,kCAAkC;EAClC,0BAA0B;EAC1B,2BAA2B;EAC3B,wBAAwB;EACxB,2BAA2B;EAC3B,mBAAmB;EACnB,6BAA6B;EAC7B,uCAAuC;EACxC;CACF;AAcD,MAAa,aAVwB;CACnC,SAAS,CAAC,OAAO;CACjB,SAAS,EACP,eAAe,YAChB;CACD,OAAO,EACL,0BAA0B,SAC3B;CACF;;;AC1MD,MAAM,aAAyB;CAC7B,KAAK;CACL,MAAM;CACN,MAAM,EACJ,SAAS,CAAC,GAAG,qBAAqB,EACnC;CACD,QAAQ,GACL,4BAA4B,8BAC9B;CACF;AAED,SAAgB,iBAAiB,YAAwB,EAAE,EAAc;AACvE,QAAO,oBAAoB,YAAY,UAAU"}