Initial commit: Calendar Plantempus project setup with TypeScript, ASP.NET Core, and event-driven architecture
This commit is contained in:
commit
f06c02121c
38 changed files with 8233 additions and 0 deletions
58
build.js
Normal file
58
build.js
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
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);
|
||||
console.log(`Renamed: ${entry.name} -> ${kebabName}.js`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Build with esbuild
|
||||
async function build() {
|
||||
try {
|
||||
console.log('Building TypeScript files...');
|
||||
|
||||
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'
|
||||
});
|
||||
|
||||
console.log('Bundle created: js/calendar.js');
|
||||
|
||||
console.log('Build completed successfully!');
|
||||
} catch (error) {
|
||||
console.error('Build failed:', error);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
build();
|
||||
Loading…
Add table
Add a link
Reference in a new issue