@taiga-ui/icons 2.30.0 → 2.34.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/bundles/taiga-ui-icons-scripts.umd.js +96 -38
- package/bundles/taiga-ui-icons-scripts.umd.js.map +1 -1
- package/bundles/taiga-ui-icons-scripts.umd.min.js +1 -1
- package/bundles/taiga-ui-icons-scripts.umd.min.js.map +1 -1
- package/esm2015/scripts/index.js +2 -1
- package/esm2015/scripts/prepare-all-to-compile-file.js +3 -3
- package/esm2015/scripts/process-icons.js +58 -0
- package/esm2015/scripts/rollup-svgo.js +27 -23
- package/esm5/scripts/index.js +2 -1
- package/esm5/scripts/prepare-all-to-compile-file.js +3 -3
- package/esm5/scripts/process-icons.js +65 -0
- package/esm5/scripts/rollup-svgo.js +28 -34
- package/fesm2015/taiga-ui-icons-scripts.js +87 -25
- package/fesm2015/taiga-ui-icons-scripts.js.map +1 -1
- package/fesm5/taiga-ui-icons-scripts.js +94 -37
- package/fesm5/taiga-ui-icons-scripts.js.map +1 -1
- package/package.json +1 -1
- package/scripts/index.d.ts +1 -0
- package/scripts/prepare-all-to-compile-file.d.ts +1 -1
- package/scripts/process-icons.d.ts +3 -0
- package/scripts/taiga-ui-icons-scripts.metadata.json +1 -1
- package/svg.d.ts +9 -0
|
@@ -1,48 +1,43 @@
|
|
|
1
|
-
import { __awaiter, __generator,
|
|
1
|
+
import { __assign, __awaiter, __generator, __values } from 'tslib';
|
|
2
2
|
import { rollup } from 'rollup';
|
|
3
3
|
import typescript from 'rollup-plugin-typescript2';
|
|
4
4
|
import { createFilter } from '@rollup/pluginutils';
|
|
5
5
|
import { optimize } from 'svgo';
|
|
6
|
-
import { unlinkSync, readFileSync, writeFileSync, readdirSync } from 'fs';
|
|
6
|
+
import fs, { unlinkSync, readFileSync, writeFileSync, readdirSync } from 'fs';
|
|
7
7
|
import prettier from 'prettier';
|
|
8
|
+
import { parse } from 'path';
|
|
8
9
|
|
|
9
10
|
function rollupSvgo(_a) {
|
|
10
11
|
var _b = _a === void 0 ? {} : _a, _c = _b.include, include = _c === void 0 ? '**/*.svg' : _c, exclude = _b.exclude, options = _b.options;
|
|
11
12
|
var filter = createFilter(include, exclude);
|
|
12
13
|
return {
|
|
13
14
|
name: 'rollupSvgo',
|
|
14
|
-
transform: function (svgString,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
code: "export default " + JSON.stringify(optimizedSvg === null || optimizedSvg === void 0 ? void 0 : optimizedSvg.data),
|
|
41
|
-
map: { mappings: '' },
|
|
42
|
-
}];
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
});
|
|
15
|
+
transform: function (svgString, path) {
|
|
16
|
+
var _a;
|
|
17
|
+
var skip = !filter(path);
|
|
18
|
+
if (skip) {
|
|
19
|
+
console.info('\x1b[33m%s\x1b[0m', '[skip]', path);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
var data;
|
|
23
|
+
var error;
|
|
24
|
+
try {
|
|
25
|
+
var result = optimize(svgString, __assign({ path: path }, options));
|
|
26
|
+
data = ((_a = result) === null || _a === void 0 ? void 0 : _a.data) || {};
|
|
27
|
+
error = result.error;
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
error = err.message;
|
|
31
|
+
}
|
|
32
|
+
if (error) {
|
|
33
|
+
console.error('\x1b[31m%s\x1b[0m', '[error]', path, "\n" + svgString, "\n" + error);
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
console.info('\x1b[32m%s\x1b[0m', '[success]', path);
|
|
37
|
+
return {
|
|
38
|
+
code: "export default " + JSON.stringify(data),
|
|
39
|
+
map: { mappings: '' },
|
|
40
|
+
};
|
|
46
41
|
},
|
|
47
42
|
};
|
|
48
43
|
}
|
|
@@ -126,7 +121,7 @@ function postPrettierFormat(filePath, prettierConfig) {
|
|
|
126
121
|
writeFileSync(filePath, formatted);
|
|
127
122
|
}
|
|
128
123
|
|
|
129
|
-
function prepareAllToCompileFile(iconsSrc,
|
|
124
|
+
function prepareAllToCompileFile(iconsSrc, entryPointTs) {
|
|
130
125
|
var e_1, _a;
|
|
131
126
|
var icons = readdirSync(iconsSrc).filter(function (file) { return file.split('.').pop() === 'svg'; });
|
|
132
127
|
var importDeclarations = '';
|
|
@@ -146,12 +141,74 @@ function prepareAllToCompileFile(iconsSrc, allToCompilePath) {
|
|
|
146
141
|
}
|
|
147
142
|
finally { if (e_1) throw e_1.error; }
|
|
148
143
|
}
|
|
149
|
-
writeFileSync(
|
|
144
|
+
writeFileSync(entryPointTs, importDeclarations + " \n export { " + exportDeclarations + " }");
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
var START = '<svg';
|
|
148
|
+
var WIDTH_SEARCH = 'width="';
|
|
149
|
+
var HEIGHT_SEARCH = 'height="';
|
|
150
|
+
function processIcons(files, interceptor) {
|
|
151
|
+
var e_1, _a;
|
|
152
|
+
try {
|
|
153
|
+
for (var files_1 = __values(files), files_1_1 = files_1.next(); !files_1_1.done; files_1_1 = files_1.next()) {
|
|
154
|
+
var file = files_1_1.value;
|
|
155
|
+
var baseContent = String(fs.readFileSync(file));
|
|
156
|
+
var src = interceptor ? interceptor(baseContent) : baseContent;
|
|
157
|
+
var name_1 = parse(file).base.replace('.svg', '');
|
|
158
|
+
if (src.includes("id=\"" + name_1 + "\"")) {
|
|
159
|
+
console.info('\x1b[33m%s\x1b[0m', "[skip]:", file);
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
var wrapped = wrapIcon(src, name_1);
|
|
163
|
+
var final = typeof wrapped === 'string'
|
|
164
|
+
? wrapped.replace(START, "<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"" + name_1 + "\" xmlns=\"http://www.w3.org/2000/svg\"><svg") + '</g></svg>'
|
|
165
|
+
: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"" + wrapped.width + "\" height=\"" + wrapped.height + "\">" + wrapped.src + "</svg>";
|
|
166
|
+
fs.writeFileSync(file, final);
|
|
167
|
+
console.info('\x1b[32m%s\x1b[0m', "[preprocessed]:", file);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
171
|
+
finally {
|
|
172
|
+
try {
|
|
173
|
+
if (files_1_1 && !files_1_1.done && (_a = files_1.return)) _a.call(files_1);
|
|
174
|
+
}
|
|
175
|
+
finally { if (e_1) throw e_1.error; }
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
function wrapIcon(source, name) {
|
|
179
|
+
var src = source.substring(source.indexOf(START));
|
|
180
|
+
var attributes = src.substring(0, src.indexOf('>'));
|
|
181
|
+
if (!attributes ||
|
|
182
|
+
!attributes.includes(WIDTH_SEARCH) ||
|
|
183
|
+
!attributes.includes(HEIGHT_SEARCH)) {
|
|
184
|
+
return src;
|
|
185
|
+
}
|
|
186
|
+
var indexOfWidth = attributes.indexOf(WIDTH_SEARCH);
|
|
187
|
+
var indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);
|
|
188
|
+
var widthOffset = indexOfWidth + WIDTH_SEARCH.length;
|
|
189
|
+
var heightOffset = indexOfHeight + HEIGHT_SEARCH.length;
|
|
190
|
+
var widthString = attributes.substring(widthOffset, attributes.indexOf('"', widthOffset));
|
|
191
|
+
var heightString = attributes.substring(heightOffset, attributes.indexOf('"', heightOffset));
|
|
192
|
+
if (!heightString ||
|
|
193
|
+
!widthString ||
|
|
194
|
+
widthString.includes('%') ||
|
|
195
|
+
heightString.includes('%')) {
|
|
196
|
+
return src.replace(START, "<svg id=\"" + name + "\"");
|
|
197
|
+
}
|
|
198
|
+
var width = parseInt(widthString, 10);
|
|
199
|
+
var height = parseInt(heightString, 10);
|
|
200
|
+
var emWidth = width / 16;
|
|
201
|
+
var emHeight = height / 16;
|
|
202
|
+
return {
|
|
203
|
+
width: emWidth + "em",
|
|
204
|
+
height: emHeight + "em",
|
|
205
|
+
src: ("\n <g id=\"" + name + "\" xmlns=\"http://www.w3.org/2000/svg\">\n <svg x=\"50%\" y=\"50%\" width=\"" + emWidth + "em\" height=\"" + emHeight + "em\" overflow=\"visible\" viewBox=\"0 0 " + width + " " + height + "\">\n <svg x=\"" + -width / 2 + "\" y=\"" + -height / 2 + "\">" + src + "</svg>\n </svg>\n </g>").trim(),
|
|
206
|
+
};
|
|
150
207
|
}
|
|
151
208
|
|
|
152
209
|
/**
|
|
153
210
|
* Generated bundle index. Do not edit.
|
|
154
211
|
*/
|
|
155
212
|
|
|
156
|
-
export { convertAllCompileFileToAllFile, deleteAllToCompileFile, postPrettierFormat, prepareAllToCompileFile, rollupSvgo };
|
|
213
|
+
export { convertAllCompileFileToAllFile, deleteAllToCompileFile, postPrettierFormat, prepareAllToCompileFile, processIcons, rollupSvgo };
|
|
157
214
|
//# sourceMappingURL=taiga-ui-icons-scripts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-icons-scripts.js","sources":["ng://@taiga-ui/icons/scripts/rollup-svgo.ts","ng://@taiga-ui/icons/scripts/convert-all-compile-file-to-all-file.ts","ng://@taiga-ui/icons/scripts/delete-all-to-compile-file.ts","ng://@taiga-ui/icons/scripts/post-prettier-format.ts","ng://@taiga-ui/icons/scripts/prepare-all-to-compile-file.ts","ng://@taiga-ui/icons/scripts/taiga-ui-icons-scripts.ts"],"sourcesContent":["import {createFilter} from '@rollup/pluginutils';\nimport {Plugin, TransformResult} from 'rollup';\nimport {optimize, OptimizedSvg, OptimizeOptions} from 'svgo';\n\nexport interface RollupSvgoConfig {\n readonly include?: string;\n\n readonly exclude?: string;\n\n readonly options?: OptimizeOptions;\n}\n\nexport function rollupSvgo({\n include = '**/*.svg',\n exclude,\n options,\n}: RollupSvgoConfig = {}): Plugin {\n const filter = createFilter(include, exclude);\n\n return {\n name: 'rollupSvgo',\n async transform(svgString: string, id: string): Promise<TransformResult> {\n const skip = !filter(id);\n\n if (skip) {\n console.info('\\x1b[33m%s\\x1b[0m', '[skip]', id);\n\n return;\n }\n\n let optimizedSvg: OptimizedSvg | null = null;\n\n try {\n optimizedSvg = await optimize(svgString, {path: id, ...options});\n\n console.info('\\x1b[32m%s\\x1b[0m', '[success]', id);\n } catch (err) {\n console.error(\n '\\x1b[31m%s\\x1b[0m',\n '[error]',\n id,\n `\\n${svgString}`,\n `\\n${err}`,\n );\n\n process.exit(1);\n }\n\n return {\n code: `export default ${JSON.stringify(optimizedSvg?.data)}`,\n map: {mappings: ''},\n };\n },\n };\n}\n","import {rollup, RollupOptions} from 'rollup';\nimport typescript, {RPT2Options} from 'rollup-plugin-typescript2';\n\nimport {rollupSvgo} from './rollup-svgo';\n\nconst banner = `\n/**\n * @description:\n * DO NOT CHANGE THIS FILE. AUTOGENERATED\n */\n`;\n\ninterface Options {\n prt2Options?: RPT2Options;\n from: string;\n to: string;\n}\n\nexport async function convertAllCompileFileToAllFile(config: Options): Promise<void> {\n const {from, to, prt2Options} = config;\n\n const inputOptions: RollupOptions = {\n input: from,\n output: {preferConst: true},\n plugins: [\n typescript(prt2Options ?? {cacheRoot: 'node_modules/.cache/.rpt2_cache'}),\n rollupSvgo({\n include: '**/*.svg',\n options: {\n plugins: [\n {\n name: 'preset-default',\n params: {\n overrides: {\n removeViewBox: false,\n collapseGroups: false,\n cleanupIDs: false,\n removeUnknownsAndDefaults: false,\n },\n },\n },\n ],\n },\n }),\n ],\n };\n\n const bundle = await rollup(inputOptions);\n\n await bundle.write({\n banner,\n file: to,\n format: 'es',\n preferConst: true,\n });\n\n /**\n * @note:\n * The rollup bundle must be closed once `write` is finished to let plugins clean up their external\n * processes or services via the `closeBundle` hook, otherwise it can lead to memory leaks.\n */\n await bundle.close();\n}\n","import {unlinkSync} from 'fs';\n\nexport function deleteAllToCompileFile(allToCompilePath: string | string[]): void {\n if (Array.isArray(allToCompilePath)) {\n allToCompilePath.forEach(file => unlinkSync(file));\n } else {\n unlinkSync(allToCompilePath);\n }\n}\n","import {readFileSync, writeFileSync} from 'fs';\nimport prettier from 'prettier';\n\nexport function postPrettierFormat(filePath: string, prettierConfig?: string): void {\n const bundledBody = readFileSync(filePath, 'utf8');\n const options = prettier.resolveConfig.sync(prettierConfig ?? 'prettier.config.js');\n const formatted = prettier.format(bundledBody, {...options, parser: 'typescript'});\n\n writeFileSync(filePath, formatted);\n}\n","import {readdirSync, writeFileSync} from 'fs';\n\nexport function prepareAllToCompileFile(\n iconsSrc: string,\n allToCompilePath: string,\n): void {\n const icons: string[] = readdirSync(iconsSrc).filter(\n file => file.split('.').pop() === 'svg',\n );\n\n let importDeclarations = '';\n let exportDeclarations = '';\n\n for (const iconPath of icons) {\n const fileName = iconPath.split('.').shift();\n\n importDeclarations += `import ${fileName} from './src/${fileName}.svg';\\n`;\n exportDeclarations += `${fileName}, `;\n }\n\n writeFileSync(\n allToCompilePath,\n `${importDeclarations} \\n export { ${exportDeclarations} }`,\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;SAYgB,UAAU,CAAC,EAIH;QAJG,4BAIH,EAHpB,eAAoB,EAApB,yCAAoB,EACpB,oBAAO,EACP,oBAAO;IAEP,IAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE9C,OAAO;QACH,IAAI,EAAE,YAAY;QACZ,SAAS,EAAf,UAAgB,SAAiB,EAAE,EAAU;;;;;;4BACnC,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BAEzB,IAAI,IAAI,EAAE;gCACN,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;gCAEhD,sBAAO;6BACV;4BAEG,YAAY,GAAwB,IAAI,CAAC;;;;4BAG1B,qBAAM,QAAQ,CAAC,SAAS,aAAG,IAAI,EAAE,EAAE,IAAK,OAAO,EAAE,EAAA;;4BAAhE,YAAY,GAAG,SAAiD,CAAC;4BAEjE,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;;;;4BAEnD,OAAO,CAAC,KAAK,CACT,mBAAmB,EACnB,SAAS,EACT,EAAE,EACF,OAAK,SAAW,EAChB,OAAK,KAAK,CACb,CAAC;4BAEF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gCAGpB,sBAAO;gCACH,IAAI,EAAE,oBAAkB,IAAI,CAAC,SAAS,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAG;gCAC5D,GAAG,EAAE,EAAC,QAAQ,EAAE,EAAE,EAAC;6BACtB,EAAC;;;;SACL;KACJ,CAAC;AACN;;ACjDA,IAAM,MAAM,GAAG,2EAKd,CAAC;SAQoB,8BAA8B,CAAC,MAAe;;;;;;oBACzD,IAAI,GAAqB,MAAM,KAA3B,EAAE,EAAE,GAAiB,MAAM,GAAvB,EAAE,WAAW,GAAI,MAAM,YAAV,CAAW;oBAEjC,YAAY,GAAkB;wBAChC,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;wBAC3B,OAAO,EAAE;4BACL,UAAU,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAC,SAAS,EAAE,iCAAiC,EAAC,CAAC;4BACzE,UAAU,CAAC;gCACP,OAAO,EAAE,UAAU;gCACnB,OAAO,EAAE;oCACL,OAAO,EAAE;wCACL;4CACI,IAAI,EAAE,gBAAgB;4CACtB,MAAM,EAAE;gDACJ,SAAS,EAAE;oDACP,aAAa,EAAE,KAAK;oDACpB,cAAc,EAAE,KAAK;oDACrB,UAAU,EAAE,KAAK;oDACjB,yBAAyB,EAAE,KAAK;iDACnC;6CACJ;yCACJ;qCACJ;iCACJ;6BACJ,CAAC;yBACL;qBACJ,CAAC;oBAEa,qBAAM,MAAM,CAAC,YAAY,CAAC,EAAA;;oBAAnC,MAAM,GAAG,SAA0B;oBAEzC,qBAAM,MAAM,CAAC,KAAK,CAAC;4BACf,MAAM,QAAA;4BACN,IAAI,EAAE,EAAE;4BACR,MAAM,EAAE,IAAI;4BACZ,WAAW,EAAE,IAAI;yBACpB,CAAC,EAAA;;oBALF,SAKE,CAAC;;;;;;oBAOH,qBAAM,MAAM,CAAC,KAAK,EAAE,EAAA;;;;;;;oBAApB,SAAoB,CAAC;;;;;;;SC3DT,sBAAsB,CAAC,gBAAmC;IACtE,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACjC,gBAAgB,CAAC,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,UAAU,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC;KACtD;SAAM;QACH,UAAU,CAAC,gBAAgB,CAAC,CAAC;KAChC;AACL;;SCLgB,kBAAkB,CAAC,QAAgB,EAAE,cAAuB;IACxE,IAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,IAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,oBAAoB,CAAC,CAAC;IACpF,IAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,wBAAM,OAAO,KAAE,MAAM,EAAE,YAAY,IAAE,CAAC;IAEnF,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvC;;SCPgB,uBAAuB,CACnC,QAAgB,EAChB,gBAAwB;;IAExB,IAAM,KAAK,GAAa,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAChD,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,GAAA,CAC1C,CAAC;IAEF,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC5B,IAAI,kBAAkB,GAAG,EAAE,CAAC;;QAE5B,KAAuB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE;YAAzB,IAAM,QAAQ,kBAAA;YACf,IAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YAE7C,kBAAkB,IAAI,YAAU,QAAQ,qBAAgB,QAAQ,aAAU,CAAC;YAC3E,kBAAkB,IAAO,QAAQ,OAAI,CAAC;SACzC;;;;;;;;;IAED,aAAa,CACT,gBAAgB,EACb,kBAAkB,qBAAgB,kBAAkB,OAAI,CAC9D,CAAC;AACN;;ACxBA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-icons-scripts.js","sources":["ng://@taiga-ui/icons/scripts/rollup-svgo.ts","ng://@taiga-ui/icons/scripts/convert-all-compile-file-to-all-file.ts","ng://@taiga-ui/icons/scripts/delete-all-to-compile-file.ts","ng://@taiga-ui/icons/scripts/post-prettier-format.ts","ng://@taiga-ui/icons/scripts/prepare-all-to-compile-file.ts","ng://@taiga-ui/icons/scripts/process-icons.ts","ng://@taiga-ui/icons/scripts/taiga-ui-icons-scripts.ts"],"sourcesContent":["import {createFilter} from '@rollup/pluginutils';\nimport {Plugin, TransformResult} from 'rollup';\nimport {optimize, OptimizedError, OptimizedSvg, OptimizeOptions} from 'svgo';\n\ntype SvgoResult = OptimizedSvg | OptimizedError;\n\nexport interface RollupSvgoConfig {\n readonly include?: string;\n\n readonly exclude?: string;\n\n readonly options?: OptimizeOptions;\n}\n\nexport function rollupSvgo({\n include = '**/*.svg',\n exclude,\n options,\n}: RollupSvgoConfig = {}): Plugin {\n const filter = createFilter(include, exclude);\n\n return {\n name: 'rollupSvgo',\n transform(svgString: string, path: string): TransformResult {\n const skip = !filter(path);\n\n if (skip) {\n console.info('\\x1b[33m%s\\x1b[0m', '[skip]', path);\n\n return;\n }\n\n let data: unknown;\n let error: unknown;\n\n try {\n const result: SvgoResult = optimize(svgString, {path, ...options});\n\n data = (result as OptimizedSvg)?.data || {};\n error = result.error;\n } catch (err) {\n error = err.message;\n }\n\n if (error) {\n console.error(\n '\\x1b[31m%s\\x1b[0m',\n '[error]',\n path,\n `\\n${svgString}`,\n `\\n${error}`,\n );\n process.exit(1);\n }\n\n console.info('\\x1b[32m%s\\x1b[0m', '[success]', path);\n\n return {\n code: `export default ${JSON.stringify(data)}`,\n map: {mappings: ''},\n };\n },\n };\n}\n","import {rollup, RollupOptions} from 'rollup';\nimport typescript, {RPT2Options} from 'rollup-plugin-typescript2';\n\nimport {rollupSvgo} from './rollup-svgo';\n\nconst banner = `\n/**\n * @description:\n * DO NOT CHANGE THIS FILE. AUTOGENERATED\n */\n`;\n\ninterface Options {\n prt2Options?: RPT2Options;\n from: string;\n to: string;\n}\n\nexport async function convertAllCompileFileToAllFile(config: Options): Promise<void> {\n const {from, to, prt2Options} = config;\n\n const inputOptions: RollupOptions = {\n input: from,\n output: {preferConst: true},\n plugins: [\n typescript(prt2Options ?? {cacheRoot: 'node_modules/.cache/.rpt2_cache'}),\n rollupSvgo({\n include: '**/*.svg',\n options: {\n plugins: [\n {\n name: 'preset-default',\n params: {\n overrides: {\n removeViewBox: false,\n collapseGroups: false,\n cleanupIDs: false,\n removeUnknownsAndDefaults: false,\n },\n },\n },\n ],\n },\n }),\n ],\n };\n\n const bundle = await rollup(inputOptions);\n\n await bundle.write({\n banner,\n file: to,\n format: 'es',\n preferConst: true,\n });\n\n /**\n * @note:\n * The rollup bundle must be closed once `write` is finished to let plugins clean up their external\n * processes or services via the `closeBundle` hook, otherwise it can lead to memory leaks.\n */\n await bundle.close();\n}\n","import {unlinkSync} from 'fs';\n\nexport function deleteAllToCompileFile(allToCompilePath: string | string[]): void {\n if (Array.isArray(allToCompilePath)) {\n allToCompilePath.forEach(file => unlinkSync(file));\n } else {\n unlinkSync(allToCompilePath);\n }\n}\n","import {readFileSync, writeFileSync} from 'fs';\nimport prettier from 'prettier';\n\nexport function postPrettierFormat(filePath: string, prettierConfig?: string): void {\n const bundledBody = readFileSync(filePath, 'utf8');\n const options = prettier.resolveConfig.sync(prettierConfig ?? 'prettier.config.js');\n const formatted = prettier.format(bundledBody, {...options, parser: 'typescript'});\n\n writeFileSync(filePath, formatted);\n}\n","import {readdirSync, writeFileSync} from 'fs';\n\nexport function prepareAllToCompileFile(iconsSrc: string, entryPointTs: string): void {\n const icons: string[] = readdirSync(iconsSrc).filter(\n file => file.split('.').pop() === 'svg',\n );\n\n let importDeclarations = '';\n let exportDeclarations = '';\n\n for (const iconPath of icons) {\n const fileName = iconPath.split('.').shift();\n\n importDeclarations += `import ${fileName} from './src/${fileName}.svg';\\n`;\n exportDeclarations += `${fileName}, `;\n }\n\n writeFileSync(\n entryPointTs,\n `${importDeclarations} \\n export { ${exportDeclarations} }`,\n );\n}\n","import fs from 'fs';\nimport {parse} from 'path';\n\nconst START = '<svg';\nconst WIDTH_SEARCH = 'width=\"';\nconst HEIGHT_SEARCH = 'height=\"';\n\ninterface WrappedContent {\n height: string;\n width: string;\n src: string;\n}\n\ntype ContentInterceptor = (src: string) => string;\n\nexport function processIcons(files: string[], interceptor?: ContentInterceptor): void {\n for (const file of files) {\n const baseContent = String(fs.readFileSync(file));\n const src = interceptor ? interceptor(baseContent) : baseContent;\n\n const name = parse(file).base.replace('.svg', '');\n\n if (src.includes(`id=\"${name}\"`)) {\n console.info('\\x1b[33m%s\\x1b[0m', `[skip]:`, file);\n continue;\n }\n\n const wrapped = wrapIcon(src, name);\n\n const final =\n typeof wrapped === 'string'\n ? wrapped.replace(\n START,\n `<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg`,\n ) + '</g></svg>'\n : `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${wrapped.width}\" height=\"${wrapped.height}\">${wrapped.src}</svg>`;\n\n fs.writeFileSync(file, final);\n\n console.info('\\x1b[32m%s\\x1b[0m', `[preprocessed]:`, file);\n }\n}\n\nfunction wrapIcon(source: string, name: string): string | WrappedContent {\n const src = source.substring(source.indexOf(START));\n const attributes = src.substring(0, src.indexOf('>'));\n\n if (\n !attributes ||\n !attributes.includes(WIDTH_SEARCH) ||\n !attributes.includes(HEIGHT_SEARCH)\n ) {\n return src;\n }\n\n const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);\n const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);\n const widthOffset = indexOfWidth + WIDTH_SEARCH.length;\n const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;\n const widthString = attributes.substring(\n widthOffset,\n attributes.indexOf('\"', widthOffset),\n );\n const heightString = attributes.substring(\n heightOffset,\n attributes.indexOf('\"', heightOffset),\n );\n\n if (\n !heightString ||\n !widthString ||\n widthString.includes('%') ||\n heightString.includes('%')\n ) {\n return src.replace(START, `<svg id=\"${name}\"`);\n }\n\n const width = parseInt(widthString, 10);\n const height = parseInt(heightString, 10);\n const emWidth = width / 16;\n const emHeight = height / 16;\n\n return {\n width: `${emWidth}em`,\n height: `${emHeight}em`,\n src: `\n <g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\">\n <svg x=\"50%\" y=\"50%\" width=\"${emWidth}em\" height=\"${emHeight}em\" overflow=\"visible\" viewBox=\"0 0 ${width} ${height}\">\n <svg x=\"${-width / 2}\" y=\"${-height / 2}\">${src}</svg>\n </svg>\n </g>`.trim(),\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/scripts/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function prepareAllToCompileFile(iconsSrc: string,
|
|
1
|
+
export declare function prepareAllToCompileFile(iconsSrc: string, entryPointTs: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"convertAllCompileFileToAllFile":{"__symbolic":"function"},"deleteAllToCompileFile":{"__symbolic":"function"},"postPrettierFormat":{"__symbolic":"function"},"prepareAllToCompileFile":{"__symbolic":"function"},"RollupSvgoConfig":{"__symbolic":"interface"},"rollupSvgo":{"__symbolic":"function"}},"origins":{"convertAllCompileFileToAllFile":"./convert-all-compile-file-to-all-file","deleteAllToCompileFile":"./delete-all-to-compile-file","postPrettierFormat":"./post-prettier-format","prepareAllToCompileFile":"./prepare-all-to-compile-file","RollupSvgoConfig":"./rollup-svgo","rollupSvgo":"./rollup-svgo"},"importAs":"@taiga-ui/icons/scripts"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"convertAllCompileFileToAllFile":{"__symbolic":"function"},"deleteAllToCompileFile":{"__symbolic":"function"},"postPrettierFormat":{"__symbolic":"function"},"prepareAllToCompileFile":{"__symbolic":"function"},"processIcons":{"__symbolic":"function"},"RollupSvgoConfig":{"__symbolic":"interface"},"rollupSvgo":{"__symbolic":"function"}},"origins":{"convertAllCompileFileToAllFile":"./convert-all-compile-file-to-all-file","deleteAllToCompileFile":"./delete-all-to-compile-file","postPrettierFormat":"./post-prettier-format","prepareAllToCompileFile":"./prepare-all-to-compile-file","processIcons":"./process-icons","RollupSvgoConfig":"./rollup-svgo","rollupSvgo":"./rollup-svgo"},"importAs":"@taiga-ui/icons/scripts"}
|