@krizaka/org 0.1.0 → 0.2.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.
@@ -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,392 @@
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
+ "disabled": {
506
+ "const": true
507
+ },
508
+ "urls": {
509
+ "type": "object",
510
+ "additionalProperties": false,
511
+ "required": [
512
+ "webp"
513
+ ],
514
+ "properties": {
515
+ "svg": {
516
+ "type": "string",
517
+ "format": "uri",
518
+ "pattern": "^https://"
519
+ },
520
+ "webp": {
521
+ "type": "object",
522
+ "minProperties": 1,
523
+ "propertyNames": {
524
+ "pattern": "^\\d+$"
525
+ },
526
+ "additionalProperties": {
527
+ "type": "string",
528
+ "format": "uri",
529
+ "pattern": "^https://"
530
+ }
531
+ }
532
+ }
533
+ }
534
+ }
535
+ }
536
+ },
537
+ "folder": {
538
+ "type": "array",
539
+ "minItems": 1,
540
+ "uniqueItems": true,
541
+ "items": {
542
+ "type": "object",
543
+ "additionalProperties": false,
544
+ "required": [
545
+ "id",
546
+ "alt",
547
+ "urls"
548
+ ],
549
+ "properties": {
550
+ "id": {
551
+ "type": "string",
552
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
553
+ },
554
+ "alt": {
555
+ "type": "object",
556
+ "additionalProperties": false,
557
+ "required": [
558
+ "fr",
559
+ "en"
560
+ ],
561
+ "properties": {
562
+ "fr": {
563
+ "type": "string",
564
+ "minLength": 1
565
+ },
566
+ "en": {
567
+ "type": "string",
568
+ "minLength": 1
569
+ }
570
+ }
571
+ },
572
+ "disabled": {
573
+ "const": true
574
+ },
575
+ "urls": {
576
+ "type": "object",
577
+ "additionalProperties": false,
578
+ "required": [
579
+ "webp"
580
+ ],
581
+ "properties": {
582
+ "svg": {
583
+ "type": "string",
584
+ "format": "uri",
585
+ "pattern": "^https://"
586
+ },
587
+ "webp": {
588
+ "type": "object",
589
+ "minProperties": 1,
590
+ "propertyNames": {
591
+ "pattern": "^\\d+$"
592
+ },
593
+ "additionalProperties": {
594
+ "type": "string",
595
+ "format": "uri",
596
+ "pattern": "^https://"
597
+ }
598
+ }
599
+ }
600
+ }
601
+ }
602
+ }
603
+ },
604
+ "organisation": {
605
+ "type": "array",
606
+ "minItems": 1,
607
+ "uniqueItems": true,
608
+ "items": {
609
+ "type": "object",
610
+ "additionalProperties": false,
611
+ "required": [
612
+ "id",
613
+ "alt",
614
+ "urls"
615
+ ],
616
+ "properties": {
617
+ "id": {
618
+ "type": "string",
619
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
620
+ },
621
+ "alt": {
622
+ "type": "object",
623
+ "additionalProperties": false,
624
+ "required": [
625
+ "fr",
626
+ "en"
627
+ ],
628
+ "properties": {
629
+ "fr": {
630
+ "type": "string",
631
+ "minLength": 1
632
+ },
633
+ "en": {
634
+ "type": "string",
635
+ "minLength": 1
636
+ }
637
+ }
638
+ },
639
+ "disabled": {
640
+ "const": true
641
+ },
642
+ "urls": {
643
+ "type": "object",
644
+ "additionalProperties": false,
645
+ "required": [
646
+ "webp"
647
+ ],
648
+ "properties": {
649
+ "svg": {
650
+ "type": "string",
651
+ "format": "uri",
652
+ "pattern": "^https://"
653
+ },
654
+ "webp": {
655
+ "type": "object",
656
+ "minProperties": 1,
657
+ "propertyNames": {
658
+ "pattern": "^\\d+$"
659
+ },
660
+ "additionalProperties": {
661
+ "type": "string",
662
+ "format": "uri",
663
+ "pattern": "^https://"
664
+ }
665
+ }
666
+ }
667
+ }
668
+ }
669
+ }
670
+ },
671
+ "shop": {
672
+ "type": "array",
673
+ "minItems": 1,
674
+ "uniqueItems": true,
675
+ "items": {
676
+ "type": "object",
677
+ "additionalProperties": false,
678
+ "required": [
679
+ "id",
680
+ "alt",
681
+ "urls"
682
+ ],
683
+ "properties": {
684
+ "id": {
685
+ "type": "string",
686
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
687
+ },
688
+ "alt": {
689
+ "type": "object",
690
+ "additionalProperties": false,
691
+ "required": [
692
+ "fr",
693
+ "en"
694
+ ],
695
+ "properties": {
696
+ "fr": {
697
+ "type": "string",
698
+ "minLength": 1
699
+ },
700
+ "en": {
701
+ "type": "string",
702
+ "minLength": 1
703
+ }
704
+ }
705
+ },
706
+ "disabled": {
707
+ "const": true
708
+ },
709
+ "urls": {
710
+ "type": "object",
711
+ "additionalProperties": false,
712
+ "required": [
713
+ "webp"
714
+ ],
715
+ "properties": {
716
+ "svg": {
717
+ "type": "string",
718
+ "format": "uri",
719
+ "pattern": "^https://"
720
+ },
721
+ "webp": {
722
+ "type": "object",
723
+ "minProperties": 1,
724
+ "propertyNames": {
725
+ "pattern": "^\\d+$"
726
+ },
727
+ "additionalProperties": {
728
+ "type": "string",
729
+ "format": "uri",
730
+ "pattern": "^https://"
731
+ }
732
+ }
733
+ }
734
+ }
735
+ }
736
+ }
737
+ },
738
+ "banner": {
739
+ "type": "array",
740
+ "minItems": 1,
741
+ "uniqueItems": true,
742
+ "items": {
743
+ "type": "object",
744
+ "additionalProperties": false,
745
+ "required": [
746
+ "id",
747
+ "alt",
748
+ "urls"
749
+ ],
750
+ "properties": {
751
+ "id": {
752
+ "type": "string",
753
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
754
+ },
755
+ "alt": {
756
+ "type": "object",
757
+ "additionalProperties": false,
758
+ "required": [
759
+ "fr",
760
+ "en"
761
+ ],
762
+ "properties": {
763
+ "fr": {
764
+ "type": "string",
765
+ "minLength": 1
766
+ },
767
+ "en": {
768
+ "type": "string",
769
+ "minLength": 1
770
+ }
771
+ }
772
+ },
773
+ "disabled": {
774
+ "const": true
775
+ },
776
+ "urls": {
777
+ "type": "object",
778
+ "additionalProperties": false,
779
+ "required": [
780
+ "webp"
781
+ ],
782
+ "properties": {
783
+ "svg": {
784
+ "type": "string",
785
+ "format": "uri",
786
+ "pattern": "^https://"
787
+ },
788
+ "webp": {
789
+ "type": "object",
790
+ "minProperties": 1,
791
+ "propertyNames": {
792
+ "pattern": "^\\d+$"
793
+ },
794
+ "additionalProperties": {
795
+ "type": "string",
796
+ "format": "uri",
797
+ "pattern": "^https://"
798
+ }
799
+ }
800
+ }
801
+ }
802
+ }
803
+ }
804
+ }
805
+ }
806
+ }
807
+ }
808
+ },
419
809
  "products": {
420
810
  "type": "array",
421
811
  "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.1",
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",