@uxf/icons-generator 11.11.3 → 11.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/bin/icons-gen.js +16 -0
- package/bin/icons-gen.ts +12 -0
- package/package.json +7 -4
- package/src/adapters/fa-pro.d.ts +2 -1
- package/src/adapters/fa-pro.js +5 -5
- package/src/scripts/cli.d.ts +2 -0
- package/src/scripts/cli.js +22 -0
- package/src/scripts/index.d.ts +2 -0
- package/src/scripts/index.js +23 -0
- package/src/types.d.ts +3 -3
- package/src/utils/_createDefinitionFileContent.d.ts +2 -10
- package/src/utils/_createDefinitionFileContent.js +30 -49
- package/src/utils/_createSpriteContent.d.ts +2 -6
- package/src/utils/_createSpriteContent.js +13 -13
- package/src/utils/_generateAdaptersFallbackFiles.d.ts +2 -3
- package/src/utils/_generateAdaptersFallbackFiles.js +6 -8
- package/src/utils/_generateDefinitionFile.d.ts +2 -11
- package/src/utils/_generateDefinitionFile.js +4 -12
- package/src/utils/_generateSeparateIconFiles.d.ts +2 -7
- package/src/utils/_generateSeparateIconFiles.js +23 -18
- package/src/utils/_generateSpriteFile.d.ts +2 -7
- package/src/utils/_generateSpriteFile.js +3 -3
- package/src/utils/_getConfig.d.ts +1 -1
- package/src/utils/_getConfig.js +2 -4
- package/src/utils/_removeUnusedSeparateIconFiles.d.ts +2 -7
- package/src/utils/_removeUnusedSeparateIconFiles.js +11 -11
- package/src/utils/_validateSourceData.d.ts +2 -0
- package/src/utils/{check/_validateSourceData.js → _validateSourceData.js} +7 -7
- package/src/utils/get-md5-from-file.d.ts +1 -0
- package/src/utils/get-md5-from-file.js +15 -0
- package/tests/icons.config.js +2 -2
- package/src/scripts/check.js +0 -20
- package/src/scripts/gen.d.ts +0 -2
- package/src/scripts/gen.js +0 -83
- package/src/utils/_compareSprites.d.ts +0 -7
- package/src/utils/_compareSprites.js +0 -11
- package/src/utils/_createConfigFileContent.d.ts +0 -4
- package/src/utils/_createConfigFileContent.js +0 -8
- package/src/utils/_generateConfigFile.d.ts +0 -5
- package/src/utils/_generateConfigFile.js +0 -14
- package/src/utils/check/_check.d.ts +0 -2
- package/src/utils/check/_check.js +0 -34
- package/src/utils/check/_validateConfigFile.d.ts +0 -5
- package/src/utils/check/_validateConfigFile.js +0 -19
- package/src/utils/check/_validateDefinitions.d.ts +0 -11
- package/src/utils/check/_validateDefinitions.js +0 -21
- package/src/utils/check/_validateSeparateIcons.d.ts +0 -6
- package/src/utils/check/_validateSeparateIcons.js +0 -39
- package/src/utils/check/_validateSourceData.d.ts +0 -5
- package/src/utils/check/_validateSprite.d.ts +0 -7
- package/src/utils/check/_validateSprite.js +0 -10
- /package/{src/scripts/check.d.ts → bin/icons-gen.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -45,10 +45,9 @@ icons-gen --configFile=yourConfigFileName.js
|
|
|
45
45
|
| typescript | `boolean` | `true` | No | - |
|
|
46
46
|
| configDirectory | `string` | `"/src/config/"` | No | - |
|
|
47
47
|
| generatedDirectory | `string` | `"/public/icons-generated/"` | No | - |
|
|
48
|
-
| spriteFileName | `string` | `
|
|
48
|
+
| spriteFileName | `string` | `_icon-sprite.svg` | No | Specify custom sprite file name |
|
|
49
49
|
| typeName | `string` | `IconsSet` | No | - |
|
|
50
|
-
|
|
|
51
|
-
| customDefinitionContent | `string` | `"_icon-sprite.svg"` | No | - |
|
|
50
|
+
| customDefinitionContent | `string` | - | No | - |
|
|
52
51
|
| icons | `Record<string, SimpleIcon \| SizedIcon>` | - | Yes | More details [here](#icon-types) |
|
|
53
52
|
| adapters | - | - | No | More details [here](#adapters) |
|
|
54
53
|
| fallbackFilesDirectory | - | - | No | More details [here](#adapters) |
|
package/bin/icons-gen.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
/* eslint-disable no-console */
|
|
8
|
+
const cli_1 = __importDefault(require("../src/scripts/cli"));
|
|
9
|
+
(0, cli_1.default)()
|
|
10
|
+
.then((exitCode) => {
|
|
11
|
+
process.exitCode = exitCode;
|
|
12
|
+
})
|
|
13
|
+
.catch((e) => {
|
|
14
|
+
console.error(e);
|
|
15
|
+
process.exitCode = 1;
|
|
16
|
+
});
|
package/bin/icons-gen.ts
ADDED
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/icons-generator",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.15.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "npm run-script clean && npm run-script compile",
|
|
8
8
|
"clean": "rm -rf ./dist",
|
|
9
9
|
"compile": "tsc -P tsconfig.json",
|
|
10
|
+
"test": "NODE_MODULES_PATH=../../node_modules ts-node ./bin/icons-gen.ts --configFile=tests/icons.config.ts",
|
|
10
11
|
"typecheck": "tsc --noEmit --skipLibCheck"
|
|
11
12
|
},
|
|
12
13
|
"publishConfig": {
|
|
@@ -22,11 +23,13 @@
|
|
|
22
23
|
"author": "",
|
|
23
24
|
"license": "ISC",
|
|
24
25
|
"bin": {
|
|
25
|
-
"icons-gen": "./
|
|
26
|
-
"icons-check": "./src/scripts/check.js"
|
|
26
|
+
"icons-gen": "./bin/icons-gen.ts"
|
|
27
27
|
},
|
|
28
28
|
"bugs": {
|
|
29
29
|
"url": "https://gitlab.com/uxf-npm/icons-generator/issues"
|
|
30
30
|
},
|
|
31
|
-
"homepage": "https://gitlab.com/uxf-npm/icons-generator#readme"
|
|
31
|
+
"homepage": "https://gitlab.com/uxf-npm/icons-generator#readme",
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@fortawesome/fontawesome-pro": "^6.5.2"
|
|
34
|
+
}
|
|
32
35
|
}
|
package/src/adapters/fa-pro.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { _IconsConfig } from "../types";
|
|
2
|
+
export declare const getFaProIcon: (adapterKey: string) => (iconName: string, config: _IconsConfig) => {
|
|
2
3
|
width: any;
|
|
3
4
|
height: any;
|
|
4
5
|
path: string;
|
package/src/adapters/fa-pro.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _a;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.getFaProIcon = void 0;
|
|
4
5
|
const fs_1 = require("fs");
|
|
5
|
-
const _getConfig_1 = require("../utils/_getConfig");
|
|
6
6
|
const removeComments = (str) => str.replace(/<!--([\s\S]*?)-->/g, "");
|
|
7
7
|
const removeSvg = (str) => str.replace(/<svg[^>]*>/, "").replace(/<\/svg>/, "");
|
|
8
8
|
const addFillAttribute = (str) => str.replace(/\/>/g, ' fill="currentColor"/>');
|
|
@@ -17,11 +17,11 @@ const parseDimensions = (str) => {
|
|
|
17
17
|
}
|
|
18
18
|
return { width, height };
|
|
19
19
|
};
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
if ((0, fs_1.existsSync)("
|
|
20
|
+
const NODE_MODULES_PATH = (_a = process.env.NODE_MODULES_PATH) !== null && _a !== void 0 ? _a : "./node_modules";
|
|
21
|
+
const getFaProIcon = (adapterKey) => (iconName, config) => {
|
|
22
|
+
if ((0, fs_1.existsSync)(NODE_MODULES_PATH + "/@fortawesome/fontawesome-pro")) {
|
|
23
23
|
const [namespace, icon] = iconName.split(".");
|
|
24
|
-
let svg = (0, fs_1.readFileSync)(
|
|
24
|
+
let svg = (0, fs_1.readFileSync)(`${NODE_MODULES_PATH}/@fortawesome/fontawesome-pro/svgs/${namespace}/${icon}.svg`).toString();
|
|
25
25
|
svg = removeComments(svg);
|
|
26
26
|
const { width, height } = parseDimensions(svg);
|
|
27
27
|
svg = removeSvg(svg);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const process_1 = require("process");
|
|
7
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
8
|
+
const _getConfig_1 = require("../utils/_getConfig");
|
|
9
|
+
const index_1 = __importDefault(require("./index"));
|
|
10
|
+
exports.default = async () => {
|
|
11
|
+
const cli = yargs_1.default
|
|
12
|
+
.command("$0", "UXF icons generator")
|
|
13
|
+
.option("c", { alias: "configFile", group: "Options", default: "icons.config.ts" })
|
|
14
|
+
.option("h", { alias: "help", group: "Options" })
|
|
15
|
+
.strict(false)
|
|
16
|
+
.exitProcess(false);
|
|
17
|
+
const { help, configFile } = await cli.parse(process_1.argv.slice(2));
|
|
18
|
+
if (help) {
|
|
19
|
+
return 0;
|
|
20
|
+
}
|
|
21
|
+
(0, index_1.default)((0, _getConfig_1._getConfig)(configFile));
|
|
22
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const _generateAdaptersFallbackFiles_1 = require("../utils/_generateAdaptersFallbackFiles");
|
|
4
|
+
const _generateDefinitionFile_1 = require("../utils/_generateDefinitionFile");
|
|
5
|
+
const _generateSeparateIconFiles_1 = require("../utils/_generateSeparateIconFiles");
|
|
6
|
+
const _generateSpriteFile_1 = require("../utils/_generateSpriteFile");
|
|
7
|
+
const _removeUnusedSeparateIconFiles_1 = require("../utils/_removeUnusedSeparateIconFiles");
|
|
8
|
+
const _validateSourceData_1 = require("../utils/_validateSourceData");
|
|
9
|
+
function default_1(config) {
|
|
10
|
+
(0, _validateSourceData_1._validateSourceData)(config);
|
|
11
|
+
console.log("Validated source data.");
|
|
12
|
+
(0, _generateSpriteFile_1._generateSpriteFile)(config);
|
|
13
|
+
console.log("Icon sprite file generated.");
|
|
14
|
+
(0, _generateDefinitionFile_1._generateDefinitionFile)(config);
|
|
15
|
+
console.log("Definition file generated.");
|
|
16
|
+
(0, _removeUnusedSeparateIconFiles_1._removeUnusedSeparateIconFiles)(config);
|
|
17
|
+
console.log("Removed unused separate icon files.");
|
|
18
|
+
(0, _generateSeparateIconFiles_1._generateSeparateIconFiles)(config);
|
|
19
|
+
console.log("Separate icons generated.");
|
|
20
|
+
(0, _generateAdaptersFallbackFiles_1._generateAdaptersFallbackFiles)(config);
|
|
21
|
+
console.log("Fallback files for adapters was generated.");
|
|
22
|
+
}
|
|
23
|
+
exports.default = default_1;
|
package/src/types.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ type IconsByMode = {
|
|
|
20
20
|
};
|
|
21
21
|
export type AdapterType<T extends string> = {
|
|
22
22
|
icons: T[];
|
|
23
|
-
getIcon: (iconName: T) => {
|
|
23
|
+
getIcon: (iconName: T, config: _IconsConfig<Record<any, any>>) => {
|
|
24
24
|
width: number;
|
|
25
25
|
height: number;
|
|
26
26
|
path: string;
|
|
@@ -29,7 +29,7 @@ export type AdapterType<T extends string> = {
|
|
|
29
29
|
export type AdaptersType<T extends Record<string, string>> = Record<keyof T, {
|
|
30
30
|
[K in keyof T]: AdapterType<T[K]>;
|
|
31
31
|
}[keyof T]>;
|
|
32
|
-
export type _IconsConfig<T extends Record<string, string>> = {
|
|
32
|
+
export type _IconsConfig<T extends Record<string, string> = Record<string, string>> = {
|
|
33
33
|
configDirectory: string;
|
|
34
34
|
configFile: string;
|
|
35
35
|
customDefinitionContent?: string;
|
|
@@ -43,7 +43,7 @@ export type _IconsConfig<T extends Record<string, string>> = {
|
|
|
43
43
|
spriteFileName: string;
|
|
44
44
|
typeName: string;
|
|
45
45
|
typescript: boolean;
|
|
46
|
-
adapters
|
|
46
|
+
adapters?: AdaptersType<T>;
|
|
47
47
|
} & IconsByMode;
|
|
48
48
|
export type IconsConfig<T extends Record<string, string> = Record<string, string>> = {
|
|
49
49
|
configDirectory?: string;
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function _createDefinitionFileContent(
|
|
3
|
-
source: any;
|
|
4
|
-
typescript: boolean;
|
|
5
|
-
mode: Mode;
|
|
6
|
-
typeName: string;
|
|
7
|
-
moduleDefinition?: ModuleDefinition;
|
|
8
|
-
customContent?: string;
|
|
9
|
-
adapters: AdaptersType<any>;
|
|
10
|
-
}): string;
|
|
1
|
+
import { _IconsConfig } from "../types";
|
|
2
|
+
export declare function _createDefinitionFileContent(config: _IconsConfig): string;
|
|
@@ -2,60 +2,41 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports._createDefinitionFileContent = void 0;
|
|
4
4
|
const _getIconFromAdapterName_1 = require("./_getIconFromAdapterName");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
case "sizes":
|
|
16
|
-
size = source[name];
|
|
17
|
-
newIcons += ` "${name}": [${Object.keys(size).join(", ")}],\n`;
|
|
18
|
-
break;
|
|
19
|
-
default:
|
|
20
|
-
throw new Error("Unknown mode " + mode);
|
|
21
|
-
}
|
|
5
|
+
const get_md5_from_file_1 = require("./get-md5-from-file");
|
|
6
|
+
function _createDefinitionFileContent(config) {
|
|
7
|
+
var _a;
|
|
8
|
+
const iconDefinitions = [];
|
|
9
|
+
const iconNames = [];
|
|
10
|
+
Object.keys(config.icons).map((name) => {
|
|
11
|
+
iconNames.push(name);
|
|
12
|
+
iconDefinitions.push(config.mode === "sizes"
|
|
13
|
+
? ` "${name}": [${Object.keys(config.icons[name]).join(", ")}],`
|
|
14
|
+
: ` "${name}": { w: ${config.icons[name].width}, h: ${config.icons[name].height} },`);
|
|
22
15
|
});
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
Object.keys(adapters).map((adapterName) => {
|
|
26
|
-
const adapter = adapters[adapterName];
|
|
16
|
+
if (config.adapters) {
|
|
17
|
+
Object.entries((_a = config.adapters) !== null && _a !== void 0 ? _a : []).map(([adapterName, adapter]) => {
|
|
27
18
|
adapter.icons.map((iconName) => {
|
|
28
|
-
|
|
29
|
-
const icon = adapter.getIcon(iconName);
|
|
30
|
-
|
|
19
|
+
iconNames.push((0, _getIconFromAdapterName_1._getIconFromAdapterName)(adapterName, iconName));
|
|
20
|
+
const icon = adapter.getIcon(iconName, config);
|
|
21
|
+
iconDefinitions.push(` "${(0, _getIconFromAdapterName_1._getIconFromAdapterName)(adapterName, iconName)}": { w: ${icon.width}, h: ${icon.height} },`);
|
|
31
22
|
});
|
|
32
23
|
});
|
|
33
24
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
case "type":
|
|
48
|
-
newIcons += ` type ${moduleDefinition.typeName} = "${allIconNames.join('" | "')}";\n`;
|
|
49
|
-
break;
|
|
50
|
-
default:
|
|
51
|
-
throw new Error("Unknown mode " + mode);
|
|
52
|
-
}
|
|
53
|
-
newIcons += "}\n";
|
|
54
|
-
}
|
|
25
|
+
return `// this file is generated automatically, do not change anything manually in the contents of this file
|
|
26
|
+
|
|
27
|
+
export const ICONS_VERSION = "${(0, get_md5_from_file_1.getMd5FromFile)(config.spriteFile)}";
|
|
28
|
+
|
|
29
|
+
export const ICONS = {
|
|
30
|
+
${iconDefinitions.join("\n")}
|
|
31
|
+
} as const;
|
|
32
|
+
|
|
33
|
+
export type ${config.typeName} = keyof typeof ICONS;
|
|
34
|
+
|
|
35
|
+
declare module "@uxf/ui/icon/theme" {
|
|
36
|
+
interface IconsSet {
|
|
37
|
+
${iconNames.map((iconName) => ` "${iconName}": true;`).join("\n")}
|
|
55
38
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
return newIcons;
|
|
39
|
+
}
|
|
40
|
+
${config.customDefinitionContent ? `\n${config.customDefinitionContent}\n` : ""}`;
|
|
60
41
|
}
|
|
61
42
|
exports._createDefinitionFileContent = _createDefinitionFileContent;
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function _createSpriteContent(
|
|
3
|
-
source: any;
|
|
4
|
-
mode: Mode;
|
|
5
|
-
adapters: AdaptersType<any>;
|
|
6
|
-
}): string;
|
|
1
|
+
import { _IconsConfig } from "../types";
|
|
2
|
+
export declare function _createSpriteContent(config: _IconsConfig): string;
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports._createSpriteContent = void 0;
|
|
4
4
|
const _getIconFromAdapterName_1 = require("./_getIconFromAdapterName");
|
|
5
|
-
function _createSpriteContent(
|
|
5
|
+
function _createSpriteContent(config) {
|
|
6
6
|
let spriteTextContent = `<svg xmlns="http://www.w3.org/2000/svg">`;
|
|
7
|
-
switch (mode) {
|
|
7
|
+
switch (config.mode) {
|
|
8
8
|
case "simple":
|
|
9
|
-
Object.keys(
|
|
10
|
-
const svg =
|
|
9
|
+
Object.keys(config.icons).map((name) => {
|
|
10
|
+
const svg = config.icons[name];
|
|
11
11
|
spriteTextContent += `<symbol id="icon-sprite--${name}" viewBox="0 0 ${svg.width} ${svg.height}">`;
|
|
12
12
|
spriteTextContent += svg.data;
|
|
13
13
|
spriteTextContent += `</symbol>`;
|
|
14
14
|
});
|
|
15
15
|
break;
|
|
16
16
|
case "sizes":
|
|
17
|
-
Object.keys(
|
|
18
|
-
const sizes =
|
|
17
|
+
Object.keys(config.icons).map((name) => {
|
|
18
|
+
const sizes = config.icons[name];
|
|
19
19
|
return Object.keys(sizes).map((s) => {
|
|
20
20
|
const svg = sizes[s];
|
|
21
21
|
spriteTextContent += `<symbol id="icon-sprite--${name}_${s}" viewBox="0 0 ${s} ${s}">${svg}</symbol>`;
|
|
@@ -23,14 +23,14 @@ function _createSpriteContent({ source, mode, adapters, }) {
|
|
|
23
23
|
});
|
|
24
24
|
break;
|
|
25
25
|
default:
|
|
26
|
-
throw new Error("Unknown mode "
|
|
26
|
+
throw new Error("Unknown mode ");
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const adapter = adapters[adapterName];
|
|
32
|
-
adapter.icons.map((iconName) => {
|
|
33
|
-
const icon = adapter.getIcon(iconName);
|
|
28
|
+
if (config.adapters) {
|
|
29
|
+
Object.keys(config.adapters).map((adapterName) => {
|
|
30
|
+
var _a;
|
|
31
|
+
const adapter = (_a = config.adapters) === null || _a === void 0 ? void 0 : _a[adapterName];
|
|
32
|
+
adapter === null || adapter === void 0 ? void 0 : adapter.icons.map((iconName) => {
|
|
33
|
+
const icon = adapter.getIcon(iconName, config);
|
|
34
34
|
spriteTextContent += `<symbol id="icon-sprite--${(0, _getIconFromAdapterName_1._getIconFromAdapterName)(adapterName, iconName)}" viewBox="0 0 ${icon.width} ${icon.height}">`;
|
|
35
35
|
spriteTextContent += icon.path;
|
|
36
36
|
spriteTextContent += `</symbol>`;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}): void;
|
|
1
|
+
import { _IconsConfig } from "../types";
|
|
2
|
+
export declare function _generateAdaptersFallbackFiles(config: _IconsConfig<Record<string, string>>): void;
|
|
@@ -3,18 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports._generateAdaptersFallbackFiles = void 0;
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const _createPath_1 = require("./_createPath");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
(0, _createPath_1._createPath)(configFile);
|
|
9
|
-
const config = (0, _getConfig_1._getConfig)();
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
6
|
+
function _generateAdaptersFallbackFiles(config) {
|
|
7
|
+
(0, _createPath_1._createPath)(config.configFile);
|
|
11
8
|
if (config.adapters) {
|
|
12
9
|
const adaptersKeys = Object.keys(config.adapters);
|
|
13
10
|
adaptersKeys.forEach((adapterKey) => {
|
|
11
|
+
var _a;
|
|
14
12
|
let content = "{\n";
|
|
15
|
-
const adapter = config.adapters[adapterKey];
|
|
16
|
-
adapter.icons.forEach((iconKey) => {
|
|
17
|
-
const iconData = adapter.getIcon(iconKey);
|
|
13
|
+
const adapter = (_a = config.adapters) === null || _a === void 0 ? void 0 : _a[adapterKey];
|
|
14
|
+
adapter === null || adapter === void 0 ? void 0 : adapter.icons.forEach((iconKey) => {
|
|
15
|
+
const iconData = adapter.getIcon(iconKey, config);
|
|
18
16
|
content += ` "${iconKey}": { "width": "${iconData.width}", "height": "${iconData.height}", "path": "${encodeURIComponent(iconData.path)}" },\n`;
|
|
19
17
|
});
|
|
20
18
|
content += "}\n";
|
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function _generateDefinitionFile(
|
|
3
|
-
source: any;
|
|
4
|
-
resultFile: string;
|
|
5
|
-
typescript: boolean;
|
|
6
|
-
mode: Mode;
|
|
7
|
-
typeName: string;
|
|
8
|
-
moduleDefinition?: ModuleDefinition;
|
|
9
|
-
customContent?: string;
|
|
10
|
-
adapters: AdaptersType<any>;
|
|
11
|
-
}): void;
|
|
1
|
+
import { _IconsConfig } from "../types";
|
|
2
|
+
export declare function _generateDefinitionFile(config: _IconsConfig): void;
|
|
@@ -4,17 +4,9 @@ exports._generateDefinitionFile = void 0;
|
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const _createDefinitionFileContent_1 = require("./_createDefinitionFileContent");
|
|
6
6
|
const _createPath_1 = require("./_createPath");
|
|
7
|
-
function _generateDefinitionFile(
|
|
8
|
-
const newIcons = (0, _createDefinitionFileContent_1._createDefinitionFileContent)(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
mode,
|
|
12
|
-
typeName,
|
|
13
|
-
moduleDefinition,
|
|
14
|
-
customContent,
|
|
15
|
-
adapters,
|
|
16
|
-
});
|
|
17
|
-
(0, _createPath_1._createPath)(resultFile);
|
|
18
|
-
(0, fs_1.writeFileSync)(resultFile, newIcons);
|
|
7
|
+
function _generateDefinitionFile(config) {
|
|
8
|
+
const newIcons = (0, _createDefinitionFileContent_1._createDefinitionFileContent)(config);
|
|
9
|
+
(0, _createPath_1._createPath)(config.definitionFile);
|
|
10
|
+
(0, fs_1.writeFileSync)(config.definitionFile, newIcons);
|
|
19
11
|
}
|
|
20
12
|
exports._generateDefinitionFile = _generateDefinitionFile;
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function _generateSeparateIconFiles(
|
|
3
|
-
source: any;
|
|
4
|
-
directory: string;
|
|
5
|
-
mode: Mode;
|
|
6
|
-
adapters: AdaptersType<any>;
|
|
7
|
-
}): void;
|
|
1
|
+
import { _IconsConfig } from "../types";
|
|
2
|
+
export declare function _generateSeparateIconFiles(config: _IconsConfig): void;
|
|
@@ -5,41 +5,46 @@ const fs_1 = require("fs");
|
|
|
5
5
|
const _createIconContent_1 = require("./_createIconContent");
|
|
6
6
|
const _createPath_1 = require("./_createPath");
|
|
7
7
|
const _getIconFromAdapterName_1 = require("./_getIconFromAdapterName");
|
|
8
|
-
function _generateSeparateIconFiles(
|
|
9
|
-
(0, _createPath_1._createPath)(
|
|
10
|
-
switch (mode) {
|
|
8
|
+
function _generateSeparateIconFiles(config) {
|
|
9
|
+
(0, _createPath_1._createPath)(config.generatedDirectory, false);
|
|
10
|
+
switch (config.mode) {
|
|
11
11
|
case "simple":
|
|
12
|
-
Object.keys(
|
|
13
|
-
const svg =
|
|
14
|
-
|
|
15
|
-
(0,
|
|
12
|
+
Object.keys(config.icons).map((name) => {
|
|
13
|
+
const svg = config.icons[name];
|
|
14
|
+
// TODO po správném otypování tu neseděj typy ... :-)
|
|
15
|
+
const content = (0, _createIconContent_1._createIconContent)({
|
|
16
|
+
width: svg.width,
|
|
17
|
+
height: svg.height,
|
|
18
|
+
content: svg.data,
|
|
19
|
+
});
|
|
20
|
+
(0, fs_1.writeFileSync)(config.generatedDirectory + name + ".svg", content);
|
|
16
21
|
});
|
|
17
22
|
break;
|
|
18
23
|
case "sizes":
|
|
19
|
-
Object.keys(
|
|
20
|
-
const size =
|
|
24
|
+
Object.keys(config.icons).map((name) => {
|
|
25
|
+
const size = config.icons[name];
|
|
21
26
|
Object.keys(size).map((s) => {
|
|
22
27
|
const svg = size[s];
|
|
23
28
|
const content = (0, _createIconContent_1._createIconContent)({ width: s, height: s, content: svg });
|
|
24
|
-
(0, fs_1.writeFileSync)(
|
|
29
|
+
(0, fs_1.writeFileSync)(config.generatedDirectory + name + "_" + s + ".svg", content);
|
|
25
30
|
});
|
|
26
31
|
});
|
|
27
32
|
break;
|
|
28
33
|
default:
|
|
29
|
-
throw new Error("Unknown mode "
|
|
34
|
+
throw new Error("Unknown mode ");
|
|
30
35
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const adapter = adapters[adapterName];
|
|
35
|
-
adapter.icons.map((iconName) => {
|
|
36
|
-
const icon = adapter.getIcon(iconName);
|
|
36
|
+
if (config.adapters) {
|
|
37
|
+
Object.keys(config.adapters).map((adapterName) => {
|
|
38
|
+
var _a;
|
|
39
|
+
const adapter = (_a = config.adapters) === null || _a === void 0 ? void 0 : _a[adapterName];
|
|
40
|
+
adapter === null || adapter === void 0 ? void 0 : adapter.icons.map((iconName) => {
|
|
41
|
+
const icon = adapter.getIcon(iconName, config);
|
|
37
42
|
const content = (0, _createIconContent_1._createIconContent)({
|
|
38
43
|
width: icon.width.toString(),
|
|
39
44
|
height: icon.height.toString(),
|
|
40
45
|
content: icon.path,
|
|
41
46
|
});
|
|
42
|
-
(0, fs_1.writeFileSync)(
|
|
47
|
+
(0, fs_1.writeFileSync)(config.generatedDirectory + (0, _getIconFromAdapterName_1._getIconFromAdapterName)(adapterName, iconName) + ".svg", content);
|
|
43
48
|
});
|
|
44
49
|
});
|
|
45
50
|
}
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function _generateSpriteFile(
|
|
3
|
-
source: any;
|
|
4
|
-
spriteFile: string;
|
|
5
|
-
mode: Mode;
|
|
6
|
-
adapters: AdaptersType<any>;
|
|
7
|
-
}): void;
|
|
1
|
+
import { _IconsConfig } from "../types";
|
|
2
|
+
export declare function _generateSpriteFile(config: _IconsConfig): void;
|
|
@@ -4,8 +4,8 @@ exports._generateSpriteFile = void 0;
|
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const _createPath_1 = require("./_createPath");
|
|
6
6
|
const _createSpriteContent_1 = require("./_createSpriteContent");
|
|
7
|
-
function _generateSpriteFile(
|
|
8
|
-
(0, _createPath_1._createPath)(
|
|
9
|
-
(0, fs_1.writeFileSync)(spriteFile, (0, _createSpriteContent_1._createSpriteContent)(
|
|
7
|
+
function _generateSpriteFile(config) {
|
|
8
|
+
(0, _createPath_1._createPath)(config.configFile);
|
|
9
|
+
(0, fs_1.writeFileSync)(config.spriteFile, (0, _createSpriteContent_1._createSpriteContent)(config));
|
|
10
10
|
}
|
|
11
11
|
exports._generateSpriteFile = _generateSpriteFile;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { _IconsConfig } from "../types";
|
|
2
|
-
export declare function _getConfig(): _IconsConfig<Record<string, string>>;
|
|
2
|
+
export declare function _getConfig(confFile: string): _IconsConfig<Record<string, string>>;
|
package/src/utils/_getConfig.js
CHANGED
|
@@ -11,11 +11,9 @@ function _getModuleDefinition(data) {
|
|
|
11
11
|
format: data.format || "interface",
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
function _getConfig() {
|
|
15
|
-
var _a;
|
|
16
|
-
const confFile = (_a = process.argv.filter((c) => c.includes("--configFile="))[0]) === null || _a === void 0 ? void 0 : _a.split("=")[1];
|
|
14
|
+
function _getConfig(confFile) {
|
|
17
15
|
/* eslint-disable-next-line @typescript-eslint/no-var-requires */
|
|
18
|
-
const loadedConfig = require(process.cwd() + "/" +
|
|
16
|
+
const loadedConfig = require(process.cwd() + "/" + confFile);
|
|
19
17
|
const config = {
|
|
20
18
|
configDirectory: loadedConfig.configDirectory || "/src/config/",
|
|
21
19
|
icons: loadedConfig.icons || {},
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function _removeUnusedSeparateIconFiles(
|
|
3
|
-
source: Record<string, SimpleIcon | SizedIcon>;
|
|
4
|
-
directory: string;
|
|
5
|
-
spriteFileName: string;
|
|
6
|
-
adapters: AdaptersType<any>;
|
|
7
|
-
}): void;
|
|
1
|
+
import { _IconsConfig } from "../types";
|
|
2
|
+
export declare function _removeUnusedSeparateIconFiles(config: _IconsConfig): void;
|
|
@@ -4,22 +4,22 @@ exports._removeUnusedSeparateIconFiles = void 0;
|
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const _createPath_1 = require("./_createPath");
|
|
6
6
|
const _getIconFromAdapterName_1 = require("./_getIconFromAdapterName");
|
|
7
|
-
function _removeUnusedSeparateIconFiles(
|
|
8
|
-
(0, _createPath_1._createPath)(
|
|
9
|
-
const dir = (0, fs_1.readdirSync)(
|
|
10
|
-
const allIconNames = Object.keys(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const adapter = adapters[adapterName];
|
|
15
|
-
adapter.icons.map((iconName) => {
|
|
7
|
+
function _removeUnusedSeparateIconFiles(config) {
|
|
8
|
+
(0, _createPath_1._createPath)(config.generatedDirectory, false);
|
|
9
|
+
const dir = (0, fs_1.readdirSync)(config.generatedDirectory, { withFileTypes: true });
|
|
10
|
+
const allIconNames = Object.keys(config.icons);
|
|
11
|
+
if (config.adapters) {
|
|
12
|
+
Object.keys(config.adapters).map((adapterName) => {
|
|
13
|
+
var _a;
|
|
14
|
+
const adapter = (_a = config.adapters) === null || _a === void 0 ? void 0 : _a[adapterName];
|
|
15
|
+
adapter === null || adapter === void 0 ? void 0 : adapter.icons.map((iconName) => {
|
|
16
16
|
allIconNames.push((0, _getIconFromAdapterName_1._getIconFromAdapterName)(adapterName, iconName));
|
|
17
17
|
});
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
dir.map((file) => {
|
|
21
|
-
if (file.isFile() && !allIconNames.includes(file.name) && file.name !== spriteFileName) {
|
|
22
|
-
(0, fs_1.unlinkSync)(
|
|
21
|
+
if (file.isFile() && !allIconNames.includes(file.name) && file.name !== config.spriteFileName) {
|
|
22
|
+
(0, fs_1.unlinkSync)(config.generatedDirectory + file.name);
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
}
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports._validateSourceData = void 0;
|
|
4
4
|
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
5
|
-
function _validateSourceData(
|
|
6
|
-
switch (mode) {
|
|
5
|
+
function _validateSourceData(config) {
|
|
6
|
+
switch (config.mode) {
|
|
7
7
|
case "simple":
|
|
8
|
-
Object.keys(
|
|
9
|
-
const svg =
|
|
8
|
+
Object.keys(config.icons).map((name) => {
|
|
9
|
+
const svg = config.icons[name];
|
|
10
10
|
if (fast_xml_parser_1.XMLValidator.validate(`<svg>${svg.data}</svg>`) !== true) {
|
|
11
11
|
throw new Error(`Invalid SVG data for icon "${name}"`);
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
break;
|
|
15
15
|
case "sizes":
|
|
16
|
-
Object.keys(
|
|
17
|
-
const sizes =
|
|
16
|
+
Object.keys(config.icons).map((name) => {
|
|
17
|
+
const sizes = config.icons[name];
|
|
18
18
|
return Object.keys(sizes).map((s) => {
|
|
19
19
|
const svg = sizes[s];
|
|
20
20
|
if (fast_xml_parser_1.XMLValidator.validate(`<svg>${svg}</svg>`) !== true) {
|
|
@@ -24,7 +24,7 @@ function _validateSourceData({ source, mode }) {
|
|
|
24
24
|
});
|
|
25
25
|
break;
|
|
26
26
|
default:
|
|
27
|
-
throw new Error("Unknown mode "
|
|
27
|
+
throw new Error("Unknown mode ");
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports._validateSourceData = _validateSourceData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getMd5FromFile(filename: string): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getMd5FromFile = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
function getMd5FromFile(filename) {
|
|
10
|
+
const fileBuffer = fs_1.default.readFileSync(filename);
|
|
11
|
+
const hashSum = crypto_1.default.createHash("md5");
|
|
12
|
+
hashSum.update(fileBuffer);
|
|
13
|
+
return hashSum.digest("hex");
|
|
14
|
+
}
|
|
15
|
+
exports.getMd5FromFile = getMd5FromFile;
|
package/tests/icons.config.js
CHANGED
|
@@ -4,8 +4,8 @@ const fa_pro_1 = require("../src/adapters/fa-pro");
|
|
|
4
4
|
const config = {
|
|
5
5
|
mode: "simple",
|
|
6
6
|
typescript: true,
|
|
7
|
-
configDirectory: "/tests/config/",
|
|
8
|
-
generatedDirectory: "/tests/
|
|
7
|
+
configDirectory: "/tests/__snapshots/config/",
|
|
8
|
+
generatedDirectory: "/tests/__snapshots/public/",
|
|
9
9
|
spriteFileName: "_icon-sprite.svg",
|
|
10
10
|
typeName: "MySuperIconsType",
|
|
11
11
|
adapters: {
|
package/src/scripts/check.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
const _getConfig_1 = require("../utils/_getConfig");
|
|
5
|
-
const _check_1 = require("../utils/check/_check");
|
|
6
|
-
const config = (0, _getConfig_1._getConfig)();
|
|
7
|
-
let error = false;
|
|
8
|
-
try {
|
|
9
|
-
(0, _check_1._check)(config);
|
|
10
|
-
}
|
|
11
|
-
catch (e) {
|
|
12
|
-
// eslint-disable-next-line no-console
|
|
13
|
-
console.error(e);
|
|
14
|
-
error = true;
|
|
15
|
-
}
|
|
16
|
-
if (!error) {
|
|
17
|
-
// eslint-disable-next-line no-console
|
|
18
|
-
console.log("Everything OK!");
|
|
19
|
-
}
|
|
20
|
-
process.exit(error ? 1 : 0);
|
package/src/scripts/gen.d.ts
DELETED
package/src/scripts/gen.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
const _generateAdaptersFallbackFiles_1 = require("../utils/_generateAdaptersFallbackFiles");
|
|
5
|
-
const _generateConfigFile_1 = require("../utils/_generateConfigFile");
|
|
6
|
-
const _generateDefinitionFile_1 = require("../utils/_generateDefinitionFile");
|
|
7
|
-
const _generateSeparateIconFiles_1 = require("../utils/_generateSeparateIconFiles");
|
|
8
|
-
const _generateSpriteFile_1 = require("../utils/_generateSpriteFile");
|
|
9
|
-
const _getConfig_1 = require("../utils/_getConfig");
|
|
10
|
-
const _removeUnusedSeparateIconFiles_1 = require("../utils/_removeUnusedSeparateIconFiles");
|
|
11
|
-
const _check_1 = require("../utils/check/_check");
|
|
12
|
-
const _validateSourceData_1 = require("../utils/check/_validateSourceData");
|
|
13
|
-
const config = (0, _getConfig_1._getConfig)();
|
|
14
|
-
let error = false;
|
|
15
|
-
let shouldUpdate = false;
|
|
16
|
-
try {
|
|
17
|
-
(0, _validateSourceData_1._validateSourceData)({ source: config.icons, mode: config.mode });
|
|
18
|
-
try {
|
|
19
|
-
(0, _check_1._check)(config);
|
|
20
|
-
}
|
|
21
|
-
catch (e) {
|
|
22
|
-
shouldUpdate = true;
|
|
23
|
-
}
|
|
24
|
-
(0, _validateSourceData_1._validateSourceData)({ source: config.icons, mode: config.mode });
|
|
25
|
-
if (shouldUpdate) {
|
|
26
|
-
(0, _generateSpriteFile_1._generateSpriteFile)({
|
|
27
|
-
source: config.icons,
|
|
28
|
-
spriteFile: config.spriteFile,
|
|
29
|
-
mode: config.mode,
|
|
30
|
-
adapters: config.adapters,
|
|
31
|
-
});
|
|
32
|
-
// eslint-disable-next-line no-console
|
|
33
|
-
console.log("Icon sprite file generated.");
|
|
34
|
-
(0, _generateDefinitionFile_1._generateDefinitionFile)({
|
|
35
|
-
source: config.icons,
|
|
36
|
-
resultFile: config.definitionFile,
|
|
37
|
-
typescript: config.typescript,
|
|
38
|
-
mode: config.mode,
|
|
39
|
-
typeName: config.typeName,
|
|
40
|
-
moduleDefinition: config.moduleDefinition,
|
|
41
|
-
customContent: config.customDefinitionContent,
|
|
42
|
-
adapters: config.adapters,
|
|
43
|
-
});
|
|
44
|
-
// eslint-disable-next-line no-console
|
|
45
|
-
console.log("Definition file generated.");
|
|
46
|
-
(0, _removeUnusedSeparateIconFiles_1._removeUnusedSeparateIconFiles)({
|
|
47
|
-
source: config.icons,
|
|
48
|
-
directory: config.generatedDirectory,
|
|
49
|
-
spriteFileName: config.spriteFileName,
|
|
50
|
-
adapters: config.adapters,
|
|
51
|
-
});
|
|
52
|
-
(0, _generateSeparateIconFiles_1._generateSeparateIconFiles)({
|
|
53
|
-
source: config.icons,
|
|
54
|
-
directory: config.generatedDirectory,
|
|
55
|
-
mode: config.mode,
|
|
56
|
-
adapters: config.adapters,
|
|
57
|
-
});
|
|
58
|
-
// eslint-disable-next-line no-console
|
|
59
|
-
console.log("Separate icons generated.");
|
|
60
|
-
(0, _generateConfigFile_1._generateConfigFile)({
|
|
61
|
-
configFile: config.configFile,
|
|
62
|
-
spriteFileName: config.spriteFileName,
|
|
63
|
-
generatedRelativeDirectory: config.generatedRelativeDirectory,
|
|
64
|
-
});
|
|
65
|
-
// eslint-disable-next-line no-console
|
|
66
|
-
console.log("Config file generated.");
|
|
67
|
-
(0, _generateAdaptersFallbackFiles_1._generateAdaptersFallbackFiles)({
|
|
68
|
-
configFile: config.configFile,
|
|
69
|
-
});
|
|
70
|
-
// eslint-disable-next-line no-console
|
|
71
|
-
console.log("Fallback files for adapters was generated.");
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
// eslint-disable-next-line no-console
|
|
75
|
-
console.log("No changes in config, no icons generated.");
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
catch (e) {
|
|
79
|
-
// eslint-disable-next-line no-console
|
|
80
|
-
console.error(e);
|
|
81
|
-
error = true;
|
|
82
|
-
}
|
|
83
|
-
process.exit(error ? 1 : 0);
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports._compareSprites = void 0;
|
|
4
|
-
const fs_1 = require("fs");
|
|
5
|
-
const _createSpriteContent_1 = require("./_createSpriteContent");
|
|
6
|
-
function _compareSprites({ source, spriteFile, mode, adapters, }) {
|
|
7
|
-
const spriteTextContent = (0, _createSpriteContent_1._createSpriteContent)({ source, mode, adapters });
|
|
8
|
-
const oldSvgContent = (0, fs_1.existsSync)(spriteFile) ? (0, fs_1.readFileSync)(spriteFile).toString() : "";
|
|
9
|
-
return spriteTextContent === oldSvgContent;
|
|
10
|
-
}
|
|
11
|
-
exports._compareSprites = _compareSprites;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports._createConfigFileContent = void 0;
|
|
4
|
-
function _createConfigFileContent({ spriteFileName, generatedRelativeDirectory, }) {
|
|
5
|
-
const iconsVersion = new Date().getTime();
|
|
6
|
-
return `export const ICONS_VERSION = "${iconsVersion}";\nexport const ICON_SPRITE = "${generatedRelativeDirectory.replace("/public", "")}${spriteFileName}";\n`;
|
|
7
|
-
}
|
|
8
|
-
exports._createConfigFileContent = _createConfigFileContent;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports._generateConfigFile = void 0;
|
|
4
|
-
const fs_1 = require("fs");
|
|
5
|
-
const _createConfigFileContent_1 = require("./_createConfigFileContent");
|
|
6
|
-
const _createPath_1 = require("./_createPath");
|
|
7
|
-
function _generateConfigFile({ configFile, spriteFileName, generatedRelativeDirectory, }) {
|
|
8
|
-
(0, _createPath_1._createPath)(configFile);
|
|
9
|
-
(0, fs_1.writeFileSync)(configFile, (0, _createConfigFileContent_1._createConfigFileContent)({
|
|
10
|
-
spriteFileName: spriteFileName,
|
|
11
|
-
generatedRelativeDirectory: generatedRelativeDirectory,
|
|
12
|
-
}));
|
|
13
|
-
}
|
|
14
|
-
exports._generateConfigFile = _generateConfigFile;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports._check = void 0;
|
|
4
|
-
const _validateConfigFile_1 = require("./_validateConfigFile");
|
|
5
|
-
const _validateDefinitions_1 = require("./_validateDefinitions");
|
|
6
|
-
const _validateSeparateIcons_1 = require("./_validateSeparateIcons");
|
|
7
|
-
const _validateSourceData_1 = require("./_validateSourceData");
|
|
8
|
-
const _validateSprite_1 = require("./_validateSprite");
|
|
9
|
-
function _check(config) {
|
|
10
|
-
(0, _validateSourceData_1._validateSourceData)({ source: config.icons, mode: config.mode });
|
|
11
|
-
(0, _validateSprite_1._validateSprite)({
|
|
12
|
-
source: config.icons,
|
|
13
|
-
spriteFile: config.spriteFile,
|
|
14
|
-
mode: config.mode,
|
|
15
|
-
adapters: config.adapters,
|
|
16
|
-
});
|
|
17
|
-
(0, _validateDefinitions_1._validateDefinitions)({
|
|
18
|
-
source: config.icons,
|
|
19
|
-
resultFile: config.definitionFile,
|
|
20
|
-
typescript: config.typescript,
|
|
21
|
-
mode: config.mode,
|
|
22
|
-
typeName: config.typeName,
|
|
23
|
-
moduleDefinition: config.moduleDefinition,
|
|
24
|
-
customContent: config.customDefinitionContent,
|
|
25
|
-
adapters: config.adapters,
|
|
26
|
-
});
|
|
27
|
-
(0, _validateSeparateIcons_1._validateSeparateIcons)({ source: config.icons, generatedDir: config.generatedDirectory, mode: config.mode });
|
|
28
|
-
(0, _validateConfigFile_1._validateConfigFile)({
|
|
29
|
-
configFile: config.configFile,
|
|
30
|
-
spriteFileName: config.spriteFileName,
|
|
31
|
-
generatedRelativeDirectory: config.generatedRelativeDirectory,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
exports._check = _check;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports._validateConfigFile = void 0;
|
|
4
|
-
const fs_1 = require("fs");
|
|
5
|
-
const _createConfigFileContent_1 = require("../_createConfigFileContent");
|
|
6
|
-
function normalize(content) {
|
|
7
|
-
return content.replace(/ICONS_VERSION = "[0-9]+"/g, "%%VERSION%%");
|
|
8
|
-
}
|
|
9
|
-
function _validateConfigFile({ spriteFileName, generatedRelativeDirectory, configFile, }) {
|
|
10
|
-
const newContent = (0, _createConfigFileContent_1._createConfigFileContent)({
|
|
11
|
-
spriteFileName,
|
|
12
|
-
generatedRelativeDirectory,
|
|
13
|
-
});
|
|
14
|
-
const oldContent = (0, fs_1.existsSync)(configFile) ? (0, fs_1.readFileSync)(configFile).toString() : "";
|
|
15
|
-
if (normalize(newContent) !== normalize(oldContent)) {
|
|
16
|
-
throw new Error("Config file doesn't contain all valid information");
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports._validateConfigFile = _validateConfigFile;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { AdaptersType, Mode, ModuleDefinition } from "../../types";
|
|
2
|
-
export declare function _validateDefinitions({ source, resultFile, typescript, mode, typeName, moduleDefinition, customContent, adapters, }: {
|
|
3
|
-
source: any;
|
|
4
|
-
resultFile: string;
|
|
5
|
-
typescript: boolean;
|
|
6
|
-
mode: Mode;
|
|
7
|
-
typeName: string;
|
|
8
|
-
moduleDefinition?: ModuleDefinition;
|
|
9
|
-
customContent?: string;
|
|
10
|
-
adapters: AdaptersType<any>;
|
|
11
|
-
}): void;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports._validateDefinitions = void 0;
|
|
4
|
-
const fs_1 = require("fs");
|
|
5
|
-
const _createDefinitionFileContent_1 = require("../_createDefinitionFileContent");
|
|
6
|
-
function _validateDefinitions({ source, resultFile, typescript, mode, typeName, moduleDefinition, customContent, adapters, }) {
|
|
7
|
-
const newContent = (0, _createDefinitionFileContent_1._createDefinitionFileContent)({
|
|
8
|
-
source,
|
|
9
|
-
typescript,
|
|
10
|
-
mode,
|
|
11
|
-
typeName,
|
|
12
|
-
moduleDefinition,
|
|
13
|
-
customContent,
|
|
14
|
-
adapters,
|
|
15
|
-
});
|
|
16
|
-
const oldContent = (0, fs_1.existsSync)(resultFile) ? (0, fs_1.readFileSync)(resultFile).toString() : "";
|
|
17
|
-
if (newContent !== oldContent) {
|
|
18
|
-
throw new Error("Definition file doesn't contain all valid icons from config");
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports._validateDefinitions = _validateDefinitions;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports._validateSeparateIcons = void 0;
|
|
4
|
-
const fs_1 = require("fs");
|
|
5
|
-
const _createIconContent_1 = require("../_createIconContent");
|
|
6
|
-
function _validateSeparateIcons({ source, generatedDir, mode, }) {
|
|
7
|
-
switch (mode) {
|
|
8
|
-
case "simple":
|
|
9
|
-
Object.keys(source).map((name) => {
|
|
10
|
-
const svg = source[name];
|
|
11
|
-
const content = (0, _createIconContent_1._createIconContent)({ width: svg.width, height: svg.height, content: svg.data });
|
|
12
|
-
const oldContent = (0, fs_1.existsSync)(generatedDir + name + ".svg")
|
|
13
|
-
? (0, fs_1.readFileSync)(generatedDir + name + ".svg").toString()
|
|
14
|
-
: "";
|
|
15
|
-
if (content !== oldContent) {
|
|
16
|
-
throw new Error(`SVG file for icon "${name}" has no valid content for current config`);
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
break;
|
|
20
|
-
case "sizes":
|
|
21
|
-
Object.keys(source).map((name) => {
|
|
22
|
-
const size = source[name];
|
|
23
|
-
Object.keys(size).map((s) => {
|
|
24
|
-
const svg = size[s];
|
|
25
|
-
const content = (0, _createIconContent_1._createIconContent)({ width: s, height: s, content: svg });
|
|
26
|
-
const oldContent = (0, fs_1.existsSync)(generatedDir + name + "_" + s + ".svg")
|
|
27
|
-
? (0, fs_1.readFileSync)(generatedDir + name + "_" + s + ".svg").toString()
|
|
28
|
-
: "";
|
|
29
|
-
if (content !== oldContent) {
|
|
30
|
-
throw new Error(`SVG file for icon "${name}" has no valid content for current config`);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
break;
|
|
35
|
-
default:
|
|
36
|
-
throw new Error("Unknown mode " + mode);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
exports._validateSeparateIcons = _validateSeparateIcons;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports._validateSprite = void 0;
|
|
4
|
-
const _compareSprites_1 = require("../_compareSprites");
|
|
5
|
-
function _validateSprite({ source, spriteFile, mode, adapters, }) {
|
|
6
|
-
if (!(0, _compareSprites_1._compareSprites)({ source, mode, spriteFile, adapters })) {
|
|
7
|
-
throw new Error("SVG file doesn't contain all valid icons from config");
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports._validateSprite = _validateSprite;
|
|
File without changes
|