@aamini/config 0.0.15 → 0.0.17

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.
@@ -17,7 +17,6 @@ async function expectComponentScreenshot({ component, name, waitFor, prepare, se
17
17
  document.body.replaceChildren();
18
18
  await setup?.();
19
19
  await page.viewport(viewport.width, viewport.height);
20
- document.documentElement.style.setProperty("--visual-viewport-height", `${viewport.height}px`);
21
20
  const container = document.body.appendChild(document.createElement("div"));
22
21
  container.style.width = "100vw";
23
22
  container.style.minHeight = "100vh";
@@ -26,9 +25,14 @@ async function expectComponentScreenshot({ component, name, waitFor, prepare, se
26
25
  await expect.element(waitFor(screen)).toBeVisible();
27
26
  await document.fonts.ready;
28
27
  await waitForImages();
29
- if (fullPage) await page.viewport(viewport.width, Math.ceil(container.scrollHeight));
30
- const screenshotTarget = fullPage ? () => container : target;
31
- await expect.element(screenshotTarget(screen)).toMatchScreenshot(`${name}.png`, { screenshotOptions: { scale: "css" } });
28
+ if (fullPage) {
29
+ const frame = window.frameElement;
30
+ if (frame) {
31
+ frame.style.width = `${document.body.scrollWidth}px`;
32
+ frame.style.height = `${document.body.scrollHeight}px`;
33
+ }
34
+ }
35
+ await expect.element(target(screen)).toMatchScreenshot(`${name}.png`, { screenshotOptions: { scale: "css" } });
32
36
  }
33
37
  //#endregion
34
38
  export { expectComponentScreenshot };
@@ -1 +1 @@
1
- {"version":3,"file":"visual-page.mjs","names":[],"sources":["../../src/test/visual-page.tsx"],"sourcesContent":["import { createElement, type ComponentType } from 'react'\nimport { page } from 'vite-plus/test/browser'\nimport { render } from 'vitest-browser-react'\n\nimport { expect } from './browser'\n\nasync function waitForImages() {\n\tawait Promise.all(\n\t\tArray.from(document.images, (image) => {\n\t\t\tif (image.complete) return Promise.resolve()\n\t\t\treturn image.decode().catch(() => undefined)\n\t\t}),\n\t)\n}\n\ntype ScreenshotOptions = {\n\tcomponent: ComponentType\n\tname: string\n\twaitFor: (\n\t\tscreen: Awaited<ReturnType<typeof render>>,\n\t) => HTMLElement | SVGElement | null\n\tprepare?: (screen: Awaited<ReturnType<typeof render>>) => void | Promise<void>\n\tsetup?: () => void | Promise<void>\n\ttarget?: (screen: Awaited<ReturnType<typeof render>>) => HTMLElement\n\tfullPage?: boolean\n\tviewport?: { width: number; height: number }\n}\n\nexport async function expectComponentScreenshot({\n\tcomponent,\n\tname,\n\twaitFor,\n\tprepare,\n\tsetup,\n\ttarget = (screen) => screen.container,\n\tfullPage = true,\n\tviewport = { width: 1280, height: 720 },\n}: ScreenshotOptions) {\n\tlocalStorage.clear()\n\tdocument.body.replaceChildren()\n\tawait setup?.()\n\tawait page.viewport(viewport.width, viewport.height)\n\tdocument.documentElement.style.setProperty(\n\t\t'--visual-viewport-height',\n\t\t`${viewport.height}px`,\n\t)\n\n\tconst container = document.body.appendChild(document.createElement('div'))\n\tcontainer.style.width = '100vw'\n\tcontainer.style.minHeight = '100vh'\n\n\tconst screen = await render(createElement(component), { container })\n\tawait prepare?.(screen)\n\tawait expect.element(waitFor(screen)).toBeVisible()\n\tawait document.fonts.ready\n\tawait waitForImages()\n\n\tif (fullPage) {\n\t\tawait page.viewport(viewport.width, Math.ceil(container.scrollHeight))\n\t}\n\n\tconst screenshotTarget = fullPage ? () => container : target\n\n\tawait expect\n\t\t.element(screenshotTarget(screen))\n\t\t.toMatchScreenshot(`${name}.png`, {\n\t\t\tscreenshotOptions: { scale: 'css' },\n\t\t})\n}\n"],"mappings":";;;;;AAMA,eAAe,gBAAgB;CAC9B,MAAM,QAAQ,IACb,MAAM,KAAK,SAAS,SAAS,UAAU;EACtC,IAAI,MAAM,UAAU,OAAO,QAAQ,SAAS;EAC5C,OAAO,MAAM,QAAQ,CAAC,YAAY,KAAA,EAAU;GAC3C,CACF;;AAgBF,eAAsB,0BAA0B,EAC/C,WACA,MACA,SACA,SACA,OACA,UAAU,WAAW,OAAO,WAC5B,WAAW,MACX,WAAW;CAAE,OAAO;CAAM,QAAQ;CAAK,IAClB;CACrB,aAAa,OAAO;CACpB,SAAS,KAAK,iBAAiB;CAC/B,MAAM,SAAS;CACf,MAAM,KAAK,SAAS,SAAS,OAAO,SAAS,OAAO;CACpD,SAAS,gBAAgB,MAAM,YAC9B,4BACA,GAAG,SAAS,OAAO,IACnB;CAED,MAAM,YAAY,SAAS,KAAK,YAAY,SAAS,cAAc,MAAM,CAAC;CAC1E,UAAU,MAAM,QAAQ;CACxB,UAAU,MAAM,YAAY;CAE5B,MAAM,SAAS,MAAM,OAAO,cAAc,UAAU,EAAE,EAAE,WAAW,CAAC;CACpE,MAAM,UAAU,OAAO;CACvB,MAAM,OAAO,QAAQ,QAAQ,OAAO,CAAC,CAAC,aAAa;CACnD,MAAM,SAAS,MAAM;CACrB,MAAM,eAAe;CAErB,IAAI,UACH,MAAM,KAAK,SAAS,SAAS,OAAO,KAAK,KAAK,UAAU,aAAa,CAAC;CAGvE,MAAM,mBAAmB,iBAAiB,YAAY;CAEtD,MAAM,OACJ,QAAQ,iBAAiB,OAAO,CAAC,CACjC,kBAAkB,GAAG,KAAK,OAAO,EACjC,mBAAmB,EAAE,OAAO,OAAO,EACnC,CAAC"}
1
+ {"version":3,"file":"visual-page.mjs","names":[],"sources":["../../src/test/visual-page.tsx"],"sourcesContent":["import { createElement, type ComponentType } from 'react'\nimport { page } from 'vite-plus/test/browser'\nimport { render } from 'vitest-browser-react'\n\nimport { expect } from './browser'\n\nasync function waitForImages() {\n\tawait Promise.all(\n\t\tArray.from(document.images, (image) => {\n\t\t\tif (image.complete) return Promise.resolve()\n\t\t\treturn image.decode().catch(() => undefined)\n\t\t}),\n\t)\n}\n\ntype ScreenshotOptions = {\n\tcomponent: ComponentType\n\tname: string\n\twaitFor: (\n\t\tscreen: Awaited<ReturnType<typeof render>>,\n\t) => HTMLElement | SVGElement | null\n\tprepare?: (screen: Awaited<ReturnType<typeof render>>) => void | Promise<void>\n\tsetup?: () => void | Promise<void>\n\ttarget?: (screen: Awaited<ReturnType<typeof render>>) => HTMLElement\n\tfullPage?: boolean\n\tviewport?: { width: number; height: number }\n}\n\nexport async function expectComponentScreenshot({\n\tcomponent,\n\tname,\n\twaitFor,\n\tprepare,\n\tsetup,\n\ttarget = (screen) => screen.container,\n\tfullPage = true,\n\tviewport = { width: 1280, height: 720 },\n}: ScreenshotOptions) {\n\tlocalStorage.clear()\n\tdocument.body.replaceChildren()\n\tawait setup?.()\n\tawait page.viewport(viewport.width, viewport.height)\n\n\tconst container = document.body.appendChild(document.createElement('div'))\n\tcontainer.style.width = '100vw'\n\tcontainer.style.minHeight = '100vh'\n\n\tconst screen = await render(createElement(component), { container })\n\tawait prepare?.(screen)\n\tawait expect.element(waitFor(screen)).toBeVisible()\n\tawait document.fonts.ready\n\tawait waitForImages()\n\n\tif (fullPage) {\n\t\tconst frame = window.frameElement as HTMLIFrameElement | null\n\t\tif (frame) {\n\t\t\tframe.style.width = `${document.body.scrollWidth}px`\n\t\t\tframe.style.height = `${document.body.scrollHeight}px`\n\t\t}\n\t}\n\n\tawait expect.element(target(screen)).toMatchScreenshot(`${name}.png`, {\n\t\tscreenshotOptions: { scale: 'css' },\n\t})\n}\n"],"mappings":";;;;;AAMA,eAAe,gBAAgB;CAC9B,MAAM,QAAQ,IACb,MAAM,KAAK,SAAS,SAAS,UAAU;EACtC,IAAI,MAAM,UAAU,OAAO,QAAQ,SAAS;EAC5C,OAAO,MAAM,QAAQ,CAAC,YAAY,KAAA,EAAU;GAC3C,CACF;;AAgBF,eAAsB,0BAA0B,EAC/C,WACA,MACA,SACA,SACA,OACA,UAAU,WAAW,OAAO,WAC5B,WAAW,MACX,WAAW;CAAE,OAAO;CAAM,QAAQ;CAAK,IAClB;CACrB,aAAa,OAAO;CACpB,SAAS,KAAK,iBAAiB;CAC/B,MAAM,SAAS;CACf,MAAM,KAAK,SAAS,SAAS,OAAO,SAAS,OAAO;CAEpD,MAAM,YAAY,SAAS,KAAK,YAAY,SAAS,cAAc,MAAM,CAAC;CAC1E,UAAU,MAAM,QAAQ;CACxB,UAAU,MAAM,YAAY;CAE5B,MAAM,SAAS,MAAM,OAAO,cAAc,UAAU,EAAE,EAAE,WAAW,CAAC;CACpE,MAAM,UAAU,OAAO;CACvB,MAAM,OAAO,QAAQ,QAAQ,OAAO,CAAC,CAAC,aAAa;CACnD,MAAM,SAAS,MAAM;CACrB,MAAM,eAAe;CAErB,IAAI,UAAU;EACb,MAAM,QAAQ,OAAO;EACrB,IAAI,OAAO;GACV,MAAM,MAAM,QAAQ,GAAG,SAAS,KAAK,YAAY;GACjD,MAAM,MAAM,SAAS,GAAG,SAAS,KAAK,aAAa;;;CAIrD,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,kBAAkB,GAAG,KAAK,OAAO,EACrE,mBAAmB,EAAE,OAAO,OAAO,EACnC,CAAC"}
package/dist/vite.d.mts CHANGED
@@ -1,81 +1,73 @@
1
- import { TestProjectConfiguration } from "vite-plus";
1
+ import { TestProjectConfiguration, UserConfig } from "vite-plus";
2
2
 
3
- //#region src/workspace.d.ts
4
- declare const workspaceConfig: {
5
- fmt: {
6
- singleQuote: boolean;
7
- semi: boolean;
8
- useTabs: boolean;
9
- experimentalTailwindcss: {};
10
- printWidth: number;
11
- experimentalSortPackageJson: boolean;
12
- proseWrap: string;
13
- ignorePatterns: string[];
14
- overrides: {
15
- files: string[];
16
- options: {
17
- useTabs: boolean;
18
- };
19
- }[];
20
- };
21
- lint: {
22
- plugins: string[];
23
- categories: {};
3
+ //#region src/vite.d.ts
4
+ declare const fmt: {
5
+ singleQuote: true;
6
+ semi: false;
7
+ useTabs: true;
8
+ experimentalTailwindcss: {};
9
+ printWidth: number;
10
+ experimentalSortPackageJson: boolean;
11
+ proseWrap: "always";
12
+ ignorePatterns: string[];
13
+ overrides: {
14
+ files: string[];
24
15
  options: {
25
- typeAware: boolean;
26
- typeCheck: boolean;
16
+ useTabs: false;
27
17
  };
28
- rules: {
29
- 'no-empty-pattern': string;
30
- 'no-console': (string | {
31
- allow: string[];
32
- })[];
18
+ }[];
19
+ };
20
+ declare const lint: {
21
+ plugins: ("eslint" | "react" | "unicorn" | "typescript" | "oxc" | "import" | "jsdoc" | "jsx-a11y" | "react-perf" | "promise" | "node")[];
22
+ categories: {};
23
+ options: {
24
+ typeAware: true;
25
+ typeCheck: true;
26
+ };
27
+ rules: {
28
+ 'no-empty-pattern': "off";
29
+ 'no-console': ["error", {
30
+ allow: string[];
31
+ }];
32
+ };
33
+ settings: {
34
+ 'jsx-a11y': {
35
+ components: {};
36
+ attributes: {};
33
37
  };
34
- settings: {
35
- 'jsx-a11y': {
36
- components: {};
37
- attributes: {};
38
- };
39
- react: {
40
- formComponents: any[];
41
- linkComponents: any[];
42
- };
43
- jsdoc: {
44
- ignorePrivate: boolean;
45
- ignoreInternal: boolean;
46
- ignoreReplacesDocs: boolean;
47
- overrideReplacesDocs: boolean;
48
- augmentsExtendsReplacesDocs: boolean;
49
- implementsReplacesDocs: boolean;
50
- exemptDestructuredRootsFromChecks: boolean;
51
- tagNamePreference: {};
52
- };
38
+ react: {
39
+ formComponents: any[];
40
+ linkComponents: any[];
53
41
  };
54
- env: {
55
- builtin: boolean;
42
+ jsdoc: {
43
+ ignorePrivate: false;
44
+ ignoreInternal: false;
45
+ ignoreReplacesDocs: true;
46
+ overrideReplacesDocs: true;
47
+ augmentsExtendsReplacesDocs: false;
48
+ implementsReplacesDocs: false;
49
+ exemptDestructuredRootsFromChecks: false;
50
+ tagNamePreference: {};
56
51
  };
57
- globals: {};
58
- ignorePatterns: string[];
59
52
  };
60
- staged: {
61
- '*.{js,ts,tsx}': string;
53
+ env: {
54
+ builtin: true;
62
55
  };
56
+ globals: {};
57
+ ignorePatterns: string[];
63
58
  };
64
- //#endregion
65
- //#region src/vite.d.ts
66
59
  interface ProjectOverrides {
67
60
  server?: TestProjectConfiguration;
68
61
  browser?: TestProjectConfiguration;
69
62
  }
70
- interface AppConfigOptions {
71
- root?: string;
72
- projectOverrides?: ProjectOverrides;
73
- }
63
+ declare const test: (projectOverrides?: ProjectOverrides) => UserConfig["test"];
74
64
  declare const createAppConfig: ({
75
65
  root,
76
66
  projectOverrides
77
- }?: AppConfigOptions) => Record<string, unknown>;
78
- declare const viteConfig: typeof createAppConfig;
67
+ }: {
68
+ root?: string;
69
+ projectOverrides?: ProjectOverrides;
70
+ }) => UserConfig;
79
71
  //#endregion
80
- export { AppConfigOptions, createAppConfig, viteConfig, workspaceConfig };
72
+ export { createAppConfig, fmt, lint, test };
81
73
  //# sourceMappingURL=vite.d.mts.map
package/dist/vite.mjs CHANGED
@@ -60,79 +60,113 @@ function createStylesPlugin() {
60
60
  sideEffectOnly: true
61
61
  });
62
62
  }
63
- const workspaceConfig = {
64
- fmt: {
65
- singleQuote: true,
66
- semi: false,
67
- useTabs: true,
68
- experimentalTailwindcss: {},
69
- printWidth: 80,
70
- experimentalSortPackageJson: false,
71
- proseWrap: "always",
72
- ignorePatterns: [
73
- "**/.output",
74
- "**/dist/**",
75
- "pnpm-lock.yaml",
76
- "**/routeTree.gen.ts"
77
- ],
78
- overrides: [{
79
- files: ["*.{yaml,yml}"],
80
- options: { useTabs: false }
81
- }]
63
+ //#endregion
64
+ //#region src/vite.ts
65
+ const stylesSetup = "@aamini/config/setup/styles";
66
+ const fmt = {
67
+ singleQuote: true,
68
+ semi: false,
69
+ useTabs: true,
70
+ experimentalTailwindcss: {},
71
+ printWidth: 80,
72
+ experimentalSortPackageJson: false,
73
+ proseWrap: "always",
74
+ ignorePatterns: [
75
+ "**/.output",
76
+ "**/dist/**",
77
+ "pnpm-lock.yaml",
78
+ "**/routeTree.gen.ts"
79
+ ],
80
+ overrides: [{
81
+ files: ["*.{yaml,yml}"],
82
+ options: { useTabs: false }
83
+ }]
84
+ };
85
+ const lint = {
86
+ plugins: [
87
+ "eslint",
88
+ "unicorn",
89
+ "typescript",
90
+ "oxc",
91
+ "react",
92
+ "react-perf",
93
+ "import",
94
+ "jsdoc",
95
+ "jsx-a11y",
96
+ "node",
97
+ "promise"
98
+ ],
99
+ categories: {},
100
+ options: {
101
+ typeAware: true,
102
+ typeCheck: true
82
103
  },
83
- lint: {
84
- plugins: [
85
- "eslint",
86
- "unicorn",
87
- "typescript",
88
- "oxc",
89
- "react",
90
- "react-perf",
91
- "import",
92
- "jsdoc",
93
- "jsx-a11y",
94
- "node",
95
- "promise"
96
- ],
97
- categories: {},
98
- options: {
99
- typeAware: true,
100
- typeCheck: true
104
+ rules: {
105
+ "no-empty-pattern": "off",
106
+ "no-console": ["error", { allow: ["warn", "error"] }]
107
+ },
108
+ settings: {
109
+ "jsx-a11y": {
110
+ components: {},
111
+ attributes: {}
101
112
  },
102
- rules: {
103
- "no-empty-pattern": "off",
104
- "no-console": ["error", { allow: ["warn", "error"] }]
113
+ react: {
114
+ formComponents: [],
115
+ linkComponents: []
105
116
  },
106
- settings: {
107
- "jsx-a11y": {
108
- components: {},
109
- attributes: {}
110
- },
111
- react: {
112
- formComponents: [],
113
- linkComponents: []
114
- },
115
- jsdoc: {
116
- ignorePrivate: false,
117
- ignoreInternal: false,
118
- ignoreReplacesDocs: true,
119
- overrideReplacesDocs: true,
120
- augmentsExtendsReplacesDocs: false,
121
- implementsReplacesDocs: false,
122
- exemptDestructuredRootsFromChecks: false,
123
- tagNamePreference: {}
124
- }
125
- },
126
- env: { builtin: true },
127
- globals: {},
128
- ignorePatterns: ["**/dist/**"]
117
+ jsdoc: {
118
+ ignorePrivate: false,
119
+ ignoreInternal: false,
120
+ ignoreReplacesDocs: true,
121
+ overrideReplacesDocs: true,
122
+ augmentsExtendsReplacesDocs: false,
123
+ implementsReplacesDocs: false,
124
+ exemptDestructuredRootsFromChecks: false,
125
+ tagNamePreference: {}
126
+ }
129
127
  },
130
- staged: { "*.{js,ts,tsx}": "vp check --fix" }
128
+ env: { builtin: true },
129
+ globals: {},
130
+ ignorePatterns: ["**/dist/**"]
131
131
  };
132
- //#endregion
133
- //#region src/vite.ts
134
- const stylesSetup = "@aamini/config/setup/styles";
135
- const createAppConfig = ({ root = process.cwd(), projectOverrides } = {}) => ({
132
+ const test = (projectOverrides) => ({
133
+ passWithNoTests: true,
134
+ projects: [
135
+ {
136
+ extends: true,
137
+ test: {
138
+ name: "unit",
139
+ include: ["src/**/*.test.unit.ts"]
140
+ }
141
+ },
142
+ mergeConfig({
143
+ extends: true,
144
+ plugins: [createMswHandlersPlugin()],
145
+ test: {
146
+ name: "server",
147
+ include: ["src/**/*.test.ts"],
148
+ testTimeout: 3e4,
149
+ fileParallelism: false
150
+ }
151
+ }, projectOverrides?.server ?? {}),
152
+ mergeConfig({
153
+ extends: true,
154
+ plugins: [createMswHandlersPlugin(), createStylesPlugin()],
155
+ test: {
156
+ name: "browser",
157
+ include: ["src/**/*.test.tsx", "tests/**/*.test.tsx"],
158
+ setupFiles: [stylesSetup],
159
+ browser: {
160
+ instances: [{ browser: "chromium" }],
161
+ provider: playwright(),
162
+ enabled: true,
163
+ headless: true
164
+ }
165
+ }
166
+ }, projectOverrides?.browser ?? {})
167
+ ]
168
+ });
169
+ const createAppConfig = ({ root = process.cwd(), projectOverrides }) => ({
136
170
  root,
137
171
  resolve: {
138
172
  tsconfigPaths: true,
@@ -163,49 +197,12 @@ const createAppConfig = ({ root = process.cwd(), projectOverrides } = {}) => ({
163
197
  svgrOptions: { exportType: "default" }
164
198
  })
165
199
  ],
166
- fmt: workspaceConfig.fmt,
167
- lint: workspaceConfig.lint,
168
- staged: workspaceConfig.staged,
169
- test: {
170
- passWithNoTests: true,
171
- projects: [
172
- {
173
- extends: true,
174
- test: {
175
- name: "unit",
176
- include: ["src/**/*.test.unit.ts"]
177
- }
178
- },
179
- mergeConfig({
180
- extends: true,
181
- plugins: [createMswHandlersPlugin()],
182
- test: {
183
- name: "server",
184
- include: ["src/**/*.test.ts"],
185
- testTimeout: 3e4,
186
- fileParallelism: false
187
- }
188
- }, projectOverrides?.server ?? {}),
189
- mergeConfig({
190
- extends: true,
191
- plugins: [createMswHandlersPlugin(), createStylesPlugin()],
192
- test: {
193
- name: "browser",
194
- include: ["src/**/*.test.tsx", "tests/**/*.test.tsx"],
195
- setupFiles: [stylesSetup],
196
- browser: {
197
- instances: [{ browser: "chromium" }],
198
- provider: playwright(),
199
- enabled: true,
200
- headless: true
201
- }
202
- }
203
- }, projectOverrides?.browser ?? {})
204
- ]
205
- }
200
+ fmt,
201
+ lint,
202
+ staged: { "*.{js,ts,tsx}": "vp check --fix" },
203
+ test: test(projectOverrides)
206
204
  });
207
- const viteConfig = createAppConfig;
208
205
  //#endregion
209
- export { createAppConfig, viteConfig, workspaceConfig };
206
+ export { createAppConfig, fmt, lint, test };
210
207
 
211
208
  //# sourceMappingURL=vite.mjs.map
package/dist/vite.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.mjs","names":[],"sources":["../src/plugins/virtual-modules.ts","../src/workspace.ts","../src/vite.ts"],"sourcesContent":["import { existsSync } from 'node:fs'\nimport { resolve } from 'node:path'\nimport type { Plugin } from 'vite'\n\nconst HANDLER_LOCATIONS = [\n\t'__mocks__/handlers.ts',\n\t'__mocks__/handlers.js',\n\t'src/mocks/handlers.ts',\n\t'src/mocks/handlers.js',\n]\n\nconst STYLES_LOCATIONS = ['src/styles.css', 'src/index.css', 'src/app.css']\n\nfunction createVirtualFilePlugin({\n\tlocations,\n\tmoduleId,\n\tname,\n\tsideEffectOnly = false,\n}: {\n\tlocations: string[]\n\tmoduleId: string\n\tname: string\n\tsideEffectOnly?: boolean\n}): Plugin {\n\tconst resolvedModuleId = `\\0${moduleId}`\n\tlet root = process.cwd()\n\n\treturn {\n\t\tname,\n\t\tconfigResolved(config) {\n\t\t\troot = config.root\n\t\t},\n\t\tresolveId(id) {\n\t\t\tif (id === moduleId) return resolvedModuleId\n\t\t\treturn undefined\n\t\t},\n\t\tload(id) {\n\t\t\tif (id !== resolvedModuleId) return undefined\n\n\t\t\tfor (const location of locations) {\n\t\t\t\tconst fullPath = resolve(root, location)\n\t\t\t\tif (existsSync(fullPath)) {\n\t\t\t\t\tif (sideEffectOnly) return `import ${JSON.stringify(fullPath)}`\n\t\t\t\t\treturn `export { default } from ${JSON.stringify(fullPath)}`\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow new Error(\n\t\t\t\t`No file found for ${moduleId}. Expected one of:\\n${locations\n\t\t\t\t\t.map((location) => ` - ${resolve(root, location)}`)\n\t\t\t\t\t.join('\\n')}`,\n\t\t\t)\n\t\t},\n\t}\n}\n\nexport function createMswHandlersPlugin() {\n\treturn createVirtualFilePlugin({\n\t\tlocations: HANDLER_LOCATIONS,\n\t\tmoduleId: '@test/handlers',\n\t\tname: 'aamini-msw-handlers',\n\t})\n}\n\nexport function createStylesPlugin() {\n\treturn createVirtualFilePlugin({\n\t\tlocations: STYLES_LOCATIONS,\n\t\tmoduleId: '@test/styles',\n\t\tname: 'aamini-test-styles',\n\t\tsideEffectOnly: true,\n\t})\n}\n","const fmt = {\n\tsingleQuote: true,\n\tsemi: false,\n\tuseTabs: true,\n\texperimentalTailwindcss: {},\n\tprintWidth: 80,\n\texperimentalSortPackageJson: false,\n\tproseWrap: 'always',\n\tignorePatterns: [\n\t\t'**/.output',\n\t\t'**/dist/**',\n\t\t'pnpm-lock.yaml',\n\t\t'**/routeTree.gen.ts',\n\t],\n\toverrides: [\n\t\t{\n\t\t\tfiles: ['*.{yaml,yml}'],\n\t\t\toptions: { useTabs: false },\n\t\t},\n\t],\n}\n\nconst lint = {\n\tplugins: [\n\t\t'eslint',\n\t\t'unicorn',\n\t\t'typescript',\n\t\t'oxc',\n\t\t'react',\n\t\t'react-perf',\n\t\t'import',\n\t\t'jsdoc',\n\t\t'jsx-a11y',\n\t\t'node',\n\t\t'promise',\n\t],\n\tcategories: {},\n\toptions: {\n\t\ttypeAware: true,\n\t\ttypeCheck: true,\n\t},\n\trules: {\n\t\t'no-empty-pattern': 'off',\n\t\t'no-console': ['error', { allow: ['warn', 'error'] }],\n\t},\n\tsettings: {\n\t\t'jsx-a11y': { components: {}, attributes: {} },\n\t\treact: { formComponents: [], linkComponents: [] },\n\t\tjsdoc: {\n\t\t\tignorePrivate: false,\n\t\t\tignoreInternal: false,\n\t\t\tignoreReplacesDocs: true,\n\t\t\toverrideReplacesDocs: true,\n\t\t\taugmentsExtendsReplacesDocs: false,\n\t\t\timplementsReplacesDocs: false,\n\t\t\texemptDestructuredRootsFromChecks: false,\n\t\t\ttagNamePreference: {},\n\t\t},\n\t},\n\tenv: { builtin: true },\n\tglobals: {},\n\tignorePatterns: ['**/dist/**'],\n}\n\nexport const workspaceConfig = {\n\tfmt,\n\tlint,\n\tstaged: {\n\t\t'*.{js,ts,tsx}': 'vp check --fix',\n\t},\n}\n","import { nitro } from 'nitro/vite'\nimport { devtools } from '@tanstack/devtools-vite'\nimport { tanstackStart } from '@tanstack/react-start/plugin/vite'\nimport viteReact, { reactCompilerPreset } from '@vitejs/plugin-react'\nimport tailwindcss from '@tailwindcss/vite'\nimport babel from '@rolldown/plugin-babel'\nimport svgr from 'vite-plugin-svgr'\nimport { resolve } from 'node:path'\nimport { mergeConfig, type TestProjectConfiguration } from 'vite-plus'\nimport { playwright } from 'vite-plus/test/browser-playwright'\nimport {\n\tcreateMswHandlersPlugin,\n\tcreateStylesPlugin,\n} from './plugins/virtual-modules.ts'\nimport { workspaceConfig } from './workspace.ts'\n\nconst stylesSetup = '@aamini/config/setup/styles'\n\ninterface ProjectOverrides {\n\tserver?: TestProjectConfiguration\n\tbrowser?: TestProjectConfiguration\n}\n\nexport interface AppConfigOptions {\n\troot?: string\n\tprojectOverrides?: ProjectOverrides\n}\n\nexport const createAppConfig = ({\n\troot = process.cwd(),\n\tprojectOverrides,\n}: AppConfigOptions = {}): Record<string, unknown> => ({\n\troot,\n\tresolve: {\n\t\ttsconfigPaths: true,\n\t\tdedupe: ['react', 'react-dom'],\n\t\talias: [\n\t\t\t{ find: '@/mocks', replacement: resolve(root, '__mocks__') },\n\t\t\t{ find: '@', replacement: resolve(root, 'src') },\n\t\t\t{ find: '@tests', replacement: resolve(root, 'tests') },\n\t\t],\n\t},\n\tplugins: [\n\t\ttanstackStart(),\n\t\t...(process.env.VITEST === 'true'\n\t\t\t? []\n\t\t\t: [devtools({ injectSource: { enabled: false } }), nitro()]),\n\t\ttailwindcss(),\n\t\tviteReact(),\n\t\tbabel({ presets: [reactCompilerPreset()] }),\n\t\tsvgr({\n\t\t\tinclude: '**/*.svg',\n\t\t\tsvgrOptions: { exportType: 'default' },\n\t\t}),\n\t],\n\tfmt: workspaceConfig.fmt,\n\tlint: workspaceConfig.lint,\n\tstaged: workspaceConfig.staged,\n\ttest: {\n\t\tpassWithNoTests: true,\n\t\tprojects: [\n\t\t\t{\n\t\t\t\textends: true,\n\t\t\t\ttest: {\n\t\t\t\t\tname: 'unit',\n\t\t\t\t\tinclude: ['src/**/*.test.unit.ts'],\n\t\t\t\t},\n\t\t\t},\n\t\t\tmergeConfig(\n\t\t\t\t{\n\t\t\t\t\textends: true,\n\t\t\t\t\tplugins: [createMswHandlersPlugin()],\n\t\t\t\t\ttest: {\n\t\t\t\t\t\tname: 'server',\n\t\t\t\t\t\tinclude: ['src/**/*.test.ts'],\n\t\t\t\t\t\ttestTimeout: 30_000,\n\t\t\t\t\t\tfileParallelism: false,\n\t\t\t\t\t},\n\t\t\t\t} satisfies TestProjectConfiguration as Record<string, unknown>,\n\t\t\t\t(projectOverrides?.server ?? {}) as Record<string, unknown>,\n\t\t\t),\n\t\t\tmergeConfig(\n\t\t\t\t{\n\t\t\t\t\textends: true,\n\t\t\t\t\tplugins: [createMswHandlersPlugin(), createStylesPlugin()],\n\t\t\t\t\ttest: {\n\t\t\t\t\t\tname: 'browser',\n\t\t\t\t\t\tinclude: ['src/**/*.test.tsx', 'tests/**/*.test.tsx'],\n\t\t\t\t\t\tsetupFiles: [stylesSetup],\n\t\t\t\t\t\tbrowser: {\n\t\t\t\t\t\t\tinstances: [{ browser: 'chromium' }],\n\t\t\t\t\t\t\tprovider: playwright(),\n\t\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\t\theadless: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} satisfies TestProjectConfiguration as Record<string, unknown>,\n\t\t\t\t(projectOverrides?.browser ?? {}) as Record<string, unknown>,\n\t\t\t),\n\t\t],\n\t},\n})\n\nexport const viteConfig: typeof createAppConfig = createAppConfig\nexport { workspaceConfig } from './workspace.ts'\n"],"mappings":"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"}
1
+ {"version":3,"file":"vite.mjs","names":[],"sources":["../src/plugins/virtual-modules.ts","../src/vite.ts"],"sourcesContent":["import { existsSync } from 'node:fs'\nimport { resolve } from 'node:path'\nimport type { Plugin } from 'vite'\n\nconst HANDLER_LOCATIONS = [\n\t'__mocks__/handlers.ts',\n\t'__mocks__/handlers.js',\n\t'src/mocks/handlers.ts',\n\t'src/mocks/handlers.js',\n]\n\nconst STYLES_LOCATIONS = ['src/styles.css', 'src/index.css', 'src/app.css']\n\nfunction createVirtualFilePlugin({\n\tlocations,\n\tmoduleId,\n\tname,\n\tsideEffectOnly = false,\n}: {\n\tlocations: string[]\n\tmoduleId: string\n\tname: string\n\tsideEffectOnly?: boolean\n}): Plugin {\n\tconst resolvedModuleId = `\\0${moduleId}`\n\tlet root = process.cwd()\n\n\treturn {\n\t\tname,\n\t\tconfigResolved(config) {\n\t\t\troot = config.root\n\t\t},\n\t\tresolveId(id) {\n\t\t\tif (id === moduleId) return resolvedModuleId\n\t\t\treturn undefined\n\t\t},\n\t\tload(id) {\n\t\t\tif (id !== resolvedModuleId) return undefined\n\n\t\t\tfor (const location of locations) {\n\t\t\t\tconst fullPath = resolve(root, location)\n\t\t\t\tif (existsSync(fullPath)) {\n\t\t\t\t\tif (sideEffectOnly) return `import ${JSON.stringify(fullPath)}`\n\t\t\t\t\treturn `export { default } from ${JSON.stringify(fullPath)}`\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow new Error(\n\t\t\t\t`No file found for ${moduleId}. Expected one of:\\n${locations\n\t\t\t\t\t.map((location) => ` - ${resolve(root, location)}`)\n\t\t\t\t\t.join('\\n')}`,\n\t\t\t)\n\t\t},\n\t}\n}\n\nexport function createMswHandlersPlugin() {\n\treturn createVirtualFilePlugin({\n\t\tlocations: HANDLER_LOCATIONS,\n\t\tmoduleId: '@test/handlers',\n\t\tname: 'aamini-msw-handlers',\n\t})\n}\n\nexport function createStylesPlugin() {\n\treturn createVirtualFilePlugin({\n\t\tlocations: STYLES_LOCATIONS,\n\t\tmoduleId: '@test/styles',\n\t\tname: 'aamini-test-styles',\n\t\tsideEffectOnly: true,\n\t})\n}\n","import { nitro } from 'nitro/vite'\nimport { devtools } from '@tanstack/devtools-vite'\nimport { tanstackStart } from '@tanstack/react-start/plugin/vite'\nimport viteReact, { reactCompilerPreset } from '@vitejs/plugin-react'\nimport tailwindcss from '@tailwindcss/vite'\nimport babel from '@rolldown/plugin-babel'\nimport svgr from 'vite-plugin-svgr'\nimport { resolve } from 'node:path'\nimport {\n\tmergeConfig,\n\ttype UserConfig,\n\ttype TestProjectConfiguration,\n} from 'vite-plus'\nimport { playwright } from 'vite-plus/test/browser-playwright'\nimport {\n\tcreateMswHandlersPlugin,\n\tcreateStylesPlugin,\n} from './plugins/virtual-modules.ts'\n\nconst stylesSetup = '@aamini/config/setup/styles'\n\nexport const fmt = {\n\tsingleQuote: true,\n\tsemi: false,\n\tuseTabs: true,\n\texperimentalTailwindcss: {},\n\tprintWidth: 80,\n\texperimentalSortPackageJson: false,\n\tproseWrap: 'always',\n\tignorePatterns: [\n\t\t'**/.output',\n\t\t'**/dist/**',\n\t\t'pnpm-lock.yaml',\n\t\t'**/routeTree.gen.ts',\n\t],\n\toverrides: [\n\t\t{\n\t\t\tfiles: ['*.{yaml,yml}'],\n\t\t\toptions: { useTabs: false },\n\t\t},\n\t],\n} satisfies UserConfig['fmt']\n\nexport const lint = {\n\tplugins: [\n\t\t'eslint',\n\t\t'unicorn',\n\t\t'typescript',\n\t\t'oxc',\n\t\t'react',\n\t\t'react-perf',\n\t\t'import',\n\t\t'jsdoc',\n\t\t'jsx-a11y',\n\t\t'node',\n\t\t'promise',\n\t],\n\tcategories: {},\n\toptions: {\n\t\ttypeAware: true,\n\t\ttypeCheck: true,\n\t},\n\trules: {\n\t\t'no-empty-pattern': 'off',\n\t\t'no-console': ['error', { allow: ['warn', 'error'] }],\n\t},\n\tsettings: {\n\t\t'jsx-a11y': { components: {}, attributes: {} },\n\t\treact: { formComponents: [], linkComponents: [] },\n\t\tjsdoc: {\n\t\t\tignorePrivate: false,\n\t\t\tignoreInternal: false,\n\t\t\tignoreReplacesDocs: true,\n\t\t\toverrideReplacesDocs: true,\n\t\t\taugmentsExtendsReplacesDocs: false,\n\t\t\timplementsReplacesDocs: false,\n\t\t\texemptDestructuredRootsFromChecks: false,\n\t\t\ttagNamePreference: {},\n\t\t},\n\t},\n\tenv: { builtin: true },\n\tglobals: {},\n\tignorePatterns: ['**/dist/**'],\n} satisfies UserConfig['lint']\n\ninterface ProjectOverrides {\n\tserver?: TestProjectConfiguration\n\tbrowser?: TestProjectConfiguration\n}\n\nexport const test = (\n\tprojectOverrides?: ProjectOverrides,\n): UserConfig['test'] => ({\n\tpassWithNoTests: true,\n\tprojects: [\n\t\t{\n\t\t\textends: true,\n\t\t\ttest: {\n\t\t\t\tname: 'unit',\n\t\t\t\tinclude: ['src/**/*.test.unit.ts'],\n\t\t\t},\n\t\t},\n\t\tmergeConfig(\n\t\t\t{\n\t\t\t\textends: true,\n\t\t\t\tplugins: [createMswHandlersPlugin()],\n\t\t\t\ttest: {\n\t\t\t\t\tname: 'server',\n\t\t\t\t\tinclude: ['src/**/*.test.ts'],\n\t\t\t\t\ttestTimeout: 30_000,\n\t\t\t\t\tfileParallelism: false,\n\t\t\t\t},\n\t\t\t} satisfies TestProjectConfiguration as Record<string, unknown>,\n\t\t\t(projectOverrides?.server ?? {}) as Record<string, unknown>,\n\t\t),\n\t\tmergeConfig(\n\t\t\t{\n\t\t\t\textends: true,\n\t\t\t\tplugins: [createMswHandlersPlugin(), createStylesPlugin()],\n\t\t\t\ttest: {\n\t\t\t\t\tname: 'browser',\n\t\t\t\t\tinclude: ['src/**/*.test.tsx', 'tests/**/*.test.tsx'],\n\t\t\t\t\tsetupFiles: [stylesSetup],\n\t\t\t\t\tbrowser: {\n\t\t\t\t\t\tinstances: [{ browser: 'chromium' }],\n\t\t\t\t\t\tprovider: playwright(),\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\theadless: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} satisfies TestProjectConfiguration as Record<string, unknown>,\n\t\t\t(projectOverrides?.browser ?? {}) as Record<string, unknown>,\n\t\t),\n\t],\n})\n\nexport const createAppConfig = ({\n\troot = process.cwd(),\n\tprojectOverrides,\n}: {\n\troot?: string\n\tprojectOverrides?: ProjectOverrides\n}): UserConfig => ({\n\troot,\n\tresolve: {\n\t\ttsconfigPaths: true,\n\t\tdedupe: ['react', 'react-dom'],\n\t\talias: [\n\t\t\t{ find: '@/mocks', replacement: resolve(root, '__mocks__') },\n\t\t\t{ find: '@', replacement: resolve(root, 'src') },\n\t\t\t{ find: '@tests', replacement: resolve(root, 'tests') },\n\t\t],\n\t},\n\tplugins: [\n\t\ttanstackStart(),\n\t\t...(process.env.VITEST === 'true'\n\t\t\t? []\n\t\t\t: [devtools({ injectSource: { enabled: false } }), nitro()]),\n\t\ttailwindcss(),\n\t\tviteReact(),\n\t\tbabel({ presets: [reactCompilerPreset()] }),\n\t\tsvgr({\n\t\t\tinclude: '**/*.svg',\n\t\t\tsvgrOptions: { exportType: 'default' },\n\t\t}),\n\t],\n\tfmt: fmt,\n\tlint: lint,\n\tstaged: {\n\t\t'*.{js,ts,tsx}': 'vp check --fix',\n\t},\n\ttest: test(projectOverrides),\n})\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aamini/config",
3
- "version": "0.0.15",
3
+ "version": "0.0.17",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "repository": {
@@ -31,6 +31,7 @@
31
31
  },
32
32
  "scripts": {
33
33
  "build": "vp pack",
34
+ "build:watch": "vp pack --watch",
34
35
  "bump": "npm version patch --no-git-tag-version",
35
36
  "pack": "vp pack",
36
37
  "prepublishOnly": "vp run build"
package/dist/msw.d.mts DELETED
@@ -1,3 +0,0 @@
1
- import { HttpResponse, RequestHandler, graphql, http } from "msw";
2
- import { SetupWorker, setupWorker } from "msw/browser";
3
- export { HttpResponse, type RequestHandler, type SetupWorker, graphql, http, setupWorker };
package/dist/msw.mjs DELETED
@@ -1,3 +0,0 @@
1
- import { HttpResponse, graphql, http } from "msw";
2
- import { setupWorker } from "msw/browser";
3
- export { HttpResponse, graphql, http, setupWorker };