From f597282b907d0644819d487609bb7843da15fd0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Geonizeli?= Date: Tue, 9 Aug 2022 19:59:23 +0000 Subject: [PATCH] fix eslint watch mode --- Dockerfile | 63 +++++++++++++++++++++++++--------------------- docker-compose.yml | 2 +- package.json | 1 + 3 files changed, 36 insertions(+), 30 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4270e7c..031b240 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,58 +1,63 @@ -FROM ruby:3.1.2-alpine +FROM ruby:3.1.2-slim-bullseye + +ENV TZ=America/Sao_Paulo -# App variables ENV APP_PATH /progress-test/ ENV APP_USER progress-test ENV APP_USER_HOME /home/progress-test -# Bundler variables + +ENV NODE_VERSION 16.14.2 +ENV NVM_DIR /usr/local/nvm + ENV BUNDLE_PATH $APP_USER_HOME ENV GEM_HOME $APP_USER_HOME/bundle ENV BUNDLE_BIN $GEM_HOME/bin -# Rails variables -ENV RAILS_LOG_TO_STDOUT=true -# System variables ENV PATH $PATH:$BUNDLE_BIN -# Timezone -ENV TZ=America/Sao_Paulo -# Puma +ENV RAILS_LOG_TO_STDOUT=true + EXPOSE 3000 -# UID of the user that will be created ARG UID -# Validating if UID argument was provided RUN : "${UID:?You must provide a UID argument when building this image.}" -# Creating an user so we don't run everything as root -RUN adduser -h $APP_USER_HOME -D -u $UID $APP_USER +RUN adduser --home $APP_USER_HOME --disabled-password --uid $UID --shell /bin/bash $APP_USER -# cd to $APP_PATH WORKDIR $APP_PATH COPY Gemfile* package.json yarn.lock $APP_PATH -# Installing libraries and gems +# Installing packages, gems and node modules # The package shared-mime-info is required in a Rails dependency # shared-mime-info ref: https://vtex.slack.com/archives/CE16Q9XRT/p1616716948056900 -RUN apk update && \ - apk add --no-cache \ - git \ - build-base \ - postgresql-dev \ - tzdata \ - nodejs \ - yarn \ - less \ - bash \ - graphviz \ - shared-mime-info && \ + +RUN rm /bin/sh && ln -s /bin/bash /bin/sh && \ + apt-get update && apt-get -y upgrade && \ + apt-get -y install build-essential bash libxml2-dev libxslt1-dev musl-dev \ + shared-mime-info git curl tzdata wget gnupg2 lsb-release dh-autoreconf graphviz watchman && \ + ln -s /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1 && \ + mkdir -p $NVM_DIR && \ + curl --silent -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash && \ + source $NVM_DIR/nvm.sh && \ + nvm install $NODE_VERSION && \ + nvm alias default $NODE_VERSION && \ + nvm use default + +RUN sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' && \ + wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \ + apt-get update && apt-get install -y libpq5 libpq-dev postgresql-client-13 postgresql-server-dev-13 + +ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules +ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH + +RUN npm install -g yarn && yarn && \ + bundle config git.allow_insecure true && \ bundle config jobs $(nproc --all) && \ bundle install && \ - yarn && \ chown -R $APP_USER:$APP_USER $APP_USER_HOME && \ chown -R $APP_USER:$APP_USER $APP_PATH && \ - rm -r /var/cache/apk/* + apt-get clean && rm -rf /var/lib/apt/lists/* COPY --chown=progress-test . $APP_PATH diff --git a/docker-compose.yml b/docker-compose.yml index 0739f44..e40b08a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -28,7 +28,7 @@ services: <<: *rails container_name: progress-test-esbuild command: - sh -c 'yarn build --watch' + sh -c 'sleep 9999999999 | yarn build --watch' db: image: postgres:11.3-alpine diff --git a/package.json b/package.json index 1a4316d..a50e1c6 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ }, "scripts": { "build": "esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds --public-path=assets --loader:.png=file --loader:.svg=file", + "build:watch": "esbuild --watch app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds --public-path=assets --loader:.png=file --loader:.svg=file", "build-styles": "postcss app/assets/stylesheets/tailwind.css -o app/assets/stylesheets/main.css" }, "devDependencies": {