@forge/manifest 12.5.0 → 12.6.0-next.0-experimental-5b726e6

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 CHANGED
@@ -1,5 +1,23 @@
1
1
  # @forge/manifest
2
2
 
3
+ ## 12.6.0-next.0-experimental-5b726e6
4
+
5
+ ### Minor Changes
6
+
7
+ - 399ae7d: Enforce render:native for global:ui
8
+ Remove routePrefix from global:ui
9
+
10
+ ### Patch Changes
11
+
12
+ - 5b726e6: add `user` installation target
13
+
14
+ ## 12.6.0-next.0
15
+
16
+ ### Minor Changes
17
+
18
+ - 399ae7d: Enforce render:native for global:ui
19
+ Remove routePrefix from global:ui
20
+
3
21
  ## 12.5.0
4
22
 
5
23
  ### Minor Changes
@@ -55,7 +55,8 @@
55
55
  "type": "string",
56
56
  "enum": [
57
57
  "site",
58
- "unit"
58
+ "unit",
59
+ "user"
59
60
  ],
60
61
  "description": "The target of the app installation."
61
62
  },
@@ -61,7 +61,7 @@ export interface App {
61
61
  /**
62
62
  * The target of the app installation.
63
63
  */
64
- installationTarget?: 'site' | 'unit';
64
+ installationTarget?: 'site' | 'unit' | 'user';
65
65
  compatibility?: Compatibility;
66
66
  access?: Access;
67
67
  licensing?: Licensing;
@@ -55,7 +55,8 @@
55
55
  "type": "string",
56
56
  "enum": [
57
57
  "site",
58
- "unit"
58
+ "unit",
59
+ "user"
59
60
  ],
60
61
  "description": "The target of the app installation."
61
62
  },
@@ -5189,11 +5190,6 @@
5189
5190
  "maxLength": 255,
5190
5191
  "pattern": "^[a-z0-9\\-]+$"
5191
5192
  },
5192
- "icon": {
5193
- "type": "string",
5194
- "minLength": 1,
5195
- "maxLength": 255
5196
- },
5197
5193
  "resource": {
5198
5194
  "type": "string",
5199
5195
  "minLength": 1,
@@ -5251,6 +5247,11 @@
5251
5247
  },
5252
5248
  "key": {
5253
5249
  "$ref": "#/definitions/ModuleKeySchema"
5250
+ },
5251
+ "icon": {
5252
+ "type": "string",
5253
+ "minLength": 1,
5254
+ "maxLength": 255
5254
5255
  }
5255
5256
  },
5256
5257
  "required": [
@@ -5352,11 +5353,6 @@
5352
5353
  "maxLength": 255,
5353
5354
  "pattern": "^[a-z0-9\\-]+$"
5354
5355
  },
5355
- "icon": {
5356
- "type": "string",
5357
- "minLength": 1,
5358
- "maxLength": 255
5359
- },
5360
5356
  "unlicensedAccess": {
5361
5357
  "type": "array",
5362
5358
  "items": {
@@ -5369,6 +5365,11 @@
5369
5365
  },
5370
5366
  "key": {
5371
5367
  "$ref": "#/definitions/ModuleKeySchema"
5368
+ },
5369
+ "icon": {
5370
+ "type": "string",
5371
+ "minLength": 1,
5372
+ "maxLength": 255
5372
5373
  }
5373
5374
  },
5374
5375
  "required": [
@@ -11859,13 +11860,13 @@
11859
11860
  "maxLength": 255,
11860
11861
  "pattern": "^[a-z0-9\\-]+$"
11861
11862
  },
11863
+ "key": {
11864
+ "$ref": "#/definitions/ModuleKeySchema"
11865
+ },
11862
11866
  "icon": {
11863
11867
  "type": "string",
11864
11868
  "minLength": 1,
11865
11869
  "maxLength": 255
11866
- },
11867
- "key": {
11868
- "$ref": "#/definitions/ModuleKeySchema"
11869
11870
  }
11870
11871
  },
11871
11872
  "required": [
@@ -11972,13 +11973,13 @@
11972
11973
  "maxLength": 255,
11973
11974
  "pattern": "^[a-z0-9\\-]+$"
11974
11975
  },
11976
+ "key": {
11977
+ "$ref": "#/definitions/ModuleKeySchema"
11978
+ },
11975
11979
  "icon": {
11976
11980
  "type": "string",
11977
11981
  "minLength": 1,
11978
11982
  "maxLength": 255
11979
- },
11980
- "key": {
11981
- "$ref": "#/definitions/ModuleKeySchema"
11982
11983
  }
11983
11984
  },
11984
11985
  "required": [
@@ -29762,12 +29763,6 @@
29762
29763
  "maxLength": 300,
29763
29764
  "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
29764
29765
  },
29765
- "routePrefix": {
29766
- "type": "string",
29767
- "minLength": 1,
29768
- "maxLength": 255,
29769
- "pattern": "^[a-z0-9\\-]+$"
29770
- },
29771
29766
  "icon": {
29772
29767
  "type": "string",
29773
29768
  "minLength": 1,
@@ -29820,12 +29815,19 @@
29820
29815
  },
29821
29816
  "key": {
29822
29817
  "$ref": "#/definitions/ModuleKeySchema"
29818
+ },
29819
+ "render": {
29820
+ "enum": [
29821
+ "native"
29822
+ ],
29823
+ "type": "string",
29824
+ "default": "native"
29823
29825
  }
29824
29826
  },
29825
29827
  "required": [
29826
29828
  "resource",
29827
- "routePrefix",
29828
- "key"
29829
+ "key",
29830
+ "render"
29829
29831
  ]
29830
29832
  },
29831
29833
  {
@@ -29909,17 +29911,10 @@
29909
29911
  },
29910
29912
  "render": {
29911
29913
  "enum": [
29912
- "native",
29913
- "default"
29914
+ "native"
29914
29915
  ],
29915
29916
  "type": "string",
29916
- "default": "default"
29917
- },
29918
- "routePrefix": {
29919
- "type": "string",
29920
- "minLength": 1,
29921
- "maxLength": 255,
29922
- "pattern": "^[a-z0-9\\-]+$"
29917
+ "default": "native"
29923
29918
  },
29924
29919
  "icon": {
29925
29920
  "type": "string",
@@ -29932,7 +29927,6 @@
29932
29927
  },
29933
29928
  "required": [
29934
29929
  "resource",
29935
- "routePrefix",
29936
29930
  "render",
29937
29931
  "key"
29938
29932
  ]
@@ -33143,7 +33137,7 @@
33143
33137
  "shortClassName": "customContentAPISupportBean",
33144
33138
  "type": "object",
33145
33139
  "title": "Custom Content API Support",
33146
- "description": "\n\nThis property allows you to specify the container types your custom content can appear in, and its supported child content types.\n It also allows you to enable indexing of your custom content.\n\n\n\n\n\n {\n \"bodyType\": \"storage\",\n \"supportedContainerTypes\": [\n \"space\",\n \"page\"\n ],\n \"supportedChildTypes\": [\n \"attachment\",\n \"comment\"\n ],\n \"supportedSpacePermissions\": [],\n \"preventDuplicateTitle\": false,\n \"indexing\": {\n \"enabled\": true\n }\n }\n\n\n\n\n <p>In the above example, you'll see we specify content type keys in the <code>supportedContainerTypes</code> and <code>supportedChildTypes</code> fields.\n There are 2 categories of content type you can reference built-in content and custom content.</p>\n\n <h3>Built-in content types example</h3>\n The following snippet shows the content type we're defining can:\n <ul>\n <li>Be contained in a <code>space</code> or a <code>page</code></li>\n <li>Have a child <code>comment</code> or a child <code>attachment</code></li>\n </ul>\n\n\n\n\n\n {\n \"bodyType\": \"storage\",\n \"supportedContainerTypes\": [\n \"space\",\n \"page\"\n ],\n \"supportedChildTypes\": [\n \"attachment\",\n \"comment\"\n ],\n \"supportedSpacePermissions\": [],\n \"preventDuplicateTitle\": false,\n \"indexing\": {\n \"enabled\": true\n }\n }\n\n\n\n\n\n <h3>Custom content example</h3>\n The following snippet shows the content type we're defining can:\n <ul>\n <li>Be contained in a content with type <code>type1</code> or <code>type2</code>, defined in an add-on with the key <code>my-first-addon</code></li>\n <li>Have a child of a content with type <code>type1</code> or <code>type2</code>, defined in an add-on with the key <code>my-second-addon</code></li>\n </ul>\n\n\n\n\n\n {\n \"bodyType\": \"storage\",\n \"supportedContainerTypes\": [\n \"ac:my-first-addon:type2\",\n \"ac:my-first-addon:type1\"\n ],\n \"supportedChildTypes\": [\n \"ac:my-second-addon:type1\",\n \"ac:my-second-addon:type2\"\n ],\n \"supportedSpacePermissions\": [],\n \"preventDuplicateTitle\": false,\n \"indexing\": {\n \"enabled\": true\n }\n }\n\n\n\n\n <h3>Raw body type custom content example</h3>\n You can define custom content to support a content body with a type of <code>raw</code>.<br>\n This is useful when you want to store, for example, stringified JSON to the content.\n\n\n\n\n\n {\n \"bodyType\": \"raw\",\n \"supportedContainerTypes\": [\n \"space\"\n ],\n \"supportedChildTypes\": [],\n \"supportedSpacePermissions\": [],\n \"preventDuplicateTitle\": false,\n \"indexing\": {\n \"enabled\": true\n }\n }\n\n\n\n\n Content with a raw body looks like this:\n <pre><code>\n {\n \"title\": \"My title\",\n \"space\": {\"key\": \"DS\"},\n \"type\": \"ac:add-on-key:module-key\",\n \"body\": {\n \"raw\": {\n \"value\": \"{\\\"field\\\": \\\"value\\\"}\",\n \"representation\": \"raw\"\n }\n }\n }\n </code></pre>\n\n"
33140
+ "description": "\n\nThis property allows you to specify the container types your custom content can appear in, and its supported child content types.\n It also allows you to enable indexing of your custom content.\n\n\n\n\n\n {\n \"bodyType\": \"storage\",\n \"supportedContainerTypes\": [\n \"space\",\n \"page\"\n ],\n \"supportedChildTypes\": [\n \"attachment\",\n \"comment\"\n ],\n \"supportedSpacePermissions\": [],\n \"preventDuplicateTitle\": false,\n \"indexing\": {\n \"enabled\": true\n }\n }\n\n\n\n\n <p>In the above example, you'll see we specify content type keys in the <code>supportedContainerTypes</code> and <code>supportedChildTypes</code> fields.\n There are 2 categories of content type you can reference \u2013 built-in content and custom content.</p>\n\n <h3>Built-in content types example</h3>\n The following snippet shows the content type we're defining can:\n <ul>\n <li>Be contained in a <code>space</code> or a <code>page</code></li>\n <li>Have a child <code>comment</code> or a child <code>attachment</code></li>\n </ul>\n\n\n\n\n\n {\n \"bodyType\": \"storage\",\n \"supportedContainerTypes\": [\n \"space\",\n \"page\"\n ],\n \"supportedChildTypes\": [\n \"attachment\",\n \"comment\"\n ],\n \"supportedSpacePermissions\": [],\n \"preventDuplicateTitle\": false,\n \"indexing\": {\n \"enabled\": true\n }\n }\n\n\n\n\n\n <h3>Custom content example</h3>\n The following snippet shows the content type we're defining can:\n <ul>\n <li>Be contained in a content with type <code>type1</code> or <code>type2</code>, defined in an add-on with the key <code>my-first-addon</code></li>\n <li>Have a child of a content with type <code>type1</code> or <code>type2</code>, defined in an add-on with the key <code>my-second-addon</code></li>\n </ul>\n\n\n\n\n\n {\n \"bodyType\": \"storage\",\n \"supportedContainerTypes\": [\n \"ac:my-first-addon:type2\",\n \"ac:my-first-addon:type1\"\n ],\n \"supportedChildTypes\": [\n \"ac:my-second-addon:type1\",\n \"ac:my-second-addon:type2\"\n ],\n \"supportedSpacePermissions\": [],\n \"preventDuplicateTitle\": false,\n \"indexing\": {\n \"enabled\": true\n }\n }\n\n\n\n\n <h3>Raw body type custom content example</h3>\n You can define custom content to support a content body with a type of <code>raw</code>.<br>\n This is useful when you want to store, for example, stringified JSON to the content.\n\n\n\n\n\n {\n \"bodyType\": \"raw\",\n \"supportedContainerTypes\": [\n \"space\"\n ],\n \"supportedChildTypes\": [],\n \"supportedSpacePermissions\": [],\n \"preventDuplicateTitle\": false,\n \"indexing\": {\n \"enabled\": true\n }\n }\n\n\n\n\n Content with a raw body looks like this:\n <pre><code>\n {\n \"title\": \"My title\",\n \"space\": {\"key\": \"DS\"},\n \"type\": \"ac:add-on-key:module-key\",\n \"body\": {\n \"raw\": {\n \"value\": \"{\\\"field\\\": \\\"value\\\"}\",\n \"representation\": \"raw\"\n }\n }\n }\n </code></pre>\n\n"
33147
33141
  },
33148
33142
  "indexing": {
33149
33143
  "properties": {
@@ -806,7 +806,7 @@ export interface App {
806
806
  /**
807
807
  * The target of the app installation.
808
808
  */
809
- installationTarget?: 'site' | 'unit';
809
+ installationTarget?: 'site' | 'unit' | 'user';
810
810
  compatibility?: Compatibility;
811
811
  access?: Access;
812
812
  licensing?: Licensing;
@@ -13935,7 +13935,6 @@ export interface Modules {
13935
13935
  | string;
13936
13936
  title__i18n?: string;
13937
13937
  routePrefix: string;
13938
- icon?: string;
13939
13938
  resource: string;
13940
13939
  resourceUploadId?: string;
13941
13940
  resolver?:
@@ -13947,6 +13946,7 @@ export interface Modules {
13947
13946
  };
13948
13947
  unlicensedAccess?: ('unlicensed' | 'anonymous')[];
13949
13948
  key: ModuleKeySchema;
13949
+ icon?: string;
13950
13950
  }
13951
13951
  | {
13952
13952
  title?:
@@ -13966,9 +13966,9 @@ export interface Modules {
13966
13966
  resourceUploadId?: string;
13967
13967
  render: 'native' | 'default';
13968
13968
  routePrefix: string;
13969
- icon?: string;
13970
13969
  unlicensedAccess?: ('unlicensed' | 'anonymous')[];
13971
13970
  key: ModuleKeySchema;
13971
+ icon?: string;
13972
13972
  }
13973
13973
  ),
13974
13974
  ...(
@@ -13980,7 +13980,6 @@ export interface Modules {
13980
13980
  | string;
13981
13981
  title__i18n?: string;
13982
13982
  routePrefix: string;
13983
- icon?: string;
13984
13983
  resource: string;
13985
13984
  resourceUploadId?: string;
13986
13985
  resolver?:
@@ -13992,6 +13991,7 @@ export interface Modules {
13992
13991
  };
13993
13992
  unlicensedAccess?: ('unlicensed' | 'anonymous')[];
13994
13993
  key: ModuleKeySchema;
13994
+ icon?: string;
13995
13995
  }
13996
13996
  | {
13997
13997
  title?:
@@ -14011,9 +14011,9 @@ export interface Modules {
14011
14011
  resourceUploadId?: string;
14012
14012
  render: 'native' | 'default';
14013
14013
  routePrefix: string;
14014
- icon?: string;
14015
14014
  unlicensedAccess?: ('unlicensed' | 'anonymous')[];
14016
14015
  key: ModuleKeySchema;
14016
+ icon?: string;
14017
14017
  }
14018
14018
  )[]
14019
14019
  ];
@@ -17024,8 +17024,8 @@ export interface Modules {
17024
17024
  };
17025
17025
  title__i18n?: string;
17026
17026
  routePrefix: string;
17027
- icon?: string;
17028
17027
  key: ModuleKeySchema;
17028
+ icon?: string;
17029
17029
  }
17030
17030
  | {
17031
17031
  resource: string;
@@ -17045,8 +17045,8 @@ export interface Modules {
17045
17045
  };
17046
17046
  title__i18n?: string;
17047
17047
  routePrefix: string;
17048
- icon?: string;
17049
17048
  key: ModuleKeySchema;
17049
+ icon?: string;
17050
17050
  }
17051
17051
  ),
17052
17052
  ...(
@@ -17067,8 +17067,8 @@ export interface Modules {
17067
17067
  };
17068
17068
  title__i18n?: string;
17069
17069
  routePrefix: string;
17070
- icon?: string;
17071
17070
  key: ModuleKeySchema;
17071
+ icon?: string;
17072
17072
  }
17073
17073
  | {
17074
17074
  resource: string;
@@ -17088,8 +17088,8 @@ export interface Modules {
17088
17088
  };
17089
17089
  title__i18n?: string;
17090
17090
  routePrefix: string;
17091
- icon?: string;
17092
17091
  key: ModuleKeySchema;
17092
+ icon?: string;
17093
17093
  }
17094
17094
  )[]
17095
17095
  ];
@@ -24990,7 +24990,6 @@ export interface Modules {
24990
24990
  }
24991
24991
  | string;
24992
24992
  title__i18n?: string;
24993
- routePrefix: string;
24994
24993
  icon?: string;
24995
24994
  resource: string;
24996
24995
  resourceUploadId?: string;
@@ -25002,6 +25001,7 @@ export interface Modules {
25002
25001
  endpoint: string;
25003
25002
  };
25004
25003
  key: ModuleKeySchema;
25004
+ render: 'native';
25005
25005
  }
25006
25006
  | {
25007
25007
  title?:
@@ -25019,8 +25019,7 @@ export interface Modules {
25019
25019
  };
25020
25020
  resource: string;
25021
25021
  resourceUploadId?: string;
25022
- render: 'native' | 'default';
25023
- routePrefix: string;
25022
+ render: 'native';
25024
25023
  icon?: string;
25025
25024
  key: ModuleKeySchema;
25026
25025
  }
@@ -25033,7 +25032,6 @@ export interface Modules {
25033
25032
  }
25034
25033
  | string;
25035
25034
  title__i18n?: string;
25036
- routePrefix: string;
25037
25035
  icon?: string;
25038
25036
  resource: string;
25039
25037
  resourceUploadId?: string;
@@ -25045,6 +25043,7 @@ export interface Modules {
25045
25043
  endpoint: string;
25046
25044
  };
25047
25045
  key: ModuleKeySchema;
25046
+ render: 'native';
25048
25047
  }
25049
25048
  | {
25050
25049
  title?:
@@ -25062,8 +25061,7 @@ export interface Modules {
25062
25061
  };
25063
25062
  resource: string;
25064
25063
  resourceUploadId?: string;
25065
- render: 'native' | 'default';
25066
- routePrefix: string;
25064
+ render: 'native';
25067
25065
  icon?: string;
25068
25066
  key: ModuleKeySchema;
25069
25067
  }
@@ -170,8 +170,8 @@ export declare const errors: {
170
170
  missingRemote: () => string;
171
171
  };
172
172
  globalUi: {
173
- invalidRouteRegex: (pattern: string, keyName: string, index: number) => string;
174
173
  invalidIcon: (icon: string, keyName: string, index: number) => string;
174
+ renderMustBeNative: (keyName: string, index: number) => string;
175
175
  };
176
176
  };
177
177
  resources: {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"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"}
@@ -184,8 +184,8 @@ exports.errors = {
184
184
  missingRemote: () => `Missing remote in migration:dataResidency.`
185
185
  },
186
186
  globalUi: {
187
- invalidRouteRegex: (pattern, keyName, index) => `The routePrefix '${pattern}' at index '${index}' for key '${keyName}' needs to be in a valid URL route between 1-255 characters and contain only URL safe characters such as: a-z, 0-9 and '\' and '-'.`,
188
- invalidIcon: (icon, keyName, index) => `The icon '${icon}' at index '${index}' for key '${keyName}' needs to be a defined resource of file type svg.`
187
+ invalidIcon: (icon, keyName, index) => `The icon '${icon}' at index '${index}' for key '${keyName}' needs to be a defined resource of file type svg.`,
188
+ renderMustBeNative: (keyName, index) => `The render property at index '${index}' for key '${keyName}' must be set to 'native' for global:ui modules.`
189
189
  }
190
190
  },
191
191
  resources: {
@@ -1 +1 @@
1
- {"version":3,"file":"validate-global-ui.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/global/validate-global-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA0BjE,eAAO,MAAM,gBAAgB,YAAa,OAAO,sBAAsB,MAAM,EAAE,KAAG,eAAe,EA2ChG,CAAC"}
1
+ {"version":3,"file":"validate-global-ui.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/global/validate-global-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA0BjE,eAAO,MAAM,gBAAgB,YAAa,OAAO,sBAAsB,MAAM,EAAE,KAAG,eAAe,EA6ChG,CAAC"}
@@ -20,19 +20,22 @@ const validateGlobalUi = (modules, yamlContentByLine) => {
20
20
  return validationErrors;
21
21
  }
22
22
  globalUiModules.forEach((module, index) => {
23
- validationErrors.push(...(0, validateGlobalModules_1.validateRoute)(module.key, module.routePrefix, index, errorMessages).map((error) => ({
24
- message: error.message,
25
- reference: text_1.References.Modules,
26
- level: 'error',
27
- ...(0, utils_1.findPosition)(error.moduleKey, yamlContentByLine)
28
- })), ...(module.icon
29
- ? (0, validateGlobalModules_1.validateIcon)(module.key, module.icon, index, errorMessages).map((error) => ({
23
+ if (module.render !== 'native') {
24
+ validationErrors.push({
25
+ message: errorMessages.renderMustBeNative(module.key, index),
26
+ reference: text_1.References.Modules,
27
+ level: 'error',
28
+ ...(0, utils_1.findPosition)(module.key, yamlContentByLine)
29
+ });
30
+ }
31
+ if (module.icon) {
32
+ validationErrors.push(...(0, validateGlobalModules_1.validateIcon)(module.key, module.icon, index, errorMessages).map((error) => ({
30
33
  message: error.message,
31
34
  reference: text_1.References.Modules,
32
35
  level: 'error',
33
36
  ...(0, utils_1.findPosition)(error.moduleKey, yamlContentByLine)
34
- }))
35
- : []));
37
+ })));
38
+ }
36
39
  });
37
40
  return validationErrors;
38
41
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/manifest",
3
- "version": "12.5.0",
3
+ "version": "12.6.0-next.0-experimental-5b726e6",
4
4
  "description": "Definitions and validations of the Forge manifest",
5
5
  "main": "out/index.js",
6
6
  "scripts": {