Skip to content

Commit

Permalink
Merge pull request #90 from acelaya-forks/feature/vite-migration
Browse files Browse the repository at this point in the history
Feature/vite migration
  • Loading branch information
acelaya committed Mar 1, 2023
2 parents 75a0a06 + 24c8a65 commit 3213f6f
Show file tree
Hide file tree
Showing 28 changed files with 3,095 additions and 2,927 deletions.
3 changes: 1 addition & 2 deletions .dockerignore
Expand Up @@ -3,7 +3,6 @@ node_modules
LICENSE
/build
docker-compose.*
/.next/
/out/
/build/
npm-debug.log*
/home
1 change: 0 additions & 1 deletion .eslintrc.json
@@ -1,7 +1,6 @@
{
"root": true,
"extends": [
"next/core-web-vitals",
"@shlinkio/js-coding-standard"
],
"parserOptions": {
Expand Down
3 changes: 1 addition & 2 deletions .gitignore
Expand Up @@ -2,7 +2,6 @@
/build
node_modules
docker-compose.override.yml
/.next/
/out/
/build/
npm-debug.log*
home
8 changes: 4 additions & 4 deletions Dockerfile
Expand Up @@ -2,10 +2,10 @@ FROM node:18.12-alpine as node
COPY . /shlink-api-spec
RUN cd /shlink-api-spec && \
npm ci --force && \
npm run export && \
rm -r out/404
npm run build

FROM nginx:1.23-alpine
LABEL maintainer="Alejandro Celaya <alejandro@alejandrocelaya.com>"
RUN rm -r /usr/share/nginx/html
COPY --from=node /shlink-api-spec/out /usr/share/nginx/html
RUN rm -r /usr/share/nginx/html && rm /etc/nginx/conf.d/default.conf
COPY config/docker/nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=node /shlink-api-spec/build /usr/share/nginx/html
32 changes: 32 additions & 0 deletions config/docker/nginx.conf
@@ -0,0 +1,32 @@
server {
listen 80 default_server;
charset utf-8;
root /usr/share/nginx/html;
index index.html;

# Expire rules for static content
# HTML files should never be cached. There's only one here, which is the entry point (index.html)
location ~* \.(?:manifest|appcache|html?|xml|json)$ {
expires -1;
}
# Images and other binary assets can be saved for a month
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
expires 1M;
add_header Cache-Control "public";
}
# JS and CSS files can be saved for a year, as they are always hashed. New versions will include a new hash anyway, forcing the download
location ~* \.(?:css|js)$ {
expires 1y;
add_header Cache-Control "public";
}

# When requesting static paths with extension, try them, and return a 404 if not found
location ~* .+\.(css|js|html|png|jpe?g|gif|bmp|ico|json|csv|otf|eot|svg|svgz|ttf|woff|woff2|ijmap|pdf|tif|map) {
try_files $uri $uri/ =404;
}
# When requesting a path without extension, try it, and return the index if not found
# This allows HTML5 history paths to be handled by the client application
location / {
try_files $uri $uri/ /index.html$is_args$args;
}
}
2 changes: 1 addition & 1 deletion docker-compose.yml
Expand Up @@ -4,7 +4,7 @@ services:
shlink_api_spec_ui:
container_name: shlink_api_spec_ui
image: node:18.12-alpine
command: /bin/sh -c "cd /shlink-api-spec && npm install -f && npm run dev"
command: /bin/sh -c "cd /shlink-api-spec && npm install -f && npm run start"
volumes:
- ./:/shlink-api-spec
ports:
Expand Down
19 changes: 19 additions & 0 deletions index.html
@@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Shlink — Open API spec UI</title>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="description" content="A self-hosted and PHP-based URL shortener with CLI and REST interfaces" />
<meta name="theme-color" content="#4696e5" />
<link rel="icon" type="image/x-icon" href="data:image/x-icon;base64,AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWWRgAAAAAAAAAAAAAAAADllkYY5ZZGT+WWRjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADllkYA5ZZGC+WWRo3llkbK5ZZG/+WWRv/llkb/5ZZGfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWWRh/llkb35ZZG/+WWRv/llkb/5ZZG/+WWRv/llkZEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ZZGCeWWRt/llkb/5ZZG/+WWRv/llkb/5ZZG/+WWRgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ZZGAuWWRkLllkY2AAAAAOWWRpvllkbC5ZZG/+WWRv/llkb3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ZZGMOWWRv/llkb/5ZZG/+WWRv/llkb/5ZZGzgAAAADllkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWWRi/llkb/5ZZG/+WWRv/llkb/5ZZG/+WWRv/llkb/5ZZGzgAAAADllkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ZZGC+WWRmHllkZu5ZZG/+WWRv/llkb/5ZZG/+WWRv/llkbn5ZZG/+WWRv/llkb/5ZZGzgAAAADllkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWWRlLllkb/5ZZG/+WWRv/llkb/5ZZG/+WWRv/llkb/5ZZG0wAAAADllkbj5ZZG/+WWRv/llkb/5ZZGzgAAAADllkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADllkYX5ZZG/+WWRv/llkb/5ZZG/+WWRv/llkb/5ZZG/+WWRtMAAAAA5ZZGAOWWRlzllkb/5ZZG/+WWRv/llkb/5ZZGmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWWRnvllkb/5ZZG/+WWRv/llkb/5ZZG/+WWRv/llkbjAAAAAOWWRgAAAAAAAAAAAOWWRvPllkb/5ZZG/+WWRv/llka1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ZZGjOWWRv/llkb/5ZZG/+WWRv/llkb/5ZZG/+WWRsUAAAAAAAAAAAAAAAAAAAAA5ZZGbuWWRv/llkb/5ZZG9uWWRhbllkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWWRgDllkZL5ZZG/+WWRv/llkb/5ZZG/+WWRv/llkb/5ZZGhgAAAAAAAAAAAAAAAAAAAAAAAAAA5ZZGjOWWRq3llkYV5ZZGAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADllkbH5ZZG/+WWRv/llkb/5ZZG/+WWRvDllkYC5ZZGAAAAAAAAAAAAAAAAAOWWRgAAAAAAAAAAAOWWRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ZZGAAAAAADllkZ/5ZZG2+WWRuPllkaa5ZZGB+WWRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADllkYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////H///8B///+Af///gH///iD///wA///4CP//8cH//+PH///Hx///yI///0if//4Ev/58BP/8OPj/+Bjx//gI4//8BAf//gAP///BH///gP///wB///gAP//wBB//4AwP/+AeD//gHg//4B8P//Af///4P////////8=" />
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="root"></div>
<script type="module" src="/src/index.tsx"></script>
</body>
</html>
5 changes: 0 additions & 5 deletions next-env.d.ts

This file was deleted.

7 changes: 0 additions & 7 deletions next.config.mjs

This file was deleted.

0 comments on commit 3213f6f

Please sign in to comment.