-
Notifications
You must be signed in to change notification settings - Fork 21
Getting started
Nick Watts edited this page Aug 3, 2023
·
28 revisions
Configure git to ignore some commits (containing large formatting changes) in git blame
.
git config blame.ignoreRevsFile /path/to/terra-ui/.git-blame-ignore-revs
-
Install Node.js 18 and Yarn. See https://nodejs.org/en/download/ for options for installing Node.js.
-
Install "unplugged" dependencies.
yarn install
Terra UI uses yarn's "Plug'n'Play", so most dependencies are checked into git in
.yarn/cache
. "Unplugged" dependencies are those with native components. -
Start development server.
yarn start
-
Open http://localhost:3000 in a browser.
Run unit tests with:
yarn test
By default, tests that write console logs will fail. To avoid this while debugging, use ALLOW_LOGS=true yarn test
.
More information on unit tests
-
ESLint is automatically run on commits via a pre-commit hook. To skip the pre-commit hook, use
git commit --no-verify
. - ESLint runs Prettier to format code.
- To attempt to automatically resolve lint issues, run
yarn lint
from the repo's root directory. ESLint will fix whatever issues it can and report any that must be manually resolved. - In an IDE other than IntelliJ (VS Code, etc): install the eslint plugin from your package manager, and there should be a command to fix issues at any time.
- In IntelliJ:
- Styles should be automatically applied by .editorconfig; make sure you've also turned on eslint.
- In order to correctly format a file at any time, run the IntelliJ
Reformat Code
action, and then right-click in a window and clickFix ESLint Problems
. You could also create an IntelliJ macro to do this for you as explained here, and map running of the macro to a keyboard shortcut for convenience.
Terra UI Wiki.
- Getting Started
- Contributor Guide
- Intro to UI Development
- Troubleshooting Build Failures
- Editor Configuration
- BEEs
- Pull Requests
- How to Find a PR Site
- Feature Flags
- Mixpanel
- Cobranding and White-Label Sites
- Using Terra UI packages in other projects