Cleans up the codebase by removing unnecessary console log statements. These logs were primarily used for debugging and are no longer needed in the production code. This reduces noise in the console and improves overall performance.
54 lines
No EOL
1.3 KiB
JavaScript
54 lines
No EOL
1.3 KiB
JavaScript
import * as esbuild from 'esbuild';
|
|
import { readdir, rename } from 'fs/promises';
|
|
import { join, dirname, basename, extname } from 'path';
|
|
|
|
// Convert PascalCase to kebab-case
|
|
function toKebabCase(str) {
|
|
return str.replace(/([A-Z])/g, '-$1').toLowerCase().replace(/^-/, '');
|
|
}
|
|
|
|
// Recursively rename files to kebab-case
|
|
async function renameFiles(dir) {
|
|
const entries = await readdir(dir, { withFileTypes: true });
|
|
|
|
for (const entry of entries) {
|
|
const fullPath = join(dir, entry.name);
|
|
|
|
if (entry.isDirectory()) {
|
|
await renameFiles(fullPath);
|
|
} else if (entry.isFile() && extname(entry.name) === '.js') {
|
|
const baseName = basename(entry.name, '.js');
|
|
const kebabName = toKebabCase(baseName);
|
|
|
|
if (baseName !== kebabName) {
|
|
const newPath = join(dirname(fullPath), kebabName + '.js');
|
|
await rename(fullPath, newPath);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Build with esbuild
|
|
async function build() {
|
|
try {
|
|
|
|
await esbuild.build({
|
|
entryPoints: ['src/index.ts'],
|
|
bundle: true,
|
|
outfile: 'wwwroot/js/calendar.js',
|
|
format: 'esm',
|
|
sourcemap: 'inline',
|
|
target: 'es2020',
|
|
minify: false,
|
|
keepNames: true,
|
|
platform: 'browser'
|
|
});
|
|
|
|
|
|
} catch (error) {
|
|
console.error('Build failed:', error);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
build(); |