This project maintains the React web app for Construct Hub.
- Node v18.20 or later
- yarn v1
To run the web app locally, fork the repository and run yarn
or yarn install
to download its dependencies. Then, run yarn dev
to start the development
server on localhost:3000.
By default, all requests for backend data will be proxied to
https://constructs.dev
. To change this to point to a different version of the
website (such as your own deployment of the Construct Hub
construct, modify the value of
PROXY_URL in the beginning of .projenrc.js
and then run yarn projen
to
update the configuration everywhere. You may then need to restart yarn dev
for
changes to take effect.
Feature flags are used to test new features. You can enable them on your local
build by adding a file named config.json
to the public/
directory:
{
"featureFlags": {
"homeRedesign": true,
"searchRedesign": true
}
}
The list of all configuration options and feature flags is defined in
src/api/config/index.ts
.
Integration tests are written using Cypress and can be found within the
cypress/
directory. The full test suite can be executed in the CLI by running
yarn cypress:run
, or you can run yarn cypress:open
to debug individual tests
interactively.
Our repository has a GitHub action set up to automatically update minor and
patch versions of dependencies. To update the major version of a dependency,
change the version directly in package.json
and install it with yarn
so that
yarn.lock
is updated. If you need to add a new dependency, find the section of
.projenrc.js
where the dependencies (or dev dependencies) are located, add the
dependency name, and run yarn projen
.
The yarn analyze-exports
command can be used to automatically generate a list
of TypeScript exports that are not being used within the app.
See CONTRIBUTING for more information.
This project is licensed under the Apache-2.0 License.