UPcoming CRUCs. A node module and command line utility for managing Salesforce critical updates. upcruc
retrieves the latest critical updates from your Salesfoce org including auto-activation dates. When used from the command line, upcruc
prints each critical update to stdout
for all your piping and redirection wizardry.
npm install upcruc
Notes
-
upcruc
utilizespuppeteer
in order to retrieve crucs via headless Chrome, which retrieves and installs a version of Chromium as a dependency - crucs are returned sorted by auto-activation date in chronological order (soonest first)
const upcruc = require('upcruc');
// getCrucs() returns Promise<CRUC[]>
let crucs;
// with no options (requires .env file in your project's root directory)
crucs = await upcruc.getCrucs();
// with options
const options = {
runHeadless: true, // if false, a Chromium window will open
sessionId: 'someSessionId', // use to inject an existing session; .env file will be ignored when provided
baseUrl: 'https://mysfinstance.my.salesforce.com' // required when sessionId value is included
};
crucs = await upcruc.getCrucs(options);
From command line:
<pathToUpcruc>/.bin/upcruc.js
upcruc.js
simply wraps the upcruc module and prints each cruc to stdout
(your terminal window) in tab-separated format, a la:
$ node <pathToUpcruc>/.bin/upcruc.js
# output:
activationDate name summary
11/30/2020 Super critical update. More info here...
...
When you install upcruc
the execution script gets copied to your <root>/node_modules/.bin
folder and is accessible to your scripts. So, for example, you could add the following to your package.json
file...
//...
"scripts": {
"upcruc": "upcruc | less"
}
//...
...and then in a terminal, run npm run upcruc
, and the resulting output would get piped to the less
command. No symlink required!
upcruc
must authenticate to your org in order to pull down the most recent list of critical updates. It does so through use of a .env
file which must reside in the root directory of your project. Do not commit this file to source control.
Your .env
file must contain the following key/value pairs:
USERNAME=yourUsername
PASSWORD=yourPw
SEC_TOKEN=yourSecurityToken
You may also pass in an existing sessionId as shown above.