From 238b59fd9fca9790a50df9e5d13788416d3a3dc1 Mon Sep 17 00:00:00 2001 From: Raihan Date: Sun, 1 Sep 2024 16:05:07 +0600 Subject: [PATCH] Rich templates and build copied to clipboard --- app.js | 11 ++++++++++- ops/select.js | 3 +-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app.js b/app.js index 41680eb..3e5a32b 100644 --- a/app.js +++ b/app.js @@ -42,6 +42,8 @@ const activeVariation = getActiveVariation(); if (!activeVariation) return console.log(color.red(`No active variation found!\n${color.yellow(`Please select a variation first using ${color.red('`npm run select`')}.`)}`)); const variationDir = path.join(rootPath, activeVariation.website, activeVariation.campaign, activeVariation.variation); if (!fs.existsSync(path.join(variationDir, 'dist'))) fs.mkdirSync(path.join(variationDir, 'dist')); +if (!fs.existsSync(path.join(variationDir, 'index.js'))) fs.writeFileSync(path.join(variationDir, 'index.js'), ''); +if (!fs.existsSync(path.join(variationDir, 'style.scss'))) fs.writeFileSync(path.join(variationDir, 'style.scss'), ''); function compileCss(variationDir) { try { @@ -68,7 +70,14 @@ function buildToDist(variationPath) { resolve(); }); } -if (buildOnly) return buildToDist(variationDir).then(() => console.log(color.green(`Build completed successfully @ ${color.italic(`${activeVariation.website} > ${activeVariation.campaign} > ${activeVariation.variation}`)}`))); +if (buildOnly) return buildToDist(variationDir).then(async () => { + console.log(color.green(`Build completed successfully & copied @ ${color.italic(`${activeVariation.website} > ${activeVariation.campaign} > ${activeVariation.variation}`)}`)); + const cssToCopy = fs.readFileSync(path.join(variationDir, 'dist', 'style.css')).toString(); + clipboard.writeSync(cssToCopy); + await (() => new Promise(r => setTimeout(r, 1e3)))(); + const jsToCopy = fs.readFileSync(path.join(variationDir, 'dist', 'index.js')).toString(); + clipboard.writeSync(jsToCopy); +}); app.get("/variation.js", (req, res) => { return res.sendFile(path.join(variationDir, 'dist', 'index.js')); diff --git a/ops/select.js b/ops/select.js index 060524b..d47c46e 100644 --- a/ops/select.js +++ b/ops/select.js @@ -112,8 +112,7 @@ let selectedWebsite = null, selectedCampaign = null, selectedVariation = null; fs.createWriteStream(path.join(variationPath, 'style.scss')).end(); } else { const templatePath = path.join(templatesPath, answeredTemplate); - fs.copyFileSync(path.join(templatePath, 'index.js'), path.join(variationPath, 'index.js')); - fs.copyFileSync(path.join(templatePath, 'style.scss'), path.join(variationPath, 'style.scss')); + fs.cpSync(templatePath, variationPath, { recursive: true }); } return resolve(selectedVariation); }).catch(reject);