Update templates.js

pull/7406/head
tugcekucukoglu 2025-03-11 11:58:51 +03:00
parent 70e8708db9
commit 5ff6e7dd37
1 changed files with 82 additions and 93 deletions

View File

@ -1,7 +1,7 @@
import pkg from '@/package.json'; import pkg from '@/package.json';
//import Aura from '@/presets/aura'; //import Aura from '@/presets/aura';
//import Lara from '@/presets/lara'; //import Lara from '@/presets/lara';
import { isArray, isDate, isFunction, isObject } from '@primeuix/utils/object'; // import { isArray, isDate, isFunction, isObject } from '@primeuix/utils/object';
import { services } from './services'; import { services } from './services';
const PrimeVue = { const PrimeVue = {
@ -26,9 +26,9 @@ const core_dependencies = {
}; };
// create-vue -> https://github.com/vuejs/create-vue // create-vue -> https://github.com/vuejs/create-vue
const getVueApp = (props = {}, sourceType) => { const getVueApp = (props = {}) => {
const path = 'src/'; const path = 'src/';
const { code: sources, title = 'primevue_demo', description = '', service, extPages, dependencies: deps, component, extFiles, embedded } = props; const { code: sources, title = 'primevue_demo', description = '', service, extPages, dependencies: deps, component } = props;
const dependencies = { ...core_dependencies, ...deps }; const dependencies = { ...core_dependencies, ...deps };
const fileExtension = '.vue'; const fileExtension = '.vue';
@ -47,16 +47,6 @@ const getVueApp = (props = {}, sourceType) => {
}; };
}); });
let extFilesSource = extFiles
? embedded
? extFiles['composition']
: extFiles[sourceType.language]
? { ...extFiles[sourceType.language] }
: Object.keys(extFiles)
.filter((k) => !sourceTypes.includes(k))
.reduce((result, current) => (result[current] = extFiles[current]) && result, {})
: {};
if (deps !== null && component !== null) { if (deps !== null && component !== null) {
imports += `import ${component} from 'primevue/${component.toLowerCase()}'; imports += `import ${component} from 'primevue/${component.toLowerCase()}';
`; `;
@ -443,8 +433,7 @@ export const router = createRouter({
</g> </g>
</svg>` </svg>`
}, },
...routeFiles, ...routeFiles
...extFilesSource
}; };
if (extPages && extPages.length >= 1) { if (extPages && extPages.length >= 1) {
@ -555,7 +544,7 @@ export default {
} }
}, },
}; };
<\/script> <\\/script>
` `
}; };
@ -727,7 +716,7 @@ export default {
} }
} }
}; };
<\/script> <\\/script>
` `
}; };
@ -757,89 +746,89 @@ export default {
}; };
// @todo - Refactor // @todo - Refactor
const stringify = (value, indent = 2, currentIndent = 0) => { // const stringify = (value, indent = 2, currentIndent = 0) => {
const currentIndentStr = ' '.repeat(currentIndent); // const currentIndentStr = ' '.repeat(currentIndent);
const nextIndentStr = ' '.repeat(currentIndent + indent); // const nextIndentStr = ' '.repeat(currentIndent + indent);
if (isArray(value)) { // if (isArray(value)) {
return '[' + value.map((v) => stringify(v, indent, currentIndent + indent)).join(', ') + ']'; // return '[' + value.map((v) => stringify(v, indent, currentIndent + indent)).join(', ') + ']';
} else if (isDate(value)) { // } else if (isDate(value)) {
return value.toISOString(); // return value.toISOString();
} else if (isFunction(value)) { // } else if (isFunction(value)) {
return value // return value
.toString() // .toString()
.split('\n') // .split('\n')
.map((line, i, arr) => { // .map((line, i, arr) => {
try { // try {
return process?.dev ? line : i === 0 ? line : arr.length - 1 === i ? ' '.repeat(2) + line : currentIndentStr + line; // return process?.dev ? line : i === 0 ? line : arr.length - 1 === i ? ' '.repeat(2) + line : currentIndentStr + line;
} catch { // } catch {
return i === 0 ? line : arr.length - 1 === i ? ' '.repeat(2) + line : currentIndentStr + line; // return i === 0 ? line : arr.length - 1 === i ? ' '.repeat(2) + line : currentIndentStr + line;
} // }
}) // })
.join('\n'); // .join('\n');
} else if (isObject(value)) { // } else if (isObject(value)) {
return ( // return (
'{\n' + // '{\n' +
Object.entries(value) // Object.entries(value)
.map(([k, v]) => `${nextIndentStr}${k}: ${stringify(v, indent, currentIndent + indent)}`) // .map(([k, v]) => `${nextIndentStr}${k}: ${stringify(v, indent, currentIndent + indent)}`)
.join(',\n') + // .join(',\n') +
`\n${currentIndentStr}` + // `\n${currentIndentStr}` +
'}' // '}'
); // );
} else { // } else {
return JSON.stringify(value); // return JSON.stringify(value);
} // }
}; // };
const createPresetFiles = (presetName, stringPresetName) => { // const createPresetFiles = (presetName, stringPresetName) => {
const presetPath = `${path}presets/${stringPresetName}`; // const presetPath = `${path}presets/${stringPresetName}`;
const imports = []; // const imports = [];
const keys = []; // const keys = [];
const directivesKeys = []; // const directivesKeys = [];
Object.entries(presetName).forEach(([name, value]) => { // Object.entries(presetName).forEach(([name, value]) => {
if (name === 'global') { // if (name === 'global') {
imports.push(`import ${name} from './${name}'`); // imports.push(`import ${name} from './${name}'`);
keys.push(name); // keys.push(name);
files[`${presetPath}/${name}.js`] = { // files[`${presetPath}/${name}.js`] = {
content: `export default { // content: `export default {
css: \`${value?.css}\` // css: \`${value?.css}\`
}` // }`
}; // };
} else if (name === 'directives') { // } else if (name === 'directives') {
Object.entries(value).forEach(([dname, dvalue]) => { // Object.entries(value).forEach(([dname, dvalue]) => {
const _name = dname === 'badge' ? 'badgedirective' : dname; // const _name = dname === 'badge' ? 'badgedirective' : dname;
imports.push(`import ${_name} from './${_name}'`); // imports.push(`import ${_name} from './${_name}'`);
directivesKeys.push(dname === 'badge' ? `badge: badgedirective` : dname); // directivesKeys.push(dname === 'badge' ? `badge: badgedirective` : dname);
files[`${presetPath}/${_name}/index.js`] = { // files[`${presetPath}/${_name}/index.js`] = {
content: `export default ${stringify(dvalue)}` // content: `export default ${stringify(dvalue)}`
}; // };
}); // });
} else { // } else {
imports.push(`import ${name} from './${name}'`); // imports.push(`import ${name} from './${name}'`);
keys.push(name); // keys.push(name);
files[`${presetPath}/${name}/index.js`] = { // files[`${presetPath}/${name}/index.js`] = {
content: `export default ${stringify(value)}` // content: `export default ${stringify(value)}`
}; // };
} // }
}); // });
files[`${path}presets/${stringPresetName}/index.js`] = { // files[`${path}presets/${stringPresetName}/index.js`] = {
content: `${imports.join(';\n')} // content: `${imports.join(';\n')}
export default { // export default {
directives: { // directives: {
${directivesKeys.join(',\n\t\t')} // ${directivesKeys.join(',\n\t\t')}
}, // },
${keys.join(',\n\t')} // ${keys.join(',\n\t')}
} // }
` // `
}; // };
}; // };
createPresetFiles(Lara, 'lara'); // createPresetFiles(Lara, 'lara');
createPresetFiles(Aura, 'aura'); // createPresetFiles(Aura, 'aura');
return { files, dependencies, sourceFileName }; return { files, dependencies, sourceFileName };
}; };