diff --git a/.dockerignore b/.dockerignore index b0fd0ccf2..0bcfad56f 100644 --- a/.dockerignore +++ b/.dockerignore @@ -30,11 +30,7 @@ node_modules .env # Dist folder -dist/* -!dist/favicon.ico -!dist/index.css -!dist/index.js -!dist/tracker.js +/dist # Files not required by Docker Dockerfile diff --git a/.gitignore b/.gitignore index d7aa90eab..7b27e0fc8 100644 --- a/.gitignore +++ b/.gitignore @@ -30,11 +30,7 @@ node_modules .env # Dist folder -dist/* -!dist/favicon.ico -!dist/index.css -!dist/index.js -!dist/tracker.js +/dist # Vercel .vercel diff --git a/Dockerfile b/Dockerfile index 97db38d3e..cf66f1faa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,7 +18,7 @@ RUN yarn install --production --frozen-lockfile --network-timeout 120000 COPY build.js /srv/app/ COPY src /srv/app/src -COPY dist /srv/app/dist +COPY public /srv/app/public # Start with second build stage diff --git a/build.js b/build.js index e5fd3d76b..a30f44c72 100755 --- a/build.js +++ b/build.js @@ -2,17 +2,27 @@ 'use strict' require('dotenv').config() +const fs = require('fs') + const config = require('./src/utils/config') const customTracker = require('./src/utils/customTracker') const { index, styles, scripts, tracker, build } = require('./src/ui/index') // Build files that are identical on every installation if (config.isPreBuildMode === true) { - build('dist/index.css', styles) - build('dist/index.js', scripts) - build('dist/tracker.js', tracker) + build('public/index.css', styles) + build('public/index.js', scripts) + build('public/tracker.js', tracker) } +// create dist if needed +if (!fs.existsSync('dist')) fs.mkdirSync('dist') + +// copy public files to dist +fs.readdirSync('public').forEach(filename => { + fs.copyFileSync(`public/${filename}`, `dist/${filename}`) +}) + // Build files that depend on environment variables build(`dist/index.html`, index) if (customTracker.exists === true) build(`dist/${ customTracker.path }`, tracker) \ No newline at end of file diff --git a/dist/favicon.ico b/public/favicon.ico similarity index 100% rename from dist/favicon.ico rename to public/favicon.ico diff --git a/dist/index.css b/public/index.css similarity index 100% rename from dist/index.css rename to public/index.css diff --git a/dist/index.js b/public/index.js similarity index 100% rename from dist/index.js rename to public/index.js diff --git a/dist/tracker.js b/public/tracker.js similarity index 100% rename from dist/tracker.js rename to public/tracker.js