mirror of
https://github.com/opf/openproject.git
synced 2026-06-14 03:30:14 +00:00
660f617c22
When wanting to avoid openproject cli proxy (`OPENPROJECT_CLI_PROXY=""`), assets must be precompiled and the manifest must be built from these assets. Then if later the assets are deleted like it's done in this script, then the manifest should reflect that and be cleared too, or it will try to serve the hashed version of the assets, which is not valid anymore. This is especially meaningful when running shards with multitenancy plugin in development mode as the assets are still served by the angular server, but the routing occurs at a higher level (caddy server doing reverse proxy). If the manifest exists with hashed values, rails will return that path with the hash and the angular server cannot serve it. It needs the unhashed path to serve it.
43 lines
1.6 KiB
Bash
Executable File
43 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Deletes bundled javascript assets and rebuilds them.
|
|
# Useful for when your frontend doesn't work (jQuery not defined etc.) for seemingly no reason at all.
|
|
|
|
yell() { echo -e "$0: $*" >&2; }
|
|
die() { yell "$*"; exit 1; }
|
|
try() { eval "$@" || die "\n\nFailed to run '$*', check log/setup_dev.log for more information."; }
|
|
|
|
printf "Bundling rails dependencies ... "
|
|
try 'bundle install > log/setup_dev.log'
|
|
echo "done."
|
|
|
|
echo "Migrating database"
|
|
try 'bundle exec rake db:migrate'
|
|
|
|
echo "Removing public assets"
|
|
try 'rm -rf public/assets >> log/setup_dev.log'
|
|
try 'echo "{}" > config/frontend_assets.manifest.json'
|
|
|
|
echo "Installing node_modules ... "
|
|
try '(cd frontend && npm ci) >> log/setup_dev.log'
|
|
|
|
echo "Linking plugin modules and exporting frontend locale files"
|
|
try 'bundle exec rails openproject:plugins:register_frontend assets:export_locales >> log/setup_dev.log'
|
|
|
|
echo "---------------------------------------"
|
|
echo "Done. Now start the following services"
|
|
echo '- Rails server `RAILS_ENV=development bin/rails server`'
|
|
echo '- Angular CLI: `npm run serve`'
|
|
echo '- Good Job worker: `RAILS_ENV=development bundle exec good_job start`'
|
|
echo ""
|
|
echo 'You can also run `bin/dev` to run all the above on a single terminal.'
|
|
echo ""
|
|
echo "If you'd like an enhanced development experience and interaction"
|
|
echo 'with the individual services, install Overmind. `bin/dev` will'
|
|
echo 'prefer using Overmind over Foreman if available.'
|
|
|
|
echo ""
|
|
echo 'Setting up git hooks'
|
|
echo 'If you want to have commit hooks for rubocop and eslint errors, you can install lefthook like so:'
|
|
echo '`bundle exec lefthook install`'
|