@kasoa/vite-plus-config 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +36 -37
  2. package/dist/{base-B4qchSvu.mjs → base-DSsQy-0L.mjs} +28 -6
  3. package/dist/base-DSsQy-0L.mjs.map +1 -0
  4. package/dist/src/base/index.d.mts +2 -2
  5. package/dist/src/base/index.d.mts.map +1 -1
  6. package/dist/src/base/index.mjs +2 -2
  7. package/dist/src/cloudflare-workers/index.d.mts +17 -0
  8. package/dist/src/cloudflare-workers/index.d.mts.map +1 -0
  9. package/dist/src/cloudflare-workers/index.mjs +49 -0
  10. package/dist/src/cloudflare-workers/index.mjs.map +1 -0
  11. package/dist/src/library/index.d.mts +2 -2
  12. package/dist/src/library/index.d.mts.map +1 -1
  13. package/dist/src/library/index.mjs +11 -11
  14. package/dist/src/library/index.mjs.map +1 -1
  15. package/dist/src/monorepo/index.d.mts +2 -2
  16. package/dist/src/monorepo/index.d.mts.map +1 -1
  17. package/dist/src/monorepo/index.mjs +12 -13
  18. package/dist/src/monorepo/index.mjs.map +1 -1
  19. package/dist/src/node/index.d.mts +7 -0
  20. package/dist/src/node/index.d.mts.map +1 -0
  21. package/dist/src/node/index.mjs +10 -0
  22. package/dist/src/node/index.mjs.map +1 -0
  23. package/dist/src/react/index.d.mts +2 -2
  24. package/dist/src/react/index.d.mts.map +1 -1
  25. package/dist/src/react/index.mjs +7 -6
  26. package/dist/src/react/index.mjs.map +1 -1
  27. package/package.json +17 -16
  28. package/dist/base-B4qchSvu.mjs.map +0 -1
  29. package/dist/constants-CzUEaslR.mjs +0 -15
  30. package/dist/constants-CzUEaslR.mjs.map +0 -1
  31. package/dist/src/index.d.mts +0 -7
  32. package/dist/src/index.mjs +0 -7
  33. package/dist/src/server/index.d.mts +0 -7
  34. package/dist/src/server/index.d.mts.map +0 -1
  35. package/dist/src/server/index.mjs +0 -11
  36. package/dist/src/server/index.mjs.map +0 -1
  37. package/dist/src/test/cloudflare-workers/index.d.mts +0 -14
  38. package/dist/src/test/cloudflare-workers/index.d.mts.map +0 -1
  39. package/dist/src/test/cloudflare-workers/index.mjs +0 -22
  40. package/dist/src/test/cloudflare-workers/index.mjs.map +0 -1
package/README.md CHANGED
@@ -14,86 +14,87 @@ pnpm add -D @kasoa/vite-plus-config vite-plus
14
14
 
15
15
  ## Usage
16
16
 
17
- Create a local `vite.config.ts` and re-export the shared preset that matches the project.
17
+ Create a local `vite.config.ts` and call the shared preset factory that matches the project.
18
18
 
19
19
  ### Base Config
20
20
 
21
21
  ```ts
22
- export { base as default } from "@kasoa/vite-plus-config/base";
22
+ import { createConfig } from "@kasoa/vite-plus-config/base";
23
+
24
+ export default createConfig();
23
25
  ```
24
26
 
25
27
  ### React Projects
26
28
 
27
29
  ```ts
28
- export { react as default } from "@kasoa/vite-plus-config/react";
30
+ import { createConfig } from "@kasoa/vite-plus-config/react";
31
+
32
+ export default createConfig();
29
33
  ```
30
34
 
31
- ### Server Projects
35
+ ### Node Projects
32
36
 
33
37
  ```ts
34
- export { server as default } from "@kasoa/vite-plus-config/server";
38
+ import { createConfig } from "@kasoa/vite-plus-config/node";
39
+
40
+ export default createConfig();
35
41
  ```
36
42
 
37
43
  ### Libraries
38
44
 
39
45
  ```ts
40
- export { library as default } from "@kasoa/vite-plus-config/library";
46
+ import { createConfig } from "@kasoa/vite-plus-config/library";
47
+
48
+ export default createConfig();
41
49
  ```
42
50
 
43
51
  ### Monorepo Root
44
52
 
45
53
  ```ts
46
- export { monorepo as default } from "@kasoa/vite-plus-config/monorepo";
54
+ import { createConfig } from "@kasoa/vite-plus-config/monorepo";
55
+
56
+ export default createConfig();
47
57
  ```
48
58
 
49
- ## Composing Presets
59
+ ## Customizing a Preset
50
60
 
51
- Use Vite+'s normal `defineConfig` API when a project needs to mix presets or add overrides.
61
+ Pass overrides directly to the preset factory. Nested config is merged so consumers can stay strict by default and still tweak what they need.
52
62
 
53
63
  ```ts
54
- import { defineConfig } from "vite-plus";
55
- import { library } from "@kasoa/vite-plus-config/library";
56
- import { react } from "@kasoa/vite-plus-config/react";
64
+ import { createConfig } from "@kasoa/vite-plus-config/react";
57
65
 
58
- export default defineConfig({
59
- ...react,
60
- pack: library.pack,
66
+ export default createConfig({
61
67
  lint: {
62
- ...react.lint,
63
68
  rules: {
64
- ...react.lint?.rules,
65
69
  "no-console": "warn",
66
70
  },
67
71
  },
72
+ test: {
73
+ coverage: {
74
+ reporter: ["text", "html"],
75
+ },
76
+ },
68
77
  });
69
78
  ```
70
79
 
71
80
  ## Cloudflare Workers Tests
72
81
 
73
- For Worker projects, the package also ships a thin Cloudflare test preset that wires up `cloudflareTest()` with a default root `wrangler.jsonc`.
82
+ For Worker projects, the package ships a Cloudflare Worker preset that combines the node preset, `cloudflare()`, and `cloudflareTest()` in a single `vite.config.ts`, using a default root `wrangler.jsonc`.
74
83
 
75
84
  ```bash
76
- pnpm add -D @cloudflare/vitest-pool-workers wrangler
85
+ pnpm add -D @cloudflare/vite-plugin @cloudflare/vitest-pool-workers vitest@npm:@voidzero-dev/vite-plus-test@latest wrangler
77
86
  ```
78
87
 
79
88
  ```ts
80
- import { defineConfig } from "vite-plus";
81
- import { server } from "@kasoa/vite-plus-config/server";
82
- import { createCloudflareWorkersTestConfig } from "@kasoa/vite-plus-config/test/cloudflare-workers";
89
+ import { createConfig } from "@kasoa/vite-plus-config/cloudflare-workers";
83
90
 
84
- const cloudflareWorkers = createCloudflareWorkersTestConfig({
91
+ export default createConfig({
85
92
  miniflare: {
86
93
  bindings: {
87
94
  CORS_ALLOWED_ORIGINS: "",
88
95
  },
89
96
  },
90
- });
91
-
92
- export default defineConfig({
93
- ...server,
94
- ...cloudflareWorkers,
95
97
  test: {
96
- ...cloudflareWorkers.test,
97
98
  provide: {
98
99
  d1Migrations: [],
99
100
  },
@@ -101,9 +102,7 @@ export default defineConfig({
101
102
  });
102
103
  ```
103
104
 
104
- The shared preset only covers the repeated Worker runtime wiring. Project-specific migrations, bindings, coverage, setup files, and `test.provide` values should stay in the consuming project.
105
-
106
- At the moment, Cloudflare Worker projects should prefer plain `vitest --config vite.config.ts` for running tests. The Worker test preset itself is validated, but `vp test` is not yet a recommended path there because the current `vite-plus-test` runner still appears to have compatibility issues with this setup.
105
+ Project-specific migrations, bindings, coverage, setup files, and `test.provide` values should stay in the consuming project.
107
106
 
108
107
  ## Recommended Workflow
109
108
 
@@ -128,11 +127,11 @@ Example:
128
127
  ## Configurations
129
128
 
130
129
  - **`base`**: Strict TypeScript-first format, lint, test include, and staged-file defaults.
131
- - **`react`**: Extends `base` with React lint rules and Tailwind-aware formatting.
132
- - **`server`**: Extends `base` with server-oriented lint rules.
133
- - **`library`**: Extends `base` with ESM-only packaging defaults for `vp pack`.
134
- - **`monorepo`**: Extends `base` with root-only `run` defaults for workspace caching.
135
- - **`test/cloudflare-workers`**: Optional Cloudflare Worker test wiring for Vitest.
130
+ - **`react`**: `base` plus React lint rules and Tailwind-aware formatting.
131
+ - **`node`**: `base` plus Node-oriented lint rules.
132
+ - **`library`**: `base` plus ESM-only packaging defaults for `vp pack`.
133
+ - **`monorepo`**: `base` plus root-only `run` defaults for workspace caching.
134
+ - **`cloudflare-workers`**: `node` plus Cloudflare Worker dev and test wiring.
136
135
 
137
136
  ## Author
138
137
 
@@ -1,5 +1,24 @@
1
- import { a as GENERATED_FILE_IGNORE_PATTERNS, n as DEFAULT_STAGED_CHECK_GLOB, r as DEFAULT_TEST_INCLUDE, t as DEFAULT_STAGED_CHECK_COMMAND } from "./constants-CzUEaslR.mjs";
2
- import { defineConfig } from "vite-plus";
1
+ import { defineConfig, mergeConfig } from "vite-plus";
2
+ //#region src/shared/config.ts
3
+ function mergeConfigFragments(base, ...overrides) {
4
+ return overrides.reduce((result, override) => mergeConfig(result, override), base);
5
+ }
6
+ function createDefinedConfig(base, ...overrides) {
7
+ return defineConfig(mergeConfigFragments(base, ...overrides));
8
+ }
9
+ //#endregion
10
+ //#region src/shared/constants.ts
11
+ const DEFAULT_TEST_INCLUDE = ["**/*.{test,spec}.{ts,tsx,mts,cts}"];
12
+ const GENERATED_FILE_IGNORE_PATTERNS = [
13
+ "**/worker-configuration.d.ts",
14
+ "**/migrations/**",
15
+ "**/drizzle/migrations.js",
16
+ "**/drizzle/meta/*.json"
17
+ ];
18
+ const DEFAULT_STAGED_CHECK_GLOB = "*.{js,jsx,ts,tsx,mjs,cjs,mts,cts}";
19
+ const DEFAULT_STAGED_CHECK_COMMAND = "vp check --fix";
20
+ const DEFAULT_WRANGLER_CONFIG_PATH = "./wrangler.jsonc";
21
+ //#endregion
3
22
  //#region src/shared/fmt.ts
4
23
  const baseFmt = {
5
24
  ignorePatterns: [...GENERATED_FILE_IGNORE_PATTERNS],
@@ -242,13 +261,16 @@ const serverLint = {
242
261
  };
243
262
  //#endregion
244
263
  //#region src/base/index.ts
245
- const base = defineConfig({
264
+ const baseConfig = {
246
265
  fmt: baseFmt,
247
266
  lint: baseLint,
248
267
  test: { include: [...DEFAULT_TEST_INCLUDE] },
249
268
  staged: { [DEFAULT_STAGED_CHECK_GLOB]: DEFAULT_STAGED_CHECK_COMMAND }
250
- });
269
+ };
270
+ function createBaseConfig(overrides = {}) {
271
+ return createDefinedConfig(baseConfig, overrides);
272
+ }
251
273
  //#endregion
252
- export { reactFmt as i, reactLint as n, serverLint as r, base as t };
274
+ export { DEFAULT_TEST_INCLUDE as a, mergeConfigFragments as c, reactFmt as i, reactLint as n, DEFAULT_WRANGLER_CONFIG_PATH as o, serverLint as r, createDefinedConfig as s, createBaseConfig as t };
253
275
 
254
- //# sourceMappingURL=base-B4qchSvu.mjs.map
276
+ //# sourceMappingURL=base-DSsQy-0L.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-DSsQy-0L.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 = {\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} satisfies FmtConfig;\n\nexport const reactFmt = {\n ...baseFmt,\n sortTailwindcss: {\n attributes: [\"/.*ClassName/\"],\n functions: [\"tv\"],\n },\n} satisfies FmtConfig;\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 ...baseLint,\n plugins: [...(baseLint.plugins ?? []), \"react\", \"jsx-a11y\"],\n rules: {\n ...baseLint.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 ...baseLint,\n plugins: [...(baseLint.plugins ?? []), \"node\"],\n globals: {\n ...baseLint.globals,\n WebSocketPair: \"readonly\",\n },\n rules: {\n ...baseLint.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,UAAU;CACrB,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,WAAW;CACtB,GAAG;CACH,iBAAiB;EACf,YAAY,CAAC,gBAAgB;EAC7B,WAAW,CAAC,KAAK;EAClB;CACF;;;ACzBD,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;AAmCD,MAAa,YA/BuB;CAClC,GAAG;CACH,SAAS;EAAC,GAAI,SAAS,WAAW,EAAE;EAAG;EAAS;EAAW;CAC3D,OAAO;EACL,GAAG,SAAS;EACZ,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;AAiBD,MAAa,aAbwB;CACnC,GAAG;CACH,SAAS,CAAC,GAAI,SAAS,WAAW,EAAE,EAAG,OAAO;CAC9C,SAAS;EACP,GAAG,SAAS;EACZ,eAAe;EAChB;CACD,OAAO;EACL,GAAG,SAAS;EACZ,0BAA0B;EAC3B;CACF;;;AC/MD,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"}
@@ -1,7 +1,7 @@
1
1
  import { UserConfig } from "vite-plus";
2
2
 
3
3
  //#region src/base/index.d.ts
4
- declare const base: UserConfig;
4
+ declare function createBaseConfig(overrides?: UserConfig): UserConfig;
5
5
  //#endregion
6
- export { base };
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":";;;cAUa,IAAA,EAAM,UAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/base/index.ts"],"mappings":";;;iBAqBgB,gBAAA,CAAiB,SAAA,GAAW,UAAA,GAAkB,UAAA"}
@@ -1,2 +1,2 @@
1
- import { t as base } from "../../base-B4qchSvu.mjs";
2
- export { base };
1
+ import { t as createBaseConfig } from "../../base-DSsQy-0L.mjs";
2
+ export { createBaseConfig, createBaseConfig as createConfig };
@@ -0,0 +1,17 @@
1
+ import { UserConfig } from "vite-plus";
2
+ import { PluginConfig } from "@cloudflare/vite-plugin";
3
+ import { cloudflareTest } from "@cloudflare/vitest-pool-workers";
4
+
5
+ //#region src/cloudflare-workers/index.d.ts
6
+ type CloudflareWorkersPluginOptions = Exclude<NonNullable<Parameters<typeof cloudflareTest>[0]>, (...args: never[]) => unknown>;
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"];
13
+ }
14
+ declare function createCloudflareWorkersConfig(options?: CloudflareWorkersConfigOptions): UserConfig;
15
+ //#endregion
16
+ export { CloudflareWorkersConfigOptions, createCloudflareWorkersConfig, createCloudflareWorkersConfig as createConfig };
17
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/cloudflare-workers/index.ts"],"mappings":";;;;;KAUK,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"}
@@ -0,0 +1,49 @@
1
+ import { a as DEFAULT_TEST_INCLUDE, c as mergeConfigFragments, o as DEFAULT_WRANGLER_CONFIG_PATH, s as createDefinedConfig } from "../../base-DSsQy-0L.mjs";
2
+ import { createConfig as createNodeConfig } from "../node/index.mjs";
3
+ import { createRequire } from "node:module";
4
+ import { cloudflare } from "@cloudflare/vite-plugin";
5
+ import { cloudflareTest } from "@cloudflare/vitest-pool-workers";
6
+ import process from "node:process";
7
+ import { join } from "node:path";
8
+ //#region src/shared/vitest.ts
9
+ const projectRequire = createRequire(join(process.cwd(), "package.json"));
10
+ function assertVitePlusVitestAlias() {
11
+ if (process.env.VITEST !== "true") return;
12
+ let resolvedPath;
13
+ try {
14
+ resolvedPath = projectRequire.resolve("vitest/package.json");
15
+ } catch {
16
+ throw new Error([
17
+ "Cloudflare Worker tests require `vitest` to resolve to Vite+'s test package.",
18
+ "Install it as an alias, for example:",
19
+ "`pnpm add -D vitest@npm:@voidzero-dev/vite-plus-test@latest`"
20
+ ].join("\n"));
21
+ }
22
+ if (!resolvedPath.includes("@voidzero-dev+vite-plus-test") && !resolvedPath.includes("@voidzero-dev/vite-plus-test")) throw new Error([
23
+ "Cloudflare Worker tests require `vitest` to resolve to `@voidzero-dev/vite-plus-test`.",
24
+ `Resolved instead to: ${resolvedPath}`,
25
+ "Install it as an alias, for example:",
26
+ "`pnpm add -D vitest@npm:@voidzero-dev/vite-plus-test@latest`"
27
+ ].join("\n"));
28
+ }
29
+ //#endregion
30
+ //#region src/cloudflare-workers/index.ts
31
+ function createCloudflareWorkersConfig(options = {}) {
32
+ const { cloudflare: cloudflareOptions = {}, config = {}, include, test, wrangler, ...testPluginOptions } = options;
33
+ const isTest = process.env.VITEST === "true";
34
+ assertVitePlusVitestAlias();
35
+ return createNodeConfig(mergeConfigFragments(createDefinedConfig({
36
+ plugins: [cloudflareTest({
37
+ ...testPluginOptions,
38
+ wrangler: {
39
+ configPath: DEFAULT_WRANGLER_CONFIG_PATH,
40
+ ...wrangler
41
+ }
42
+ })],
43
+ test: { include: include ?? [...DEFAULT_TEST_INCLUDE] }
44
+ }, { test }), !isTest && cloudflareOptions !== false ? { plugins: [...cloudflare(cloudflareOptions)] } : {}, config));
45
+ }
46
+ //#endregion
47
+ export { createCloudflareWorkersConfig, createCloudflareWorkersConfig as createConfig };
48
+
49
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/shared/vitest.ts","../../../src/cloudflare-workers/index.ts"],"sourcesContent":["import { createRequire } from \"node:module\";\nimport { join } from \"node:path\";\nimport process from \"node:process\";\n\nconst projectRequire = createRequire(join(process.cwd(), \"package.json\"));\n\nexport function assertVitePlusVitestAlias(): void {\n if (process.env.VITEST !== \"true\") {\n return;\n }\n\n let resolvedPath: string;\n\n try {\n resolvedPath = projectRequire.resolve(\"vitest/package.json\");\n } catch {\n throw new Error(\n [\n \"Cloudflare Worker tests require `vitest` to resolve to Vite+'s test package.\",\n \"Install it as an alias, for example:\",\n \"`pnpm add -D vitest@npm:@voidzero-dev/vite-plus-test@latest`\",\n ].join(\"\\n\"),\n );\n }\n\n if (\n !resolvedPath.includes(\"@voidzero-dev+vite-plus-test\") &&\n !resolvedPath.includes(\"@voidzero-dev/vite-plus-test\")\n ) {\n throw new Error(\n [\n \"Cloudflare Worker tests require `vitest` to resolve to `@voidzero-dev/vite-plus-test`.\",\n `Resolved instead to: ${resolvedPath}`,\n \"Install it as an alias, for example:\",\n \"`pnpm add -D vitest@npm:@voidzero-dev/vite-plus-test@latest`\",\n ].join(\"\\n\"),\n );\n }\n}\n","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_TEST_INCLUDE, DEFAULT_WRANGLER_CONFIG_PATH } from \"../shared/constants.ts\";\nimport { assertVitePlusVitestAlias } from \"../shared/vitest.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\n assertVitePlusVitestAlias();\n\n return createNodeConfig(\n mergeConfigFragments(\n createDefinedConfig(\n {\n plugins: [\n cloudflareTest({\n ...testPluginOptions,\n wrangler: {\n configPath: DEFAULT_WRANGLER_CONFIG_PATH,\n ...wrangler,\n },\n }),\n ],\n test: {\n include: include ?? [...DEFAULT_TEST_INCLUDE],\n },\n },\n {\n test,\n },\n ),\n !isTest && cloudflareOptions !== false\n ? {\n plugins: [...cloudflare(cloudflareOptions)],\n }\n : {},\n config,\n ),\n );\n}\n\nexport { createCloudflareWorkersConfig as createConfig };\n"],"mappings":";;;;;;;;AAIA,MAAM,iBAAiB,cAAc,KAAK,QAAQ,KAAK,EAAE,eAAe,CAAC;AAEzE,SAAgB,4BAAkC;AAChD,KAAI,QAAQ,IAAI,WAAW,OACzB;CAGF,IAAI;AAEJ,KAAI;AACF,iBAAe,eAAe,QAAQ,sBAAsB;SACtD;AACN,QAAM,IAAI,MACR;GACE;GACA;GACA;GACD,CAAC,KAAK,KAAK,CACb;;AAGH,KACE,CAAC,aAAa,SAAS,+BAA+B,IACtD,CAAC,aAAa,SAAS,+BAA+B,CAEtD,OAAM,IAAI,MACR;EACE;EACA,wBAAwB;EACxB;EACA;EACD,CAAC,KAAK,KAAK,CACb;;;;ACVL,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;AAEtC,4BAA2B;AAE3B,QAAO,iBACL,qBACE,oBACE;EACE,SAAS,CACP,eAAe;GACb,GAAG;GACH,UAAU;IACR,YAAY;IACZ,GAAG;IACJ;GACF,CAAC,CACH;EACD,MAAM,EACJ,SAAS,WAAW,CAAC,GAAG,qBAAqB,EAC9C;EACF,EACD,EACE,MACD,CACF,EACD,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 const library: UserConfig;
4
+ declare function createLibraryConfig(overrides?: UserConfig): UserConfig;
5
5
  //#endregion
6
- export { library };
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":";;;cAIa,OAAA,EAAS,UAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/library/index.ts"],"mappings":";;;iBAagB,mBAAA,CAAoB,SAAA,GAAW,UAAA,GAAkB,UAAA"}
@@ -1,15 +1,15 @@
1
- import { t as base } from "../../base-B4qchSvu.mjs";
2
- import { defineConfig } from "vite-plus";
1
+ import { s as createDefinedConfig, t as createBaseConfig } from "../../base-DSsQy-0L.mjs";
3
2
  //#region src/library/index.ts
4
- const library = defineConfig({
5
- ...base,
6
- pack: {
7
- dts: true,
8
- format: ["esm"],
9
- sourcemap: true
10
- }
11
- });
3
+ const libraryConfig = { pack: {
4
+ clean: true,
5
+ dts: true,
6
+ format: ["esm"],
7
+ sourcemap: true
8
+ } };
9
+ function createLibraryConfig(overrides = {}) {
10
+ return createDefinedConfig(createBaseConfig(), libraryConfig, overrides);
11
+ }
12
12
  //#endregion
13
- export { library };
13
+ export { createLibraryConfig as createConfig, createLibraryConfig };
14
14
 
15
15
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/library/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { defineConfig } from \"vite-plus\";\nimport { base } from \"../base/index.ts\";\n\nexport const library: UserConfig = defineConfig({\n ...base,\n pack: {\n dts: true,\n format: [\"esm\"],\n sourcemap: true,\n },\n});\n"],"mappings":";;;AAIA,MAAa,UAAsB,aAAa;CAC9C,GAAG;CACH,MAAM;EACJ,KAAK;EACL,QAAQ,CAAC,MAAM;EACf,WAAW;EACZ;CACF,CAAC"}
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,7 +1,7 @@
1
1
  import { UserConfig } from "vite-plus";
2
2
 
3
3
  //#region src/monorepo/index.d.ts
4
- declare const monorepo: UserConfig;
4
+ declare function createMonorepoConfig(overrides?: UserConfig): UserConfig;
5
5
  //#endregion
6
- export { monorepo };
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":";;;cAIa,QAAA,EAAU,UAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/monorepo/index.ts"],"mappings":";;;iBAcgB,oBAAA,CAAqB,SAAA,GAAW,UAAA,GAAkB,UAAA"}
@@ -1,17 +1,16 @@
1
- import { t as base } from "../../base-B4qchSvu.mjs";
2
- import { defineConfig } from "vite-plus";
1
+ import { s as createDefinedConfig, t as createBaseConfig } from "../../base-DSsQy-0L.mjs";
3
2
  //#region src/monorepo/index.ts
4
- const monorepo = defineConfig({
5
- ...base,
6
- run: {
7
- cache: {
8
- scripts: true,
9
- tasks: true
10
- },
11
- enablePrePostScripts: true
12
- }
13
- });
3
+ const monorepoConfig = { run: {
4
+ cache: {
5
+ scripts: true,
6
+ tasks: true
7
+ },
8
+ enablePrePostScripts: true
9
+ } };
10
+ function createMonorepoConfig(overrides = {}) {
11
+ return createDefinedConfig(createBaseConfig(), monorepoConfig, overrides);
12
+ }
14
13
  //#endregion
15
- export { monorepo };
14
+ export { createMonorepoConfig as createConfig, createMonorepoConfig };
16
15
 
17
16
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/monorepo/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { defineConfig } from \"vite-plus\";\nimport { base } from \"../base/index.ts\";\n\nexport const monorepo: UserConfig = defineConfig({\n ...base,\n run: {\n cache: {\n scripts: true,\n tasks: true,\n },\n enablePrePostScripts: true,\n },\n});\n"],"mappings":";;;AAIA,MAAa,WAAuB,aAAa;CAC/C,GAAG;CACH,KAAK;EACH,OAAO;GACL,SAAS;GACT,OAAO;GACR;EACD,sBAAsB;EACvB;CACF,CAAC"}
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"}
@@ -0,0 +1,7 @@
1
+ import { UserConfig } from "vite-plus";
2
+
3
+ //#region src/node/index.d.ts
4
+ declare function createNodeConfig(overrides?: UserConfig): UserConfig;
5
+ //#endregion
6
+ export { createNodeConfig as createConfig, createNodeConfig };
7
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/node/index.ts"],"mappings":";;;iBASgB,gBAAA,CAAiB,SAAA,GAAW,UAAA,GAAkB,UAAA"}
@@ -0,0 +1,10 @@
1
+ import { r as serverLint, s as createDefinedConfig, t as createBaseConfig } from "../../base-DSsQy-0L.mjs";
2
+ //#region src/node/index.ts
3
+ const nodeConfig = { lint: serverLint };
4
+ function createNodeConfig(overrides = {}) {
5
+ return createDefinedConfig(createBaseConfig(), nodeConfig, overrides);
6
+ }
7
+ //#endregion
8
+ export { createNodeConfig as createConfig, createNodeConfig };
9
+
10
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +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,7 +1,7 @@
1
1
  import { UserConfig } from "vite-plus";
2
2
 
3
3
  //#region src/react/index.d.ts
4
- declare const react: UserConfig;
4
+ declare function createReactConfig(overrides?: UserConfig): UserConfig;
5
5
  //#endregion
6
- export { react };
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":";;;cAMa,KAAA,EAAO,UAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/react/index.ts"],"mappings":";;;iBAWgB,iBAAA,CAAkB,SAAA,GAAW,UAAA,GAAkB,UAAA"}
@@ -1,12 +1,13 @@
1
- import { i as reactFmt, n as reactLint, t as base } from "../../base-B4qchSvu.mjs";
2
- import { defineConfig } from "vite-plus";
1
+ import { i as reactFmt, n as reactLint, s as createDefinedConfig, t as createBaseConfig } from "../../base-DSsQy-0L.mjs";
3
2
  //#region src/react/index.ts
4
- const react = defineConfig({
5
- ...base,
3
+ const reactConfig = {
6
4
  fmt: reactFmt,
7
5
  lint: reactLint
8
- });
6
+ };
7
+ function createReactConfig(overrides = {}) {
8
+ return createDefinedConfig(createBaseConfig(), reactConfig, overrides);
9
+ }
9
10
  //#endregion
10
- export { react };
11
+ export { createReactConfig as createConfig, createReactConfig };
11
12
 
12
13
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/react/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { defineConfig } from \"vite-plus\";\nimport { base } from \"../base/index.ts\";\nimport { reactFmt } from \"../shared/fmt.ts\";\nimport { reactLint } from \"../shared/lint.ts\";\n\nexport const react: UserConfig = defineConfig({\n ...base,\n fmt: reactFmt,\n lint: reactLint,\n});\n"],"mappings":";;;AAMA,MAAa,QAAoB,aAAa;CAC5C,GAAG;CACH,KAAK;CACL,MAAM;CACP,CAAC"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kasoa/vite-plus-config",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "Kasoa's Vite+ configurations",
5
5
  "keywords": [
6
6
  "config",
@@ -29,10 +29,6 @@
29
29
  ],
30
30
  "type": "module",
31
31
  "exports": {
32
- ".": {
33
- "types": "./dist/src/index.d.mts",
34
- "import": "./dist/src/index.mjs"
35
- },
36
32
  "./base": {
37
33
  "types": "./dist/src/base/index.d.mts",
38
34
  "import": "./dist/src/base/index.mjs"
@@ -41,9 +37,9 @@
41
37
  "types": "./dist/src/react/index.d.mts",
42
38
  "import": "./dist/src/react/index.mjs"
43
39
  },
44
- "./server": {
45
- "types": "./dist/src/server/index.d.mts",
46
- "import": "./dist/src/server/index.mjs"
40
+ "./node": {
41
+ "types": "./dist/src/node/index.d.mts",
42
+ "import": "./dist/src/node/index.mjs"
47
43
  },
48
44
  "./library": {
49
45
  "types": "./dist/src/library/index.d.mts",
@@ -53,27 +49,32 @@
53
49
  "types": "./dist/src/monorepo/index.d.mts",
54
50
  "import": "./dist/src/monorepo/index.mjs"
55
51
  },
56
- "./test/cloudflare-workers": {
57
- "types": "./dist/src/test/cloudflare-workers/index.d.mts",
58
- "import": "./dist/src/test/cloudflare-workers/index.mjs"
52
+ "./cloudflare-workers": {
53
+ "types": "./dist/src/cloudflare-workers/index.d.mts",
54
+ "import": "./dist/src/cloudflare-workers/index.mjs"
59
55
  }
60
56
  },
61
57
  "publishConfig": {
62
58
  "access": "public"
63
59
  },
64
60
  "devDependencies": {
65
- "@cloudflare/vitest-pool-workers": "^0.13.5",
66
- "@types/node": "^25.5.0",
67
- "@typescript/native-preview": "^7.0.0-dev.20260327.2",
68
- "vite-plus": "^0.1.14",
69
- "wrangler": "^4.78.0"
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"
70
67
  },
71
68
  "peerDependencies": {
69
+ "@cloudflare/vite-plugin": ">=1 <2",
72
70
  "@cloudflare/vitest-pool-workers": ">=0.13.0 <1",
73
71
  "vite-plus": ">=0.1.14 <1",
74
72
  "wrangler": ">=4 <5"
75
73
  },
76
74
  "peerDependenciesMeta": {
75
+ "@cloudflare/vite-plugin": {
76
+ "optional": true
77
+ },
77
78
  "@cloudflare/vitest-pool-workers": {
78
79
  "optional": true
79
80
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-B4qchSvu.mjs","names":[],"sources":["../src/shared/fmt.ts","../src/shared/lint.ts","../src/base/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { GENERATED_FILE_IGNORE_PATTERNS } from \"./constants.ts\";\n\ntype FmtConfig = NonNullable<UserConfig[\"fmt\"]>;\n\nexport const baseFmt = {\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} satisfies FmtConfig;\n\nexport const reactFmt = {\n ...baseFmt,\n sortTailwindcss: {\n attributes: [\"/.*ClassName/\"],\n functions: [\"tv\"],\n },\n} satisfies FmtConfig;\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 ...baseLint,\n plugins: [...(baseLint.plugins ?? []), \"react\", \"jsx-a11y\"],\n rules: {\n ...baseLint.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 ...baseLint,\n plugins: [...(baseLint.plugins ?? []), \"node\"],\n globals: {\n ...baseLint.globals,\n WebSocketPair: \"readonly\",\n },\n rules: {\n ...baseLint.rules,\n \"node/no-exports-assign\": \"error\",\n },\n};\n\nexport const serverLint: LintConfig = serverLintConfig;\n","import type { UserConfig } from \"vite-plus\";\nimport { defineConfig } from \"vite-plus\";\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\nexport const base: UserConfig = defineConfig({\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"],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- //#region src/shared/constants.ts
2
- const DEFAULT_TEST_INCLUDE = ["**/*.{test,spec}.{ts,tsx,mts,cts}"];
3
- const GENERATED_FILE_IGNORE_PATTERNS = [
4
- "**/worker-configuration.d.ts",
5
- "**/migrations/**",
6
- "**/drizzle/migrations.js",
7
- "**/drizzle/meta/*.json"
8
- ];
9
- const DEFAULT_STAGED_CHECK_GLOB = "*.{js,jsx,ts,tsx,mjs,cjs,mts,cts}";
10
- const DEFAULT_STAGED_CHECK_COMMAND = "vp check --fix";
11
- const DEFAULT_WRANGLER_CONFIG_PATH = "./wrangler.jsonc";
12
- //#endregion
13
- export { GENERATED_FILE_IGNORE_PATTERNS as a, DEFAULT_WRANGLER_CONFIG_PATH as i, DEFAULT_STAGED_CHECK_GLOB as n, DEFAULT_TEST_INCLUDE as r, DEFAULT_STAGED_CHECK_COMMAND as t };
14
-
15
- //# sourceMappingURL=constants-CzUEaslR.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants-CzUEaslR.mjs","names":[],"sources":["../src/shared/constants.ts"],"sourcesContent":["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"],"mappings":";AAAA,MAAa,uBAAuB,CAAC,oCAAoC;AACzE,MAAa,iCAAiC;CAC5C;CACA;CACA;CACA;CACD;AAED,MAAa,4BAA4B;AACzC,MAAa,+BAA+B;AAC5C,MAAa,+BAA+B"}
@@ -1,7 +0,0 @@
1
- import { base } from "./base/index.mjs";
2
- import { library } from "./library/index.mjs";
3
- import { monorepo } from "./monorepo/index.mjs";
4
- import { react } from "./react/index.mjs";
5
- import { server } from "./server/index.mjs";
6
- import { CloudflareWorkersTestConfigOptions, cloudflareWorkers, createCloudflareWorkersTestConfig } from "./test/cloudflare-workers/index.mjs";
7
- export { type CloudflareWorkersTestConfigOptions, base, cloudflareWorkers, createCloudflareWorkersTestConfig, library, monorepo, react, server };
@@ -1,7 +0,0 @@
1
- import { t as base } from "../base-B4qchSvu.mjs";
2
- import { library } from "./library/index.mjs";
3
- import { monorepo } from "./monorepo/index.mjs";
4
- import { react } from "./react/index.mjs";
5
- import { server } from "./server/index.mjs";
6
- import { cloudflareWorkers, createCloudflareWorkersTestConfig } from "./test/cloudflare-workers/index.mjs";
7
- export { base, cloudflareWorkers, createCloudflareWorkersTestConfig, library, monorepo, react, server };
@@ -1,7 +0,0 @@
1
- import { UserConfig } from "vite-plus";
2
-
3
- //#region src/server/index.d.ts
4
- declare const server: UserConfig;
5
- //#endregion
6
- export { server };
7
- //# sourceMappingURL=index.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/server/index.ts"],"mappings":";;;cAKa,MAAA,EAAQ,UAAA"}
@@ -1,11 +0,0 @@
1
- import { r as serverLint, t as base } from "../../base-B4qchSvu.mjs";
2
- import { defineConfig } from "vite-plus";
3
- //#region src/server/index.ts
4
- const server = defineConfig({
5
- ...base,
6
- lint: serverLint
7
- });
8
- //#endregion
9
- export { server };
10
-
11
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/server/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { defineConfig } from \"vite-plus\";\nimport { base } from \"../base/index.ts\";\nimport { serverLint } from \"../shared/lint.ts\";\n\nexport const server: UserConfig = defineConfig({\n ...base,\n lint: serverLint,\n});\n"],"mappings":";;;AAKA,MAAa,SAAqB,aAAa;CAC7C,GAAG;CACH,MAAM;CACP,CAAC"}
@@ -1,14 +0,0 @@
1
- import { UserConfig } from "vite-plus";
2
- import { cloudflareTest } from "@cloudflare/vitest-pool-workers";
3
-
4
- //#region src/test/cloudflare-workers/index.d.ts
5
- type CloudflareWorkersPluginOptions = Exclude<NonNullable<Parameters<typeof cloudflareTest>[0]>, (...args: never[]) => unknown>;
6
- interface CloudflareWorkersTestConfigOptions extends Omit<CloudflareWorkersPluginOptions, "wrangler"> {
7
- include?: string[];
8
- wrangler?: CloudflareWorkersPluginOptions["wrangler"];
9
- }
10
- declare function createCloudflareWorkersTestConfig(options?: CloudflareWorkersTestConfigOptions): UserConfig;
11
- declare const cloudflareWorkers: UserConfig;
12
- //#endregion
13
- export { CloudflareWorkersTestConfigOptions, cloudflareWorkers, createCloudflareWorkersTestConfig };
14
- //# sourceMappingURL=index.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/test/cloudflare-workers/index.ts"],"mappings":";;;;KAKK,8BAAA,GAAiC,OAAA,CACpC,WAAA,CAAY,UAAA,QAAkB,cAAA,WAC1B,IAAA;AAAA,UAGW,kCAAA,SAA2C,IAAA,CAC1D,8BAAA;EAGA,OAAA;EACA,QAAA,GAAW,8BAAA;AAAA;AAAA,iBAGG,iCAAA,CACd,OAAA,GAAS,kCAAA,GACR,UAAA;AAAA,cAmBU,iBAAA,EAAmB,UAAA"}
@@ -1,22 +0,0 @@
1
- import { i as DEFAULT_WRANGLER_CONFIG_PATH, r as DEFAULT_TEST_INCLUDE } from "../../../constants-CzUEaslR.mjs";
2
- import { defineConfig } from "vite-plus";
3
- import { cloudflareTest } from "@cloudflare/vitest-pool-workers";
4
- //#region src/test/cloudflare-workers/index.ts
5
- function createCloudflareWorkersTestConfig(options = {}) {
6
- const { include = [...DEFAULT_TEST_INCLUDE], wrangler, ...pluginOptions } = options;
7
- return defineConfig({
8
- plugins: [cloudflareTest({
9
- ...pluginOptions,
10
- wrangler: {
11
- configPath: DEFAULT_WRANGLER_CONFIG_PATH,
12
- ...wrangler
13
- }
14
- })],
15
- test: { include }
16
- });
17
- }
18
- const cloudflareWorkers = createCloudflareWorkersTestConfig();
19
- //#endregion
20
- export { cloudflareWorkers, createCloudflareWorkersTestConfig };
21
-
22
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/test/cloudflare-workers/index.ts"],"sourcesContent":["import type { UserConfig } from \"vite-plus\";\nimport { cloudflareTest } from \"@cloudflare/vitest-pool-workers\";\nimport { defineConfig } from \"vite-plus\";\nimport { DEFAULT_TEST_INCLUDE, 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 CloudflareWorkersTestConfigOptions extends Omit<\n CloudflareWorkersPluginOptions,\n \"wrangler\"\n> {\n include?: string[];\n wrangler?: CloudflareWorkersPluginOptions[\"wrangler\"];\n}\n\nexport function createCloudflareWorkersTestConfig(\n options: CloudflareWorkersTestConfigOptions = {},\n): UserConfig {\n const { include = [...DEFAULT_TEST_INCLUDE], wrangler, ...pluginOptions } = options;\n\n return defineConfig({\n plugins: [\n cloudflareTest({\n ...pluginOptions,\n wrangler: {\n configPath: DEFAULT_WRANGLER_CONFIG_PATH,\n ...wrangler,\n },\n }),\n ],\n test: {\n include,\n },\n });\n}\n\nexport const cloudflareWorkers: UserConfig = createCloudflareWorkersTestConfig();\n"],"mappings":";;;;AAkBA,SAAgB,kCACd,UAA8C,EAAE,EACpC;CACZ,MAAM,EAAE,UAAU,CAAC,GAAG,qBAAqB,EAAE,UAAU,GAAG,kBAAkB;AAE5E,QAAO,aAAa;EAClB,SAAS,CACP,eAAe;GACb,GAAG;GACH,UAAU;IACR,YAAY;IACZ,GAAG;IACJ;GACF,CAAC,CACH;EACD,MAAM,EACJ,SACD;EACF,CAAC;;AAGJ,MAAa,oBAAgC,mCAAmC"}