From 42f40910873cfaeacc61ba78dfb82bb79db3ba9e Mon Sep 17 00:00:00 2001 From: Guz013 Date: Wed, 29 Nov 2023 16:33:24 -0300 Subject: [PATCH] =?UTF-8?q?feat(banners-lib):=20=E2=9C=A8=20read=20svg=20f?= =?UTF-8?q?iles=20without=20node:fs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added to the SVG converting script a line to create .svg.js files. These files are normal JS files that exports just a single string, the SVG file content. This way the library doesn't need a build step to embed these files and/or node:fs to read them. --- eslint.config.js | 3 + packages/banners/jsconfig.json | 6 +- packages/banners/scripts/inkscape-convert.js | 3 + packages/banners/static/horizontal-rtl.svg.js | 3 + packages/banners/static/horizontal.svg.js | 61 +++++++++++++++++++ packages/banners/static/vertical.svg.js | 3 + 6 files changed, 75 insertions(+), 4 deletions(-) create mode 100644 packages/banners/static/horizontal-rtl.svg.js create mode 100644 packages/banners/static/horizontal.svg.js create mode 100644 packages/banners/static/vertical.svg.js diff --git a/eslint.config.js b/eslint.config.js index 724bf46..bba2dd7 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,6 +1,9 @@ import { configs, defineConfig, presets } from '@eslegant/js'; export default defineConfig([ + { + ignores: ['**/*.svg.js'], + }, // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment ...presets.strict, configs.environments.node.strict.default, diff --git a/packages/banners/jsconfig.json b/packages/banners/jsconfig.json index 7ec282f..b096df2 100644 --- a/packages/banners/jsconfig.json +++ b/packages/banners/jsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../jsconfig.json", "include": [ - "./src/**/*.js", - "./scripts/**/*.js", - "./types.d.ts", - "./index.d.ts" + "./src/**/*", + "./scripts/**/*.js" ] } diff --git a/packages/banners/scripts/inkscape-convert.js b/packages/banners/scripts/inkscape-convert.js index 21dadc2..90176af 100644 --- a/packages/banners/scripts/inkscape-convert.js +++ b/packages/banners/scripts/inkscape-convert.js @@ -83,6 +83,9 @@ for (const p of paths) { const file = await fs.readFile(p); const svg = covert(file.toString()); + const fileContent = `/* eslint-disable */\nconst svg = \`${svg}\`;\nexport default svg;`; + + await fs.writeFile(p.replaceAll('.inkscape.svg', '.svg.js'), fileContent); await fs.writeFile(p.replaceAll('.inkscape.svg', '.svg'), svg); // eslint-disable-next-line no-console console.log(`File ${p.replace(process.cwd(), '')} converted!`); diff --git a/packages/banners/static/horizontal-rtl.svg.js b/packages/banners/static/horizontal-rtl.svg.js new file mode 100644 index 0000000..250af61 --- /dev/null +++ b/packages/banners/static/horizontal-rtl.svg.js @@ -0,0 +1,3 @@ +/* eslint-disable */ +const svg = `Subtitle placeholderTitle placeholder`; +export default svg; \ No newline at end of file diff --git a/packages/banners/static/horizontal.svg.js b/packages/banners/static/horizontal.svg.js new file mode 100644 index 0000000..958675e --- /dev/null +++ b/packages/banners/static/horizontal.svg.js @@ -0,0 +1,61 @@ +/* eslint-disable */ +const svg = ` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + content + subtitle + Subtitle placeholder + + Title placeholder + + + + + + +`; +export default svg; \ No newline at end of file diff --git a/packages/banners/static/vertical.svg.js b/packages/banners/static/vertical.svg.js new file mode 100644 index 0000000..cfe38a9 --- /dev/null +++ b/packages/banners/static/vertical.svg.js @@ -0,0 +1,3 @@ +/* eslint-disable */ +const svg = `Subtitle placeholderTitle placeholder`; +export default svg; \ No newline at end of file