@forge/manifest 4.2.1-next.1 → 4.3.0-next.3
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 +12 -0
- package/out/schema/manifest-schema.json +0 -486
- package/out/schema/manifest.d.ts +0 -45
- package/out/text/errors.d.ts +3 -1
- package/out/text/errors.d.ts.map +1 -1
- package/out/text/errors.js +4 -2
- package/out/validators/modules-validators/confluence/validateKeyboardShortcuts.d.ts.map +1 -1
- package/out/validators/modules-validators/confluence/validateKeyboardShortcuts.js +45 -34
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @forge/manifest
|
|
2
2
|
|
|
3
|
+
## 4.3.0-next.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 47a47a4: Update manifest definitions
|
|
8
|
+
|
|
9
|
+
## 4.3.0-next.2
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 0871a3b: Added validation for Confluence keyboard shortcuts to disallow multiple non-modifier keys and enforce that modifier keys precede the main key being modified.
|
|
14
|
+
|
|
3
15
|
## 4.2.1-next.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -172,11 +172,6 @@
|
|
|
172
172
|
"title": "function",
|
|
173
173
|
"type": "string"
|
|
174
174
|
},
|
|
175
|
-
"predicate": {
|
|
176
|
-
"$ref": "#/definitions/predicate",
|
|
177
|
-
"title": "predicate",
|
|
178
|
-
"description": "The predicate to match against the event payload. Follows the JSON Predicates spec: https://tools.ietf.org/html/draft-snell-json-test-07"
|
|
179
|
-
},
|
|
180
175
|
"key": {
|
|
181
176
|
"$ref": "#/definitions/ModuleKeySchema"
|
|
182
177
|
}
|
|
@@ -12560,96 +12555,6 @@
|
|
|
12560
12555
|
"title": "Array",
|
|
12561
12556
|
"type": "array"
|
|
12562
12557
|
},
|
|
12563
|
-
"ArrayPredicate": {
|
|
12564
|
-
"additionalProperties": false,
|
|
12565
|
-
"properties": {
|
|
12566
|
-
"op": {
|
|
12567
|
-
"enum": [
|
|
12568
|
-
"in",
|
|
12569
|
-
"in-"
|
|
12570
|
-
],
|
|
12571
|
-
"title": "op",
|
|
12572
|
-
"type": "string"
|
|
12573
|
-
},
|
|
12574
|
-
"path": {
|
|
12575
|
-
"$ref": "#/definitions/Path",
|
|
12576
|
-
"title": "path"
|
|
12577
|
-
},
|
|
12578
|
-
"pathType": {
|
|
12579
|
-
"$ref": "#/definitions/PathType",
|
|
12580
|
-
"title": "pathType"
|
|
12581
|
-
},
|
|
12582
|
-
"value": {
|
|
12583
|
-
"$ref": "#/definitions/Array_1",
|
|
12584
|
-
"title": "value"
|
|
12585
|
-
}
|
|
12586
|
-
},
|
|
12587
|
-
"required": [
|
|
12588
|
-
"op",
|
|
12589
|
-
"path",
|
|
12590
|
-
"value"
|
|
12591
|
-
],
|
|
12592
|
-
"title": "ArrayPredicate",
|
|
12593
|
-
"type": "object"
|
|
12594
|
-
},
|
|
12595
|
-
"Array_1": {
|
|
12596
|
-
"items": {},
|
|
12597
|
-
"title": "Array_1",
|
|
12598
|
-
"type": "array"
|
|
12599
|
-
},
|
|
12600
|
-
"Array_2": {
|
|
12601
|
-
"items": {
|
|
12602
|
-
"anyOf": [
|
|
12603
|
-
{
|
|
12604
|
-
"$ref": "#/definitions/StringPredicate"
|
|
12605
|
-
},
|
|
12606
|
-
{
|
|
12607
|
-
"$ref": "#/definitions/NumberPredicate"
|
|
12608
|
-
},
|
|
12609
|
-
{
|
|
12610
|
-
"$ref": "#/definitions/ArrayPredicate"
|
|
12611
|
-
},
|
|
12612
|
-
{
|
|
12613
|
-
"$ref": "#/definitions/DefinedPredicate"
|
|
12614
|
-
},
|
|
12615
|
-
{
|
|
12616
|
-
"$ref": "#/definitions/TestPredicate"
|
|
12617
|
-
},
|
|
12618
|
-
{
|
|
12619
|
-
"$ref": "#/definitions/SecondOrderPredicate"
|
|
12620
|
-
}
|
|
12621
|
-
]
|
|
12622
|
-
},
|
|
12623
|
-
"title": "Array_2",
|
|
12624
|
-
"type": "array"
|
|
12625
|
-
},
|
|
12626
|
-
"DefinedPredicate": {
|
|
12627
|
-
"additionalProperties": false,
|
|
12628
|
-
"properties": {
|
|
12629
|
-
"op": {
|
|
12630
|
-
"enum": [
|
|
12631
|
-
"defined",
|
|
12632
|
-
"undefined"
|
|
12633
|
-
],
|
|
12634
|
-
"title": "op",
|
|
12635
|
-
"type": "string"
|
|
12636
|
-
},
|
|
12637
|
-
"path": {
|
|
12638
|
-
"$ref": "#/definitions/Path",
|
|
12639
|
-
"title": "path"
|
|
12640
|
-
},
|
|
12641
|
-
"pathType": {
|
|
12642
|
-
"$ref": "#/definitions/PathType",
|
|
12643
|
-
"title": "pathType"
|
|
12644
|
-
}
|
|
12645
|
-
},
|
|
12646
|
-
"required": [
|
|
12647
|
-
"op",
|
|
12648
|
-
"path"
|
|
12649
|
-
],
|
|
12650
|
-
"title": "DefinedPredicate",
|
|
12651
|
-
"type": "object"
|
|
12652
|
-
},
|
|
12653
12558
|
"ExtensionKey": {
|
|
12654
12559
|
"description": "The key for an extension in CaaS. That means that this is a reference to another\nextension in your descriptor / manifest.\n\nThis key is defined in: https://bitbucket.org/atlassian/connect-service/src/cd7252b/service/cs-apps/api.raml#lines-1094",
|
|
12655
12560
|
"maxLength": 255,
|
|
@@ -12658,397 +12563,6 @@
|
|
|
12658
12563
|
"title": "ExtensionKey",
|
|
12659
12564
|
"type": "string"
|
|
12660
12565
|
},
|
|
12661
|
-
"NumberPredicate": {
|
|
12662
|
-
"additionalProperties": false,
|
|
12663
|
-
"properties": {
|
|
12664
|
-
"op": {
|
|
12665
|
-
"enum": [
|
|
12666
|
-
"less",
|
|
12667
|
-
"more"
|
|
12668
|
-
],
|
|
12669
|
-
"title": "op",
|
|
12670
|
-
"type": "string"
|
|
12671
|
-
},
|
|
12672
|
-
"path": {
|
|
12673
|
-
"$ref": "#/definitions/Path",
|
|
12674
|
-
"title": "path"
|
|
12675
|
-
},
|
|
12676
|
-
"pathType": {
|
|
12677
|
-
"$ref": "#/definitions/PathType",
|
|
12678
|
-
"title": "pathType"
|
|
12679
|
-
},
|
|
12680
|
-
"value": {
|
|
12681
|
-
"title": "value",
|
|
12682
|
-
"type": "number"
|
|
12683
|
-
}
|
|
12684
|
-
},
|
|
12685
|
-
"required": [
|
|
12686
|
-
"op",
|
|
12687
|
-
"path",
|
|
12688
|
-
"value"
|
|
12689
|
-
],
|
|
12690
|
-
"title": "NumberPredicate",
|
|
12691
|
-
"type": "object"
|
|
12692
|
-
},
|
|
12693
|
-
"Path": {
|
|
12694
|
-
"maxLength": 250,
|
|
12695
|
-
"minLength": 1,
|
|
12696
|
-
"title": "Path",
|
|
12697
|
-
"type": "string"
|
|
12698
|
-
},
|
|
12699
|
-
"PathType": {
|
|
12700
|
-
"default": "jsonPointer",
|
|
12701
|
-
"enum": [
|
|
12702
|
-
"jsonPath",
|
|
12703
|
-
"jsonPointer"
|
|
12704
|
-
],
|
|
12705
|
-
"title": "PathType",
|
|
12706
|
-
"type": "string"
|
|
12707
|
-
},
|
|
12708
|
-
"Path_1": {
|
|
12709
|
-
"maxLength": 250,
|
|
12710
|
-
"minLength": 1,
|
|
12711
|
-
"title": "Path_1",
|
|
12712
|
-
"type": "string"
|
|
12713
|
-
},
|
|
12714
|
-
"Predicate": {
|
|
12715
|
-
"anyOf": [
|
|
12716
|
-
{
|
|
12717
|
-
"$ref": "#/definitions/StringPredicate"
|
|
12718
|
-
},
|
|
12719
|
-
{
|
|
12720
|
-
"$ref": "#/definitions/NumberPredicate"
|
|
12721
|
-
},
|
|
12722
|
-
{
|
|
12723
|
-
"$ref": "#/definitions/ArrayPredicate"
|
|
12724
|
-
},
|
|
12725
|
-
{
|
|
12726
|
-
"$ref": "#/definitions/DefinedPredicate"
|
|
12727
|
-
},
|
|
12728
|
-
{
|
|
12729
|
-
"$ref": "#/definitions/TestPredicate"
|
|
12730
|
-
},
|
|
12731
|
-
{
|
|
12732
|
-
"$ref": "#/definitions/SecondOrderPredicate"
|
|
12733
|
-
}
|
|
12734
|
-
],
|
|
12735
|
-
"title": "Predicate"
|
|
12736
|
-
},
|
|
12737
|
-
"SecondOrderPredicate": {
|
|
12738
|
-
"additionalProperties": false,
|
|
12739
|
-
"properties": {
|
|
12740
|
-
"apply": {
|
|
12741
|
-
"$ref": "#/definitions/Array_2",
|
|
12742
|
-
"minItems": 1,
|
|
12743
|
-
"title": "apply"
|
|
12744
|
-
},
|
|
12745
|
-
"op": {
|
|
12746
|
-
"enum": [
|
|
12747
|
-
"and",
|
|
12748
|
-
"not",
|
|
12749
|
-
"or"
|
|
12750
|
-
],
|
|
12751
|
-
"title": "op",
|
|
12752
|
-
"type": "string"
|
|
12753
|
-
},
|
|
12754
|
-
"path": {
|
|
12755
|
-
"$ref": "#/definitions/Path_1",
|
|
12756
|
-
"title": "path"
|
|
12757
|
-
},
|
|
12758
|
-
"pathType": {
|
|
12759
|
-
"$ref": "#/definitions/PathType",
|
|
12760
|
-
"title": "pathType"
|
|
12761
|
-
}
|
|
12762
|
-
},
|
|
12763
|
-
"required": [
|
|
12764
|
-
"apply",
|
|
12765
|
-
"op"
|
|
12766
|
-
],
|
|
12767
|
-
"title": "SecondOrderPredicate",
|
|
12768
|
-
"type": "object"
|
|
12769
|
-
},
|
|
12770
|
-
"StringPredicate": {
|
|
12771
|
-
"additionalProperties": false,
|
|
12772
|
-
"properties": {
|
|
12773
|
-
"op": {
|
|
12774
|
-
"$ref": "#/definitions/StringPredicateOp",
|
|
12775
|
-
"title": "op"
|
|
12776
|
-
},
|
|
12777
|
-
"path": {
|
|
12778
|
-
"$ref": "#/definitions/Path",
|
|
12779
|
-
"title": "path"
|
|
12780
|
-
},
|
|
12781
|
-
"pathType": {
|
|
12782
|
-
"$ref": "#/definitions/PathType",
|
|
12783
|
-
"title": "pathType"
|
|
12784
|
-
},
|
|
12785
|
-
"value": {
|
|
12786
|
-
"title": "value",
|
|
12787
|
-
"type": "string"
|
|
12788
|
-
}
|
|
12789
|
-
},
|
|
12790
|
-
"required": [
|
|
12791
|
-
"op",
|
|
12792
|
-
"path",
|
|
12793
|
-
"value"
|
|
12794
|
-
],
|
|
12795
|
-
"title": "StringPredicate",
|
|
12796
|
-
"type": "object"
|
|
12797
|
-
},
|
|
12798
|
-
"StringPredicateOp": {
|
|
12799
|
-
"enum": [
|
|
12800
|
-
"contains",
|
|
12801
|
-
"contains-",
|
|
12802
|
-
"ends",
|
|
12803
|
-
"ends-",
|
|
12804
|
-
"matches",
|
|
12805
|
-
"matches-",
|
|
12806
|
-
"starts",
|
|
12807
|
-
"starts-"
|
|
12808
|
-
],
|
|
12809
|
-
"title": "StringPredicateOp",
|
|
12810
|
-
"type": "string"
|
|
12811
|
-
},
|
|
12812
|
-
"TestPredicate": {
|
|
12813
|
-
"additionalProperties": false,
|
|
12814
|
-
"properties": {
|
|
12815
|
-
"op": {
|
|
12816
|
-
"enum": [
|
|
12817
|
-
"test",
|
|
12818
|
-
"test-"
|
|
12819
|
-
],
|
|
12820
|
-
"title": "op",
|
|
12821
|
-
"type": "string"
|
|
12822
|
-
},
|
|
12823
|
-
"path": {
|
|
12824
|
-
"$ref": "#/definitions/Path",
|
|
12825
|
-
"title": "path"
|
|
12826
|
-
},
|
|
12827
|
-
"pathType": {
|
|
12828
|
-
"$ref": "#/definitions/PathType",
|
|
12829
|
-
"title": "pathType"
|
|
12830
|
-
},
|
|
12831
|
-
"value": {
|
|
12832
|
-
"description": "This is the value that you are testing against. It can be anything, this is too permissive.",
|
|
12833
|
-
"title": "value"
|
|
12834
|
-
}
|
|
12835
|
-
},
|
|
12836
|
-
"required": [
|
|
12837
|
-
"op",
|
|
12838
|
-
"path",
|
|
12839
|
-
"value"
|
|
12840
|
-
],
|
|
12841
|
-
"title": "TestPredicate",
|
|
12842
|
-
"type": "object"
|
|
12843
|
-
},
|
|
12844
|
-
"path": {
|
|
12845
|
-
"type": "string",
|
|
12846
|
-
"maxLength": 250,
|
|
12847
|
-
"minLength": 1
|
|
12848
|
-
},
|
|
12849
|
-
"pathType": {
|
|
12850
|
-
"enum": [
|
|
12851
|
-
"jsonPointer",
|
|
12852
|
-
"jsonPath"
|
|
12853
|
-
],
|
|
12854
|
-
"default": "jsonPointer"
|
|
12855
|
-
},
|
|
12856
|
-
"predicate": {
|
|
12857
|
-
"oneOf": [
|
|
12858
|
-
{
|
|
12859
|
-
"$ref": "#/definitions/firstOrderPredicate"
|
|
12860
|
-
},
|
|
12861
|
-
{
|
|
12862
|
-
"$ref": "#/definitions/secondOrderPredicate"
|
|
12863
|
-
}
|
|
12864
|
-
]
|
|
12865
|
-
},
|
|
12866
|
-
"testPredicate": {
|
|
12867
|
-
"type": "object",
|
|
12868
|
-
"title": "TestPredicate",
|
|
12869
|
-
"required": [
|
|
12870
|
-
"op",
|
|
12871
|
-
"path",
|
|
12872
|
-
"value"
|
|
12873
|
-
],
|
|
12874
|
-
"properties": {
|
|
12875
|
-
"op": {
|
|
12876
|
-
"enum": [
|
|
12877
|
-
"test",
|
|
12878
|
-
"test-"
|
|
12879
|
-
]
|
|
12880
|
-
},
|
|
12881
|
-
"path": {
|
|
12882
|
-
"$ref": "#/definitions/path"
|
|
12883
|
-
},
|
|
12884
|
-
"value": {},
|
|
12885
|
-
"pathType": {
|
|
12886
|
-
"$ref": "#/definitions/pathType"
|
|
12887
|
-
}
|
|
12888
|
-
},
|
|
12889
|
-
"additionalProperties": false
|
|
12890
|
-
},
|
|
12891
|
-
"arrayPredicate": {
|
|
12892
|
-
"type": "object",
|
|
12893
|
-
"title": "ArrayPredicate",
|
|
12894
|
-
"required": [
|
|
12895
|
-
"op",
|
|
12896
|
-
"path",
|
|
12897
|
-
"value"
|
|
12898
|
-
],
|
|
12899
|
-
"properties": {
|
|
12900
|
-
"op": {
|
|
12901
|
-
"enum": [
|
|
12902
|
-
"in",
|
|
12903
|
-
"in-"
|
|
12904
|
-
]
|
|
12905
|
-
},
|
|
12906
|
-
"path": {
|
|
12907
|
-
"$ref": "#/definitions/path"
|
|
12908
|
-
},
|
|
12909
|
-
"value": {
|
|
12910
|
-
"type": "array"
|
|
12911
|
-
},
|
|
12912
|
-
"pathType": {
|
|
12913
|
-
"$ref": "#/definitions/pathType"
|
|
12914
|
-
}
|
|
12915
|
-
},
|
|
12916
|
-
"additionalProperties": false
|
|
12917
|
-
},
|
|
12918
|
-
"numberPredicate": {
|
|
12919
|
-
"type": "object",
|
|
12920
|
-
"title": "NumberPredicate",
|
|
12921
|
-
"required": [
|
|
12922
|
-
"op",
|
|
12923
|
-
"path",
|
|
12924
|
-
"value"
|
|
12925
|
-
],
|
|
12926
|
-
"properties": {
|
|
12927
|
-
"op": {
|
|
12928
|
-
"enum": [
|
|
12929
|
-
"less",
|
|
12930
|
-
"more"
|
|
12931
|
-
]
|
|
12932
|
-
},
|
|
12933
|
-
"path": {
|
|
12934
|
-
"$ref": "#/definitions/path"
|
|
12935
|
-
},
|
|
12936
|
-
"value": {
|
|
12937
|
-
"type": "number"
|
|
12938
|
-
},
|
|
12939
|
-
"pathType": {
|
|
12940
|
-
"$ref": "#/definitions/pathType"
|
|
12941
|
-
}
|
|
12942
|
-
},
|
|
12943
|
-
"additionalProperties": false
|
|
12944
|
-
},
|
|
12945
|
-
"stringPredicate": {
|
|
12946
|
-
"type": "object",
|
|
12947
|
-
"title": "StringPredicate",
|
|
12948
|
-
"required": [
|
|
12949
|
-
"op",
|
|
12950
|
-
"path",
|
|
12951
|
-
"value"
|
|
12952
|
-
],
|
|
12953
|
-
"properties": {
|
|
12954
|
-
"op": {
|
|
12955
|
-
"enum": [
|
|
12956
|
-
"contains",
|
|
12957
|
-
"contains-",
|
|
12958
|
-
"ends",
|
|
12959
|
-
"ends-",
|
|
12960
|
-
"matches",
|
|
12961
|
-
"matches-",
|
|
12962
|
-
"starts",
|
|
12963
|
-
"starts-"
|
|
12964
|
-
]
|
|
12965
|
-
},
|
|
12966
|
-
"path": {
|
|
12967
|
-
"$ref": "#/definitions/path"
|
|
12968
|
-
},
|
|
12969
|
-
"value": {
|
|
12970
|
-
"type": "string"
|
|
12971
|
-
},
|
|
12972
|
-
"pathType": {
|
|
12973
|
-
"$ref": "#/definitions/pathType"
|
|
12974
|
-
}
|
|
12975
|
-
},
|
|
12976
|
-
"additionalProperties": false
|
|
12977
|
-
},
|
|
12978
|
-
"definedPredicate": {
|
|
12979
|
-
"type": "object",
|
|
12980
|
-
"title": "DefinedPredicate",
|
|
12981
|
-
"required": [
|
|
12982
|
-
"op",
|
|
12983
|
-
"path"
|
|
12984
|
-
],
|
|
12985
|
-
"properties": {
|
|
12986
|
-
"op": {
|
|
12987
|
-
"enum": [
|
|
12988
|
-
"defined",
|
|
12989
|
-
"undefined"
|
|
12990
|
-
]
|
|
12991
|
-
},
|
|
12992
|
-
"path": {
|
|
12993
|
-
"$ref": "#/definitions/path"
|
|
12994
|
-
},
|
|
12995
|
-
"pathType": {
|
|
12996
|
-
"$ref": "#/definitions/pathType"
|
|
12997
|
-
}
|
|
12998
|
-
},
|
|
12999
|
-
"additionalProperties": false
|
|
13000
|
-
},
|
|
13001
|
-
"firstOrderPredicate": {
|
|
13002
|
-
"oneOf": [
|
|
13003
|
-
{
|
|
13004
|
-
"$ref": "#/definitions/stringPredicate"
|
|
13005
|
-
},
|
|
13006
|
-
{
|
|
13007
|
-
"$ref": "#/definitions/numberPredicate"
|
|
13008
|
-
},
|
|
13009
|
-
{
|
|
13010
|
-
"$ref": "#/definitions/arrayPredicate"
|
|
13011
|
-
},
|
|
13012
|
-
{
|
|
13013
|
-
"$ref": "#/definitions/definedPredicate"
|
|
13014
|
-
},
|
|
13015
|
-
{
|
|
13016
|
-
"$ref": "#/definitions/testPredicate"
|
|
13017
|
-
}
|
|
13018
|
-
],
|
|
13019
|
-
"title": "FirstOrderPredicate"
|
|
13020
|
-
},
|
|
13021
|
-
"secondOrderPredicate": {
|
|
13022
|
-
"type": "object",
|
|
13023
|
-
"title": "SecondOrderPredicate",
|
|
13024
|
-
"required": [
|
|
13025
|
-
"op",
|
|
13026
|
-
"apply"
|
|
13027
|
-
],
|
|
13028
|
-
"properties": {
|
|
13029
|
-
"op": {
|
|
13030
|
-
"enum": [
|
|
13031
|
-
"and",
|
|
13032
|
-
"or",
|
|
13033
|
-
"not"
|
|
13034
|
-
]
|
|
13035
|
-
},
|
|
13036
|
-
"path": {
|
|
13037
|
-
"$ref": "#/definitions/path"
|
|
13038
|
-
},
|
|
13039
|
-
"apply": {
|
|
13040
|
-
"type": "array",
|
|
13041
|
-
"items": {
|
|
13042
|
-
"$ref": "#/definitions/predicate"
|
|
13043
|
-
},
|
|
13044
|
-
"minItems": 1
|
|
13045
|
-
},
|
|
13046
|
-
"pathType": {
|
|
13047
|
-
"$ref": "#/definitions/pathType"
|
|
13048
|
-
}
|
|
13049
|
-
},
|
|
13050
|
-
"additionalProperties": false
|
|
13051
|
-
},
|
|
13052
12566
|
"ProductEvents": {
|
|
13053
12567
|
"$ref": "#/definitions/Array",
|
|
13054
12568
|
"title": "ProductEvents",
|
package/out/schema/manifest.d.ts
CHANGED
|
@@ -48,14 +48,6 @@ export type FilteredProductEvents = {
|
|
|
48
48
|
* This key is defined in: https://bitbucket.org/atlassian/connect-service/src/cd7252b/service/cs-apps/api.raml#lines-1094
|
|
49
49
|
*/
|
|
50
50
|
export type Function = string;
|
|
51
|
-
/**
|
|
52
|
-
* The predicate to match against the event payload. Follows the JSON Predicates spec: https://tools.ietf.org/html/draft-snell-json-test-07
|
|
53
|
-
*/
|
|
54
|
-
export type Predicate1 = FirstOrderPredicate | SecondOrderPredicate;
|
|
55
|
-
export type FirstOrderPredicate = StringPredicate | NumberPredicate | ArrayPredicate | DefinedPredicate | TestPredicate;
|
|
56
|
-
export type Path = string;
|
|
57
|
-
export type PathType = 'jsonPointer' | 'jsonPath';
|
|
58
|
-
export type Predicate = FirstOrderPredicate | SecondOrderPredicate;
|
|
59
51
|
/**
|
|
60
52
|
* The key of the function that should be invoked for this webtrigger.
|
|
61
53
|
*/
|
|
@@ -188,13 +180,11 @@ export interface Modules {
|
|
|
188
180
|
{
|
|
189
181
|
events: Events;
|
|
190
182
|
function: Function;
|
|
191
|
-
predicate?: Predicate1;
|
|
192
183
|
key: ModuleKeySchema;
|
|
193
184
|
},
|
|
194
185
|
...{
|
|
195
186
|
events: Events;
|
|
196
187
|
function: Function;
|
|
197
|
-
predicate?: Predicate1;
|
|
198
188
|
key: ModuleKeySchema;
|
|
199
189
|
}[]
|
|
200
190
|
];
|
|
@@ -5230,41 +5220,6 @@ export interface Filter {
|
|
|
5230
5220
|
ignoreSelf: IgnoreSelf;
|
|
5231
5221
|
[k: string]: unknown;
|
|
5232
5222
|
}
|
|
5233
|
-
export interface StringPredicate {
|
|
5234
|
-
op: 'contains' | 'contains-' | 'ends' | 'ends-' | 'matches' | 'matches-' | 'starts' | 'starts-';
|
|
5235
|
-
path: Path;
|
|
5236
|
-
value: string;
|
|
5237
|
-
pathType?: PathType;
|
|
5238
|
-
}
|
|
5239
|
-
export interface NumberPredicate {
|
|
5240
|
-
op: 'less' | 'more';
|
|
5241
|
-
path: Path;
|
|
5242
|
-
value: number;
|
|
5243
|
-
pathType?: PathType;
|
|
5244
|
-
}
|
|
5245
|
-
export interface ArrayPredicate {
|
|
5246
|
-
op: 'in' | 'in-';
|
|
5247
|
-
path: Path;
|
|
5248
|
-
value: unknown[];
|
|
5249
|
-
pathType?: PathType;
|
|
5250
|
-
}
|
|
5251
|
-
export interface DefinedPredicate {
|
|
5252
|
-
op: 'defined' | 'undefined';
|
|
5253
|
-
path: Path;
|
|
5254
|
-
pathType?: PathType;
|
|
5255
|
-
}
|
|
5256
|
-
export interface TestPredicate {
|
|
5257
|
-
op: 'test' | 'test-';
|
|
5258
|
-
path: Path;
|
|
5259
|
-
value: unknown;
|
|
5260
|
-
pathType?: PathType;
|
|
5261
|
-
}
|
|
5262
|
-
export interface SecondOrderPredicate {
|
|
5263
|
-
op: 'and' | 'or' | 'not';
|
|
5264
|
-
path?: Path;
|
|
5265
|
-
apply: [Predicate, ...Predicate[]];
|
|
5266
|
-
pathType?: PathType;
|
|
5267
|
-
}
|
|
5268
5223
|
export interface DisplayConditions {
|
|
5269
5224
|
componentTypes: ComponentTypes;
|
|
5270
5225
|
}
|
package/out/text/errors.d.ts
CHANGED
|
@@ -44,8 +44,10 @@ export declare const errors: {
|
|
|
44
44
|
emptyAccelerator: () => string;
|
|
45
45
|
spaceAroundAccelerator: (accelerator: string) => string;
|
|
46
46
|
invalidPlusSyntax: (accelerator: string) => string;
|
|
47
|
-
|
|
47
|
+
combinationKeysAreNotUnique: (accelerator: string) => string;
|
|
48
48
|
invalidKey: (accelerator: string, key: string) => string;
|
|
49
|
+
moreThanOneNonModifierKey: (accelerator: string) => string;
|
|
50
|
+
modifierKeysShouldPrecedeNonModifierKey: (accelerator: string) => string;
|
|
49
51
|
};
|
|
50
52
|
};
|
|
51
53
|
jiraWorkflowValidator: {
|
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;;;yCAIxD,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;2CAIhD,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;sDAEvC,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;8DAEvB,MAAM,aAAa,MAAM,cAAc,MAAM,KAAG,MAAM;6EAEvC,MAAM,qBAAqB,MAAM,KAAG,MAAM;yEAE9C,MAAM,qBAAqB,MAAM,KAAG,MAAM;;wCAG/E,MAAM;sDACU,MAAM,KAAG,MAAM;iDAEpB,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;2CAIhD,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;sDAEvC,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;8DAEvB,MAAM,aAAa,MAAM,cAAc,MAAM,KAAG,MAAM;6EAEvC,MAAM,qBAAqB,MAAM,KAAG,MAAM;yEAE9C,MAAM,qBAAqB,MAAM,KAAG,MAAM;;wCAG/E,MAAM;sDACU,MAAM,KAAG,MAAM;iDAEpB,MAAM,KAAG,MAAM;2DAEL,MAAM,KAAG,MAAM;0CAEhC,MAAM,OAAO,MAAM,KAAG,MAAM;yDAEb,MAAM,KAAG,MAAM;uEAED,MAAM,KAAG,MAAM;;;;mCAKjD,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
|
@@ -56,8 +56,10 @@ exports.errors = {
|
|
|
56
56
|
emptyAccelerator: () => 'Keyboard shortcut accelerator must be defined and not be an empty string.',
|
|
57
57
|
spaceAroundAccelerator: (accelerator) => `Keyboard shortcut accelerator must not have surrounding empty spaces. Accelerator issue found: [${accelerator}]`,
|
|
58
58
|
invalidPlusSyntax: (accelerator) => `Keyboard shortcut accelerator must not be single "+" character or have empty spaces on left or right of "+" character. Accelerator issue found: [${accelerator}]`,
|
|
59
|
-
|
|
60
|
-
invalidKey: (accelerator, key) => `Keyboard shortcut accelerator key must be a valid named key, i.e. ctrl, command, or a single key. Accelerator issue found: [${accelerator}] with invalid key: [${key}]
|
|
59
|
+
combinationKeysAreNotUnique: (accelerator) => `Keyboard shortcut accelerator combinations must have unique keys when joined with "+". Accelerator issue found: [${accelerator}]`,
|
|
60
|
+
invalidKey: (accelerator, key) => `Keyboard shortcut accelerator key must be a valid named key, i.e. ctrl, command, or a single key. Accelerator issue found: [${accelerator}] with invalid key: [${key}]`,
|
|
61
|
+
moreThanOneNonModifierKey: (accelerator) => `Keyboard shortcut accelerator combination is invalid. A valid accelerator combination should have a single key or a single key preceeded with one or more modifiers, i.e. ctrl, shift, command. Accelerator issue found: [${accelerator}]`,
|
|
62
|
+
modifierKeysShouldPrecedeNonModifierKey: (accelerator) => `Keyboard shortcut accelerator modifier keys should precede the key being modified. Instead of "a+ctrl", one should specify the accelerator as "ctrl+a". Accelerator issue found: [${accelerator}]`
|
|
61
63
|
}
|
|
62
64
|
},
|
|
63
65
|
jiraWorkflowValidator: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateKeyboardShortcuts.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/validateKeyboardShortcuts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"validateKeyboardShortcuts.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/confluence/validateKeyboardShortcuts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAuJnD,eAAO,MAAM,yBAAyB,eAAgB,OAAO,+CAAiC,eAAe,EAwB5G,CAAC"}
|
|
@@ -5,7 +5,8 @@ const text_1 = require("../../../text");
|
|
|
5
5
|
const utils_1 = require("../../../utils");
|
|
6
6
|
const VALID_SINGLE_KEY = new RegExp(/^[^+ ]$/);
|
|
7
7
|
const INVALID_COMBINATION_SYNTAX = new RegExp(/(^\+$| \+|\+ )/);
|
|
8
|
-
const
|
|
8
|
+
const MODIFIER_KEYS = new Set(['shift', 'ctrl', 'alt', 'option', 'meta', 'command', 'mod']);
|
|
9
|
+
const SPECIAL_KEYS = new Set([
|
|
9
10
|
'f1',
|
|
10
11
|
'f2',
|
|
11
12
|
'f3',
|
|
@@ -18,13 +19,6 @@ const VALID_NAMED_KEYS = new Set([
|
|
|
18
19
|
'f10',
|
|
19
20
|
'f11',
|
|
20
21
|
'f12',
|
|
21
|
-
'shift',
|
|
22
|
-
'ctrl',
|
|
23
|
-
'alt',
|
|
24
|
-
'option',
|
|
25
|
-
'meta',
|
|
26
|
-
'command',
|
|
27
|
-
'mod',
|
|
28
22
|
'backspace',
|
|
29
23
|
'tab',
|
|
30
24
|
'enter',
|
|
@@ -45,51 +39,68 @@ const VALID_NAMED_KEYS = new Set([
|
|
|
45
39
|
'space',
|
|
46
40
|
'plus'
|
|
47
41
|
]);
|
|
42
|
+
const VALID_NAMED_KEYS = new Set([...MODIFIER_KEYS, ...SPECIAL_KEYS]);
|
|
43
|
+
const errorMessages = text_1.errors.modules.confluence.keyboardShortcuts;
|
|
48
44
|
const isValidKey = (key) => VALID_NAMED_KEYS.has(key) || !!key.match(VALID_SINGLE_KEY);
|
|
49
|
-
const
|
|
50
|
-
|
|
45
|
+
const mapToKeyboardShortcutError = (validationErrors, moduleKey) => validationErrors.map((message) => ({ moduleKey, message }));
|
|
46
|
+
const validateWhitespaceAndSyntax = (accelerator) => {
|
|
47
|
+
const validationErrors = [];
|
|
51
48
|
if (!accelerator || accelerator.trim() === '') {
|
|
52
|
-
|
|
53
|
-
moduleKey,
|
|
54
|
-
message: text_1.errors.modules.confluence.keyboardShortcuts.emptyAccelerator()
|
|
55
|
-
});
|
|
56
|
-
return keyboardShortcutErrors;
|
|
49
|
+
validationErrors.push(errorMessages.emptyAccelerator());
|
|
57
50
|
}
|
|
58
51
|
else if (accelerator.startsWith(' ') || accelerator.endsWith(' ')) {
|
|
59
|
-
|
|
60
|
-
moduleKey,
|
|
61
|
-
message: text_1.errors.modules.confluence.keyboardShortcuts.spaceAroundAccelerator(accelerator)
|
|
62
|
-
});
|
|
63
|
-
return keyboardShortcutErrors;
|
|
52
|
+
validationErrors.push(errorMessages.spaceAroundAccelerator(accelerator));
|
|
64
53
|
}
|
|
65
54
|
else if (accelerator.match(INVALID_COMBINATION_SYNTAX)) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
55
|
+
validationErrors.push(errorMessages.invalidPlusSyntax(accelerator));
|
|
56
|
+
}
|
|
57
|
+
return validationErrors;
|
|
58
|
+
};
|
|
59
|
+
const modifierKeysPrecedeNonModifierKey = (modifierKeys, nonModifierKeys, keys) => {
|
|
60
|
+
if (modifierKeys.length && nonModifierKeys.length) {
|
|
61
|
+
const indexOfNonModifierKey = keys.indexOf(nonModifierKeys[0]);
|
|
62
|
+
const indexOfLastKey = keys.length - 1;
|
|
63
|
+
return indexOfNonModifierKey === indexOfLastKey;
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
};
|
|
67
|
+
const validateModifierKeys = (accelerator, keys) => {
|
|
68
|
+
const validationErrors = [];
|
|
69
|
+
const nonModifierKeys = keys.filter((key) => !MODIFIER_KEYS.has(key));
|
|
70
|
+
if (nonModifierKeys.length > 1) {
|
|
71
|
+
validationErrors.push(errorMessages.moreThanOneNonModifierKey(accelerator));
|
|
71
72
|
}
|
|
73
|
+
const modifierKeys = keys.filter((key) => MODIFIER_KEYS.has(key));
|
|
74
|
+
if (!modifierKeysPrecedeNonModifierKey(modifierKeys, nonModifierKeys, keys)) {
|
|
75
|
+
validationErrors.push(errorMessages.modifierKeysShouldPrecedeNonModifierKey(accelerator));
|
|
76
|
+
}
|
|
77
|
+
return validationErrors;
|
|
78
|
+
};
|
|
79
|
+
const validateKeyCombinationsAndSequences = (accelerator) => {
|
|
80
|
+
const validationErrors = [];
|
|
72
81
|
const sequence = accelerator.split(' ');
|
|
73
82
|
for (const combination of sequence) {
|
|
74
83
|
const keys = combination.split('+');
|
|
75
84
|
const uniqueKeys = new Set(keys);
|
|
76
85
|
const allDifferent = keys.length === uniqueKeys.size;
|
|
77
86
|
if (!allDifferent) {
|
|
78
|
-
|
|
79
|
-
moduleKey,
|
|
80
|
-
message: text_1.errors.modules.confluence.keyboardShortcuts.invalidAcceleratorCombination(accelerator)
|
|
81
|
-
});
|
|
87
|
+
validationErrors.push(errorMessages.combinationKeysAreNotUnique(accelerator));
|
|
82
88
|
}
|
|
89
|
+
validationErrors.push(...validateModifierKeys(accelerator, [...uniqueKeys]));
|
|
83
90
|
for (const key of keys) {
|
|
84
91
|
if (!isValidKey(key)) {
|
|
85
|
-
|
|
86
|
-
moduleKey,
|
|
87
|
-
message: text_1.errors.modules.confluence.keyboardShortcuts.invalidKey(accelerator, key)
|
|
88
|
-
});
|
|
92
|
+
validationErrors.push(errorMessages.invalidKey(accelerator, key));
|
|
89
93
|
}
|
|
90
94
|
}
|
|
91
95
|
}
|
|
92
|
-
return
|
|
96
|
+
return validationErrors;
|
|
97
|
+
};
|
|
98
|
+
const validateShortcut = (moduleKey, accelerator) => {
|
|
99
|
+
const whitespaceAndSyntaxErrors = validateWhitespaceAndSyntax(accelerator);
|
|
100
|
+
if (whitespaceAndSyntaxErrors.length) {
|
|
101
|
+
return mapToKeyboardShortcutError(whitespaceAndSyntaxErrors, moduleKey);
|
|
102
|
+
}
|
|
103
|
+
return mapToKeyboardShortcutError(validateKeyCombinationsAndSequences(accelerator), moduleKey);
|
|
93
104
|
};
|
|
94
105
|
exports.validateKeyboardShortcuts = (allModules, yamlContentByLine) => {
|
|
95
106
|
const validationErrors = [];
|