Skip to content

grails/grails-forge-ui

Repository files navigation

Grails Application Forge UI

Build Status

This project builds the Grails Application Forge UI.

This is also served to Github Pages https://grails.github.io/grails-forge-ui/.

To build the site for CI run:

./gradlew build --console=plain

In the new version of npm (v7), by default, npm install will fail when it encounters conflicting peerDependencies. You may see the following error with build command:

> Task :npmInstall
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/react
npm ERR!   react@"^17.0.2" from the root project
npm ERR!   peer react@"^16.8.0 || ^17.0.0" from @material-ui/[email protected]
npm ERR!   node_modules/@material-ui/core
npm ERR!     @material-ui/core@"^4.11.4" from the root project
npm ERR!     peer @material-ui/core@"^4.0.0" from @material-ui/[email protected]
npm ERR!     node_modules/@material-ui/icons
npm ERR!       @material-ui/icons@"^4.11.2" from the root project
npm ERR!     1 more (@material-ui/lab)
npm ERR!   12 more (@material-ui/icons, @material-ui/lab, ...)
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.12.0" from [email protected]
npm ERR! node_modules/react-materialize
npm ERR!   react-materialize@"^3.9.8" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: [email protected]
npm ERR! node_modules/react
npm ERR!   peer react@"^16.12.0" from [email protected]
npm ERR!   node_modules/react-materialize
npm ERR!     react-materialize@"^3.9.8" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! See /Users/behl/.npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/behl/.npm/_logs/2022-12-30T16_02_08_877Z-debug-0.log

This happen due to latest version of Node JS, then you might need to set flag--legacy-peer-deps with npm install command.

For local development mimicking production launch site:

  • To bypass CORS restrictions, Launch the Local Version / Proxy Server
cd ./dev-proxy-server
npm run start
  • Start the dev build of the site
cd ./app/launch/
npm run start:local

Running a Grails Forge API locally to dev against

If you want to run against a version of the starter api (Grails Starter Api)[https://github.com/grails/grails-forge]

Outside of this project pull down that repo

git clone [email protected]:grails/grails-forge.git
cd grails-forge
export CORS_ALLOWED_ORIGIN=http://localhost:3000
./gradlew grails-forge-web-netty:run

Then start up a version server to provide that instance

cd ./dev-proxy-server
npm run start:starter

Updating The Version feed

You can find the version feed file at ./app/launch/public/grails-version-feed.json. It must be in valid JSON format, so beware of these gotyas!

Keys must be quoted

  • GOOD

    {
        "key": "RELEASE",
        "baseUrl": "https://start.grails.org",
        "order": 0
    }
    
  • BAD

    {
        key: "RELEASE",
        baseUrl: "https://start.grails.org",
        order: 0
    }
    

No trailing comma

  • GOOD

    {
        "key": "RELEASE",
        ...
    },
    {
        "key": "NEXT",
        ...
    }
    
  • BAD

    {
        "key": "RELEASE",
        ...
    },
    {
        "key": "NEXT",
        ...
    },