Browse Source

Подготовка среды

Book Pauk 6 năm trước cách đây
mục cha
commit
e38432871a
5 tập tin đã thay đổi với 116 bổ sung71 xóa
  1. 52 0
      .eslintrc
  2. 0 48
      .eslintrc.js
  3. 58 20
      package-lock.json
  4. 6 3
      package.json
  5. 0 0
      server/application_env.example

+ 52 - 0
.eslintrc

@@ -0,0 +1,52 @@
+{
+  "parser": "babel-eslint",
+  "plugins": [
+    "html",
+    "node",
+    "vue"
+  ],
+  "env": {
+    "browser": true,
+    "node": true
+  },
+  "rules": {
+    "strict": 0,
+    "indent": [0, 4, {
+      "SwitchCase": 1
+    }],
+    "space-before-function-paren": [2, "never"],
+    "valid-jsdoc": [2, {
+      "requireReturn": false,
+      "prefer": {
+        "returns": "return"
+      }
+    }],
+    "require-jsdoc": 0,
+    "max-len": [1, 200, 4, {
+      "ignoreComments": true,
+      "ignoreUrls": true
+    }],
+
+	"node/exports-style": "off",
+	"node/no-deprecated-api": "error",
+	"node/no-extraneous-import": "off",
+	"node/no-extraneous-require": "error",
+	"node/no-missing-import": "off",
+	"node/no-missing-require": "error",
+	"node/no-unpublished-bin": "error",
+	"node/no-unpublished-import": "off",
+	"node/no-unpublished-require": "error",
+	"node/no-unsupported-features/es-builtins": "error",
+	"node/no-unsupported-features/es-syntax": "error",
+	"node/no-unsupported-features/node-builtins": "error",
+	"node/prefer-global/buffer": "off",
+	"node/prefer-global/console": "off",
+	"node/prefer-global/process": "off",
+	"node/prefer-global/text-decoder": "off",
+	"node/prefer-global/text-encoder": "off",
+	"node/prefer-global/url-search-params": "off",
+	"node/prefer-global/url": "off",
+	"node/shebang": "error"
+
+  }
+}

+ 0 - 48
.eslintrc.js

@@ -1,48 +0,0 @@
-module.exports = {
-    root: true,
-    parserOptions: {
-        parser: 'babel-eslint',
-        sourceType: 'module'
-    },
-    env: {
-        browser: true,
-    },
-    extends: [
-        'plugin:vue/essential',
-        'standard'
-    ],
-    plugins: [
-        'html',
-        'standard',
-        'vue'
-    ],
-    rules: {
-        'generator-star-spacing': 'off',
-        'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
-        'indent': [ 'error', 4, { 'SwitchCase': 1 } ],
-        'brace-style': [ 'error', '1tbs' ],
-        'semi': [ 'error', 'always' ],
-        'no-console': 'error',
-        'comma-dangle': [ 'error', {
-            'arrays': 'never',
-            'objects': 'always-multiline',
-            'imports': 'never',
-            'exports': 'never',
-            'functions': 'never'
-        }],
-        'no-multiple-empty-lines': [ 'error', { 'max': 2, 'maxBOF': 1 }],
-        'no-undef': 'error',
-        'space-in-parens': ['error', 'never'],
-        'space-before-function-paren': [
-            'error',
-            'always'
-        ],
-        'quotes': ['error', 'single'],
-        'space-before-blocks': [
-            'error',
-            'always'
-        ],
-        'no-empty': 'error',
-        'no-duplicate-imports': 'error'
-    }
-}

+ 58 - 20
package-lock.json

@@ -144,16 +144,15 @@
       }
     },
     "babel-eslint": {
-      "version": "6.1.2",
-      "resolved": "http://registry.npmjs.org/babel-eslint/-/babel-eslint-6.1.2.tgz",
-      "integrity": "sha1-UpNBn+NnLWZZjTJ9qWlFZ7pqXy8=",
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz",
+      "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=",
       "dev": true,
       "requires": {
-        "babel-traverse": "^6.0.20",
-        "babel-types": "^6.0.19",
-        "babylon": "^6.0.18",
-        "lodash.assign": "^4.0.0",
-        "lodash.pickby": "^4.0.0"
+        "babel-code-frame": "^6.22.0",
+        "babel-traverse": "^6.23.1",
+        "babel-types": "^6.23.0",
+        "babylon": "^6.17.0"
       }
     },
     "babel-messages": {
@@ -624,6 +623,15 @@
         }
       }
     },
+    "eslint-plugin-vue": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-5.0.0.tgz",
+      "integrity": "sha512-mSv2Ebz3RaPP+XJO/mu7F+SdR9lrMyGISSExnarLFqqf3pF5wTmwWNrhHW1o9zKzKI811UVTIIkWJJvgO6SsUQ==",
+      "dev": true,
+      "requires": {
+        "vue-eslint-parser": "^4.0.2"
+      }
+    },
     "eslint-scope": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
@@ -1086,18 +1094,6 @@
       "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
       "dev": true
     },
-    "lodash.assign": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
-      "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
-      "dev": true
-    },
-    "lodash.pickby": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz",
-      "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=",
-      "dev": true
-    },
     "loose-envify": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -1679,6 +1675,48 @@
       "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
       "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
     },
+    "vue-eslint-parser": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-4.0.3.tgz",
+      "integrity": "sha512-AUeQsYdO6+7QXCems+WvGlrXd37PHv/zcRQSQdY1xdOMwdFAPEnMBsv7zPvk0TPGulXkK/5p/ITgrjiYB7k3ag==",
+      "dev": true,
+      "requires": {
+        "debug": "^4.1.0",
+        "eslint-scope": "^4.0.0",
+        "eslint-visitor-keys": "^1.0.0",
+        "espree": "^4.1.0",
+        "esquery": "^1.0.1",
+        "lodash": "^4.17.11"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
+          "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "espree": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz",
+          "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==",
+          "dev": true,
+          "requires": {
+            "acorn": "^6.0.2",
+            "acorn-jsx": "^5.0.0",
+            "eslint-visitor-keys": "^1.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+          "dev": true
+        }
+      }
+    },
     "which": {
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",

+ 6 - 3
package.json

@@ -5,13 +5,16 @@
     "node": ">=10.0.0"
   },
   "devDependencies": {
-    "babel-eslint": "^6.0.0",
+    "babel-eslint": "^7.2.2",
     "eslint": "^5.4.0",
     "eslint-plugin-html": "^1.4.0",
-    "eslint-plugin-node": "^8.0.0"
+    "eslint-plugin-node": "^8.0.0",
+    "eslint-plugin-vue": "^5.0.0"
   },
   "scripts": {
-    "lint": "eslint *.js"
+    "lint": "eslint --ext=.js,.vue client server",
+    "build": "webpack --progress --colors --config build/webpack.prod.config.js",
+    "start": "cross-env NODE_ENV=production node server/index.js"
   },
   "dependencies": {
     "bluebird": "^3.5.3",

+ 0 - 0
application_env.example → server/application_env.example