Skip to content

Commit c981f9b

Browse files
committed
Adding paths after segregating functions for browser testing
1 parent 2d43006 commit c981f9b

File tree

2 files changed

+37
-2
lines changed

2 files changed

+37
-2
lines changed

utils/generate-types.js

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,44 @@ const __dirname = path.dirname(__filename);
1111

1212
const data = JSON.parse(fs.readFileSync(path.join(__dirname, '../docs/data.json')));
1313

14+
function findDtsFiles(dir, files = []) {
15+
// Only search in src directory
16+
const srcDir = path.join(__dirname, '../src');
17+
if (!dir.startsWith(srcDir)) {
18+
dir = srcDir;
19+
}
20+
21+
const entries = fs.readdirSync(dir, { withFileTypes: true });
22+
23+
for (const entry of entries) {
24+
const fullPath = path.join(dir, entry.name);
25+
if (entry.isDirectory()) {
26+
findDtsFiles(fullPath, files);
27+
} else if (entry.name.endsWith('.d.ts')) {
28+
// Get path relative to project root and normalize to forward slashes
29+
const relativePath = path.relative(path.join(__dirname, '..'), fullPath)
30+
.split(path.sep)
31+
.join('/');
32+
files.push(relativePath);
33+
}
34+
}
35+
return files;
36+
}
37+
1438
export function generateAllDeclarationFiles() {
15-
const { p5Types, globalTypes, fileTypes } = generateTypeDefinitions(data);
39+
const { p5Types: rawP5Types, globalTypes, fileTypes } = generateTypeDefinitions(data);
40+
41+
// Add .d.ts references to p5Types
42+
let p5Types = '// This file is auto-generated from JSDoc documentation\n\n';
43+
p5Types += '/// <reference types="./global.d.ts" />\n';
44+
45+
// Add references to all other .d.ts files
46+
const dtsFiles = findDtsFiles(path.join(__dirname, '..'));
47+
for (const file of dtsFiles) {
48+
p5Types += `/// <reference path="../${file}" />\n`;
49+
}
50+
p5Types += '\n';
51+
p5Types += rawP5Types;
1652

1753
const typesDir = path.join(process.cwd(), 'types');
1854
fs.mkdirSync(typesDir, { recursive: true });

utils/helper.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ export function generateTypeDefinitions(data) {
2929
function generateP5TypeDefinitions(organizedData) {
3030
let output = '// This file is auto-generated from JSDoc documentation\n\n';
3131

32-
output += '/// <reference types="./global.d.ts" />\n\n';
3332
output += `declare class p5 {\n`;
3433
output += ` constructor(sketch?: (p: p5) => void, node?: HTMLElement, sync?: boolean);\n\n`;
3534
const instanceItems = organizedData.classitems.filter(item =>

0 commit comments

Comments
 (0)