@zthun/janitor-build-config 19.4.3 → 19.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/vite.cjs CHANGED
@@ -55,40 +55,6 @@ function _define_property$3(obj, key, value) {
55
55
  }
56
56
  return obj;
57
57
  }
58
- function _object_spread$2(target) {
59
- for(var i = 1; i < arguments.length; i++){
60
- var source = arguments[i] != null ? arguments[i] : {};
61
- var ownKeys = Object.keys(source);
62
- if (typeof Object.getOwnPropertySymbols === "function") {
63
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
64
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
65
- }));
66
- }
67
- ownKeys.forEach(function(key) {
68
- _define_property$3(target, key, source[key]);
69
- });
70
- }
71
- return target;
72
- }
73
- function ownKeys$2(object, enumerableOnly) {
74
- var keys = Object.keys(object);
75
- if (Object.getOwnPropertySymbols) {
76
- var symbols = Object.getOwnPropertySymbols(object);
77
- keys.push.apply(keys, symbols);
78
- }
79
- return keys;
80
- }
81
- function _object_spread_props$2(target, source) {
82
- source = source != null ? source : {};
83
- if (Object.getOwnPropertyDescriptors) {
84
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
85
- } else {
86
- ownKeys$2(Object(source)).forEach(function(key) {
87
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
88
- });
89
- }
90
- return target;
91
- }
92
58
  /**
93
59
  * A builder for Vite library configurations.
94
60
  */ class ZViteLibraryBuilder {
@@ -103,9 +69,10 @@ function _object_spread_props$2(target, source) {
103
69
  * @returns
104
70
  * This object.
105
71
  */ entry(name, path) {
106
- this.library.entry = _object_spread_props$2(_object_spread$2({}, this.library.entry), {
72
+ this.library.entry = {
73
+ ...this.library.entry,
107
74
  [name]: path
108
- });
75
+ };
109
76
  return this;
110
77
  }
111
78
  /**
@@ -149,40 +116,6 @@ function _define_property$2(obj, key, value) {
149
116
  }
150
117
  return obj;
151
118
  }
152
- function _object_spread$1(target) {
153
- for(var i = 1; i < arguments.length; i++){
154
- var source = arguments[i] != null ? arguments[i] : {};
155
- var ownKeys = Object.keys(source);
156
- if (typeof Object.getOwnPropertySymbols === "function") {
157
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
158
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
159
- }));
160
- }
161
- ownKeys.forEach(function(key) {
162
- _define_property$2(target, key, source[key]);
163
- });
164
- }
165
- return target;
166
- }
167
- function ownKeys$1(object, enumerableOnly) {
168
- var keys = Object.keys(object);
169
- if (Object.getOwnPropertySymbols) {
170
- var symbols = Object.getOwnPropertySymbols(object);
171
- keys.push.apply(keys, symbols);
172
- }
173
- return keys;
174
- }
175
- function _object_spread_props$1(target, source) {
176
- source = source != null ? source : {};
177
- if (Object.getOwnPropertyDescriptors) {
178
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
179
- } else {
180
- ownKeys$1(Object(source)).forEach(function(key) {
181
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
182
- });
183
- }
184
- return target;
185
- }
186
119
  /**
187
120
  * A config builder for the vite build system.
188
121
  *
@@ -232,9 +165,10 @@ function _object_spread_props$1(target, source) {
232
165
  * @returns
233
166
  * This object.
234
167
  */ minify(minify = true) {
235
- this.config.build = _object_spread_props$1(_object_spread$1({}, this.config.build), {
168
+ this.config.build = {
169
+ ...this.config.build,
236
170
  minify
237
- });
171
+ };
238
172
  return this;
239
173
  }
240
174
  /**
@@ -261,9 +195,10 @@ function _object_spread_props$1(target, source) {
261
195
  * @returns
262
196
  * This object.
263
197
  */ sourceMap(sourcemap = true) {
264
- this.config.build = _object_spread_props$1(_object_spread$1({}, this.config.build), {
198
+ this.config.build = {
199
+ ...this.config.build,
265
200
  sourcemap
266
- });
201
+ };
267
202
  return this;
268
203
  }
269
204
  /**
@@ -307,9 +242,10 @@ function _object_spread_props$1(target, source) {
307
242
  * @returns
308
243
  * This object.
309
244
  */ library(lib = new ZViteLibraryBuilder().index().build()) {
310
- this.config.build = _object_spread_props$1(_object_spread$1({}, this.config.build), {
245
+ this.config.build = {
246
+ ...this.config.build,
311
247
  lib
312
- });
248
+ };
313
249
  const dts = dtsPlugin({
314
250
  compilerOptions: {
315
251
  // Always turn off paths when building for production. You want to make
@@ -486,40 +422,6 @@ function _define_property(obj, key, value) {
486
422
  }
487
423
  return obj;
488
424
  }
489
- function _object_spread(target) {
490
- for(var i = 1; i < arguments.length; i++){
491
- var source = arguments[i] != null ? arguments[i] : {};
492
- var ownKeys = Object.keys(source);
493
- if (typeof Object.getOwnPropertySymbols === "function") {
494
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
495
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
496
- }));
497
- }
498
- ownKeys.forEach(function(key) {
499
- _define_property(target, key, source[key]);
500
- });
501
- }
502
- return target;
503
- }
504
- function ownKeys(object, enumerableOnly) {
505
- var keys = Object.keys(object);
506
- if (Object.getOwnPropertySymbols) {
507
- var symbols = Object.getOwnPropertySymbols(object);
508
- keys.push.apply(keys, symbols);
509
- }
510
- return keys;
511
- }
512
- function _object_spread_props(target, source) {
513
- source = source != null ? source : {};
514
- if (Object.getOwnPropertyDescriptors) {
515
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
516
- } else {
517
- ownKeys(Object(source)).forEach(function(key) {
518
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
519
- });
520
- }
521
- return target;
522
- }
523
425
  /**
524
426
  * A builder for test configurations found in vite's defineConfig test field.
525
427
  */ class ZViteTestBuilder {
@@ -544,9 +446,10 @@ function _object_spread_props(target, source) {
544
446
  * @returns
545
447
  * This object.
546
448
  */ coverage(provider) {
547
- this.test.coverage = _object_spread_props(_object_spread({}, this.test.coverage), {
449
+ this.test.coverage = {
450
+ ...this.test.coverage,
548
451
  provider
549
- });
452
+ };
550
453
  return this;
551
454
  }
552
455
  /**
package/dist/vite.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.cjs","sources":["../src/plugin/vite-plugin-externalize-deps.ts","../src/vite/vite-library-builder.mts","../src/vite/vite-config-builder.mts","../src/vite/vite-server-builder.mts","../src/vite/vite-test-builder.mts"],"sourcesContent":["import { existsSync, readFileSync, type PathLike } from \"node:fs\";\nimport { builtinModules } from \"node:module\";\nimport { resolve } from \"node:path\";\nimport type { Plugin } from \"vite\";\n\n// Original source code from\n// https://github.com/davidmyersdev/vite-plugin-externalize-deps/blob/main/src/index.ts\n// It takes to long to get this plugin updated, so I just copied the source code into\n// here. I don't think this plugin is maintained much anymore. I've greatly reduced the\n// options from this to be just a basic check for stuff in your package.json and node\n// builtins.\n\nexport interface ExternalizeOptions {\n packageJson?: PathLike;\n}\n\nexport const externalizeDeps = (options: ExternalizeOptions = {}): Plugin => {\n const { packageJson = resolve(process.cwd(), \"package.json\") } = options;\n\n return {\n name: \"vite-plugin-externalize-deps\",\n config: () => {\n const externalDeps = new Set<RegExp>();\n\n if (!existsSync(packageJson)) {\n const context = \"janitor-build-config:externalizeDeps\";\n const msg = `[${context}] Could not find package.json at ${packageJson}.`;\n throw new Error(msg);\n }\n\n const contents = readFileSync(packageJson).toString();\n const {\n dependencies = [],\n devDependencies = [],\n optionalDependencies = [],\n peerDependencies = [],\n } = JSON.parse(contents);\n\n const push = externalDeps.add.bind(externalDeps);\n\n Object.keys(dependencies)\n .concat(Object.keys(devDependencies))\n .concat(Object.keys(optionalDependencies))\n .concat(Object.keys(peerDependencies))\n .map((dep) => new RegExp(`^${dep}(?:/.+)?$`))\n .forEach(push);\n\n builtinModules\n .map((module) => new RegExp(`^(?:node:)?${module}$`))\n .forEach(push);\n\n const depMatchers = Array.from(externalDeps);\n\n return {\n build: {\n rollupOptions: {\n external: (source) => {\n return depMatchers.some((depMatcher) => depMatcher.test(source));\n },\n },\n },\n };\n },\n };\n};\n","import { cloneDeep } from \"lodash-es\";\nimport type { LibraryOptions } from \"vite\";\n\n/**\n * A builder for Vite library configurations.\n */\nexport class ZViteLibraryBuilder {\n private library: LibraryOptions = {\n entry: {},\n formats: [\"es\", \"cjs\"],\n };\n\n /**\n * Adds an entry point to the library.\n *\n * @param name -\n * The name of the entry point.\n * @param path -\n * The path to the entry point file.\n *\n * @returns\n * This object.\n */\n public entry(name: string, path: string) {\n this.library.entry = {\n ...(this.library.entry as Record<string, string>),\n [name]: path,\n };\n return this;\n }\n\n /**\n * A shorthand for adding an entry point\n * named \"index\" that points to \"src/index.ts\"\n *\n * @returns\n * This object.\n */\n public index() {\n return this.entry(\"index\", \"./src/index.mts\");\n }\n\n /**\n * Returns the built library configuration.\n *\n * @returns\n * A deep clone of the library configuration.\n */\n public build() {\n return cloneDeep(this.library);\n }\n}\n","import react from \"@vitejs/plugin-react\";\nimport { castArray, cloneDeep } from \"lodash-es\";\nimport swc from \"unplugin-swc\";\nimport type { LibraryOptions, PluginOption, ServerOptions } from \"vite\";\nimport { checker } from \"vite-plugin-checker\";\nimport dtsPlugin from \"vite-plugin-dts\";\nimport tsConfigPaths from \"vite-tsconfig-paths\";\nimport type { ViteUserConfig } from \"vitest/config\";\nimport type { InlineConfig } from \"vitest/node\";\nimport { externalizeDeps } from \"../plugin/vite-plugin-externalize-deps.js\";\nimport { ZViteLibraryBuilder } from \"./vite-library-builder.mjs\";\n\n/**\n * A config builder for the vite build system.\n *\n * This is helpful when building different types\n * of projects and keeping a standard.\n *\n * @example vite.config.ts\n *\n * ```ts\n * // Before Config Builder\n * export default defineConfig({\n * build: {\n * lib: {\n * entry: {\n * index: \"./src/index.ts\",\n * },\n * formats: [\"cjs\", \"es\"],\n * },\n * },\n * minify: false,\n * sourceMap: true,\n * plugins: [\n * swc.vite(),\n * tsConfigPaths(),\n * externalizeDeps(),\n * dtsPlugin({\n * compilerOptions: {\n * paths: {},\n * },\n * }),\n * ],\n * });\n * ```\n *\n * ```ts\n * // After config builder\n * const config = new ZViteConfigBuilder().library().build();\n * export default defineConfig(config);\n * ```\n */\nexport class ZViteConfigBuilder {\n private config: ViteUserConfig;\n\n /**\n * Initializes a new instance of this object.\n */\n public constructor() {\n this.config = {\n build: {\n minify: false,\n sourcemap: true,\n },\n plugins: [\n swc.vite({\n jsc: {\n transform: {\n react: {\n runtime: \"automatic\",\n },\n },\n },\n }),\n tsConfigPaths(),\n ],\n };\n }\n\n /**\n * Sets whether to minify the build output.\n *\n * @param minify -\n * The flag as to minify the output.\n *\n * @returns\n * This object.\n */\n public minify(minify = true) {\n this.config.build = { ...this.config.build, minify };\n return this;\n }\n\n /**\n * Adds a list of plugins.\n *\n * @param option -\n * The plugins to add.\n *\n * @returns\n * This object.\n */\n public plugin(option: PluginOption | PluginOption[] = []) {\n // See constructor - the config plugins are guaranteed to\n // be set. The swc and paths plugins are automatically added.\n const plugins = this.config.plugins!;\n this.config.plugins = plugins.concat(castArray(option));\n return this;\n }\n\n /**\n * Sets whether to generate source maps.\n *\n * @param sourcemap -\n * True to generate a sourcemap, false for faster build.\n *\n * @returns\n * This object.\n */\n public sourceMap(sourcemap = true) {\n this.config.build = { ...this.config.build, sourcemap };\n return this;\n }\n\n /**\n * Adds an alias to the resolution options.\n *\n * @param key -\n * The name of the package to alias\n * @param value -\n * The alias resolution\n *\n * @returns\n * This object.\n */\n public alias(key: string, value: string) {\n this.config.resolve = this.config.resolve || {};\n this.config.resolve.alias = this.config.resolve.alias || {};\n this.config.resolve.alias[key] = value;\n return this;\n }\n\n /**\n * Adds an alias for lodash to lodash-es.\n *\n * @returns\n * This object.\n */\n public lodash = this.alias.bind(this, \"lodash\", \"lodash-es\");\n\n /**\n * Assigns the server options.\n *\n * @param options -\n * The server options to assign.\n *\n * @returns\n * This object.\n */\n public server(options: ServerOptions) {\n this.config.server = cloneDeep(options);\n return this;\n }\n\n /**\n * Sets vite into library mode.\n *\n * @param lib -\n * The options for the library. You can set this to\n * nothing to use the default library which looks for\n * an entry point at the source directory called index.ts\n *\n * @see {@link ZViteLibraryBuilder} for more information.\n *\n * @returns\n * This object.\n */\n public library(\n lib: LibraryOptions = new ZViteLibraryBuilder().index().build(),\n ) {\n this.config.build = { ...this.config.build, lib };\n\n const dts = dtsPlugin({\n compilerOptions: {\n // Always turn off paths when building for production. You want to make\n // sure that your build is building in the correct order and that your\n // actual paths are correct.\n paths: {},\n },\n // Make sure to exclude spec and test files.\n exclude: [\"**/*.{spec,test}.{js,mjs,cjs,ts,mts,jsx,tsx}\"],\n });\n const external = externalizeDeps();\n\n return this.plugin(external).plugin(dts);\n }\n\n /**\n * Constructs the config to act as if it's compiling a node application.\n *\n * This is just an alias to {@link ZViteConfigBuilder.library} with two\n * entry points.\n *\n * 1. The file src/cli.ts is the main entry point of the application.\n * 1. The file, src/index.ts, is the api for importing and using it as an api.\n *\n * @returns\n * This object.\n */\n public cli() {\n // A cli works similar to a library.\n const library = new ZViteLibraryBuilder()\n .entry(\"index\", \"src/index.mts\")\n .entry(\"cli\", \"src/cli.mts\")\n .build();\n return this.library(library);\n }\n\n /**\n * Constructs the config to act as if it's compiling a nest application.\n *\n * This is just an alias to {@link ZViteConfigBuilder.library} with a single\n * entry point.\n *\n * 1. The file, src/main.mts\n *\n * @returns\n * This object.\n */\n public nest() {\n const library = new ZViteLibraryBuilder()\n .entry(\"main\", \"src/main.mts\")\n .build();\n return this.library(library);\n }\n\n /**\n * Constructs the config to act as if it's compiling a web application.\n *\n * @returns\n * This object.\n */\n public web() {\n return this.minify()\n .sourceMap(false)\n .plugin(checker({ typescript: true }));\n }\n\n /**\n * Constructs the config to compile a react application.\n *\n * @returns\n * This object.\n */\n public react() {\n return this.web().plugin(react());\n }\n\n /**\n * Constructs the config to be for testing.\n *\n * @param options -\n * The test config to use.\n */\n public test(options: InlineConfig) {\n this.config.test = options;\n return this;\n }\n\n /**\n * Returns the currently built config.\n *\n * @returns\n * The currently built config.\n */\n public build() {\n return cloneDeep(this.config);\n }\n}\n","import { cloneDeep, isUndefined, omitBy } from \"lodash-es\";\nimport type { ServerOptions } from \"vite\";\n\nexport class ZViteServerBuilder {\n private options: ServerOptions = {};\n\n public allowedHost(name: string | string[] | true) {\n if (name === true) {\n this.options.allowedHosts = true;\n } else if (this.options.allowedHosts !== true) {\n const hosts = this.options.allowedHosts || [];\n this.options.allowedHosts = hosts.concat(name);\n }\n\n return this;\n }\n\n public denyAllHosts() {\n delete this.options.allowedHosts;\n return this;\n }\n\n public port(port?: number) {\n this.options.port = port;\n return this;\n }\n\n public strictPort() {\n this.options.strictPort = true;\n return this;\n }\n\n public host(ip: string) {\n this.options.host = ip;\n return this;\n }\n\n public localhost = this.host.bind(this, \"127.0.0.1\");\n\n public dev() {\n return this.strictPort().host(\"0.0.0.0\").allowedHost(true);\n }\n\n public build() {\n const clone = cloneDeep(this.options);\n return omitBy<ServerOptions>(clone, isUndefined) as ServerOptions;\n }\n}\n","import { cloneDeep } from \"lodash-es\";\nimport type { InlineConfig, VitestEnvironment } from \"vitest/node\";\n\n/**\n * A builder for test configurations found in vite's defineConfig test field.\n */\nexport class ZViteTestBuilder {\n private test: InlineConfig;\n\n /**\n * Initializes a new instance of this object.\n */\n public constructor() {\n this.test = {\n environment: \"node\",\n testTimeout: 30000,\n coverage: {\n provider: \"v8\",\n },\n };\n }\n\n /**\n * Sets the test environment.\n *\n * @param environment -\n * The test environment to use.\n *\n * @returns\n * This object.\n */\n public environment(environment: VitestEnvironment) {\n this.test.environment = environment;\n return this;\n }\n\n /**\n * Sets the test environment to \"node\".\n *\n * @returns\n * This object.\n */\n public node = this.environment.bind(this, \"node\");\n\n /**\n * Sets the test environment to \"happy-dom\".\n *\n * @returns\n * This object.\n */\n public browser = this.environment.bind(this, \"happy-dom\");\n\n /**\n * Sets the test coverage provider.\n *\n * @param provider -\n * The test coverage provider to use.\n *\n * @returns\n * This object.\n */\n public coverage(provider: \"v8\" | \"istanbul\") {\n this.test.coverage = { ...this.test.coverage, provider };\n return this;\n }\n\n /**\n * Sets the test coverage provider to \"v8\".\n *\n * @returns\n * This object.\n */\n public v8 = this.coverage.bind(this, \"v8\");\n\n /**\n * Sets the test coverage provider to \"istanbul\".\n *\n * @returns\n * This object.\n */\n public istanbul = this.coverage.bind(this, \"istanbul\");\n\n /**\n * Adds to the list of projects.\n *\n * @param project -\n * The list of projects.\n *\n * @returns\n * This object.\n */\n public project(project: string | string[] = []) {\n const projects = this.test.projects || [];\n this.test.projects = projects.concat(project);\n return this;\n }\n\n /**\n * Adds monorepo support to the test builder.\n *\n * @param packages -\n * The path to the package directory.\n *\n * @returns\n * This object.\n */\n public monorepo(packages = \"packages\") {\n return this.project(`${packages}/*/vite.config.{js,cjs,mjs,ts,mts}`);\n }\n\n /**\n * This sets the max concurrency to one and resets\n * the environment after every test.\n *\n * Use this in the case that you want to have\n * strategic tests that can step over one another. For example,\n * writing to the file system and deleting from the file system\n * can have race conditions. If your app or library tests heavily\n * depend on those operations, then you should run your tests serially.\n *\n * @returns\n * This object.\n */\n public runSerially() {\n this.test.fileParallelism = false;\n this.test.maxConcurrency = 1;\n this.test.isolate = true;\n\n return this;\n }\n\n /**\n * Returns the built test configuration.\n *\n * @returns\n * A deep clone of the test configuration.\n */\n public build() {\n return cloneDeep(this.test);\n }\n}\n"],"names":["externalizeDeps","options","packageJson","resolve","process","cwd","name","config","externalDeps","Set","existsSync","context","msg","Error","contents","readFileSync","toString","dependencies","devDependencies","optionalDependencies","peerDependencies","JSON","parse","push","add","bind","Object","keys","concat","map","dep","RegExp","forEach","builtinModules","module","depMatchers","Array","from","build","rollupOptions","external","source","some","depMatcher","test","ZViteLibraryBuilder","entry","path","library","_object_spread_props","index","cloneDeep","_define_property","formats","ZViteConfigBuilder","minify","plugin","option","plugins","castArray","sourceMap","sourcemap","alias","key","value","server","lib","dts","dtsPlugin","compilerOptions","paths","exclude","cli","nest","web","checker","typescript","react","lodash","swc","vite","jsc","transform","runtime","tsConfigPaths","ZViteServerBuilder","allowedHost","allowedHosts","hosts","denyAllHosts","port","strictPort","host","ip","dev","clone","omitBy","isUndefined","localhost","ZViteTestBuilder","environment","coverage","provider","project","projects","monorepo","packages","runSerially","fileParallelism","maxConcurrency","isolate","node","browser","v8","istanbul","testTimeout"],"mappings":"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"}
1
+ {"version":3,"file":"vite.cjs","sources":["../src/plugin/vite-plugin-externalize-deps.ts","../src/vite/vite-library-builder.mts","../src/vite/vite-config-builder.mts","../src/vite/vite-server-builder.mts","../src/vite/vite-test-builder.mts"],"sourcesContent":["import { existsSync, readFileSync, type PathLike } from \"node:fs\";\nimport { builtinModules } from \"node:module\";\nimport { resolve } from \"node:path\";\nimport type { Plugin } from \"vite\";\n\n// Original source code from\n// https://github.com/davidmyersdev/vite-plugin-externalize-deps/blob/main/src/index.ts\n// It takes to long to get this plugin updated, so I just copied the source code into\n// here. I don't think this plugin is maintained much anymore. I've greatly reduced the\n// options from this to be just a basic check for stuff in your package.json and node\n// builtins.\n\nexport interface ExternalizeOptions {\n packageJson?: PathLike;\n}\n\nexport const externalizeDeps = (options: ExternalizeOptions = {}): Plugin => {\n const { packageJson = resolve(process.cwd(), \"package.json\") } = options;\n\n return {\n name: \"vite-plugin-externalize-deps\",\n config: () => {\n const externalDeps = new Set<RegExp>();\n\n if (!existsSync(packageJson)) {\n const context = \"janitor-build-config:externalizeDeps\";\n const msg = `[${context}] Could not find package.json at ${packageJson}.`;\n throw new Error(msg);\n }\n\n const contents = readFileSync(packageJson).toString();\n const {\n dependencies = [],\n devDependencies = [],\n optionalDependencies = [],\n peerDependencies = [],\n } = JSON.parse(contents);\n\n const push = externalDeps.add.bind(externalDeps);\n\n Object.keys(dependencies)\n .concat(Object.keys(devDependencies))\n .concat(Object.keys(optionalDependencies))\n .concat(Object.keys(peerDependencies))\n .map((dep) => new RegExp(`^${dep}(?:/.+)?$`))\n .forEach(push);\n\n builtinModules\n .map((module) => new RegExp(`^(?:node:)?${module}$`))\n .forEach(push);\n\n const depMatchers = Array.from(externalDeps);\n\n return {\n build: {\n rollupOptions: {\n external: (source) => {\n return depMatchers.some((depMatcher) => depMatcher.test(source));\n },\n },\n },\n };\n },\n };\n};\n","import { cloneDeep } from \"lodash-es\";\nimport type { LibraryOptions } from \"vite\";\n\n/**\n * A builder for Vite library configurations.\n */\nexport class ZViteLibraryBuilder {\n private library: LibraryOptions = {\n entry: {},\n formats: [\"es\", \"cjs\"],\n };\n\n /**\n * Adds an entry point to the library.\n *\n * @param name -\n * The name of the entry point.\n * @param path -\n * The path to the entry point file.\n *\n * @returns\n * This object.\n */\n public entry(name: string, path: string) {\n this.library.entry = {\n ...(this.library.entry as Record<string, string>),\n [name]: path,\n };\n return this;\n }\n\n /**\n * A shorthand for adding an entry point\n * named \"index\" that points to \"src/index.ts\"\n *\n * @returns\n * This object.\n */\n public index() {\n return this.entry(\"index\", \"./src/index.mts\");\n }\n\n /**\n * Returns the built library configuration.\n *\n * @returns\n * A deep clone of the library configuration.\n */\n public build() {\n return cloneDeep(this.library);\n }\n}\n","import react from \"@vitejs/plugin-react\";\nimport { castArray, cloneDeep } from \"lodash-es\";\nimport swc from \"unplugin-swc\";\nimport type { LibraryOptions, PluginOption, ServerOptions } from \"vite\";\nimport { checker } from \"vite-plugin-checker\";\nimport dtsPlugin from \"vite-plugin-dts\";\nimport tsConfigPaths from \"vite-tsconfig-paths\";\nimport type { ViteUserConfig } from \"vitest/config\";\nimport type { InlineConfig } from \"vitest/node\";\nimport { externalizeDeps } from \"../plugin/vite-plugin-externalize-deps.js\";\nimport { ZViteLibraryBuilder } from \"./vite-library-builder.mjs\";\n\n/**\n * A config builder for the vite build system.\n *\n * This is helpful when building different types\n * of projects and keeping a standard.\n *\n * @example vite.config.ts\n *\n * ```ts\n * // Before Config Builder\n * export default defineConfig({\n * build: {\n * lib: {\n * entry: {\n * index: \"./src/index.ts\",\n * },\n * formats: [\"cjs\", \"es\"],\n * },\n * },\n * minify: false,\n * sourceMap: true,\n * plugins: [\n * swc.vite(),\n * tsConfigPaths(),\n * externalizeDeps(),\n * dtsPlugin({\n * compilerOptions: {\n * paths: {},\n * },\n * }),\n * ],\n * });\n * ```\n *\n * ```ts\n * // After config builder\n * const config = new ZViteConfigBuilder().library().build();\n * export default defineConfig(config);\n * ```\n */\nexport class ZViteConfigBuilder {\n private config: ViteUserConfig;\n\n /**\n * Initializes a new instance of this object.\n */\n public constructor() {\n this.config = {\n build: {\n minify: false,\n sourcemap: true,\n },\n plugins: [\n swc.vite({\n jsc: {\n transform: {\n react: {\n runtime: \"automatic\",\n },\n },\n },\n }),\n tsConfigPaths(),\n ],\n };\n }\n\n /**\n * Sets whether to minify the build output.\n *\n * @param minify -\n * The flag as to minify the output.\n *\n * @returns\n * This object.\n */\n public minify(minify = true) {\n this.config.build = { ...this.config.build, minify };\n return this;\n }\n\n /**\n * Adds a list of plugins.\n *\n * @param option -\n * The plugins to add.\n *\n * @returns\n * This object.\n */\n public plugin(option: PluginOption | PluginOption[] = []) {\n // See constructor - the config plugins are guaranteed to\n // be set. The swc and paths plugins are automatically added.\n const plugins = this.config.plugins!;\n this.config.plugins = plugins.concat(castArray(option));\n return this;\n }\n\n /**\n * Sets whether to generate source maps.\n *\n * @param sourcemap -\n * True to generate a sourcemap, false for faster build.\n *\n * @returns\n * This object.\n */\n public sourceMap(sourcemap = true) {\n this.config.build = { ...this.config.build, sourcemap };\n return this;\n }\n\n /**\n * Adds an alias to the resolution options.\n *\n * @param key -\n * The name of the package to alias\n * @param value -\n * The alias resolution\n *\n * @returns\n * This object.\n */\n public alias(key: string, value: string) {\n this.config.resolve = this.config.resolve || {};\n this.config.resolve.alias = this.config.resolve.alias || {};\n this.config.resolve.alias[key] = value;\n return this;\n }\n\n /**\n * Adds an alias for lodash to lodash-es.\n *\n * @returns\n * This object.\n */\n public lodash = this.alias.bind(this, \"lodash\", \"lodash-es\");\n\n /**\n * Assigns the server options.\n *\n * @param options -\n * The server options to assign.\n *\n * @returns\n * This object.\n */\n public server(options: ServerOptions) {\n this.config.server = cloneDeep(options);\n return this;\n }\n\n /**\n * Sets vite into library mode.\n *\n * @param lib -\n * The options for the library. You can set this to\n * nothing to use the default library which looks for\n * an entry point at the source directory called index.ts\n *\n * @see {@link ZViteLibraryBuilder} for more information.\n *\n * @returns\n * This object.\n */\n public library(\n lib: LibraryOptions = new ZViteLibraryBuilder().index().build(),\n ) {\n this.config.build = { ...this.config.build, lib };\n\n const dts = dtsPlugin({\n compilerOptions: {\n // Always turn off paths when building for production. You want to make\n // sure that your build is building in the correct order and that your\n // actual paths are correct.\n paths: {},\n },\n // Make sure to exclude spec and test files.\n exclude: [\"**/*.{spec,test}.{js,mjs,cjs,ts,mts,jsx,tsx}\"],\n });\n const external = externalizeDeps();\n\n return this.plugin(external).plugin(dts);\n }\n\n /**\n * Constructs the config to act as if it's compiling a node application.\n *\n * This is just an alias to {@link ZViteConfigBuilder.library} with two\n * entry points.\n *\n * 1. The file src/cli.ts is the main entry point of the application.\n * 1. The file, src/index.ts, is the api for importing and using it as an api.\n *\n * @returns\n * This object.\n */\n public cli() {\n // A cli works similar to a library.\n const library = new ZViteLibraryBuilder()\n .entry(\"index\", \"src/index.mts\")\n .entry(\"cli\", \"src/cli.mts\")\n .build();\n return this.library(library);\n }\n\n /**\n * Constructs the config to act as if it's compiling a nest application.\n *\n * This is just an alias to {@link ZViteConfigBuilder.library} with a single\n * entry point.\n *\n * 1. The file, src/main.mts\n *\n * @returns\n * This object.\n */\n public nest() {\n const library = new ZViteLibraryBuilder()\n .entry(\"main\", \"src/main.mts\")\n .build();\n return this.library(library);\n }\n\n /**\n * Constructs the config to act as if it's compiling a web application.\n *\n * @returns\n * This object.\n */\n public web() {\n return this.minify()\n .sourceMap(false)\n .plugin(checker({ typescript: true }));\n }\n\n /**\n * Constructs the config to compile a react application.\n *\n * @returns\n * This object.\n */\n public react() {\n return this.web().plugin(react());\n }\n\n /**\n * Constructs the config to be for testing.\n *\n * @param options -\n * The test config to use.\n */\n public test(options: InlineConfig) {\n this.config.test = options;\n return this;\n }\n\n /**\n * Returns the currently built config.\n *\n * @returns\n * The currently built config.\n */\n public build() {\n return cloneDeep(this.config);\n }\n}\n","import { cloneDeep, isUndefined, omitBy } from \"lodash-es\";\nimport type { ServerOptions } from \"vite\";\n\nexport class ZViteServerBuilder {\n private options: ServerOptions = {};\n\n public allowedHost(name: string | string[] | true) {\n if (name === true) {\n this.options.allowedHosts = true;\n } else if (this.options.allowedHosts !== true) {\n const hosts = this.options.allowedHosts || [];\n this.options.allowedHosts = hosts.concat(name);\n }\n\n return this;\n }\n\n public denyAllHosts() {\n delete this.options.allowedHosts;\n return this;\n }\n\n public port(port?: number) {\n this.options.port = port;\n return this;\n }\n\n public strictPort() {\n this.options.strictPort = true;\n return this;\n }\n\n public host(ip: string) {\n this.options.host = ip;\n return this;\n }\n\n public localhost = this.host.bind(this, \"127.0.0.1\");\n\n public dev() {\n return this.strictPort().host(\"0.0.0.0\").allowedHost(true);\n }\n\n public build() {\n const clone = cloneDeep(this.options);\n return omitBy<ServerOptions>(clone, isUndefined) as ServerOptions;\n }\n}\n","import { cloneDeep } from \"lodash-es\";\nimport type { InlineConfig, VitestEnvironment } from \"vitest/node\";\n\n/**\n * A builder for test configurations found in vite's defineConfig test field.\n */\nexport class ZViteTestBuilder {\n private test: InlineConfig;\n\n /**\n * Initializes a new instance of this object.\n */\n public constructor() {\n this.test = {\n environment: \"node\",\n testTimeout: 30000,\n coverage: {\n provider: \"v8\",\n },\n };\n }\n\n /**\n * Sets the test environment.\n *\n * @param environment -\n * The test environment to use.\n *\n * @returns\n * This object.\n */\n public environment(environment: VitestEnvironment) {\n this.test.environment = environment;\n return this;\n }\n\n /**\n * Sets the test environment to \"node\".\n *\n * @returns\n * This object.\n */\n public node = this.environment.bind(this, \"node\");\n\n /**\n * Sets the test environment to \"happy-dom\".\n *\n * @returns\n * This object.\n */\n public browser = this.environment.bind(this, \"happy-dom\");\n\n /**\n * Sets the test coverage provider.\n *\n * @param provider -\n * The test coverage provider to use.\n *\n * @returns\n * This object.\n */\n public coverage(provider: \"v8\" | \"istanbul\") {\n this.test.coverage = { ...this.test.coverage, provider };\n return this;\n }\n\n /**\n * Sets the test coverage provider to \"v8\".\n *\n * @returns\n * This object.\n */\n public v8 = this.coverage.bind(this, \"v8\");\n\n /**\n * Sets the test coverage provider to \"istanbul\".\n *\n * @returns\n * This object.\n */\n public istanbul = this.coverage.bind(this, \"istanbul\");\n\n /**\n * Adds to the list of projects.\n *\n * @param project -\n * The list of projects.\n *\n * @returns\n * This object.\n */\n public project(project: string | string[] = []) {\n const projects = this.test.projects || [];\n this.test.projects = projects.concat(project);\n return this;\n }\n\n /**\n * Adds monorepo support to the test builder.\n *\n * @param packages -\n * The path to the package directory.\n *\n * @returns\n * This object.\n */\n public monorepo(packages = \"packages\") {\n return this.project(`${packages}/*/vite.config.{js,cjs,mjs,ts,mts}`);\n }\n\n /**\n * This sets the max concurrency to one and resets\n * the environment after every test.\n *\n * Use this in the case that you want to have\n * strategic tests that can step over one another. For example,\n * writing to the file system and deleting from the file system\n * can have race conditions. If your app or library tests heavily\n * depend on those operations, then you should run your tests serially.\n *\n * @returns\n * This object.\n */\n public runSerially() {\n this.test.fileParallelism = false;\n this.test.maxConcurrency = 1;\n this.test.isolate = true;\n\n return this;\n }\n\n /**\n * Returns the built test configuration.\n *\n * @returns\n * A deep clone of the test configuration.\n */\n public build() {\n return cloneDeep(this.test);\n }\n}\n"],"names":["externalizeDeps","options","packageJson","resolve","process","cwd","name","config","externalDeps","Set","existsSync","context","msg","Error","contents","readFileSync","toString","dependencies","devDependencies","optionalDependencies","peerDependencies","JSON","parse","push","add","bind","Object","keys","concat","map","dep","RegExp","forEach","builtinModules","module","depMatchers","Array","from","build","rollupOptions","external","source","some","depMatcher","test","ZViteLibraryBuilder","entry","path","library","index","cloneDeep","_define_property","formats","ZViteConfigBuilder","minify","plugin","option","plugins","castArray","sourceMap","sourcemap","alias","key","value","server","lib","dts","dtsPlugin","compilerOptions","paths","exclude","cli","nest","web","checker","typescript","react","lodash","swc","vite","jsc","transform","runtime","tsConfigPaths","ZViteServerBuilder","allowedHost","allowedHosts","hosts","denyAllHosts","port","strictPort","host","ip","dev","clone","omitBy","isUndefined","localhost","ZViteTestBuilder","environment","coverage","provider","project","projects","monorepo","packages","runSerially","fileParallelism","maxConcurrency","isolate","node","browser","v8","istanbul","testTimeout"],"mappings":"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"}
package/dist/vite.js CHANGED
@@ -51,40 +51,6 @@ function _define_property$3(obj, key, value) {
51
51
  }
52
52
  return obj;
53
53
  }
54
- function _object_spread$2(target) {
55
- for(var i = 1; i < arguments.length; i++){
56
- var source = arguments[i] != null ? arguments[i] : {};
57
- var ownKeys = Object.keys(source);
58
- if (typeof Object.getOwnPropertySymbols === "function") {
59
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
60
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
61
- }));
62
- }
63
- ownKeys.forEach(function(key) {
64
- _define_property$3(target, key, source[key]);
65
- });
66
- }
67
- return target;
68
- }
69
- function ownKeys$2(object, enumerableOnly) {
70
- var keys = Object.keys(object);
71
- if (Object.getOwnPropertySymbols) {
72
- var symbols = Object.getOwnPropertySymbols(object);
73
- keys.push.apply(keys, symbols);
74
- }
75
- return keys;
76
- }
77
- function _object_spread_props$2(target, source) {
78
- source = source != null ? source : {};
79
- if (Object.getOwnPropertyDescriptors) {
80
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
81
- } else {
82
- ownKeys$2(Object(source)).forEach(function(key) {
83
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
84
- });
85
- }
86
- return target;
87
- }
88
54
  /**
89
55
  * A builder for Vite library configurations.
90
56
  */ class ZViteLibraryBuilder {
@@ -99,9 +65,10 @@ function _object_spread_props$2(target, source) {
99
65
  * @returns
100
66
  * This object.
101
67
  */ entry(name, path) {
102
- this.library.entry = _object_spread_props$2(_object_spread$2({}, this.library.entry), {
68
+ this.library.entry = {
69
+ ...this.library.entry,
103
70
  [name]: path
104
- });
71
+ };
105
72
  return this;
106
73
  }
107
74
  /**
@@ -145,40 +112,6 @@ function _define_property$2(obj, key, value) {
145
112
  }
146
113
  return obj;
147
114
  }
148
- function _object_spread$1(target) {
149
- for(var i = 1; i < arguments.length; i++){
150
- var source = arguments[i] != null ? arguments[i] : {};
151
- var ownKeys = Object.keys(source);
152
- if (typeof Object.getOwnPropertySymbols === "function") {
153
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
154
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
155
- }));
156
- }
157
- ownKeys.forEach(function(key) {
158
- _define_property$2(target, key, source[key]);
159
- });
160
- }
161
- return target;
162
- }
163
- function ownKeys$1(object, enumerableOnly) {
164
- var keys = Object.keys(object);
165
- if (Object.getOwnPropertySymbols) {
166
- var symbols = Object.getOwnPropertySymbols(object);
167
- keys.push.apply(keys, symbols);
168
- }
169
- return keys;
170
- }
171
- function _object_spread_props$1(target, source) {
172
- source = source != null ? source : {};
173
- if (Object.getOwnPropertyDescriptors) {
174
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
175
- } else {
176
- ownKeys$1(Object(source)).forEach(function(key) {
177
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
178
- });
179
- }
180
- return target;
181
- }
182
115
  /**
183
116
  * A config builder for the vite build system.
184
117
  *
@@ -228,9 +161,10 @@ function _object_spread_props$1(target, source) {
228
161
  * @returns
229
162
  * This object.
230
163
  */ minify(minify = true) {
231
- this.config.build = _object_spread_props$1(_object_spread$1({}, this.config.build), {
164
+ this.config.build = {
165
+ ...this.config.build,
232
166
  minify
233
- });
167
+ };
234
168
  return this;
235
169
  }
236
170
  /**
@@ -257,9 +191,10 @@ function _object_spread_props$1(target, source) {
257
191
  * @returns
258
192
  * This object.
259
193
  */ sourceMap(sourcemap = true) {
260
- this.config.build = _object_spread_props$1(_object_spread$1({}, this.config.build), {
194
+ this.config.build = {
195
+ ...this.config.build,
261
196
  sourcemap
262
- });
197
+ };
263
198
  return this;
264
199
  }
265
200
  /**
@@ -303,9 +238,10 @@ function _object_spread_props$1(target, source) {
303
238
  * @returns
304
239
  * This object.
305
240
  */ library(lib = new ZViteLibraryBuilder().index().build()) {
306
- this.config.build = _object_spread_props$1(_object_spread$1({}, this.config.build), {
241
+ this.config.build = {
242
+ ...this.config.build,
307
243
  lib
308
- });
244
+ };
309
245
  const dts = dtsPlugin({
310
246
  compilerOptions: {
311
247
  // Always turn off paths when building for production. You want to make
@@ -482,40 +418,6 @@ function _define_property(obj, key, value) {
482
418
  }
483
419
  return obj;
484
420
  }
485
- function _object_spread(target) {
486
- for(var i = 1; i < arguments.length; i++){
487
- var source = arguments[i] != null ? arguments[i] : {};
488
- var ownKeys = Object.keys(source);
489
- if (typeof Object.getOwnPropertySymbols === "function") {
490
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
491
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
492
- }));
493
- }
494
- ownKeys.forEach(function(key) {
495
- _define_property(target, key, source[key]);
496
- });
497
- }
498
- return target;
499
- }
500
- function ownKeys(object, enumerableOnly) {
501
- var keys = Object.keys(object);
502
- if (Object.getOwnPropertySymbols) {
503
- var symbols = Object.getOwnPropertySymbols(object);
504
- keys.push.apply(keys, symbols);
505
- }
506
- return keys;
507
- }
508
- function _object_spread_props(target, source) {
509
- source = source != null ? source : {};
510
- if (Object.getOwnPropertyDescriptors) {
511
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
512
- } else {
513
- ownKeys(Object(source)).forEach(function(key) {
514
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
515
- });
516
- }
517
- return target;
518
- }
519
421
  /**
520
422
  * A builder for test configurations found in vite's defineConfig test field.
521
423
  */ class ZViteTestBuilder {
@@ -540,9 +442,10 @@ function _object_spread_props(target, source) {
540
442
  * @returns
541
443
  * This object.
542
444
  */ coverage(provider) {
543
- this.test.coverage = _object_spread_props(_object_spread({}, this.test.coverage), {
445
+ this.test.coverage = {
446
+ ...this.test.coverage,
544
447
  provider
545
- });
448
+ };
546
449
  return this;
547
450
  }
548
451
  /**
package/dist/vite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.js","sources":["../src/plugin/vite-plugin-externalize-deps.ts","../src/vite/vite-library-builder.mts","../src/vite/vite-config-builder.mts","../src/vite/vite-server-builder.mts","../src/vite/vite-test-builder.mts"],"sourcesContent":["import { existsSync, readFileSync, type PathLike } from \"node:fs\";\nimport { builtinModules } from \"node:module\";\nimport { resolve } from \"node:path\";\nimport type { Plugin } from \"vite\";\n\n// Original source code from\n// https://github.com/davidmyersdev/vite-plugin-externalize-deps/blob/main/src/index.ts\n// It takes to long to get this plugin updated, so I just copied the source code into\n// here. I don't think this plugin is maintained much anymore. I've greatly reduced the\n// options from this to be just a basic check for stuff in your package.json and node\n// builtins.\n\nexport interface ExternalizeOptions {\n packageJson?: PathLike;\n}\n\nexport const externalizeDeps = (options: ExternalizeOptions = {}): Plugin => {\n const { packageJson = resolve(process.cwd(), \"package.json\") } = options;\n\n return {\n name: \"vite-plugin-externalize-deps\",\n config: () => {\n const externalDeps = new Set<RegExp>();\n\n if (!existsSync(packageJson)) {\n const context = \"janitor-build-config:externalizeDeps\";\n const msg = `[${context}] Could not find package.json at ${packageJson}.`;\n throw new Error(msg);\n }\n\n const contents = readFileSync(packageJson).toString();\n const {\n dependencies = [],\n devDependencies = [],\n optionalDependencies = [],\n peerDependencies = [],\n } = JSON.parse(contents);\n\n const push = externalDeps.add.bind(externalDeps);\n\n Object.keys(dependencies)\n .concat(Object.keys(devDependencies))\n .concat(Object.keys(optionalDependencies))\n .concat(Object.keys(peerDependencies))\n .map((dep) => new RegExp(`^${dep}(?:/.+)?$`))\n .forEach(push);\n\n builtinModules\n .map((module) => new RegExp(`^(?:node:)?${module}$`))\n .forEach(push);\n\n const depMatchers = Array.from(externalDeps);\n\n return {\n build: {\n rollupOptions: {\n external: (source) => {\n return depMatchers.some((depMatcher) => depMatcher.test(source));\n },\n },\n },\n };\n },\n };\n};\n","import { cloneDeep } from \"lodash-es\";\nimport type { LibraryOptions } from \"vite\";\n\n/**\n * A builder for Vite library configurations.\n */\nexport class ZViteLibraryBuilder {\n private library: LibraryOptions = {\n entry: {},\n formats: [\"es\", \"cjs\"],\n };\n\n /**\n * Adds an entry point to the library.\n *\n * @param name -\n * The name of the entry point.\n * @param path -\n * The path to the entry point file.\n *\n * @returns\n * This object.\n */\n public entry(name: string, path: string) {\n this.library.entry = {\n ...(this.library.entry as Record<string, string>),\n [name]: path,\n };\n return this;\n }\n\n /**\n * A shorthand for adding an entry point\n * named \"index\" that points to \"src/index.ts\"\n *\n * @returns\n * This object.\n */\n public index() {\n return this.entry(\"index\", \"./src/index.mts\");\n }\n\n /**\n * Returns the built library configuration.\n *\n * @returns\n * A deep clone of the library configuration.\n */\n public build() {\n return cloneDeep(this.library);\n }\n}\n","import react from \"@vitejs/plugin-react\";\nimport { castArray, cloneDeep } from \"lodash-es\";\nimport swc from \"unplugin-swc\";\nimport type { LibraryOptions, PluginOption, ServerOptions } from \"vite\";\nimport { checker } from \"vite-plugin-checker\";\nimport dtsPlugin from \"vite-plugin-dts\";\nimport tsConfigPaths from \"vite-tsconfig-paths\";\nimport type { ViteUserConfig } from \"vitest/config\";\nimport type { InlineConfig } from \"vitest/node\";\nimport { externalizeDeps } from \"../plugin/vite-plugin-externalize-deps.js\";\nimport { ZViteLibraryBuilder } from \"./vite-library-builder.mjs\";\n\n/**\n * A config builder for the vite build system.\n *\n * This is helpful when building different types\n * of projects and keeping a standard.\n *\n * @example vite.config.ts\n *\n * ```ts\n * // Before Config Builder\n * export default defineConfig({\n * build: {\n * lib: {\n * entry: {\n * index: \"./src/index.ts\",\n * },\n * formats: [\"cjs\", \"es\"],\n * },\n * },\n * minify: false,\n * sourceMap: true,\n * plugins: [\n * swc.vite(),\n * tsConfigPaths(),\n * externalizeDeps(),\n * dtsPlugin({\n * compilerOptions: {\n * paths: {},\n * },\n * }),\n * ],\n * });\n * ```\n *\n * ```ts\n * // After config builder\n * const config = new ZViteConfigBuilder().library().build();\n * export default defineConfig(config);\n * ```\n */\nexport class ZViteConfigBuilder {\n private config: ViteUserConfig;\n\n /**\n * Initializes a new instance of this object.\n */\n public constructor() {\n this.config = {\n build: {\n minify: false,\n sourcemap: true,\n },\n plugins: [\n swc.vite({\n jsc: {\n transform: {\n react: {\n runtime: \"automatic\",\n },\n },\n },\n }),\n tsConfigPaths(),\n ],\n };\n }\n\n /**\n * Sets whether to minify the build output.\n *\n * @param minify -\n * The flag as to minify the output.\n *\n * @returns\n * This object.\n */\n public minify(minify = true) {\n this.config.build = { ...this.config.build, minify };\n return this;\n }\n\n /**\n * Adds a list of plugins.\n *\n * @param option -\n * The plugins to add.\n *\n * @returns\n * This object.\n */\n public plugin(option: PluginOption | PluginOption[] = []) {\n // See constructor - the config plugins are guaranteed to\n // be set. The swc and paths plugins are automatically added.\n const plugins = this.config.plugins!;\n this.config.plugins = plugins.concat(castArray(option));\n return this;\n }\n\n /**\n * Sets whether to generate source maps.\n *\n * @param sourcemap -\n * True to generate a sourcemap, false for faster build.\n *\n * @returns\n * This object.\n */\n public sourceMap(sourcemap = true) {\n this.config.build = { ...this.config.build, sourcemap };\n return this;\n }\n\n /**\n * Adds an alias to the resolution options.\n *\n * @param key -\n * The name of the package to alias\n * @param value -\n * The alias resolution\n *\n * @returns\n * This object.\n */\n public alias(key: string, value: string) {\n this.config.resolve = this.config.resolve || {};\n this.config.resolve.alias = this.config.resolve.alias || {};\n this.config.resolve.alias[key] = value;\n return this;\n }\n\n /**\n * Adds an alias for lodash to lodash-es.\n *\n * @returns\n * This object.\n */\n public lodash = this.alias.bind(this, \"lodash\", \"lodash-es\");\n\n /**\n * Assigns the server options.\n *\n * @param options -\n * The server options to assign.\n *\n * @returns\n * This object.\n */\n public server(options: ServerOptions) {\n this.config.server = cloneDeep(options);\n return this;\n }\n\n /**\n * Sets vite into library mode.\n *\n * @param lib -\n * The options for the library. You can set this to\n * nothing to use the default library which looks for\n * an entry point at the source directory called index.ts\n *\n * @see {@link ZViteLibraryBuilder} for more information.\n *\n * @returns\n * This object.\n */\n public library(\n lib: LibraryOptions = new ZViteLibraryBuilder().index().build(),\n ) {\n this.config.build = { ...this.config.build, lib };\n\n const dts = dtsPlugin({\n compilerOptions: {\n // Always turn off paths when building for production. You want to make\n // sure that your build is building in the correct order and that your\n // actual paths are correct.\n paths: {},\n },\n // Make sure to exclude spec and test files.\n exclude: [\"**/*.{spec,test}.{js,mjs,cjs,ts,mts,jsx,tsx}\"],\n });\n const external = externalizeDeps();\n\n return this.plugin(external).plugin(dts);\n }\n\n /**\n * Constructs the config to act as if it's compiling a node application.\n *\n * This is just an alias to {@link ZViteConfigBuilder.library} with two\n * entry points.\n *\n * 1. The file src/cli.ts is the main entry point of the application.\n * 1. The file, src/index.ts, is the api for importing and using it as an api.\n *\n * @returns\n * This object.\n */\n public cli() {\n // A cli works similar to a library.\n const library = new ZViteLibraryBuilder()\n .entry(\"index\", \"src/index.mts\")\n .entry(\"cli\", \"src/cli.mts\")\n .build();\n return this.library(library);\n }\n\n /**\n * Constructs the config to act as if it's compiling a nest application.\n *\n * This is just an alias to {@link ZViteConfigBuilder.library} with a single\n * entry point.\n *\n * 1. The file, src/main.mts\n *\n * @returns\n * This object.\n */\n public nest() {\n const library = new ZViteLibraryBuilder()\n .entry(\"main\", \"src/main.mts\")\n .build();\n return this.library(library);\n }\n\n /**\n * Constructs the config to act as if it's compiling a web application.\n *\n * @returns\n * This object.\n */\n public web() {\n return this.minify()\n .sourceMap(false)\n .plugin(checker({ typescript: true }));\n }\n\n /**\n * Constructs the config to compile a react application.\n *\n * @returns\n * This object.\n */\n public react() {\n return this.web().plugin(react());\n }\n\n /**\n * Constructs the config to be for testing.\n *\n * @param options -\n * The test config to use.\n */\n public test(options: InlineConfig) {\n this.config.test = options;\n return this;\n }\n\n /**\n * Returns the currently built config.\n *\n * @returns\n * The currently built config.\n */\n public build() {\n return cloneDeep(this.config);\n }\n}\n","import { cloneDeep, isUndefined, omitBy } from \"lodash-es\";\nimport type { ServerOptions } from \"vite\";\n\nexport class ZViteServerBuilder {\n private options: ServerOptions = {};\n\n public allowedHost(name: string | string[] | true) {\n if (name === true) {\n this.options.allowedHosts = true;\n } else if (this.options.allowedHosts !== true) {\n const hosts = this.options.allowedHosts || [];\n this.options.allowedHosts = hosts.concat(name);\n }\n\n return this;\n }\n\n public denyAllHosts() {\n delete this.options.allowedHosts;\n return this;\n }\n\n public port(port?: number) {\n this.options.port = port;\n return this;\n }\n\n public strictPort() {\n this.options.strictPort = true;\n return this;\n }\n\n public host(ip: string) {\n this.options.host = ip;\n return this;\n }\n\n public localhost = this.host.bind(this, \"127.0.0.1\");\n\n public dev() {\n return this.strictPort().host(\"0.0.0.0\").allowedHost(true);\n }\n\n public build() {\n const clone = cloneDeep(this.options);\n return omitBy<ServerOptions>(clone, isUndefined) as ServerOptions;\n }\n}\n","import { cloneDeep } from \"lodash-es\";\nimport type { InlineConfig, VitestEnvironment } from \"vitest/node\";\n\n/**\n * A builder for test configurations found in vite's defineConfig test field.\n */\nexport class ZViteTestBuilder {\n private test: InlineConfig;\n\n /**\n * Initializes a new instance of this object.\n */\n public constructor() {\n this.test = {\n environment: \"node\",\n testTimeout: 30000,\n coverage: {\n provider: \"v8\",\n },\n };\n }\n\n /**\n * Sets the test environment.\n *\n * @param environment -\n * The test environment to use.\n *\n * @returns\n * This object.\n */\n public environment(environment: VitestEnvironment) {\n this.test.environment = environment;\n return this;\n }\n\n /**\n * Sets the test environment to \"node\".\n *\n * @returns\n * This object.\n */\n public node = this.environment.bind(this, \"node\");\n\n /**\n * Sets the test environment to \"happy-dom\".\n *\n * @returns\n * This object.\n */\n public browser = this.environment.bind(this, \"happy-dom\");\n\n /**\n * Sets the test coverage provider.\n *\n * @param provider -\n * The test coverage provider to use.\n *\n * @returns\n * This object.\n */\n public coverage(provider: \"v8\" | \"istanbul\") {\n this.test.coverage = { ...this.test.coverage, provider };\n return this;\n }\n\n /**\n * Sets the test coverage provider to \"v8\".\n *\n * @returns\n * This object.\n */\n public v8 = this.coverage.bind(this, \"v8\");\n\n /**\n * Sets the test coverage provider to \"istanbul\".\n *\n * @returns\n * This object.\n */\n public istanbul = this.coverage.bind(this, \"istanbul\");\n\n /**\n * Adds to the list of projects.\n *\n * @param project -\n * The list of projects.\n *\n * @returns\n * This object.\n */\n public project(project: string | string[] = []) {\n const projects = this.test.projects || [];\n this.test.projects = projects.concat(project);\n return this;\n }\n\n /**\n * Adds monorepo support to the test builder.\n *\n * @param packages -\n * The path to the package directory.\n *\n * @returns\n * This object.\n */\n public monorepo(packages = \"packages\") {\n return this.project(`${packages}/*/vite.config.{js,cjs,mjs,ts,mts}`);\n }\n\n /**\n * This sets the max concurrency to one and resets\n * the environment after every test.\n *\n * Use this in the case that you want to have\n * strategic tests that can step over one another. For example,\n * writing to the file system and deleting from the file system\n * can have race conditions. If your app or library tests heavily\n * depend on those operations, then you should run your tests serially.\n *\n * @returns\n * This object.\n */\n public runSerially() {\n this.test.fileParallelism = false;\n this.test.maxConcurrency = 1;\n this.test.isolate = true;\n\n return this;\n }\n\n /**\n * Returns the built test configuration.\n *\n * @returns\n * A deep clone of the test configuration.\n */\n public build() {\n return cloneDeep(this.test);\n }\n}\n"],"names":["externalizeDeps","options","packageJson","resolve","process","cwd","name","config","externalDeps","Set","existsSync","context","msg","Error","contents","readFileSync","toString","dependencies","devDependencies","optionalDependencies","peerDependencies","JSON","parse","push","add","bind","Object","keys","concat","map","dep","RegExp","forEach","builtinModules","module","depMatchers","Array","from","build","rollupOptions","external","source","some","depMatcher","test","ZViteLibraryBuilder","entry","path","library","_object_spread_props","index","cloneDeep","_define_property","formats","ZViteConfigBuilder","minify","plugin","option","plugins","castArray","sourceMap","sourcemap","alias","key","value","server","lib","dts","dtsPlugin","compilerOptions","paths","exclude","cli","nest","web","checker","typescript","react","lodash","swc","vite","jsc","transform","runtime","tsConfigPaths","ZViteServerBuilder","allowedHost","allowedHosts","hosts","denyAllHosts","port","strictPort","host","ip","dev","clone","omitBy","isUndefined","localhost","ZViteTestBuilder","environment","coverage","provider","project","projects","monorepo","packages","runSerially","fileParallelism","maxConcurrency","isolate","node","browser","v8","istanbul","testTimeout"],"mappings":"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"}
1
+ {"version":3,"file":"vite.js","sources":["../src/plugin/vite-plugin-externalize-deps.ts","../src/vite/vite-library-builder.mts","../src/vite/vite-config-builder.mts","../src/vite/vite-server-builder.mts","../src/vite/vite-test-builder.mts"],"sourcesContent":["import { existsSync, readFileSync, type PathLike } from \"node:fs\";\nimport { builtinModules } from \"node:module\";\nimport { resolve } from \"node:path\";\nimport type { Plugin } from \"vite\";\n\n// Original source code from\n// https://github.com/davidmyersdev/vite-plugin-externalize-deps/blob/main/src/index.ts\n// It takes to long to get this plugin updated, so I just copied the source code into\n// here. I don't think this plugin is maintained much anymore. I've greatly reduced the\n// options from this to be just a basic check for stuff in your package.json and node\n// builtins.\n\nexport interface ExternalizeOptions {\n packageJson?: PathLike;\n}\n\nexport const externalizeDeps = (options: ExternalizeOptions = {}): Plugin => {\n const { packageJson = resolve(process.cwd(), \"package.json\") } = options;\n\n return {\n name: \"vite-plugin-externalize-deps\",\n config: () => {\n const externalDeps = new Set<RegExp>();\n\n if (!existsSync(packageJson)) {\n const context = \"janitor-build-config:externalizeDeps\";\n const msg = `[${context}] Could not find package.json at ${packageJson}.`;\n throw new Error(msg);\n }\n\n const contents = readFileSync(packageJson).toString();\n const {\n dependencies = [],\n devDependencies = [],\n optionalDependencies = [],\n peerDependencies = [],\n } = JSON.parse(contents);\n\n const push = externalDeps.add.bind(externalDeps);\n\n Object.keys(dependencies)\n .concat(Object.keys(devDependencies))\n .concat(Object.keys(optionalDependencies))\n .concat(Object.keys(peerDependencies))\n .map((dep) => new RegExp(`^${dep}(?:/.+)?$`))\n .forEach(push);\n\n builtinModules\n .map((module) => new RegExp(`^(?:node:)?${module}$`))\n .forEach(push);\n\n const depMatchers = Array.from(externalDeps);\n\n return {\n build: {\n rollupOptions: {\n external: (source) => {\n return depMatchers.some((depMatcher) => depMatcher.test(source));\n },\n },\n },\n };\n },\n };\n};\n","import { cloneDeep } from \"lodash-es\";\nimport type { LibraryOptions } from \"vite\";\n\n/**\n * A builder for Vite library configurations.\n */\nexport class ZViteLibraryBuilder {\n private library: LibraryOptions = {\n entry: {},\n formats: [\"es\", \"cjs\"],\n };\n\n /**\n * Adds an entry point to the library.\n *\n * @param name -\n * The name of the entry point.\n * @param path -\n * The path to the entry point file.\n *\n * @returns\n * This object.\n */\n public entry(name: string, path: string) {\n this.library.entry = {\n ...(this.library.entry as Record<string, string>),\n [name]: path,\n };\n return this;\n }\n\n /**\n * A shorthand for adding an entry point\n * named \"index\" that points to \"src/index.ts\"\n *\n * @returns\n * This object.\n */\n public index() {\n return this.entry(\"index\", \"./src/index.mts\");\n }\n\n /**\n * Returns the built library configuration.\n *\n * @returns\n * A deep clone of the library configuration.\n */\n public build() {\n return cloneDeep(this.library);\n }\n}\n","import react from \"@vitejs/plugin-react\";\nimport { castArray, cloneDeep } from \"lodash-es\";\nimport swc from \"unplugin-swc\";\nimport type { LibraryOptions, PluginOption, ServerOptions } from \"vite\";\nimport { checker } from \"vite-plugin-checker\";\nimport dtsPlugin from \"vite-plugin-dts\";\nimport tsConfigPaths from \"vite-tsconfig-paths\";\nimport type { ViteUserConfig } from \"vitest/config\";\nimport type { InlineConfig } from \"vitest/node\";\nimport { externalizeDeps } from \"../plugin/vite-plugin-externalize-deps.js\";\nimport { ZViteLibraryBuilder } from \"./vite-library-builder.mjs\";\n\n/**\n * A config builder for the vite build system.\n *\n * This is helpful when building different types\n * of projects and keeping a standard.\n *\n * @example vite.config.ts\n *\n * ```ts\n * // Before Config Builder\n * export default defineConfig({\n * build: {\n * lib: {\n * entry: {\n * index: \"./src/index.ts\",\n * },\n * formats: [\"cjs\", \"es\"],\n * },\n * },\n * minify: false,\n * sourceMap: true,\n * plugins: [\n * swc.vite(),\n * tsConfigPaths(),\n * externalizeDeps(),\n * dtsPlugin({\n * compilerOptions: {\n * paths: {},\n * },\n * }),\n * ],\n * });\n * ```\n *\n * ```ts\n * // After config builder\n * const config = new ZViteConfigBuilder().library().build();\n * export default defineConfig(config);\n * ```\n */\nexport class ZViteConfigBuilder {\n private config: ViteUserConfig;\n\n /**\n * Initializes a new instance of this object.\n */\n public constructor() {\n this.config = {\n build: {\n minify: false,\n sourcemap: true,\n },\n plugins: [\n swc.vite({\n jsc: {\n transform: {\n react: {\n runtime: \"automatic\",\n },\n },\n },\n }),\n tsConfigPaths(),\n ],\n };\n }\n\n /**\n * Sets whether to minify the build output.\n *\n * @param minify -\n * The flag as to minify the output.\n *\n * @returns\n * This object.\n */\n public minify(minify = true) {\n this.config.build = { ...this.config.build, minify };\n return this;\n }\n\n /**\n * Adds a list of plugins.\n *\n * @param option -\n * The plugins to add.\n *\n * @returns\n * This object.\n */\n public plugin(option: PluginOption | PluginOption[] = []) {\n // See constructor - the config plugins are guaranteed to\n // be set. The swc and paths plugins are automatically added.\n const plugins = this.config.plugins!;\n this.config.plugins = plugins.concat(castArray(option));\n return this;\n }\n\n /**\n * Sets whether to generate source maps.\n *\n * @param sourcemap -\n * True to generate a sourcemap, false for faster build.\n *\n * @returns\n * This object.\n */\n public sourceMap(sourcemap = true) {\n this.config.build = { ...this.config.build, sourcemap };\n return this;\n }\n\n /**\n * Adds an alias to the resolution options.\n *\n * @param key -\n * The name of the package to alias\n * @param value -\n * The alias resolution\n *\n * @returns\n * This object.\n */\n public alias(key: string, value: string) {\n this.config.resolve = this.config.resolve || {};\n this.config.resolve.alias = this.config.resolve.alias || {};\n this.config.resolve.alias[key] = value;\n return this;\n }\n\n /**\n * Adds an alias for lodash to lodash-es.\n *\n * @returns\n * This object.\n */\n public lodash = this.alias.bind(this, \"lodash\", \"lodash-es\");\n\n /**\n * Assigns the server options.\n *\n * @param options -\n * The server options to assign.\n *\n * @returns\n * This object.\n */\n public server(options: ServerOptions) {\n this.config.server = cloneDeep(options);\n return this;\n }\n\n /**\n * Sets vite into library mode.\n *\n * @param lib -\n * The options for the library. You can set this to\n * nothing to use the default library which looks for\n * an entry point at the source directory called index.ts\n *\n * @see {@link ZViteLibraryBuilder} for more information.\n *\n * @returns\n * This object.\n */\n public library(\n lib: LibraryOptions = new ZViteLibraryBuilder().index().build(),\n ) {\n this.config.build = { ...this.config.build, lib };\n\n const dts = dtsPlugin({\n compilerOptions: {\n // Always turn off paths when building for production. You want to make\n // sure that your build is building in the correct order and that your\n // actual paths are correct.\n paths: {},\n },\n // Make sure to exclude spec and test files.\n exclude: [\"**/*.{spec,test}.{js,mjs,cjs,ts,mts,jsx,tsx}\"],\n });\n const external = externalizeDeps();\n\n return this.plugin(external).plugin(dts);\n }\n\n /**\n * Constructs the config to act as if it's compiling a node application.\n *\n * This is just an alias to {@link ZViteConfigBuilder.library} with two\n * entry points.\n *\n * 1. The file src/cli.ts is the main entry point of the application.\n * 1. The file, src/index.ts, is the api for importing and using it as an api.\n *\n * @returns\n * This object.\n */\n public cli() {\n // A cli works similar to a library.\n const library = new ZViteLibraryBuilder()\n .entry(\"index\", \"src/index.mts\")\n .entry(\"cli\", \"src/cli.mts\")\n .build();\n return this.library(library);\n }\n\n /**\n * Constructs the config to act as if it's compiling a nest application.\n *\n * This is just an alias to {@link ZViteConfigBuilder.library} with a single\n * entry point.\n *\n * 1. The file, src/main.mts\n *\n * @returns\n * This object.\n */\n public nest() {\n const library = new ZViteLibraryBuilder()\n .entry(\"main\", \"src/main.mts\")\n .build();\n return this.library(library);\n }\n\n /**\n * Constructs the config to act as if it's compiling a web application.\n *\n * @returns\n * This object.\n */\n public web() {\n return this.minify()\n .sourceMap(false)\n .plugin(checker({ typescript: true }));\n }\n\n /**\n * Constructs the config to compile a react application.\n *\n * @returns\n * This object.\n */\n public react() {\n return this.web().plugin(react());\n }\n\n /**\n * Constructs the config to be for testing.\n *\n * @param options -\n * The test config to use.\n */\n public test(options: InlineConfig) {\n this.config.test = options;\n return this;\n }\n\n /**\n * Returns the currently built config.\n *\n * @returns\n * The currently built config.\n */\n public build() {\n return cloneDeep(this.config);\n }\n}\n","import { cloneDeep, isUndefined, omitBy } from \"lodash-es\";\nimport type { ServerOptions } from \"vite\";\n\nexport class ZViteServerBuilder {\n private options: ServerOptions = {};\n\n public allowedHost(name: string | string[] | true) {\n if (name === true) {\n this.options.allowedHosts = true;\n } else if (this.options.allowedHosts !== true) {\n const hosts = this.options.allowedHosts || [];\n this.options.allowedHosts = hosts.concat(name);\n }\n\n return this;\n }\n\n public denyAllHosts() {\n delete this.options.allowedHosts;\n return this;\n }\n\n public port(port?: number) {\n this.options.port = port;\n return this;\n }\n\n public strictPort() {\n this.options.strictPort = true;\n return this;\n }\n\n public host(ip: string) {\n this.options.host = ip;\n return this;\n }\n\n public localhost = this.host.bind(this, \"127.0.0.1\");\n\n public dev() {\n return this.strictPort().host(\"0.0.0.0\").allowedHost(true);\n }\n\n public build() {\n const clone = cloneDeep(this.options);\n return omitBy<ServerOptions>(clone, isUndefined) as ServerOptions;\n }\n}\n","import { cloneDeep } from \"lodash-es\";\nimport type { InlineConfig, VitestEnvironment } from \"vitest/node\";\n\n/**\n * A builder for test configurations found in vite's defineConfig test field.\n */\nexport class ZViteTestBuilder {\n private test: InlineConfig;\n\n /**\n * Initializes a new instance of this object.\n */\n public constructor() {\n this.test = {\n environment: \"node\",\n testTimeout: 30000,\n coverage: {\n provider: \"v8\",\n },\n };\n }\n\n /**\n * Sets the test environment.\n *\n * @param environment -\n * The test environment to use.\n *\n * @returns\n * This object.\n */\n public environment(environment: VitestEnvironment) {\n this.test.environment = environment;\n return this;\n }\n\n /**\n * Sets the test environment to \"node\".\n *\n * @returns\n * This object.\n */\n public node = this.environment.bind(this, \"node\");\n\n /**\n * Sets the test environment to \"happy-dom\".\n *\n * @returns\n * This object.\n */\n public browser = this.environment.bind(this, \"happy-dom\");\n\n /**\n * Sets the test coverage provider.\n *\n * @param provider -\n * The test coverage provider to use.\n *\n * @returns\n * This object.\n */\n public coverage(provider: \"v8\" | \"istanbul\") {\n this.test.coverage = { ...this.test.coverage, provider };\n return this;\n }\n\n /**\n * Sets the test coverage provider to \"v8\".\n *\n * @returns\n * This object.\n */\n public v8 = this.coverage.bind(this, \"v8\");\n\n /**\n * Sets the test coverage provider to \"istanbul\".\n *\n * @returns\n * This object.\n */\n public istanbul = this.coverage.bind(this, \"istanbul\");\n\n /**\n * Adds to the list of projects.\n *\n * @param project -\n * The list of projects.\n *\n * @returns\n * This object.\n */\n public project(project: string | string[] = []) {\n const projects = this.test.projects || [];\n this.test.projects = projects.concat(project);\n return this;\n }\n\n /**\n * Adds monorepo support to the test builder.\n *\n * @param packages -\n * The path to the package directory.\n *\n * @returns\n * This object.\n */\n public monorepo(packages = \"packages\") {\n return this.project(`${packages}/*/vite.config.{js,cjs,mjs,ts,mts}`);\n }\n\n /**\n * This sets the max concurrency to one and resets\n * the environment after every test.\n *\n * Use this in the case that you want to have\n * strategic tests that can step over one another. For example,\n * writing to the file system and deleting from the file system\n * can have race conditions. If your app or library tests heavily\n * depend on those operations, then you should run your tests serially.\n *\n * @returns\n * This object.\n */\n public runSerially() {\n this.test.fileParallelism = false;\n this.test.maxConcurrency = 1;\n this.test.isolate = true;\n\n return this;\n }\n\n /**\n * Returns the built test configuration.\n *\n * @returns\n * A deep clone of the test configuration.\n */\n public build() {\n return cloneDeep(this.test);\n }\n}\n"],"names":["externalizeDeps","options","packageJson","resolve","process","cwd","name","config","externalDeps","Set","existsSync","context","msg","Error","contents","readFileSync","toString","dependencies","devDependencies","optionalDependencies","peerDependencies","JSON","parse","push","add","bind","Object","keys","concat","map","dep","RegExp","forEach","builtinModules","module","depMatchers","Array","from","build","rollupOptions","external","source","some","depMatcher","test","ZViteLibraryBuilder","entry","path","library","index","cloneDeep","_define_property","formats","ZViteConfigBuilder","minify","plugin","option","plugins","castArray","sourceMap","sourcemap","alias","key","value","server","lib","dts","dtsPlugin","compilerOptions","paths","exclude","cli","nest","web","checker","typescript","react","lodash","swc","vite","jsc","transform","runtime","tsConfigPaths","ZViteServerBuilder","allowedHost","allowedHosts","hosts","denyAllHosts","port","strictPort","host","ip","dev","clone","omitBy","isUndefined","localhost","ZViteTestBuilder","environment","coverage","provider","project","projects","monorepo","packages","runSerially","fileParallelism","maxConcurrency","isolate","node","browser","v8","istanbul","testTimeout"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zthun/janitor-build-config",
3
- "version": "19.4.3",
3
+ "version": "19.5.1",
4
4
  "description": "A shared configuration for builds that create websites, apis, and tests",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.mts",
@@ -65,5 +65,5 @@
65
65
  "access": "public"
66
66
  },
67
67
  "author": "Anthony Bonta",
68
- "gitHead": "93eb960c8b89fbb9b084f8d4ed89c33c9f45147e"
68
+ "gitHead": "8b2a09566d2d71c762189c7e94dcb1b8500f1863"
69
69
  }