Skip to content

cdklabs/construct-hub-webapp

Folders and files

NameName
Last commit message
Last commit date
Feb 5, 2025
Nov 14, 2024
Jun 17, 2024
Aug 16, 2022
Mar 18, 2022
Dec 6, 2024
Jun 23, 2021
Jun 18, 2024
Aug 23, 2024
Jan 6, 2024
Oct 18, 2024
Apr 29, 2024
Jun 14, 2023
Jun 14, 2023
Feb 5, 2025
Apr 21, 2021
Apr 21, 2021
Jun 3, 2021
Apr 21, 2021
Jun 17, 2024
Jun 1, 2021
Jun 17, 2024
Mar 1, 2025
Jan 6, 2024
Jun 14, 2023
Mar 2, 2025

Construct Hub Web App

This project maintains the React web app for Construct Hub.

⚒️ Development

📋 Prerequisites:

  • Node v18.20 or later
  • yarn v1

💻 Running the website

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.

⚙️ Configuration

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.

🧪 Running integration / E2E tests

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.

🧰 Other tools

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.

👮 Security

See CONTRIBUTING for more information.

⚖️ License

This project is licensed under the Apache-2.0 License.