@forge/manifest 13.3.0-next.4 → 13.3.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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @forge/manifest
2
2
 
3
+ ## 13.3.0-next.6
4
+
5
+ ### Patch Changes
6
+
7
+ - e7bfe5e: Removing installationTarget
8
+
9
+ ## 13.3.0-next.5
10
+
11
+ ### Minor Changes
12
+
13
+ - d1610cc: Manual runtime packaging option
14
+
3
15
  ## 13.3.0-next.4
4
16
 
5
17
  ### Patch Changes
@@ -51,14 +51,6 @@
51
51
  "name"
52
52
  ]
53
53
  },
54
- "installationTarget": {
55
- "type": "string",
56
- "enum": [
57
- "site",
58
- "unit"
59
- ],
60
- "description": "The target of the app installation."
61
- },
62
54
  "compatibility": {
63
55
  "type": "object",
64
56
  "title": "compatibility",
@@ -320,9 +312,14 @@
320
312
  "type": "string",
321
313
  "enum": [
322
314
  "webpack",
323
- "typescript"
315
+ "typescript",
316
+ "manual@2026"
324
317
  ]
325
318
  },
319
+ "path": {
320
+ "description": "For manual packaging, path where the packaged runtime code is located.",
321
+ "type": "string"
322
+ },
326
323
  "extraFiles": {
327
324
  "description": "A list of files to include in the Forge app package.",
328
325
  "type": "array",
@@ -58,10 +58,6 @@ export interface App {
58
58
  description?: Description;
59
59
  id: Id;
60
60
  runtime: Runtime;
61
- /**
62
- * The target of the app installation.
63
- */
64
- installationTarget?: 'site' | 'unit';
65
61
  compatibility?: Compatibility;
66
62
  access?: Access;
67
63
  licensing?: Licensing;
@@ -234,7 +230,11 @@ export interface Package {
234
230
  /**
235
231
  * Bundler to use for packaging the runtime code.
236
232
  */
237
- bundler?: 'webpack' | 'typescript';
233
+ bundler?: 'webpack' | 'typescript' | 'manual@2026';
234
+ /**
235
+ * For manual packaging, path where the packaged runtime code is located.
236
+ */
237
+ path?: string;
238
238
  /**
239
239
  * A list of files to include in the Forge app package.
240
240
  */
@@ -51,14 +51,6 @@
51
51
  "name"
52
52
  ]
53
53
  },
54
- "installationTarget": {
55
- "type": "string",
56
- "enum": [
57
- "site",
58
- "unit"
59
- ],
60
- "description": "The target of the app installation."
61
- },
62
54
  "compatibility": {
63
55
  "type": "object",
64
56
  "title": "compatibility",
@@ -320,9 +312,14 @@
320
312
  "type": "string",
321
313
  "enum": [
322
314
  "webpack",
323
- "typescript"
315
+ "typescript",
316
+ "manual@2026"
324
317
  ]
325
318
  },
319
+ "path": {
320
+ "description": "For manual packaging, path where the packaged runtime code is located.",
321
+ "type": "string"
322
+ },
326
323
  "extraFiles": {
327
324
  "description": "A list of files to include in the Forge app package.",
328
325
  "type": "array",
@@ -864,10 +864,6 @@ export interface App {
864
864
  description?: Description;
865
865
  id: Id;
866
866
  runtime: Runtime;
867
- /**
868
- * The target of the app installation.
869
- */
870
- installationTarget?: 'site' | 'unit';
871
867
  compatibility?: Compatibility;
872
868
  access?: Access;
873
869
  licensing?: Licensing;
@@ -1040,7 +1036,11 @@ export interface Package {
1040
1036
  /**
1041
1037
  * Bundler to use for packaging the runtime code.
1042
1038
  */
1043
- bundler?: 'webpack' | 'typescript';
1039
+ bundler?: 'webpack' | 'typescript' | 'manual@2026';
1040
+ /**
1041
+ * For manual packaging, path where the packaged runtime code is located.
1042
+ */
1043
+ path?: string;
1044
1044
  /**
1045
1045
  * A list of files to include in the Forge app package.
1046
1046
  */
@@ -1 +1 @@
1
- {"version":3,"file":"compatibility-validator.d.ts","sourceRoot":"","sources":["../../src/validators/compatibility-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAmB,MAAM,UAAU,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAK3D,qBAAa,sBAAuB,YAAW,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC;IAC/F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;CA2ElG"}
1
+ {"version":3,"file":"compatibility-validator.d.ts","sourceRoot":"","sources":["../../src/validators/compatibility-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAmB,MAAM,UAAU,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAK3D,qBAAa,sBAAuB,YAAW,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC;IAC/F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;CAuElG"}
@@ -16,19 +16,15 @@ class CompatibilityValidator {
16
16
  const app = manifest.typedContent.app;
17
17
  const modules = manifest.typedContent.modules || {};
18
18
  const compatibility = app?.compatibility || {};
19
- const installationTarget = app?.installationTarget;
20
- const shouldCheckRequiredContext = installationTarget === undefined || installationTarget === 'site';
21
- if (shouldCheckRequiredContext) {
22
- const hasCompatibilityKeys = Object.keys(compatibility).length > 0;
23
- const requiredContexts = Object.keys(compatibility).filter((key) => compatibility[key]?.required === true);
24
- if (hasCompatibilityKeys && requiredContexts.length !== 1) {
25
- validationErrors.push({
26
- message: text_1.errors.app.compatibility.oneRequiredContext(),
27
- reference: text_2.References.SchemaError,
28
- level: 'error',
29
- ...(0, utils_1.findPosition)('compatibility', manifest.yamlContentByLine)
30
- });
31
- }
19
+ const hasCompatibilityKeys = Object.keys(compatibility).length > 0;
20
+ const requiredContexts = Object.keys(compatibility).filter((key) => compatibility[key]?.required === true);
21
+ if (hasCompatibilityKeys && requiredContexts.length !== 1) {
22
+ validationErrors.push({
23
+ message: text_1.errors.app.compatibility.oneRequiredContext(),
24
+ reference: text_2.References.SchemaError,
25
+ level: 'error',
26
+ ...(0, utils_1.findPosition)('compatibility', manifest.yamlContentByLine)
27
+ });
32
28
  }
33
29
  const isJiraPrimary = compatibility.jira?.required === true;
34
30
  const isConfluencePrimary = compatibility.confluence?.required === true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/manifest",
3
- "version": "13.3.0-next.4",
3
+ "version": "13.3.0-next.6",
4
4
  "description": "Definitions and validations of the Forge manifest",
5
5
  "main": "out/index.js",
6
6
  "scripts": {