-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbuild.js
More file actions
99 lines (82 loc) · 3.03 KB
/
build.js
File metadata and controls
99 lines (82 loc) · 3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
const fs = require('fs');
const path = require('path');
// Define source and destination directories
const srcDir = './src';
const publicDir = './public';
// Ensure public directory exists with images subdirectory
if (!fs.existsSync(publicDir)) {
fs.mkdirSync(publicDir, { recursive: true });
}
if (!fs.existsSync(path.join(publicDir, 'images'))) {
fs.mkdirSync(path.join(publicDir, 'images'), { recursive: true });
}
// Copy HTML, CSS, JS files to public
copyFileToPublic('index.html');
copyFileToPublic('styles.css');
// Copy JavaScript files
const jsSrcDir = path.join(srcDir, 'js');
const jsDestDir = path.join(publicDir, 'js');
if (fs.existsSync(jsSrcDir)) {
// Remove old js directory if it exists
if (fs.existsSync(jsDestDir)) {
fs.rmSync(jsDestDir, { recursive: true, force: true });
}
fs.mkdirSync(jsDestDir, { recursive: true });
const jsFiles = fs.readdirSync(jsSrcDir);
jsFiles.forEach(file => {
const srcPath = path.join(jsSrcDir, file);
const destPath = path.join(jsDestDir, file);
if (fs.statSync(srcPath).isFile()) {
fs.copyFileSync(srcPath, destPath);
console.log(`Copied ${file} to public/js directory`);
}
});
}
// Copy content files (RK3588 and RK1820 documentation)
const contentSrcDir = path.join(srcDir, 'content');
const contentDestDir = path.join(publicDir, 'content');
if (fs.existsSync(contentSrcDir)) {
// Remove old content directory if it exists
if (fs.existsSync(contentDestDir)) {
fs.rmSync(contentDestDir, { recursive: true, force: true });
}
copyDirectory(contentSrcDir, contentDestDir);
console.log('Copied content directory to public/content');
}
// Helper function to copy a single file to public
function copyFileToPublic(fileName) {
const srcPath = path.join(srcDir, fileName);
const destPath = path.join(publicDir, fileName);
if (fs.existsSync(srcPath)) {
fs.copyFileSync(srcPath, destPath);
console.log(`Copied ${fileName} to public directory`);
} else {
console.log(`${fileName} does not exist in src directory`);
}
}
// Helper function to recursively copy directories
function copyDirectory(src, dest) {
if (!fs.existsSync(src)) {
console.log(`Source directory does not exist: ${src}`);
return;
}
if (!fs.existsSync(dest)) {
fs.mkdirSync(dest, { recursive: true });
}
const items = fs.readdirSync(src);
for (const item of items) {
const srcPath = path.join(src, item);
const destPath = path.join(dest, item);
const stat = fs.statSync(srcPath);
if (stat.isDirectory()) {
copyDirectory(srcPath, destPath);
} else {
fs.copyFileSync(srcPath, destPath);
}
}
}
console.log('Build completed successfully!');
console.log('Files in public/:', fs.readdirSync(publicDir));
if (fs.existsSync(path.join(publicDir, 'content'))) {
console.log('Content directories:', fs.readdirSync(path.join(publicDir, 'content')));
}