@forge/manifest 3.5.0-next.3 → 3.5.0-next.6
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/CHANGELOG.md +23 -0
- package/out/schema/manifest-schema.json +96 -65
- package/out/schema/manifest.d.ts +58 -30
- package/out/text/errors.d.ts +2 -3
- package/out/text/errors.d.ts.map +1 -1
- package/out/text/errors.js +2 -3
- package/out/validators/modules-validator.js +2 -2
- package/out/validators/modules-validators/confluence/index.d.ts +4 -0
- package/out/validators/modules-validators/confluence/index.d.ts.map +1 -0
- package/out/validators/modules-validators/confluence/index.js +22 -0
- package/out/validators/modules-validators/confluence/validatePropertyUniqueness.d.ts +4 -0
- package/out/validators/modules-validators/confluence/validatePropertyUniqueness.d.ts.map +1 -0
- package/out/validators/modules-validators/confluence/validatePropertyUniqueness.js +17 -0
- package/out/validators/modules-validators/confluence/validateSingleProperty.d.ts +4 -0
- package/out/validators/modules-validators/confluence/validateSingleProperty.d.ts.map +1 -0
- package/out/validators/modules-validators/confluence/validateSingleProperty.js +15 -0
- package/package.json +1 -1
- package/out/validators/modules-validators/confluence/global-settings.d.ts +0 -5
- package/out/validators/modules-validators/confluence/global-settings.d.ts.map +0 -1
- package/out/validators/modules-validators/confluence/global-settings.js +0 -24
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @forge/manifest
|
|
2
2
|
|
|
3
|
+
## 3.5.0-next.6
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- f3ac287: [CONFDEV-79900] Add manifest validation for confluence:spaceSettings, confluence:globalPage, confluence:spacePage to ensure that route param is unique
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 0accde8: Update manifest definitions
|
|
12
|
+
- ffb508a: Update manifest definitions
|
|
13
|
+
|
|
14
|
+
## 3.5.0-next.5
|
|
15
|
+
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- d196b41: [CONFDEV-79785] Add manifest validation for confluence:globalSettings new, optional, useAsGetStarted property to ensure it's only designated once
|
|
19
|
+
|
|
20
|
+
## 3.5.0-next.4
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- e411a29: Update manifest definitions
|
|
25
|
+
|
|
3
26
|
## 3.5.0-next.3
|
|
4
27
|
|
|
5
28
|
### Minor Changes
|
|
@@ -1020,6 +1020,12 @@
|
|
|
1020
1020
|
"minLength": 1,
|
|
1021
1021
|
"maxLength": 255
|
|
1022
1022
|
},
|
|
1023
|
+
"route": {
|
|
1024
|
+
"type": "string",
|
|
1025
|
+
"minLength": 1,
|
|
1026
|
+
"maxLength": 255,
|
|
1027
|
+
"pattern": "^[a-z0-9\\-]+$"
|
|
1028
|
+
},
|
|
1023
1029
|
"function": {
|
|
1024
1030
|
"type": "string",
|
|
1025
1031
|
"minLength": 1,
|
|
@@ -1047,6 +1053,12 @@
|
|
|
1047
1053
|
"minLength": 1,
|
|
1048
1054
|
"maxLength": 255
|
|
1049
1055
|
},
|
|
1056
|
+
"route": {
|
|
1057
|
+
"type": "string",
|
|
1058
|
+
"minLength": 1,
|
|
1059
|
+
"maxLength": 255,
|
|
1060
|
+
"pattern": "^[a-z0-9\\-]+$"
|
|
1061
|
+
},
|
|
1050
1062
|
"resolver": {
|
|
1051
1063
|
"additionalProperties": false,
|
|
1052
1064
|
"type": "object",
|
|
@@ -1116,6 +1128,11 @@
|
|
|
1116
1128
|
"default": false,
|
|
1117
1129
|
"description": "A flag indicating whether this settings instance will be used as the app's configuration"
|
|
1118
1130
|
},
|
|
1131
|
+
"useAsGetStarted": {
|
|
1132
|
+
"type": "boolean",
|
|
1133
|
+
"default": false,
|
|
1134
|
+
"description": "A flag indicating whether this settings instance will be used as the app's \"Get Started\""
|
|
1135
|
+
},
|
|
1119
1136
|
"key": {
|
|
1120
1137
|
"$ref": "#/definitions/ModuleKeySchema"
|
|
1121
1138
|
}
|
|
@@ -1168,6 +1185,11 @@
|
|
|
1168
1185
|
"default": false,
|
|
1169
1186
|
"description": "A flag indicating whether this settings instance will be used as the app's configuration"
|
|
1170
1187
|
},
|
|
1188
|
+
"useAsGetStarted": {
|
|
1189
|
+
"type": "boolean",
|
|
1190
|
+
"default": false,
|
|
1191
|
+
"description": "A flag indicating whether this settings instance will be used as the app's \"Get Started\""
|
|
1192
|
+
},
|
|
1171
1193
|
"key": {
|
|
1172
1194
|
"$ref": "#/definitions/ModuleKeySchema"
|
|
1173
1195
|
}
|
|
@@ -1315,7 +1337,22 @@
|
|
|
1315
1337
|
"type": "string"
|
|
1316
1338
|
},
|
|
1317
1339
|
"errorMessage": {
|
|
1318
|
-
"
|
|
1340
|
+
"anyOf": [
|
|
1341
|
+
{
|
|
1342
|
+
"type": "object",
|
|
1343
|
+
"properties": {
|
|
1344
|
+
"expression": {
|
|
1345
|
+
"type": "string"
|
|
1346
|
+
}
|
|
1347
|
+
},
|
|
1348
|
+
"required": [
|
|
1349
|
+
"expression"
|
|
1350
|
+
]
|
|
1351
|
+
},
|
|
1352
|
+
{
|
|
1353
|
+
"type": "string"
|
|
1354
|
+
}
|
|
1355
|
+
]
|
|
1319
1356
|
},
|
|
1320
1357
|
"view": {
|
|
1321
1358
|
"type": "object",
|
|
@@ -2779,63 +2816,64 @@
|
|
|
2779
2816
|
{
|
|
2780
2817
|
"type": "object",
|
|
2781
2818
|
"properties": {
|
|
2819
|
+
"function": {
|
|
2820
|
+
"type": "string",
|
|
2821
|
+
"minLength": 1,
|
|
2822
|
+
"maxLength": 255,
|
|
2823
|
+
"pattern": "^[a-zA-Z0-9-_]+$"
|
|
2824
|
+
},
|
|
2825
|
+
"edit": {
|
|
2826
|
+
"type": "object",
|
|
2827
|
+
"properties": {
|
|
2828
|
+
"function": {
|
|
2829
|
+
"type": "string",
|
|
2830
|
+
"minLength": 1,
|
|
2831
|
+
"maxLength": 255,
|
|
2832
|
+
"pattern": "^[a-zA-Z0-9-_]+$"
|
|
2833
|
+
}
|
|
2834
|
+
},
|
|
2835
|
+
"required": [
|
|
2836
|
+
"function"
|
|
2837
|
+
]
|
|
2838
|
+
},
|
|
2782
2839
|
"title": {
|
|
2783
|
-
"
|
|
2840
|
+
"minLength": 1,
|
|
2841
|
+
"maxLength": 255,
|
|
2842
|
+
"anyOf": [
|
|
2784
2843
|
{
|
|
2785
2844
|
"type": "object",
|
|
2786
2845
|
"properties": {
|
|
2787
2846
|
"text": {
|
|
2788
|
-
"type": "string",
|
|
2789
2847
|
"minLength": 1,
|
|
2790
|
-
"maxLength": 255
|
|
2848
|
+
"maxLength": 255,
|
|
2849
|
+
"type": "string"
|
|
2791
2850
|
},
|
|
2792
2851
|
"href": {
|
|
2793
|
-
"type": "string",
|
|
2794
2852
|
"minLength": 1,
|
|
2795
|
-
"maxLength": 1000
|
|
2853
|
+
"maxLength": 1000,
|
|
2854
|
+
"type": "string"
|
|
2796
2855
|
}
|
|
2797
2856
|
},
|
|
2798
2857
|
"required": [
|
|
2858
|
+
"href",
|
|
2799
2859
|
"text"
|
|
2800
2860
|
]
|
|
2801
2861
|
},
|
|
2802
2862
|
{
|
|
2803
|
-
"type": "string"
|
|
2804
|
-
"minLength": 1,
|
|
2805
|
-
"maxLength": 255
|
|
2863
|
+
"type": "string"
|
|
2806
2864
|
}
|
|
2807
2865
|
]
|
|
2808
2866
|
},
|
|
2809
2867
|
"description": {
|
|
2810
|
-
"type": "string",
|
|
2811
2868
|
"minLength": 1,
|
|
2812
|
-
"maxLength": 255
|
|
2869
|
+
"maxLength": 255,
|
|
2870
|
+
"type": "string"
|
|
2813
2871
|
},
|
|
2814
2872
|
"thumbnail": {
|
|
2815
2873
|
"type": "string",
|
|
2816
2874
|
"minLength": 1,
|
|
2817
2875
|
"maxLength": 255
|
|
2818
2876
|
},
|
|
2819
|
-
"function": {
|
|
2820
|
-
"type": "string",
|
|
2821
|
-
"minLength": 1,
|
|
2822
|
-
"maxLength": 255,
|
|
2823
|
-
"pattern": "^[a-zA-Z0-9-_]+$"
|
|
2824
|
-
},
|
|
2825
|
-
"edit": {
|
|
2826
|
-
"type": "object",
|
|
2827
|
-
"properties": {
|
|
2828
|
-
"function": {
|
|
2829
|
-
"type": "string",
|
|
2830
|
-
"minLength": 1,
|
|
2831
|
-
"maxLength": 255,
|
|
2832
|
-
"pattern": "^[a-zA-Z0-9-_]+$"
|
|
2833
|
-
}
|
|
2834
|
-
},
|
|
2835
|
-
"required": [
|
|
2836
|
-
"function"
|
|
2837
|
-
]
|
|
2838
|
-
},
|
|
2839
2877
|
"displayConditions": {
|
|
2840
2878
|
"type": "object",
|
|
2841
2879
|
"properties": {}
|
|
@@ -2845,10 +2883,9 @@
|
|
|
2845
2883
|
}
|
|
2846
2884
|
},
|
|
2847
2885
|
"required": [
|
|
2848
|
-
"title",
|
|
2849
2886
|
"description",
|
|
2850
|
-
"thumbnail",
|
|
2851
2887
|
"function",
|
|
2888
|
+
"title",
|
|
2852
2889
|
"key"
|
|
2853
2890
|
]
|
|
2854
2891
|
},
|
|
@@ -2876,63 +2913,58 @@
|
|
|
2876
2913
|
"function"
|
|
2877
2914
|
]
|
|
2878
2915
|
},
|
|
2916
|
+
"edit": {
|
|
2917
|
+
"type": "object",
|
|
2918
|
+
"properties": {
|
|
2919
|
+
"resource": {
|
|
2920
|
+
"type": "string",
|
|
2921
|
+
"minLength": 1,
|
|
2922
|
+
"maxLength": 23,
|
|
2923
|
+
"pattern": "^[a-zA-Z0-9_\\-]+$"
|
|
2924
|
+
}
|
|
2925
|
+
},
|
|
2926
|
+
"required": [
|
|
2927
|
+
"resource"
|
|
2928
|
+
]
|
|
2929
|
+
},
|
|
2879
2930
|
"title": {
|
|
2880
|
-
"
|
|
2931
|
+
"minLength": 1,
|
|
2932
|
+
"maxLength": 255,
|
|
2933
|
+
"anyOf": [
|
|
2881
2934
|
{
|
|
2882
2935
|
"type": "object",
|
|
2883
2936
|
"properties": {
|
|
2884
2937
|
"text": {
|
|
2885
|
-
"type": "string",
|
|
2886
2938
|
"minLength": 1,
|
|
2887
|
-
"maxLength": 255
|
|
2939
|
+
"maxLength": 255,
|
|
2940
|
+
"type": "string"
|
|
2888
2941
|
},
|
|
2889
2942
|
"href": {
|
|
2890
|
-
"type": "string",
|
|
2891
2943
|
"minLength": 1,
|
|
2892
|
-
"maxLength": 1000
|
|
2944
|
+
"maxLength": 1000,
|
|
2945
|
+
"type": "string"
|
|
2893
2946
|
}
|
|
2894
2947
|
},
|
|
2895
2948
|
"required": [
|
|
2949
|
+
"href",
|
|
2896
2950
|
"text"
|
|
2897
2951
|
]
|
|
2898
2952
|
},
|
|
2899
2953
|
{
|
|
2900
|
-
"type": "string"
|
|
2901
|
-
"minLength": 1,
|
|
2902
|
-
"maxLength": 255
|
|
2954
|
+
"type": "string"
|
|
2903
2955
|
}
|
|
2904
2956
|
]
|
|
2905
2957
|
},
|
|
2906
2958
|
"description": {
|
|
2907
|
-
"type": "string",
|
|
2908
2959
|
"minLength": 1,
|
|
2909
|
-
"maxLength": 255
|
|
2960
|
+
"maxLength": 255,
|
|
2961
|
+
"type": "string"
|
|
2910
2962
|
},
|
|
2911
2963
|
"thumbnail": {
|
|
2912
2964
|
"type": "string",
|
|
2913
2965
|
"minLength": 1,
|
|
2914
2966
|
"maxLength": 255
|
|
2915
2967
|
},
|
|
2916
|
-
"function": {
|
|
2917
|
-
"type": "string",
|
|
2918
|
-
"minLength": 1,
|
|
2919
|
-
"maxLength": 255,
|
|
2920
|
-
"pattern": "^[a-zA-Z0-9-_]+$"
|
|
2921
|
-
},
|
|
2922
|
-
"edit": {
|
|
2923
|
-
"type": "object",
|
|
2924
|
-
"properties": {
|
|
2925
|
-
"resource": {
|
|
2926
|
-
"type": "string",
|
|
2927
|
-
"minLength": 1,
|
|
2928
|
-
"maxLength": 23,
|
|
2929
|
-
"pattern": "^[a-zA-Z0-9_\\-]+$"
|
|
2930
|
-
}
|
|
2931
|
-
},
|
|
2932
|
-
"required": [
|
|
2933
|
-
"resource"
|
|
2934
|
-
]
|
|
2935
|
-
},
|
|
2936
2968
|
"displayConditions": {
|
|
2937
2969
|
"type": "object",
|
|
2938
2970
|
"properties": {}
|
|
@@ -2942,10 +2974,9 @@
|
|
|
2942
2974
|
}
|
|
2943
2975
|
},
|
|
2944
2976
|
"required": [
|
|
2945
|
-
"title",
|
|
2946
2977
|
"description",
|
|
2947
|
-
"thumbnail",
|
|
2948
2978
|
"resource",
|
|
2979
|
+
"title",
|
|
2949
2980
|
"key"
|
|
2950
2981
|
]
|
|
2951
2982
|
}
|
package/out/schema/manifest.d.ts
CHANGED
|
@@ -609,6 +609,7 @@ export interface Modules {
|
|
|
609
609
|
(
|
|
610
610
|
| {
|
|
611
611
|
title: string;
|
|
612
|
+
route?: string;
|
|
612
613
|
function: string;
|
|
613
614
|
displayConditions?: {
|
|
614
615
|
[k: string]: unknown;
|
|
@@ -618,6 +619,7 @@ export interface Modules {
|
|
|
618
619
|
}
|
|
619
620
|
| {
|
|
620
621
|
title: string;
|
|
622
|
+
route?: string;
|
|
621
623
|
resolver?: {
|
|
622
624
|
function: string;
|
|
623
625
|
};
|
|
@@ -633,6 +635,7 @@ export interface Modules {
|
|
|
633
635
|
...(
|
|
634
636
|
| {
|
|
635
637
|
title: string;
|
|
638
|
+
route?: string;
|
|
636
639
|
function: string;
|
|
637
640
|
displayConditions?: {
|
|
638
641
|
[k: string]: unknown;
|
|
@@ -642,6 +645,7 @@ export interface Modules {
|
|
|
642
645
|
}
|
|
643
646
|
| {
|
|
644
647
|
title: string;
|
|
648
|
+
route?: string;
|
|
645
649
|
resolver?: {
|
|
646
650
|
function: string;
|
|
647
651
|
};
|
|
@@ -667,6 +671,10 @@ export interface Modules {
|
|
|
667
671
|
* A flag indicating whether this settings instance will be used as the app's configuration
|
|
668
672
|
*/
|
|
669
673
|
useAsConfig?: boolean;
|
|
674
|
+
/**
|
|
675
|
+
* A flag indicating whether this settings instance will be used as the app's "Get Started"
|
|
676
|
+
*/
|
|
677
|
+
useAsGetStarted?: boolean;
|
|
670
678
|
key: ModuleKeySchema;
|
|
671
679
|
[k: string]: unknown;
|
|
672
680
|
}
|
|
@@ -684,6 +692,10 @@ export interface Modules {
|
|
|
684
692
|
* A flag indicating whether this settings instance will be used as the app's configuration
|
|
685
693
|
*/
|
|
686
694
|
useAsConfig?: boolean;
|
|
695
|
+
/**
|
|
696
|
+
* A flag indicating whether this settings instance will be used as the app's "Get Started"
|
|
697
|
+
*/
|
|
698
|
+
useAsGetStarted?: boolean;
|
|
687
699
|
key: ModuleKeySchema;
|
|
688
700
|
[k: string]: unknown;
|
|
689
701
|
}
|
|
@@ -699,6 +711,10 @@ export interface Modules {
|
|
|
699
711
|
* A flag indicating whether this settings instance will be used as the app's configuration
|
|
700
712
|
*/
|
|
701
713
|
useAsConfig?: boolean;
|
|
714
|
+
/**
|
|
715
|
+
* A flag indicating whether this settings instance will be used as the app's "Get Started"
|
|
716
|
+
*/
|
|
717
|
+
useAsGetStarted?: boolean;
|
|
702
718
|
key: ModuleKeySchema;
|
|
703
719
|
[k: string]: unknown;
|
|
704
720
|
}
|
|
@@ -716,6 +732,10 @@ export interface Modules {
|
|
|
716
732
|
* A flag indicating whether this settings instance will be used as the app's configuration
|
|
717
733
|
*/
|
|
718
734
|
useAsConfig?: boolean;
|
|
735
|
+
/**
|
|
736
|
+
* A flag indicating whether this settings instance will be used as the app's "Get Started"
|
|
737
|
+
*/
|
|
738
|
+
useAsGetStarted?: boolean;
|
|
719
739
|
key: ModuleKeySchema;
|
|
720
740
|
[k: string]: unknown;
|
|
721
741
|
}
|
|
@@ -781,7 +801,12 @@ export interface Modules {
|
|
|
781
801
|
description: string;
|
|
782
802
|
function?: string;
|
|
783
803
|
expression?: string;
|
|
784
|
-
errorMessage?:
|
|
804
|
+
errorMessage?:
|
|
805
|
+
| {
|
|
806
|
+
expression: string;
|
|
807
|
+
[k: string]: unknown;
|
|
808
|
+
}
|
|
809
|
+
| string;
|
|
785
810
|
view?: {
|
|
786
811
|
resource: string;
|
|
787
812
|
[k: string]: unknown;
|
|
@@ -802,7 +827,12 @@ export interface Modules {
|
|
|
802
827
|
description: string;
|
|
803
828
|
function?: string;
|
|
804
829
|
expression?: string;
|
|
805
|
-
errorMessage?:
|
|
830
|
+
errorMessage?:
|
|
831
|
+
| {
|
|
832
|
+
expression: string;
|
|
833
|
+
[k: string]: unknown;
|
|
834
|
+
}
|
|
835
|
+
| string;
|
|
806
836
|
view?: {
|
|
807
837
|
resource: string;
|
|
808
838
|
[k: string]: unknown;
|
|
@@ -1584,20 +1614,20 @@ export interface Modules {
|
|
|
1584
1614
|
'jira:dashboardGadget'?: [
|
|
1585
1615
|
(
|
|
1586
1616
|
| {
|
|
1617
|
+
function: string;
|
|
1618
|
+
edit?: {
|
|
1619
|
+
function: string;
|
|
1620
|
+
[k: string]: unknown;
|
|
1621
|
+
};
|
|
1587
1622
|
title:
|
|
1588
1623
|
| {
|
|
1589
1624
|
text: string;
|
|
1590
|
-
href
|
|
1625
|
+
href: string;
|
|
1591
1626
|
[k: string]: unknown;
|
|
1592
1627
|
}
|
|
1593
1628
|
| string;
|
|
1594
1629
|
description: string;
|
|
1595
|
-
thumbnail
|
|
1596
|
-
function: string;
|
|
1597
|
-
edit?: {
|
|
1598
|
-
function: string;
|
|
1599
|
-
[k: string]: unknown;
|
|
1600
|
-
};
|
|
1630
|
+
thumbnail?: string;
|
|
1601
1631
|
displayConditions?: {
|
|
1602
1632
|
[k: string]: unknown;
|
|
1603
1633
|
};
|
|
@@ -1609,20 +1639,19 @@ export interface Modules {
|
|
|
1609
1639
|
resolver?: {
|
|
1610
1640
|
function: string;
|
|
1611
1641
|
};
|
|
1642
|
+
edit?: {
|
|
1643
|
+
resource: string;
|
|
1644
|
+
[k: string]: unknown;
|
|
1645
|
+
};
|
|
1612
1646
|
title:
|
|
1613
1647
|
| {
|
|
1614
1648
|
text: string;
|
|
1615
|
-
href
|
|
1649
|
+
href: string;
|
|
1616
1650
|
[k: string]: unknown;
|
|
1617
1651
|
}
|
|
1618
1652
|
| string;
|
|
1619
1653
|
description: string;
|
|
1620
|
-
thumbnail
|
|
1621
|
-
function?: string;
|
|
1622
|
-
edit?: {
|
|
1623
|
-
resource: string;
|
|
1624
|
-
[k: string]: unknown;
|
|
1625
|
-
};
|
|
1654
|
+
thumbnail?: string;
|
|
1626
1655
|
displayConditions?: {
|
|
1627
1656
|
[k: string]: unknown;
|
|
1628
1657
|
};
|
|
@@ -1632,20 +1661,20 @@ export interface Modules {
|
|
|
1632
1661
|
),
|
|
1633
1662
|
...(
|
|
1634
1663
|
| {
|
|
1664
|
+
function: string;
|
|
1665
|
+
edit?: {
|
|
1666
|
+
function: string;
|
|
1667
|
+
[k: string]: unknown;
|
|
1668
|
+
};
|
|
1635
1669
|
title:
|
|
1636
1670
|
| {
|
|
1637
1671
|
text: string;
|
|
1638
|
-
href
|
|
1672
|
+
href: string;
|
|
1639
1673
|
[k: string]: unknown;
|
|
1640
1674
|
}
|
|
1641
1675
|
| string;
|
|
1642
1676
|
description: string;
|
|
1643
|
-
thumbnail
|
|
1644
|
-
function: string;
|
|
1645
|
-
edit?: {
|
|
1646
|
-
function: string;
|
|
1647
|
-
[k: string]: unknown;
|
|
1648
|
-
};
|
|
1677
|
+
thumbnail?: string;
|
|
1649
1678
|
displayConditions?: {
|
|
1650
1679
|
[k: string]: unknown;
|
|
1651
1680
|
};
|
|
@@ -1657,20 +1686,19 @@ export interface Modules {
|
|
|
1657
1686
|
resolver?: {
|
|
1658
1687
|
function: string;
|
|
1659
1688
|
};
|
|
1689
|
+
edit?: {
|
|
1690
|
+
resource: string;
|
|
1691
|
+
[k: string]: unknown;
|
|
1692
|
+
};
|
|
1660
1693
|
title:
|
|
1661
1694
|
| {
|
|
1662
1695
|
text: string;
|
|
1663
|
-
href
|
|
1696
|
+
href: string;
|
|
1664
1697
|
[k: string]: unknown;
|
|
1665
1698
|
}
|
|
1666
1699
|
| string;
|
|
1667
1700
|
description: string;
|
|
1668
|
-
thumbnail
|
|
1669
|
-
function?: string;
|
|
1670
|
-
edit?: {
|
|
1671
|
-
resource: string;
|
|
1672
|
-
[k: string]: unknown;
|
|
1673
|
-
};
|
|
1701
|
+
thumbnail?: string;
|
|
1674
1702
|
displayConditions?: {
|
|
1675
1703
|
[k: string]: unknown;
|
|
1676
1704
|
};
|
package/out/text/errors.d.ts
CHANGED
|
@@ -34,9 +34,8 @@ export declare const errors: {
|
|
|
34
34
|
typeMismatch: (moduleKey: string, propertyName: string, errorDetails: string) => string;
|
|
35
35
|
};
|
|
36
36
|
confluence: {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
};
|
|
37
|
+
multipleProperty: (property: string, moduleKey: string, keys: string[]) => string;
|
|
38
|
+
propertyUniquenessValidator: (property: string, moduleKey: string, keys: string[]) => string;
|
|
40
39
|
};
|
|
41
40
|
jiraWorkflowValidator: {
|
|
42
41
|
missingProperty: (key: string) => string;
|
package/out/text/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;8BACS,MAAM,KAAG,MAAM;2BACpB,MAAM;yBAEN,MAAM,GAAG,SAAS,QAAQ,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS,KAAG,MAAM;;uBAO3E,MAAM,EAAE,EAAE,GAAG,SAAS,KAAG,MAAM;4BAI1B,MAAM,EAAE,KAAG,MAAM;mCACV,MAAM,SAAS,MAAM,0CAA4B,MAAM;mDAIvC,MAAM,KAAG,MAAM;;;qCAI7B,MAAM,SAAS,MAAM,KAAG,MAAM;4CAEvB,MAAM,SAAS,MAAM,KAAG,MAAM;wCAElC,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM;;;uCAMjC,MAAM,KAAG,MAAM;oCACpB,MAAM;iCAEP,MAAM,KAAG,MAAM;4CACJ,MAAM,KAAG,MAAM;;;gCAG3B,MAAM,KAAG,MAAM;6BACpB,MAAM;+BACJ,MAAM;iCACF,MAAM,KAAG,MAAM;yCACP,MAAM,eAAe,MAAM,KAAG,MAAM;yCAEpC,MAAM,eAAe,MAAM,KAAG,MAAM;6CAEhC,MAAM,KAAG,MAAM;;yCAGrB,MAAM,KAAG,MAAM;iCAEvB,MAAM,KAAG,MAAM;4CACJ,MAAM,gBAAgB,MAAM,KAAG,MAAM;sCAE3C,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,KAAG,MAAM
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;8BACS,MAAM,KAAG,MAAM;2BACpB,MAAM;yBAEN,MAAM,GAAG,SAAS,QAAQ,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS,KAAG,MAAM;;uBAO3E,MAAM,EAAE,EAAE,GAAG,SAAS,KAAG,MAAM;4BAI1B,MAAM,EAAE,KAAG,MAAM;mCACV,MAAM,SAAS,MAAM,0CAA4B,MAAM;mDAIvC,MAAM,KAAG,MAAM;;;qCAI7B,MAAM,SAAS,MAAM,KAAG,MAAM;4CAEvB,MAAM,SAAS,MAAM,KAAG,MAAM;wCAElC,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM;;;uCAMjC,MAAM,KAAG,MAAM;oCACpB,MAAM;iCAEP,MAAM,KAAG,MAAM;4CACJ,MAAM,KAAG,MAAM;;;gCAG3B,MAAM,KAAG,MAAM;6BACpB,MAAM;+BACJ,MAAM;iCACF,MAAM,KAAG,MAAM;yCACP,MAAM,eAAe,MAAM,KAAG,MAAM;yCAEpC,MAAM,eAAe,MAAM,KAAG,MAAM;6CAEhC,MAAM,KAAG,MAAM;;yCAGrB,MAAM,KAAG,MAAM;iCAEvB,MAAM,KAAG,MAAM;4CACJ,MAAM,gBAAgB,MAAM,KAAG,MAAM;sCAE3C,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,KAAG,MAAM;;;yCAIxD,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;oDAIvC,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;;;mCAInE,MAAM,KAAG,MAAM;mCAEf,MAAM,KAAG,MAAM;;;qCAIb,MAAM,KAAG,MAAM;;;0CAIV,MAAM,KAAG,MAAM;;;mCAItB,MAAM,EAAE,KAAG,MAAM;;;qCAIf,MAAM,KAAG,MAAM;2CAET,MAAM,KAAG,MAAM;;;oCAGtB,MAAM,KAAG,MAAM;;oCAEjB,MAAM,SAAS,MAAM,KAAG,MAAM;qCAI7B,MAAM,YAAY,MAAM,KAAG,MAAM;;;;;mCAQ/B,MAAM,OAAO,MAAM,KAAG,MAAM;iCAE9B,MAAM,OAAO,MAAM,KAAG,MAAM;oCAEzB,MAAM,OAAO,MAAM,KAAG,MAAM;gDAEhB,MAAM,KAAG,MAAM;uCAExB,MAAM,KAAG,MAAM;;;;;;;;kCAQpB,MAAM,UAAU,MAAM,KAAG,MAAM;gCAEjC,MAAM,KAAG,MAAM;2CAEJ,MAAM,eAAe,MAAM,KAAG,MAAM;;;uCAI1C,MAAM;uCAEJ,MAAM,KAAG,MAAM;qCAEnB,MAAM;;CAGpC,CAAC;AAEF,oBAAY,UAAU;IACpB,eAAe,2BAA2B;IAC1C,eAAe,wBAAwB;IACvC,WAAW,4BAA4B;IACvC,WAAW,+BAA+B;IAC1C,aAAa,8BAA8B;IAC3C,OAAO,0BAA0B;IACjC,cAAc,kCAAkC;IAChD,mBAAmB,0BAA0B;IAC7C,SAAS,4BAA4B;IACrC,SAAS,4BAA4B;IACrC,UAAU,wBAAwB;IAClC,GAAG,8BAA8B;CAClC"}
|
package/out/text/errors.js
CHANGED
|
@@ -46,9 +46,8 @@ exports.errors = {
|
|
|
46
46
|
typeMismatch: (moduleKey, propertyName, errorDetails) => `Display conditions of the "${moduleKey}" module are invalid. "${propertyName}" property ${errorDetails}.`
|
|
47
47
|
},
|
|
48
48
|
confluence: {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
49
|
+
multipleProperty: (property, moduleKey, keys) => `There can be only 1 ${moduleKey} module which designates "${property}": true. Modules containing designation: ${keys.join(', ')}`,
|
|
50
|
+
propertyUniquenessValidator: (property, moduleKey, keys) => `${property} should be unique across all ${moduleKey} modules. Found duplicates: ${keys.join(', ')}`
|
|
52
51
|
},
|
|
53
52
|
jiraWorkflowValidator: {
|
|
54
53
|
missingProperty: (key) => `${types_1.AllModuleTypes.JiraWorkflowValidator} module '${key}' must have either a function or expression.`,
|
|
@@ -7,7 +7,7 @@ const text_1 = require("../text");
|
|
|
7
7
|
const fs_1 = require("fs");
|
|
8
8
|
const path_1 = require("path");
|
|
9
9
|
const issue_adjustment_1 = require("./modules-validators/jira/issue-adjustment");
|
|
10
|
-
const
|
|
10
|
+
const confluence_1 = require("./modules-validators/confluence");
|
|
11
11
|
class ModulesValidator {
|
|
12
12
|
constructor() {
|
|
13
13
|
this.functionHandlerRegex = /^([a-zA-Z0-9-_]+)\.([a-zA-Z0-9-_]+)$/;
|
|
@@ -129,7 +129,7 @@ class ModulesValidator {
|
|
|
129
129
|
}
|
|
130
130
|
});
|
|
131
131
|
});
|
|
132
|
-
validationErrors.push(...
|
|
132
|
+
validationErrors.push(...confluence_1.validateConfluenceModules(modules, yamlContentByLine));
|
|
133
133
|
}
|
|
134
134
|
return {
|
|
135
135
|
success: validationErrors.length === 0,
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Modules } from '../../../schema/manifest';
|
|
2
|
+
import { ValidationError } from '../../../types';
|
|
3
|
+
export declare const validateConfluenceModules: (modules: Modules, yamlContentByLine?: string[] | undefined) => ValidationError[];
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAQjE,eAAO,MAAM,yBAAyB,YAAa,OAAO,+CAAiC,eAAe,EAkBzG,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateConfluenceModules = void 0;
|
|
4
|
+
const types_1 = require("../../../types");
|
|
5
|
+
const validateSingleProperty_1 = require("./validateSingleProperty");
|
|
6
|
+
const validatePropertyUniqueness_1 = require("./validatePropertyUniqueness");
|
|
7
|
+
const ROUTE = 'route';
|
|
8
|
+
const USE_AS_CONFIG = 'useAsConfig';
|
|
9
|
+
const USE_AS_GET_STARTED = 'useAsGetStarted';
|
|
10
|
+
exports.validateConfluenceModules = (modules, yamlContentByLine) => {
|
|
11
|
+
const validationErrors = [];
|
|
12
|
+
[
|
|
13
|
+
types_1.AllModuleTypes.ConfluenceSpaceSettings,
|
|
14
|
+
types_1.AllModuleTypes.ConfluenceGlobalPage,
|
|
15
|
+
types_1.AllModuleTypes.ConfluenceSpacePage
|
|
16
|
+
].forEach((moduleType) => {
|
|
17
|
+
validationErrors.push(...validatePropertyUniqueness_1.validatePropertyUniqueness(modules, moduleType, ROUTE, yamlContentByLine));
|
|
18
|
+
});
|
|
19
|
+
validationErrors.push(...validateSingleProperty_1.validateSingleProperty(modules, types_1.AllModuleTypes.ConfluenceGlobalSettings, USE_AS_CONFIG, yamlContentByLine));
|
|
20
|
+
validationErrors.push(...validateSingleProperty_1.validateSingleProperty(modules, types_1.AllModuleTypes.ConfluenceGlobalSettings, USE_AS_GET_STARTED, yamlContentByLine));
|
|
21
|
+
return validationErrors;
|
|
22
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AllModuleTypes, ValidationError } from '../../../types';
|
|
2
|
+
import { Modules } from '../../../schema/manifest';
|
|
3
|
+
export declare const validatePropertyUniqueness: (allModules: Modules, moduleType: AllModuleTypes, property: string, yamlContentByLine?: string[] | undefined) => ValidationError[];
|
|
4
|
+
//# sourceMappingURL=validatePropertyUniqueness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validatePropertyUniqueness.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/validatePropertyUniqueness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,eAAO,MAAM,0BAA0B,eACzB,OAAO,cACP,cAAc,YAChB,MAAM,+CAEf,eAAe,EAqBjB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validatePropertyUniqueness = void 0;
|
|
4
|
+
const text_1 = require("../../../text");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
exports.validatePropertyUniqueness = (allModules, moduleType, property, yamlContentByLine) => {
|
|
7
|
+
var _a;
|
|
8
|
+
const validationErrors = [];
|
|
9
|
+
const modules = allModules[moduleType] || [];
|
|
10
|
+
const allPropertyValues = modules.map((module) => module[property]).filter((property) => property);
|
|
11
|
+
const duplicatePropertyValues = allPropertyValues.filter((property, index, all) => all.indexOf(property) !== index);
|
|
12
|
+
if (duplicatePropertyValues.length > 0) {
|
|
13
|
+
const allModulesWithDuplicatedPropertyValues = modules.filter((module) => module[property] === duplicatePropertyValues[0]);
|
|
14
|
+
validationErrors.push(Object.assign({ message: text_1.errors.modules.confluence.propertyUniquenessValidator(property, moduleType, duplicatePropertyValues), reference: text_1.References.Modules, level: 'error' }, utils_1.findPosition((_a = allModulesWithDuplicatedPropertyValues === null || allModulesWithDuplicatedPropertyValues === void 0 ? void 0 : allModulesWithDuplicatedPropertyValues[0]) === null || _a === void 0 ? void 0 : _a.key, yamlContentByLine)));
|
|
15
|
+
}
|
|
16
|
+
return validationErrors;
|
|
17
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AllModuleTypes, ValidationError } from '../../../types';
|
|
2
|
+
import { Modules } from '../../../schema/manifest';
|
|
3
|
+
export declare const validateSingleProperty: (allModules: Modules, moduleType: AllModuleTypes, property: string, yamlContentByLine?: string[] | undefined) => ValidationError[];
|
|
4
|
+
//# sourceMappingURL=validateSingleProperty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateSingleProperty.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/validateSingleProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,eAAO,MAAM,sBAAsB,eACrB,OAAO,cACP,cAAc,YAChB,MAAM,+CAEf,eAAe,EAgBjB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateSingleProperty = void 0;
|
|
4
|
+
const text_1 = require("../../../text");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
exports.validateSingleProperty = (allModules, moduleType, property, yamlContentByLine) => {
|
|
7
|
+
const validationErrors = [];
|
|
8
|
+
const modules = allModules[moduleType] || [];
|
|
9
|
+
const modulesWithProperty = modules.filter((module) => module[property]);
|
|
10
|
+
if (modulesWithProperty.length > 1) {
|
|
11
|
+
const moduleKeys = modulesWithProperty.map((module) => module.key);
|
|
12
|
+
validationErrors.push(Object.assign({ message: text_1.errors.modules.confluence.multipleProperty(property, moduleType, moduleKeys), reference: text_1.References.Modules, level: 'error' }, utils_1.findPosition(moduleKeys[moduleKeys.length - 1], yamlContentByLine)));
|
|
13
|
+
}
|
|
14
|
+
return validationErrors;
|
|
15
|
+
};
|
package/package.json
CHANGED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ValidationError } from '../../../types';
|
|
2
|
-
import { Modules } from '../../../schema/manifest';
|
|
3
|
-
declare const validateGlobalSettingsModule: (modules: Modules, yamlContentByLine?: string[] | undefined) => ValidationError[];
|
|
4
|
-
export { validateGlobalSettingsModule };
|
|
5
|
-
//# sourceMappingURL=global-settings.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"global-settings.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/global-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAwBnD,QAAA,MAAM,4BAA4B,YAAa,OAAO,+CAAiC,eAAe,EASrG,CAAC;AAEF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateGlobalSettingsModule = void 0;
|
|
4
|
-
const types_1 = require("../../../types");
|
|
5
|
-
const text_1 = require("../../../text");
|
|
6
|
-
const utils_1 = require("../../../utils");
|
|
7
|
-
const validateMultipleUseAsConfig = (globalSettingsModules, yamlContentByLine) => {
|
|
8
|
-
const validationErrors = [];
|
|
9
|
-
const globalSettingsModulesUsedAsConfig = globalSettingsModules.filter((module) => module.useAsConfig);
|
|
10
|
-
if (globalSettingsModulesUsedAsConfig.length > 1) {
|
|
11
|
-
const moduleKeys = globalSettingsModulesUsedAsConfig.map((module) => module.key);
|
|
12
|
-
validationErrors.push(Object.assign({ message: text_1.errors.modules.confluence.globalSettingsValidator.multipleUseAsConfig(moduleKeys), reference: text_1.References.Modules, level: 'error' }, utils_1.findPosition(moduleKeys[moduleKeys.length - 1], yamlContentByLine)));
|
|
13
|
-
}
|
|
14
|
-
return validationErrors;
|
|
15
|
-
};
|
|
16
|
-
const validateGlobalSettingsModule = (modules, yamlContentByLine) => {
|
|
17
|
-
const validationErrors = [];
|
|
18
|
-
const globalSettingsModules = modules[types_1.AllModuleTypes.ConfluenceGlobalSettings];
|
|
19
|
-
if (globalSettingsModules) {
|
|
20
|
-
validationErrors.push(...validateMultipleUseAsConfig(globalSettingsModules, yamlContentByLine));
|
|
21
|
-
}
|
|
22
|
-
return validationErrors;
|
|
23
|
-
};
|
|
24
|
-
exports.validateGlobalSettingsModule = validateGlobalSettingsModule;
|