You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+57-4
Original file line number
Diff line number
Diff line change
@@ -32,17 +32,29 @@ Make sure you have the following installed on your machine:
32
32
33
33
#### Windows
34
34
35
-
You will also need the following:
35
+
You will also need the ability to execute the following bash commands: `zip`, `cp`, `mv`.
36
36
37
-
* A `bash` enumerator (one comes with `git`) OR [linux](https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/). Basiclly you need your shell to be able to run standard GNU commands like `cp`, `mv`, `zip`, etc.
38
-
** You may also need to tell npm to use bash: `npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"`
37
+
There are several options:
38
+
39
+
* A `bash` enumerator (like the one included with `git`). You may need to [install `zip` binaries](https://stackoverflow.com/questions/38782928/how-to-add-man-and-zip-to-git-bash-installation-on-windows/55749636#55749636)
*`force-app`: The Salesforce DX package. Store related metadata here
55
+
*`config`: configurations for development, build & tests (some configuration files are in root)
56
+
*`dist`: the build directory
57
+
46
58
### Authentication
47
59
48
60
To do much of anything you'll need to connect with one or more orgs. Use `sfdx force:org:list` to see a list of orgs you're already authenticated with. Connect to an existing sandbox using `sfdx force:auth:web:login -sr [ORG_URL] -a [ALIAS]`. You can also create a scratch org using: `npm run new-scratch-org`.
*NOTE: You might want to ignore `.npmrc` for your repo. Each contributor will manage this configuration separately and committing it could result in another user accidentally deploying to an unintended org. This is especially true if you use the sfdx alias over the username
67
79
68
-
69
80
## DEVELOPMENT
70
81
71
82
1. Deploy your application by running `npm run deploy-dev` or `npm run deploy-scratch`. This step needs to happen whenever the contents of `force-app` change.
@@ -154,6 +165,48 @@ It is possible to debug right from vscode. To do so:
154
165
4.`f5` or launch `debug locally` configuration
155
166
5. you may need to Enable [Allow Insecure Localhost](chrome://flags/#allow-insecure-localhost) again if it opens in a different instance of chrome
156
167
168
+
## Upgrading to newer version of "BASS"
169
+
170
+
Overtime, this project has gotten both simpler AND objectively better.
171
+
172
+
Unfortunately upgrades are currently a very manual process. Over the many different enhancements:
173
+
174
+
* configuration files have been changed & moved around
175
+
* Low Value / High Complexity: features have been removed
176
+
* build scripts have changed
177
+
* configuration files have changed
178
+
* npm dependencies have been upgraded/added/removed
179
+
180
+
I admit, I haven't done a very good job of documenting these changes very well. My goal of keeping this everything as flexible as possible has also made it impossible to move parts of the configuration to upgradable packages.
181
+
182
+
I've tried to go back and tag `Release` to give a sense of breaking changes, but it's very incomplete.
183
+
184
+
### Things to consider when upgrading
185
+
186
+
* Most changes have happened in the following areas:
187
+
*`package.json` (particularly the `scripts` & `config` sections)
188
+
*`webpack.config.ts`
189
+
*`tsconfig.json`
190
+
191
+
For these files, it's best to first identify any customization of your own and then try to merge them into the latest version from `B.A.S.S.`.
192
+
193
+
* Lots of files have been moved around. In particular:
194
+
* many files have been moved to `config` folder.
195
+
*`src` has been renamed to `app`
196
+
197
+
* Features & dependencies have been removed. Examples:
198
+
* there is no longer an `local` mode as it no longer has any advantages over using `Localhost assets on salesforce`
199
+
* Redux was removed from the core of this project
200
+
* Replaced `awesome-typescript-loader` with babel
201
+
* self-signed cert generation script has been removed (manual instructions are in `config/cert`)
202
+
203
+
* Runtime dependencies have been upgraded to the latest and greatest. Which likely means breaking changes in these libraries:
204
+
* react
205
+
* antd
206
+
* ts-force
207
+
208
+
In most cases you should just be able to continue using your runtime library versions with the latest version of `B.A.S.S.`.
0 commit comments