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 --force
npm start
npm run build
npm run bundle
We 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 problems
We 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 tests
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:
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