@dynamods/dynamo-home
v1.0.21
Published
Dynamo Home
Downloads
1,074
Readme
DynamoHome
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.
Introduction
Layout
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
Development
Requirements
Install
git clone https://github.com/DynamoDS/DynamoHome.git
cd DynamoHome
npm install --force
Running the project
npm start
Build for development
npm run build
Create a distribution bundle
npm run bundle
Lint
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
Test
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
Bump Version
npm run version:patch # To bump patch version
Localization
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;
}
}
3rd party libraries and dependencies
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
Generate Third Party License Info
- 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