@forge/lint 3.2.7 → 3.2.8-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,21 @@
1
1
  # @forge/lint
2
2
 
3
+ ## 3.2.8-next.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 652e9f23: Bump Typescript and ESlint to latest
8
+ - Updated dependencies [652e9f23]
9
+ - @forge/cli-shared@3.2.2-next.1
10
+
11
+ ## 3.2.8-next.0
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies [138bb0a]
16
+ - @forge/manifest@4.4.1-next.0
17
+ - @forge/cli-shared@3.2.2-next.0
18
+
3
19
  ## 3.2.7
4
20
 
5
21
  ### Patch Changes
@@ -29,7 +29,7 @@ class BaseLinter extends abstract_linter_1.AbstractLinter {
29
29
  const lintIssues = await Promise.all(Object.entries(lintCriteriaMatches).map(async ([matchCategory, matches]) => {
30
30
  return this.verifiers[matchCategory].process(matches);
31
31
  }));
32
- return cli_shared_1.flat(lintIssues);
32
+ return (0, cli_shared_1.flat)(lintIssues);
33
33
  }
34
34
  async execute({ ast, filepath, fixer }) {
35
35
  const lintResult = new linter_interface_1.LintResult(filepath, fixer);
@@ -1 +1 @@
1
- {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/lint/lint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAkB,MAAM,oBAAoB,CAAC;AAQxG,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,iBAAiB,WAAY,UAAU,eAAe,UAAU,EAAE,4BAAuB,IA+CrG,CAAC;AAEF,eAAO,MAAM,YAAY,gBAAiB,UAAU,EAAE,KAAG,YAQxD,CAAC;AAEF,eAAO,MAAM,eAAe,aAChB,MAAM,UACR,OAAO,QAAQ,oBACN,OAAO,EAAE,CAAC,QAAQ,CAAC,aAAa,KAChD,OAAO,CAAC,SAAS,CAOnB,CAAC;AAEF,eAAO,MAAM,IAAI,gBACF,MAAM,EAAE,YACX,QAAQ,eACL,MAAM,UACX,UAAU,6BAhBR,MAAM,UACR,OAAO,QAAQ,oBACN,OAAO,EAAE,CAAC,QAAQ,CAAC,aAAa,KAChD,OAAO,CAAC,SAAS,CAAC,YAeV,eAAe,EAAE,KAOzB,OAAO,CAAC,UAAU,EAAE,CAmCtB,CAAC;AAEF,eAAO,MAAM,QAAQ,WACX,UAAU,WACV,eAAe,KACtB,OAAO,CAAC,UAAU,EAAE,CAGtB,CAAC"}
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/lint/lint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAkB,MAAM,oBAAoB,CAAC;AAQxG,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,iBAAiB,WAAY,UAAU,eAAe,UAAU,EAAE,4BAAuB,IA+CrG,CAAC;AAEF,eAAO,MAAM,YAAY,gBAAiB,UAAU,EAAE,KAAG,YAQxD,CAAC;AAEF,eAAO,MAAM,eAAe,aAChB,MAAM,UACR,eAAe,oBACN,OAAO,GAAG,QAAQ,CAAC,aAAa,KAChD,QAAQ,SAAS,CAOnB,CAAC;AAEF,eAAO,MAAM,IAAI,gBACF,MAAM,EAAE,YACX,QAAQ,eACL,MAAM,UACX,UAAU,6BAhBR,MAAM,UACR,eAAe,oBACN,OAAO,GAAG,QAAQ,CAAC,aAAa,KAChD,QAAQ,SAAS,CAAC,YAeV,eAAe,EAAE,KAOzB,QAAQ,UAAU,EAAE,CAmCtB,CAAC;AAEF,eAAO,MAAM,QAAQ,WACX,UAAU,WACV,eAAe,KACtB,QAAQ,UAAU,EAAE,CAGtB,CAAC"}
package/out/lint/lint.js CHANGED
@@ -16,7 +16,7 @@ const deprecated_csp_permissions_manifest_linter_1 = require("./linters/manifest
16
16
  class FailedLinterError extends Error {
17
17
  }
18
18
  exports.FailedLinterError = FailedLinterError;
19
- exports.reportLintResults = (logger, lintResults, showSummary = true) => {
19
+ const reportLintResults = (logger, lintResults, showSummary = true) => {
20
20
  let numErrors = 0, numWarnings = 0;
21
21
  let noProblemsFound = true;
22
22
  if (lintResults.length) {
@@ -60,13 +60,15 @@ exports.reportLintResults = (logger, lintResults, showSummary = true) => {
60
60
  }
61
61
  }
62
62
  };
63
- exports.problemCount = (lintResults) => {
63
+ exports.reportLintResults = reportLintResults;
64
+ const problemCount = (lintResults) => {
64
65
  return lintResults.reduce((prev, curr) => ({
65
66
  errors: prev.errors + curr.errors.length,
66
67
  warnings: prev.warnings + curr.warnings.length
67
68
  }), { errors: 0, warnings: 0 });
68
69
  };
69
- exports.parseSourceFile = async (filepath, parser, readFilePromise = util_1.promisify(fs_1.default.readFile)) => {
70
+ exports.problemCount = problemCount;
71
+ const parseSourceFile = async (filepath, parser, readFilePromise = (0, util_1.promisify)(fs_1.default.readFile)) => {
70
72
  const code = await readFilePromise(filepath, { encoding: 'utf-8' });
71
73
  const parseResult = await parser(code, filepath);
72
74
  return {
@@ -74,14 +76,15 @@ exports.parseSourceFile = async (filepath, parser, readFilePromise = util_1.prom
74
76
  filepath
75
77
  };
76
78
  };
77
- exports.lint = async (filesToLint, manifest, environment, logger, parseFunction = exports.parseSourceFile, linters = [
79
+ exports.parseSourceFile = parseSourceFile;
80
+ const lint = async (filesToLint, manifest, environment, logger, parseFunction = exports.parseSourceFile, linters = [
78
81
  new permission_linter_1.PermissionLinter(environment, manifest, logger),
79
82
  new permissions_manifest_linter_1.PermissionsManifestLinter(logger),
80
83
  new deprecated_csp_permissions_manifest_linter_1.DeprecatedCspPermissionsManifestLinter(logger),
81
84
  new full_manifest_linter_1.FullManifestLinter(logger),
82
85
  new handler_linter_1.HandlerLinter(environment, manifest, logger)
83
86
  ]) => {
84
- const { include, exclude } = await cli_shared_1.listTSConfigIncludeExclude(new cli_shared_1.FileSystemReader());
87
+ const { include, exclude } = await (0, cli_shared_1.listTSConfigIncludeExclude)(new cli_shared_1.FileSystemReader());
85
88
  const tsInclude = new Set(include);
86
89
  const tsExclude = new Set(exclude);
87
90
  const lintInputs = (await Promise.all(filesToLint.map(async (filepath) => {
@@ -108,7 +111,9 @@ exports.lint = async (filesToLint, manifest, environment, logger, parseFunction
108
111
  return result;
109
112
  });
110
113
  };
111
- exports.litelint = async (logger, linter = new basic_manifest_linter_1.BasicManifestLinter(logger)) => {
114
+ exports.lint = lint;
115
+ const litelint = async (logger, linter = new basic_manifest_linter_1.BasicManifestLinter(logger)) => {
112
116
  await linter.bootstrap();
113
117
  return linter.batchExecute();
114
118
  };
119
+ exports.litelint = litelint;
@@ -14,7 +14,7 @@ class HandlerLinter extends base_linter_1.default {
14
14
  }
15
15
  async bootstrap() {
16
16
  this.nodeVisitors = [new visitors_1.ExportedFunctionNodeVisitor()];
17
- const humanReadableEnvironment = cli_shared_1.environmentToOption(this.environment);
17
+ const humanReadableEnvironment = (0, cli_shared_1.environmentToOption)(this.environment);
18
18
  this.verifiers = {
19
19
  functionHandlers: new handlers_verifier_1.HandlersVerifier(humanReadableEnvironment, this.manifest)
20
20
  };
@@ -9,7 +9,7 @@ interface SwaggerFormat {
9
9
  };
10
10
  }
11
11
  export declare const NON_FWD_SLASH_REGEX = "[^\\/\\s]*";
12
- export declare const findMissingPermissions: (errors: LintResultRule[], warnings: LintResultRule[], permissionsType: 'missingPermission' | 'missingExternalFetchPermission' | 'missingContentStylePermission', state?: LintFixState | undefined) => Set<string>;
12
+ export declare const findMissingPermissions: (errors: LintResultRule[], warnings: LintResultRule[], permissionsType: 'missingPermission' | 'missingExternalFetchPermission' | 'missingContentStylePermission', state?: LintFixState) => Set<string>;
13
13
  export declare const fixMissingPermissions: (errors: LintResultRule[], warnings: LintResultRule[], state: LintFixState) => Promise<LintFixState>;
14
14
  interface PermissionLintCriteriaMatches {
15
15
  [key: string]: ApiCall[];
@@ -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,cAAc,EACd,cAAc,EACd,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAML,WAAW,EAGZ,MAAM,aAAa,CAAC;AAUrB,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,mBACT,mBAAmB,GAAG,gCAAgC,GAAG,+BAA+B,uCAExG,GAAG,CAAC,MAAM,CAkBZ,CAAC;AAEF,eAAO,MAAM,qBAAqB,WACxB,cAAc,EAAE,YACd,cAAc,EAAE,SACnB,YAAY,KAClB,OAAO,CAAC,YAAY,CAsEtB,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;CAC7B;AAED,qBAAa,gBAAiB,SAAQ,UAAU,CAAC,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,CAAC;IAUhE,OAAO,CAAC,QAAQ;IATjD,MAAM,CAAC,cAAc,SAAgC;IACrD,MAAM,CAAC,aAAa,SAA+B;IACnD,MAAM,CAAC,aAAa,SAA+B;IACnD,MAAM,CAAC,oBAAoB,SAAsC;IAEjE,OAAO,CAAC,IAAI,CAAC,CAA0B;IACvC,OAAO,CAAC,UAAU,CAAC,CAA0B;IAC7C,OAAO,CAAC,KAAK,CAAC,CAAa;gBAEf,WAAW,EAAE,MAAM,EAAU,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU;IAIlE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgEvC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAajD,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;IAsB3D,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,cAAc,EACd,cAAc,EACd,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAML,WAAW,EAGZ,MAAM,aAAa,CAAC;AAUrB,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,mBACT,mBAAmB,GAAG,gCAAgC,GAAG,+BAA+B,UACjG,YAAY,KACnB,IAAI,MAAM,CAkBZ,CAAC;AAEF,eAAO,MAAM,qBAAqB,WACxB,cAAc,EAAE,YACd,cAAc,EAAE,SACnB,YAAY,KAClB,QAAQ,YAAY,CAsEtB,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;CAC7B;AAED,qBAAa,gBAAiB,SAAQ,UAAU,CAAC,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,CAAC;IAUhE,OAAO,CAAC,QAAQ;IATjD,MAAM,CAAC,cAAc,SAAgC;IACrD,MAAM,CAAC,aAAa,SAA+B;IACnD,MAAM,CAAC,aAAa,SAA+B;IACnD,MAAM,CAAC,oBAAoB,SAAsC;IAEjE,OAAO,CAAC,IAAI,CAAC,CAA0B;IACvC,OAAO,CAAC,UAAU,CAAC,CAA0B;IAC7C,OAAO,CAAC,KAAK,CAAC,CAAa;gBAEf,WAAW,EAAE,MAAM,EAAU,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU;IAIlE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgEvC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAajD,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;IAsB3D,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"}
@@ -12,7 +12,7 @@ const fs_1 = tslib_1.__importDefault(require("fs"));
12
12
  exports.NON_FWD_SLASH_REGEX = '[^\\/\\s]*';
13
13
  const CACHE_KEY = 'PERMISSIONS_LINTER';
14
14
  const ONE_HOUR_MS = 1000 * 60 * 60;
15
- exports.findMissingPermissions = (errors, warnings, permissionsType, state) => {
15
+ const findMissingPermissions = (errors, warnings, permissionsType, state) => {
16
16
  const missingPermissions = new Set();
17
17
  errors.forEach(({ metadata }) => {
18
18
  if (metadata && metadata[permissionsType]) {
@@ -30,11 +30,12 @@ exports.findMissingPermissions = (errors, warnings, permissionsType, state) => {
30
30
  });
31
31
  return missingPermissions;
32
32
  };
33
- exports.fixMissingPermissions = async (errors, warnings, state) => {
33
+ exports.findMissingPermissions = findMissingPermissions;
34
+ const fixMissingPermissions = async (errors, warnings, state) => {
34
35
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
35
- const missingScopes = exports.findMissingPermissions(errors, warnings, 'missingPermission', state);
36
- const missingExternalFetchBackend = exports.findMissingPermissions(errors, warnings, 'missingExternalFetchPermission', state);
37
- const missingContentStyle = exports.findMissingPermissions(errors, warnings, 'missingContentStylePermission', state);
36
+ const missingScopes = (0, exports.findMissingPermissions)(errors, warnings, 'missingPermission', state);
37
+ const missingExternalFetchBackend = (0, exports.findMissingPermissions)(errors, warnings, 'missingExternalFetchPermission', state);
38
+ const missingContentStyle = (0, exports.findMissingPermissions)(errors, warnings, 'missingContentStylePermission', state);
38
39
  const currentPermissions = (_b = (_a = (await state.configFile.readConfig())) === null || _a === void 0 ? void 0 : _a.permissions) !== null && _b !== void 0 ? _b : {};
39
40
  const currentRemotes = (_d = (_c = (await state.configFile.readConfig())) === null || _c === void 0 ? void 0 : _c.remotes) !== null && _d !== void 0 ? _d : [];
40
41
  const currentScopes = (_e = currentPermissions === null || currentPermissions === void 0 ? void 0 : currentPermissions.scopes) !== null && _e !== void 0 ? _e : [];
@@ -75,6 +76,7 @@ exports.fixMissingPermissions = async (errors, warnings, state) => {
75
76
  : {})));
76
77
  return state;
77
78
  };
79
+ exports.fixMissingPermissions = fixMissingPermissions;
78
80
  class PermissionLinter extends base_linter_1.default {
79
81
  constructor(environment, manifest, logger) {
80
82
  super(environment, logger);
@@ -114,7 +116,7 @@ class PermissionLinter extends base_linter_1.default {
114
116
  new visitors_1.ExternalApiCallVisitor(),
115
117
  new visitors_1.ContentPropertyVisitor()
116
118
  ];
117
- const humanReadableEnvironment = cli_shared_1.environmentToOption(this.environment);
119
+ const humanReadableEnvironment = (0, cli_shared_1.environmentToOption)(this.environment);
118
120
  this.verifiers = {
119
121
  confluence: new verifiers_1.ProductVerifier(humanReadableEnvironment, this.manifest, this.confluence, 'confluence'),
120
122
  jira: new verifiers_1.ProductVerifier(humanReadableEnvironment, this.manifest, this.jira, 'jira'),
@@ -163,7 +165,7 @@ class PermissionLinter extends base_linter_1.default {
163
165
  var _a, _b;
164
166
  const cached = (_a = this.cache) === null || _a === void 0 ? void 0 : _a.get(cacheKey);
165
167
  if (!cached) {
166
- const response = await node_fetch_1.default(url);
168
+ const response = await (0, node_fetch_1.default)(url);
167
169
  const jsonBody = await response.json();
168
170
  void ((_b = this.cache) === null || _b === void 0 ? void 0 : _b.set(cacheKey, jsonBody, 12 * ONE_HOUR_MS));
169
171
  return jsonBody;
@@ -90,7 +90,7 @@ class ContentPropertyVerifier extends verifier_interface_1.BaseLintIssueVerifier
90
90
  getMissingScopes({ context, method }) {
91
91
  var _a, _b;
92
92
  const existingScopes = (_b = (_a = this.manifest) === null || _a === void 0 ? void 0 : _a.permissions) === null || _b === void 0 ? void 0 : _b.scopes;
93
- return manifest_1.getMissingScopes(existingScopes, exports.CONTENT_PROPERTY_PERMISSIONS_MAP[context][method]);
93
+ return (0, manifest_1.getMissingScopes)(existingScopes, exports.CONTENT_PROPERTY_PERMISSIONS_MAP[context][method]);
94
94
  }
95
95
  }
96
96
  exports.ContentPropertyVerifier = ContentPropertyVerifier;
@@ -35,7 +35,7 @@ class ProductVerifier extends verifier_interface_1.BaseLintIssueVerifier {
35
35
  for (const permission of missingScopes) {
36
36
  rules.push({
37
37
  class: this.getLintClass(),
38
- message: text_1.messages.verifiers.product.message(cli_shared_1.capitalise(this.product), apiCall.method.toUpperCase(), (_a = this.pathMap.get(apiCall.regex)) === null || _a === void 0 ? void 0 : _a.originalPath, permission),
38
+ message: text_1.messages.verifiers.product.message((0, cli_shared_1.capitalise)(this.product), apiCall.method.toUpperCase(), (_a = this.pathMap.get(apiCall.regex)) === null || _a === void 0 ? void 0 : _a.originalPath, permission),
39
39
  reference: text_1.messages.verifiers.product.reference,
40
40
  line: apiCall.line,
41
41
  column: apiCall.column,
@@ -59,7 +59,7 @@ class ProductVerifier extends verifier_interface_1.BaseLintIssueVerifier {
59
59
  var _a, _b;
60
60
  const current = this.getRequiredScopes(apiCall);
61
61
  const beta = this.getBetaScopes(apiCall);
62
- return manifest_1.getMissingScopes((_b = (_a = this.manifest) === null || _a === void 0 ? void 0 : _a.permissions) === null || _b === void 0 ? void 0 : _b.scopes, { current, beta });
62
+ return (0, manifest_1.getMissingScopes)((_b = (_a = this.manifest) === null || _a === void 0 ? void 0 : _a.permissions) === null || _b === void 0 ? void 0 : _b.scopes, { current, beta });
63
63
  }
64
64
  getRequiredScopes({ regex, method }) {
65
65
  var _a, _b, _c, _d;
@@ -67,7 +67,7 @@ class ProductVerifier extends verifier_interface_1.BaseLintIssueVerifier {
67
67
  return [];
68
68
  const oAuth2Scopes = (_b = (_a = this.pathMap.get(regex)) === null || _a === void 0 ? void 0 : _a.methods[method]) === null || _b === void 0 ? void 0 : _b['x-atlassian-oauth2-scopes'];
69
69
  if (oAuth2Scopes) {
70
- return array_prototype_flatmap_1.default(oAuth2Scopes.filter((scope) => scope.state === 'Current').map((scope) => scope.scopes), (x) => x);
70
+ return (0, array_prototype_flatmap_1.default)(oAuth2Scopes.filter((scope) => scope.state === 'Current').map((scope) => scope.scopes), (x) => x);
71
71
  }
72
72
  const swaggerEntries = (_d = (_c = this.pathMap.get(regex)) === null || _c === void 0 ? void 0 : _c.methods[method]) === null || _d === void 0 ? void 0 : _d.security;
73
73
  if (!swaggerEntries)
@@ -81,7 +81,7 @@ class ProductVerifier extends verifier_interface_1.BaseLintIssueVerifier {
81
81
  const oAuth2Scopes = (_b = (_a = this.pathMap.get(regex)) === null || _a === void 0 ? void 0 : _a.methods[method]) === null || _b === void 0 ? void 0 : _b['x-atlassian-oauth2-scopes'];
82
82
  if (!oAuth2Scopes)
83
83
  return [];
84
- return array_prototype_flatmap_1.default(oAuth2Scopes.filter((scope) => scope.state === 'Beta').map((scope) => scope.scopes), (x) => x);
84
+ return (0, array_prototype_flatmap_1.default)(oAuth2Scopes.filter((scope) => scope.state === 'Beta').map((scope) => scope.scopes), (x) => x);
85
85
  }
86
86
  }
87
87
  exports.ProductVerifier = ProductVerifier;
@@ -30,7 +30,7 @@ class UIHookVerifier extends verifier_interface_1.BaseLintIssueVerifier {
30
30
  const requiredPermissions = FORGE_UI_HOOK_PERMISSIONS[apiCall.hookName];
31
31
  if (!requiredPermissions)
32
32
  return rules;
33
- const missingPermissions = await manifest_1.getMissingScopes((_a = this.manifest.permissions) === null || _a === void 0 ? void 0 : _a.scopes, requiredPermissions);
33
+ const missingPermissions = await (0, manifest_1.getMissingScopes)((_a = this.manifest.permissions) === null || _a === void 0 ? void 0 : _a.scopes, requiredPermissions);
34
34
  missingPermissions.forEach((perm) => rules.push(this.getHookRule(apiCall, perm)));
35
35
  }
36
36
  return rules;
@@ -1 +1 @@
1
- {"version":3,"file":"product-node-visitor.d.ts","sourceRoot":"","sources":["../../../../../src/lint/linters/permission-linter/visitors/product-node-visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAgC,MAAM,uBAAuB,CAAC;AAE9E,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,qBAAa,kBAAmB,YAAW,WAAW,CAAC,OAAO,CAAC;IACtD,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAoChH,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,sBAAsB;CAsE/B"}
1
+ {"version":3,"file":"product-node-visitor.d.ts","sourceRoot":"","sources":["../../../../../src/lint/linters/permission-linter/visitors/product-node-visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAgC,MAAM,uBAAuB,CAAC;AAE9E,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,qBAAa,kBAAmB,YAAW,WAAW,CAAC,OAAO,CAAC;IACtD,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAoChH,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,sBAAsB;CAsE/B"}
@@ -15,5 +15,5 @@ export interface ParseOptions {
15
15
  project?: string;
16
16
  }
17
17
  export declare const createParseOptions: (absoluteFilePath: string, fileSystemReader: FileSystemReader) => ParseOptions;
18
- export declare const tsParser: (code: string, filepath: string, parseOptions?: Partial<ParseOptions> | undefined) => Promise<ASTParseResult>;
18
+ export declare const tsParser: (code: string, filepath: string, parseOptions?: Partial<ParseOptions>) => Promise<ASTParseResult>;
19
19
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parse/parser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,GAAG,EAGH,QAAQ,EACR,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAG9C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;CAC1D;AAGD,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;CACzE;AAKD,MAAM,WAAW,YAAY;IAC3B,2CAA2C,EAAE,IAAI,CAAC;IAClD,GAAG,EAAE,IAAI,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,qBAAsB,MAAM,oBAAoB,gBAAgB,KAAG,YAWjG,CAAC;AAEF,eAAO,MAAM,QAAQ,SACb,MAAM,YACF,MAAM,uDAEf,OAAO,CAAC,cAAc,CAYxB,CAAC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parse/parser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,GAAG,EAGH,QAAQ,EACR,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAG9C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;CAC1D;AAGD,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;CACzE;AAKD,MAAM,WAAW,YAAY;IAC3B,2CAA2C,EAAE,IAAI,CAAC;IAClD,GAAG,EAAE,IAAI,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,qBAAsB,MAAM,oBAAoB,gBAAgB,KAAG,YAWjG,CAAC;AAEF,eAAO,MAAM,QAAQ,SACb,MAAM,YACF,MAAM,iBACD,QAAQ,YAAY,CAAC,KACnC,QAAQ,cAAc,CAYxB,CAAC"}
@@ -6,19 +6,21 @@ const cli_shared_1 = require("@forge/cli-shared");
6
6
  const typescript_estree_1 = require("@typescript-eslint/typescript-estree");
7
7
  const path_1 = tslib_1.__importDefault(require("path"));
8
8
  const TSCONFIG_PATH = './tsconfig.json';
9
- exports.createParseOptions = (absoluteFilePath, fileSystemReader) => {
9
+ const createParseOptions = (absoluteFilePath, fileSystemReader) => {
10
10
  const tsconfigOptions = fileSystemReader.fileExists(TSCONFIG_PATH)
11
11
  ? { tsconfigRootDir: process.cwd(), project: TSCONFIG_PATH }
12
12
  : {};
13
13
  return Object.assign({ errorOnTypeScriptSyntacticAndSemanticIssues: true, loc: true, filePath: absoluteFilePath }, tsconfigOptions);
14
14
  };
15
- exports.tsParser = async (code, filepath, parseOptions) => {
15
+ exports.createParseOptions = createParseOptions;
16
+ const tsParser = async (code, filepath, parseOptions) => {
16
17
  const absoluteFilePath = path_1.default.resolve(process.cwd(), filepath);
17
- const parseResult = typescript_estree_1.parseAndGenerateServices(code, Object.assign(Object.assign({}, exports.createParseOptions(absoluteFilePath, new cli_shared_1.FileSystemReader())), parseOptions));
18
+ const parseResult = (0, typescript_estree_1.parseAndGenerateServices)(code, Object.assign(Object.assign({}, (0, exports.createParseOptions)(absoluteFilePath, new cli_shared_1.FileSystemReader())), parseOptions));
18
19
  return {
19
20
  parsed: parseResult.ast,
20
21
  traverse: (options) => {
21
- typescript_estree_1.simpleTraverse(parseResult.ast, options);
22
+ (0, typescript_estree_1.simpleTraverse)(parseResult.ast, options);
22
23
  }
23
24
  };
24
25
  };
26
+ exports.tsParser = tsParser;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/lint",
3
- "version": "3.2.7",
3
+ "version": "3.2.8-next.1",
4
4
  "description": "Linting for forge apps",
5
5
  "main": "out/index.js",
6
6
  "license": "UNLICENSED",
@@ -15,12 +15,12 @@
15
15
  "@types/node-fetch": "^2.5.7"
16
16
  },
17
17
  "dependencies": {
18
- "@forge/cli-shared": "3.2.1",
18
+ "@forge/cli-shared": "3.2.2-next.1",
19
19
  "@forge/egress": "^1.1.1",
20
- "@forge/manifest": "4.4.0",
21
- "@typescript-eslint/typescript-estree": "^3.5.0",
20
+ "@forge/manifest": "4.4.1-next.0",
21
+ "@typescript-eslint/typescript-estree": "^5.40.0",
22
+ "atlassian-openapi": "^1.0.13",
22
23
  "cross-spawn": "^7.0.1",
23
- "node-fetch": "2.6.1",
24
- "atlassian-openapi": "^1.0.13"
24
+ "node-fetch": "2.6.1"
25
25
  }
26
26
  }