@apexdevtools/apex-parser 3.6.0 → 4.0.0

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.
@@ -33,6 +33,8 @@ import { CondExpressionContext } from "./ApexParser";
33
33
  import { AssignExpressionContext } from "./ApexParser";
34
34
  import { TriggerUnitContext } from "./ApexParser";
35
35
  import { TriggerCaseContext } from "./ApexParser";
36
+ import { TriggerBlockContext } from "./ApexParser";
37
+ import { TriggerBlockMemberContext } from "./ApexParser";
36
38
  import { CompilationUnitContext } from "./ApexParser";
37
39
  import { TypeDeclarationContext } from "./ApexParser";
38
40
  import { ClassDeclarationContext } from "./ApexParser";
@@ -45,6 +47,7 @@ import { InterfaceBodyContext } from "./ApexParser";
45
47
  import { ClassBodyDeclarationContext } from "./ApexParser";
46
48
  import { ModifierContext } from "./ApexParser";
47
49
  import { MemberDeclarationContext } from "./ApexParser";
50
+ import { TriggerMemberDeclarationContext } from "./ApexParser";
48
51
  import { MethodDeclarationContext } from "./ApexParser";
49
52
  import { ConstructorDeclarationContext } from "./ApexParser";
50
53
  import { FieldDeclarationContext } from "./ApexParser";
@@ -584,6 +587,26 @@ export interface ApexParserListener extends ParseTreeListener {
584
587
  * @param ctx the parse tree
585
588
  */
586
589
  exitTriggerCase?: (ctx: TriggerCaseContext) => void;
590
+ /**
591
+ * Enter a parse tree produced by `ApexParser.triggerBlock`.
592
+ * @param ctx the parse tree
593
+ */
594
+ enterTriggerBlock?: (ctx: TriggerBlockContext) => void;
595
+ /**
596
+ * Exit a parse tree produced by `ApexParser.triggerBlock`.
597
+ * @param ctx the parse tree
598
+ */
599
+ exitTriggerBlock?: (ctx: TriggerBlockContext) => void;
600
+ /**
601
+ * Enter a parse tree produced by `ApexParser.triggerBlockMember`.
602
+ * @param ctx the parse tree
603
+ */
604
+ enterTriggerBlockMember?: (ctx: TriggerBlockMemberContext) => void;
605
+ /**
606
+ * Exit a parse tree produced by `ApexParser.triggerBlockMember`.
607
+ * @param ctx the parse tree
608
+ */
609
+ exitTriggerBlockMember?: (ctx: TriggerBlockMemberContext) => void;
587
610
  /**
588
611
  * Enter a parse tree produced by `ApexParser.compilationUnit`.
589
612
  * @param ctx the parse tree
@@ -704,6 +727,16 @@ export interface ApexParserListener extends ParseTreeListener {
704
727
  * @param ctx the parse tree
705
728
  */
706
729
  exitMemberDeclaration?: (ctx: MemberDeclarationContext) => void;
730
+ /**
731
+ * Enter a parse tree produced by `ApexParser.triggerMemberDeclaration`.
732
+ * @param ctx the parse tree
733
+ */
734
+ enterTriggerMemberDeclaration?: (ctx: TriggerMemberDeclarationContext) => void;
735
+ /**
736
+ * Exit a parse tree produced by `ApexParser.triggerMemberDeclaration`.
737
+ * @param ctx the parse tree
738
+ */
739
+ exitTriggerMemberDeclaration?: (ctx: TriggerMemberDeclarationContext) => void;
707
740
  /**
708
741
  * Enter a parse tree produced by `ApexParser.methodDeclaration`.
709
742
  * @param ctx the parse tree
@@ -33,6 +33,8 @@ import { CondExpressionContext } from "./ApexParser";
33
33
  import { AssignExpressionContext } from "./ApexParser";
34
34
  import { TriggerUnitContext } from "./ApexParser";
35
35
  import { TriggerCaseContext } from "./ApexParser";
36
+ import { TriggerBlockContext } from "./ApexParser";
37
+ import { TriggerBlockMemberContext } from "./ApexParser";
36
38
  import { CompilationUnitContext } from "./ApexParser";
37
39
  import { TypeDeclarationContext } from "./ApexParser";
38
40
  import { ClassDeclarationContext } from "./ApexParser";
@@ -45,6 +47,7 @@ import { InterfaceBodyContext } from "./ApexParser";
45
47
  import { ClassBodyDeclarationContext } from "./ApexParser";
46
48
  import { ModifierContext } from "./ApexParser";
47
49
  import { MemberDeclarationContext } from "./ApexParser";
50
+ import { TriggerMemberDeclarationContext } from "./ApexParser";
48
51
  import { MethodDeclarationContext } from "./ApexParser";
49
52
  import { ConstructorDeclarationContext } from "./ApexParser";
50
53
  import { FieldDeclarationContext } from "./ApexParser";
@@ -419,6 +422,18 @@ export interface ApexParserVisitor<Result> extends ParseTreeVisitor<Result> {
419
422
  * @return the visitor result
420
423
  */
421
424
  visitTriggerCase?: (ctx: TriggerCaseContext) => Result;
425
+ /**
426
+ * Visit a parse tree produced by `ApexParser.triggerBlock`.
427
+ * @param ctx the parse tree
428
+ * @return the visitor result
429
+ */
430
+ visitTriggerBlock?: (ctx: TriggerBlockContext) => Result;
431
+ /**
432
+ * Visit a parse tree produced by `ApexParser.triggerBlockMember`.
433
+ * @param ctx the parse tree
434
+ * @return the visitor result
435
+ */
436
+ visitTriggerBlockMember?: (ctx: TriggerBlockMemberContext) => Result;
422
437
  /**
423
438
  * Visit a parse tree produced by `ApexParser.compilationUnit`.
424
439
  * @param ctx the parse tree
@@ -491,6 +506,12 @@ export interface ApexParserVisitor<Result> extends ParseTreeVisitor<Result> {
491
506
  * @return the visitor result
492
507
  */
493
508
  visitMemberDeclaration?: (ctx: MemberDeclarationContext) => Result;
509
+ /**
510
+ * Visit a parse tree produced by `ApexParser.triggerMemberDeclaration`.
511
+ * @param ctx the parse tree
512
+ * @return the visitor result
513
+ */
514
+ visitTriggerMemberDeclaration?: (ctx: TriggerMemberDeclarationContext) => Result;
494
515
  /**
495
516
  * Visit a parse tree produced by `ApexParser.methodDeclaration`.
496
517
  * @param ctx the parse tree
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ /*
3
+ Copyright (c) 2023 Kevin Jones, All rights reserved.
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions
6
+ are met:
7
+ 1. Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+ 2. Redistributions in binary form must reproduce the above copyright
10
+ notice, this list of conditions and the following disclaimer in the
11
+ documentation and/or other materials provided with the distribution.
12
+ 3. The name of the author may not be used to endorse or promote products
13
+ derived from this software without specific prior written permission.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ const ApexParser_1 = require("../ApexParser");
17
+ const SyntaxErrorCounter_1 = require("./SyntaxErrorCounter");
18
+ test('Empty Trigger', () => {
19
+ const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("trigger test on Account (before update, after update) {}");
20
+ const context = parser.triggerUnit();
21
+ expect(context).toBeInstanceOf(ApexParser_1.TriggerUnitContext);
22
+ expect(errorCounter.getNumErrors()).toEqual(0);
23
+ });
24
+ test('Trigger with statement', () => {
25
+ const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("trigger test on Account (before update, after update) {System.debug('');}");
26
+ const context = parser.triggerUnit();
27
+ expect(context).toBeInstanceOf(ApexParser_1.TriggerUnitContext);
28
+ expect(errorCounter.getNumErrors()).toEqual(0);
29
+ });
30
+ test('Trigger with method', () => {
31
+ const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("trigger test on Account (before update, after update) {public void func() {}}");
32
+ const context = parser.triggerUnit();
33
+ expect(context).toBeInstanceOf(ApexParser_1.TriggerUnitContext);
34
+ expect(errorCounter.getNumErrors()).toEqual(0);
35
+ });
36
+ test('Trigger with field', () => {
37
+ const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("trigger test on Account (before update, after update) {String a;}");
38
+ const context = parser.triggerUnit();
39
+ expect(context).toBeInstanceOf(ApexParser_1.TriggerUnitContext);
40
+ expect(errorCounter.getNumErrors()).toEqual(0);
41
+ });
42
+ test('Trigger with interface', () => {
43
+ const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("trigger test on Account (before update, after update) {interface Foo {}}");
44
+ const context = parser.triggerUnit();
45
+ expect(context).toBeInstanceOf(ApexParser_1.TriggerUnitContext);
46
+ expect(errorCounter.getNumErrors()).toEqual(0);
47
+ });
48
+ test('Trigger with class', () => {
49
+ const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("trigger test on Account (before update, after update) {class Foo {}}");
50
+ const context = parser.triggerUnit();
51
+ expect(context).toBeInstanceOf(ApexParser_1.TriggerUnitContext);
52
+ expect(errorCounter.getNumErrors()).toEqual(0);
53
+ });
54
+ test('Trigger with enum', () => {
55
+ const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("trigger test on Account (before update, after update) {enum Foo {}}");
56
+ const context = parser.triggerUnit();
57
+ expect(context).toBeInstanceOf(ApexParser_1.TriggerUnitContext);
58
+ expect(errorCounter.getNumErrors()).toEqual(0);
59
+ });
60
+ test('Trigger with property', () => {
61
+ const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("trigger test on Account (before update, after update) { String a {get { return a; } set { a = value; }} }");
62
+ const context = parser.triggerUnit();
63
+ expect(context).toBeInstanceOf(ApexParser_1.TriggerUnitContext);
64
+ expect(errorCounter.getNumErrors()).toEqual(0);
65
+ });
66
+ //# sourceMappingURL=ApexTriggerTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApexTriggerTest.js","sourceRoot":"","sources":["../../src/__tests__/ApexTriggerTest.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ describe("Parse samples", () => {
45
45
  const jvmCheck = (0, child_process_1.spawnSync)("java", [
46
46
  "-cp",
47
47
  "jvm/target/dependency/*:jvm/target/apex-parser.jar",
48
- "com.nawforce.apexparser.Check",
48
+ "io.github.apexdevtools.apexparser.Check",
49
49
  (0, path_1.resolve)(path, r.path)
50
50
  ], {
51
51
  // can only be run from npm dir
@@ -1 +1 @@
1
- {"version":3,"file":"SampleParseSys.js","sourceRoot":"","sources":["../../../src/__tests__/system/SampleParseSys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SampleParseSys.js","sourceRoot":"","sources":["../../../src/__tests__/system/SampleParseSys.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -102,7 +102,7 @@ function checkProject(pathStr) {
102
102
  const project = findProjectFile(path, 1);
103
103
  const packages = getProjectPackages(project);
104
104
  if (packages.length == 0) {
105
- console.log(`[${name}]: No valid SFDX project, checking all cls files`);
105
+ console.log(`[${name}]: No valid SFDX project, checking all cls & trigger files`);
106
106
  const result = yield check(path);
107
107
  return [Object.assign({ name, path: "." }, result)];
108
108
  }
@@ -123,33 +123,38 @@ exports.checkProject = checkProject;
123
123
  function parseFiles(path) {
124
124
  return __awaiter(this, void 0, void 0, function* () {
125
125
  const files = yield dir.promiseFiles(path);
126
- let parsedCount = 0;
127
- const errors = [];
128
- files.filter(name => name.endsWith(".cls")).forEach(file => {
129
- if ((0, fs_1.lstatSync)(file).isFile()) {
130
- const content = (0, fs_1.readFileSync)(file);
131
- const lexer = new ApexLexer_1.ApexLexer(new CaseInsensitiveInputStream_1.CaseInsensitiveInputStream(antlr4ts_1.CharStreams.fromString(content.toString())));
132
- const tokens = new antlr4ts_1.CommonTokenStream(lexer);
133
- const parser = new ApexParser_1.ApexParser(tokens);
134
- parser.removeErrorListeners();
135
- parser.addErrorListener(new ThrowingErrorListener_1.ThrowingErrorListener());
136
- try {
137
- parser.compilationUnit();
138
- }
139
- catch (err) {
140
- console.log(`Error parsing: ${file}`);
141
- console.log(err);
142
- errors.push({
143
- path: (0, path_1.relative)(path, file),
144
- error: JSON.stringify(err)
145
- });
146
- }
147
- parsedCount += 1;
126
+ const classErrors = parseByType(path, files, ".cls", (parser) => { parser.compilationUnit(); });
127
+ const triggerErrors = parseByType(path, files, ".trigger", (parser) => { parser.triggerUnit(); });
128
+ return classErrors.concat(triggerErrors);
129
+ });
130
+ }
131
+ function parseByType(rootPath, files, endsWith, operation) {
132
+ let parsedCount = 0;
133
+ const errors = [];
134
+ files.filter(name => name.endsWith(endsWith)).forEach(file => {
135
+ if ((0, fs_1.lstatSync)(file).isFile()) {
136
+ const content = (0, fs_1.readFileSync)(file);
137
+ const lexer = new ApexLexer_1.ApexLexer(new CaseInsensitiveInputStream_1.CaseInsensitiveInputStream(antlr4ts_1.CharStreams.fromString(content.toString())));
138
+ const tokens = new antlr4ts_1.CommonTokenStream(lexer);
139
+ const parser = new ApexParser_1.ApexParser(tokens);
140
+ parser.removeErrorListeners();
141
+ parser.addErrorListener(new ThrowingErrorListener_1.ThrowingErrorListener());
142
+ try {
143
+ operation(parser);
148
144
  }
149
- });
150
- console.log(`Parsed ${parsedCount} files in: ${path}`);
151
- return errors;
145
+ catch (err) {
146
+ console.log(`Error parsing: ${file}`);
147
+ console.log(err);
148
+ errors.push({
149
+ path: (0, path_1.relative)(rootPath, file),
150
+ error: JSON.stringify(err)
151
+ });
152
+ }
153
+ parsedCount += 1;
154
+ }
152
155
  });
156
+ console.log(`Parsed ${parsedCount} '${endsWith}' files in: ${rootPath}`);
157
+ return errors;
153
158
  }
154
159
  function findProjectFile(wd, depth) {
155
160
  const proj = "sfdx-project.json";
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apexdevtools/apex-parser",
3
- "version": "3.6.0",
3
+ "version": "4.0.0",
4
4
  "author": "Apex Dev Tools Team <apexdevtools@gmail.com> (https://github.com/apex-dev-tools)",
5
5
  "bugs": "https://github.com/apex-dev-tools/apex-parser/issues",
6
6
  "description": "Javascript parser for Salesforce Apex Language",