Prerequisites:
- Jira and Confluence
- requests access through OneDeops
- for documentation
- BMO GitHub Enterprise
- requests access through OneDeops
- office\SEC_Proxy-Github-Upload-Allow
- access to your AWS enabled GitHub repo
- Artifactory SaaS for SSO login
- requests access through OneDeops
- to pull @bmo-cdk packages:
- refers:
- AWS Account to access BMO AWS portal
- office\ROL-AWS-CLOUD-USER
- office\AWS-CloudWatch-Read
- requests access through OneDeops
- to deploy AWS resources via CDK
The following packages should be installed via SNOW: Add & Remove Software Request
- Microsoft Visual Studio Code
- with extensions:
- Remote - SSH: Remote - SSH: Editing Configuration Files and Remote Explorer, optional
- GitHub Pull Requests: optional
- with extensions:
- Git SCM: for git operations and bash
- Node.js: for node and npm
Python Software Foundation Python 3.xx.x (optional)
PS C:\Users\kaau> where.exe code bash node npm npx
C:\Program Files\Microsoft VS Code\bin\code
C:\Program Files\Microsoft VS Code\bin\code.cmd
C:\Program Files\Git\usr\bin\bash.exe
C:\Windows\System32\bash.exe
C:\Users\kaau\AppData\Local\Microsoft\WindowsApps\bash.exe
C:\Program Files\nodejs\node.exe
C:\Program Files\nodejs\npm
C:\Program Files\nodejs\npm.cmd
C:\Program Files\nodejs\npx
C:\Program Files\nodejs\npx.cmd
npm installation:
- Typescript: tsc compiler
- aws-cdk: cdk operations
- rimraf: recursively delete files and directories, commonly described as the Node.js equivalent of “rm -rf”, optional
- pnpm: fast and better Javascript package manager, refers Migrate existing npm repository into pnpm
PS C:\Users\kaau\cdk> dir ${HOME}/.npmrc
[[red:dir : Cannot find path 'C:\Users\kaau\.npmrc' because it does not exist.]]
[[red:At line:1 char:1]]
[[red:+ dir ${HOME}/.npmrc]]
[[red:+ ~~~~~~~~~~~~~~~~~~]]
[[red: + CategoryInfo : ObjectNotFound: (C:\Users\kaau\.npmrc:String) [Get-ChildItem], ItemNotFoundException]]
[[red: + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand]]
#
# register npm registry:
#
PS C:\Users\kaau> npm set registry https://bmostaging.jfrog.io/artifactory/api/npm/BMOHC-NPM-Engineering-Virtual
PS C:\Users\kaau> npm login --auth-type=web
npm notice Log in on https://bmostaging.jfrog.io/artifactory/api/npm/BMOHC-NPM-Engineering-Virtual
Login at:
https://bmostaging.jfrog.io/ui/auth-provider/npm?uuid=JEGZgDHg89kFAL3HAxE8FYwcWjtNxri2myuK1.....9ZgTjsbjzyU6mKVT
Press ENTER to open in the browser...
Logged in on https://bmostaging.jfrog.io/artifactory/api/npm/BMOHC-NPM-Engineering-Virtual.
PS C:\Users\kaau> dir ${HOME}/.npmrc
Directory: C:\Users\kaau
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2026-06-06 12:54 AM 973 .npmrc
#
# note: Artifactory token only valid fpr 30 days
#
PS C:\Users\kaau> type ${HOME}/.npmrc
[[blue:registry=https://bmostaging.jfrog.io/artifactory/api/npm/BMOHC-NPM-Engineering-Virtual]]
[[blue://bmostaging.jfrog.io/artifactory/api/npm/:_authToken=eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnI.....FOeGu7g2jguPVQw1XdOcSKA]]
PS C:\Users\kaau> mkdir ${HOME}/cdk
Directory: C:\Users\kaau
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2026-06-06 12:42 AM cdk
PS C:\Users\kaau> cd ${HOME}/cdk
PS C:\Users\kaau\cdk> npm install typescript aws-cdk rimraf pnpm
added 9 packages, changed 2 packages, and audited 13 packages in 9s
5 packages are looking for funding
run `npm fund` for details
4 high severity vulnerabilities
To address all issues, run:
npm audit fix
Run `npm audit` for details.
PS C:\Users\kaau\cdk> dir
Directory: C:\Users\kaau\cdk
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2026-06-06 1:00 AM node_modules
-a---- 2026-06-06 1:00 AM 6288 package-lock.json
-a---- 2026-06-06 1:00 AM 131 package.json
PS C:\Users\kaau\cdk> type package.json
[[blue:{]]
[[blue: "dependencies": {]]
[[blue: "aws-cdk": "^2.1132.0",]]
[[blue: "pnpm": "^11.15.1",]]
[[blue: "rimraf": "^6.1.3",]]
[[blue: "typescript": "^6.0.3"]]
[[blue: }]]
[[blue:}]]
PS C:\Users\kaau\cdk> dir node_modules
Directory: C:\Users\kaau\cdk\node_modules
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2026-06-06 1.00 PM .bin
d----- 2026-06-06 1.00 PM aws-cdk
d----- 2026-06-06 1.00 PM balanced-match
d----- 2026-06-06 1.00 PM brace-expansion
d----- 2026-06-06 1.00 PM glob
d----- 2026-06-06 1.00 PM lru-cache
d----- 2026-06-06 1.00 PM minimatch
d----- 2026-06-06 1.00 PM minipass
d----- 2026-06-06 1.00 PM package-json-from-dist
d----- 2026-06-06 1.00 PM path-scurry
d----- 2026-06-06 1.00 PM pnpm
d----- 2026-06-06 1.00 PM rimraf
d----- 2026-06-06 1.00 AM typescript
-a---- 2026-06-06 1.00 PM 6120 .package-lock.json
PS C:\Users\kaau\cdk> dir node_modules\.bin
Directory: C:\Users\kaau\cdk\node_modules\.bin ---register to ${PATH}
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2026-07-25 3:25 PM 379 cdk
-a---- 2026-07-25 3:25 PM 320 cdk.cmd
-a---- 2026-07-25 3:25 PM 785 cdk.ps1
-a---- 2026-07-25 3:25 PM 383 pn
-a---- 2026-07-25 3:25 PM 322 pn.cmd
-a---- 2026-07-25 3:25 PM 793 pn.ps1
-a---- 2026-07-25 3:25 PM 383 pnpm
-a---- 2026-07-25 3:25 PM 322 pnpm.cmd
-a---- 2026-07-25 3:25 PM 793 pnpm.ps1
-a---- 2026-07-25 3:25 PM 383 pnpx
-a---- 2026-07-25 3:25 PM 322 pnpx.cmd
-a---- 2026-07-25 3:25 PM 793 pnpx.ps1
-a---- 2026-07-25 3:25 PM 383 pnx
-a---- 2026-07-25 3:25 PM 322 pnx.cmd
-a---- 2026-07-25 3:25 PM 793 pnx.ps1
-a---- 2026-07-25 3:25 PM 395 rimraf
-a---- 2026-07-25 3:25 PM 328 rimraf.cmd
-a---- 2026-07-25 3:25 PM 817 rimraf.ps1
-a---- 2026-06-06 1:00 AM 385 tsc
-a---- 2026-06-06 1:00 AM 323 tsc.cmd
-a---- 2026-06-06 1:00 AM 797 tsc.ps1
-a---- 2026-06-06 1:00 AM 395 tsserver
-a---- 2026-06-06 1:00 AM 328 tsserver.cmd
-a---- 2026-06-06 1:00 AM 817 tsserver.ps1
#
# to add "C:\Users\kaau\cdk\node_modules\.bin" to $Env: PATH
# [Windows Menu]-[Control Panel]-[System]-[Advanced System Settings]-[Environment Variables]-[User variables]-[Path]-Edit
#
C:\Users\kaau\cdk\node_modules\.bin\tsc
C:\Users\kaau\cdk\node_modules\.bin\tsc.cmd
C:\Users\kaau\cdk\node_modules\.bin\cdk
C:\Users\kaau\cdk\node_modules\.bin\cdk.cmd
C:\Users\kaau\cdk\node_modules\.bin\rimraf
C:\Users\kaau\cdk\node_modules\.bin\rimraf.cmd
C:\Users\kaau\cdk\node_modules\.bin\pnpm
C:\Users\kaau\cdk\node_modules\.bin\pnpm.cmd
PS C:\Users\kaau\cdk> tsc --version
Version 6.0.3
PS C:\Users\kaau\cdk> cdk --version
2.1132.0 (build c4e4ee9)
PS C:\Users\kaau\cdk> rimraf --version
6.1.3
PS C:\Users\kaau\cdk> pnpm --version
11.15.1
npm update (weekly or monthly):
PS C:\Users\kaau> cd ${HOME}/cdk
PS C:\Users\kaau\cdk> dir
Directory: C:\Users\kaau\cdk
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2026-06-06 1:00 AM node_modules
-a---- 2026-06-06 1:00 AM 6288 package-lock.json
-a---- 2026-06-06 1:00 AM 131 package.json
PS C:\Users\kaau\cdk> npm update
up to date, audited 4 packages in 6s
1 package is looking for funding
run `npm fund` for details
found 0 vulnerabilities
Prepare working directory:
PS C:\Users\kaau> mkdir ${HOME}/myproj
Directory: C:\Users\kaau
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2026-06-06 1:13 AM myproj