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
git clone https://github.com/DynamoDS/DynamoHome.git
cd DynamoHome
npm install --forcenpm startnpm run buildnpm run bundleWe use ESlint to analyze and find problems. It has integrations for various editors and other tools.
npm run lint:check # To find problems
npm run lint:fix # To fix problemsWe use jest and playwright to run our tests.
npm run test:unit # To run unit test
npm run test:e2e # To run e2e test
npm run test # To runs all testsnpm run version:patch # To bump patch versionLocalization is done via react-intl library. The current setup relies on the combination of these 2 elements:
- localization files stored inside the
src/localesfolder (add as many localization files as needed) - adding new locales to the switch statement inside the
src/localization/localization.jsfile:
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 localizationreact-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


