@anthonyalayo/drizzle-kit 1.0.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.
Files changed (161) hide show
  1. package/.gitignore +25 -0
  2. package/README.md +79 -0
  3. package/build.dev.ts +51 -0
  4. package/build.ts +112 -0
  5. package/imports-checker/analyze.ts +78 -0
  6. package/imports-checker/checker.ts +296 -0
  7. package/imports-checker/grammar/grammar.ohm +121 -0
  8. package/imports-checker/grammar/grammar.ohm-bundle.d.ts +164 -0
  9. package/imports-checker/grammar/grammar.ohm-bundle.js +753 -0
  10. package/imports-checker/index.ts +48 -0
  11. package/package.json +142 -0
  12. package/patches/difflib@0.2.4.patch +31 -0
  13. package/src/@types/utils.ts +58 -0
  14. package/src/api.ts +504 -0
  15. package/src/cli/commands/_es5.ts +2 -0
  16. package/src/cli/commands/check.ts +52 -0
  17. package/src/cli/commands/drop.ts +60 -0
  18. package/src/cli/commands/introspect.ts +772 -0
  19. package/src/cli/commands/libSqlPushUtils.ts +355 -0
  20. package/src/cli/commands/migrate.ts +1526 -0
  21. package/src/cli/commands/mysqlIntrospect.ts +53 -0
  22. package/src/cli/commands/mysqlPushUtils.ts +352 -0
  23. package/src/cli/commands/mysqlUp.ts +102 -0
  24. package/src/cli/commands/pgIntrospect.ts +55 -0
  25. package/src/cli/commands/pgPushUtils.ts +269 -0
  26. package/src/cli/commands/pgUp.ts +217 -0
  27. package/src/cli/commands/push.ts +637 -0
  28. package/src/cli/commands/singlestoreIntrospect.ts +53 -0
  29. package/src/cli/commands/singlestorePushUtils.ts +456 -0
  30. package/src/cli/commands/singlestoreUp.ts +1 -0
  31. package/src/cli/commands/sqliteIntrospect.ts +96 -0
  32. package/src/cli/commands/sqlitePushUtils.ts +322 -0
  33. package/src/cli/commands/sqliteUp.ts +52 -0
  34. package/src/cli/commands/utils.ts +858 -0
  35. package/src/cli/connections.ts +914 -0
  36. package/src/cli/index.ts +48 -0
  37. package/src/cli/schema.ts +794 -0
  38. package/src/cli/selector-ui.ts +38 -0
  39. package/src/cli/utils.ts +112 -0
  40. package/src/cli/validations/cli.ts +79 -0
  41. package/src/cli/validations/common.ts +193 -0
  42. package/src/cli/validations/libsql.ts +27 -0
  43. package/src/cli/validations/mysql.ts +61 -0
  44. package/src/cli/validations/outputs.ts +91 -0
  45. package/src/cli/validations/postgres.ts +83 -0
  46. package/src/cli/validations/singlestore.ts +61 -0
  47. package/src/cli/validations/sqlite.ts +104 -0
  48. package/src/cli/validations/studio.ts +24 -0
  49. package/src/cli/views.ts +658 -0
  50. package/src/extensions/getTablesFilterByExtensions.ts +16 -0
  51. package/src/extensions/vector.ts +10 -0
  52. package/src/global.ts +61 -0
  53. package/src/index.ts +326 -0
  54. package/src/introspect-mysql.ts +1030 -0
  55. package/src/introspect-pg.ts +1435 -0
  56. package/src/introspect-singlestore.ts +913 -0
  57. package/src/introspect-sqlite.ts +533 -0
  58. package/src/jsonDiffer.js +882 -0
  59. package/src/jsonStatements.ts +3590 -0
  60. package/src/loader.mjs +57 -0
  61. package/src/migrationPreparator.ts +217 -0
  62. package/src/schemaValidator.ts +23 -0
  63. package/src/serializer/index.ts +142 -0
  64. package/src/serializer/mysqlImports.ts +38 -0
  65. package/src/serializer/mysqlSchema.ts +423 -0
  66. package/src/serializer/mysqlSerializer.ts +999 -0
  67. package/src/serializer/pgImports.ts +106 -0
  68. package/src/serializer/pgSchema.ts +937 -0
  69. package/src/serializer/pgSerializer.ts +2223 -0
  70. package/src/serializer/singlestoreImports.ts +38 -0
  71. package/src/serializer/singlestoreSchema.ts +257 -0
  72. package/src/serializer/singlestoreSerializer.ts +767 -0
  73. package/src/serializer/sqliteImports.ts +41 -0
  74. package/src/serializer/sqliteSchema.ts +352 -0
  75. package/src/serializer/sqliteSerializer.ts +931 -0
  76. package/src/serializer/studio.ts +694 -0
  77. package/src/serializer/utils.ts +45 -0
  78. package/src/simulator.ts +157 -0
  79. package/src/snapshotsDiffer.ts +4398 -0
  80. package/src/sqlgenerator.ts +4212 -0
  81. package/src/statementCombiner.ts +597 -0
  82. package/src/utils/certs.ts +44 -0
  83. package/src/utils/words.ts +1333 -0
  84. package/src/utils.ts +370 -0
  85. package/tests/bin.test.ts +58 -0
  86. package/tests/cli/d1http.config.ts +12 -0
  87. package/tests/cli/drizzle.config.ts +9 -0
  88. package/tests/cli/durable-sqlite.config.ts +7 -0
  89. package/tests/cli/expo.config.ts +7 -0
  90. package/tests/cli/postgres.config.ts +13 -0
  91. package/tests/cli/postgres2.config.ts +17 -0
  92. package/tests/cli/schema.ts +1 -0
  93. package/tests/cli/turso.config.ts +10 -0
  94. package/tests/cli-export.test.ts +79 -0
  95. package/tests/cli-generate.test.ts +259 -0
  96. package/tests/cli-migrate.test.ts +103 -0
  97. package/tests/cli-push.test.ts +126 -0
  98. package/tests/common.ts +15 -0
  99. package/tests/indexes/common.ts +21 -0
  100. package/tests/indexes/pg.test.ts +245 -0
  101. package/tests/introspect/libsql.test.ts +35 -0
  102. package/tests/introspect/mysql.test.ts +319 -0
  103. package/tests/introspect/pg.test.ts +894 -0
  104. package/tests/introspect/singlestore.test.ts +275 -0
  105. package/tests/introspect/sqlite.test.ts +122 -0
  106. package/tests/libsql-checks.test.ts +308 -0
  107. package/tests/libsql-statements.test.ts +989 -0
  108. package/tests/libsql-views.test.ts +218 -0
  109. package/tests/migrate/libsq-schema.ts +6 -0
  110. package/tests/migrate/libsql-migrate.test.ts +58 -0
  111. package/tests/migrate/migrations/0000_little_blizzard.sql +4 -0
  112. package/tests/migrate/migrations/0001_nebulous_storm.sql +10 -0
  113. package/tests/migrate/migrations/meta/0000_snapshot.json +40 -0
  114. package/tests/migrate/migrations/meta/0001_snapshot.json +40 -0
  115. package/tests/migrate/migrations/meta/_journal.json +20 -0
  116. package/tests/mysql-checks.test.ts +291 -0
  117. package/tests/mysql-generated.test.ts +1290 -0
  118. package/tests/mysql-schemas.test.ts +156 -0
  119. package/tests/mysql-views.test.ts +553 -0
  120. package/tests/mysql.test.ts +863 -0
  121. package/tests/pg-array.test.ts +368 -0
  122. package/tests/pg-checks.test.ts +329 -0
  123. package/tests/pg-columns.test.ts +484 -0
  124. package/tests/pg-domains.test.ts +306 -0
  125. package/tests/pg-enums.test.ts +751 -0
  126. package/tests/pg-generated.test.ts +529 -0
  127. package/tests/pg-identity.test.ts +447 -0
  128. package/tests/pg-schemas.test.ts +105 -0
  129. package/tests/pg-sequences.test.ts +298 -0
  130. package/tests/pg-tables.test.ts +1021 -0
  131. package/tests/pg-views.test.ts +1929 -0
  132. package/tests/push/common.ts +58 -0
  133. package/tests/push/libsql.test.ts +1400 -0
  134. package/tests/push/mysql-push.test.ts +345 -0
  135. package/tests/push/mysql.test.ts +788 -0
  136. package/tests/push/pg.test.ts +4341 -0
  137. package/tests/push/singlestore-push.test.ts +894 -0
  138. package/tests/push/singlestore.test.ts +444 -0
  139. package/tests/push/sqlite.test.ts +1613 -0
  140. package/tests/rls/pg-policy.test.ts +1656 -0
  141. package/tests/rls/pg-role.test.ts +234 -0
  142. package/tests/schemaDiffer.ts +2852 -0
  143. package/tests/singlestore-generated.test.ts +1290 -0
  144. package/tests/singlestore-schemas.test.ts +155 -0
  145. package/tests/singlestore.test.ts +978 -0
  146. package/tests/sqlite-checks.test.ts +308 -0
  147. package/tests/sqlite-columns.test.ts +1049 -0
  148. package/tests/sqlite-generated.test.ts +1726 -0
  149. package/tests/sqlite-tables.test.ts +637 -0
  150. package/tests/sqlite-views.test.ts +218 -0
  151. package/tests/statements-combiner/libsql-statements-combiner.test.ts +1812 -0
  152. package/tests/statements-combiner/singlestore-statements-combiner.test.ts +882 -0
  153. package/tests/statements-combiner/sqlite-statements-combiner.test.ts +1211 -0
  154. package/tests/test/sqlite.test.ts +39 -0
  155. package/tests/testsinglestore.ts +29 -0
  156. package/tests/validations.test.ts +869 -0
  157. package/tests/wrap-param.test.ts +16 -0
  158. package/tsconfig.build.json +4 -0
  159. package/tsconfig.cli-types.json +9 -0
  160. package/tsconfig.json +28 -0
  161. package/vitest.config.ts +34 -0
@@ -0,0 +1,1333 @@
1
+ import type { Prefix } from '../cli/validations/common';
2
+
3
+ export const prepareMigrationMetadata = (
4
+ idx: number,
5
+ prefixMode: Prefix,
6
+ name?: string,
7
+ ) => {
8
+ const prefix = prefixMode === 'index'
9
+ ? idx.toFixed(0).padStart(4, '0')
10
+ : prefixMode === 'timestamp' || prefixMode === 'supabase'
11
+ ? new Date()
12
+ .toISOString()
13
+ .replace('T', '')
14
+ .replaceAll('-', '')
15
+ .replaceAll(':', '')
16
+ .slice(0, 14)
17
+ : prefixMode === 'unix'
18
+ ? Math.floor(Date.now() / 1000)
19
+ : '';
20
+
21
+ const suffix = name || `${adjectives.random()}_${heroes.random()}`;
22
+ const tag = `${prefix}_${suffix}`;
23
+ return { prefix, suffix, tag };
24
+ };
25
+
26
+ export const adjectives = [
27
+ 'abandoned',
28
+ 'aberrant',
29
+ 'abnormal',
30
+ 'absent',
31
+ 'absurd',
32
+ 'acoustic',
33
+ 'adorable',
34
+ 'amazing',
35
+ 'ambiguous',
36
+ 'ambitious',
37
+ 'amused',
38
+ 'amusing',
39
+ 'ancient',
40
+ 'aromatic',
41
+ 'aspiring',
42
+ 'awesome',
43
+ 'bent',
44
+ 'big',
45
+ 'bitter',
46
+ 'bizarre',
47
+ 'black',
48
+ 'blue',
49
+ 'blushing',
50
+ 'bored',
51
+ 'boring',
52
+ 'bouncy',
53
+ 'brainy',
54
+ 'brave',
55
+ 'breezy',
56
+ 'brief',
57
+ 'bright',
58
+ 'broad',
59
+ 'broken',
60
+ 'brown',
61
+ 'bumpy',
62
+ 'burly',
63
+ 'busy',
64
+ 'calm',
65
+ 'careful',
66
+ 'careless',
67
+ 'certain',
68
+ 'charming',
69
+ 'cheerful',
70
+ 'chemical',
71
+ 'chief',
72
+ 'chilly',
73
+ 'chubby',
74
+ 'chunky',
75
+ 'clammy',
76
+ 'classy',
77
+ 'clean',
78
+ 'clear',
79
+ 'clever',
80
+ 'cloudy',
81
+ 'closed',
82
+ 'clumsy',
83
+ 'cold',
84
+ 'colorful',
85
+ 'colossal',
86
+ 'common',
87
+ 'complete',
88
+ 'complex',
89
+ 'concerned',
90
+ 'condemned',
91
+ 'confused',
92
+ 'conscious',
93
+ 'cooing',
94
+ 'cool',
95
+ 'crazy',
96
+ 'cuddly',
97
+ 'cultured',
98
+ 'curious',
99
+ 'curly',
100
+ 'curved',
101
+ 'curvy',
102
+ 'cute',
103
+ 'cynical',
104
+ 'daffy',
105
+ 'daily',
106
+ 'damp',
107
+ 'dapper',
108
+ 'dark',
109
+ 'dashing',
110
+ 'dazzling',
111
+ 'dear',
112
+ 'deep',
113
+ 'demonic',
114
+ 'dizzy',
115
+ 'dry',
116
+ 'dusty',
117
+ 'eager',
118
+ 'early',
119
+ 'easy',
120
+ 'elite',
121
+ 'eminent',
122
+ 'empty',
123
+ 'equal',
124
+ 'even',
125
+ 'exotic',
126
+ 'fair',
127
+ 'faithful',
128
+ 'familiar',
129
+ 'famous',
130
+ 'fancy',
131
+ 'fantastic',
132
+ 'far',
133
+ 'fast',
134
+ 'fat',
135
+ 'faulty',
136
+ 'fearless',
137
+ 'fine',
138
+ 'first',
139
+ 'fixed',
140
+ 'flaky',
141
+ 'flashy',
142
+ 'flat',
143
+ 'flawless',
144
+ 'flimsy',
145
+ 'flippant',
146
+ 'flowery',
147
+ 'fluffy',
148
+ 'foamy',
149
+ 'free',
150
+ 'freezing',
151
+ 'fresh',
152
+ 'friendly',
153
+ 'funny',
154
+ 'furry',
155
+ 'futuristic',
156
+ 'fuzzy',
157
+ 'giant',
158
+ 'gifted',
159
+ 'gigantic',
160
+ 'glamorous',
161
+ 'glorious',
162
+ 'glossy',
163
+ 'good',
164
+ 'goofy',
165
+ 'gorgeous',
166
+ 'graceful',
167
+ 'gray',
168
+ 'great',
169
+ 'greedy',
170
+ 'green',
171
+ 'grey',
172
+ 'groovy',
173
+ 'handy',
174
+ 'happy',
175
+ 'hard',
176
+ 'harsh',
177
+ 'heavy',
178
+ 'hesitant',
179
+ 'high',
180
+ 'hot',
181
+ 'huge',
182
+ 'icy',
183
+ 'illegal',
184
+ 'jazzy',
185
+ 'jittery',
186
+ 'keen',
187
+ 'kind',
188
+ 'known',
189
+ 'lame',
190
+ 'large',
191
+ 'last',
192
+ 'late',
193
+ 'lazy',
194
+ 'lean',
195
+ 'left',
196
+ 'legal',
197
+ 'lethal',
198
+ 'light',
199
+ 'little',
200
+ 'lively',
201
+ 'living',
202
+ 'lonely',
203
+ 'long',
204
+ 'loose',
205
+ 'loud',
206
+ 'lovely',
207
+ 'loving',
208
+ 'low',
209
+ 'lowly',
210
+ 'lucky',
211
+ 'lumpy',
212
+ 'lush',
213
+ 'luxuriant',
214
+ 'lying',
215
+ 'lyrical',
216
+ 'magenta',
217
+ 'magical',
218
+ 'majestic',
219
+ 'many',
220
+ 'massive',
221
+ 'married',
222
+ 'marvelous',
223
+ 'material',
224
+ 'mature',
225
+ 'mean',
226
+ 'medical',
227
+ 'melodic',
228
+ 'melted',
229
+ 'messy',
230
+ 'mighty',
231
+ 'military',
232
+ 'milky',
233
+ 'minor',
234
+ 'misty',
235
+ 'mixed',
236
+ 'moaning',
237
+ 'modern',
238
+ 'motionless',
239
+ 'mushy',
240
+ 'mute',
241
+ 'mysterious',
242
+ 'naive',
243
+ 'nappy',
244
+ 'narrow',
245
+ 'nasty',
246
+ 'natural',
247
+ 'neat',
248
+ 'nebulous',
249
+ 'needy',
250
+ 'nervous',
251
+ 'new',
252
+ 'next',
253
+ 'nice',
254
+ 'nifty',
255
+ 'noisy',
256
+ 'normal',
257
+ 'nostalgic',
258
+ 'nosy',
259
+ 'numerous',
260
+ 'odd',
261
+ 'old',
262
+ 'omniscient',
263
+ 'open',
264
+ 'opposite',
265
+ 'optimal',
266
+ 'orange',
267
+ 'ordinary',
268
+ 'organic',
269
+ 'outgoing',
270
+ 'outstanding',
271
+ 'oval',
272
+ 'overconfident',
273
+ 'overjoyed',
274
+ 'overrated',
275
+ 'pale',
276
+ 'panoramic',
277
+ 'parallel',
278
+ 'parched',
279
+ 'past',
280
+ 'peaceful',
281
+ 'perfect',
282
+ 'perpetual',
283
+ 'petite',
284
+ 'pink',
285
+ 'plain',
286
+ 'polite',
287
+ 'powerful',
288
+ 'premium',
289
+ 'pretty',
290
+ 'previous',
291
+ 'productive',
292
+ 'public',
293
+ 'purple',
294
+ 'puzzling',
295
+ 'quick',
296
+ 'quiet',
297
+ 'rainy',
298
+ 'rapid',
299
+ 'rare',
300
+ 'real',
301
+ 'red',
302
+ 'redundant',
303
+ 'reflective',
304
+ 'regular',
305
+ 'remarkable',
306
+ 'rich',
307
+ 'right',
308
+ 'robust',
309
+ 'romantic',
310
+ 'round',
311
+ 'sad',
312
+ 'safe',
313
+ 'salty',
314
+ 'same',
315
+ 'secret',
316
+ 'serious',
317
+ 'shallow',
318
+ 'sharp',
319
+ 'shiny',
320
+ 'shocking',
321
+ 'short',
322
+ 'silent',
323
+ 'silky',
324
+ 'silly',
325
+ 'simple',
326
+ 'skinny',
327
+ 'sleepy',
328
+ 'slim',
329
+ 'slimy',
330
+ 'slippery',
331
+ 'sloppy',
332
+ 'slow',
333
+ 'small',
334
+ 'smart',
335
+ 'smiling',
336
+ 'smooth',
337
+ 'soft',
338
+ 'solid',
339
+ 'sour',
340
+ 'sparkling',
341
+ 'special',
342
+ 'spicy',
343
+ 'spooky',
344
+ 'spotty',
345
+ 'square',
346
+ 'stale',
347
+ 'steady',
348
+ 'steep',
349
+ 'sticky',
350
+ 'stiff',
351
+ 'stormy',
352
+ 'strange',
353
+ 'striped',
354
+ 'strong',
355
+ 'sturdy',
356
+ 'sudden',
357
+ 'superb',
358
+ 'supreme',
359
+ 'sweet',
360
+ 'swift',
361
+ 'talented',
362
+ 'tan',
363
+ 'tearful',
364
+ 'tense',
365
+ 'thankful',
366
+ 'thick',
367
+ 'thin',
368
+ 'third',
369
+ 'tidy',
370
+ 'tiny',
371
+ 'tired',
372
+ 'tiresome',
373
+ 'tough',
374
+ 'tranquil',
375
+ 'tricky',
376
+ 'true',
377
+ 'typical',
378
+ 'uneven',
379
+ 'unique',
380
+ 'unknown',
381
+ 'unusual',
382
+ 'useful',
383
+ 'vengeful',
384
+ 'violet',
385
+ 'volatile',
386
+ 'wakeful',
387
+ 'wandering',
388
+ 'warm',
389
+ 'watery',
390
+ 'wealthy',
391
+ 'wet',
392
+ 'white',
393
+ 'whole',
394
+ 'wide',
395
+ 'wild',
396
+ 'windy',
397
+ 'wise',
398
+ 'wonderful',
399
+ 'wooden',
400
+ 'woozy',
401
+ 'workable',
402
+ 'worried',
403
+ 'worthless',
404
+ 'yellow',
405
+ 'yielding',
406
+ 'young',
407
+ 'youthful',
408
+ 'yummy',
409
+ 'zippy',
410
+ ];
411
+
412
+ export const heroes = [
413
+ 'aaron_stack',
414
+ 'abomination',
415
+ 'absorbing_man',
416
+ 'adam_destine',
417
+ 'adam_warlock',
418
+ 'agent_brand',
419
+ 'agent_zero',
420
+ 'albert_cleary',
421
+ 'alex_power',
422
+ 'alex_wilder',
423
+ 'alice',
424
+ 'amazoness',
425
+ 'amphibian',
426
+ 'angel',
427
+ 'anita_blake',
428
+ 'annihilus',
429
+ 'anthem',
430
+ 'apocalypse',
431
+ 'aqueduct',
432
+ 'arachne',
433
+ 'archangel',
434
+ 'arclight',
435
+ 'ares',
436
+ 'argent',
437
+ 'avengers',
438
+ 'azazel',
439
+ 'banshee',
440
+ 'baron_strucker',
441
+ 'baron_zemo',
442
+ 'barracuda',
443
+ 'bastion',
444
+ 'beast',
445
+ 'bedlam',
446
+ 'ben_grimm',
447
+ 'ben_parker',
448
+ 'ben_urich',
449
+ 'betty_brant',
450
+ 'betty_ross',
451
+ 'beyonder',
452
+ 'big_bertha',
453
+ 'bill_hollister',
454
+ 'bishop',
455
+ 'black_bird',
456
+ 'black_bolt',
457
+ 'black_cat',
458
+ 'black_crow',
459
+ 'black_knight',
460
+ 'black_panther',
461
+ 'black_queen',
462
+ 'black_tarantula',
463
+ 'black_tom',
464
+ 'black_widow',
465
+ 'blackheart',
466
+ 'blacklash',
467
+ 'blade',
468
+ 'blazing_skull',
469
+ 'blindfold',
470
+ 'blink',
471
+ 'blizzard',
472
+ 'blob',
473
+ 'blockbuster',
474
+ 'blonde_phantom',
475
+ 'bloodaxe',
476
+ 'bloodscream',
477
+ 'bloodstorm',
478
+ 'bloodstrike',
479
+ 'blue_blade',
480
+ 'blue_marvel',
481
+ 'blue_shield',
482
+ 'blur',
483
+ 'boom_boom',
484
+ 'boomer',
485
+ 'boomerang',
486
+ 'bromley',
487
+ 'brood',
488
+ 'brother_voodoo',
489
+ 'bruce_banner',
490
+ 'bucky',
491
+ 'bug',
492
+ 'bulldozer',
493
+ 'bullseye',
494
+ 'bushwacker',
495
+ 'butterfly',
496
+ 'cable',
497
+ 'callisto',
498
+ 'calypso',
499
+ 'cammi',
500
+ 'cannonball',
501
+ 'captain_america',
502
+ 'captain_britain',
503
+ 'captain_cross',
504
+ 'captain_flint',
505
+ 'captain_marvel',
506
+ 'captain_midlands',
507
+ 'captain_stacy',
508
+ 'captain_universe',
509
+ 'cardiac',
510
+ 'caretaker',
511
+ 'cargill',
512
+ 'carlie_cooper',
513
+ 'carmella_unuscione',
514
+ 'carnage',
515
+ 'cassandra_nova',
516
+ 'catseye',
517
+ 'celestials',
518
+ 'centennial',
519
+ 'cerebro',
520
+ 'cerise',
521
+ 'chamber',
522
+ 'chameleon',
523
+ 'champions',
524
+ 'changeling',
525
+ 'charles_xavier',
526
+ 'chat',
527
+ 'chimera',
528
+ 'christian_walker',
529
+ 'chronomancer',
530
+ 'clea',
531
+ 'clint_barton',
532
+ 'cloak',
533
+ 'cobalt_man',
534
+ 'colleen_wing',
535
+ 'colonel_america',
536
+ 'colossus',
537
+ 'corsair',
538
+ 'crusher_hogan',
539
+ 'crystal',
540
+ 'cyclops',
541
+ 'dagger',
542
+ 'daimon_hellstrom',
543
+ 'dakota_north',
544
+ 'daredevil',
545
+ 'dark_beast',
546
+ 'dark_phoenix',
547
+ 'darkhawk',
548
+ 'darkstar',
549
+ 'darwin',
550
+ 'dazzler',
551
+ 'deadpool',
552
+ 'deathbird',
553
+ 'deathstrike',
554
+ 'demogoblin',
555
+ 'devos',
556
+ 'dexter_bennett',
557
+ 'diamondback',
558
+ 'doctor_doom',
559
+ 'doctor_faustus',
560
+ 'doctor_octopus',
561
+ 'doctor_spectrum',
562
+ 'doctor_strange',
563
+ 'domino',
564
+ 'donald_blake',
565
+ 'doomsday',
566
+ 'doorman',
567
+ 'dorian_gray',
568
+ 'dormammu',
569
+ 'dracula',
570
+ 'dragon_lord',
571
+ 'dragon_man',
572
+ 'drax',
573
+ 'dreadnoughts',
574
+ 'dreaming_celestial',
575
+ 'dust',
576
+ 'earthquake',
577
+ 'echo',
578
+ 'eddie_brock',
579
+ 'edwin_jarvis',
580
+ 'ego',
581
+ 'electro',
582
+ 'elektra',
583
+ 'emma_frost',
584
+ 'enchantress',
585
+ 'ender_wiggin',
586
+ 'energizer',
587
+ 'epoch',
588
+ 'eternals',
589
+ 'eternity',
590
+ 'excalibur',
591
+ 'exiles',
592
+ 'exodus',
593
+ 'expediter',
594
+ 'ezekiel',
595
+ 'ezekiel_stane',
596
+ 'fabian_cortez',
597
+ 'falcon',
598
+ 'fallen_one',
599
+ 'famine',
600
+ 'fantastic_four',
601
+ 'fat_cobra',
602
+ 'felicia_hardy',
603
+ 'fenris',
604
+ 'firebird',
605
+ 'firebrand',
606
+ 'firedrake',
607
+ 'firelord',
608
+ 'firestar',
609
+ 'fixer',
610
+ 'flatman',
611
+ 'forge',
612
+ 'forgotten_one',
613
+ 'frank_castle',
614
+ 'franklin_richards',
615
+ 'franklin_storm',
616
+ 'freak',
617
+ 'frightful_four',
618
+ 'frog_thor',
619
+ 'gabe_jones',
620
+ 'galactus',
621
+ 'gambit',
622
+ 'gamma_corps',
623
+ 'gamora',
624
+ 'gargoyle',
625
+ 'garia',
626
+ 'gateway',
627
+ 'gauntlet',
628
+ 'genesis',
629
+ 'george_stacy',
630
+ 'gertrude_yorkes',
631
+ 'ghost_rider',
632
+ 'giant_girl',
633
+ 'giant_man',
634
+ 'gideon',
635
+ 'gladiator',
636
+ 'glorian',
637
+ 'goblin_queen',
638
+ 'golden_guardian',
639
+ 'goliath',
640
+ 'gorgon',
641
+ 'gorilla_man',
642
+ 'grandmaster',
643
+ 'gravity',
644
+ 'green_goblin',
645
+ 'gressill',
646
+ 'grey_gargoyle',
647
+ 'greymalkin',
648
+ 'grim_reaper',
649
+ 'groot',
650
+ 'guardian',
651
+ 'guardsmen',
652
+ 'gunslinger',
653
+ 'gwen_stacy',
654
+ 'hairball',
655
+ 'hammerhead',
656
+ 'hannibal_king',
657
+ 'hardball',
658
+ 'harpoon',
659
+ 'harrier',
660
+ 'harry_osborn',
661
+ 'havok',
662
+ 'hawkeye',
663
+ 'hedge_knight',
664
+ 'hellcat',
665
+ 'hellfire_club',
666
+ 'hellion',
667
+ 'hemingway',
668
+ 'hercules',
669
+ 'hex',
670
+ 'hiroim',
671
+ 'hitman',
672
+ 'hobgoblin',
673
+ 'hulk',
674
+ 'human_cannonball',
675
+ 'human_fly',
676
+ 'human_robot',
677
+ 'human_torch',
678
+ 'husk',
679
+ 'hydra',
680
+ 'iceman',
681
+ 'ikaris',
682
+ 'imperial_guard',
683
+ 'impossible_man',
684
+ 'inertia',
685
+ 'infant_terrible',
686
+ 'inhumans',
687
+ 'ink',
688
+ 'invaders',
689
+ 'invisible_woman',
690
+ 'iron_fist',
691
+ 'iron_lad',
692
+ 'iron_man',
693
+ 'iron_monger',
694
+ 'iron_patriot',
695
+ 'ironclad',
696
+ 'jack_flag',
697
+ 'jack_murdock',
698
+ 'jack_power',
699
+ 'jackal',
700
+ 'jackpot',
701
+ 'james_howlett',
702
+ 'jamie_braddock',
703
+ 'jane_foster',
704
+ 'jasper_sitwell',
705
+ 'jazinda',
706
+ 'jean_grey',
707
+ 'jetstream',
708
+ 'jigsaw',
709
+ 'jimmy_woo',
710
+ 'jocasta',
711
+ 'johnny_blaze',
712
+ 'johnny_storm',
713
+ 'joseph',
714
+ 'joshua_kane',
715
+ 'joystick',
716
+ 'jubilee',
717
+ 'juggernaut',
718
+ 'junta',
719
+ 'justice',
720
+ 'justin_hammer',
721
+ 'kabuki',
722
+ 'kang',
723
+ 'karen_page',
724
+ 'karma',
725
+ 'karnak',
726
+ 'kat_farrell',
727
+ 'kate_bishop',
728
+ 'katie_power',
729
+ 'ken_ellis',
730
+ 'khan',
731
+ 'kid_colt',
732
+ 'killer_shrike',
733
+ 'killmonger',
734
+ 'killraven',
735
+ 'king_bedlam',
736
+ 'king_cobra',
737
+ 'kingpin',
738
+ 'kinsey_walden',
739
+ 'kitty_pryde',
740
+ 'klaw',
741
+ 'komodo',
742
+ 'korath',
743
+ 'korg',
744
+ 'korvac',
745
+ 'kree',
746
+ 'krista_starr',
747
+ 'kronos',
748
+ 'kulan_gath',
749
+ 'kylun',
750
+ 'la_nuit',
751
+ 'lady_bullseye',
752
+ 'lady_deathstrike',
753
+ 'lady_mastermind',
754
+ 'lady_ursula',
755
+ 'lady_vermin',
756
+ 'lake',
757
+ 'landau',
758
+ 'layla_miller',
759
+ 'leader',
760
+ 'leech',
761
+ 'legion',
762
+ 'lenny_balinger',
763
+ 'leo',
764
+ 'leopardon',
765
+ 'leper_queen',
766
+ 'lester',
767
+ 'lethal_legion',
768
+ 'lifeguard',
769
+ 'lightspeed',
770
+ 'lila_cheney',
771
+ 'lilandra',
772
+ 'lilith',
773
+ 'lily_hollister',
774
+ 'lionheart',
775
+ 'living_lightning',
776
+ 'living_mummy',
777
+ 'living_tribunal',
778
+ 'liz_osborn',
779
+ 'lizard',
780
+ 'loa',
781
+ 'lockheed',
782
+ 'lockjaw',
783
+ 'logan',
784
+ 'loki',
785
+ 'loners',
786
+ 'longshot',
787
+ 'lord_hawal',
788
+ 'lord_tyger',
789
+ 'lorna_dane',
790
+ 'luckman',
791
+ 'lucky_pierre',
792
+ 'luke_cage',
793
+ 'luminals',
794
+ 'lyja',
795
+ 'ma_gnuci',
796
+ 'mac_gargan',
797
+ 'mach_iv',
798
+ 'machine_man',
799
+ 'mad_thinker',
800
+ 'madame_hydra',
801
+ 'madame_masque',
802
+ 'madame_web',
803
+ 'maddog',
804
+ 'madelyne_pryor',
805
+ 'madripoor',
806
+ 'madrox',
807
+ 'maelstrom',
808
+ 'maestro',
809
+ 'magdalene',
810
+ 'maggott',
811
+ 'magik',
812
+ 'maginty',
813
+ 'magma',
814
+ 'magneto',
815
+ 'magus',
816
+ 'major_mapleleaf',
817
+ 'makkari',
818
+ 'malcolm_colcord',
819
+ 'malice',
820
+ 'mandarin',
821
+ 'mandrill',
822
+ 'mandroid',
823
+ 'manta',
824
+ 'mantis',
825
+ 'marauders',
826
+ 'maria_hill',
827
+ 'mariko_yashida',
828
+ 'marrow',
829
+ 'marten_broadcloak',
830
+ 'martin_li',
831
+ 'marvel_apes',
832
+ 'marvel_boy',
833
+ 'marvel_zombies',
834
+ 'marvex',
835
+ 'masked_marvel',
836
+ 'masque',
837
+ 'master_chief',
838
+ 'master_mold',
839
+ 'mastermind',
840
+ 'mathemanic',
841
+ 'matthew_murdock',
842
+ 'mattie_franklin',
843
+ 'mauler',
844
+ 'maverick',
845
+ 'maximus',
846
+ 'may_parker',
847
+ 'medusa',
848
+ 'meggan',
849
+ 'meltdown',
850
+ 'menace',
851
+ 'mentallo',
852
+ 'mentor',
853
+ 'mephisto',
854
+ 'mephistopheles',
855
+ 'mercury',
856
+ 'mesmero',
857
+ 'metal_master',
858
+ 'meteorite',
859
+ 'micromacro',
860
+ 'microbe',
861
+ 'microchip',
862
+ 'micromax',
863
+ 'midnight',
864
+ 'miek',
865
+ 'mikhail_rasputin',
866
+ 'millenium_guard',
867
+ 'mimic',
868
+ 'mindworm',
869
+ 'miracleman',
870
+ 'miss_america',
871
+ 'mister_fear',
872
+ 'mister_sinister',
873
+ 'misty_knight',
874
+ 'mockingbird',
875
+ 'moira_mactaggert',
876
+ 'mojo',
877
+ 'mole_man',
878
+ 'molecule_man',
879
+ 'molly_hayes',
880
+ 'molten_man',
881
+ 'mongoose',
882
+ 'mongu',
883
+ 'monster_badoon',
884
+ 'moon_knight',
885
+ 'moondragon',
886
+ 'moonstone',
887
+ 'morbius',
888
+ 'mordo',
889
+ 'morg',
890
+ 'morgan_stark',
891
+ 'morlocks',
892
+ 'morlun',
893
+ 'morph',
894
+ 'mother_askani',
895
+ 'mulholland_black',
896
+ 'multiple_man',
897
+ 'mysterio',
898
+ 'mystique',
899
+ 'namor',
900
+ 'namora',
901
+ 'namorita',
902
+ 'naoko',
903
+ 'natasha_romanoff',
904
+ 'nebula',
905
+ 'nehzno',
906
+ 'nekra',
907
+ 'nemesis',
908
+ 'network',
909
+ 'newton_destine',
910
+ 'next_avengers',
911
+ 'nextwave',
912
+ 'nick_fury',
913
+ 'nico_minoru',
914
+ 'nicolaos',
915
+ 'night_nurse',
916
+ 'night_thrasher',
917
+ 'nightcrawler',
918
+ 'nighthawk',
919
+ 'nightmare',
920
+ 'nightshade',
921
+ 'nitro',
922
+ 'nocturne',
923
+ 'nomad',
924
+ 'norman_osborn',
925
+ 'norrin_radd',
926
+ 'northstar',
927
+ 'nova',
928
+ 'nuke',
929
+ 'obadiah_stane',
930
+ 'odin',
931
+ 'ogun',
932
+ 'old_lace',
933
+ 'omega_flight',
934
+ 'omega_red',
935
+ 'omega_sentinel',
936
+ 'onslaught',
937
+ 'oracle',
938
+ 'orphan',
939
+ 'otto_octavius',
940
+ 'outlaw_kid',
941
+ 'overlord',
942
+ 'owl',
943
+ 'ozymandias',
944
+ 'paibok',
945
+ 'paladin',
946
+ 'pandemic',
947
+ 'paper_doll',
948
+ 'patch',
949
+ 'patriot',
950
+ 'payback',
951
+ 'penance',
952
+ 'pepper_potts',
953
+ 'pestilence',
954
+ 'pet_avengers',
955
+ 'pete_wisdom',
956
+ 'peter_parker',
957
+ 'peter_quill',
958
+ 'phalanx',
959
+ 'phantom_reporter',
960
+ 'phil_sheldon',
961
+ 'photon',
962
+ 'piledriver',
963
+ 'pixie',
964
+ 'plazm',
965
+ 'polaris',
966
+ 'post',
967
+ 'power_man',
968
+ 'power_pack',
969
+ 'praxagora',
970
+ 'preak',
971
+ 'pretty_boy',
972
+ 'pride',
973
+ 'prima',
974
+ 'princess_powerful',
975
+ 'prism',
976
+ 'prodigy',
977
+ 'proemial_gods',
978
+ 'professor_monster',
979
+ 'proteus',
980
+ 'proudstar',
981
+ 'prowler',
982
+ 'psylocke',
983
+ 'psynapse',
984
+ 'puck',
985
+ 'puff_adder',
986
+ 'puma',
987
+ 'punisher',
988
+ 'puppet_master',
989
+ 'purifiers',
990
+ 'purple_man',
991
+ 'pyro',
992
+ 'quasar',
993
+ 'quasimodo',
994
+ 'queen_noir',
995
+ 'quentin_quire',
996
+ 'quicksilver',
997
+ 'rachel_grey',
998
+ 'radioactive_man',
999
+ 'rafael_vega',
1000
+ 'rage',
1001
+ 'raider',
1002
+ 'randall',
1003
+ 'randall_flagg',
1004
+ 'random',
1005
+ 'rattler',
1006
+ 'ravenous',
1007
+ 'rawhide_kid',
1008
+ 'raza',
1009
+ 'reaper',
1010
+ 'reavers',
1011
+ 'red_ghost',
1012
+ 'red_hulk',
1013
+ 'red_shift',
1014
+ 'red_skull',
1015
+ 'red_wolf',
1016
+ 'redwing',
1017
+ 'reptil',
1018
+ 'retro_girl',
1019
+ 'revanche',
1020
+ 'rhino',
1021
+ 'rhodey',
1022
+ 'richard_fisk',
1023
+ 'rick_jones',
1024
+ 'ricochet',
1025
+ 'rictor',
1026
+ 'riptide',
1027
+ 'risque',
1028
+ 'robbie_robertson',
1029
+ 'robin_chapel',
1030
+ 'rocket_raccoon',
1031
+ 'rocket_racer',
1032
+ 'rockslide',
1033
+ 'rogue',
1034
+ 'roland_deschain',
1035
+ 'romulus',
1036
+ 'ronan',
1037
+ 'roughhouse',
1038
+ 'roulette',
1039
+ 'roxanne_simpson',
1040
+ 'rumiko_fujikawa',
1041
+ 'runaways',
1042
+ 'sabra',
1043
+ 'sabretooth',
1044
+ 'sage',
1045
+ 'sally_floyd',
1046
+ 'salo',
1047
+ 'sandman',
1048
+ 'santa_claus',
1049
+ 'saracen',
1050
+ 'sasquatch',
1051
+ 'satana',
1052
+ 'sauron',
1053
+ 'scalphunter',
1054
+ 'scarecrow',
1055
+ 'scarlet_spider',
1056
+ 'scarlet_witch',
1057
+ 'scorpion',
1058
+ 'scourge',
1059
+ 'scrambler',
1060
+ 'scream',
1061
+ 'screwball',
1062
+ 'sebastian_shaw',
1063
+ 'secret_warriors',
1064
+ 'selene',
1065
+ 'senator_kelly',
1066
+ 'sentinel',
1067
+ 'sentinels',
1068
+ 'sentry',
1069
+ 'ser_duncan',
1070
+ 'serpent_society',
1071
+ 'sersi',
1072
+ 'shadow_king',
1073
+ 'shadowcat',
1074
+ 'shaman',
1075
+ 'shape',
1076
+ 'shard',
1077
+ 'sharon_carter',
1078
+ 'sharon_ventura',
1079
+ 'shatterstar',
1080
+ 'shen',
1081
+ 'sheva_callister',
1082
+ 'shinko_yamashiro',
1083
+ 'shinobi_shaw',
1084
+ 'shiva',
1085
+ 'shiver_man',
1086
+ 'shocker',
1087
+ 'shockwave',
1088
+ 'shooting_star',
1089
+ 'shotgun',
1090
+ 'shriek',
1091
+ 'silhouette',
1092
+ 'silk_fever',
1093
+ 'silver_centurion',
1094
+ 'silver_fox',
1095
+ 'silver_sable',
1096
+ 'silver_samurai',
1097
+ 'silver_surfer',
1098
+ 'silverclaw',
1099
+ 'silvermane',
1100
+ 'sinister_six',
1101
+ 'sir_ram',
1102
+ 'siren',
1103
+ 'sister_grimm',
1104
+ 'skaar',
1105
+ 'skin',
1106
+ 'skreet',
1107
+ 'skrulls',
1108
+ 'skullbuster',
1109
+ 'slapstick',
1110
+ 'slayback',
1111
+ 'sleeper',
1112
+ 'sleepwalker',
1113
+ 'slipstream',
1114
+ 'slyde',
1115
+ 'smasher',
1116
+ 'smiling_tiger',
1117
+ 'snowbird',
1118
+ 'solo',
1119
+ 'songbird',
1120
+ 'spacker_dave',
1121
+ 'spectrum',
1122
+ 'speed',
1123
+ 'speed_demon',
1124
+ 'speedball',
1125
+ 'spencer_smythe',
1126
+ 'sphinx',
1127
+ 'spiral',
1128
+ 'spirit',
1129
+ 'spitfire',
1130
+ 'spot',
1131
+ 'sprite',
1132
+ 'spyke',
1133
+ 'squadron_sinister',
1134
+ 'squadron_supreme',
1135
+ 'squirrel_girl',
1136
+ 'star_brand',
1137
+ 'starbolt',
1138
+ 'stardust',
1139
+ 'starfox',
1140
+ 'starhawk',
1141
+ 'starjammers',
1142
+ 'stark_industries',
1143
+ 'stature',
1144
+ 'steel_serpent',
1145
+ 'stellaris',
1146
+ 'stepford_cuckoos',
1147
+ 'stephen_strange',
1148
+ 'steve_rogers',
1149
+ 'stick',
1150
+ 'stingray',
1151
+ 'stone_men',
1152
+ 'storm',
1153
+ 'stranger',
1154
+ 'strong_guy',
1155
+ 'stryfe',
1156
+ 'sue_storm',
1157
+ 'sugar_man',
1158
+ 'sumo',
1159
+ 'sunfire',
1160
+ 'sunset_bain',
1161
+ 'sunspot',
1162
+ 'supernaut',
1163
+ 'supreme_intelligence',
1164
+ 'surge',
1165
+ 'susan_delgado',
1166
+ 'swarm',
1167
+ 'sway',
1168
+ 'switch',
1169
+ 'swordsman',
1170
+ 'synch',
1171
+ 'tag',
1172
+ 'talisman',
1173
+ 'talkback',
1174
+ 'talon',
1175
+ 'talos',
1176
+ 'tana_nile',
1177
+ 'tarantula',
1178
+ 'tarot',
1179
+ 'taskmaster',
1180
+ 'tattoo',
1181
+ 'ted_forrester',
1182
+ 'tempest',
1183
+ 'tenebrous',
1184
+ 'terrax',
1185
+ 'terror',
1186
+ 'texas_twister',
1187
+ 'thaddeus_ross',
1188
+ 'thanos',
1189
+ 'the_anarchist',
1190
+ 'the_call',
1191
+ 'the_captain',
1192
+ 'the_enforcers',
1193
+ 'the_executioner',
1194
+ 'the_fallen',
1195
+ 'the_fury',
1196
+ 'the_hand',
1197
+ 'the_hood',
1198
+ 'the_hunter',
1199
+ 'the_initiative',
1200
+ 'the_leader',
1201
+ 'the_liberteens',
1202
+ 'the_order',
1203
+ 'the_phantom',
1204
+ 'the_professor',
1205
+ 'the_renegades',
1206
+ 'the_santerians',
1207
+ 'the_spike',
1208
+ 'the_stranger',
1209
+ 'the_twelve',
1210
+ 'the_watchers',
1211
+ 'thena',
1212
+ 'thing',
1213
+ 'thor',
1214
+ 'thor_girl',
1215
+ 'thunderball',
1216
+ 'thunderbird',
1217
+ 'thunderbolt',
1218
+ 'thunderbolt_ross',
1219
+ 'thunderbolts',
1220
+ 'thundra',
1221
+ 'tiger_shark',
1222
+ 'tigra',
1223
+ 'timeslip',
1224
+ 'tinkerer',
1225
+ 'titania',
1226
+ 'titanium_man',
1227
+ 'toad',
1228
+ 'toad_men',
1229
+ 'tomas',
1230
+ 'tombstone',
1231
+ 'tomorrow_man',
1232
+ 'tony_stark',
1233
+ 'toro',
1234
+ 'toxin',
1235
+ 'trauma',
1236
+ 'triathlon',
1237
+ 'trish_tilby',
1238
+ 'triton',
1239
+ 'true_believers',
1240
+ 'turbo',
1241
+ 'tusk',
1242
+ 'tyger_tiger',
1243
+ 'typhoid_mary',
1244
+ 'tyrannus',
1245
+ 'ulik',
1246
+ 'ultimates',
1247
+ 'ultimatum',
1248
+ 'ultimo',
1249
+ 'ultragirl',
1250
+ 'ultron',
1251
+ 'umar',
1252
+ 'unicorn',
1253
+ 'union_jack',
1254
+ 'unus',
1255
+ 'valeria_richards',
1256
+ 'valkyrie',
1257
+ 'vampiro',
1258
+ 'vance_astro',
1259
+ 'vanisher',
1260
+ 'vapor',
1261
+ 'vargas',
1262
+ 'vector',
1263
+ 'veda',
1264
+ 'vengeance',
1265
+ 'venom',
1266
+ 'venus',
1267
+ 'vermin',
1268
+ 'vertigo',
1269
+ 'victor_mancha',
1270
+ 'vin_gonzales',
1271
+ 'vindicator',
1272
+ 'violations',
1273
+ 'viper',
1274
+ 'virginia_dare',
1275
+ 'vision',
1276
+ 'vivisector',
1277
+ 'vulcan',
1278
+ 'vulture',
1279
+ 'wallflower',
1280
+ 'wallop',
1281
+ 'wallow',
1282
+ 'war_machine',
1283
+ 'warbird',
1284
+ 'warbound',
1285
+ 'warhawk',
1286
+ 'warlock',
1287
+ 'warpath',
1288
+ 'warstar',
1289
+ 'wasp',
1290
+ 'weapon_omega',
1291
+ 'wendell_rand',
1292
+ 'wendell_vaughn',
1293
+ 'wendigo',
1294
+ 'whiplash',
1295
+ 'whirlwind',
1296
+ 'whistler',
1297
+ 'white_queen',
1298
+ 'white_tiger',
1299
+ 'whizzer',
1300
+ 'wiccan',
1301
+ 'wild_child',
1302
+ 'wild_pack',
1303
+ 'wildside',
1304
+ 'william_stryker',
1305
+ 'wilson_fisk',
1306
+ 'wind_dancer',
1307
+ 'winter_soldier',
1308
+ 'wither',
1309
+ 'wolf_cub',
1310
+ 'wolfpack',
1311
+ 'wolfsbane',
1312
+ 'wolverine',
1313
+ 'wonder_man',
1314
+ 'wong',
1315
+ 'wraith',
1316
+ 'wrecker',
1317
+ 'wrecking_crew',
1318
+ 'xavin',
1319
+ 'xorn',
1320
+ 'yellow_claw',
1321
+ 'yellowjacket',
1322
+ 'young_avengers',
1323
+ 'zaladane',
1324
+ 'zaran',
1325
+ 'zarda',
1326
+ 'zarek',
1327
+ 'zeigeist',
1328
+ 'zemo',
1329
+ 'zodiak',
1330
+ 'zombie',
1331
+ 'zuras',
1332
+ 'zzzax',
1333
+ ];