@forge/lint 5.1.1 → 5.2.0-next.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @forge/lint
2
2
 
3
+ ## 5.2.0-next.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [b3d7850]
8
+ - Updated dependencies [a8cdbca]
9
+ - @forge/manifest@7.4.0-next.0
10
+ - @forge/cli-shared@5.0.1-next.0
11
+
12
+ ## 5.2.0-next.0
13
+
14
+ ### Minor Changes
15
+
16
+ - 07e4505: Validate Confluence V2 REST api requests against swagger
17
+
3
18
  ## 5.1.1
4
19
 
5
20
  ### Patch Changes
@@ -26,6 +26,7 @@ export declare class PermissionLinter extends BaseLinter<ApiCall, PermissionLint
26
26
  static JSM_CACHE_KEY: string;
27
27
  static JSW_CACHE_KEY: string;
28
28
  static CONFLUENCE_CACHE_KEY: string;
29
+ static CONFLUENCE_V2_CACHE_KEY: string;
29
30
  static BITBUCKET_CACHE_KEY: string;
30
31
  private jira?;
31
32
  private confluence?;
@@ -1 +1 @@
1
- {"version":3,"file":"permission-linter.d.ts","sourceRoot":"","sources":["../../../../src/lint/linters/permission-linter/permission-linter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,IAAI,QAAQ,EAAe,MAAM,iBAAiB,CAAC;AAE/E,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EACL,OAAO,EAEP,eAAe,EACf,QAAQ,EACR,cAAc,EACd,cAAc,EACd,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAOL,WAAW,EAGZ,MAAM,aAAa,CAAC;AAWrB,UAAU,aAAa;IACrB,KAAK,EAAE;QACL,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;KAC7B,CAAC;CACH;AAED,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAKhD,eAAO,MAAM,sBAAsB,WACzB,cAAc,EAAE,YACd,cAAc,EAAE,mBAEtB,mBAAmB,GACnB,gCAAgC,GAChC,+BAA+B,GAC/B,iCAAiC,UAC7B,YAAY,KACnB,IAAI,MAAM,CAkBZ,CAAC;AAEF,eAAO,MAAM,qBAAqB,WACxB,cAAc,EAAE,YACd,cAAc,EAAE,SACnB,YAAY,KAClB,QAAQ,YAAY,CAgEtB,CAAC;AAEF,UAAU,6BAA6B;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;IACzB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,qBAAa,gBAAiB,SAAQ,UAAU,CAAC,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,CAAC;IAc/F,OAAO,CAAC,QAAQ;IAblB,MAAM,CAAC,cAAc,SAAgC;IACrD,MAAM,CAAC,aAAa,SAA+B;IACnD,MAAM,CAAC,aAAa,SAA+B;IACnD,MAAM,CAAC,oBAAoB,SAAsC;IACjE,MAAM,CAAC,mBAAmB,SAAqC;IAE/D,OAAO,CAAC,IAAI,CAAC,CAA0B;IACvC,OAAO,CAAC,UAAU,CAAC,CAA0B;IAC7C,OAAO,CAAC,SAAS,CAAC,CAA0B;IAC5C,OAAO,CAAC,KAAK,CAAC,CAAa;gBAGzB,WAAW,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAC1B,MAAM,EAAE,UAAU;IAKP,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkFvC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAejD,SAAS,CAAC,QAAQ,IACd,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC,GACtG,SAAS;IAIb,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAyB3D,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAWtE,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAKrE,OAAO,CAAC,YAAY;CAarB"}
1
+ {"version":3,"file":"permission-linter.d.ts","sourceRoot":"","sources":["../../../../src/lint/linters/permission-linter/permission-linter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,IAAI,QAAQ,EAAe,MAAM,iBAAiB,CAAC;AAE/E,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EACL,OAAO,EAEP,eAAe,EACf,QAAQ,EACR,cAAc,EACd,cAAc,EACd,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAOL,WAAW,EAGZ,MAAM,aAAa,CAAC;AAWrB,UAAU,aAAa;IACrB,KAAK,EAAE;QACL,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;KAC7B,CAAC;CACH;AAED,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAKhD,eAAO,MAAM,sBAAsB,WACzB,cAAc,EAAE,YACd,cAAc,EAAE,mBAEtB,mBAAmB,GACnB,gCAAgC,GAChC,+BAA+B,GAC/B,iCAAiC,UAC7B,YAAY,KACnB,IAAI,MAAM,CAkBZ,CAAC;AAEF,eAAO,MAAM,qBAAqB,WACxB,cAAc,EAAE,YACd,cAAc,EAAE,SACnB,YAAY,KAClB,QAAQ,YAAY,CAgEtB,CAAC;AAEF,UAAU,6BAA6B;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;IACzB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,qBAAa,gBAAiB,SAAQ,UAAU,CAAC,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,CAAC;IAe/F,OAAO,CAAC,QAAQ;IAdlB,MAAM,CAAC,cAAc,SAAgC;IACrD,MAAM,CAAC,aAAa,SAA+B;IACnD,MAAM,CAAC,aAAa,SAA+B;IACnD,MAAM,CAAC,oBAAoB,SAAsC;IACjE,MAAM,CAAC,uBAAuB,SAAyC;IACvE,MAAM,CAAC,mBAAmB,SAAqC;IAE/D,OAAO,CAAC,IAAI,CAAC,CAA0B;IACvC,OAAO,CAAC,UAAU,CAAC,CAA0B;IAC7C,OAAO,CAAC,SAAS,CAAC,CAA0B;IAC5C,OAAO,CAAC,KAAK,CAAC,CAAa;gBAGzB,WAAW,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAC1B,MAAM,EAAE,UAAU;IAKP,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA6FvC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAejD,SAAS,CAAC,QAAQ,IACd,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC,GACtG,SAAS;IAIb,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAyB3D,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAWtE,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAKrE,OAAO,CAAC,YAAY;CAarB"}
@@ -91,6 +91,7 @@ class PermissionLinter extends base_linter_1.default {
91
91
  static JSM_CACHE_KEY = 'permissions-jsm-cache-key';
92
92
  static JSW_CACHE_KEY = 'permissions-jsw-cache-key';
93
93
  static CONFLUENCE_CACHE_KEY = 'permissions-confluence-cache-key';
94
+ static CONFLUENCE_V2_CACHE_KEY = 'permissions-confluence-v2-cache-key';
94
95
  static BITBUCKET_CACHE_KEY = 'permissions-bitbucket-cache-key';
95
96
  jira;
96
97
  confluence;
@@ -103,6 +104,7 @@ class PermissionLinter extends base_linter_1.default {
103
104
  async bootstrap() {
104
105
  this.cache = cli_shared_1.CachedConf.getCache(CACHE_KEY);
105
106
  const LOCAL_CONF_SWAGGER = process.env.LOCAL_CONF_SWAGGER;
107
+ const LOCAL_CONF_V2_SWAGGER = process.env.LOCAL_CONF_V2_SWAGGER;
106
108
  const LOCAL_JIRA_SWAGGER = process.env.LOCAL_JIRA_SWAGGER;
107
109
  const LOCAL_JSM_SWAGGER = process.env.LOCAL_JSM_SWAGGER;
108
110
  const LOCAL_JSW_SWAGGER = process.env.LOCAL_JSW_SWAGGER;
@@ -114,12 +116,14 @@ class PermissionLinter extends base_linter_1.default {
114
116
  LOCAL_JIRA_SWAGGER &&
115
117
  LOCAL_JSM_SWAGGER &&
116
118
  LOCAL_JSW_SWAGGER &&
117
- LOCAL_BB_SWAGGER) {
119
+ LOCAL_BB_SWAGGER &&
120
+ LOCAL_CONF_V2_SWAGGER) {
118
121
  swaggerFiles = [
119
122
  this.getProductPathsFile(LOCAL_JIRA_SWAGGER),
120
123
  this.getProductPathsFile(LOCAL_JSM_SWAGGER),
121
124
  this.getProductPathsFile(LOCAL_JSW_SWAGGER),
122
125
  this.getProductPathsFile(LOCAL_CONF_SWAGGER),
126
+ this.getProductPathsFile(LOCAL_CONF_V2_SWAGGER),
123
127
  this.getProductPathsFile(LOCAL_BB_SWAGGER)
124
128
  ];
125
129
  }
@@ -129,16 +133,20 @@ class PermissionLinter extends base_linter_1.default {
129
133
  this.getProductPaths(PermissionLinter.JSM_CACHE_KEY, 'https://developer.atlassian.com/cloud/jira/service-desk/swagger.v3.json'),
130
134
  this.getProductPaths(PermissionLinter.JSW_CACHE_KEY, 'https://developer.atlassian.com/cloud/jira/software/swagger.v3.json'),
131
135
  this.getProductPaths(PermissionLinter.CONFLUENCE_CACHE_KEY, 'https://developer.atlassian.com/cloud/confluence/swagger.v3.json'),
136
+ this.getProductPaths(PermissionLinter.CONFLUENCE_V2_CACHE_KEY, 'https://developer.atlassian.com/cloud/confluence/openapi-v2.v3.json'),
132
137
  this.getProductPaths(PermissionLinter.BITBUCKET_CACHE_KEY, 'https://developer.atlassian.com/cloud/bitbucket/swagger.json')
133
138
  ];
134
139
  }
135
- const [jiraSwagger, jsmSwagger, jswSwagger, confluenceSwagger, bitbucketSwagger] = await Promise.all(swaggerFiles);
140
+ const [jiraSwagger, jsmSwagger, jswSwagger, confluenceSwagger, confluenceV2Swagger, bitbucketSwagger] = await Promise.all(swaggerFiles);
136
141
  this.jira = this.processPaths({
137
142
  ...jiraSwagger.paths,
138
143
  ...jsmSwagger.paths,
139
144
  ...jswSwagger.paths
140
145
  });
141
- this.confluence = this.processPaths(confluenceSwagger.paths);
146
+ this.confluence = this.processPaths({
147
+ ...confluenceSwagger.paths,
148
+ ...confluenceV2Swagger.paths
149
+ });
142
150
  this.bitbucket = this.processPaths(bitbucketSwagger.paths);
143
151
  this.nodeVisitors = [
144
152
  new visitors_1.ProductNodeVisitor(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/lint",
3
- "version": "5.1.1",
3
+ "version": "5.2.0-next.1",
4
4
  "description": "Linting for forge apps",
5
5
  "main": "out/index.js",
6
6
  "license": "UNLICENSED",
@@ -18,9 +18,9 @@
18
18
  "eslint-plugin-import": "^2.29.1"
19
19
  },
20
20
  "dependencies": {
21
- "@forge/cli-shared": "5.0.0",
21
+ "@forge/cli-shared": "5.0.1-next.0",
22
22
  "@forge/egress": "1.2.13",
23
- "@forge/manifest": "7.3.0",
23
+ "@forge/manifest": "7.4.0-next.0",
24
24
  "@typescript-eslint/typescript-estree": "^5.62.0",
25
25
  "array.prototype.flatmap": "^1.3.2",
26
26
  "atlassian-openapi": "^1.0.18",