don't swallow errors

This commit is contained in:
Cory LaViska
2023-06-07 16:14:25 -04:00
parent c37e4ba6b5
commit ca8ba2d16b
2 changed files with 67 additions and 81 deletions

View File

@@ -18,43 +18,38 @@ const embeds = {};
mkdirSync(themesDir, { recursive: true });
try {
// Gather an object containing the source of all files named "_filename.css" so we can embed them later
filesToEmbed.forEach(file => {
embeds[path.basename(file)] = fs.readFileSync(file, 'utf8');
// Gather an object containing the source of all files named "_filename.css" so we can embed them later
filesToEmbed.forEach(file => {
embeds[path.basename(file)] = fs.readFileSync(file, 'utf8');
});
// Loop through each theme file, copying the .css and generating a .js version for Lit users
files.forEach(file => {
let source = fs.readFileSync(file, 'utf8');
// If the source has "/* _filename.css */" in it, replace it with the embedded styles
Object.keys(embeds).forEach(key => {
source = source.replace(`/* ${key} */`, embeds[key]);
});
// Loop through each theme file, copying the .css and generating a .js version for Lit users
files.forEach(file => {
let source = fs.readFileSync(file, 'utf8');
// If the source has "/* _filename.css */" in it, replace it with the embedded styles
Object.keys(embeds).forEach(key => {
source = source.replace(`/* ${key} */`, embeds[key]);
});
const css = prettier.format(stripComments(source), {
parser: 'css'
});
let js = prettier.format(
`
import { css } from 'lit';
export default css\`
${css}
\`;
`,
{ parser: 'babel-ts' }
);
const cssFile = path.join(themesDir, path.basename(file));
const jsFile = path.join(themesDir, path.basename(file).replace('.css', '.styles.js'));
fs.writeFileSync(cssFile, css, 'utf8');
fs.writeFileSync(jsFile, js, 'utf8');
const css = prettier.format(stripComments(source), {
parser: 'css'
});
} catch (err) {
console.error(chalk.red('Error generating stylesheets!'));
console.error(err);
}
let js = prettier.format(
`
import { css } from 'lit';
export default css\`
${css}
\`;
`,
{ parser: 'babel-ts' }
);
const cssFile = path.join(themesDir, path.basename(file));
const jsFile = path.join(themesDir, path.basename(file).replace('.css', '.styles.js'));
fs.writeFileSync(cssFile, css, 'utf8');
fs.writeFileSync(jsFile, js, 'utf8');
});