@cparra/apexdocs 1.13.8 → 2.0.0-alpha.15
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/.eslintrc.js +12 -0
- package/.prettierrc.js +7 -0
- package/README.md +98 -31
- package/ROADMAP.md +18 -0
- package/docs/Gemfile.lock +49 -23
- package/docs/Sample-Classes/SampleClass.md +138 -115
- package/docs/Sample-Interfaces/SampleInterface.md +5 -7
- package/docs/index.md +12 -27
- package/examples/apex/SampleClass.cls +25 -8
- package/examples/apex/SampleInterface.cls +2 -3
- package/examples/{apex/SampleClass2.cls → force-app/main/default/classes/SampleClass.cls} +34 -17
- package/examples/force-app/main/default/classes/SampleInterface.cls +16 -0
- package/lib/cli/generate.js +17 -21
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -1
- package/lib/model/manifest-diff.d.ts +24 -2
- package/lib/model/manifest-diff.js +60 -2
- package/lib/model/manifest-diff.js.map +1 -1
- package/lib/service/apex-file-reader.d.ts +1 -1
- package/lib/service/apex-file-reader.js +4 -4
- package/lib/service/apex-file-reader.js.map +1 -1
- package/lib/settings.d.ts +17 -18
- package/lib/settings.js +27 -36
- package/package.json +19 -10
- package/src/application/Apexdocs.ts +40 -0
- package/src/cli/generate.ts +52 -64
- package/src/index.ts +1 -1
- package/src/model/__tests__/manifest-diff.spec.ts +142 -0
- package/src/model/__tests__/manifest.spec.ts +15 -0
- package/src/model/file.ts +23 -0
- package/src/model/manifest-diff.ts +94 -0
- package/src/model/manifest.ts +60 -0
- package/src/model/markdown-file.ts +56 -0
- package/src/model/markdown-generation-util/field-declaration-util.ts +42 -0
- package/src/model/markdown-generation-util/index.ts +3 -0
- package/src/model/markdown-generation-util/method-declaration-util.ts +128 -0
- package/src/model/markdown-generation-util/type-declaration-util.ts +29 -0
- package/src/model/markdown-home-file.ts +48 -0
- package/src/model/markdown-type-file.ts +75 -0
- package/src/service/__tests__/apex-file-reader.spec.ts +79 -0
- package/src/service/__tests__/manifest-factory.spec.ts +16 -0
- package/src/service/apex-file-reader.ts +44 -0
- package/src/service/file-system.ts +28 -0
- package/src/service/file-writer.ts +25 -0
- package/src/service/manifest-factory.ts +12 -0
- package/src/service/parser.ts +18 -0
- package/src/service/walkers/class-walker.ts +31 -0
- package/src/service/walkers/enum-walker.ts +8 -0
- package/src/service/walkers/interface-walker.ts +12 -0
- package/src/service/walkers/walker-factory.ts +19 -0
- package/src/service/walkers/walker.ts +35 -0
- package/src/settings.ts +57 -0
- package/src/transpiler/file-container.ts +13 -0
- package/src/transpiler/markdown/class-file-generatorHelper.ts +16 -0
- package/src/transpiler/markdown/docsify/docsify-docs-processor.ts +7 -0
- package/src/transpiler/markdown/jekyll/jekyll-docsProcessor.ts +22 -0
- package/src/transpiler/markdown/markdown-transpiler-base.ts +28 -0
- package/src/transpiler/processor-type-transpiler.ts +12 -0
- package/src/transpiler/transpiler.ts +18 -0
- package/src/util/logger.ts +31 -0
- package/tsconfig.json +9 -3
- package/.prettierrc +0 -5
- package/docs/Sample-Classes/SampleClass2.md +0 -115
- package/docs/single-file/Sample-Classes/SampleClass.md +0 -115
- package/examples/config/config.json +0 -5
- package/lib/AsJsDocsProcessor.d.ts +0 -9
- package/lib/AsJsDocsProcessor.js +0 -61
- package/lib/ClassFileGeneratorHelper.d.ts +0 -5
- package/lib/ClassFileGeneratorHelper.js +0 -30
- package/lib/ClassFileGeneratorHelper.test.d.ts +0 -1
- package/lib/ClassFileGeneratorHelper.test.js +0 -32
- package/lib/Command/Generate.d.ts +0 -2
- package/lib/Command/Generate.js +0 -54
- package/lib/Command/__test__/Generte.test.d.ts +0 -1
- package/lib/Command/__test__/Generte.test.js +0 -30
- package/lib/Configuration.d.ts +0 -34
- package/lib/Configuration.js +0 -37
- package/lib/DocsProcessor.d.ts +0 -7
- package/lib/DocsProcessor.js +0 -12
- package/lib/DocsifyDocsProcessor.d.ts +0 -4
- package/lib/DocsifyDocsProcessor.js +0 -9
- package/lib/DocsifyDocsProcessor.test.d.ts +0 -1
- package/lib/DocsifyDocsProcessor.test.js +0 -7
- package/lib/FileManager.d.ts +0 -6
- package/lib/FileManager.js +0 -28
- package/lib/JekyllDocsProcessor.d.ts +0 -9
- package/lib/JekyllDocsProcessor.js +0 -23
- package/lib/JekyllDocsProcessor.test.d.ts +0 -1
- package/lib/JekyllDocsProcessor.test.js +0 -21
- package/lib/JsHelper.d.ts +0 -12
- package/lib/JsHelper.js +0 -72
- package/lib/MarkdownDocsProcessor.d.ts +0 -22
- package/lib/MarkdownDocsProcessor.js +0 -360
- package/lib/MarkdownHelper.d.ts +0 -13
- package/lib/MarkdownHelper.js +0 -78
- package/lib/Parser/ClassParser.d.ts +0 -5
- package/lib/Parser/ClassParser.js +0 -83
- package/lib/Parser/EnumParser.d.ts +0 -5
- package/lib/Parser/EnumParser.js +0 -45
- package/lib/Parser/FileParser.d.ts +0 -8
- package/lib/Parser/FileParser.js +0 -211
- package/lib/Parser/MethodParser.d.ts +0 -5
- package/lib/Parser/MethodParser.js +0 -109
- package/lib/Parser/PropertyParser.d.ts +0 -5
- package/lib/Parser/PropertyParser.js +0 -46
- package/lib/Parser/__test__/ClassParser.test.d.ts +0 -1
- package/lib/Parser/__test__/ClassParser.test.js +0 -52
- package/lib/Parser/__test__/FileParser.test.d.ts +0 -1
- package/lib/Parser/__test__/FileParser.test.js +0 -12
- package/lib/Parser/__test__/MethodParser.test.d.ts +0 -1
- package/lib/Parser/__test__/MethodParser.test.js +0 -69
- package/lib/Parser/__test__/PropertyParser.test.d.ts +0 -1
- package/lib/Parser/__test__/PropertyParser.test.js +0 -14
- package/lib/Parser/__test__/testFileContents.d.ts +0 -1
- package/lib/Parser/__test__/testFileContents.js +0 -82
- package/lib/Settings.test.d.ts +0 -1
- package/lib/Settings.test.js +0 -38
- package/lib/model/ApexModel.d.ts +0 -30
- package/lib/model/ApexModel.js +0 -85
- package/lib/model/ClassModel.d.ts +0 -39
- package/lib/model/ClassModel.js +0 -125
- package/lib/model/EnumModel.d.ts +0 -6
- package/lib/model/EnumModel.js +0 -28
- package/lib/model/MethodModel.d.ts +0 -18
- package/lib/model/MethodModel.js +0 -74
- package/lib/model/PropertyModel.d.ts +0 -6
- package/lib/model/PropertyModel.js +0 -40
- package/lib/model/__test__/ClassModel.test.d.ts +0 -1
- package/lib/model/__test__/ClassModel.test.js +0 -79
- package/lib/model/__test__/MethodModel.test.d.ts +0 -1
- package/lib/model/__test__/MethodModel.test.js +0 -55
- package/lib/model/__test__/PropertyModel.test.d.ts +0 -1
- package/lib/model/__test__/PropertyModel.test.js +0 -25
- package/lib/utils.d.ts +0 -12
- package/lib/utils.js +0 -49
- package/lib/utils.test.d.ts +0 -1
- package/lib/utils.test.js +0 -35
- package/src/AsJsDocsProcessor.ts +0 -67
- package/src/ClassFileGeneratorHelper.test.ts +0 -44
- package/src/ClassFileGeneratorHelper.ts +0 -35
- package/src/Command/Generate.ts +0 -69
- package/src/Command/__test__/Generte.test.ts +0 -39
- package/src/Configuration.ts +0 -69
- package/src/DocsProcessor.ts +0 -15
- package/src/DocsifyDocsProcessor.test.ts +0 -6
- package/src/DocsifyDocsProcessor.ts +0 -7
- package/src/FileManager.ts +0 -32
- package/src/JekyllDocsProcessor.test.ts +0 -28
- package/src/JekyllDocsProcessor.ts +0 -26
- package/src/JsHelper.ts +0 -78
- package/src/MarkdownDocsProcessor.ts +0 -422
- package/src/MarkdownHelper.ts +0 -91
- package/src/Model/ApexModel.ts +0 -102
- package/src/Model/ClassModel.ts +0 -140
- package/src/Model/EnumModel.ts +0 -27
- package/src/Model/MethodModel.ts +0 -80
- package/src/Model/PropertyModel.ts +0 -37
- package/src/Model/__test__/ClassModel.test.ts +0 -100
- package/src/Model/__test__/MethodModel.test.ts +0 -70
- package/src/Model/__test__/PropertyModel.test.ts +0 -34
- package/src/Parser/ClassParser.ts +0 -88
- package/src/Parser/EnumParser.ts +0 -47
- package/src/Parser/FileParser.ts +0 -251
- package/src/Parser/MethodParser.ts +0 -119
- package/src/Parser/PropertyParser.ts +0 -46
- package/src/Parser/__test__/ClassParser.test.ts +0 -70
- package/src/Parser/__test__/FileParser.test.ts +0 -14
- package/src/Parser/__test__/MethodParser.test.ts +0 -90
- package/src/Parser/__test__/PropertyParser.test.ts +0 -18
- package/src/Parser/__test__/testFileContents.ts +0 -81
- package/src/Settings.test.ts +0 -54
- package/src/Settings.ts +0 -65
- package/src/utils.test.ts +0 -40
- package/src/utils.ts +0 -52
package/.eslintrc.js
ADDED
package/.prettierrc.js
ADDED
package/README.md
CHANGED
|
@@ -1,21 +1,76 @@
|
|
|
1
1
|
# ApexDocs
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<b>ApexDocs is a Node.js library with CLI capabilities to
|
|
4
|
+
<b>ApexDocs is a Node.js library with CLI capabilities to docGenerator documentation for Salesforce Apex classes.</b>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
[](https://github.com/cesarParra/apexdocs/blob/master/LICENSE)
|
|
8
8
|
|
|
9
9
|
## Description
|
|
10
10
|
|
|
11
|
-
ApexDocs was built as an alternative to
|
|
11
|
+
ApexDocs was originally built as an alternative to
|
|
12
|
+
the [Java based ApexDoc tool](https://github.com/SalesforceFoundation/ApexDoc) originally created by Aslam Bari and
|
|
13
|
+
later maintained by Salesforce.org, as that tool is no longer being maintained.
|
|
12
14
|
|
|
13
|
-
ApexDocs is a Node.js library built on Typescript and hosted on [npm](https://www.npmjs.com/package/@cparra/apexdocs).
|
|
15
|
+
ApexDocs is a Node.js library built on Typescript and hosted on [npm](https://www.npmjs.com/package/@cparra/apexdocs).
|
|
16
|
+
It offers CLI capabilities to automatically docGenerator a set of files that fully document each one of you classes.
|
|
17
|
+
Additionally, it can be imported and consumed directly by your JavaScript code.
|
|
14
18
|
|
|
15
19
|
There are some key differences between ApexDocs and the Java based ApexDoc tool:
|
|
16
20
|
|
|
17
|
-
- **Recursive file search through your module directory structure**. In an `sfdx` based project, all of your classes
|
|
18
|
-
|
|
21
|
+
- **Recursive file search through your module directory structure**. In an `sfdx` based project, all of your classes
|
|
22
|
+
will be documented by specifying the top-most directory where file search should begin.
|
|
23
|
+
- **Unopinionated documentation site generation**. Instead of creating HTML files, ApexDocs generates a Markdown (.md)
|
|
24
|
+
file per Apex class being documented. This means you can host your files in static web hosting services that parse
|
|
25
|
+
Markdown like Github Pages or Netlify, and use site generators like Jekyll or Gatsby. This gives you the freedom to
|
|
26
|
+
decide how to style your site to match your needs.
|
|
27
|
+
|
|
28
|
+
## Version 2.X
|
|
29
|
+
|
|
30
|
+
Version shares almost* all the same functionality (and more) of 1.X , but is a rewrite from the ground up of the tool,
|
|
31
|
+
so please be aware if migrating from a 1.X version.
|
|
32
|
+
|
|
33
|
+
The Apex code parsing logic for the 1.X codebase was almost a one-to-one translation of the Java based ApexDoc tool to
|
|
34
|
+
Javascript. With 2.X the parsing logic has been improved and extracted out of this codebase, and into its own standalone
|
|
35
|
+
NPM module which is solely focused on Apex code reflection: https://www.npmjs.com/package/@cparra/apex-reflection
|
|
36
|
+
|
|
37
|
+
This allows for an improved code quality of both code bases and an increased ease of introducing future improvements and
|
|
38
|
+
fixing issues.
|
|
39
|
+
|
|
40
|
+
But please be aware: migration to 2.X is not recommended at this time for production until a GA release.
|
|
41
|
+
|
|
42
|
+
### Differences between the versions
|
|
43
|
+
|
|
44
|
+
When migrating from 1.X please be aware of these changes between the major versions:
|
|
45
|
+
|
|
46
|
+
#### Deprecated features
|
|
47
|
+
|
|
48
|
+
* The `--group` CLI parameter has been deprecated. All files are grouped by default.
|
|
49
|
+
|
|
50
|
+
#### Features not yet migrated to 2.X
|
|
51
|
+
|
|
52
|
+
* The `--configPath` CLI parameter has been temporarily deprecated. We are planning on reintroducing it but the config
|
|
53
|
+
file will use a different format.
|
|
54
|
+
* Internal linking between files using the `@see` annotation and {@link FileName} and <<FileName>> syntax has not been
|
|
55
|
+
implemented.
|
|
56
|
+
|
|
57
|
+
#### New features
|
|
58
|
+
|
|
59
|
+
* All Apex annotations are now supported through the `--scope` CLI parameter, not just `namespaceaccessible`. This means
|
|
60
|
+
that scopes like `auraenabled`, `invocablemethod`, `invocablevariable`, `remoteaction`, and all other valid Apex
|
|
61
|
+
annotations are supported.
|
|
62
|
+
* Just like Javadoc, both `@throws` and `@exception` are supported when referencing an exception thrown by a method or
|
|
63
|
+
constructor.
|
|
64
|
+
* Any custom annotation defined in the Apexdoc is at the class level are supported, for example the following will be
|
|
65
|
+
output to the resulting markdown file:
|
|
66
|
+
|
|
67
|
+
```apex
|
|
68
|
+
/**
|
|
69
|
+
* @MyCustomAnnotation This is a custom annotation
|
|
70
|
+
*/
|
|
71
|
+
public class MyClass {
|
|
72
|
+
}
|
|
73
|
+
```
|
|
19
74
|
|
|
20
75
|
### Demo
|
|
21
76
|
|
|
@@ -23,7 +78,7 @@ ApexDocs currently supports generating markdown files for Jekyll and Docsify sit
|
|
|
23
78
|
|
|
24
79
|
### In the wild
|
|
25
80
|
|
|
26
|
-
- [Nimble AMS Docs](https://nimbleuser.github.io/nams-api-docs/#/
|
|
81
|
+
- [Nimble AMS Docs](https://nimbleuser.github.io/nams-api-docs/#/api-reference/)
|
|
27
82
|
- [Yet Another Salesforce Logger](https://cesarparra.github.io/yet-another-salesforce-logger/#/)
|
|
28
83
|
|
|
29
84
|
### [Docsify](https://docsify.js.org/)
|
|
@@ -41,7 +96,7 @@ Demo
|
|
|
41
96
|
## Installation
|
|
42
97
|
|
|
43
98
|
```bash
|
|
44
|
-
npm i @cparra/apexdocs
|
|
99
|
+
npm i -g @cparra/apexdocs
|
|
45
100
|
```
|
|
46
101
|
|
|
47
102
|
## Usage
|
|
@@ -65,12 +120,13 @@ The CLI supports the following parameters:
|
|
|
65
120
|
| --recursive | -r | Whether .cls classes will be searched for recursively in the directory provided. | `true` | No |
|
|
66
121
|
| --scope | -p | A list of scopes to document. Values should be separated by a space, e.g --scope public private | `global namespaceaccessible public` | No |
|
|
67
122
|
| --targetGenerator | -g | Define the static file generator for which the documents will be created. Currently supports jekyll and docsify. | `jekyll` | No |
|
|
68
|
-
| --configPath | -c | The path to the JSON configuration file that defines the structure of the documents to
|
|
123
|
+
| --configPath | -c | The path to the JSON configuration file that defines the structure of the documents to docGenerator. | N/A | No |
|
|
69
124
|
| --group | -o | Define whether the generated files should be grouped by the @group tag on the top level classes. | `true` | No |
|
|
70
125
|
|
|
71
126
|
#### Configuration File
|
|
72
127
|
|
|
73
|
-
You can optionally specify the path to a configuration JSON file through the `--configPath` parameter. This let's you
|
|
128
|
+
You can optionally specify the path to a configuration JSON file through the `--configPath` parameter. This let's you
|
|
129
|
+
have some additional control over the content outputs.
|
|
74
130
|
|
|
75
131
|
The configuration file allows you to specify the following:
|
|
76
132
|
|
|
@@ -80,7 +136,8 @@ _Note_: Everything in the configuration file is optional. When something is not
|
|
|
80
136
|
|
|
81
137
|
Default: None
|
|
82
138
|
|
|
83
|
-
Allows you to specify the root directory for where the files are being generated. This can be helpful when embedding the
|
|
139
|
+
Allows you to specify the root directory for where the files are being generated. This can be helpful when embedding the
|
|
140
|
+
generated docs into an existing site so that the links are generated correctly.
|
|
84
141
|
|
|
85
142
|
`defaultGroupName`
|
|
86
143
|
|
|
@@ -92,9 +149,11 @@ Defines the `@group` name to be used when a file does not specify it.
|
|
|
92
149
|
|
|
93
150
|
Default: None
|
|
94
151
|
|
|
95
|
-
Defines the name of the language that will be used when generating `@example` blocks. Use this when you are interested
|
|
152
|
+
Defines the name of the language that will be used when generating `@example` blocks. Use this when you are interested
|
|
153
|
+
in using syntax highlighting for your project.
|
|
96
154
|
|
|
97
|
-
Even though the source code material for which documentation is generated is always `Apex`, generally you will be able
|
|
155
|
+
Even though the source code material for which documentation is generated is always `Apex`, generally you will be able
|
|
156
|
+
to use a syntax highlighter that recognizes `java` source code, so set this value to `java` in those cases.
|
|
98
157
|
|
|
99
158
|
`home` (Object)
|
|
100
159
|
|
|
@@ -104,7 +163,8 @@ Gives you control over the home page.
|
|
|
104
163
|
|
|
105
164
|
Default: None
|
|
106
165
|
|
|
107
|
-
Allows you to
|
|
166
|
+
Allows you to embed custom content into your home page by using the `header` property to point to the file which
|
|
167
|
+
contents will be added to the top of the generated home page.
|
|
108
168
|
|
|
109
169
|
Specify the path with the content that you want to embed.
|
|
110
170
|
|
|
@@ -128,7 +188,9 @@ Whether the `@date` tag should be used to add the file's date to the page.
|
|
|
128
188
|
|
|
129
189
|
Default: 1
|
|
130
190
|
|
|
131
|
-
The starting H tag level for the document. Each title will use this as the starting point to
|
|
191
|
+
The starting H tag level for the document. Each title will use this as the starting point to docGenerator the
|
|
192
|
+
appropriate `<h#>` tag. For example, if set to 1, the class' file name at the top of the file will use an `<h1>` tag,
|
|
193
|
+
the `Properties` title will be `<h2>`, each property name will be an `<h3>`, etc.
|
|
132
194
|
|
|
133
195
|
```
|
|
134
196
|
{
|
|
@@ -150,9 +212,10 @@ The starting H tag level for the document. Each title will use this as the start
|
|
|
150
212
|
|
|
151
213
|
If you are just interested in the documentation parsing capabilities, you can import ApexDocs into your own project.
|
|
152
214
|
|
|
153
|
-
Use the `
|
|
215
|
+
Use the `docGenerator` function to create a list of `ClassModel` that includes all the parsed information from your .cls
|
|
216
|
+
files.
|
|
154
217
|
|
|
155
|
-
`
|
|
218
|
+
`docGenerator(sourceDirectory[,recursive][,scope][,outputDir])`
|
|
156
219
|
|
|
157
220
|
- `sourceDirectory` \<string>
|
|
158
221
|
- `recursive` \<boolean>
|
|
@@ -160,14 +223,15 @@ Use the `generate` function to create a list of `ClassModel` that includes all o
|
|
|
160
223
|
- `outpurDir` \<string>
|
|
161
224
|
|
|
162
225
|
```javascript
|
|
163
|
-
var {
|
|
226
|
+
var { docGenerator } = require('@cparra/apexdocs');
|
|
164
227
|
|
|
165
|
-
let documentedClasses =
|
|
228
|
+
let documentedClasses = docGenerator('src', true, ['global'], 'docs');
|
|
166
229
|
```
|
|
167
230
|
|
|
168
231
|
## Documentation Format
|
|
169
232
|
|
|
170
|
-
ApexDocs picks up blocks of comments throughout your `.cls` files. The block must begin with `/**` and span through
|
|
233
|
+
ApexDocs picks up blocks of comments throughout your `.cls` files. The block must begin with `/**` and span through
|
|
234
|
+
multiple lines, ending with `*/`.
|
|
171
235
|
|
|
172
236
|
### Documenting Classes
|
|
173
237
|
|
|
@@ -183,11 +247,12 @@ The following tags are supported on the class level:
|
|
|
183
247
|
|
|
184
248
|
**Example**
|
|
185
249
|
|
|
186
|
-
```
|
|
250
|
+
```apex
|
|
187
251
|
/**
|
|
188
252
|
* @description This is my class description.
|
|
189
253
|
*/
|
|
190
|
-
|
|
254
|
+
public with sharing class TestClass {
|
|
255
|
+
}
|
|
191
256
|
```
|
|
192
257
|
|
|
193
258
|
### Documenting Enums
|
|
@@ -200,11 +265,13 @@ The following tags are supported on the enum level:
|
|
|
200
265
|
|
|
201
266
|
**Example**
|
|
202
267
|
|
|
203
|
-
```
|
|
268
|
+
```apex
|
|
204
269
|
/**
|
|
205
270
|
* @description This is my enum description.
|
|
206
271
|
*/
|
|
207
|
-
|
|
272
|
+
public Enum ExampleEnum {
|
|
273
|
+
VALUE_1, VALUE_2
|
|
274
|
+
}
|
|
208
275
|
```
|
|
209
276
|
|
|
210
277
|
### Documenting Properties
|
|
@@ -217,11 +284,11 @@ The following tags are supported on the property level:
|
|
|
217
284
|
|
|
218
285
|
**Example**
|
|
219
286
|
|
|
220
|
-
```
|
|
287
|
+
```apex
|
|
221
288
|
/**
|
|
222
289
|
* @description This is my property description.
|
|
223
290
|
*/
|
|
224
|
-
|
|
291
|
+
public String ExampleProperty { get; set; }
|
|
225
292
|
```
|
|
226
293
|
|
|
227
294
|
### Documenting Methods and Constructors
|
|
@@ -240,7 +307,7 @@ The following tags are supported on the method level:
|
|
|
240
307
|
|
|
241
308
|
**Example**
|
|
242
309
|
|
|
243
|
-
```
|
|
310
|
+
```apex
|
|
244
311
|
/**
|
|
245
312
|
* @description This is my method description.
|
|
246
313
|
* @param action The action to execute.
|
|
@@ -248,13 +315,13 @@ The following tags are supported on the method level:
|
|
|
248
315
|
* @example
|
|
249
316
|
* Object result = SampleClass.call('exampleAction');
|
|
250
317
|
*/
|
|
251
|
-
|
|
318
|
+
public static Object call(String action) {
|
|
252
319
|
```
|
|
253
320
|
|
|
254
321
|
### Inline linking
|
|
255
322
|
|
|
256
|
-
Apexdocs allows you to reference other classes from anywhere in your docs, and automatically creates a link to that
|
|
257
|
-
file for easy navigation.
|
|
323
|
+
Apexdocs allows you to reference other classes from anywhere in your docs, and automatically creates a link to that
|
|
324
|
+
class file for easy navigation.
|
|
258
325
|
|
|
259
326
|
Apexdocs recognizes 2 different syntax when linking files:
|
|
260
327
|
|
|
@@ -263,13 +330,13 @@ Apexdocs recognizes 2 different syntax when linking files:
|
|
|
263
330
|
|
|
264
331
|
**Example**
|
|
265
332
|
|
|
266
|
-
```
|
|
333
|
+
```apex
|
|
267
334
|
/**
|
|
268
335
|
* @description This is my method description. This method receives an <<ExampleClass>>.
|
|
269
336
|
* @param param1 An <<ExampleClass>> instance. Can also do {@link ExampleClass}
|
|
270
337
|
* @return The result of the operation.
|
|
271
338
|
*/
|
|
272
|
-
|
|
339
|
+
public static Object class(ExampleClass param1) {
|
|
273
340
|
```
|
|
274
341
|
|
|
275
342
|
## Typescript
|
package/ROADMAP.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[] Automatic Resolution of links (@see and {@link FileName})
|
|
2
|
+
|
|
3
|
+
[] Respect access modifiers where the properties/methods are different from the class declaration. For example,
|
|
4
|
+
AuraEnabled properties do not live in an AuraEnabled class, so there's no way to just generate docs to showcase the
|
|
5
|
+
AuraEnabled properties of a class without some sort of combination of also exposing other public/globals
|
|
6
|
+
|
|
7
|
+
[] Versioning capabilities. When creating the doc you specify a version number, and a new directory is created for the
|
|
8
|
+
files, instead of just overriding
|
|
9
|
+
|
|
10
|
+
[] New generatortype: To JsDocs from AuraEnabled
|
|
11
|
+
|
|
12
|
+
[] More unit tests
|
|
13
|
+
|
|
14
|
+
[] config.js support to allow for injections, home header, etc.
|
|
15
|
+
|
|
16
|
+
[] Add configuration setting that allows someone to set the "namespace"
|
|
17
|
+
|
|
18
|
+
[] Homepage support similar to what docsify does
|
package/docs/Gemfile.lock
CHANGED
|
@@ -13,21 +13,38 @@ GEM
|
|
|
13
13
|
colorator (1.1.0)
|
|
14
14
|
commonmarker (0.17.13)
|
|
15
15
|
ruby-enum (~> 0.5)
|
|
16
|
-
concurrent-ruby (1.1.
|
|
17
|
-
dnsruby (1.61.
|
|
18
|
-
|
|
19
|
-
em-websocket (0.5.
|
|
16
|
+
concurrent-ruby (1.1.9)
|
|
17
|
+
dnsruby (1.61.7)
|
|
18
|
+
simpleidn (~> 0.1)
|
|
19
|
+
em-websocket (0.5.2)
|
|
20
20
|
eventmachine (>= 0.12.9)
|
|
21
21
|
http_parser.rb (~> 0.6.0)
|
|
22
|
-
ethon (0.
|
|
23
|
-
ffi (>= 1.
|
|
22
|
+
ethon (0.15.0)
|
|
23
|
+
ffi (>= 1.15.0)
|
|
24
24
|
eventmachine (1.2.7)
|
|
25
25
|
eventmachine (1.2.7-x64-mingw32)
|
|
26
|
-
execjs (2.
|
|
27
|
-
faraday (1.
|
|
26
|
+
execjs (2.8.1)
|
|
27
|
+
faraday (1.8.0)
|
|
28
|
+
faraday-em_http (~> 1.0)
|
|
29
|
+
faraday-em_synchrony (~> 1.0)
|
|
30
|
+
faraday-excon (~> 1.1)
|
|
31
|
+
faraday-httpclient (~> 1.0.1)
|
|
32
|
+
faraday-net_http (~> 1.0)
|
|
33
|
+
faraday-net_http_persistent (~> 1.1)
|
|
34
|
+
faraday-patron (~> 1.0)
|
|
35
|
+
faraday-rack (~> 1.0)
|
|
28
36
|
multipart-post (>= 1.2, < 3)
|
|
29
|
-
|
|
30
|
-
|
|
37
|
+
ruby2_keywords (>= 0.0.4)
|
|
38
|
+
faraday-em_http (1.0.0)
|
|
39
|
+
faraday-em_synchrony (1.0.0)
|
|
40
|
+
faraday-excon (1.1.0)
|
|
41
|
+
faraday-httpclient (1.0.1)
|
|
42
|
+
faraday-net_http (1.0.1)
|
|
43
|
+
faraday-net_http_persistent (1.2.0)
|
|
44
|
+
faraday-patron (1.0.0)
|
|
45
|
+
faraday-rack (1.0.0)
|
|
46
|
+
ffi (1.15.4)
|
|
47
|
+
ffi (1.15.4-x64-mingw32)
|
|
31
48
|
forwardable-extended (2.6.0)
|
|
32
49
|
gemoji (3.0.1)
|
|
33
50
|
github-pages (204)
|
|
@@ -79,7 +96,7 @@ GEM
|
|
|
79
96
|
octokit (~> 4.0)
|
|
80
97
|
public_suffix (~> 3.0)
|
|
81
98
|
typhoeus (~> 1.3)
|
|
82
|
-
html-pipeline (2.
|
|
99
|
+
html-pipeline (2.14.0)
|
|
83
100
|
activesupport (>= 2)
|
|
84
101
|
nokogiri (>= 1.4)
|
|
85
102
|
http_parser.rb (0.6.0)
|
|
@@ -192,7 +209,7 @@ GEM
|
|
|
192
209
|
jekyll (>= 3.0, < 5.0)
|
|
193
210
|
kramdown (1.17.0)
|
|
194
211
|
liquid (4.0.3)
|
|
195
|
-
listen (3.
|
|
212
|
+
listen (3.7.0)
|
|
196
213
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
197
214
|
rb-inotify (~> 0.9, >= 0.9.10)
|
|
198
215
|
mercenary (0.3.6)
|
|
@@ -200,26 +217,27 @@ GEM
|
|
|
200
217
|
jekyll (>= 3.5, < 5.0)
|
|
201
218
|
jekyll-feed (~> 0.9)
|
|
202
219
|
jekyll-seo-tag (~> 2.1)
|
|
203
|
-
multi_json (1.
|
|
220
|
+
multi_json (1.15.0)
|
|
204
221
|
multipart-post (2.1.1)
|
|
205
|
-
nokogiri (1.
|
|
222
|
+
nokogiri (1.12.5-x64-mingw32)
|
|
206
223
|
racc (~> 1.4)
|
|
207
|
-
nokogiri (1.
|
|
224
|
+
nokogiri (1.12.5-x86_64-linux)
|
|
208
225
|
racc (~> 1.4)
|
|
209
|
-
octokit (4.
|
|
226
|
+
octokit (4.21.0)
|
|
210
227
|
faraday (>= 0.9)
|
|
211
228
|
sawyer (~> 0.8.0, >= 0.5.3)
|
|
212
229
|
pathutil (0.16.2)
|
|
213
230
|
forwardable-extended (~> 2.6)
|
|
214
231
|
public_suffix (3.1.1)
|
|
215
|
-
racc (1.
|
|
216
|
-
rb-fsevent (0.
|
|
232
|
+
racc (1.6.0)
|
|
233
|
+
rb-fsevent (0.11.0)
|
|
217
234
|
rb-inotify (0.10.1)
|
|
218
235
|
ffi (~> 1.0)
|
|
219
236
|
rouge (3.13.0)
|
|
220
|
-
ruby-enum (0.
|
|
237
|
+
ruby-enum (0.9.0)
|
|
221
238
|
i18n
|
|
222
|
-
|
|
239
|
+
ruby2_keywords (0.0.5)
|
|
240
|
+
rubyzip (2.3.2)
|
|
223
241
|
safe_yaml (1.0.5)
|
|
224
242
|
sass (3.7.4)
|
|
225
243
|
sass-listen (~> 4.0.0)
|
|
@@ -229,15 +247,22 @@ GEM
|
|
|
229
247
|
sawyer (0.8.2)
|
|
230
248
|
addressable (>= 2.3.5)
|
|
231
249
|
faraday (> 0.8, < 2.0)
|
|
250
|
+
simpleidn (0.2.1)
|
|
251
|
+
unf (~> 0.1.4)
|
|
232
252
|
terminal-table (1.8.0)
|
|
233
253
|
unicode-display_width (~> 1.1, >= 1.1.1)
|
|
234
|
-
typhoeus (1.
|
|
254
|
+
typhoeus (1.4.0)
|
|
235
255
|
ethon (>= 0.9.0)
|
|
236
256
|
tzinfo (2.0.1)
|
|
237
257
|
concurrent-ruby (~> 1.0)
|
|
238
258
|
tzinfo-data (1.2019.3)
|
|
239
259
|
tzinfo (>= 1.0.0)
|
|
240
|
-
|
|
260
|
+
unf (0.1.4)
|
|
261
|
+
unf_ext
|
|
262
|
+
unf_ext (0.0.8)
|
|
263
|
+
unf_ext (0.0.8-x64-mingw32)
|
|
264
|
+
unicode-display_width (1.8.0)
|
|
265
|
+
wdm (0.1.1)
|
|
241
266
|
|
|
242
267
|
PLATFORMS
|
|
243
268
|
x64-mingw32
|
|
@@ -248,6 +273,7 @@ DEPENDENCIES
|
|
|
248
273
|
jekyll-feed (~> 0.6)
|
|
249
274
|
minima (~> 2.0)
|
|
250
275
|
tzinfo-data
|
|
276
|
+
wdm (~> 0.1.0)
|
|
251
277
|
|
|
252
278
|
BUNDLED WITH
|
|
253
|
-
2.
|
|
279
|
+
2.2.29
|