@adddog/vite 0.0.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/README.md +13 -0
- package/dist/app.config.d.mts +8 -0
- package/dist/app.config.d.ts +8 -0
- package/dist/app.config.mjs +44 -0
- package/dist/app.config.mjs.map +1 -0
- package/dist/index.d.mts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.mjs +11 -0
- package/dist/index.mjs.map +1 -0
- package/dist/setup-vitest.d.mts +2 -0
- package/dist/setup-vitest.d.ts +2 -0
- package/dist/setup-vitest.mjs +115 -0
- package/dist/setup-vitest.mjs.map +1 -0
- package/dist/shared/vite.Cfj55vIW.mjs +48 -0
- package/dist/shared/vite.Cfj55vIW.mjs.map +1 -0
- package/dist/test.config.d.mts +9 -0
- package/dist/test.config.d.ts +9 -0
- package/dist/test.config.mjs +55 -0
- package/dist/test.config.mjs.map +1 -0
- package/package.json +87 -0
package/README.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { cpus } from 'node:os';
|
|
2
|
+
import process from 'node:process';
|
|
3
|
+
import { defineConfig, mergeConfig } from 'vite';
|
|
4
|
+
import { c as createBaseConfig } from './shared/vite.Cfj55vIW.mjs';
|
|
5
|
+
import '@esbuild-plugins/node-modules-polyfill';
|
|
6
|
+
|
|
7
|
+
function defineAppConfig(configOverrides = {}) {
|
|
8
|
+
const port = configOverrides.server?.port;
|
|
9
|
+
const host = configOverrides.server?.host;
|
|
10
|
+
return defineConfig((configEnv) => {
|
|
11
|
+
const baseConfig = createBaseConfig();
|
|
12
|
+
const plugins = [];
|
|
13
|
+
const appConfig = mergeConfig(baseConfig(configEnv), {
|
|
14
|
+
plugins,
|
|
15
|
+
logLevel: "info",
|
|
16
|
+
server: {
|
|
17
|
+
...port !== void 0 && { port },
|
|
18
|
+
host: host || "localhost",
|
|
19
|
+
hmr: { overlay: false }
|
|
20
|
+
},
|
|
21
|
+
preview: {
|
|
22
|
+
...port !== void 0 && { port }
|
|
23
|
+
},
|
|
24
|
+
build: {
|
|
25
|
+
rollupOptions: {
|
|
26
|
+
...process.env.CI && { cache: false },
|
|
27
|
+
// Based on https://github.com/vitejs/vite/issues/2433#issuecomment-1422127051
|
|
28
|
+
// helps reduce memory usage in CI which was OOM-ing (default value is 20)
|
|
29
|
+
maxParallelFileOps: Math.max(1, cpus().length - 1),
|
|
30
|
+
output: {
|
|
31
|
+
// https://rollupjs.org/guide/en/#outputmanualchunks
|
|
32
|
+
manualChunks: {}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const resolvedConfig = mergeConfig(appConfig, configOverrides);
|
|
38
|
+
console.dir(resolvedConfig, { depth: 9 });
|
|
39
|
+
return resolvedConfig;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export { defineAppConfig };
|
|
44
|
+
//# sourceMappingURL=app.config.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.config.mjs","sources":["../src/app.config.ts"],"sourcesContent":["import type { PluginOption, UserConfig, UserConfigExport } from \"vite\";\nimport { cpus } from \"node:os\";\nimport process from \"node:process\";\nimport { defineConfig, mergeConfig } from \"vite\";\n\nimport { createBaseConfig } from \"./base.config\";\n\n/**\n * Define vite.config to be used for \"apps\"\n */\n\nexport function defineAppConfig(\n configOverrides: UserConfig = {},\n): UserConfigExport {\n const port = configOverrides.server?.port;\n const host = configOverrides.server?.host;\n // when invoked on root, there are no dependencies and thus need to ensure it exists\n\n return defineConfig(configEnv => {\n const baseConfig = createBaseConfig();\n const plugins = [] as PluginOption[];\n const appConfig = mergeConfig(baseConfig(configEnv), {\n plugins,\n logLevel: \"info\",\n server: {\n ...(port !== undefined && { port }),\n host: host || \"localhost\",\n hmr: { overlay: false },\n },\n preview: {\n ...(port !== undefined && { port }),\n },\n build: {\n rollupOptions: {\n ...(process.env.CI && { cache: false }),\n // Based on https://github.com/vitejs/vite/issues/2433#issuecomment-1422127051\n // helps reduce memory usage in CI which was OOM-ing (default value is 20)\n maxParallelFileOps: Math.max(1, cpus().length - 1),\n output: {\n // https://rollupjs.org/guide/en/#outputmanualchunks\n manualChunks: {},\n },\n },\n },\n } satisfies UserConfig);\n const resolvedConfig = mergeConfig(appConfig, configOverrides);\n\n console.dir(resolvedConfig, { depth: 9 });\n return resolvedConfig;\n });\n}\n"],"names":[],"mappings":";;;;;;AAWO,SAAS,eAAA,CACZ,eAAA,GAA8B,EAAC,EACf;AAChB,EAAA,MAAM,IAAA,GAAO,gBAAgB,MAAA,EAAQ,IAAA;AACrC,EAAA,MAAM,IAAA,GAAO,gBAAgB,MAAA,EAAQ,IAAA;AAGrC,EAAA,OAAO,aAAa,CAAA,SAAA,KAAa;AAC7B,IAAA,MAAM,aAAa,gBAAA,EAAiB;AACpC,IAAA,MAAM,UAAU,EAAC;AACjB,IAAA,MAAM,SAAA,GAAY,WAAA,CAAY,UAAA,CAAW,SAAS,CAAA,EAAG;AAAA,MACjD,OAAA;AAAA,MACA,QAAA,EAAU,MAAA;AAAA,MACV,MAAA,EAAQ;AAAA,QACJ,GAAI,IAAA,KAAS,MAAA,IAAa,EAAE,IAAA,EAAK;AAAA,QACjC,MAAM,IAAA,IAAQ,WAAA;AAAA,QACd,GAAA,EAAK,EAAE,OAAA,EAAS,KAAA;AAAM,OAC1B;AAAA,MACA,OAAA,EAAS;AAAA,QACL,GAAI,IAAA,KAAS,MAAA,IAAa,EAAE,IAAA;AAAK,OACrC;AAAA,MACA,KAAA,EAAO;AAAA,QACH,aAAA,EAAe;AAAA,UACX,GAAI,OAAA,CAAQ,GAAA,CAAI,EAAA,IAAM,EAAE,OAAO,KAAA,EAAM;AAAA;AAAA;AAAA,UAGrC,oBAAoB,IAAA,CAAK,GAAA,CAAI,GAAG,IAAA,EAAK,CAAE,SAAS,CAAC,CAAA;AAAA,UACjD,MAAA,EAAQ;AAAA;AAAA,YAEJ,cAAc;AAAC;AACnB;AACJ;AACJ,KACkB,CAAA;AACtB,IAAA,MAAM,cAAA,GAAiB,WAAA,CAAY,SAAA,EAAW,eAAe,CAAA;AAE7D,IAAA,OAAA,CAAQ,GAAA,CAAI,cAAA,EAAgB,EAAE,KAAA,EAAO,GAAG,CAAA;AACxC,IAAA,OAAO,cAAA;AAAA,EACX,CAAC,CAAA;AACL;;;;"}
|
package/dist/index.d.mts
ADDED
package/dist/index.d.ts
ADDED
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { default as defineTestConfig } from './test.config.mjs';
|
|
2
|
+
export { defineAppConfig } from './app.config.mjs';
|
|
3
|
+
import 'node:path';
|
|
4
|
+
import 'node:url';
|
|
5
|
+
import 'vitest/config';
|
|
6
|
+
import './shared/vite.Cfj55vIW.mjs';
|
|
7
|
+
import 'node:process';
|
|
8
|
+
import '@esbuild-plugins/node-modules-polyfill';
|
|
9
|
+
import 'vite';
|
|
10
|
+
import 'node:os';
|
|
11
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import * as matchers from '@testing-library/jest-dom/matchers';
|
|
2
|
+
import { expect, vi } from 'vitest';
|
|
3
|
+
import '@testing-library/jest-dom/vitest';
|
|
4
|
+
import 'urlpattern-polyfill';
|
|
5
|
+
import 'vitest-canvas-mock';
|
|
6
|
+
|
|
7
|
+
expect.extend(matchers);
|
|
8
|
+
vi.useFakeTimers();
|
|
9
|
+
Object.assign(import.meta.env, {
|
|
10
|
+
PROD: true,
|
|
11
|
+
DEV: false,
|
|
12
|
+
VITE_BASE_URL: "/"
|
|
13
|
+
});
|
|
14
|
+
Object.assign(globalThis, {
|
|
15
|
+
fetch: () => {
|
|
16
|
+
throw new Error("Cannot use fetch in tests!");
|
|
17
|
+
},
|
|
18
|
+
HTMLDocument: globalThis.Document,
|
|
19
|
+
reportError: () => {
|
|
20
|
+
},
|
|
21
|
+
TextEncoder,
|
|
22
|
+
TextDecoder,
|
|
23
|
+
Headers: class Headers {
|
|
24
|
+
get = vi.fn();
|
|
25
|
+
append = vi.fn();
|
|
26
|
+
},
|
|
27
|
+
AudioContext: class AudioContext {
|
|
28
|
+
close = () => {
|
|
29
|
+
};
|
|
30
|
+
createMediaElementSource = () => {
|
|
31
|
+
};
|
|
32
|
+
createMediaStreamSource = () => {
|
|
33
|
+
};
|
|
34
|
+
createMediaStreamDestination = () => {
|
|
35
|
+
};
|
|
36
|
+
createMediaStreamTrackSource = () => {
|
|
37
|
+
};
|
|
38
|
+
getOutputTimestamp = () => {
|
|
39
|
+
};
|
|
40
|
+
resume = () => {
|
|
41
|
+
};
|
|
42
|
+
suspend = () => {
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
ImageData: class ImageData {
|
|
46
|
+
data;
|
|
47
|
+
width;
|
|
48
|
+
height;
|
|
49
|
+
constructor(width, height) {
|
|
50
|
+
this.width = width;
|
|
51
|
+
this.height = height;
|
|
52
|
+
this.data = new Uint8ClampedArray(width * height * 4);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
Object.defineProperty(window, "matchMedia", {
|
|
57
|
+
writable: true,
|
|
58
|
+
value: (_query) => ({
|
|
59
|
+
addEventListener: vi.fn(),
|
|
60
|
+
addListener: vi.fn(),
|
|
61
|
+
dispatchEvent: vi.fn(),
|
|
62
|
+
matches: false,
|
|
63
|
+
// media: query,
|
|
64
|
+
onchange: null,
|
|
65
|
+
removeEventListener: vi.fn(),
|
|
66
|
+
removeListener: vi.fn()
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
Object.assign(globalThis.EventTarget.prototype, {
|
|
70
|
+
setPointerCapture: () => {
|
|
71
|
+
},
|
|
72
|
+
releasePointerCapture: () => {
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
Object.assign(globalThis.URL, {
|
|
76
|
+
createObjectURL: () => void 0
|
|
77
|
+
});
|
|
78
|
+
function xhrMockClass() {
|
|
79
|
+
return {
|
|
80
|
+
open: vi.fn(),
|
|
81
|
+
send: () => {
|
|
82
|
+
throw new Error(
|
|
83
|
+
"XMLHttpRequest network calls are not allowed in unit tests"
|
|
84
|
+
);
|
|
85
|
+
},
|
|
86
|
+
setRequestHeader: vi.fn()
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
Object.assign(window, {
|
|
90
|
+
XMLHttpRequest: vi.fn().mockImplementation(xhrMockClass),
|
|
91
|
+
requestIdleCallback: (cb) => setTimeout(cb, 0)
|
|
92
|
+
});
|
|
93
|
+
Object.defineProperty(window, "location", {
|
|
94
|
+
value: new URL("https://localhost:3000/tests"),
|
|
95
|
+
configurable: true
|
|
96
|
+
});
|
|
97
|
+
globalThis.location.assign = vi.fn();
|
|
98
|
+
vi.stubGlobal(
|
|
99
|
+
"ResizeObserver",
|
|
100
|
+
vi.fn(() => ({
|
|
101
|
+
observe: vi.fn(),
|
|
102
|
+
unobserve: vi.fn(),
|
|
103
|
+
disconnect: vi.fn()
|
|
104
|
+
}))
|
|
105
|
+
);
|
|
106
|
+
vi.stubGlobal(
|
|
107
|
+
"BroadcastChannel",
|
|
108
|
+
vi.fn(() => ({
|
|
109
|
+
onmessage: vi.fn(),
|
|
110
|
+
postMessage: vi.fn(),
|
|
111
|
+
addEventListener: vi.fn(),
|
|
112
|
+
removeEventListener: vi.fn()
|
|
113
|
+
}))
|
|
114
|
+
);
|
|
115
|
+
//# sourceMappingURL=setup-vitest.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-vitest.mjs","sources":["../src/setup-vitest.ts"],"sourcesContent":["/// <reference types=\"vite/client\" />\n\nimport * as matchers from \"@testing-library/jest-dom/matchers\";\nimport { expect, vi } from \"vitest\";\nimport \"@testing-library/jest-dom/vitest\";\n\nimport \"urlpattern-polyfill\";\nimport \"vitest-canvas-mock\";\n\nexpect.extend(matchers);\n\n/**\n * This is the only place in the codebase where it's allowed since here we are\n * enabling it for all tests.\n *\n * All tests use fake timers. To advance time you can use any of the built in\n * utilities in vitest (e.g. advanceTimersByTime, runAllTimers,\n * advanceTimersToNextTimer, etc) or the \"advanceTimers\" method from\n * /test/utils.tsx\n */\nvi.useFakeTimers();\n\n/**\n * Import meta defaults\n */\nObject.assign(import.meta.env, {\n PROD: true,\n DEV: false,\n VITE_BASE_URL: \"/\",\n});\n\nObject.assign(globalThis, {\n fetch: () => {\n throw new Error(\"Cannot use fetch in tests!\");\n },\n HTMLDocument: globalThis.Document,\n reportError: () => {},\n TextEncoder,\n TextDecoder,\n Headers: class Headers {\n get = vi.fn();\n append = vi.fn();\n },\n AudioContext: class AudioContext {\n close = () => {};\n createMediaElementSource = () => {};\n createMediaStreamSource = () => {};\n createMediaStreamDestination = () => {};\n createMediaStreamTrackSource = () => {};\n getOutputTimestamp = () => {};\n resume = () => {};\n suspend = () => {};\n },\n ImageData: class ImageData {\n data: Uint8ClampedArray;\n width: number;\n height: number;\n constructor(width: number, height: number) {\n this.width = width;\n this.height = height;\n this.data = new Uint8ClampedArray(width * height * 4);\n }\n },\n});\n\nObject.defineProperty(window, \"matchMedia\", {\n writable: true,\n value: (_query: unknown) => ({\n addEventListener: vi.fn(),\n addListener: vi.fn(),\n dispatchEvent: vi.fn(),\n matches: false,\n // media: query,\n onchange: null,\n removeEventListener: vi.fn(),\n removeListener: vi.fn(),\n }),\n});\n\n// Pointer Capture not yet implemented in jsdom\n// https://github.com/jsdom/jsdom/pull/2666\nObject.assign(globalThis.EventTarget.prototype, {\n setPointerCapture: () => {},\n releasePointerCapture: () => {},\n});\n\nObject.assign(globalThis.URL, {\n createObjectURL: () => undefined,\n});\n\nfunction xhrMockClass() {\n return {\n open: vi.fn(),\n send: () => {\n throw new Error(\n \"XMLHttpRequest network calls are not allowed in unit tests\",\n );\n },\n setRequestHeader: vi.fn(),\n };\n}\n\nObject.assign(window, {\n XMLHttpRequest: vi.fn().mockImplementation(xhrMockClass),\n requestIdleCallback: (cb: Function) => setTimeout(cb, 0),\n});\n\n// Allow re-assigning window.location properties in tests\nObject.defineProperty(window, \"location\", {\n value: new URL(\"https://localhost:3000/tests\"),\n configurable: true,\n});\n\nglobalThis.location.assign = vi.fn();\n\nvi.stubGlobal(\n \"ResizeObserver\",\n vi.fn(() => ({\n observe: vi.fn(),\n unobserve: vi.fn(),\n disconnect: vi.fn(),\n })),\n);\nvi.stubGlobal(\n \"BroadcastChannel\",\n vi.fn(() => ({\n onmessage: vi.fn(),\n postMessage: vi.fn(),\n addEventListener: vi.fn(),\n removeEventListener: vi.fn(),\n })),\n);\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import process from 'node:process';
|
|
2
|
+
import { NodeModulesPolyfillPlugin } from '@esbuild-plugins/node-modules-polyfill';
|
|
3
|
+
import { defineConfig } from 'vite';
|
|
4
|
+
|
|
5
|
+
function createBaseConfig() {
|
|
6
|
+
return defineConfig(() => {
|
|
7
|
+
return {
|
|
8
|
+
// A dependency might check for properties on process.env
|
|
9
|
+
// If an env var is required for a dependency, add it here.
|
|
10
|
+
define: {
|
|
11
|
+
"process.env.NODE_DEBUG": process.env.NODE_DEBUG
|
|
12
|
+
},
|
|
13
|
+
optimizeDeps: {
|
|
14
|
+
esbuildOptions: {
|
|
15
|
+
plugins: [NodeModulesPolyfillPlugin()]
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
build: {
|
|
19
|
+
sourcemap: false
|
|
20
|
+
},
|
|
21
|
+
worker: { format: "es" },
|
|
22
|
+
server: {
|
|
23
|
+
fs: {
|
|
24
|
+
// When needing to load a module for development outside of
|
|
25
|
+
// the root.
|
|
26
|
+
strict: false
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
css: {
|
|
30
|
+
preprocessorOptions: {
|
|
31
|
+
scss: {
|
|
32
|
+
/**
|
|
33
|
+
* Dart v2 will introduce a breaking change on the maths
|
|
34
|
+
* This quiets the deprecation warnings for now. b/c blueprintjs of course :facepalm:
|
|
35
|
+
* See for more details:
|
|
36
|
+
* Docs - https://sass-lang.com/documentation/breaking-changes/slash-div
|
|
37
|
+
* GH - https://github.com/sass/sass/issues/3065
|
|
38
|
+
*/
|
|
39
|
+
quietDeps: true
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export { createBaseConfig as c };
|
|
48
|
+
//# sourceMappingURL=vite.Cfj55vIW.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite.Cfj55vIW.mjs","sources":["../../src/base.config.ts"],"sourcesContent":["import type { UserConfig } from \"vite\";\nimport process from \"node:process\";\n\nimport { NodeModulesPolyfillPlugin } from \"@esbuild-plugins/node-modules-polyfill\";\nimport { defineConfig } from \"vite\";\n\nexport function createBaseConfig() {\n return defineConfig(() => {\n // May want to disable source maps for testing local dev builds\n return {\n // A dependency might check for properties on process.env\n // If an env var is required for a dependency, add it here.\n define: {\n \"process.env.NODE_DEBUG\": process.env.NODE_DEBUG,\n },\n optimizeDeps: {\n esbuildOptions: {\n plugins: [NodeModulesPolyfillPlugin()],\n },\n },\n build: {\n sourcemap: false,\n },\n\n worker: { format: \"es\" },\n server: {\n fs: {\n // When needing to load a module for development outside of\n // the root.\n strict: false,\n },\n },\n css: {\n preprocessorOptions: {\n scss: {\n /**\n * Dart v2 will introduce a breaking change on the maths\n * This quiets the deprecation warnings for now. b/c blueprintjs of course :facepalm:\n * See for more details:\n * Docs - https://sass-lang.com/documentation/breaking-changes/slash-div\n * GH - https://github.com/sass/sass/issues/3065\n */\n quietDeps: true,\n },\n },\n },\n } as UserConfig;\n });\n}\n"],"names":[],"mappings":";;;;AAMO,SAAS,gBAAA,GAAmB;AAC/B,EAAA,OAAO,aAAa,MAAM;AAEtB,IAAA,OAAO;AAAA;AAAA;AAAA,MAGH,MAAA,EAAQ;AAAA,QACJ,wBAAA,EAA0B,QAAQ,GAAA,CAAI;AAAA,OAC1C;AAAA,MACA,YAAA,EAAc;AAAA,QACV,cAAA,EAAgB;AAAA,UACZ,OAAA,EAAS,CAAC,yBAAA,EAA2B;AAAA;AACzC,OACJ;AAAA,MACA,KAAA,EAAO;AAAA,QACH,SAAA,EAAW;AAAA,OACf;AAAA,MAEA,MAAA,EAAQ,EAAE,MAAA,EAAQ,IAAA,EAAK;AAAA,MACvB,MAAA,EAAQ;AAAA,QACJ,EAAA,EAAI;AAAA;AAAA;AAAA,UAGA,MAAA,EAAQ;AAAA;AACZ,OACJ;AAAA,MACA,GAAA,EAAK;AAAA,QACD,mBAAA,EAAqB;AAAA,UACjB,IAAA,EAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAQF,SAAA,EAAW;AAAA;AACf;AACJ;AACJ,KACJ;AAAA,EACJ,CAAC,CAAA;AACL;;;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
import { defineConfig, mergeConfig } from 'vitest/config';
|
|
4
|
+
import { c as createBaseConfig } from './shared/vite.Cfj55vIW.mjs';
|
|
5
|
+
import 'node:process';
|
|
6
|
+
import '@esbuild-plugins/node-modules-polyfill';
|
|
7
|
+
import 'vite';
|
|
8
|
+
|
|
9
|
+
const __dirname$1 = fileURLToPath(new URL(".", import.meta.url));
|
|
10
|
+
function getSetupFiles() {
|
|
11
|
+
const result = [join(__dirname$1, "./setup-vitest.mjs")];
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
14
|
+
const test_config = defineConfig((configEnv) => {
|
|
15
|
+
const baseConfig = createBaseConfig();
|
|
16
|
+
return mergeConfig({
|
|
17
|
+
resolve: {
|
|
18
|
+
// https://vitejs.dev/config/shared-options.html#resolve-conditions
|
|
19
|
+
// This tells vitest to look for the entrypoint here. Allows pkg to publish the correct fields.
|
|
20
|
+
conditions: ["vite"]
|
|
21
|
+
},
|
|
22
|
+
test: {
|
|
23
|
+
alias: [],
|
|
24
|
+
css: false,
|
|
25
|
+
reporters: ["verbose"],
|
|
26
|
+
watch: false,
|
|
27
|
+
cache: false,
|
|
28
|
+
coverage: { reportsDirectory: "public/coverage", reporter: ["html"] },
|
|
29
|
+
clearMocks: true,
|
|
30
|
+
restoreMocks: true,
|
|
31
|
+
mockReset: true,
|
|
32
|
+
passWithNoTests: true,
|
|
33
|
+
forceRerunTriggers: ["apps/**/*", "packages/**/*"],
|
|
34
|
+
isolate: true,
|
|
35
|
+
outputTruncateLength: 600,
|
|
36
|
+
outputDiffLines: 400,
|
|
37
|
+
globals: true,
|
|
38
|
+
setupFiles: getSetupFiles(),
|
|
39
|
+
include: ["{apps,packages}/**/*.test.{js,ts,tsx}"],
|
|
40
|
+
exclude: [
|
|
41
|
+
"**/node_modules/**",
|
|
42
|
+
"**/dist/**",
|
|
43
|
+
"**/e2e/**",
|
|
44
|
+
"**/cypress/**",
|
|
45
|
+
"**/.{idea,git,output,temp}/**",
|
|
46
|
+
"**/build/**",
|
|
47
|
+
"**/public/**"
|
|
48
|
+
],
|
|
49
|
+
environment: "jsdom"
|
|
50
|
+
}
|
|
51
|
+
}, baseConfig(configEnv));
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
export { test_config as default };
|
|
55
|
+
//# sourceMappingURL=test.config.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.config.mjs","sources":["../src/test.config.ts"],"sourcesContent":["import { join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { defineConfig, mergeConfig } from \"vitest/config\";\n\nimport { createBaseConfig } from \"./base.config\";\n\nconst __dirname = fileURLToPath(new URL(\".\", import.meta.url));\n\nfunction getSetupFiles(): string[] {\n const result = [join(__dirname, \"./setup-vitest.mjs\")];\n return result;\n}\n\n/**\n * Vitest config\n * Only relies on the base config\n */\nexport default defineConfig(configEnv => {\n const baseConfig = createBaseConfig();\n return mergeConfig({\n resolve: {\n // https://vitejs.dev/config/shared-options.html#resolve-conditions\n // This tells vitest to look for the entrypoint here. Allows pkg to publish the correct fields.\n conditions: [\"vite\"],\n },\n test: {\n alias: [],\n css: false,\n reporters: [\"verbose\"],\n watch: false,\n cache: false,\n coverage: { reportsDirectory: \"public/coverage\", reporter: [\"html\"] },\n clearMocks: true,\n restoreMocks: true,\n mockReset: true,\n passWithNoTests: true,\n forceRerunTriggers: [\"apps/**/*\", \"packages/**/*\"],\n isolate: true,\n outputTruncateLength: 600,\n outputDiffLines: 400,\n globals: true,\n setupFiles: getSetupFiles(),\n include: [\"{apps,packages}/**/*.test.{js,ts,tsx}\"],\n exclude: [\n \"**/node_modules/**\",\n \"**/dist/**\",\n \"**/e2e/**\",\n \"**/cypress/**\",\n \"**/.{idea,git,output,temp}/**\",\n \"**/build/**\",\n \"**/public/**\",\n ],\n environment: \"jsdom\",\n },\n }, baseConfig(configEnv));\n});\n"],"names":["__dirname"],"mappings":";;;;;;;;AAMA,MAAMA,cAAY,aAAA,CAAc,IAAI,IAAI,GAAA,EAAK,MAAA,CAAA,IAAA,CAAY,GAAG,CAAC,CAAA;AAE7D,SAAS,aAAA,GAA0B;AAC/B,EAAA,MAAM,MAAA,GAAS,CAAC,IAAA,CAAKA,WAAA,EAAW,oBAAoB,CAAC,CAAA;AACrD,EAAA,OAAO,MAAA;AACX;AAMA,oBAAe,aAAa,CAAA,SAAA,KAAa;AACrC,EAAA,MAAM,aAAa,gBAAA,EAAiB;AACpC,EAAA,OAAO,WAAA,CAAY;AAAA,IACf,OAAA,EAAS;AAAA;AAAA;AAAA,MAGL,UAAA,EAAY,CAAC,MAAM;AAAA,KACvB;AAAA,IACA,IAAA,EAAM;AAAA,MACF,OAAO,EAAC;AAAA,MACR,GAAA,EAAK,KAAA;AAAA,MACL,SAAA,EAAW,CAAC,SAAS,CAAA;AAAA,MACrB,KAAA,EAAO,KAAA;AAAA,MACP,KAAA,EAAO,KAAA;AAAA,MACP,UAAU,EAAE,gBAAA,EAAkB,mBAAmB,QAAA,EAAU,CAAC,MAAM,CAAA,EAAE;AAAA,MACpE,UAAA,EAAY,IAAA;AAAA,MACZ,YAAA,EAAc,IAAA;AAAA,MACd,SAAA,EAAW,IAAA;AAAA,MACX,eAAA,EAAiB,IAAA;AAAA,MACjB,kBAAA,EAAoB,CAAC,WAAA,EAAa,eAAe,CAAA;AAAA,MACjD,OAAA,EAAS,IAAA;AAAA,MACT,oBAAA,EAAsB,GAAA;AAAA,MACtB,eAAA,EAAiB,GAAA;AAAA,MACjB,OAAA,EAAS,IAAA;AAAA,MACT,YAAY,aAAA,EAAc;AAAA,MAC1B,OAAA,EAAS,CAAC,uCAAuC,CAAA;AAAA,MACjD,OAAA,EAAS;AAAA,QACL,oBAAA;AAAA,QACA,YAAA;AAAA,QACA,WAAA;AAAA,QACA,eAAA;AAAA,QACA,+BAAA;AAAA,QACA,aAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACA,WAAA,EAAa;AAAA;AACjB,GACJ,EAAG,UAAA,CAAW,SAAS,CAAC,CAAA;AAC5B,CAAC,CAAA;;;;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@adddog/vite",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"homepage": "https://github.com/samelie/vite#readme",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/samelie/vite.git"
|
|
10
|
+
},
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/samelie/vite/issues"
|
|
13
|
+
},
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"import": "./src/index.ts"
|
|
17
|
+
},
|
|
18
|
+
"./app.config": {
|
|
19
|
+
"import": "./src/app.config.ts"
|
|
20
|
+
},
|
|
21
|
+
"./test.config": {
|
|
22
|
+
"import": "./src/test.config.ts"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"main": "./src/index.ts",
|
|
26
|
+
"types": "./src/index.ts",
|
|
27
|
+
"files": [
|
|
28
|
+
"dist"
|
|
29
|
+
],
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "unbuild",
|
|
32
|
+
"lint": "eslint .",
|
|
33
|
+
"lint:fix": "eslint --fix .",
|
|
34
|
+
"types": "tsc -p tsconfig.typecheck.json",
|
|
35
|
+
"test": "echo '⚠️⚠️⚠️no test vitest --watch=false'",
|
|
36
|
+
"dev": "tsx src/index.ts",
|
|
37
|
+
"knip": "knip",
|
|
38
|
+
"release": "bumpp --yes --no-push --no-tag --release patch",
|
|
39
|
+
"prepublishOnly": "pnpm run lint && pnpm run types && pnpm run build",
|
|
40
|
+
"prepack": "pnpm run prepublishOnly",
|
|
41
|
+
"version:patch": "npm version patch --no-git-tag-version"
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"@esbuild-plugins/node-modules-polyfill": "^0.2.2",
|
|
45
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
46
|
+
"@vitejs/plugin-vue": "^6.0.3",
|
|
47
|
+
"jsdom": "^28.1.0",
|
|
48
|
+
"urlpattern-polyfill": "^10.1.0",
|
|
49
|
+
"vite": "^7.3.1",
|
|
50
|
+
"vite-plugin-svgr": "^4.5.0",
|
|
51
|
+
"vitest": "^4.0.18",
|
|
52
|
+
"vitest-canvas-mock": "^1.1.3"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@adddog/build-configs": "workspace:*",
|
|
56
|
+
"@adddog/monorepo-consistency": "workspace:*",
|
|
57
|
+
"bumpp": "^10.4.1",
|
|
58
|
+
"eslint": "^10.0.0",
|
|
59
|
+
"typescript": "^5.9.3",
|
|
60
|
+
"unbuild": "^3.6.1"
|
|
61
|
+
},
|
|
62
|
+
"publishConfig": {
|
|
63
|
+
"access": "public",
|
|
64
|
+
"registry": "https://registry.npmjs.org/",
|
|
65
|
+
"exports": {
|
|
66
|
+
".": {
|
|
67
|
+
"import": "./dist/index.mjs",
|
|
68
|
+
"types": "./dist/index.d.ts"
|
|
69
|
+
},
|
|
70
|
+
"./app.config": {
|
|
71
|
+
"import": "./dist/app.config.mjs",
|
|
72
|
+
"types": "./dist/app.config.d.ts"
|
|
73
|
+
},
|
|
74
|
+
"./test.config": {
|
|
75
|
+
"import": "./dist/test.config.mjs",
|
|
76
|
+
"types": "./dist/test.config.d.ts"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"main": "./dist/index.mjs",
|
|
80
|
+
"types": "./dist/index.d.ts"
|
|
81
|
+
},
|
|
82
|
+
"engines": {
|
|
83
|
+
"node": ">= 22",
|
|
84
|
+
"pnpm": ">= 10",
|
|
85
|
+
"npm": ">= 11"
|
|
86
|
+
}
|
|
87
|
+
}
|