@forge/lint 5.11.6-next.0 → 5.11.6-next.2

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.
Files changed (21) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/out/lint/linters/storage-module-linter/api-call-interface.d.ts +5 -4
  3. package/out/lint/linters/storage-module-linter/api-call-interface.d.ts.map +1 -1
  4. package/out/lint/linters/storage-module-linter/api-call-interface.js +1 -0
  5. package/out/lint/linters/storage-module-linter/storage-module-linter.d.ts +3 -2
  6. package/out/lint/linters/storage-module-linter/storage-module-linter.d.ts.map +1 -1
  7. package/out/lint/linters/storage-module-linter/storage-module-linter.js +34 -10
  8. package/out/lint/linters/storage-module-linter/verifiers/os-verifier.d.ts +8 -0
  9. package/out/lint/linters/storage-module-linter/verifiers/os-verifier.d.ts.map +1 -0
  10. package/out/lint/linters/storage-module-linter/verifiers/os-verifier.js +27 -0
  11. package/out/lint/linters/storage-module-linter/verifiers/sql-verifier.js +1 -1
  12. package/out/lint/linters/storage-module-linter/visitors/os-node-visitor.d.ts +7 -0
  13. package/out/lint/linters/storage-module-linter/visitors/os-node-visitor.d.ts.map +1 -0
  14. package/out/lint/linters/storage-module-linter/visitors/os-node-visitor.js +22 -0
  15. package/out/lint/linters/storage-module-linter/visitors/sql-node-visitor.d.ts +1 -4
  16. package/out/lint/linters/storage-module-linter/visitors/sql-node-visitor.d.ts.map +1 -1
  17. package/out/lint/linters/storage-module-linter/visitors/sql-node-visitor.js +2 -3
  18. package/out/lint/text/messages.d.ts +4 -0
  19. package/out/lint/text/messages.d.ts.map +1 -1
  20. package/out/lint/text/messages.js +4 -0
  21. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @forge/lint
2
2
 
3
+ ## 5.11.6-next.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [5403345]
8
+ - @forge/csp@5.2.0-next.1
9
+
10
+ ## 5.11.6-next.1
11
+
12
+ ### Patch Changes
13
+
14
+ - d23410f: Adds OS linter
15
+ - Updated dependencies [0ea6722]
16
+ - @forge/manifest@10.8.0-next.1
17
+ - @forge/cli-shared@8.8.1-next.1
18
+
3
19
  ## 5.11.6-next.0
4
20
 
5
21
  ### Patch Changes
@@ -1,10 +1,11 @@
1
1
  import { LintCriteriaMatch } from '../../linter-interface';
2
2
  export declare enum ApiCallTypes {
3
- 'SQL' = 0
3
+ 'SQL' = 0,
4
+ 'OS' = 1
4
5
  }
5
6
  export declare type ProductName = 'jira' | 'confluence' | 'bitbucket';
6
- export interface SqlCall extends LintCriteriaMatch {
7
- type: ApiCallTypes.SQL;
7
+ export interface StorageApiCall extends LintCriteriaMatch {
8
+ type: ApiCallTypes.SQL | ApiCallTypes.OS;
8
9
  }
9
- export declare type ApiCall = SqlCall;
10
+ export declare type ApiCall = StorageApiCall;
10
11
  //# sourceMappingURL=api-call-interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-call-interface.d.ts","sourceRoot":"","sources":["../../../../src/lint/linters/storage-module-linter/api-call-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,oBAAY,YAAY;IACtB,KAAK,IAAA;CACN;AAED,oBAAY,WAAW,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,CAAC;AAE9D,MAAM,WAAW,OAAQ,SAAQ,iBAAiB;IAChD,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC;CACxB;AAED,oBAAY,OAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"api-call-interface.d.ts","sourceRoot":"","sources":["../../../../src/lint/linters/storage-module-linter/api-call-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,oBAAY,YAAY;IACtB,KAAK,IAAA;IACL,IAAI,IAAA;CACL;AAED,oBAAY,WAAW,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,CAAC;AAE9D,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,IAAI,EAAE,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,EAAE,CAAC;CAC1C;AAED,oBAAY,OAAO,GAAG,cAAc,CAAC"}
@@ -4,4 +4,5 @@ exports.ApiCallTypes = void 0;
4
4
  var ApiCallTypes;
5
5
  (function (ApiCallTypes) {
6
6
  ApiCallTypes[ApiCallTypes["SQL"] = 0] = "SQL";
7
+ ApiCallTypes[ApiCallTypes["OS"] = 1] = "OS";
7
8
  })(ApiCallTypes = exports.ApiCallTypes || (exports.ApiCallTypes = {}));
@@ -1,10 +1,11 @@
1
1
  import { ManifestSchema as Manifest } from '@forge/manifest';
2
2
  import BaseLinter from '../../base-linter';
3
3
  import { LintFixState, LintLogger, LintResultRule } from '../../linter-interface';
4
- import { ApiCall, SqlCall } from './api-call-interface';
4
+ import { ApiCall, StorageApiCall } from './api-call-interface';
5
5
  interface StorageModuleLintCriteriaMatches {
6
6
  [key: string]: ApiCall[];
7
- sql: SqlCall[];
7
+ sql: StorageApiCall[];
8
+ os: StorageApiCall[];
8
9
  }
9
10
  export declare const fixMissingModules: (errors: LintResultRule[], warnings: LintResultRule[], state: LintFixState) => Promise<LintFixState>;
10
11
  export declare class StorageModulesLinter extends BaseLinter<ApiCall, StorageModuleLintCriteriaMatches, ApiCall[]> {
@@ -1 +1 @@
1
- {"version":3,"file":"storage-module-linter.d.ts","sourceRoot":"","sources":["../../../../src/lint/linters/storage-module-linter/storage-module-linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAW,MAAM,iBAAiB,CAAC;AACtE,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,OAAO,EAAgB,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAItE,UAAU,gCAAgC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;IACzB,GAAG,EAAE,OAAO,EAAE,CAAC;CAChB;AAMD,eAAO,MAAM,iBAAiB,WACpB,cAAc,EAAE,YACd,cAAc,EAAE,SACnB,YAAY,KAClB,QAAQ,YAAY,CAoBtB,CAAC;AACF,qBAAa,oBAAqB,SAAQ,UAAU,CAAC,OAAO,EAAE,gCAAgC,EAAE,OAAO,EAAE,CAAC;IAGtG,OAAO,CAAC,QAAQ;gBADhB,WAAW,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAC1B,MAAM,EAAE,UAAU;IAKP,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMjD,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;CAOzE"}
1
+ {"version":3,"file":"storage-module-linter.d.ts","sourceRoot":"","sources":["../../../../src/lint/linters/storage-module-linter/storage-module-linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAW,MAAM,iBAAiB,CAAC;AACtE,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,OAAO,EAAgB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM7E,UAAU,gCAAgC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;IACzB,GAAG,EAAE,cAAc,EAAE,CAAC;IACtB,EAAE,EAAE,cAAc,EAAE,CAAC;CACtB;AAaD,eAAO,MAAM,iBAAiB,WACpB,cAAc,EAAE,YACd,cAAc,EAAE,SACnB,YAAY,KAClB,QAAQ,YAAY,CAkCtB,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,UAAU,CAAC,OAAO,EAAE,gCAAgC,EAAE,OAAO,EAAE,CAAC;IAGtG,OAAO,CAAC,QAAQ;gBADhB,WAAW,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAC1B,MAAM,EAAE,UAAU;IAKP,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IASvC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAOjD,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;CAWzE"}
@@ -5,25 +5,44 @@ const tslib_1 = require("tslib");
5
5
  const base_linter_1 = tslib_1.__importDefault(require("../../base-linter"));
6
6
  const api_call_interface_1 = require("./api-call-interface");
7
7
  const sql_node_visitor_1 = require("./visitors/sql-node-visitor");
8
+ const os_node_visitor_1 = require("./visitors/os-node-visitor");
8
9
  const sql_verifier_1 = require("./verifiers/sql-verifier");
10
+ const os_verifier_1 = require("./verifiers/os-verifier");
9
11
  var SqlEngine;
10
12
  (function (SqlEngine) {
11
13
  SqlEngine["mysql"] = "mysql";
12
14
  })(SqlEngine || (SqlEngine = {}));
15
+ var ObjectStoreClass;
16
+ (function (ObjectStoreClass) {
17
+ ObjectStoreClass["standard"] = "standard";
18
+ })(ObjectStoreClass || (ObjectStoreClass = {}));
19
+ const SQL_MODULE = 'sql';
20
+ const OBJECT_STORE_MODULE = 'objectStore';
13
21
  const fixMissingModules = async (errors, warnings, state) => {
14
22
  const currentModules = (await state.configFile.readConfig())?.modules ?? {};
15
- if (warnings.length && !currentModules.sql) {
16
- const newModules = {
17
- ...currentModules,
18
- sql: [
23
+ const modulesToAdd = {};
24
+ if (warnings.length) {
25
+ const missingSQLModule = warnings.find((warning) => warning.metadata?.missingStorageModule === SQL_MODULE);
26
+ const missingOsModule = warnings.find((warning) => warning.metadata?.missingStorageModule === OBJECT_STORE_MODULE);
27
+ if (missingSQLModule && !currentModules.sql) {
28
+ modulesToAdd.sql = [
19
29
  {
20
30
  key: 'db',
21
31
  engine: SqlEngine.mysql
22
32
  }
23
- ]
24
- };
33
+ ];
34
+ }
35
+ if (missingOsModule && !currentModules.objectStore) {
36
+ modulesToAdd.objectStore = [
37
+ {
38
+ key: 'os',
39
+ storageClass: ObjectStoreClass.standard
40
+ }
41
+ ];
42
+ }
43
+ const newModules = { ...currentModules, ...modulesToAdd };
25
44
  await state.configFile.writeToConfigFile('modules', newModules);
26
- state.warningsFixed++;
45
+ state.warningsFixed += Object.keys(modulesToAdd).length;
27
46
  }
28
47
  return state;
29
48
  };
@@ -35,14 +54,16 @@ class StorageModulesLinter extends base_linter_1.default {
35
54
  this.manifest = manifest;
36
55
  }
37
56
  async bootstrap() {
38
- this.nodeVisitors = [new sql_node_visitor_1.SQLNodeVisitor()];
57
+ this.nodeVisitors = [new sql_node_visitor_1.SQLNodeVisitor(), new os_node_visitor_1.ObjectStoreNodeVisitor()];
39
58
  this.verifiers = {
40
- sql: new sql_verifier_1.SQLVerifier(this.environment, this.manifest)
59
+ sql: new sql_verifier_1.SQLVerifier(this.environment, this.manifest),
60
+ os: new os_verifier_1.OsVerifier(this.environment, this.manifest)
41
61
  };
42
62
  }
43
63
  setupMatchesMap(filepath) {
44
64
  this.matches.set(filepath, {
45
- sql: []
65
+ sql: [],
66
+ os: []
46
67
  });
47
68
  }
48
69
  getFixer() {
@@ -53,6 +74,9 @@ class StorageModulesLinter extends base_linter_1.default {
53
74
  if (apiCall.type === api_call_interface_1.ApiCallTypes.SQL) {
54
75
  criteriaMatches.sql.push(apiCall);
55
76
  }
77
+ if (apiCall.type === api_call_interface_1.ApiCallTypes.OS) {
78
+ criteriaMatches.os.push(apiCall);
79
+ }
56
80
  }
57
81
  }
58
82
  exports.StorageModulesLinter = StorageModulesLinter;
@@ -0,0 +1,8 @@
1
+ import { LintResultRule, LintClass } from '../../../linter-interface';
2
+ import { ApiCall } from '../api-call-interface';
3
+ import { LintIssueVerifier, BaseLintIssueVerifier } from '../../verifier-interface';
4
+ export declare class OsVerifier extends BaseLintIssueVerifier implements LintIssueVerifier<ApiCall[]> {
5
+ protected getLintClass(): LintClass;
6
+ process(apiCalls: ApiCall[]): Promise<LintResultRule[]>;
7
+ }
8
+ //# sourceMappingURL=os-verifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"os-verifier.d.ts","sourceRoot":"","sources":["../../../../../src/lint/linters/storage-module-linter/verifiers/os-verifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAKpF,qBAAa,UAAW,SAAQ,qBAAsB,YAAW,iBAAiB,CAAC,OAAO,EAAE,CAAC;IAC3F,SAAS,CAAC,YAAY,IAAI,SAAS;IAItB,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;CAerE"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OsVerifier = void 0;
4
+ const linter_interface_1 = require("../../../linter-interface");
5
+ const verifier_interface_1 = require("../../verifier-interface");
6
+ const text_1 = require("../../../text");
7
+ const OS_MODULE = 'objectStore';
8
+ class OsVerifier extends verifier_interface_1.BaseLintIssueVerifier {
9
+ getLintClass() {
10
+ return linter_interface_1.LintClass.Warning;
11
+ }
12
+ async process(apiCalls) {
13
+ if (this.manifest.modules && OS_MODULE in this.manifest.modules) {
14
+ return [];
15
+ }
16
+ return apiCalls.map((apiCall) => ({
17
+ class: this.getLintClass(),
18
+ message: text_1.messages.verifiers.os.message(OS_MODULE),
19
+ reference: text_1.messages.verifiers.os.reference,
20
+ ...apiCall,
21
+ metadata: {
22
+ missingStorageModule: OS_MODULE
23
+ }
24
+ }));
25
+ }
26
+ }
27
+ exports.OsVerifier = OsVerifier;
@@ -19,7 +19,7 @@ class SQLVerifier extends verifier_interface_1.BaseLintIssueVerifier {
19
19
  reference: text_1.messages.verifiers.sql.reference,
20
20
  ...apiCall,
21
21
  metadata: {
22
- missingSQLModule: SQL_MODULE
22
+ missingStorageModule: SQL_MODULE
23
23
  }
24
24
  }));
25
25
  }
@@ -0,0 +1,7 @@
1
+ import { TSESTree } from '@typescript-eslint/typescript-estree';
2
+ import { NodeVisitor } from '../../node-visitor-interface';
3
+ import { ApiCall } from '../api-call-interface';
4
+ export declare class ObjectStoreNodeVisitor implements NodeVisitor<ApiCall> {
5
+ visit(node: TSESTree.Node, _parent: TSESTree.Node | undefined, callback: (apiCall: ApiCall) => void): void;
6
+ }
7
+ //# sourceMappingURL=os-node-visitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"os-node-visitor.d.ts","sourceRoot":"","sources":["../../../../../src/lint/linters/storage-module-linter/visitors/os-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,EAAgB,MAAM,uBAAuB,CAAC;AAE9D,qBAAa,sBAAuB,YAAW,WAAW,CAAC,OAAO,CAAC;IAC1D,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;CAclH"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObjectStoreNodeVisitor = void 0;
4
+ const typescript_estree_1 = require("@typescript-eslint/typescript-estree");
5
+ const api_call_interface_1 = require("../api-call-interface");
6
+ class ObjectStoreNodeVisitor {
7
+ visit(node, _parent, callback) {
8
+ if (node.type === typescript_estree_1.AST_NODE_TYPES.ImportDeclaration && node.source.value === '@forge/os') {
9
+ node.specifiers.forEach((specifier) => {
10
+ if (specifier.type === 'ImportDefaultSpecifier' && specifier.local.type === 'Identifier') {
11
+ if (specifier.loc) {
12
+ callback({
13
+ type: api_call_interface_1.ApiCallTypes.OS,
14
+ ...specifier.loc.start
15
+ });
16
+ }
17
+ }
18
+ });
19
+ }
20
+ }
21
+ }
22
+ exports.ObjectStoreNodeVisitor = ObjectStoreNodeVisitor;
@@ -1,9 +1,6 @@
1
1
  import { TSESTree } from '@typescript-eslint/typescript-estree';
2
2
  import { NodeVisitor } from '../../node-visitor-interface';
3
- import { ApiCall, ApiCallTypes } from '../api-call-interface';
4
- export interface SQLApiCall extends ApiCall {
5
- type: ApiCallTypes.SQL;
6
- }
3
+ import { ApiCall } from '../api-call-interface';
7
4
  export declare class SQLNodeVisitor implements NodeVisitor<ApiCall> {
8
5
  visit(node: TSESTree.Node, _parent: TSESTree.Node | undefined, callback: (apiCall: ApiCall) => void): void;
9
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sql-node-visitor.d.ts","sourceRoot":"","sources":["../../../../../src/lint/linters/storage-module-linter/visitors/sql-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,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,UAAW,SAAQ,OAAO;IACzC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC;CACxB;AAED,qBAAa,cAAe,YAAW,WAAW,CAAC,OAAO,CAAC;IAClD,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;CAelH"}
1
+ {"version":3,"file":"sql-node-visitor.d.ts","sourceRoot":"","sources":["../../../../../src/lint/linters/storage-module-linter/visitors/sql-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,EAAgB,MAAM,uBAAuB,CAAC;AAE9D,qBAAa,cAAe,YAAW,WAAW,CAAC,OAAO,CAAC;IAClD,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;CAclH"}
@@ -9,11 +9,10 @@ class SQLNodeVisitor {
9
9
  node.specifiers.forEach((specifier) => {
10
10
  if (specifier.type === 'ImportDefaultSpecifier' && specifier.local.type === 'Identifier') {
11
11
  if (specifier.loc) {
12
- const sqlApiCall = {
12
+ callback({
13
13
  type: api_call_interface_1.ApiCallTypes.SQL,
14
14
  ...specifier.loc.start
15
- };
16
- callback(sqlApiCall);
15
+ });
17
16
  }
18
17
  }
19
18
  });
@@ -41,6 +41,10 @@ export declare const messages: {
41
41
  message: (module: string) => string;
42
42
  reference: string;
43
43
  };
44
+ os: {
45
+ message: (module: string) => string;
46
+ reference: string;
47
+ };
44
48
  frameComponentResource: {
45
49
  missing: {
46
50
  message: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/lint/text/messages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;2BAGA,MAAM;;;;2BAKN,MAAM;2BAER,MAAM;;;;2BAKJ,MAAM;;;;iCAKA,MAAM;;;;iCAKN,MAAM;;;;8BAKT,MAAM,OAAO,MAAM;;;;+BAKlB,MAAM,UAAU,MAAM,QAAQ,MAAM,GAAG,SAAS,SAAS,MAAM;;;;6BAKjE,MAAM;;;;+BAIJ,MAAM,QAAQ,MAAM,SAAS,MAAM;;;;8BAKpC,MAAM;;;;;;;;;oCASF,MAAM;;;;;CAOjC,CAAC"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/lint/text/messages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;2BAGA,MAAM;;;;2BAKN,MAAM;2BAER,MAAM;;;;2BAKJ,MAAM;;;;iCAKA,MAAM;;;;iCAKN,MAAM;;;;8BAKT,MAAM,OAAO,MAAM;;;;+BAKlB,MAAM,UAAU,MAAM,QAAQ,MAAM,GAAG,SAAS,SAAS,MAAM;;;;6BAKjE,MAAM;;;;+BAIJ,MAAM,QAAQ,MAAM,SAAS,MAAM;;;;8BAKpC,MAAM;;;;8BAIN,MAAM;;;;;;;;;oCASF,MAAM;;;;;CAOjC,CAAC"}
@@ -44,6 +44,10 @@ exports.messages = {
44
44
  message: (module) => `SQL package is used but '${module}' module is not defined in the manifest`,
45
45
  reference: 'https://developer.atlassian.com/platform/forge/manifest-reference/#modules'
46
46
  },
47
+ os: {
48
+ message: (module) => `OS package is used but '${module}' module is not defined in the manifest`,
49
+ reference: 'https://developer.atlassian.com/platform/forge/manifest-reference/#modules'
50
+ },
47
51
  frameComponentResource: {
48
52
  missing: {
49
53
  message: () => 'The "resource" property is missing in the Frame component',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/lint",
3
- "version": "5.11.6-next.0",
3
+ "version": "5.11.6-next.2",
4
4
  "description": "Linting for forge apps",
5
5
  "main": "out/index.js",
6
6
  "license": "SEE LICENSE IN LICENSE.txt",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "devDependencies": {
13
13
  "@atlassian/xen-test-util": "^4.2.0",
14
- "@forge/api": "^6.1.5-next.0",
14
+ "@forge/api": "^6.1.5-next.1",
15
15
  "@types/array.prototype.flatmap": "^1.2.6",
16
16
  "@types/cross-spawn": "^6.0.6",
17
17
  "@types/eslint": "8.56.12",
@@ -19,10 +19,10 @@
19
19
  "eslint-plugin-import": "^2.29.1"
20
20
  },
21
21
  "dependencies": {
22
- "@forge/cli-shared": "8.8.1-next.0",
23
- "@forge/csp": "5.1.2-next.0",
22
+ "@forge/cli-shared": "8.8.1-next.1",
23
+ "@forge/csp": "5.2.0-next.1",
24
24
  "@forge/egress": "2.1.1-next.0",
25
- "@forge/manifest": "10.7.1-next.0",
25
+ "@forge/manifest": "10.8.0-next.1",
26
26
  "@typescript-eslint/typescript-estree": "^5.62.0",
27
27
  "array.prototype.flatmap": "^1.3.3",
28
28
  "@atlassian/atlassian-openapi": "^1.0.6",