Skip to content

Commit 09e374c

Browse files
committed
chore(docs): remove need to ignore file, lint fix first
1 parent 1e232e5 commit 09e374c

File tree

3 files changed

+29
-27
lines changed

3 files changed

+29
-27
lines changed

eslint.config.mjs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,7 @@ export default tseslint.config(
4141
* Global ignores for common build and dependency directories
4242
*/
4343
{
44-
ignores: [
45-
"**/node_modules/**",
46-
"**/dist/**",
47-
"**/storybook-static/**",
48-
"**/docs-validation.generated.spec.tsx", // Auto-generated from .dev.mdx files
49-
],
44+
ignores: ["**/node_modules/**", "**/dist/**", "**/storybook-static/**"],
5045
},
5146
/**
5247
* Base ESLint recommended rules

packages/nimbus/tsconfig.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,5 @@
3434
// "@types-extensions",
3535
"node_modules/@types"
3636
]
37-
},
38-
"exclude": [
39-
"node_modules",
40-
"dist",
41-
"src/test/docs-validation.generated.spec.tsx"
42-
]
37+
}
4338
}

scripts/validate-docs-tests.ts

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,13 @@ function wrapRenderCalls(code: string): string {
103103
.join("\n");
104104
}
105105

106+
/**
107+
* Normalize imports to use double quotes (prettier standard)
108+
*/
109+
function normalizeImport(importStatement: string): string {
110+
return importStatement.replace(/'/g, '"');
111+
}
112+
106113
/**
107114
* Generate a complete test file from extracted blocks
108115
*/
@@ -122,7 +129,7 @@ function generateTestFile(tests: ExtractedTest[]): string {
122129
// Collect imports
123130
if (inImports && (trimmed.startsWith("import ") || trimmed === "")) {
124131
if (trimmed) {
125-
imports.add(trimmed);
132+
imports.add(normalizeImport(trimmed));
126133
}
127134
continue;
128135
}
@@ -148,34 +155,28 @@ function generateTestFile(tests: ExtractedTest[]): string {
148155
}
149156

150157
// Add required imports for provider wrapper
151-
imports.add("import { NimbusProvider } from '@commercetools/nimbus';");
158+
imports.add('import type { ReactNode } from "react";');
159+
imports.add('import { NimbusProvider } from "@commercetools/nimbus";');
152160

153161
// Combine into complete file with wrapper utility
154162
const importsArray = Array.from(imports).sort();
155163
const fileContent = [
156164
"// Auto-generated test file from .dev.mdx documentation",
157165
"// DO NOT EDIT - This file is generated by validate-docs-tests.ts",
158166
"",
167+
"import { describe, it, expect, vi } from 'vitest';",
159168
...importsArray,
160169
"",
161170
"// Wrapper utility to provide NimbusProvider context",
162171
"function renderWithProvider(ui: React.ReactElement) {",
163-
" const result = render(",
164-
" <NimbusProvider>",
165-
" {ui}",
166-
" </NimbusProvider>",
167-
" );",
168-
" ",
172+
" const result = render(<NimbusProvider>{ui}</NimbusProvider>);",
173+
"",
169174
" // Wrap rerender to also use provider",
170175
" const originalRerender = result.rerender;",
171-
" result.rerender = (rerenderUi: React.ReactElement) => {",
172-
" return originalRerender(",
173-
" <NimbusProvider>",
174-
" {rerenderUi}",
175-
" </NimbusProvider>",
176-
" );",
176+
" result.rerender = (rerenderUi: ReactNode) => {",
177+
" return originalRerender(<NimbusProvider>{rerenderUi}</NimbusProvider>);",
177178
" };",
178-
" ",
179+
"",
179180
" return result;",
180181
"}",
181182
"",
@@ -250,6 +251,17 @@ async function main() {
250251
`📝 Generated test file: ${relative(process.cwd(), tempTestFile)}\n`
251252
);
252253

254+
// Format with ESLint --fix (runs Prettier automatically)
255+
console.log("🎨 Formatting generated file...\n");
256+
try {
257+
execSync(`pnpm eslint ${tempTestFile} --fix`, {
258+
cwd: process.cwd(),
259+
stdio: "pipe", // Suppress output
260+
});
261+
} catch {
262+
console.warn("⚠️ Could not format file (continuing anyway)");
263+
}
264+
253265
// Run tests with Vitest
254266
console.log("🧪 Running extracted tests...\n");
255267
try {

0 commit comments

Comments
 (0)