autoforce 0.1.3 → 0.1.5

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 (48) hide show
  1. package/README.md +85 -7
  2. package/commands/modelA/new/issue.json +40 -0
  3. package/commands/modelA/new/process.json +21 -0
  4. package/commands/modelA/subtasks/checkout-branch.json +60 -0
  5. package/commands/modelA/subtasks/create-pull.json +20 -0
  6. package/commands/modelA/subtasks/create-scratch.json +84 -0
  7. package/commands/modelA/subtasks/deploy-code.json +17 -0
  8. package/commands/modelA/subtasks/drop-scratch.json +17 -0
  9. package/commands/modelA/subtasks/package-code.json +3 -0
  10. package/commands/modelA/subtasks/publish-branch.json +20 -0
  11. package/commands/modelA/subtasks/update-documentation.json +8 -0
  12. package/commands/modelA/subtasks/validate-code.json +29 -0
  13. package/commands/modelA/subtasks/validate-scratch.json +14 -0
  14. package/commands/modelA/tasks/cancel.json +6 -0
  15. package/commands/modelA/tasks/deploy.json +6 -0
  16. package/commands/modelA/tasks/finish.json +41 -0
  17. package/commands/modelA/tasks/rollback.json +6 -0
  18. package/commands/modelA/tasks/start.json +60 -0
  19. package/commands/modelA/tasks/stop.json +32 -0
  20. package/commands/modelA/tasks/switch.json +53 -0
  21. package/commands/modelA/tasks/view.json +12 -0
  22. package/lib/auto.js +30 -15
  23. package/lib/helpers/class.js +2 -2
  24. package/lib/helpers/color.d.ts +1 -0
  25. package/lib/helpers/color.js +4 -1
  26. package/lib/helpers/context.d.ts +14 -2
  27. package/lib/helpers/context.js +60 -35
  28. package/lib/helpers/lwc.js +2 -2
  29. package/lib/helpers/metadata.js +2 -2
  30. package/lib/helpers/object.js +2 -2
  31. package/lib/helpers/tasks.js +10 -5
  32. package/lib/helpers/util.d.ts +18 -4
  33. package/lib/helpers/util.js +104 -5
  34. package/package.json +12 -4
  35. package/templates/dictionary/class-all.md +9 -0
  36. package/templates/dictionary/class-diagrama.md +13 -0
  37. package/templates/dictionary/class-inner.md +19 -0
  38. package/templates/dictionary/class-metodos.md +15 -0
  39. package/templates/dictionary/class-public.md +13 -0
  40. package/templates/dictionary/class-referencias.md +5 -0
  41. package/templates/dictionary/class.md +29 -0
  42. package/templates/dictionary/classes.md +52 -0
  43. package/templates/dictionary/object.md +35 -0
  44. package/templates/dictionary/objects.md +63 -0
  45. package/templates/intro.md +20 -0
  46. package/templates/process.md +23 -0
  47. package/templates/story.md +32 -0
  48. package/templates/usecase.md +52 -0
package/package.json CHANGED
@@ -2,7 +2,12 @@
2
2
  "name": "autoforce",
3
3
  "homepage": "https://sebastianclaros.github.io/autoforce",
4
4
  "private": false,
5
- "version": "0.1.3",
5
+ "version": "0.1.5",
6
+ "keywords": [
7
+ "Salesforce",
8
+ "Automation",
9
+ "Git"
10
+ ],
6
11
  "description": "Developer Automation tool for Github / Gitlab and Salesforce projects.",
7
12
  "repository": {
8
13
  "type": "git",
@@ -10,6 +15,8 @@
10
15
  },
11
16
  "main": "./bin/index.js",
12
17
  "files": [
18
+ "commands/**/*",
19
+ "templates/**/*",
13
20
  "lib/**/*",
14
21
  "bin/**/*"
15
22
  ],
@@ -22,11 +29,12 @@
22
29
  "build": "tsc --project tsconfig.build.json",
23
30
  "prettier": "prettier --write \"**/*.{css,html,js,json,ts,md,xml,yaml,yml}\"",
24
31
  "test:build": "yarn build && npm publish --dry-run && node ./bin/index.js",
25
- "test": "jest --config jest.config.js"
32
+ "test": "ts-jest --config jest.config.ts"
26
33
  },
27
- "dependencies": {
34
+ "devDependencies": {
28
35
  "@eslint/js": "^9.9.1",
29
36
  "@types/jest": "29.4.0",
37
+ "@types/node": "^22.8.1",
30
38
  "@typescript-eslint/eslint-plugin": "5.54.0",
31
39
  "@typescript-eslint/parser": "5.52.0",
32
40
  "eslint": "^9.9.1",
@@ -41,7 +49,7 @@
41
49
  "typescript": "4.9.5",
42
50
  "typescript-eslint": "^8.3.0"
43
51
  },
44
- "devDependencies": {
52
+ "dependencies": {
45
53
  "@octokit/graphql": "^8.1.1",
46
54
  "@types/graphql": "^14.5.0",
47
55
  "@types/jsforce": "^1.11.5",
@@ -0,0 +1,9 @@
1
+ {{#each properties}}
2
+ {{scopeModifiers}} {{name}} {{modifiers}}
3
+ {{/each}}
4
+ {{#each constructors as |item|}}
5
+ {{scopeModifiers}} {{name}}({{#each parameters}}{{type}} {{name}}{{/each}}) {{returnType}} {{modifiers}}
6
+ {{/each}}
7
+ {{#each methods as |item|}}
8
+ {{scopeModifiers}} {{name}}({{#each parameters}}{{type}} {{name}}{{/each}}) {{returnType}} {{modifiers}}
9
+ {{/each}}
@@ -0,0 +1,13 @@
1
+ ```mermaid
2
+ classDiagram
3
+
4
+ {{#if parentClass}}
5
+ {{parentClass}} <|-- {{Name}}
6
+ {{/if}}
7
+ class {{Name}} {
8
+
9
+ {{#with SymbolTable}}
10
+ {{import class-all}}
11
+ {{/with}}
12
+ }
13
+ ```
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: { { Name } }
3
+ ---
4
+
5
+ ## Introducción
6
+
7
+ <!-- START autogenerated-class -->
8
+
9
+ ## Diagrama
10
+
11
+ {{import class-diagrama.md}}
12
+
13
+ ### Metodos
14
+
15
+ {{import class-metodos.md}}
16
+
17
+ {{import class-referencias.md}}
18
+
19
+ <!-- END autogenerated-class -->
@@ -0,0 +1,15 @@
1
+ {{#if SymbolTable.constructors}}
2
+ _Constructores_
3
+ | # | Argumentos |
4
+ | --- | ---------- |
5
+ {{#each SymbolTable.constructors}}
6
+ | <div class="icons">{{modifiers}}</div> | <ul>{{#each parameters}}<li>{{#with type}}{{linkToType}}{{/with}} {{name}}</li>{{/each}}</ul>|
7
+ {{/each}}
8
+ {{/if}}
9
+
10
+ _Metodos_
11
+ | # | Nombre | Return | Argumentos |
12
+ | --- | ------ | ------ | ---------- |
13
+ {{#each SymbolTable.methods}}
14
+ | <div class="icons">{{modifiers}}</div> | {{name}} | {{#with returnType}}{{linkToType}}{{/with}}| <ul>{{#each parameters}}<li>{{#with type}}{{linkToType}}{{/with}} {{name}}</li>{{/each}}</ul>|
15
+ {{/each}}
@@ -0,0 +1,13 @@
1
+ {{#each properties}}
2
+ {{#if (filterByPublic this)}}
3
+ {{scopeModifiers}} {{name}} {{modifiers}}
4
+ {{/if}}
5
+ {{/each}}
6
+ {{#each constructors as |item|}}
7
+ {{scopeModifiers}} {{name}}({{#each parameters}}{{type}} {{name}}{{/each}}) {{returnType}} {{modifiers}}
8
+ {{/each}}
9
+ {{#each methods as |item|}}
10
+ {{#if (filterByPublic this)}}
11
+ {{scopeModifiers}} {{name}}({{#each parameters}}{{type}} {{name}}{{/each}}) {{returnType}} {{modifiers}}
12
+ {{/if}}
13
+ {{/each}}
@@ -0,0 +1,5 @@
1
+ | # | Referencia | # | Referencia |
2
+ | --- | ---------------- | --- | ---------- |
3
+ | + | public or global | # | protected |
4
+ | - | private | ~ | Package |
5
+ | $ | final or static | \* | abstract |
@@ -0,0 +1,29 @@
1
+ ---
2
+ title: { { Name } }
3
+ ---
4
+
5
+ ## Introducción
6
+
7
+ <!-- START autogenerated-class -->
8
+
9
+ ## Descripción
10
+
11
+ {{description}}
12
+
13
+ - Status: {{Status}}
14
+ - Api Version: {{ApiVersion}}
15
+ - Interface
16
+ {{#each SymbolTable.interfaces}} \* [{{this}}](/diccionarios/classes/{{this}})
17
+ {{/each}}
18
+
19
+ ## Diagrama
20
+
21
+ {{import class-diagrama.md}}
22
+
23
+ ### Metodos
24
+
25
+ {{import class-metodos.md}}
26
+
27
+ {{import class-referencias.md}}
28
+
29
+ <!-- END autogenerated-class -->
@@ -0,0 +1,52 @@
1
+ ---
2
+ title: Modelo de Clases
3
+ ---
4
+
5
+ ## Introducción
6
+
7
+ ## Classes
8
+
9
+ <!-- START autogenerated-classes -->
10
+
11
+ ### Diagrama
12
+
13
+ ```mermaid
14
+ classDiagram
15
+ {{#each classes as |class|}}
16
+
17
+ {{#each SymbolTable.interfaces}}
18
+ {{this}} <|-- {{class.Name}} : implements
19
+ {{/each}}
20
+ {{#if parentClass}}
21
+ {{parentClass}} <|-- {{Name}}
22
+ {{/if}}
23
+
24
+ class {{Name}} {
25
+ {{#with SymbolTable}}
26
+ {{import class-public}}
27
+ {{/with}}
28
+ }
29
+
30
+ link {{class.Name}} "{{classLinkGraph}}"
31
+ {{/each}}
32
+ {{#each namespaces as |namespace|}}
33
+ namespace _{{@key}} {
34
+ {{#each namespace}}
35
+ class {{this}}
36
+ {{/each}}
37
+ }
38
+ {{/each}}
39
+ ```
40
+
41
+ ### Listado
42
+
43
+ | # | Name | Api Version | Descripcion |
44
+ | --- | ---- | ----------- | ----------- |
45
+
46
+ {{#each classes}}
47
+ | <div class="icons">{{#with TableDeclaration}}{{modifiers}}{{/with}}</div> | [{{Name}}]({{classLink}}) |{{ApiVersion}}|{{description}}|
48
+ {{/each}}
49
+
50
+ {{import class-referencias.md}}
51
+
52
+ <!-- END autogenerated-classes -->
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: { { label } }
3
+ ---
4
+
5
+ <!-- START autogenerated-object -->
6
+
7
+ ## Descripción
8
+
9
+ {{description}}
10
+
11
+ - Label: {{label}}
12
+ - ApiName: {{fullName}}
13
+ - Sharing Mode: {{sharingModel}}
14
+ - Visibilidad: {{visibility}}
15
+ - [Ver en Salesforce](https://test.salesforce.com/lightning/setup/ObjectManager/lookupRedirect?lookup=entityByApiName&apiName={{fullName}})
16
+
17
+ ## Campos
18
+
19
+ | # | Label | Api Name | Tipo | Descripcion |
20
+ | --- | ----- | -------- | ---- | ----------- |
21
+
22
+ {{#each fields}}
23
+ {{#unless (isManaged this)}}
24
+ | <div class="icons">{{attributesFormula}}</div> | {{label}} | {{fullName}} | {{typeFormula}} | {{descriptionFormula}} <ul>{{#each valueSet.valueSetDefinition.value}}<li>{{label}}</li>{{/each}}</ul> |
25
+ {{/unless}}
26
+ {{/each}}
27
+
28
+ | # | Referencia |
29
+ | -------------------------------------------------------------- | ------------- |
30
+ | <div class="icons">![Required](/img/lock_60.png)</div> | Requerido |
31
+ | <div class="icons">![Esternal Id](/img/database_60.png)</div> | External Id |
32
+ | <div class="icons">![Track History](/img/tracker_60.png)</div> | Track History |
33
+ | <div class="icons">![Encripted](/img/password_60.png)</div> | Encriptado |
34
+
35
+ <!-- END autogenerated-object -->
@@ -0,0 +1,63 @@
1
+ ---
2
+ title: Modelo de datos
3
+ ---
4
+
5
+ ## Introducción
6
+
7
+ ## Objetos
8
+
9
+ <!-- START autogenerated-objects -->
10
+
11
+ ```mermaid
12
+ erDiagram
13
+ {{#each objects}}
14
+ {{#each fields}}
15
+ {{#unless (isManaged this)}}
16
+ {{#if referenceTo}}
17
+ {{referenceTo}} ||..|{ {{../fullName}} : "{{relationshipLabel}}"
18
+ {{/if}}
19
+ {{/unless}}
20
+ {{/each}}
21
+ {{/each}}
22
+
23
+ {{#each objects}}
24
+ {{fullName}} {
25
+ {{#each fields}}
26
+ {{#unless (isManaged this)}}
27
+ {{#if referenceTo}}
28
+ {{fullName}} {{referenceTo}}
29
+ {{/if}}
30
+ {{/unless}}
31
+ {{/each}}
32
+ }
33
+ {{/each}}
34
+
35
+ ```
36
+
37
+ ### Transaccionales
38
+
39
+ | # | Label | Api Name | Descripcion |
40
+ | --- | ----- | -------- | ----------- |
41
+
42
+ {{#each objects}}
43
+ {{#unless (isMetadataFormula this)}}
44
+ | <div class="icons">{{attributesFormula}}</div> | [{{label}}](/diccionarios/objects/{{fullName}}) | {{fullName}} |{{description}}|
45
+ {{/unless}}
46
+ {{/each}}
47
+
48
+ ### Configuracion
49
+
50
+ | # | Label | Api Name | Descripcion |
51
+ | --- | ----- | -------- | ----------- |
52
+
53
+ {{#each objects}}
54
+ {{#if (isMetadataFormula this)}}
55
+ | <div class="icons">{{attributesFormula}}</div> | [{{label}}](/diccionarios/objects/{{fullName}}) | {{fullName}} |{{description}}|
56
+ {{/if}}
57
+ {{/each}}
58
+
59
+ | # | Referencia |
60
+ | -------------------------------------------------------------- | ------------- |
61
+ | <div class="icons">![Track History](/img/tracker_60.png)</div> | Track History |
62
+
63
+ <!-- END autogenerated-objects -->
@@ -0,0 +1,20 @@
1
+ ---
2
+ title: { { title } }
3
+ slug: { { name } }
4
+ ---
5
+
6
+ ## Descripcion
7
+
8
+ {{descripcion}}
9
+
10
+ ## Componentes
11
+
12
+ ## Objetos
13
+
14
+ <!-- START autogenerated-objects -->
15
+ <!-- END autogenerated-objects -->
16
+
17
+ ## Clases
18
+
19
+ <!-- START autogenerated-classes -->
20
+ <!-- END autogenerated-classes -->
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: {{name}}
3
+ process: {{identifier}}
4
+ {{#if rol}}
5
+ tags: [{{rol}}]
6
+ {{/if}}
7
+ ---
8
+
9
+ ## Descripcion
10
+
11
+ {{descripcion}}
12
+
13
+ ## Componentes
14
+
15
+ ## Objetos
16
+
17
+ <!-- START autogenerated-objects -->
18
+ <!-- END autogenerated-objects -->
19
+
20
+ ## Clases
21
+
22
+ <!-- START autogenerated-classes -->
23
+ <!-- END autogenerated-classes -->
@@ -0,0 +1,32 @@
1
+ ---
2
+ sidebar_position: 1
3
+ tags: [{ { rol } }]
4
+ ---
5
+
6
+ # {{titulo}}
7
+
8
+ - Modulo: [{{modulo}}](/{{modulo}})
9
+ - Roles: [{{rol}}](/tags/{{rol}})
10
+
11
+ ## Descripcion:
12
+
13
+ ## Escenarios
14
+
15
+ 1.
16
+
17
+ <!-- START autogenerated-objects -->
18
+ <!-- END autogenerated-objects -->
19
+
20
+ <!-- START autogenerated-classes -->
21
+ <!-- END autogenerated-classes -->
22
+
23
+ <!-- START autogenerated-usecase -->
24
+
25
+ :::tip
26
+ Para refrescar metadata:
27
+
28
+ ```bash
29
+ {{command}}
30
+ ```
31
+
32
+ <!-- END autogenerated-usecase -->
@@ -0,0 +1,52 @@
1
+ ---
2
+ sidebar_position: 1
3
+ tags: [{ { actor } }]
4
+ ---
5
+
6
+ # {{titulo}}
7
+
8
+ - Modulo: [{{modulo}}](/{{modulo}})
9
+ - Roles: [{{actor}}](/tags/{{actor}})
10
+ - Alcance:
11
+ - Proposito:
12
+
13
+ ## Descripcion:
14
+
15
+ - Suposiciones:
16
+ - Cuando:
17
+ - Precondiciones:
18
+ - Postcondiciones:
19
+
20
+ ## Flujo Principal
21
+
22
+ _Pasos: _
23
+
24
+ 1.
25
+
26
+ ## Flujos Alternativos
27
+
28
+ _Pasos: _
29
+
30
+ 1.
31
+
32
+ ## Use cases relacionados
33
+
34
+ | Nombre | Descripcion |
35
+ | ------ | ----------- |
36
+
37
+ <!-- START autogenerated-objects -->
38
+ <!-- END autogenerated-objects -->
39
+
40
+ <!-- START autogenerated-classes -->
41
+ <!-- END autogenerated-classes -->
42
+
43
+ <!-- START autogenerated-usecase -->
44
+
45
+ :::tip
46
+ Para refrescar metadata:
47
+
48
+ ```bash
49
+ {{command}}
50
+ ```
51
+
52
+ <!-- END autogenerated-usecase -->