Skip to content

Commit 9efd1c9

Browse files
committed
fix(options): adjust scripts and add missing options
1 parent 5275113 commit 9efd1c9

File tree

10 files changed

+194
-203
lines changed

10 files changed

+194
-203
lines changed

.svg-to-tsrc

-17
This file was deleted.

additional/my-icons.model.ts

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/* 🤖 this file was generated by svg-to-ts */
2+
3+
export type myIcons = 'expression_less' | 'full' | 'laughing' | 'smiling_face';
4+
export interface MyIcon {
5+
name: myIcons;
6+
data: string;
7+
}

package-lock.json

+125-124
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+31-30
Original file line numberDiff line numberDiff line change
@@ -14,37 +14,38 @@
1414
"format:write": "prettier --write 'src/**/*.ts' && import-conductor -s 'src/**/*.ts' -i './src/bin/*.ts'",
1515
"prebuild": "npm run copy:readme",
1616
"start-object": "ts-node ./src/bin/svg-to-ts-object.ts -s './inputfiles/*.svg'",
17-
"start-object:regex": "ts-node ./src/bin/svg-to-ts.ts --conversionType object -s 'inputfiles-hyphen/*.svg'",
18-
"start-object:kebab": "ts-node ./src/bin/svg-to-ts.ts --conversionType object -s 'inputfiles-hyphen/*.svg' -d KEBAB",
19-
"start-object:snake": "ts-node ./src/bin/svg-to-ts.ts --conversionType object -s 'inputfiles-hyphen/*.svg' -d SNAKE",
20-
"start-object:camel": "ts-node ./src/bin/svg-to-ts.ts --conversionType object -s 'inputfiles-hyphen/*.svg' -d CAMEL",
21-
"start-object:upper": "ts-node ./src/bin/svg-to-ts.ts --conversionType object -s 'inputfiles-hyphen/*.svg' -d UPPER",
22-
"start-object:multiple-source": "ts-node ./src/bin/svg-to-ts.ts --conversionType object -s './inputfiles/*.svg' -s 'inputfiles-hyphen/*.svg'",
23-
"start-object:custom": "ts-node ./src/bin/svg-to-ts.ts --conversionType object -s './inputfiles/*.svg' -o ./dist --objectName awesomeIcons -f icons",
24-
"start-object:export-const": "ts-node ./src/bin/svg-to-ts.ts --conversionType object -s './inputfiles/*.svg' -o ./dist --objectName myIcons",
25-
"start-constants": "ts-node ./src/bin/svg-to-ts.ts --conversionType constants -s './inputfiles/*.svg'",
26-
"start-constants:regex": "ts-node ./src/bin/svg-to-ts.ts --conversionType constants -s './inputfilesRegex/**/*.svg'",
27-
"start-constants:kebab": "ts-node ./src/bin/svg-to-ts.ts --conversionType constants -s './inputfiles/*.svg' -d KEBAB",
28-
"start-constants:snake": "ts-node ./src/bin/svg-to-ts.ts --conversionType constants -s './inputfiles/*.svg' -d SNAKE",
29-
"start-constants:camel": "ts-node ./src/bin/svg-to-ts.ts --conversionType constants -s './inputfiles/*.svg' -d CAMEL",
30-
"start-constants:upper": "ts-node ./src/bin/svg-to-ts.ts --conversionType constants -s './inputfiles/*.svg' -d UPPER",
31-
"start-constants:multiple-source": "ts-node ./src/bin/svg-to-ts.ts --conversionType constants -s './inputfiles/*.svg' -s 'inputfiles-hyphen/*.svg'",
32-
"start-constants:custom": "ts-node ./src/bin/svg-to-ts.ts --conversionType constants -s './inputfiles/*.svg' -o ./dist -t sampleIcon -i SampleIcon -p sampleIcon -f icons",
33-
"start-files": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfiles/*.svg'",
34-
"start-files:barrel": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfiles/*.svg' --barrelFileName=public_api",
35-
"start-files:compile": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfiles/*.svg' --compileSources true",
36-
"start-files:compile-additionalPath": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfiles/*.svg' --compileSources true --additionalModelOutputPath ./additional",
37-
"start-files:regex": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfilesRegex/**/*.svg'",
38-
"start-files:kebab": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfiles/*.svg' -d KEBAB",
39-
"start-files:snake": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfiles/*.svg' -d SNAKE",
40-
"start-files:camel": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfiles/*.svg' -d CAMEL",
41-
"start-files:upper": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfiles/*.svg' -d UPPER",
42-
"start-files:multiple-source": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfiles/*.svg' -s 'inputfiles-hyphen/*.svg'",
43-
"start-files:customModel": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfilesRegex/**/*.svg' --modelFileName test-model -t sampleIcon -i SampleIcon",
44-
"start-files:custom": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfiles/*.svg' -o ./dist -t sampleIcon -i SampleIcon -p sampleIcon -f icons",
45-
"start:config": "ts-node ./src/bin/svg-to-ts.ts",
17+
"start-object:help": "ts-node ./src/bin/svg-to-ts-object.ts --help",
18+
"start-object:regex": "ts-node ./src/bin/svg-to-ts-object.ts -s 'inputfiles/*.svg'",
19+
"start-object:kebab": "ts-node ./src/bin/svg-to-ts-object.ts -s 'inputfiles/*.svg' -d KEBAB",
20+
"start-object:snake": "ts-node ./src/bin/svg-to-ts-object.ts -s 'inputfiles/*.svg' -d SNAKE",
21+
"start-object:camel": "ts-node ./src/bin/svg-to-ts.ts-object -s 'inputfiles-hyphen/*.svg' -d CAMEL",
22+
"start-object:upper": "ts-node ./src/bin/svg-to-ts.ts-object -s 'inputfiles-hyphen/*.svg' -d UPPER",
23+
"start-object:multiple-source": "ts-node ./src/bin/svg-to-ts-object -s './inputfilesRegex/laughing/laughing.svg' -s 'inputfilesRegex/expressionLess/expressionLess.svg'",
24+
"start-object:custom": "ts-node ./src/bin/svg-to-ts-object -s './inputfiles/*.svg' -o ./dist --objectName awesomeIcons -f icons",
25+
"start-object:export-const": "ts-node ./src/bin/svg-to-ts-object.ts -s './inputfiles/*.svg' -o ./dist --objectName myIcons",
26+
"start-constants": "ts-node ./src/bin/svg-to-ts-constants.ts -s './inputfiles/*.svg'",
27+
"start-constants:help": "ts-node ./src/bin/svg-to-ts-constants.ts --help'",
28+
"start-constants:regex": "ts-node ./src/bin/svg-to-ts-constants.ts -s './inputfilesRegex/**/*.svg'",
29+
"start-constants:kebab": "ts-node ./src/bin/svg-to-ts-constants.ts -s './inputfiles/*.svg' -d KEBAB",
30+
"start-constants:snake": "ts-node ./src/bin/svg-to-ts-constants.ts -s './inputfiles/*.svg' -d SNAKE",
31+
"start-constants:camel": "ts-node ./src/bin/svg-to-ts-constants.ts -s './inputfiles/*.svg' -d CAMEL",
32+
"start-constants:upper": "ts-node ./src/bin/svg-to-ts-constants.ts -s './inputfiles/*.svg' -d UPPER",
33+
"start-constants:multiple-source": "ts-node ./src/bin/svg-to-ts-constants.ts -s './inputfiles/*.svg' -s 'inputfiles-hyphen/*.svg'",
34+
"start-constants:custom": "ts-node ./src/bin/svg-to-ts-constants.ts -s './inputfiles/*.svg' -o ./dist -t sampleIcon -i SampleIcon -p sampleIcon -f icons",
35+
"start-files": "ts-node ./src/bin/svg-to-ts-files.ts -s './inputfiles/*.svg'",
36+
"start-files:help": "ts-node ./src/bin/svg-to-ts-files.ts --help'",
37+
"start-files:barrel": "ts-node ./src/bin/svg-to-ts-files.ts -s './inputfiles/*.svg' --barrelFileName public_api",
38+
"start-files:compile": "ts-node ./src/bin/svg-to-ts-files.ts -s './inputfiles/*.svg' --compileSources true",
39+
"start-files:compile-additionalPath": "ts-node ./src/bin/svg-to-ts-files.ts -s './inputfiles/*.svg' --compileSources true --additionalModelOutputPath ./additional",
40+
"start-files:regex": "ts-node ./src/bin/svg-to-ts-files.ts -s './inputfilesRegex/**/*.svg'",
41+
"start-files:kebab": "ts-node ./src/bin/svg-to-ts-files.ts -s './inputfiles/*.svg' -d KEBAB",
42+
"start-files:snake": "ts-node ./src/bin/svg-to-ts-files.ts -s './inputfiles/*.svg' -d SNAKE",
43+
"start-files:camel": "ts-node ./src/bin/svg-to-ts-files.ts -s './inputfiles/*.svg' -d CAMEL",
44+
"start-files:upper": "ts-node ./src/bin/svg-to-ts-files.ts -s './inputfiles/*.svg' -d UPPER",
45+
"start-files:multiple-source": "ts-node ./src/bin/svg-to-ts-files.ts -s './inputfiles/*.svg' -s 'inputfiles-hyphen/*.svg'",
46+
"start-files:customModel": "ts-node ./src/bin/svg-to-ts-files.ts -s './inputfilesRegex/**/*.svg' --modelFileName test-model -t sampleIcon -i SampleIcon",
47+
"start-files:custom": "ts-node ./src/bin/svg-to-ts-files.ts -s './inputfiles/*.svg' -o ./dist -t sampleIcon -i SampleIcon -p sampleIcon --modelFileName icons",
4648
"start-files:custom-complete-icon-set": "ts-node ./src/bin/svg-to-ts.ts --conversionType files -s './inputfiles/*.svg' -o ./dist -t sampleIcon -i SampleIcon -p sampleIcon -f icons --exportCompleteIconSet true",
47-
"start:help": "ts-node ./src/bin/svg-to-ts.ts -h",
4849
"semantic-release": "semantic-release",
4950
"test": "jest --config=./jest.config.js --coverage"
5051
},
File renamed without changes.

src/bin/svg-to-ts-files.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
#!/usr/bin/env node
22
// import-conductor-skip
33
import { Logger } from '../lib/helpers/logger';
4-
import { setupConstantOptionsCommander } from '../lib/options/commander/constant-options.commander';
54
import { convertToFiles } from '../lib/converters/files.converter';
65
import { getFilesConversionOptions } from '../lib/options/options-collector/files-options.collector';
6+
import { setupFilesOptionsCommander } from '../lib/options/commander/file-options.commander';
77

88
(async () => {
9-
setupConstantOptionsCommander();
9+
setupFilesOptionsCommander();
1010
Logger.printWelcomeMessage();
1111

1212
const conversionOptions = await getFilesConversionOptions();

src/bin/svg-to-ts-object.ts

+9-17
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,23 @@
11
#!/usr/bin/env node
22
// import-conductor-skip
33
import { Logger } from '../lib/helpers/logger';
4-
import { setupConstantOptionsCommander } from '../lib/options/commander/constant-options.commander';
54
import { getObjectConversionOptions } from '../lib/options/options-collector/object-options.collector';
65
import { convertToSingleObject } from '../lib/converters/object.converter';
6+
import { setupObjectOptionsCommander } from '../lib/options/commander/object-options.commander';
77

88
(async () => {
9-
console.log('Blubi');
10-
setupConstantOptionsCommander();
9+
setupObjectOptionsCommander();
1110
Logger.printWelcomeMessage();
1211
const conversionOptions = await getObjectConversionOptions();
12+
1313
if (Array.isArray(conversionOptions)) {
14+
for (const c of conversionOptions) {
15+
Logger.changeVisibility(c.verbose);
16+
await convertToSingleObject(c);
17+
}
1418
} else {
19+
Logger.changeVisibility(conversionOptions.verbose);
20+
Logger.info('We are using the conversion type "constants"');
1521
await convertToSingleObject(conversionOptions);
1622
}
17-
/*
18-
19-
20-
if (Array.isArray(conversionOptions)) {
21-
for (const c of conversionOptions) {
22-
Logger.changeVisibility(c.verbose);
23-
await convertToSingleObject(c);
24-
}
25-
} else {
26-
Logger.changeVisibility(conversionOptions.verbose);
27-
Logger.info('We are using the conversion type "constants"');
28-
await convertToSingleObject(conversionOptions);
29-
}
30-
*/
3123
})();

src/lib/helpers/file-helpers.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import * as fs from 'fs';
2-
import * as gfs from 'graceful-fs';
3-
import * as path from 'path';
1+
import fs from 'fs';
2+
import gfs from 'graceful-fs';
3+
import path from 'path';
44
import typescriptParser from 'prettier/parser-typescript';
5-
import * as prettier from 'prettier/standalone';
6-
import * as util from 'util';
5+
import prettier from 'prettier/standalone';
6+
import util from 'util';
77

88
gfs.gracefulify(fs);
99

src/lib/options/commander/object-options.commander.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,18 @@ export const setupObjectOptionsCommander = () => {
2121
collect,
2222
DEFAULT_OBJECT_CONVERSION_OPTIONS.srcFiles
2323
)
24-
.option('-o --outputDirectory <string>', 'name of the output directory', DEFAULT_OPTIONS.outputDirectory)
24+
.option(
25+
'-o --outputDirectory <string>',
26+
'name of the output directory',
27+
DEFAULT_OBJECT_CONVERSION_OPTIONS.outputDirectory
28+
)
29+
.option('--objectName <string>', 'name of the exported object', DEFAULT_OBJECT_CONVERSION_OPTIONS.objectName)
30+
.option('-f --fileName <string>', 'name of the generated file', DEFAULT_OBJECT_CONVERSION_OPTIONS.fileName)
2531
.option('--svgoConfig <any>', 'Path to svgo configuration JSON or inline svgo configuration object')
2632
.option(
2733
'--verbose <boolean>',
2834
'Specifies if a verbose log message should be printed or not',
29-
DEFAULT_OPTIONS.verbose
35+
DEFAULT_OBJECT_CONVERSION_OPTIONS.verbose
3036
)
3137
.parse(process.argv);
3238
};

src/lib/options/options-collector/command-line-options-collectors/commandline-files-options.collector.ts

+7-6
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import commander from 'commander';
33
import { getSvgoConfig } from '../../../helpers/svg-optimization';
44
import { FileConversionOptions } from '../../conversion-options';
55
import { DEFAULT_OPTIONS } from '../../default-options';
6+
import { DEFAULT_FILES_CONVERSION_OPTIONS } from '../../default-options/default-files-conversion-options';
67

78
import { toBoolean } from './command-line-collector.helpers';
89

@@ -29,17 +30,17 @@ export const collectCommandLineFileOptions = async (): Promise<FileConversionOpt
2930
let svgoConfig = commander.svgoConfig;
3031

3132
// Parse boolean values
32-
generateType = toBoolean(generateType, DEFAULT_OPTIONS.generateType);
33-
generateTypeObject = toBoolean(generateTypeObject, DEFAULT_OPTIONS.generateTypeObject);
34-
exportCompleteIconSet = toBoolean(exportCompleteIconSet, DEFAULT_OPTIONS.exportCompleteIconSet);
35-
compileSources = toBoolean(compileSources, DEFAULT_OPTIONS.compileSources);
36-
verbose = toBoolean(verbose, DEFAULT_OPTIONS.verbose);
33+
generateType = toBoolean(generateType, DEFAULT_FILES_CONVERSION_OPTIONS.generateType);
34+
generateTypeObject = toBoolean(generateTypeObject, DEFAULT_FILES_CONVERSION_OPTIONS.generateTypeObject);
35+
exportCompleteIconSet = toBoolean(exportCompleteIconSet, DEFAULT_FILES_CONVERSION_OPTIONS.exportCompleteIconSet);
36+
compileSources = toBoolean(compileSources, DEFAULT_FILES_CONVERSION_OPTIONS.compileSources);
37+
verbose = toBoolean(verbose, DEFAULT_FILES_CONVERSION_OPTIONS.verbose);
3738

3839
// Because of commander adding default value to params
3940
// See: https://stackoverflow.com/questions/30238654/commander-js-collect-multiple-options-always-include-default
4041
let srcFiles = commander.srcFiles;
4142
if (srcFiles.length === 0) {
42-
srcFiles = DEFAULT_OPTIONS.srcFiles;
43+
srcFiles = DEFAULT_FILES_CONVERSION_OPTIONS.srcFiles;
4344
}
4445
svgoConfig = await getSvgoConfig(svgoConfig);
4546

0 commit comments

Comments
 (0)