ソースを参照

fix: Various fixes for Vite migration

Owen Diffey 3 年 前
コミット
16c3837d06

+ 1 - 1
.github/workflows/build-eslint.yml

@@ -32,7 +32,7 @@ jobs:
               run: |
                   cp .env.example .env
                   cp backend/config/template.json backend/config/default.json
-                  cp frontend/dist/config/template.json frontend/dist/config/default.json
+                  cp frontend/config/template.json frontend/config/default.json
                   ./musare.sh build
             - name: Start Musare
               run: ./musare.sh start

+ 0 - 9
frontend/.babelrc

@@ -1,9 +0,0 @@
-{
-	"presets": [ ["@babel/preset-env", { "modules": false }] ],
-	"plugins": [
-		"@babel/plugin-transform-runtime",
-		"@babel/plugin-syntax-dynamic-import",
-		"@babel/plugin-proposal-object-rest-spread"
-	],
-	"comments": false
-}

+ 1 - 1
frontend/.eslintrc

@@ -6,10 +6,10 @@
 		"node": true,
 		"es6": true
 	},
+	"parser": "vue-eslint-parser",
 	"parserOptions": {
 		"ecmaVersion": 2018,
 		"sourceType": "module",
-		"parser": "@babel/eslint-parser",
 		"requireConfigFile": false
 	},
 	"extends": [

+ 15 - 14
frontend/package-lock.json

@@ -37,10 +37,11 @@
         "eslint-config-prettier": "^8.5.0",
         "eslint-plugin-import": "^2.26.0",
         "eslint-plugin-prettier": "^4.0.0",
-        "eslint-plugin-vue": "^9.1.0",
+        "eslint-plugin-vue": "^9.1.1",
         "fetch": "^1.1.0",
         "less": "^4.1.2",
-        "prettier": "^2.6.2"
+        "prettier": "^2.6.2",
+        "vue-eslint-parser": "^9.0.2"
       }
     },
     "node_modules/@ampproject/remapping": {
@@ -638,9 +639,9 @@
       }
     },
     "node_modules/@types/eslint": {
-      "version": "7.29.0",
-      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz",
-      "integrity": "sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==",
+      "version": "8.4.3",
+      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.3.tgz",
+      "integrity": "sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw==",
       "peer": true,
       "dependencies": {
         "@types/estree": "*",
@@ -2113,9 +2114,9 @@
       }
     },
     "node_modules/eslint-plugin-vue": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.1.0.tgz",
-      "integrity": "sha512-EPCeInPicQ/YyfOWJDr1yfEeSNoFCMzUus107lZyYi37xejdOolNzS5MXGXp8+9bkoKZMdv/1AcZzQebME6r+g==",
+      "version": "9.1.1",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.1.1.tgz",
+      "integrity": "sha512-W9n5PB1X2jzC7CK6riG0oAcxjmKrjTF6+keL1rni8n57DZeilx/Fulz+IRJK3lYseLNAygN0I62L7DvioW40Tw==",
       "dev": true,
       "dependencies": {
         "eslint-utils": "^3.0.0",
@@ -5030,9 +5031,9 @@
       "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw=="
     },
     "@types/eslint": {
-      "version": "7.29.0",
-      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz",
-      "integrity": "sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==",
+      "version": "8.4.3",
+      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.3.tgz",
+      "integrity": "sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw==",
       "peer": true,
       "requires": {
         "@types/estree": "*",
@@ -6176,9 +6177,9 @@
       }
     },
     "eslint-plugin-vue": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.1.0.tgz",
-      "integrity": "sha512-EPCeInPicQ/YyfOWJDr1yfEeSNoFCMzUus107lZyYi37xejdOolNzS5MXGXp8+9bkoKZMdv/1AcZzQebME6r+g==",
+      "version": "9.1.1",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.1.1.tgz",
+      "integrity": "sha512-W9n5PB1X2jzC7CK6riG0oAcxjmKrjTF6+keL1rni8n57DZeilx/Fulz+IRJK3lYseLNAygN0I62L7DvioW40Tw==",
       "dev": true,
       "requires": {
         "eslint-utils": "^3.0.0",

+ 4 - 3
frontend/package.json

@@ -22,10 +22,11 @@
     "eslint-config-prettier": "^8.5.0",
     "eslint-plugin-import": "^2.26.0",
     "eslint-plugin-prettier": "^4.0.0",
-    "eslint-plugin-vue": "^9.1.0",
+    "eslint-plugin-vue": "^9.1.1",
     "fetch": "^1.1.0",
     "less": "^4.1.2",
-    "prettier": "^2.6.2"
+    "prettier": "^2.6.2",
+    "vue-eslint-parser": "^9.0.2"
   },
   "dependencies": {
     "@vitejs/plugin-vue": "^2.3.3",
@@ -50,4 +51,4 @@
     "vuedraggable": "^4.1.0",
     "vuex": "^4.0.2"
   }
-}
+}

+ 8 - 8
frontend/prod.nginx.conf

@@ -5,25 +5,25 @@ events {
 }
 
 http {
-    include       /etc/nginx/mime.types;
-    default_type  application/octet-stream;
+    include /etc/nginx/mime.types;
+    default_type application/octet-stream;
 
-    sendfile        off;
+    sendfile off;
 
-    keepalive_timeout  65;
+    keepalive_timeout 65;
 
     server {
-        listen       80;
+        listen 80;
         server_name _;
 
-        root /opt/app/dist;
+        root /opt/app/build;
 
         location / {
-            try_files $uri /build/$uri /build/index.html =404;
+            try_files $uri /$uri /index.html =404;
         }
 
         location /backend {
-            proxy_set_header X-Real-IP  $remote_addr;
+            proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $remote_addr;
             proxy_set_header Host $host;
 

+ 2 - 2
frontend/src/components/modals/EditNews.vue

@@ -77,7 +77,7 @@
 <script>
 import { mapActions, mapGetters } from "vuex";
 import { marked } from "marked";
-import { sanitize } from "dompurify";
+import DOMPurify from "dompurify";
 import Toast from "toasters";
 import { formatDistance } from "date-fns";
 
@@ -152,7 +152,7 @@ export default {
 			}
 		},
 		marked,
-		sanitize,
+		sanitize: DOMPurify.sanitize,
 		getTitle() {
 			let title = "";
 			const preview = document.getElementById("preview");

+ 2 - 2
frontend/src/components/modals/WhatIsNew.vue

@@ -26,7 +26,7 @@
 <script>
 import { formatDistance } from "date-fns";
 import { marked } from "marked";
-import { sanitize } from "dompurify";
+import DOMPurify from "dompurify";
 import { mapActions } from "vuex";
 
 import { mapModalState } from "@/vuex_helpers";
@@ -58,7 +58,7 @@ export default {
 	},
 	methods: {
 		marked,
-		sanitize,
+		sanitize: DOMPurify.sanitize,
 		formatDistance,
 		...mapActions("modalVisibility", ["openModal"])
 	}

+ 2 - 2
frontend/src/pages/News.vue

@@ -39,7 +39,7 @@
 import { formatDistance } from "date-fns";
 import { mapGetters } from "vuex";
 import { marked } from "marked";
-import { sanitize } from "dompurify";
+import DOMPurify from "dompurify";
 
 import ws from "@/ws";
 
@@ -93,7 +93,7 @@ export default {
 	},
 	methods: {
 		marked,
-		sanitize,
+		sanitize: DOMPurify.sanitize,
 		formatDistance,
 		init() {
 			this.socket.dispatch("news.getPublished", res => {