@ffflorian/electron-icon-generator 1.2.1 → 1.3.1

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 CHANGED
@@ -2,13 +2,16 @@
2
2
 
3
3
  Based on https://github.com/jaretburkett/electron-icon-maker.
4
4
 
5
+ ## Prerequisites
6
+
7
+ - [Node.js](https://nodejs.org) >= 14
8
+ - npm (preinstalled) or [yarn](https://classic.yarnpkg.com) < 2
9
+
5
10
  ## Installation
6
11
 
7
- ```
8
- yarn global add @ffflorian/electron-icon-generator
9
- # or
10
- npm install -g @ffflorian/electron-icon-generator
11
- ```
12
+ ℹ️ This is a hybrid [CommonJS](https://nodejs.org/docs/latest/api/modules.html#modules-commonjs-modules) / [ESM](https://nodejs.org/api/esm.html#introduction) module.
13
+
14
+ Run `yarn global add @ffflorian/electron-icon-generator` or `npm i -g @ffflorian/electron-icon-generator`
12
15
 
13
16
  ## Usage
14
17
 
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env node
2
+ import { program as commander } from 'commander';
3
+ import { createRequire } from 'node:module';
4
+ const require = createRequire(import.meta.url);
5
+ import { IconGenerator } from './index.js';
6
+ const { bin, description, version } = require('../package.json');
7
+ commander
8
+ .description(description)
9
+ .name(Object.keys(bin)[0])
10
+ .version(version)
11
+ .option('-i, --input <file>', 'Input PNG file (recommended size: 1024x1024)', './icon.png')
12
+ .option('-o, --output <folder>', 'Folder to output new icons folder', './')
13
+ .option('-s, --silent', `Don't log anything beside errors`, false)
14
+ .parse(process.argv);
15
+ const commanderOptions = commander.opts();
16
+ new IconGenerator({
17
+ input: commanderOptions.input,
18
+ output: commanderOptions.output,
19
+ silent: commanderOptions.silent,
20
+ })
21
+ .start()
22
+ .then(() => process.exit())
23
+ .catch(error => {
24
+ console.error(error);
25
+ process.exit(1);
26
+ });
27
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAQzC,MAAM,EAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAC,GAAgB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE5E,SAAS;KACN,WAAW,CAAC,WAAW,CAAC;KACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,oBAAoB,EAAE,8CAA8C,EAAE,YAAY,CAAC;KAC1F,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,EAAE,IAAI,CAAC;KAC1E,MAAM,CAAC,cAAc,EAAE,kCAAkC,EAAE,KAAK,CAAC;KACjE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;AAE1C,IAAI,aAAa,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC,KAAK;IAC7B,MAAM,EAAE,gBAAgB,CAAC,MAAM;IAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM;CAChC,CAAC;KACC,KAAK,EAAE;KACP,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,KAAK,CAAC,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,28 +1,4 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
27
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -32,18 +8,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
33
9
  });
34
10
  };
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.IconGenerator = void 0;
40
- const fs = __importStar(require("fs-extra"));
41
- const icon_gen_1 = __importDefault(require("icon-gen"));
42
- const jimp_1 = __importDefault(require("jimp"));
43
- const path = __importStar(require("path"));
11
+ import fs from 'fs-extra';
12
+ import Jimp from 'jimp';
13
+ import path from 'node:path';
14
+ import { createRequire } from 'node:module';
15
+ const require = createRequire(import.meta.url);
16
+ const icongen = require('icon-gen');
44
17
  // eslint-disable-next-line no-magic-numbers
45
18
  const pngSizes = [16, 24, 32, 48, 64, 128, 256, 512, 1024];
46
- class IconGenerator {
19
+ export class IconGenerator {
47
20
  constructor(options) {
48
21
  this.options = options;
49
22
  this.logConsole(options);
@@ -63,7 +36,7 @@ class IconGenerator {
63
36
  yield fs.ensureDir(this.options.output);
64
37
  yield fs.ensureDir(this.iconsDir);
65
38
  yield fs.ensureDir(this.PNGoutputDir);
66
- const image = yield jimp_1.default.read(this.options.input);
39
+ const image = yield Jimp.read(this.options.input);
67
40
  const resizeFile = path.join(this.PNGoutputDir, fileName);
68
41
  yield new Promise((resolve, reject) => image.resize(size, size, (error, result) => (error ? reject(error) : resolve(result))));
69
42
  yield image.writeAsync(resizeFile);
@@ -81,7 +54,7 @@ class IconGenerator {
81
54
  const macIconsDir = path.join(this.iconsDir, 'mac');
82
55
  const winIconsDir = path.join(this.iconsDir, 'win');
83
56
  yield fs.ensureDir(macIconsDir);
84
- yield (0, icon_gen_1.default)(this.PNGoutputDir, macIconsDir, {
57
+ yield icongen(this.PNGoutputDir, macIconsDir, {
85
58
  icns: {
86
59
  name: 'icon',
87
60
  sizes: pngSizes,
@@ -89,7 +62,7 @@ class IconGenerator {
89
62
  report: !this.options.silent,
90
63
  });
91
64
  yield fs.ensureDir(winIconsDir);
92
- yield (0, icon_gen_1.default)(this.PNGoutputDir, winIconsDir, {
65
+ yield icongen(this.PNGoutputDir, winIconsDir, {
93
66
  icns: {
94
67
  name: 'icon',
95
68
  sizes: pngSizes,
@@ -123,5 +96,4 @@ class IconGenerator {
123
96
  });
124
97
  }
125
98
  }
126
- exports.IconGenerator = IconGenerator;
127
99
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env node
2
+ import { program as commander } from 'commander';
3
+ import { createRequire } from 'node:module';
4
+ const require = createRequire(import.meta.url);
5
+ import { IconGenerator } from './index.js';
6
+ const { bin, description, version } = require('../package.json');
7
+ commander
8
+ .description(description)
9
+ .name(Object.keys(bin)[0])
10
+ .version(version)
11
+ .option('-i, --input <file>', 'Input PNG file (recommended size: 1024x1024)', './icon.png')
12
+ .option('-o, --output <folder>', 'Folder to output new icons folder', './')
13
+ .option('-s, --silent', `Don't log anything beside errors`, false)
14
+ .parse(process.argv);
15
+ const commanderOptions = commander.opts();
16
+ new IconGenerator({
17
+ input: commanderOptions.input,
18
+ output: commanderOptions.output,
19
+ silent: commanderOptions.silent,
20
+ })
21
+ .start()
22
+ .then(() => process.exit())
23
+ .catch(error => {
24
+ console.error(error);
25
+ process.exit(1);
26
+ });
27
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAQzC,MAAM,EAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAC,GAAgB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE5E,SAAS;KACN,WAAW,CAAC,WAAW,CAAC;KACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,oBAAoB,EAAE,8CAA8C,EAAE,YAAY,CAAC;KAC1F,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,EAAE,IAAI,CAAC;KAC1E,MAAM,CAAC,cAAc,EAAE,kCAAkC,EAAE,KAAK,CAAC;KACjE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;AAE1C,IAAI,aAAa,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC,KAAK;IAC7B,MAAM,EAAE,gBAAgB,CAAC,MAAM;IAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM;CAChC,CAAC;KACC,KAAK,EAAE;KACP,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,KAAK,CAAC,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ export interface Options {
3
+ input: string;
4
+ output: string;
5
+ silent?: boolean;
6
+ }
7
+ export declare class IconGenerator {
8
+ private readonly iconsDir;
9
+ private readonly options;
10
+ private readonly PNGoutputDir;
11
+ constructor(options: Options);
12
+ start(): Promise<void>;
13
+ private createPNG;
14
+ private createPNGs;
15
+ private logConsole;
16
+ private renamePNGs;
17
+ }
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env node
2
+ import fs from 'fs-extra';
3
+ import Jimp from 'jimp';
4
+ import path from 'node:path';
5
+ import { createRequire } from 'node:module';
6
+ const require = createRequire(import.meta.url);
7
+ const icongen = require('icon-gen');
8
+ // eslint-disable-next-line no-magic-numbers
9
+ const pngSizes = [16, 24, 32, 48, 64, 128, 256, 512, 1024];
10
+ export class IconGenerator {
11
+ constructor(options) {
12
+ this.options = options;
13
+ this.logConsole(options);
14
+ this.options.input = path.resolve(this.options.input);
15
+ this.options.output = path.resolve(this.options.output);
16
+ this.iconsDir = path.join(this.options.output, 'icons');
17
+ this.PNGoutputDir = path.join(this.iconsDir, 'png');
18
+ }
19
+ async start() {
20
+ await this.createPNGs(0);
21
+ }
22
+ async createPNG(size) {
23
+ const fileName = `${size.toString()}.png`;
24
+ await fs.ensureDir(this.options.output);
25
+ await fs.ensureDir(this.iconsDir);
26
+ await fs.ensureDir(this.PNGoutputDir);
27
+ const image = await Jimp.read(this.options.input);
28
+ const resizeFile = path.join(this.PNGoutputDir, fileName);
29
+ await new Promise((resolve, reject) => image.resize(size, size, (error, result) => (error ? reject(error) : resolve(result))));
30
+ await image.writeAsync(resizeFile);
31
+ return `Created "${resizeFile}"`;
32
+ }
33
+ async createPNGs(position) {
34
+ const info = await this.createPNG(pngSizes[position]);
35
+ this.logConsole(info);
36
+ if (position < pngSizes.length - 1) {
37
+ await this.createPNGs(position + 1);
38
+ }
39
+ else {
40
+ const macIconsDir = path.join(this.iconsDir, 'mac');
41
+ const winIconsDir = path.join(this.iconsDir, 'win');
42
+ await fs.ensureDir(macIconsDir);
43
+ await icongen(this.PNGoutputDir, macIconsDir, {
44
+ icns: {
45
+ name: 'icon',
46
+ sizes: pngSizes,
47
+ },
48
+ report: !this.options.silent,
49
+ });
50
+ await fs.ensureDir(winIconsDir);
51
+ await icongen(this.PNGoutputDir, winIconsDir, {
52
+ icns: {
53
+ name: 'icon',
54
+ sizes: pngSizes,
55
+ },
56
+ report: !this.options.silent,
57
+ });
58
+ this.logConsole('Renaming PNGs to Electron Format');
59
+ await this.renamePNGs(0);
60
+ }
61
+ }
62
+ logConsole(...messages) {
63
+ if (!this.options.silent) {
64
+ console.info(...messages);
65
+ }
66
+ }
67
+ async renamePNGs(position) {
68
+ const startName = `${pngSizes[position]}.png`;
69
+ const endName = `${pngSizes[position]}x${pngSizes[position]}.png`;
70
+ const startFile = path.join(this.PNGoutputDir, startName);
71
+ const endFile = path.join(this.PNGoutputDir, endName);
72
+ await fs.rename(startFile, endFile);
73
+ this.logConsole(`Renamed "${startName}" to "${endName}".`);
74
+ if (position < pngSizes.length - 1) {
75
+ await this.renamePNGs(position + 1);
76
+ }
77
+ else {
78
+ this.logConsole('\nAll done');
79
+ }
80
+ }
81
+ }
82
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEpC,4CAA4C;AAC5C,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAQ3D,MAAM,OAAO,aAAa;IAKxB,YAAY,OAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEzB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAAY;QAClC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;QAE1C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE1D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACpC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CACvF,CAAC;QACF,MAAM,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAEnC,OAAO,YAAY,UAAU,GAAG,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,QAAgB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;SACrC;aAAM;YACL,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAEpD,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAEhC,MAAM,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE;gBAC5C,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,QAAQ;iBAChB;gBACD,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;aAC7B,CAAC,CAAC;YAEH,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAEhC,MAAM,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE;gBAC5C,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,QAAQ;iBAChB;gBACD,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;aAC7B,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC1B;IACH,CAAC;IAEO,UAAU,CAAC,GAAG,QAAe;QACnC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;SAC3B;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,QAAgB;QACvC,MAAM,SAAS,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9C,MAAM,OAAO,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,CAAC,UAAU,CAAC,YAAY,SAAS,SAAS,OAAO,IAAI,CAAC,CAAC;QAE3D,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;SACrC;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SAC/B;IACH,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "author": "Florian Imdahl <git@ffflorian.de>",
3
3
  "bin": {
4
- "electron-icon-generator": "index.js"
4
+ "electron-icon-generator": "dist/cjs/index.js"
5
5
  },
6
6
  "dependencies": {
7
- "commander": "10.0.0",
7
+ "commander": "10.0.1",
8
8
  "fs-extra": "11.1.1",
9
9
  "icon-gen": "3.0.1",
10
10
  "jimp": "0.22.7"
@@ -16,15 +16,16 @@
16
16
  "typescript": "5.0.4"
17
17
  },
18
18
  "engines": {
19
- "node": ">= 10.9"
19
+ "node": ">= 14.16"
20
+ },
21
+ "exports": {
22
+ ".": {
23
+ "import": "./dist/mjs/index.js",
24
+ "require": "./dist/cjs/index.js"
25
+ }
20
26
  },
21
27
  "files": [
22
- "cli.d.ts",
23
- "cli.js",
24
- "cli.js.map",
25
- "index.d.ts",
26
- "index.js",
27
- "index.js.map"
28
+ "dist"
28
29
  ],
29
30
  "keywords": [
30
31
  "electron",
@@ -34,19 +35,21 @@
34
35
  "ico"
35
36
  ],
36
37
  "license": "GPL-3.0",
37
- "main": "index.js",
38
+ "main": "dist/cjs/index.js",
39
+ "module": "dist/mjs/index.js",
38
40
  "name": "@ffflorian/electron-icon-generator",
39
- "publishConfig": {
40
- "directory": "flattened"
41
- },
42
41
  "repository": "https://github.com/ffflorian/node-packages/tree/main/packages/electron-icon-generator",
43
42
  "scripts": {
44
- "build": "tsc",
43
+ "build": "yarn build:cjs && yarn build:mjs && yarn generate:packagejson",
44
+ "build:cjs": "tsc -p tsconfig.cjs.json",
45
+ "build:mjs": "tsc -p tsconfig.json",
45
46
  "clean": "rimraf dist",
46
47
  "dist": "yarn clean && yarn build",
47
- "flatten": "node ../publish-flat/dist/cli.js -o flattened",
48
- "postversion": "node ../publish-flat/dist/cli-copy.js -o flattened/package.json version",
49
- "start": "ts-node src/cli.ts"
48
+ "generate:packagejson": "../../bin/generate-hybrid-package-json.sh",
49
+ "start": "ts-node-esm src/cli.ts",
50
+ "test": "exit 0"
50
51
  },
51
- "version": "1.2.1"
52
+ "type": "module",
53
+ "version": "1.3.1",
54
+ "gitHead": "fee6dde4396255259028c1c723a95b9f6ec5b281"
52
55
  }
package/cli.js DELETED
@@ -1,57 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- const commander_1 = require("commander");
28
- const fs = __importStar(require("fs"));
29
- const path = __importStar(require("path"));
30
- const _1 = require("./");
31
- const defaultPackageJsonPath = path.join(__dirname, 'package.json');
32
- const packageJsonPath = fs.existsSync(defaultPackageJsonPath)
33
- ? defaultPackageJsonPath
34
- : path.join(__dirname, '../package.json');
35
- const packageJson = fs.readFileSync(packageJsonPath, 'utf-8');
36
- const { bin, description, version } = JSON.parse(packageJson);
37
- commander_1.program
38
- .description(description)
39
- .name(Object.keys(bin)[0])
40
- .version(version)
41
- .option('-i, --input <file>', 'Input PNG file (recommended size: 1024x1024)', './icon.png')
42
- .option('-o, --output <folder>', 'Folder to output new icons folder', './')
43
- .option('-s, --silent', `Don't log anything beside errors`, false)
44
- .parse(process.argv);
45
- const commanderOptions = commander_1.program.opts();
46
- new _1.IconGenerator({
47
- input: commanderOptions.input,
48
- output: commanderOptions.output,
49
- silent: commanderOptions.silent,
50
- })
51
- .start()
52
- .then(() => process.exit())
53
- .catch(error => {
54
- console.error(error);
55
- process.exit(1);
56
- });
57
- //# sourceMappingURL=cli.js.map
package/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAA+C;AAC/C,uCAAyB;AACzB,2CAA6B;AAE7B,yBAAiC;AAEjC,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACpE,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC;IAC3D,CAAC,CAAC,sBAAsB;IACxB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE5C,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAC9D,MAAM,EAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAE5D,mBAAS;KACN,WAAW,CAAC,WAAW,CAAC;KACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,oBAAoB,EAAE,8CAA8C,EAAE,YAAY,CAAC;KAC1F,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,EAAE,IAAI,CAAC;KAC1E,MAAM,CAAC,cAAc,EAAE,kCAAkC,EAAE,KAAK,CAAC;KACjE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,gBAAgB,GAAG,mBAAS,CAAC,IAAI,EAAE,CAAC;AAE1C,IAAI,gBAAa,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC,KAAK;IAC7B,MAAM,EAAE,gBAAgB,CAAC,MAAM;IAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM;CAChC,CAAC;KACC,KAAK,EAAE;KACP,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,KAAK,CAAC,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
File without changes
File without changes