Dynamo Home
npm install @dynamods/dynamo-home



A react-based app to serve as Dynamo landing page.
This application is specific to Dynamo and utilizes several specific endpoints to work as intended.
The sidebar contains links to the 3 main modules:
- Recent - lists of recently opened files (the number of recent files can be changed by the user in Dynamo preferences window)
- Samples - lists Sample files. e.g "%ProgramData%\Autodesk\RVT 2025\Samples"
- Learning - a one-stop-shop for Dynamo learning resources
#### Recent module
#### Samples module
#### Learning module
``shell`
git clone https://github.com/DynamoDS/DynamoHome.git
cd DynamoHome
npm install --force
`shell`
npm start
`shell`
npm run build
`shell`
npm run bundle
We use ESlint to analyze and find problems. It has integrations for various editors and other tools.
`shell`
npm run lint:check # To find problems
npm run lint:fix # To fix problems
We use jest and playwright to run our tests.
`shell`
npm run test:unit # To run unit test
npm run test:e2e # To run e2e test
npm run test # To runs all tests
`shell`
npm run version:patch # To bump patch version
Localization is done via react-intl library. The current setup relies on the combination of these 2 elements:
- localization files stored inside the src/locales folder (add as many localization files as needed)
- adding new locales to the switch statement inside the src/localization/localization.js file:
`javascript`
export const getMessagesForLocale = (locale) => {
switch(locale) {
case 'en':
return EnglishMessages;
default:
return EnglishMessages;
}
}
The use of 3rd party libraries was kept to the bare minimum, where developing native elements would have resulted in exceptional time overhead.
- react-intl - library used for localization
- react-split-pane - allows resizable (draggable) panel (used in the SidePanel)
- react-table - a lightweight headless react table
- To generate about box html files use npm run license`, this will output alternative about box files to license_output. One will contain the full transitive production dep list, the other will contain the direct production deps.
- These files will be packed into the released npm package