qfpm 1.0.24 → 1.1.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/README.md CHANGED
@@ -2,8 +2,17 @@
2
2
 
3
3
  ## QRFDev Package Manager
4
4
 
5
- ### Installs the NPM SFDX Package Dependancy Resolution Proof of Concept scripts
6
- ======================================
5
+ ### A blend of NPM and SFDX into a Salesforce package dependancy management tool set
6
+
7
+ The package mangement methodology intended with qfpm is meant to aid with the dependancy management side of salesforce packages. Currently this could be implmented with a private npm service to benefit from the npm dependancy resolution applied to a teams salesforce metadata libraries as they are broken down into packages with a dependancy hierarchy. QFPM could be extended to support the management of sfdx package2 building and installation with dependencies, as well converted to sfdx plugin, if I ever get around to doing it.
8
+
9
+ ## Updates
10
+
11
+ - The removal of the bin/qfpm script dependancy complete, automated removal doesn't seem to work so feel free to delete them after upgrading
12
+
13
+ - Conversion to using native npm bin definition seems stable and opens up better linux support
14
+
15
+ - WSL support seems to be working though with a big salesforce asterisk down in the AT4DX example
7
16
 
8
17
  ## Install
9
18
 
@@ -34,6 +43,8 @@
34
43
 
35
44
  #### Setup FFLIB commons sample code with dependancies
36
45
 
46
+ This example demonstates facilitating two layers of dependancies required to get started with the fflib apex common sample code library. The sample code requries the fflib apex commons library which intern is dependant on the fflib apex mocks library. With example npm packages for both the commons and mocks published publicly to npm, qfpm is able to install all dependancies via soap to avoid source tracking and then push the sample code for work tracked in the scratch org.
47
+
37
48
  1. Navigate to the [fflib sample code](https://github.com/apex-enterprise-patterns/fflib-apex-common-samplecode)
38
49
  1. Clone the repo locally
39
50
  ```bash
@@ -63,6 +74,8 @@
63
74
 
64
75
  #### Setup AT4DX sample code with dependancies
65
76
 
77
+ This example expands on the previous fflib sample code to satisfy the requirments of the at4dx sample code. As before the multi layered fflib commons and mocks are required by the at4dx requirement which also has a parallel dependancy of force-di. All of which are installed via soap into a scratch org with the at4dx sample code pushed for tracking.
78
+
66
79
  1. Navigate to the [at4dx sample code](https://github.com/apex-enterprise-patterns/at4dx-samplecode)
67
80
  1. Clone the repo locally
68
81
  ```bash
@@ -80,15 +93,21 @@
80
93
  ```bash
81
94
  npm install --save qfpm
82
95
  ```
83
- 1. install the the fflib commons
96
+ 1. install the at4dx libraries
84
97
  ```bash
85
98
  npm install --save npm-at4dx
86
99
  ```
87
- 1. setup scratch org and install all
100
+ 1. setup scratch org and install all*
88
101
  ```bash
89
102
  npm run setup
90
103
  ```
91
104
 
105
+ *sfdx on WSL(maybe linux in general) seems to have an issue thinking the README.md inside the sfdx source dirs is a custom metadata type, so I removed them in the npm package as they just said put stuff here. You can run this command after cloning to delete all the offending README.md files in this repo as a work around.
106
+
107
+ ```bash
108
+ for x in $(find ./sfdx-source/ -name README.md); do rm -f $x; done
109
+ ```
110
+
92
111
  ### Commands
93
112
 
94
113
  1. Build source into metadata format
@@ -23,7 +23,7 @@ if(!pack.scripts){
23
23
  pack.scripts = {}
24
24
  }
25
25
  scripts.forEach(script => {
26
- pack.scripts[script.name] = './node_modules/.bin/'+script.run
26
+ pack.scripts[script.name] = script.run
27
27
  })
28
28
  fs.writeFileSync(path.resolve(installPath,'package.json'),JSON.stringify(pack,null,4))
29
29
  console.log('[!] finished package.json update!')
package/etc/help.txt CHANGED
@@ -1,9 +1,48 @@
1
1
  QRFDev Package Manager
2
2
 
3
- Welcome!
3
+ Commands
4
4
 
5
- Running this does nothing at all.
5
+ Build source into metadata format
6
6
 
7
- The npm install command writes scripts to the bin folder
7
+ - executes sfdx source convert
8
8
 
9
- The package.json is updated with the script locations
9
+ npm run build
10
+
11
+ Clean up scratch org
12
+
13
+ - marks projects scratch org for deletion
14
+
15
+ npm run clean
16
+
17
+ Deploy whole project directly as metadata format
18
+
19
+ - executes sfdx source deploy
20
+ - bypasses source tracking
21
+
22
+ npm run deploy
23
+
24
+ Push source to scratch org
25
+
26
+ - executes sfdx source push
27
+
28
+ npm run push
29
+
30
+ Scratch a new org
31
+
32
+ - creates new scratch org from config
33
+ - checks if org already exists
34
+
35
+ npm run scratch
36
+
37
+ Setup current project for development
38
+
39
+ - setups up a scratch org
40
+ - deploys all dependancies to scratch org
41
+
42
+ npm run setup
43
+
44
+ Test project
45
+
46
+ - runs all tests in scratch org
47
+
48
+ npm run test
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "qfpm",
3
- "version": "1.0.24",
4
- "description": "installs the NPM SFDX Package Dependancy Resolution Proof of Concept scripts",
3
+ "version": "1.1.1",
4
+ "description": "Salesforce package management tool set for mananging dependencies between packages",
5
5
  "main": "index.js",
6
+ "man": "./README.md",
6
7
  "keywords": [
7
8
  "salesforce",
8
9
  "package",