Liyas Thomas 4 years ago
parent
commit
f57ac978ae
3 changed files with 601 additions and 482 deletions
  1. 21 0
      babel.config.js
  2. 546 480
      package-lock.json
  3. 34 2
      package.json

+ 21 - 0
babel.config.js

@@ -0,0 +1,21 @@
+function isBabelLoader(caller) {
+  return caller && caller.name === "babel-loader"
+}
+
+module.exports = function (api) {
+  if (api.env("test") && !api.caller(isBabelLoader)) {
+    return {
+      presets: [
+        [
+          "@babel/preset-env",
+          {
+            targets: {
+              node: "current",
+            },
+          },
+        ],
+      ],
+    }
+  }
+  return {}
+}

File diff suppressed because it is too large
+ 546 - 480
package-lock.json


+ 34 - 2
package.json

@@ -13,7 +13,7 @@
     "pregenerate": "node build.js",
     "generate": "nuxt generate",
     "pretty-quick": "pretty-quick --staged --pattern \"**/*.*(html|js|json|vue)\"",
-    "test": ""
+    "test": "jest"
   },
   "husky": {
     "hooks": {
@@ -48,15 +48,47 @@
     "yargs-parser": "^19.0.1"
   },
   "devDependencies": {
+    "@babel/core": "^7.11.1",
+    "@babel/preset-env": "^7.11.0",
     "@nuxtjs/dotenv": "^1.4.1",
     "@nuxtjs/google-analytics": "^2.4.0",
     "@nuxtjs/pwa": "^3.0.0",
+    "@vue/test-utils": "^1.0.3",
+    "babel-jest": "^26.3.0",
     "eslint": "^7.7.0",
     "eslint-plugin-vue": "^6.2.2",
     "husky": "^4.2.5",
+    "jest": "^26.4.0",
+    "jest-serializer-vue": "^2.0.2",
     "node-sass": "^4.14.1",
     "prettier": "^2.0.5",
     "pretty-quick": "^2.0.1",
-    "sass-loader": "^9.0.3"
+    "sass-loader": "^9.0.3",
+    "vue-jest": "^3.0.6"
+  },
+  "jest": {
+    "moduleFileExtensions": [
+      "js",
+      "json",
+      "vue"
+    ],
+    "watchman": false,
+    "moduleNameMapper": {
+      "^~/(.*)$": "<rootDir>/$1",
+      "^~~/(.*)$": "<rootDir>/$1"
+    },
+    "transform": {
+      "^.+\\.js$": "babel-jest",
+      ".*\\.(vue)$": "vue-jest"
+    },
+    "snapshotSerializers": [
+      "jest-serializer-vue"
+    ],
+    "collectCoverage": true,
+    "collectCoverageFrom": [
+      "<rootDir>/components/**/*.vue",
+      "<rootDir>/pages/*.vue"
+    ],
+    "testURL": "http://localhost/"
   }
 }

Some files were not shown because too many files changed in this diff