v_2.0
This commit is contained in:
parent
a4fa47b1c7
commit
b93cdba852
9 changed files with 2154 additions and 0 deletions
67
build.js
Normal file
67
build.js
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const SRC_DIR = 'src';
|
||||
const DIST_DIR = 'dist';
|
||||
const OUTPUT_FILE = path.join(DIST_DIR, 'power-flux-card.js');
|
||||
|
||||
// Ensure dist dir exists
|
||||
if (!fs.existsSync(DIST_DIR)){
|
||||
fs.mkdirSync(DIST_DIR);
|
||||
}
|
||||
|
||||
// Process Languages
|
||||
console.log('Processing languages...');
|
||||
const langFiles = fs.readdirSync(SRC_DIR).filter(file => file.startsWith('lang-') && file.endsWith('.js'));
|
||||
let langsScript = '';
|
||||
|
||||
langFiles.forEach(file => {
|
||||
const langCode = file.replace('lang-', '').replace('.js', '');
|
||||
|
||||
let content = fs.readFileSync(path.join(SRC_DIR, file), 'utf8');
|
||||
// Extract object
|
||||
content = content.replace('export default', '').trim();
|
||||
if (content.endsWith(';')) {
|
||||
content = content.slice(0, -1);
|
||||
}
|
||||
|
||||
const varName = langCode;
|
||||
|
||||
langsScript += `const ${varName} = ${content};\n`;
|
||||
});
|
||||
|
||||
// Process Editor
|
||||
console.log('Processing editor...');
|
||||
let editorContent = fs.readFileSync(path.join(SRC_DIR, 'power-flux-card-editor.js'), 'utf8');
|
||||
// Remove imports
|
||||
editorContent = editorContent.replace(/import .* from .*/g, '');
|
||||
|
||||
// Process Main Card
|
||||
console.log('Processing main card...');
|
||||
let mainContent = fs.readFileSync(path.join(SRC_DIR, 'power-flux-card.js'), 'utf8');
|
||||
// Remove imports
|
||||
mainContent = mainContent.replace(/import .* from .*/g, '');
|
||||
|
||||
// Replace getConfigElement
|
||||
mainContent = mainContent.replace(
|
||||
/static async getConfigElement\(\) \{[\s\S]*?return document\.createElement\("power-flux-card-editor"\);\s*\}/,
|
||||
`static async getConfigElement() { return document.createElement("power-flux-card-editor"); }`
|
||||
);
|
||||
|
||||
// 5. Combine everything
|
||||
console.log('Writing output...');
|
||||
const finalContent = `
|
||||
/**
|
||||
* Power Flux Card (Bundled)
|
||||
* Generated by build.js
|
||||
*/
|
||||
${langsScript}
|
||||
${imagesScript}
|
||||
|
||||
${editorContent}
|
||||
|
||||
${mainContent}
|
||||
`;
|
||||
|
||||
fs.writeFileSync(OUTPUT_FILE, finalContent);
|
||||
console.log(`Build complete: ${OUTPUT_FILE}`);
|
||||
Loading…
Add table
Add a link
Reference in a new issue