peeps-generator 1.0.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.
Files changed (130) hide show
  1. package/README.md +320 -0
  2. package/dist/assets/accessories/Eyepatch.svg +9 -0
  3. package/dist/assets/accessories/Glasses 2.svg +9 -0
  4. package/dist/assets/accessories/Glasses 3.svg +9 -0
  5. package/dist/assets/accessories/Glasses 4.svg +10 -0
  6. package/dist/assets/accessories/Glasses 5.svg +9 -0
  7. package/dist/assets/accessories/Glasses.svg +9 -0
  8. package/dist/assets/accessories/Sunglasses 2.svg +9 -0
  9. package/dist/assets/accessories/Sunglasses.svg +9 -0
  10. package/dist/assets/faces/Angry with Fang.svg +9 -0
  11. package/dist/assets/faces/Awe.svg +9 -0
  12. package/dist/assets/faces/Blank.svg +9 -0
  13. package/dist/assets/faces/Calm.svg +9 -0
  14. package/dist/assets/faces/Cheeky.svg +9 -0
  15. package/dist/assets/faces/Concerned Fear.svg +9 -0
  16. package/dist/assets/faces/Concerned.svg +9 -0
  17. package/dist/assets/faces/Contempt.svg +9 -0
  18. package/dist/assets/faces/Cute.svg +9 -0
  19. package/dist/assets/faces/Cyclops.svg +9 -0
  20. package/dist/assets/faces/Driven.svg +9 -0
  21. package/dist/assets/faces/Eating Happy.svg +9 -0
  22. package/dist/assets/faces/Explaining.svg +9 -0
  23. package/dist/assets/faces/Eyes Closed.svg +9 -0
  24. package/dist/assets/faces/Fear.svg +9 -0
  25. package/dist/assets/faces/Hectic.svg +9 -0
  26. package/dist/assets/faces/Loving Grin 1.svg +9 -0
  27. package/dist/assets/faces/Loving Grin 2.svg +9 -0
  28. package/dist/assets/faces/Monster.svg +9 -0
  29. package/dist/assets/faces/Old.svg +9 -0
  30. package/dist/assets/faces/Rage.svg +9 -0
  31. package/dist/assets/faces/Serious.svg +9 -0
  32. package/dist/assets/faces/Smile Big.svg +9 -0
  33. package/dist/assets/faces/Smile LOL.svg +9 -0
  34. package/dist/assets/faces/Smile Teeth Gap.svg +9 -0
  35. package/dist/assets/faces/Smile.svg +9 -0
  36. package/dist/assets/faces/Solemn.svg +9 -0
  37. package/dist/assets/faces/Suspicious.svg +9 -0
  38. package/dist/assets/faces/Tired.svg +9 -0
  39. package/dist/assets/faces/Very Angry.svg +9 -0
  40. package/dist/assets/facialHair/Chin.svg +9 -0
  41. package/dist/assets/facialHair/Full 2.svg +9 -0
  42. package/dist/assets/facialHair/Full 3.svg +9 -0
  43. package/dist/assets/facialHair/Full 4.svg +10 -0
  44. package/dist/assets/facialHair/Full.svg +9 -0
  45. package/dist/assets/facialHair/Goatee 1.svg +9 -0
  46. package/dist/assets/facialHair/Goatee 2.svg +9 -0
  47. package/dist/assets/facialHair/Moustache 1.svg +9 -0
  48. package/dist/assets/facialHair/Moustache 2.svg +9 -0
  49. package/dist/assets/facialHair/Moustache 3.svg +9 -0
  50. package/dist/assets/facialHair/Moustache 4.svg +9 -0
  51. package/dist/assets/facialHair/Moustache 5.svg +9 -0
  52. package/dist/assets/facialHair/Moustache 6.svg +9 -0
  53. package/dist/assets/facialHair/Moustache 7.svg +9 -0
  54. package/dist/assets/facialHair/Moustache 8.svg +9 -0
  55. package/dist/assets/facialHair/Moustache 9.svg +10 -0
  56. package/dist/assets/heads/Afro.svg +10 -0
  57. package/dist/assets/heads/Bangs 2.svg +10 -0
  58. package/dist/assets/heads/Bangs.svg +10 -0
  59. package/dist/assets/heads/Bantu Knots.svg +10 -0
  60. package/dist/assets/heads/Bear.svg +10 -0
  61. package/dist/assets/heads/Bun 2.svg +10 -0
  62. package/dist/assets/heads/Bun.svg +10 -0
  63. package/dist/assets/heads/Buns.svg +10 -0
  64. package/dist/assets/heads/Cornrows 2.svg +10 -0
  65. package/dist/assets/heads/Cornrows.svg +10 -0
  66. package/dist/assets/heads/Flat Top Long.svg +10 -0
  67. package/dist/assets/heads/Flat Top.svg +10 -0
  68. package/dist/assets/heads/Gray Bun.svg +10 -0
  69. package/dist/assets/heads/Gray Medium.svg +10 -0
  70. package/dist/assets/heads/Gray Short.svg +10 -0
  71. package/dist/assets/heads/Hijab.svg +10 -0
  72. package/dist/assets/heads/Long Afro.svg +10 -0
  73. package/dist/assets/heads/Long Bangs.svg +10 -0
  74. package/dist/assets/heads/Long Curly.svg +10 -0
  75. package/dist/assets/heads/Long.svg +10 -0
  76. package/dist/assets/heads/Medium 1.svg +10 -0
  77. package/dist/assets/heads/Medium 2.svg +10 -0
  78. package/dist/assets/heads/Medium 3.svg +10 -0
  79. package/dist/assets/heads/Medium Bangs 2.svg +10 -0
  80. package/dist/assets/heads/Medium Bangs 3.svg +10 -0
  81. package/dist/assets/heads/Medium Bangs.svg +10 -0
  82. package/dist/assets/heads/Medium Straight.svg +10 -0
  83. package/dist/assets/heads/Mohawk 2.svg +10 -0
  84. package/dist/assets/heads/Mohawk.svg +10 -0
  85. package/dist/assets/heads/No Hair 1.svg +10 -0
  86. package/dist/assets/heads/No Hair 2.svg +10 -0
  87. package/dist/assets/heads/No Hair 3.svg +10 -0
  88. package/dist/assets/heads/Pomp.svg +10 -0
  89. package/dist/assets/heads/Shaved 1.svg +10 -0
  90. package/dist/assets/heads/Shaved 2.svg +10 -0
  91. package/dist/assets/heads/Shaved 3.svg +10 -0
  92. package/dist/assets/heads/Short 1.svg +10 -0
  93. package/dist/assets/heads/Short 2.svg +10 -0
  94. package/dist/assets/heads/Short 3.svg +10 -0
  95. package/dist/assets/heads/Short 4.svg +12 -0
  96. package/dist/assets/heads/Short 5.svg +10 -0
  97. package/dist/assets/heads/Turban.svg +10 -0
  98. package/dist/assets/heads/Twists 2.svg +10 -0
  99. package/dist/assets/heads/Twists.svg +10 -0
  100. package/dist/assets/heads/hat-beanie.svg +10 -0
  101. package/dist/assets/heads/hat-hip.svg +10 -0
  102. package/dist/core/exporter.d.ts +5 -0
  103. package/dist/core/exporter.d.ts.map +1 -0
  104. package/dist/core/exporter.js +18 -0
  105. package/dist/core/exporter.js.map +1 -0
  106. package/dist/core/generator.d.ts +3 -0
  107. package/dist/core/generator.d.ts.map +1 -0
  108. package/dist/core/generator.js +49 -0
  109. package/dist/core/generator.js.map +1 -0
  110. package/dist/core/randomizer.d.ts +3 -0
  111. package/dist/core/randomizer.d.ts.map +1 -0
  112. package/dist/core/randomizer.js +57 -0
  113. package/dist/core/randomizer.js.map +1 -0
  114. package/dist/core/types.d.ts +26 -0
  115. package/dist/core/types.d.ts.map +1 -0
  116. package/dist/core/types.js +2 -0
  117. package/dist/core/types.js.map +1 -0
  118. package/dist/core/utils.d.ts +3 -0
  119. package/dist/core/utils.d.ts.map +1 -0
  120. package/dist/core/utils.js +30 -0
  121. package/dist/core/utils.js.map +1 -0
  122. package/dist/data/options.d.ts +7 -0
  123. package/dist/data/options.d.ts.map +1 -0
  124. package/dist/data/options.js +115 -0
  125. package/dist/data/options.js.map +1 -0
  126. package/dist/index.d.ts +4 -0
  127. package/dist/index.d.ts.map +1 -0
  128. package/dist/index.js +4 -0
  129. package/dist/index.js.map +1 -0
  130. package/package.json +65 -0
@@ -0,0 +1,26 @@
1
+ import { peepParts } from "../data/options.js";
2
+ export interface Asset {
3
+ category: keyof typeof peepParts;
4
+ name: string;
5
+ position: string;
6
+ backgroundColor?: string;
7
+ inkColor?: string;
8
+ }
9
+ export interface Peep {
10
+ head?: (typeof peepParts.heads)[number];
11
+ hairColor?: string;
12
+ face?: (typeof peepParts.faces)[number];
13
+ skinColor?: string;
14
+ facialHair?: (typeof peepParts.facialHair)[number];
15
+ accessories?: (typeof peepParts.accessories)[number];
16
+ background?: string;
17
+ }
18
+ export interface PeepGenerationOptions {
19
+ peep?: Peep;
20
+ seed?: string;
21
+ enableAccessories?: boolean;
22
+ enableFacialHair?: boolean;
23
+ enableColors?: boolean;
24
+ enableBackground?: boolean;
25
+ }
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,MAAM,OAAO,SAAS,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,IAAI;IACnB,IAAI,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,WAAW,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -0,0 +1,2 @@
1
+ import { peepParts } from "../data/options.js";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Asset } from "./types.ts";
2
+ export declare function loadAsset({ category, name, position, backgroundColor, inkColor, }: Asset): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAKxC,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,eAAe,EACf,QAAQ,GACT,EAAE,KAAK,GAAG,MAAM,CA4BhB"}
@@ -0,0 +1,30 @@
1
+ import fs from "fs";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = path.dirname(__filename);
6
+ export function loadAsset({ category, name, position, backgroundColor, inkColor, }) {
7
+ const filePath = path.join(__dirname, "..", "assets", category, `${name}.svg`);
8
+ let raw = fs.readFileSync(filePath, "utf-8");
9
+ // Quitar cabecera y <svg> raíz
10
+ raw = raw
11
+ .replace(/<\?xml.*?\?>/g, "")
12
+ .replace(/<svg[^>]*>/g, "")
13
+ .replace(/<\/svg>/g, "")
14
+ .replace(/<title>.*<\/title>/g, "")
15
+ .replace(/<desc>.*<\/desc>/g, "")
16
+ .trim();
17
+ // Insertar transform en el primer <g>
18
+ if (position)
19
+ raw = raw.replace(/<g([^>]*)>/, `<g$1 transform="translate(${position})">`);
20
+ // Reemplazar fill en el path con id
21
+ if (backgroundColor)
22
+ raw = replaceFill(raw, "🎨-Background", backgroundColor);
23
+ if (inkColor)
24
+ raw = replaceFill(raw, "🖍-Ink", inkColor);
25
+ return raw;
26
+ }
27
+ function replaceFill(raw, id, color) {
28
+ return raw.replace(new RegExp(`(<path[^>]*id="${id}"[^>]*fill=")[^"]*"`, "g"), `$1${color}"`);
29
+ }
30
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,MAAM,UAAU,SAAS,CAAC,EACxB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,eAAe,EACf,QAAQ,GACF;IACN,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,GAAG,IAAI,MAAM,CACd,CAAC;IACF,IAAI,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE7C,iCAAiC;IACjC,GAAG,GAAG,GAAG;SACN,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;SAClC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,IAAI,EAAE,CAAC;IAEV,sCAAsC;IACtC,IAAI,QAAQ;QACV,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,6BAA6B,QAAQ,KAAK,CAAC,CAAC;IAE9E,oCAAoC;IACpC,IAAI,eAAe;QAAE,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;IAC9E,IAAI,QAAQ;QAAE,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEzD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,GAAW,EAAE,EAAU,EAAE,KAAa;IACzD,OAAO,GAAG,CAAC,OAAO,CAChB,IAAI,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,CAAC,EAC1D,KAAK,KAAK,GAAG,CACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const peepParts: {
2
+ readonly heads: readonly ["Afro", "Bangs 2", "Bangs", "Bantu Knots", "Bear", "Bun 2", "Bun", "Buns", "Cornrows 2", "Cornrows", "Flat Top Long", "Flat Top", "Gray Bun", "Gray Medium", "Gray Short", "hat-beanie", "hat-hip", "Hijab", "Long Afro", "Long Bangs", "Long Curly", "Long", "Medium 1", "Medium 2", "Medium 3", "Medium Bangs 2", "Medium Bangs 3", "Medium Bangs", "Medium Straight", "Mohawk 2", "Mohawk", "No Hair 1", "No Hair 2", "No Hair 3", "Pomp", "Shaved 1", "Shaved 2", "Shaved 3", "Short 1", "Short 2", "Short 3", "Short 4", "Short 5", "Turban", "Twists 2", "Twists"];
3
+ readonly faces: readonly ["Angry with Fang", "Awe", "Blank", "Calm", "Cheeky", "Concerned Fear", "Concerned", "Contempt", "Cute", "Cyclops", "Driven", "Eating Happy", "Explaining", "Eyes Closed", "Fear", "Hectic", "Loving Grin 1", "Loving Grin 2", "Monster", "Old", "Rage", "Serious", "Smile Big", "Smile LOL", "Smile Teeth Gap", "Smile", "Solemn", "Suspicious", "Tired", "Very Angry"];
4
+ readonly accessories: readonly ["Eyepatch", "Glasses 2", "Glasses 3", "Glasses 4", "Glasses 5", "Glasses", "Sunglasses 2", "Sunglasses"];
5
+ readonly facialHair: readonly ["Chin", "Full 2", "Full 3", "Full 4", "Full", "Goatee 1", "Goatee 2", "Moustache 1", "Moustache 2", "Moustache 3", "Moustache 4", "Moustache 5", "Moustache 6", "Moustache 7", "Moustache 8", "Moustache 9"];
6
+ };
7
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/data/options.ts"],"names":[],"mappings":"AAgHA,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC"}
@@ -0,0 +1,115 @@
1
+ const heads = [
2
+ "Afro",
3
+ "Bangs 2",
4
+ "Bangs",
5
+ "Bantu Knots",
6
+ "Bear",
7
+ "Bun 2",
8
+ "Bun",
9
+ "Buns",
10
+ "Cornrows 2",
11
+ "Cornrows",
12
+ "Flat Top Long",
13
+ "Flat Top",
14
+ "Gray Bun",
15
+ "Gray Medium",
16
+ "Gray Short",
17
+ "hat-beanie",
18
+ "hat-hip",
19
+ "Hijab",
20
+ "Long Afro",
21
+ "Long Bangs",
22
+ "Long Curly",
23
+ "Long",
24
+ "Medium 1",
25
+ "Medium 2",
26
+ "Medium 3",
27
+ "Medium Bangs 2",
28
+ "Medium Bangs 3",
29
+ "Medium Bangs",
30
+ "Medium Straight",
31
+ "Mohawk 2",
32
+ "Mohawk",
33
+ "No Hair 1",
34
+ "No Hair 2",
35
+ "No Hair 3",
36
+ "Pomp",
37
+ "Shaved 1",
38
+ "Shaved 2",
39
+ "Shaved 3",
40
+ "Short 1",
41
+ "Short 2",
42
+ "Short 3",
43
+ "Short 4",
44
+ "Short 5",
45
+ "Turban",
46
+ "Twists 2",
47
+ "Twists",
48
+ ];
49
+ const faces = [
50
+ "Angry with Fang",
51
+ "Awe",
52
+ "Blank",
53
+ "Calm",
54
+ "Cheeky",
55
+ "Concerned Fear",
56
+ "Concerned",
57
+ "Contempt",
58
+ "Cute",
59
+ "Cyclops",
60
+ "Driven",
61
+ "Eating Happy",
62
+ "Explaining",
63
+ "Eyes Closed",
64
+ "Fear",
65
+ "Hectic",
66
+ "Loving Grin 1",
67
+ "Loving Grin 2",
68
+ "Monster",
69
+ "Old",
70
+ "Rage",
71
+ "Serious",
72
+ "Smile Big",
73
+ "Smile LOL",
74
+ "Smile Teeth Gap",
75
+ "Smile",
76
+ "Solemn",
77
+ "Suspicious",
78
+ "Tired",
79
+ "Very Angry",
80
+ ];
81
+ const accessories = [
82
+ "Eyepatch",
83
+ "Glasses 2",
84
+ "Glasses 3",
85
+ "Glasses 4",
86
+ "Glasses 5",
87
+ "Glasses",
88
+ "Sunglasses 2",
89
+ "Sunglasses",
90
+ ];
91
+ const facialHair = [
92
+ "Chin",
93
+ "Full 2",
94
+ "Full 3",
95
+ "Full 4",
96
+ "Full",
97
+ "Goatee 1",
98
+ "Goatee 2",
99
+ "Moustache 1",
100
+ "Moustache 2",
101
+ "Moustache 3",
102
+ "Moustache 4",
103
+ "Moustache 5",
104
+ "Moustache 6",
105
+ "Moustache 7",
106
+ "Moustache 8",
107
+ "Moustache 9",
108
+ ];
109
+ export const peepParts = {
110
+ heads,
111
+ faces,
112
+ accessories,
113
+ facialHair,
114
+ };
115
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/data/options.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG;IACZ,MAAM;IACN,SAAS;IACT,OAAO;IACP,aAAa;IACb,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,YAAY;IACZ,UAAU;IACV,eAAe;IACf,UAAU;IACV,UAAU;IACV,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,OAAO;IACP,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,UAAU;IACV,UAAU;IACV,UAAU;IACV,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,iBAAiB;IACjB,UAAU;IACV,QAAQ;IACR,WAAW;IACX,WAAW;IACX,WAAW;IACX,MAAM;IACN,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;CACA,CAAC;AAEX,MAAM,KAAK,GAAG;IACZ,iBAAiB;IACjB,KAAK;IACL,OAAO;IACP,MAAM;IACN,QAAQ;IACR,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,MAAM;IACN,SAAS;IACT,QAAQ;IACR,cAAc;IACd,YAAY;IACZ,aAAa;IACb,MAAM;IACN,QAAQ;IACR,eAAe;IACf,eAAe;IACf,SAAS;IACT,KAAK;IACL,MAAM;IACN,SAAS;IACT,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,OAAO;IACP,YAAY;CACJ,CAAC;AAEX,MAAM,WAAW,GAAG;IAClB,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,SAAS;IACT,cAAc;IACd,YAAY;CACJ,CAAC;AAEX,MAAM,UAAU,GAAG;IACjB,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACV,UAAU;IACV,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,KAAK;IACL,KAAK;IACL,WAAW;IACX,UAAU;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { createPeep } from "./core/generator.js";
2
+ export { toPNG, toJPEG, toWebP, toAvif } from "./core/exporter.js";
3
+ export { peepParts } from "./data/options.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export { createPeep } from "./core/generator.js";
2
+ export { toPNG, toJPEG, toWebP, toAvif } from "./core/exporter.js";
3
+ export { peepParts } from "./data/options.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "peeps-generator",
3
+ "version": "1.0.0",
4
+ "description": "Generador de avatares SVG modulares y personalizables inspirado en Open Peeps. Permite crear peeps aleatorios o determinísticos, renderizarlos como SVG y exportarlos a formatos de imagen.",
5
+ "keywords": [
6
+ "avatar",
7
+ "avatars",
8
+ "svg",
9
+ "svg-avatar",
10
+ "avatar-generator",
11
+ "open-peeps",
12
+ "peeps",
13
+ "illustration",
14
+ "profile-picture",
15
+ "user-avatar",
16
+ "random-avatar",
17
+ "deterministic-avatar",
18
+ "seed",
19
+ "frontend",
20
+ "node",
21
+ "image-export",
22
+ "sharp"
23
+ ],
24
+ "author": "Franco Carreras",
25
+ "license": "MIT",
26
+ "type": "module",
27
+ "main": "./dist/index.js",
28
+ "module": "./dist/index.esm.js",
29
+ "types": "./dist/index.d.ts",
30
+ "exports": {
31
+ ".": {
32
+ "types": "./dist/index.d.ts",
33
+ "import": "./dist/index.esm.js",
34
+ "require": "./dist/index.js"
35
+ }
36
+ },
37
+ "files": [
38
+ "dist"
39
+ ],
40
+ "engines": {
41
+ "node": ">=18"
42
+ },
43
+ "scripts": {
44
+ "build": "tsc && cp -r src/assets dist/assets",
45
+ "start": "node ./dist/index.js",
46
+ "lint": "eslint .",
47
+ "format": "prettier . --write",
48
+ "test": "vitest"
49
+ },
50
+ "dependencies": {
51
+ "sharp": "^0.34.5"
52
+ },
53
+ "devDependencies": {
54
+ "@eslint/js": "^9.39.2",
55
+ "@eslint/json": "^0.14.0",
56
+ "@types/node": "^25.0.3",
57
+ "eslint": "^9.39.2",
58
+ "globals": "^16.5.0",
59
+ "prettier": "^3.7.4",
60
+ "typescript": "^5.9.3",
61
+ "typescript-eslint": "^8.50.1",
62
+ "vitest": "^4.0.16"
63
+ },
64
+ "packageManager": "pnpm@10.17.1"
65
+ }