From 0bd206f6d578f25de67f2b55a38290e503f6d618 Mon Sep 17 00:00:00 2001 From: Lars van Vianen Date: Wed, 3 Jan 2024 01:58:12 +0100 Subject: [PATCH] WIP --- dist/css/icon.gl.css | 100 +++++++++++++++++ dist/css/icon.gl.css.map | 1 + dist/css/icon.gl.min.css | 2 + dist/css/icon.gl.min.css.map | 1 + dist/scss/_size.scss | 154 +++++++++++++------------- dist/ts/icons/admin.ts | 3 + dist/ts/icons/api.ts | 3 + dist/ts/icons/home.ts | 5 + package-lock.json | 7 ++ package.json | 1 + script/js/index.js | 22 +--- script/js/index.js.map | 2 +- script/ts/class/DirectoryCleaner.ts | 58 ---------- script/ts/class/DirectoryCopier.ts | 77 ------------- script/ts/class/DirectoryCreator.ts | 64 ----------- script/ts/class/FileCopier.ts | 63 ----------- script/ts/class/FileRenamer.ts | 58 ---------- script/ts/class/FontGenerator.ts | 133 ---------------------- script/ts/class/JavaScriptMinifier.ts | 82 -------------- script/ts/class/PackageCreator.ts | 65 ----------- script/ts/class/StyleProcessor.ts | 96 ---------------- script/ts/class/SvgSpriteGenerator.ts | 98 ---------------- script/ts/class/TypeScriptCompiler.ts | 112 ------------------- script/ts/class/VersionWriter.ts | 57 ---------- script/ts/index.ts | 58 ++++++---- src/scss/_size.scss | 154 +++++++++++++------------- 26 files changed, 317 insertions(+), 1159 deletions(-) create mode 100644 dist/css/icon.gl.css create mode 100644 dist/css/icon.gl.css.map create mode 100644 dist/css/icon.gl.min.css create mode 100644 dist/css/icon.gl.min.css.map create mode 100644 dist/ts/icons/admin.ts create mode 100644 dist/ts/icons/api.ts create mode 100644 dist/ts/icons/home.ts delete mode 100644 script/ts/class/DirectoryCleaner.ts delete mode 100644 script/ts/class/DirectoryCopier.ts delete mode 100644 script/ts/class/DirectoryCreator.ts delete mode 100644 script/ts/class/FileCopier.ts delete mode 100644 script/ts/class/FileRenamer.ts delete mode 100644 script/ts/class/FontGenerator.ts delete mode 100644 script/ts/class/JavaScriptMinifier.ts delete mode 100644 script/ts/class/PackageCreator.ts delete mode 100644 script/ts/class/StyleProcessor.ts delete mode 100644 script/ts/class/SvgSpriteGenerator.ts delete mode 100644 script/ts/class/TypeScriptCompiler.ts delete mode 100644 script/ts/class/VersionWriter.ts diff --git a/dist/css/icon.gl.css b/dist/css/icon.gl.css new file mode 100644 index 00000000..817d6307 --- /dev/null +++ b/dist/css/icon.gl.css @@ -0,0 +1,100 @@ +/** +* icon.gl +* +* @description Icon Library +* @author Scape Agency (https://www.scape.agency) +* @version v0.0.1 +* @copyright 2020-2023 Scape Agency (https://www.scape.agency) +* @website https://www.icon.gl/ +* @repository https://github.com/scape-agency/icon.gl/ +* @license Apache 2.0 License (https://github.com/scape-agency/icon.gl/blob/main/LICENSE) +*/ +/** +TABLE OF CONTENTS +=============================================================================== +1. +2. +3. +*/ +.igl_1x { + font-size: 1em; +} + +.igl_2x { + font-size: 2em; +} + +.igl_3x { + font-size: 3em; +} + +.igl_4x { + font-size: 4em; +} + +.igl_5x { + font-size: 5em; +} + +.igl_6x { + font-size: 6em; +} + +.igl_7x { + font-size: 7em; +} + +.igl_8x { + font-size: 8em; +} + +.igl_9x { + font-size: 9em; +} + +.igl_10x { + font-size: 10em; +} + +.igl_icon-interactive:hover { + color: #0000cc; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); + transform: scale(1.1); + transition: all 0.3s ease-in-out; +} +.igl_icon-interactive:focus { + outline: 2px solid #6666ff; +} +.igl_icon-interactive:active { + color: #0000e6; +} +.igl_icon-interactive:disabled { + color: gray; + cursor: not-allowed; +} + +.igl_rotate_90 { + transform: rotate(90deg); +} + +.igl_rotate_180 { + transform: rotate(180deg); +} + +.igl_rotate_270 { + transform: rotate(270deg); +} + +.igl_flip-horizontal { + transform: scale(-1, 1); +} + +.igl_flip-vertical { + transform: scale(1, -1); +} + +.igl_flip-both, +.igl_flip-horizontal.igl_flip-vertical { + transform: scale(1, -1); +} +/*# sourceMappingURL=to.css.map */ \ No newline at end of file diff --git a/dist/css/icon.gl.css.map b/dist/css/icon.gl.css.map new file mode 100644 index 00000000..5b695ed9 --- /dev/null +++ b/dist/css/icon.gl.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["%3Cinput%20css%20-WZD-K%3E"],"names":[],"mappings":"AAAA;;;;;;;;;;CAUC;AACD;;;;;;CAMC;AACD;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,cAAc;EACd,wCAAwC;EACxC,qBAAqB;EACrB,gCAAgC;AAClC;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,cAAc;AAChB;AACA;EACE,WAAW;EACX,mBAAmB;AACrB;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,uBAAuB;AACzB;;AAEA;;EAEE,uBAAuB;AACzB","file":"to.css","sourcesContent":["/**\n* icon.gl\n*\n* @description Icon Library\n* @author Scape Agency (https://www.scape.agency)\n* @version v0.0.1\n* @copyright 2020-2023 Scape Agency (https://www.scape.agency)\n* @website https://www.icon.gl/\n* @repository https://github.com/scape-agency/icon.gl/\n* @license Apache 2.0 License (https://github.com/scape-agency/icon.gl/blob/main/LICENSE)\n*/\n/**\nTABLE OF CONTENTS\n===============================================================================\n1.\n2.\n3. \n*/\n.igl_1x {\n font-size: 1em;\n}\n\n.igl_2x {\n font-size: 2em;\n}\n\n.igl_3x {\n font-size: 3em;\n}\n\n.igl_4x {\n font-size: 4em;\n}\n\n.igl_5x {\n font-size: 5em;\n}\n\n.igl_6x {\n font-size: 6em;\n}\n\n.igl_7x {\n font-size: 7em;\n}\n\n.igl_8x {\n font-size: 8em;\n}\n\n.igl_9x {\n font-size: 9em;\n}\n\n.igl_10x {\n font-size: 10em;\n}\n\n.igl_icon-interactive:hover {\n color: #0000cc;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n transform: scale(1.1);\n transition: all 0.3s ease-in-out;\n}\n.igl_icon-interactive:focus {\n outline: 2px solid #6666ff;\n}\n.igl_icon-interactive:active {\n color: #0000e6;\n}\n.igl_icon-interactive:disabled {\n color: gray;\n cursor: not-allowed;\n}\n\n.igl_rotate_90 {\n transform: rotate(90deg);\n}\n\n.igl_rotate_180 {\n transform: rotate(180deg);\n}\n\n.igl_rotate_270 {\n transform: rotate(270deg);\n}\n\n.igl_flip-horizontal {\n transform: scale(-1, 1);\n}\n\n.igl_flip-vertical {\n transform: scale(1, -1);\n}\n\n.igl_flip-both,\n.igl_flip-horizontal.igl_flip-vertical {\n transform: scale(1, -1);\n}"]} \ No newline at end of file diff --git a/dist/css/icon.gl.min.css b/dist/css/icon.gl.min.css new file mode 100644 index 00000000..1f83198c --- /dev/null +++ b/dist/css/icon.gl.min.css @@ -0,0 +1,2 @@ +.igl_1x{font-size:1em}.igl_2x{font-size:2em}.igl_3x{font-size:3em}.igl_4x{font-size:4em}.igl_5x{font-size:5em}.igl_6x{font-size:6em}.igl_7x{font-size:7em}.igl_8x{font-size:8em}.igl_9x{font-size:9em}.igl_10x{font-size:10em}.igl_icon-interactive:hover{box-shadow:0 2px 4px rgba(0,0,0,.2);color:#00c;transform:scale(1.1);transition:all .3s ease-in-out}.igl_icon-interactive:focus{outline:2px solid #66f}.igl_icon-interactive:active{color:#0000e6}.igl_icon-interactive:disabled{color:gray;cursor:not-allowed}.igl_rotate_90{transform:rotate(90deg)}.igl_rotate_180{transform:rotate(180deg)}.igl_rotate_270{transform:rotate(270deg)}.igl_flip-horizontal{transform:scaleX(-1)}.igl_flip-both,.igl_flip-horizontal.igl_flip-vertical,.igl_flip-vertical{transform:scaleY(-1)} +/*# sourceMappingURL=to.css.map */ \ No newline at end of file diff --git a/dist/css/icon.gl.min.css.map b/dist/css/icon.gl.min.css.map new file mode 100644 index 00000000..2d42a4db --- /dev/null +++ b/dist/css/icon.gl.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["%3Cinput%20css%20y_KT1h%3E"],"names":[],"mappings":"AAAA,QAAQ,aAAa,CAAC,QAAQ,aAAa,CAAC,QAAQ,aAAa,CAAC,QAAQ,aAAa,CAAC,QAAQ,aAAa,CAAC,QAAQ,aAAa,CAAC,QAAQ,aAAa,CAAC,QAAQ,aAAa,CAAC,QAAQ,aAAa,CAAC,SAAS,cAAc,CAAC,4BAAuC,mCAAmC,CAA9C,UAAU,CAAqC,oBAAoB,CAAC,8BAA8B,CAAC,4BAA4B,sBAAsB,CAAC,6BAA6B,aAAa,CAAC,+BAA+B,UAAU,CAAC,kBAAkB,CAAC,eAAe,uBAAuB,CAAC,gBAAgB,wBAAwB,CAAC,gBAAgB,wBAAwB,CAAC,qBAAqB,oBAAsB,CAA2C,yEAAsD,oBAAsB","file":"to.css","sourcesContent":[".igl_1x{font-size:1em}.igl_2x{font-size:2em}.igl_3x{font-size:3em}.igl_4x{font-size:4em}.igl_5x{font-size:5em}.igl_6x{font-size:6em}.igl_7x{font-size:7em}.igl_8x{font-size:8em}.igl_9x{font-size:9em}.igl_10x{font-size:10em}.igl_icon-interactive:hover{color:#00c;box-shadow:0 2px 4px rgba(0,0,0,.2);transform:scale(1.1);transition:all .3s ease-in-out}.igl_icon-interactive:focus{outline:2px solid #66f}.igl_icon-interactive:active{color:#0000e6}.igl_icon-interactive:disabled{color:gray;cursor:not-allowed}.igl_rotate_90{transform:rotate(90deg)}.igl_rotate_180{transform:rotate(180deg)}.igl_rotate_270{transform:rotate(270deg)}.igl_flip-horizontal{transform:scale(-1, 1)}.igl_flip-vertical{transform:scale(1, -1)}.igl_flip-both,.igl_flip-horizontal.igl_flip-vertical{transform:scale(1, -1)}"]} \ No newline at end of file diff --git a/dist/scss/_size.scss b/dist/scss/_size.scss index fe370a92..0c08923f 100644 --- a/dist/scss/_size.scss +++ b/dist/scss/_size.scss @@ -70,92 +70,92 @@ $igl_sizes: ( // .icon-round-medium {border-radius: 100%; display: table-cell; height: 90px; margin: 0 auto; text-align: center; vertical-align: middle; width: 90px;} -@mixin icon_size_00 { - @include icon; - @include box_size_00; - svg { @include box_size_00; } - img { @include box_size_00; } -} +// @mixin icon_size_00 { +// @include icon; +// @include box_size_00; +// svg { @include box_size_00; } +// img { @include box_size_00; } +// } -@mixin icon_size_01 { - @include icon; - @include box_size_01; - svg { @include box_size_01; } - img { @include box_size_01; } -} +// @mixin icon_size_01 { +// @include icon; +// @include box_size_01; +// svg { @include box_size_01; } +// img { @include box_size_01; } +// } -@mixin icon_size_02 { - @include icon; - @include box_size_02; - svg { @include box_size_02; } - img { @include box_size_02; } -} +// @mixin icon_size_02 { +// @include icon; +// @include box_size_02; +// svg { @include box_size_02; } +// img { @include box_size_02; } +// } -@mixin icon_size_03 { - @include icon; - @include box_size_03; - svg { @include box_size_03; } - img { @include box_size_03; } -} +// @mixin icon_size_03 { +// @include icon; +// @include box_size_03; +// svg { @include box_size_03; } +// img { @include box_size_03; } +// } -@mixin icon_size_04 { - @include icon; - @include box_size_04; - svg { @include box_size_04; } - img { @include box_size_04; } -} +// @mixin icon_size_04 { +// @include icon; +// @include box_size_04; +// svg { @include box_size_04; } +// img { @include box_size_04; } +// } -@mixin icon_size_05 { - @include icon; - @include box_size_05; - svg { @include box_size_05; } - img { @include box_size_05; } -} +// @mixin icon_size_05 { +// @include icon; +// @include box_size_05; +// svg { @include box_size_05; } +// img { @include box_size_05; } +// } -@mixin icon_size_06 { - @include icon; - @include box_size_06; - svg { @include box_size_06; } - img { @include box_size_06; } -} +// @mixin icon_size_06 { +// @include icon; +// @include box_size_06; +// svg { @include box_size_06; } +// img { @include box_size_06; } +// } -@mixin icon_size_07 { - @include icon; - @include box_size_07; - svg { @include box_size_07; } - img { @include box_size_07; } -} +// @mixin icon_size_07 { +// @include icon; +// @include box_size_07; +// svg { @include box_size_07; } +// img { @include box_size_07; } +// } -@mixin icon_size_08 { - @include icon; - @include box_size_08; - svg { @include box_size_08; } - img { @include box_size_08; } -} +// @mixin icon_size_08 { +// @include icon; +// @include box_size_08; +// svg { @include box_size_08; } +// img { @include box_size_08; } +// } -@mixin icon_size_09 { - @include icon; - @include box_size_09; - svg { @include box_size_09; } - img { @include box_size_09; } -} +// @mixin icon_size_09 { +// @include icon; +// @include box_size_09; +// svg { @include box_size_09; } +// img { @include box_size_09; } +// } -@mixin icon_size_10 { - @include icon; - @include box_size_10; - svg { @include box_size_10; } - img { @include box_size_10; } -} +// @mixin icon_size_10 { +// @include icon; +// @include box_size_10; +// svg { @include box_size_10; } +// img { @include box_size_10; } +// } -.icon_size_00 { @include icon_size_00; } -.icon_size_01 { @include icon_size_01; } -.icon_size_02 { @include icon_size_02; } -.icon_size_03 { @include icon_size_03; } -.icon_size_04 { @include icon_size_04; } -.icon_size_05 { @include icon_size_05; } -.icon_size_06 { @include icon_size_06; } -.icon_size_07 { @include icon_size_07; } -.icon_size_08 { @include icon_size_08; } -.icon_size_09 { @include icon_size_09; } -.icon_size_10 { @include icon_size_10; } +// .icon_size_00 { @include icon_size_00; } +// .icon_size_01 { @include icon_size_01; } +// .icon_size_02 { @include icon_size_02; } +// .icon_size_03 { @include icon_size_03; } +// .icon_size_04 { @include icon_size_04; } +// .icon_size_05 { @include icon_size_05; } +// .icon_size_06 { @include icon_size_06; } +// .icon_size_07 { @include icon_size_07; } +// .icon_size_08 { @include icon_size_08; } +// .icon_size_09 { @include icon_size_09; } +// .icon_size_10 { @include icon_size_10; } diff --git a/dist/ts/icons/admin.ts b/dist/ts/icons/admin.ts new file mode 100644 index 00000000..f94dafc3 --- /dev/null +++ b/dist/ts/icons/admin.ts @@ -0,0 +1,3 @@ +export const icon_admin = ` + +`; diff --git a/dist/ts/icons/api.ts b/dist/ts/icons/api.ts new file mode 100644 index 00000000..90699b66 --- /dev/null +++ b/dist/ts/icons/api.ts @@ -0,0 +1,3 @@ +export const icon_api = ` + +`; diff --git a/dist/ts/icons/home.ts b/dist/ts/icons/home.ts new file mode 100644 index 00000000..1f5b323a --- /dev/null +++ b/dist/ts/icons/home.ts @@ -0,0 +1,5 @@ +export const icon_home = ` + + + +`; diff --git a/package-lock.json b/package-lock.json index 2211daed..eb4ab1b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,6 +40,7 @@ "html-webpack-plugin": "^5.5.3", "lodash": "^4.17.21", "mini-css-extract-plugin": "^2.7.6", + "pack.gl": "^0.0.9", "postcss-loader": "^7.3.3", "postcss-preset-env": "^9.1.2", "prettier": "^3.0.3", @@ -10275,6 +10276,12 @@ "node": ">=6" } }, + "node_modules/pack.gl": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/pack.gl/-/pack.gl-0.0.9.tgz", + "integrity": "sha512-yJNca12C2Dla6VO+HmD6hMdc+3us1IoXpNRugleucqZuthUTHdiSo9D6puygWhbuwDhEasGwfMOZc0GKtbZG7Q==", + "dev": true + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", diff --git a/package.json b/package.json index cef042a4..50f91e46 100644 --- a/package.json +++ b/package.json @@ -91,6 +91,7 @@ "html-webpack-plugin": "^5.5.3", "lodash": "^4.17.21", "mini-css-extract-plugin": "^2.7.6", + "pack.gl": "^0.0.9", "postcss-loader": "^7.3.3", "postcss-preset-env": "^9.1.2", "prettier": "^3.0.3", diff --git a/script/js/index.js b/script/js/index.js index d89f4dfa..95b47613 100644 --- a/script/js/index.js +++ b/script/js/index.js @@ -1,18 +1,6 @@ import { __awaiter } from "tslib"; import path from 'path'; -import FontGenerator from './class/FontGenerator.js'; -import SvgPackager from "./class/SvgPackager.js"; -import StyleProcessor from "./class/StyleProcessor.js"; -import SvgSpriteGenerator from "./class/SvgSpriteGenerator.js"; -import PackageCreator from './class/PackageCreator.js'; -import VersionWriter from './class/VersionWriter.js'; -import FileCopier from './class/FileCopier.js'; -import FileRenamer from './class/FileRenamer.js'; -import DirectoryCreator from './class/DirectoryCreator.js'; -import DirectoryCopier from './class/DirectoryCopier.js'; -import DirectoryCleaner from './class/DirectoryCleaner.js'; -import TypeScriptCompiler from './class/TypeScriptCompiler.js'; -import JavaScriptMinifier from './class/JavaScriptMinifier.js'; +import { DirectoryCleaner, DirectoryCopier, DirectoryCreator, FileCopier, FileRenamer, FontGenerator, StyleProcessor, SvgPackager, SvgSpriteGenerator, PackageCreator, VersionWriter, TypeScriptCompiler, JavaScriptMinifier } from 'pack.gl'; import { CONFIG } from './config/config.js'; import svgspriteConfig from "./config/svgsprite.config.js"; import packageConfig from "./config/package.config.js"; @@ -23,7 +11,7 @@ const spriteGenerator = new SvgSpriteGenerator(svgspriteConfig); const tsCompiler = new TypeScriptCompiler(tsConfig); const jsMinifier = new JavaScriptMinifier(tensorConfig); const packageCreator = new PackageCreator(packageConfig); -const svgPackager = new SvgPackager("./config/svgo.config.js"); +const svgPackager = new SvgPackager("./script/ts/config/svgo.config.ts"); const fontGenerator = new FontGenerator(); const styleProcessor = new StyleProcessor(); const versionWriter = new VersionWriter(); @@ -40,11 +28,7 @@ function main() { console.log('Starting Directory creation...'); yield directoryCreator.createDirectories('.', directories); try { - const sourceDirectory = 'path/to/source/svg'; - const outputDirectory = 'path/to/output/svg'; - const tsOutputDirectory = 'path/to/output/ts'; - const jsonOutputDirectory = 'path/to/output/json'; - yield svgPackager.processSvgFiles(sourceDirectory, outputDirectory, tsOutputDirectory, jsonOutputDirectory); + yield svgPackager.processSvgFiles(CONFIG.path.svg_input, CONFIG.path.svg_output, CONFIG.path.ts_output_icons, CONFIG.path.json_output); } catch (error) { console.error('Failed to process SVG files:', error); diff --git a/script/js/index.js.map b/script/js/index.js.map index bfac143b..590980a7 100644 --- a/script/js/index.js.map +++ b/script/js/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/script/ts/class/DirectoryCleaner.ts b/script/ts/class/DirectoryCleaner.ts deleted file mode 100644 index 02580d32..00000000 --- a/script/ts/class/DirectoryCleaner.ts +++ /dev/null @@ -1,58 +0,0 @@ -// script/class/class/DirectoryCleaner.ts - -// Copyright 2023 Scape Agency BV - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// ============================================================================ -// Import -// ============================================================================ - -import fs from 'fs'; -import path from 'path'; - - -// ============================================================================ -// Classes -// ============================================================================ - -class DirectoryCleaner { - - /** - * Recursively deletes all contents of the directory. - * @param dirPath The path to the directory to clean. - */ - public cleanDirectory(dirPath: string): void { - if (fs.existsSync(dirPath)) { - fs.readdirSync(dirPath).forEach(file => { - const curPath = path.join(dirPath, file); - - if (fs.lstatSync(curPath).isDirectory()) { // Recurse - this.cleanDirectory(curPath); - } else { // Delete file - fs.unlinkSync(curPath); - } - }); - - fs.rmdirSync(dirPath); - } - } -} - - -// ============================================================================ -// Export -// ============================================================================ - -export default DirectoryCleaner; diff --git a/script/ts/class/DirectoryCopier.ts b/script/ts/class/DirectoryCopier.ts deleted file mode 100644 index 4d1cf39c..00000000 --- a/script/ts/class/DirectoryCopier.ts +++ /dev/null @@ -1,77 +0,0 @@ -// script/class/class/DirectoryCopier.ts - -// Copyright 2023 Scape Agency BV - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// ============================================================================ -// Import -// ============================================================================ - -import fs from 'fs'; -import path from 'path'; - - -// ============================================================================ -// Classes -// ============================================================================ - -/** - * A class for copying files from one directory to another. - */ -class DirectoryCopier { - - /** - * Copies all files from a source directory to a destination directory. - * @param {string} srcDir - The source directory path. - * @param {string} destDir - The destination directory path. - * @description This method iterates over all files in the source directory - * and copies each file to the destination directory. It resolves - * the absolute paths of the source and destination directories to - * handle relative paths correctly. This is useful for duplicating - * files or setting up similar directory structures in different locations. - * @throws Will throw an error if copying fails for any file. - */ - async copyFiles(srcDir: string, destDir: string): Promise { - try { - const resolvedSrcDir = path.resolve(srcDir); - const resolvedDestDir = path.resolve(destDir); - - const files = fs.readdirSync(resolvedSrcDir); - console.log("FILES:", files); - - files.forEach(file => { - const srcFile = path.join(resolvedSrcDir, file); - const destFile = path.join(resolvedDestDir, file); - - if (fs.statSync(srcFile).isFile()) { - console.log("Copying file:", srcFile); - fs.copyFileSync(srcFile, destFile); - } - }); - - console.log(`Files copied from ${resolvedSrcDir} to ${resolvedDestDir}`); - } catch (error) { - console.error('Error copying files:', error); - throw error; - } - } -} - - -// ============================================================================ -// Export -// ============================================================================ - -export default DirectoryCopier; diff --git a/script/ts/class/DirectoryCreator.ts b/script/ts/class/DirectoryCreator.ts deleted file mode 100644 index 16adcef0..00000000 --- a/script/ts/class/DirectoryCreator.ts +++ /dev/null @@ -1,64 +0,0 @@ -// script/class/DirectoryGenerator.ts - -// Copyright 2023 Scape Agency BV - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// ============================================================================ -// Import -// ============================================================================ - -import fs from 'fs'; -import path from 'path'; - - -// ============================================================================ -// Classes -// ============================================================================ - -/** - * A class for creating directories. - */ - class DirectoryCreator { - - /** - * Creates directories at the specified locations. - * @param {string} basePath - The base path where directories will be created. - * @param {string[]} directories - An array of directory paths to create. - * @description This method iterates over the provided array of directory paths, - * creating each directory at the specified location within the base path. - * If a directory already exists, it skips creation. This is useful for - * setting up a project structure or ensuring necessary directories are - * available before performing file operations. - * @throws Will throw an error if directory creation fails. - */ - async createDirectories(basePath: string, directories: string[]): Promise { - directories.forEach(dir => { - const dirPath = path.join(basePath, dir); - if (!fs.existsSync(dirPath)) { - fs.mkdirSync(dirPath, { recursive: true }); - console.log(`Directory created: ${dirPath}`); - } else { - console.log(`Directory already exists: ${dirPath}`); - } - }); - } -} - - -// ============================================================================ -// Export -// ============================================================================ - -export default DirectoryCreator; \ No newline at end of file diff --git a/script/ts/class/FileCopier.ts b/script/ts/class/FileCopier.ts deleted file mode 100644 index 42a225e9..00000000 --- a/script/ts/class/FileCopier.ts +++ /dev/null @@ -1,63 +0,0 @@ -// script/class/class/FileCopier.ts - -// Copyright 2023 Scape Agency BV - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// ============================================================================ -// Import -// ============================================================================ - -import fs from 'fs'; -import path from 'path'; - - -// ============================================================================ -// Classes -// ============================================================================ - -/** - * A class for copying files from one location to another. - */ - class FileCopier { - - /** - * Copies a single file to a specified destination directory. - * @param {string} srcFile - The path of the source file to copy. - * @param {string} destDir - The destination directory where the file should be copied. - * @throws Will throw an error if the file copy operation fails. - */ - async copyFileToDirectory( - srcFile: string, - destDir: string - ): Promise { - try { - const fileName = path.basename(srcFile); - const destFilePath = path.join(destDir, fileName); - await fs.promises.copyFile(srcFile, destFilePath); - console.log(`File copied from ${srcFile} to ${destFilePath}`); - } catch (error) { - console.error('Error copying file:', error); - throw error; - } - } - -} - - -// ============================================================================ -// Export -// ============================================================================ - -export default FileCopier; diff --git a/script/ts/class/FileRenamer.ts b/script/ts/class/FileRenamer.ts deleted file mode 100644 index 49dc0cd6..00000000 --- a/script/ts/class/FileRenamer.ts +++ /dev/null @@ -1,58 +0,0 @@ -// script/class/class/FileRenamer.ts - -// Copyright 2023 Scape Agency BV - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// ============================================================================ -// Import -// ============================================================================ - -import fs from 'fs'; -import path from 'path'; - - -// ============================================================================ -// Classes -// ============================================================================ - -/** - * A class for renaming files. - */ - class FileRenamer { - - /** - * Renames a file from the source path to the target path. - * @param srcPath The current path of the file. - * @param targetPath The new path of the file after renaming. - * @returns Promise - */ - async renameFile(srcPath: string, targetPath: string): Promise { - try { - await fs.promises.rename(srcPath, targetPath); - console.log(`File renamed from ${srcPath} to ${targetPath}`); - } catch (error) { - console.error('Error renaming file:', error); - throw error; - } - } - -} - - -// ============================================================================ -// Export -// ============================================================================ - -export default FileRenamer; diff --git a/script/ts/class/FontGenerator.ts b/script/ts/class/FontGenerator.ts deleted file mode 100644 index f43d3bea..00000000 --- a/script/ts/class/FontGenerator.ts +++ /dev/null @@ -1,133 +0,0 @@ -// script/class/FontGenerator.ts - -// Copyright 2023 Scape Agency BV - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// ============================================================================ -// Import -// ============================================================================ - -import { generateFonts, FontAssetType, OtherAssetType } from 'fantasticon'; - - -// ============================================================================ -// Classes -// ============================================================================ - -class FontGenerator { - - async generateFonts(sourceDirectory: string, outputDiectory: string) { - - const config = { - - - // RunnerMandatoryOptions - inputDir: sourceDirectory, // (required) - outputDir: outputDiectory, // (required) - - // RunnerOptionalOptions - name: 'icon.gl', - fontTypes: [ - FontAssetType.TTF, // TTF = "ttf" - FontAssetType.WOFF, // WOFF = "woff" - FontAssetType.WOFF2, // WOFF2 = "woff2" - FontAssetType.EOT, // EOT = "eot" - FontAssetType.SVG, // SVG = "svg" - ], - assetTypes: [ - OtherAssetType.CSS, // CSS = "css", - OtherAssetType.SCSS, // SCSS = "scss", - OtherAssetType.SASS, // SASS = "sass", - OtherAssetType.HTML, // HTML = "html", - OtherAssetType.JSON, // JSON = "json", - OtherAssetType.TS, // TS = "ts" - ], - - - - formatOptions: { - // woff: { - // // Woff Extended Metadata Block - see https://www.w3.org/TR/WOFF/#Metadata - // metadata: '...' - // }, - // ttf?: TtfOptions; // type TtfOptions = svg2ttf.FontOptions; - // svg?: SvgOptions; // type SvgOptions = Omit; - json: { indent: 4 } , - // ts: { - // // select what kind of types you want to generate - // // (default `['enum', 'constant', 'literalId', 'literalKey']`) - // types: ['enum', 'constant', 'literalId', 'literalKey'], - // // render the types with `'` instead of `"` (default is `"`) - // singleQuotes: false, - // // customise names used for the generated types and constants - // enumName: 'icon_gl', - // constantName: 'MY_CODEPOINTS' - // // literalIdName: 'IconId', - // // literalKeyName: 'IconKey' - // } - }, - pathOptions: { - json: './dist/font/icon.gl.json', - css: './dist/font/icon.gl.css', - scss: './dist/font/icon.gl.scss', - woff: './dist/font/icon.gl.woff', - woff2: './dist/font/icon.gl.woff2', - }, - // codepoints: { - // 'chevron-left': 57344, // decimal representation of 0xe000 - // 'chevron-right': 57345, - // 'thumbs-up': 57358, - // 'thumbs-down': 57359, - // }, - // fontHeight: number; - // descent: number; - // normalize: boolean; - // round: number; - selector: '.igl', - // tag: string; - // Use our custom Handlebars templates - // templates: { - // css: './build/font/icon.gl.css.hbs', - // scss: './build/font/icon.gl.scss.hbs' - // }, - prefix: 'igl', - fontsUrl: './fonts', - - // Customize generated icon IDs (unavailable with `.json` config file) - // getIconId: ({ - // basename, // `string` - Example: 'foo'; - // relativeDirPath, // `string` - Example: 'sub/dir/foo.svg' - // absoluteFilePath, // `string` - Example: '/var/icons/sub/dir/foo.svg' - // relativeFilePath, // `string` - Example: 'foo.svg' - // index // `number` - Example: `0` - // }) => [index, basename].join('_') // '0_foo' - - }; - - try { - await generateFonts(config); - console.log('Fonts generated successfully.'); - } catch (error) { - console.error('Error generating fonts:', error); - } - } -} - - -// ============================================================================ -// Export -// ============================================================================ - -export default FontGenerator; diff --git a/script/ts/class/JavaScriptMinifier.ts b/script/ts/class/JavaScriptMinifier.ts deleted file mode 100644 index 0d69ca2f..00000000 --- a/script/ts/class/JavaScriptMinifier.ts +++ /dev/null @@ -1,82 +0,0 @@ -// script/class/class/JavaScriptMinifier.ts - -// Copyright 2023 Scape Agency BV - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// ============================================================================ -// Import -// ============================================================================ - -import { minify } from 'terser'; -import { promises as fs } from 'fs'; - - -// ============================================================================ -// Classes -// ============================================================================ - -/** - * Class to minify JavaScript files using Terser. - */ - class JavaScriptMinifier { - - private config: any; - - /** - * Constructs an instance with the provided configuration. - * @param {any} config - Configuration object - minification options for Terser. - */ - constructor(config: any) { - this.config = config; - } - - /** - * Minifies a JavaScript file. - * @param {string} inputPath - Path to the input JavaScript file. - * @param {string} outputPath - Path to save the minified output file. - * @returns {Promise} - A promise that resolves when minification is complete. - */ - async minifyFile( - inputPath: string, - outputPath: string, - // options: object = {} - ): Promise { - - try { - // Read the input file - const inputCode = await fs.readFile(inputPath, 'utf8'); - // Minify the file using Terser - // const result = await minify(inputCode, options); - const result = await minify(inputCode, this.config); - // If minification is successful, write the output - if (result.code) { - await fs.writeFile(outputPath, result.code); - } else { - throw new Error('Minification resulted in empty output.'); - } - } catch (error) { - console.error(`Error minifying JavaScript file ${inputPath}:`, error); - throw error; - } - } - -} - - -// ============================================================================ -// Export -// ============================================================================ - -export default JavaScriptMinifier; diff --git a/script/ts/class/PackageCreator.ts b/script/ts/class/PackageCreator.ts deleted file mode 100644 index 4d8be178..00000000 --- a/script/ts/class/PackageCreator.ts +++ /dev/null @@ -1,65 +0,0 @@ -// script/class/PackageCreator.ts - -// Copyright 2023 Scape Agency BV - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// ============================================================================ -// Import -// ============================================================================ - -import fs from 'fs'; -import path from 'path'; -// import * as pack from '../../package.json' assert { type: 'json' }; - - -// ============================================================================ -// Classes -// ============================================================================ - -/** - * A class for creating a package.json file for a project. - */ - class PackageCreator { - - private packageJson: PackageJson; - - /** - * Initializes a new instance of the PackageCreator class. - * @param {PackageJson} packageJson - The content to be written into package.json. - */ - constructor(packageJson: PackageJson) { - this.packageJson = packageJson; - } - - /** - * Creates a package.json file in the specified directory. - * @param {string} outputDir - The directory where package.json will be created. - */ - async createPackageJson(outputDir: string): Promise { - const filePath = path.join(outputDir, 'package.json'); - const data = JSON.stringify(this.packageJson, null, 2); - - fs.writeFileSync(filePath, data, 'utf-8'); - console.log(`package.json created at ${filePath}`); - } - -} - - -// ============================================================================ -// Export -// ============================================================================ - -export default PackageCreator; \ No newline at end of file diff --git a/script/ts/class/StyleProcessor.ts b/script/ts/class/StyleProcessor.ts deleted file mode 100644 index eda0779d..00000000 --- a/script/ts/class/StyleProcessor.ts +++ /dev/null @@ -1,96 +0,0 @@ -// script/class/StyleProcessor.ts - -// Copyright 2023 Scape Agency BV - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// ============================================================================ -// Import -// ============================================================================ - -import * as sass from 'sass' -import postcss from 'postcss'; -import fs from 'fs'; -import postcssConfigExpanded from '../config/postcss.config.expanded.js'; -import postcssConfigCompressed from '../config/postcss.config.compressed.js'; - - -// ============================================================================ -// Classes -// ============================================================================ - -/** - * Class responsible for processing styles, including compiling SCSS and - * applying PostCSS transformations. - */ -class StyleProcessor { - - /** - * Processes the given CSS with PostCSS based on the provided style option. - * @param css The CSS string to process. - * @param styleOption The style option, either 'expanded' or 'compressed'. - * @returns Processed CSS string. - */ - async processPostCSS( - css: string, - styleOption: 'expanded' | 'compressed' - ) { - const config = styleOption === 'expanded' ? postcssConfigExpanded : postcssConfigCompressed; - return postcss(config.plugins).process(css, { from: undefined, map: { inline: false } }); - } - - /** - * Compiles SCSS to CSS and processes it using PostCSS. - * @param inputFile Path to the input SCSS file. - * @param outputFile Path to the output CSS file. - * @param styleOption Style option for the output. - */ - async processStyles( - inputFile: string, - outputFile: fs.PathOrFileDescriptor, - styleOption: 'expanded' | 'compressed' - ) { - try { - - // Compile SCSS to CSS - const result = await sass.compileAsync( - inputFile, { style: styleOption } - ); - - // Process the compiled CSS with PostCSS and Autoprefixer - const processed = await this.processPostCSS( - result.css, - styleOption - ); - - // Write the processed CSS to a file - fs.writeFileSync(outputFile, processed.css); - - // Write the source map file - if (processed.map) { - fs.writeFileSync(`${outputFile}.map`, processed.map.toString()); - } - } catch (err) { - // Handle errors in the compilation or processing - console.error(`Error processing styles from ${inputFile}:`, err); - } - } -} - - -// ============================================================================ -// Export -// ============================================================================ - -export default StyleProcessor; diff --git a/script/ts/class/SvgSpriteGenerator.ts b/script/ts/class/SvgSpriteGenerator.ts deleted file mode 100644 index 2646237c..00000000 --- a/script/ts/class/SvgSpriteGenerator.ts +++ /dev/null @@ -1,98 +0,0 @@ -// script/class/SvgSpriteGenerator.ts - -// Copyright 2023 Scape Agency BV - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// ============================================================================ -// Import -// ============================================================================ - -import svgSprite from 'svg-sprite'; -import fs from 'fs'; -import path from 'path'; - - -// ============================================================================ -// Classes -// ============================================================================ - -/** - * A class for generating SVG sprites from individual SVG files. - */ -class SvgSpriteGenerator { - - private config: any; - - /** - * Constructs an instance of SvgSpriteGenerator with the provided configuration. - * @param {any} config - Configuration object for svg-sprite. - */ - constructor(config: any) { - this.config = config; - } - - /** - * Generates an SVG sprite from SVG files in a specified directory. - * @param {string} sourceDir - Directory containing source SVG files. - * @param {string} outputDir - Directory where the generated sprite will be saved. - */ - async generateSprite(sourceDir: string, outputDir: string) { - try { - const files = fs.readdirSync(sourceDir); - const sprite = new svgSprite(this.config); - - files.forEach(file => { - if (path.extname(file) === '.svg') { - const svgPath = path.resolve(sourceDir, file); - const content = fs.readFileSync(svgPath, 'utf8'); - sprite.add(svgPath, null, content); - } - }); - - sprite.compile((error, result) => { - if (error) { - throw error; - } - - for (const mode in result) { - for (const resource in result[mode]) { - const outputPath = path.resolve( - outputDir, - result[mode][resource].path - ); - fs.mkdirSync( - path.dirname(outputPath), - { recursive: true } - ); - fs.writeFileSync( - outputPath, - result[mode][resource].contents - ); - } - } - }); - - } catch (err) { - console.error('Error generating SVG sprite:', err); - } - } -} - - -// ============================================================================ -// Export -// ============================================================================ - -export default SvgSpriteGenerator; diff --git a/script/ts/class/TypeScriptCompiler.ts b/script/ts/class/TypeScriptCompiler.ts deleted file mode 100644 index a422b2e5..00000000 --- a/script/ts/class/TypeScriptCompiler.ts +++ /dev/null @@ -1,112 +0,0 @@ -// script/class/TypeScriptCompiler.ts - -// Copyright 2023 Scape Agency BV - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// ============================================================================ -// Import -// ============================================================================ - -// import * as ts from 'typescript'; -import ts from 'typescript'; - - -// ============================================================================ -// Classes -// ============================================================================ - -/** - * TypeScriptCompiler class for compiling TypeScript files to JavaScript. - */ - class TypeScriptCompiler { - - private config: any; - - /** - * Constructs an instance with the provided configuration. - * @param {any} config - Configuration object - */ - constructor(config: any) { - this.config = config; - } - - /** - * Compiles TypeScript files to JavaScript. - * - * @param {string[]} filePaths - The paths of TypeScript files to be compiled. - * @param {string} outDir - The directory where the compiled JavaScript files will be saved. - * @param {ts.CompilerOptions} customOptions - Optional custom TypeScript compiler options. - * - * This method sets up a TypeScript program with given file paths and compiler options. - * It handles the compilation of TypeScript files into JavaScript, considering any provided custom options. - * Compilation errors and diagnostics are logged for debugging purposes. - * The method returns a promise that resolves when compilation is successful or rejects in case of errors. - */ - compile( - filePaths: string[], - outDir: string, - // customOptions: ts.CompilerOptions = {} - ): Promise { - return new Promise((resolve, reject) => { - - // Merge default options with custom options - const options: ts.CompilerOptions = { - module: ts.ModuleKind.CommonJS, - target: ts.ScriptTarget.ES2015, - outDir, - // ...customOptions, // Merges custom compiler options - ...this.config, // Merges custom compiler options - }; - - // Create a TypeScript compiler host - const host = ts.createCompilerHost(options); - - // Create a program with the specified files and options - const program = ts.createProgram(filePaths, options, host); - - // Emit the compiled JavaScript files - const emitResult = program.emit(); - - // Check for compilation errors - const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics); - allDiagnostics.forEach(diagnostic => { - // Handle and print diagnostics - if (diagnostic.file) { - const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start!); - const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'); - console.error(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); - } else { - console.error(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n')); - } - }); - - const exitCode = emitResult.emitSkipped ? 1 : 0; - if (exitCode === 0) { - console.log('Compilation completed successfully.'); - resolve(); - } else { - console.error('Compilation failed.'); - reject(new Error('TypeScript compilation failed')); - } - }); - } -} - - -// ============================================================================ -// Export -// ============================================================================ - -export default TypeScriptCompiler; diff --git a/script/ts/class/VersionWriter.ts b/script/ts/class/VersionWriter.ts deleted file mode 100644 index db113201..00000000 --- a/script/ts/class/VersionWriter.ts +++ /dev/null @@ -1,57 +0,0 @@ -// script/class/VersionWriter.ts - -// Copyright 2023 Scape Agency BV - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// ============================================================================ -// Import -// ============================================================================ - -import { promises as fs } from 'fs'; - - -// ============================================================================ -// Classes -// ============================================================================ - -/** - * A class for writing version information to a file. - */ - class VersionWriter { - - /** - * Writes the specified version string to a file. - * @param {string} filePath - The file path where the version will be written. - * @param {string} version - The version string to write to the file. - */ - async writeVersionToFile( - filePath: string, - version: string, - ): Promise { - try { - await fs.writeFile(filePath, version, 'utf8'); - console.log(`Version ${version} written to ${filePath}`); - } catch (error) { - console.error(`Error writing version to file: ${error}`); - } - } -} - - -// ============================================================================ -// Export -// ============================================================================ - -export default VersionWriter; diff --git a/script/ts/index.ts b/script/ts/index.ts index accd1d84..9e531333 100644 --- a/script/ts/index.ts +++ b/script/ts/index.ts @@ -21,19 +21,25 @@ // Import necessary modules and classes import path from 'path'; -import FontGenerator from './class/FontGenerator.js'; -import SvgPackager from "./class/SvgPackager.js"; -import StyleProcessor from "./class/StyleProcessor.js"; -import SvgSpriteGenerator from "./class/SvgSpriteGenerator.js"; -import PackageCreator from './class/PackageCreator.js'; -import VersionWriter from './class/VersionWriter.js'; -import FileCopier from './class/FileCopier.js'; -import FileRenamer from './class/FileRenamer.js'; -import DirectoryCreator from './class/DirectoryCreator.js'; -import DirectoryCopier from './class/DirectoryCopier.js'; -import DirectoryCleaner from './class/DirectoryCleaner.js'; // Adjust the path as needed -import TypeScriptCompiler from './class/TypeScriptCompiler.js'; -import JavaScriptMinifier from './class/JavaScriptMinifier.js'; + +import { + DirectoryCleaner, + DirectoryCopier, + DirectoryCreator, + FileCopier, + FileRenamer, + FontGenerator, + StyleProcessor, + SvgPackager, + SvgSpriteGenerator, + PackageCreator, + VersionWriter, + TypeScriptCompiler, + JavaScriptMinifier +} from 'pack.gl'; + +// import SvgPackager from "./class/SvgPackager.js"; + // Import necessary configurations import { CONFIG } from './config/config.js'; @@ -53,7 +59,11 @@ const spriteGenerator = new SvgSpriteGenerator(svgspriteConfig); const tsCompiler = new TypeScriptCompiler(tsConfig); const jsMinifier = new JavaScriptMinifier(tensorConfig); const packageCreator = new PackageCreator(packageConfig); -const svgPackager = new SvgPackager("./config/svgo.config.js"); +const svgPackager = new SvgPackager( + "./script/ts/config/svgo.config.ts" + // path.join(CONFIG.path.scss_input, 'index.scss'), + + ); const fontGenerator = new FontGenerator(); const styleProcessor = new StyleProcessor(); const versionWriter = new VersionWriter(); @@ -100,16 +110,20 @@ async function main() { // async function processSvgs() { try { - const sourceDirectory = 'path/to/source/svg'; - const outputDirectory = 'path/to/output/svg'; - const tsOutputDirectory = 'path/to/output/ts'; - const jsonOutputDirectory = 'path/to/output/json'; + // const sourceDirectory = 'path/to/source/svg'; + // const outputDirectory = 'path/to/output/svg'; + // const tsOutputDirectory = 'path/to/output/ts'; + // const jsonOutputDirectory = 'path/to/output/json'; await svgPackager.processSvgFiles( - sourceDirectory, - outputDirectory, - tsOutputDirectory, - jsonOutputDirectory + CONFIG.path.svg_input, + CONFIG.path.svg_output, + CONFIG.path.ts_output_icons, + CONFIG.path.json_output, + // sourceDirectory, + // outputDirectory, + // tsOutputDirectory, + // jsonOutputDirectory ); } catch (error) { console.error('Failed to process SVG files:', error); diff --git a/src/scss/_size.scss b/src/scss/_size.scss index fe370a92..0c08923f 100644 --- a/src/scss/_size.scss +++ b/src/scss/_size.scss @@ -70,92 +70,92 @@ $igl_sizes: ( // .icon-round-medium {border-radius: 100%; display: table-cell; height: 90px; margin: 0 auto; text-align: center; vertical-align: middle; width: 90px;} -@mixin icon_size_00 { - @include icon; - @include box_size_00; - svg { @include box_size_00; } - img { @include box_size_00; } -} +// @mixin icon_size_00 { +// @include icon; +// @include box_size_00; +// svg { @include box_size_00; } +// img { @include box_size_00; } +// } -@mixin icon_size_01 { - @include icon; - @include box_size_01; - svg { @include box_size_01; } - img { @include box_size_01; } -} +// @mixin icon_size_01 { +// @include icon; +// @include box_size_01; +// svg { @include box_size_01; } +// img { @include box_size_01; } +// } -@mixin icon_size_02 { - @include icon; - @include box_size_02; - svg { @include box_size_02; } - img { @include box_size_02; } -} +// @mixin icon_size_02 { +// @include icon; +// @include box_size_02; +// svg { @include box_size_02; } +// img { @include box_size_02; } +// } -@mixin icon_size_03 { - @include icon; - @include box_size_03; - svg { @include box_size_03; } - img { @include box_size_03; } -} +// @mixin icon_size_03 { +// @include icon; +// @include box_size_03; +// svg { @include box_size_03; } +// img { @include box_size_03; } +// } -@mixin icon_size_04 { - @include icon; - @include box_size_04; - svg { @include box_size_04; } - img { @include box_size_04; } -} +// @mixin icon_size_04 { +// @include icon; +// @include box_size_04; +// svg { @include box_size_04; } +// img { @include box_size_04; } +// } -@mixin icon_size_05 { - @include icon; - @include box_size_05; - svg { @include box_size_05; } - img { @include box_size_05; } -} +// @mixin icon_size_05 { +// @include icon; +// @include box_size_05; +// svg { @include box_size_05; } +// img { @include box_size_05; } +// } -@mixin icon_size_06 { - @include icon; - @include box_size_06; - svg { @include box_size_06; } - img { @include box_size_06; } -} +// @mixin icon_size_06 { +// @include icon; +// @include box_size_06; +// svg { @include box_size_06; } +// img { @include box_size_06; } +// } -@mixin icon_size_07 { - @include icon; - @include box_size_07; - svg { @include box_size_07; } - img { @include box_size_07; } -} +// @mixin icon_size_07 { +// @include icon; +// @include box_size_07; +// svg { @include box_size_07; } +// img { @include box_size_07; } +// } -@mixin icon_size_08 { - @include icon; - @include box_size_08; - svg { @include box_size_08; } - img { @include box_size_08; } -} +// @mixin icon_size_08 { +// @include icon; +// @include box_size_08; +// svg { @include box_size_08; } +// img { @include box_size_08; } +// } -@mixin icon_size_09 { - @include icon; - @include box_size_09; - svg { @include box_size_09; } - img { @include box_size_09; } -} +// @mixin icon_size_09 { +// @include icon; +// @include box_size_09; +// svg { @include box_size_09; } +// img { @include box_size_09; } +// } -@mixin icon_size_10 { - @include icon; - @include box_size_10; - svg { @include box_size_10; } - img { @include box_size_10; } -} +// @mixin icon_size_10 { +// @include icon; +// @include box_size_10; +// svg { @include box_size_10; } +// img { @include box_size_10; } +// } -.icon_size_00 { @include icon_size_00; } -.icon_size_01 { @include icon_size_01; } -.icon_size_02 { @include icon_size_02; } -.icon_size_03 { @include icon_size_03; } -.icon_size_04 { @include icon_size_04; } -.icon_size_05 { @include icon_size_05; } -.icon_size_06 { @include icon_size_06; } -.icon_size_07 { @include icon_size_07; } -.icon_size_08 { @include icon_size_08; } -.icon_size_09 { @include icon_size_09; } -.icon_size_10 { @include icon_size_10; } +// .icon_size_00 { @include icon_size_00; } +// .icon_size_01 { @include icon_size_01; } +// .icon_size_02 { @include icon_size_02; } +// .icon_size_03 { @include icon_size_03; } +// .icon_size_04 { @include icon_size_04; } +// .icon_size_05 { @include icon_size_05; } +// .icon_size_06 { @include icon_size_06; } +// .icon_size_07 { @include icon_size_07; } +// .icon_size_08 { @include icon_size_08; } +// .icon_size_09 { @include icon_size_09; } +// .icon_size_10 { @include icon_size_10; }