@krizaka/org 0.1.0 → 0.2.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.
@@ -12,6 +12,7 @@
12
12
  "company",
13
13
  "brand",
14
14
  "people",
15
+ "defaults",
15
16
  "products",
16
17
  "sites",
17
18
  "contact",
@@ -22,7 +23,10 @@
22
23
  "type": "string"
23
24
  },
24
25
  "schemaVersion": {
25
- "const": 1
26
+ "enum": [
27
+ 1,
28
+ 2
29
+ ]
26
30
  },
27
31
  "version": {
28
32
  "type": "string",
@@ -416,6 +420,377 @@
416
420
  }
417
421
  }
418
422
  },
423
+ "defaults": {
424
+ "type": "object",
425
+ "additionalProperties": false,
426
+ "required": [
427
+ "version",
428
+ "base",
429
+ "rule",
430
+ "kinds"
431
+ ],
432
+ "properties": {
433
+ "version": {
434
+ "type": "string",
435
+ "pattern": "^v\\d+$"
436
+ },
437
+ "base": {
438
+ "type": "string",
439
+ "format": "uri",
440
+ "pattern": "^https://"
441
+ },
442
+ "rule": {
443
+ "type": "object",
444
+ "additionalProperties": false,
445
+ "required": [
446
+ "pick",
447
+ "description"
448
+ ],
449
+ "properties": {
450
+ "pick": {
451
+ "const": "fnv1a32-modulo"
452
+ },
453
+ "description": {
454
+ "type": "string",
455
+ "minLength": 1
456
+ }
457
+ }
458
+ },
459
+ "kinds": {
460
+ "type": "object",
461
+ "additionalProperties": false,
462
+ "required": [
463
+ "person",
464
+ "folder",
465
+ "organisation",
466
+ "shop",
467
+ "banner"
468
+ ],
469
+ "properties": {
470
+ "person": {
471
+ "type": "array",
472
+ "minItems": 1,
473
+ "uniqueItems": true,
474
+ "items": {
475
+ "type": "object",
476
+ "additionalProperties": false,
477
+ "required": [
478
+ "id",
479
+ "alt",
480
+ "urls"
481
+ ],
482
+ "properties": {
483
+ "id": {
484
+ "type": "string",
485
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
486
+ },
487
+ "alt": {
488
+ "type": "object",
489
+ "additionalProperties": false,
490
+ "required": [
491
+ "fr",
492
+ "en"
493
+ ],
494
+ "properties": {
495
+ "fr": {
496
+ "type": "string",
497
+ "minLength": 1
498
+ },
499
+ "en": {
500
+ "type": "string",
501
+ "minLength": 1
502
+ }
503
+ }
504
+ },
505
+ "urls": {
506
+ "type": "object",
507
+ "additionalProperties": false,
508
+ "required": [
509
+ "webp"
510
+ ],
511
+ "properties": {
512
+ "svg": {
513
+ "type": "string",
514
+ "format": "uri",
515
+ "pattern": "^https://"
516
+ },
517
+ "webp": {
518
+ "type": "object",
519
+ "minProperties": 1,
520
+ "propertyNames": {
521
+ "pattern": "^\\d+$"
522
+ },
523
+ "additionalProperties": {
524
+ "type": "string",
525
+ "format": "uri",
526
+ "pattern": "^https://"
527
+ }
528
+ }
529
+ }
530
+ }
531
+ }
532
+ }
533
+ },
534
+ "folder": {
535
+ "type": "array",
536
+ "minItems": 1,
537
+ "uniqueItems": true,
538
+ "items": {
539
+ "type": "object",
540
+ "additionalProperties": false,
541
+ "required": [
542
+ "id",
543
+ "alt",
544
+ "urls"
545
+ ],
546
+ "properties": {
547
+ "id": {
548
+ "type": "string",
549
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
550
+ },
551
+ "alt": {
552
+ "type": "object",
553
+ "additionalProperties": false,
554
+ "required": [
555
+ "fr",
556
+ "en"
557
+ ],
558
+ "properties": {
559
+ "fr": {
560
+ "type": "string",
561
+ "minLength": 1
562
+ },
563
+ "en": {
564
+ "type": "string",
565
+ "minLength": 1
566
+ }
567
+ }
568
+ },
569
+ "urls": {
570
+ "type": "object",
571
+ "additionalProperties": false,
572
+ "required": [
573
+ "webp"
574
+ ],
575
+ "properties": {
576
+ "svg": {
577
+ "type": "string",
578
+ "format": "uri",
579
+ "pattern": "^https://"
580
+ },
581
+ "webp": {
582
+ "type": "object",
583
+ "minProperties": 1,
584
+ "propertyNames": {
585
+ "pattern": "^\\d+$"
586
+ },
587
+ "additionalProperties": {
588
+ "type": "string",
589
+ "format": "uri",
590
+ "pattern": "^https://"
591
+ }
592
+ }
593
+ }
594
+ }
595
+ }
596
+ }
597
+ },
598
+ "organisation": {
599
+ "type": "array",
600
+ "minItems": 1,
601
+ "uniqueItems": true,
602
+ "items": {
603
+ "type": "object",
604
+ "additionalProperties": false,
605
+ "required": [
606
+ "id",
607
+ "alt",
608
+ "urls"
609
+ ],
610
+ "properties": {
611
+ "id": {
612
+ "type": "string",
613
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
614
+ },
615
+ "alt": {
616
+ "type": "object",
617
+ "additionalProperties": false,
618
+ "required": [
619
+ "fr",
620
+ "en"
621
+ ],
622
+ "properties": {
623
+ "fr": {
624
+ "type": "string",
625
+ "minLength": 1
626
+ },
627
+ "en": {
628
+ "type": "string",
629
+ "minLength": 1
630
+ }
631
+ }
632
+ },
633
+ "urls": {
634
+ "type": "object",
635
+ "additionalProperties": false,
636
+ "required": [
637
+ "webp"
638
+ ],
639
+ "properties": {
640
+ "svg": {
641
+ "type": "string",
642
+ "format": "uri",
643
+ "pattern": "^https://"
644
+ },
645
+ "webp": {
646
+ "type": "object",
647
+ "minProperties": 1,
648
+ "propertyNames": {
649
+ "pattern": "^\\d+$"
650
+ },
651
+ "additionalProperties": {
652
+ "type": "string",
653
+ "format": "uri",
654
+ "pattern": "^https://"
655
+ }
656
+ }
657
+ }
658
+ }
659
+ }
660
+ }
661
+ },
662
+ "shop": {
663
+ "type": "array",
664
+ "minItems": 1,
665
+ "uniqueItems": true,
666
+ "items": {
667
+ "type": "object",
668
+ "additionalProperties": false,
669
+ "required": [
670
+ "id",
671
+ "alt",
672
+ "urls"
673
+ ],
674
+ "properties": {
675
+ "id": {
676
+ "type": "string",
677
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
678
+ },
679
+ "alt": {
680
+ "type": "object",
681
+ "additionalProperties": false,
682
+ "required": [
683
+ "fr",
684
+ "en"
685
+ ],
686
+ "properties": {
687
+ "fr": {
688
+ "type": "string",
689
+ "minLength": 1
690
+ },
691
+ "en": {
692
+ "type": "string",
693
+ "minLength": 1
694
+ }
695
+ }
696
+ },
697
+ "urls": {
698
+ "type": "object",
699
+ "additionalProperties": false,
700
+ "required": [
701
+ "webp"
702
+ ],
703
+ "properties": {
704
+ "svg": {
705
+ "type": "string",
706
+ "format": "uri",
707
+ "pattern": "^https://"
708
+ },
709
+ "webp": {
710
+ "type": "object",
711
+ "minProperties": 1,
712
+ "propertyNames": {
713
+ "pattern": "^\\d+$"
714
+ },
715
+ "additionalProperties": {
716
+ "type": "string",
717
+ "format": "uri",
718
+ "pattern": "^https://"
719
+ }
720
+ }
721
+ }
722
+ }
723
+ }
724
+ }
725
+ },
726
+ "banner": {
727
+ "type": "array",
728
+ "minItems": 1,
729
+ "uniqueItems": true,
730
+ "items": {
731
+ "type": "object",
732
+ "additionalProperties": false,
733
+ "required": [
734
+ "id",
735
+ "alt",
736
+ "urls"
737
+ ],
738
+ "properties": {
739
+ "id": {
740
+ "type": "string",
741
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
742
+ },
743
+ "alt": {
744
+ "type": "object",
745
+ "additionalProperties": false,
746
+ "required": [
747
+ "fr",
748
+ "en"
749
+ ],
750
+ "properties": {
751
+ "fr": {
752
+ "type": "string",
753
+ "minLength": 1
754
+ },
755
+ "en": {
756
+ "type": "string",
757
+ "minLength": 1
758
+ }
759
+ }
760
+ },
761
+ "urls": {
762
+ "type": "object",
763
+ "additionalProperties": false,
764
+ "required": [
765
+ "webp"
766
+ ],
767
+ "properties": {
768
+ "svg": {
769
+ "type": "string",
770
+ "format": "uri",
771
+ "pattern": "^https://"
772
+ },
773
+ "webp": {
774
+ "type": "object",
775
+ "minProperties": 1,
776
+ "propertyNames": {
777
+ "pattern": "^\\d+$"
778
+ },
779
+ "additionalProperties": {
780
+ "type": "string",
781
+ "format": "uri",
782
+ "pattern": "^https://"
783
+ }
784
+ }
785
+ }
786
+ }
787
+ }
788
+ }
789
+ }
790
+ }
791
+ }
792
+ }
793
+ },
419
794
  "products": {
420
795
  "type": "array",
421
796
  "minItems": 1,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@krizaka/org",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "The public facts about Krizaka, in one validated JSON that every footer, site and app reads: legal name, NEQ, « Fait à Montréal » in French and English, brand marks, default avatars and banners, the live products and sites, the public contact, the footer line and the mobile apps' public runtime config. Typed data, JSON Schema, and the files published on the CDN.",
5
5
  "keywords": [
6
6
  "krizaka",
@@ -48,7 +48,7 @@
48
48
  "tsup": "^8.5.0",
49
49
  "typescript": "^5.9.3",
50
50
  "vitest": "^4.1.11",
51
- "@krizaka/config": "^0.8.0"
51
+ "@krizaka/config": "^0.8.1"
52
52
  },
53
53
  "scripts": {
54
54
  "build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsup && node scripts/emit.mjs",