You need Node, Yarn (or npm) and watchman.
node -v
should be >= 20.x- We recommend that you use
nvm
to install a specific Node.js version. Optionally, you can also set up its automatic version switching shell integration.
- We recommend that you use
yarn --version
should be >= 3. The project will then use yarn 3 from the included file.
You also need a C compiler:
- Linux: GCC 4.6 or later
- OS X: Xcode 5.0 or later
- Windows: for example MSVC 2013 Express
brew install watchman
git clone https://github.com/facebook/watchman.git -b v4.9.0 --depth 1
cd watchman
./autogen.sh
./configure --enable-lenient --without-python
make
sudo make install
watchman -v
yarn install && yarn setup
- OSX / Linux:
yarn run dev
- Windows:
npm run dev-win-national
- open: http://localhost:8080
- First run:
yarn run build
, then run:yarn run start
- open: http://localhost:8080
Note: on Windows, add "win-" prefix to the run commands above. For example: npm run win-build
.
The same applies to other npm run commands below.
After you have changed the files in digitransit-components
you have to re-run yarn setup
to build those modules
and apply the changes.
- run:
webpack -p --json > digitransit.json
- Upload
digitransit.json
tohttp://webpack.github.io/analyse/
Or you can also use this:
Husky (npm-package) is used for setting up the git hooks (.git/hooks/
) that will allow custom scripts to be run on the repository.
Look up 'husky' in package.json
to see the details.
Digitransit ui can be configured in multiple ways. You can
- Change between National and Regional versions using
CONFIG
parameter- Alternatively, use
BASE_CONFIG
if server is supposed to serve multiple configurations which have same base configuration. It is used server side at start up and request's host specific config based onhost
orx-forwarded-host
header is merged into it before returning config to client.
- Alternatively, use
- Switch API backend using
API_URL
parameter - Enable Sentry client side error monitoring using
SENTRY_*
parameters
Note that you can combine multiple configuration parameters.
Start national version
yarn run build
yarn run start
Start HSL version
yarn run build
CONFIG=hsl yarn run start
By default digitransit-ui uses services from https://dev-api.digitransit.fi but you can override API server like so:
yarn run build
API_URL=https://api.digitransit.fi yarn run start
If you want to specify different URL (not just base URL) for individual services, you can define variables OTP_URL, MAP_URL and/or GEOCODING_BASE_URL (URL path before /search or /reverse).
yarn run build
GEOCODING_BASE_URL=https://api.digitransit.fi/geocoding/v1 OTP_URL=https://api.digitransit.fi/routing/v1/routers/finland/ yarn run start
Sentry can be configured like so:
yarn run build
SENTRY_DSN=https://[email protected]/zzzzz SENTRY_SECRET_DSN=https://xxxx:[email protected]/zzzzz yarn run start
STATIC_MESSAGE_URL=https://dev-yleisviesti.digitransit.fi yarn run start