web/multinode: fixed linter

Fixed web linter

Issue:
https://github.com/storj/storj/issues/5158

Change-Id: Ibc0b8e9f241e77e833645d9fa114bf5742c9f81c
This commit is contained in:
Vitalii 2022-11-04 13:57:05 +02:00 committed by Storj Robot
parent 8268933b56
commit a342edd1c2
55 changed files with 560 additions and 232 deletions

View File

@ -0,0 +1,3 @@
dist
node_modules
coverage

View File

@ -4,48 +4,108 @@
module.exports = {
root: true,
env: {
node: true
node: true,
},
extends: [
'plugin:vue/recommended',
'eslint:recommended',
'@vue/typescript/recommended',
'plugin:import/recommended',
'plugin:import/typescript',
],
parser: 'vue-eslint-parser',
parserOptions: {
ecmaVersion: 2020
parser: '@typescript-eslint/parser',
sourceType: 'module',
ecmaVersion: 2020,
vueFeatures: {
filter: true,
},
},
plugins: ["storj"],
plugins: ['storj', 'eslint-plugin-import'],
rules: {
"linebreak-style": ["error", "unix"],
'linebreak-style': ['error', 'unix'],
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
"indent": ["warn", 4],
"vue/html-indent": ["warn", 4],
'indent': ['warn', 4],
'vue/html-indent': ['warn', 4],
"@typescript-eslint/no-unused-vars": [
"warn", {
"vars": "all",
"args": "all",
"argsIgnorePattern": "^_"
'@typescript-eslint/no-unused-vars': [
'warn', {
'vars': 'all',
'args': 'all',
'argsIgnorePattern': '^_',
}],
'@typescript-eslint/no-empty-function': "off",
'@typescript-eslint/no-var-requires': "off",
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/no-var-requires': 'off',
"vue/multi-word-component-names": ["off"],
"vue/max-attributes-per-line": ["off"],
"vue/singleline-html-element-content-newline": ["off"],
'no-multiple-empty-lines': ['error', { 'max': 1 }],
"vue/block-lang": ["error", {"script": {"lang": "ts"}}],
"vue/html-button-has-type": ["error"],
"vue/no-unused-properties": ["warn"],
"vue/no-unused-refs": ["warn"],
"vue/no-useless-v-bind": ["warn"],
'import/order': ['error', {
'pathGroups': [
{
'group': 'external',
'pattern': 'vue-property-decorator',
'position': 'before',
},
{
'group': 'internal',
'pattern': '@/app/components/**',
'position': 'after',
},
{
'group': 'internal',
'pattern': '@/../static/**',
'position': 'after',
},
],
'newlines-between': 'always',
}],
'no-duplicate-imports': 'error',
'object-curly-spacing': ['error', 'always'],
'quotes': ['error', 'single', { 'allowTemplateLiterals': true }],
'semi': ['error', 'always'],
'keyword-spacing': ['error'],
'comma-dangle': ['error', 'always-multiline'],
'vue/multi-word-component-names': ['off'],
'vue/max-attributes-per-line': ['off'],
'vue/singleline-html-element-content-newline': ['off'],
'vue/block-lang': ['error', { 'script': { 'lang': 'ts' } }],
'vue/html-button-has-type': ['error'],
'vue/no-unused-properties': ['warn'],
'vue/no-unused-refs': ['warn'],
'vue/no-useless-v-bind': ['warn'],
'vue/no-useless-template-attributes': ['off'], // TODO: fix later
'vue/no-unregistered-components': ['warn', { ignorePatterns: ['router-link', 'router-view'] }],
'storj/vue/require-annotation': 'warn',
'vue/no-v-html': 0,
},
}
settings: {
'import/resolver': {
'eslint-import-resolver-custom-alias': {
'alias': {
'@': './src',
},
extensions: ['.ts', '.spec.ts', '.vue'],
},
typescript: {
alwaysTryTypes: true,
project: './tsconfig.json',
},
node: true,
},
'import/parsers': {
'@typescript-eslint/parser': ['.ts'],
'vue-eslint-parser': ['.vue'],
},
},
};

View File

@ -2,52 +2,52 @@
// See LICENSE for copying information.
module.exports = {
"env": {
"es2020": true,
"node": true,
"jest": true
'env': {
'es2020': true,
'node': true,
'jest': true,
},
"plugins": [
"stylelint-scss"
'plugins': [
'stylelint-scss',
],
"extends": "stylelint-config-standard-vue/scss",
"customSyntax": "postcss-html",
"rules": {
"indentation": 4,
"string-quotes": "single",
"no-duplicate-selectors": true,
"selector-max-attribute": 1,
"selector-combinator-space-after": "always",
"selector-attribute-operator-space-before": "never",
"selector-attribute-operator-space-after": "never",
"selector-attribute-brackets-space-inside": "never",
"declaration-block-trailing-semicolon": "always",
"declaration-colon-space-before": "never",
"declaration-colon-space-after": "always-single-line",
"number-leading-zero": "always",
"function-url-quotes": "always",
"font-family-name-quotes": "always-unless-keyword",
"comment-whitespace-inside": "always",
"comment-empty-line-before": "always",
"rule-empty-line-before": "always-multi-line",
"selector-pseudo-element-colon-notation": "single",
"selector-pseudo-class-parentheses-space-inside": "never",
"selector-max-type": 3,
"font-family-no-missing-generic-family-keyword": true,
"at-rule-no-unknown": null,
"scss/at-rule-no-unknown": true,
"media-feature-range-operator-space-before": "always",
"media-feature-range-operator-space-after": "always",
"media-feature-parentheses-space-inside": "never",
"media-feature-colon-space-before": "never",
"media-feature-colon-space-after": "always",
"selector-pseudo-element-no-unknown": [
'extends': 'stylelint-config-standard-vue/scss',
'customSyntax': 'postcss-html',
'rules': {
'indentation': 4,
'string-quotes': 'single',
'no-duplicate-selectors': true,
'selector-max-attribute': 1,
'selector-combinator-space-after': 'always',
'selector-attribute-operator-space-before': 'never',
'selector-attribute-operator-space-after': 'never',
'selector-attribute-brackets-space-inside': 'never',
'declaration-block-trailing-semicolon': 'always',
'declaration-colon-space-before': 'never',
'declaration-colon-space-after': 'always-single-line',
'number-leading-zero': 'always',
'function-url-quotes': 'always',
'font-family-name-quotes': 'always-unless-keyword',
'comment-whitespace-inside': 'always',
'comment-empty-line-before': 'always',
'rule-empty-line-before': 'always-multi-line',
'selector-pseudo-element-colon-notation': 'single',
'selector-pseudo-class-parentheses-space-inside': 'never',
'selector-max-type': 3,
'font-family-no-missing-generic-family-keyword': true,
'at-rule-no-unknown': null,
'scss/at-rule-no-unknown': true,
'media-feature-range-operator-space-before': 'always',
'media-feature-range-operator-space-after': 'always',
'media-feature-parentheses-space-inside': 'never',
'media-feature-colon-space-before': 'never',
'media-feature-colon-space-after': 'always',
'selector-pseudo-element-no-unknown': [
true,
{
"ignorePseudoElements": ["v-deep"]
}
'ignorePseudoElements': ['v-deep'],
},
],
"selector-class-pattern": ".*",
"custom-property-pattern": ".*",
}
}
'selector-class-pattern': '.*',
'custom-property-pattern': '.*',
},
};

View File

@ -3,9 +3,9 @@
module.exports = {
preset: '@vue/cli-plugin-unit-jest/presets/typescript',
setupFiles: ["./jest.setup.ts"],
setupFiles: ['./jest.setup.ts'],
testEnvironment: 'jsdom',
transform: {
"^.+\\.svg$": "<rootDir>/tests/unit/mock/svgTransform.js"
}
}
'^.+\\.svg$': '<rootDir>/tests/unit/mock/svgTransform.js',
},
};

View File

@ -34,7 +34,9 @@
"babel-jest": "27.5.1",
"compression-webpack-plugin": "9.2.0",
"eslint": "8.14.0",
"eslint-plugin-import": "2.25.4",
"eslint-import-resolver-custom-alias": "1.3.0",
"eslint-import-resolver-typescript": "2.7.1",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-storj": "0.0.2",
"eslint-plugin-vue": "8.7.1",
"jest": "27.5.1",
@ -49,6 +51,7 @@
"stylelint-scss": "4.2.0",
"ts-jest": "27.1.4",
"typescript": "4.6.4",
"vue-eslint-parser": "9.0.3",
"vue-svg-loader": "0.17.0-beta.2",
"vue-template-compiler": "2.7.10"
}
@ -3893,6 +3896,67 @@
"eslint-plugin-vue": "^8.0.1"
}
},
"node_modules/@vue/eslint-config-typescript/node_modules/eslint-scope": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
"dev": true,
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@vue/eslint-config-typescript/node_modules/estraverse": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
"engines": {
"node": ">=4.0"
}
},
"node_modules/@vue/eslint-config-typescript/node_modules/semver": {
"version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@vue/eslint-config-typescript/node_modules/vue-eslint-parser": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
"integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
"dev": true,
"dependencies": {
"debug": "^4.3.2",
"eslint-scope": "^7.0.0",
"eslint-visitor-keys": "^3.1.0",
"espree": "^9.0.0",
"esquery": "^1.4.0",
"lodash": "^4.17.21",
"semver": "^7.3.5"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/mysticatea"
},
"peerDependencies": {
"eslint": ">=6.0.0"
}
},
"node_modules/@vue/test-utils": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.3.0.tgz",
@ -7083,6 +7147,31 @@
"url": "https://opencollective.com/eslint"
}
},
"node_modules/eslint-import-resolver-custom-alias": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-custom-alias/-/eslint-import-resolver-custom-alias-1.3.0.tgz",
"integrity": "sha512-9rrpduF6/SZHFXrJgjeA+edJek6xulplYfo/UJvLPrY38O9UY00rAq76dHRnZ289yftc5NIfx3THi0IILRQ3dg==",
"dev": true,
"dependencies": {
"glob-parent": "^5.1.0",
"resolve": "^1.3.0"
},
"peerDependencies": {
"eslint-plugin-import": ">=2.2.0"
}
},
"node_modules/eslint-import-resolver-custom-alias/node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/eslint-import-resolver-node": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
@ -7102,6 +7191,26 @@
"ms": "^2.1.1"
}
},
"node_modules/eslint-import-resolver-typescript": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz",
"integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==",
"dev": true,
"dependencies": {
"debug": "^4.3.4",
"glob": "^7.2.0",
"is-glob": "^4.0.3",
"resolve": "^1.22.0",
"tsconfig-paths": "^3.14.1"
},
"engines": {
"node": ">=4"
},
"peerDependencies": {
"eslint": "*",
"eslint-plugin-import": "*"
}
},
"node_modules/eslint-module-utils": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
@ -7192,9 +7301,9 @@
}
},
"node_modules/eslint-plugin-import": {
"version": "2.25.4",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz",
"integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==",
"version": "2.26.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
"integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
"dev": true,
"dependencies": {
"array-includes": "^3.1.4",
@ -7202,14 +7311,14 @@
"debug": "^2.6.9",
"doctrine": "^2.1.0",
"eslint-import-resolver-node": "^0.3.6",
"eslint-module-utils": "^2.7.2",
"eslint-module-utils": "^2.7.3",
"has": "^1.0.3",
"is-core-module": "^2.8.0",
"is-core-module": "^2.8.1",
"is-glob": "^4.0.3",
"minimatch": "^3.0.4",
"minimatch": "^3.1.2",
"object.values": "^1.1.5",
"resolve": "^1.20.0",
"tsconfig-paths": "^3.12.0"
"resolve": "^1.22.0",
"tsconfig-paths": "^3.14.1"
},
"engines": {
"node": ">=4"
@ -7270,6 +7379,28 @@
"eslint": "^6.2.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/eslint-plugin-vue/node_modules/eslint-scope": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
"dev": true,
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/eslint-plugin-vue/node_modules/estraverse": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
"engines": {
"node": ">=4.0"
}
},
"node_modules/eslint-plugin-vue/node_modules/semver": {
"version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
@ -7285,6 +7416,30 @@
"node": ">=10"
}
},
"node_modules/eslint-plugin-vue/node_modules/vue-eslint-parser": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
"integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
"dev": true,
"dependencies": {
"debug": "^4.3.2",
"eslint-scope": "^7.0.0",
"eslint-visitor-keys": "^3.1.0",
"espree": "^9.0.0",
"esquery": "^1.4.0",
"lodash": "^4.17.21",
"semver": "^7.3.5"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/mysticatea"
},
"peerDependencies": {
"eslint": ">=6.0.0"
}
},
"node_modules/eslint-scope": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@ -16728,21 +16883,21 @@
}
},
"node_modules/vue-eslint-parser": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
"integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.0.3.tgz",
"integrity": "sha512-yL+ZDb+9T0ELG4VIFo/2anAOz8SvBdlqEnQnvJ3M7Scq56DvtjY0VY88bByRZB0D4J0u8olBcfrXTVONXsh4og==",
"dev": true,
"dependencies": {
"debug": "^4.3.2",
"eslint-scope": "^7.0.0",
"eslint-visitor-keys": "^3.1.0",
"espree": "^9.0.0",
"debug": "^4.3.4",
"eslint-scope": "^7.1.1",
"eslint-visitor-keys": "^3.3.0",
"espree": "^9.3.1",
"esquery": "^1.4.0",
"lodash": "^4.17.21",
"semver": "^7.3.5"
"semver": "^7.3.6"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
"node": "^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/mysticatea"
@ -20799,6 +20954,48 @@
"@typescript-eslint/eslint-plugin": "^5.0.0",
"@typescript-eslint/parser": "^5.0.0",
"vue-eslint-parser": "^8.0.0"
},
"dependencies": {
"eslint-scope": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
"dev": true,
"requires": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
}
},
"estraverse": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true
},
"semver": {
"version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"vue-eslint-parser": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
"integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
"dev": true,
"requires": {
"debug": "^4.3.2",
"eslint-scope": "^7.0.0",
"eslint-visitor-keys": "^3.1.0",
"espree": "^9.0.0",
"esquery": "^1.4.0",
"lodash": "^4.17.21",
"semver": "^7.3.5"
}
}
}
},
"@vue/test-utils": {
@ -23319,6 +23516,27 @@
}
}
},
"eslint-import-resolver-custom-alias": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-custom-alias/-/eslint-import-resolver-custom-alias-1.3.0.tgz",
"integrity": "sha512-9rrpduF6/SZHFXrJgjeA+edJek6xulplYfo/UJvLPrY38O9UY00rAq76dHRnZ289yftc5NIfx3THi0IILRQ3dg==",
"dev": true,
"requires": {
"glob-parent": "^5.1.0",
"resolve": "^1.3.0"
},
"dependencies": {
"glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
}
}
}
},
"eslint-import-resolver-node": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
@ -23340,6 +23558,19 @@
}
}
},
"eslint-import-resolver-typescript": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz",
"integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==",
"dev": true,
"requires": {
"debug": "^4.3.4",
"glob": "^7.2.0",
"is-glob": "^4.0.3",
"resolve": "^1.22.0",
"tsconfig-paths": "^3.14.1"
}
},
"eslint-module-utils": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
@ -23411,9 +23642,9 @@
}
},
"eslint-plugin-import": {
"version": "2.25.4",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz",
"integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==",
"version": "2.26.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
"integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
"dev": true,
"requires": {
"array-includes": "^3.1.4",
@ -23421,14 +23652,14 @@
"debug": "^2.6.9",
"doctrine": "^2.1.0",
"eslint-import-resolver-node": "^0.3.6",
"eslint-module-utils": "^2.7.2",
"eslint-module-utils": "^2.7.3",
"has": "^1.0.3",
"is-core-module": "^2.8.0",
"is-core-module": "^2.8.1",
"is-glob": "^4.0.3",
"minimatch": "^3.0.4",
"minimatch": "^3.1.2",
"object.values": "^1.1.5",
"resolve": "^1.20.0",
"tsconfig-paths": "^3.12.0"
"resolve": "^1.22.0",
"tsconfig-paths": "^3.14.1"
},
"dependencies": {
"debug": {
@ -23476,6 +23707,22 @@
"vue-eslint-parser": "^8.0.1"
},
"dependencies": {
"eslint-scope": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
"dev": true,
"requires": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
}
},
"estraverse": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true
},
"semver": {
"version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
@ -23484,6 +23731,21 @@
"requires": {
"lru-cache": "^6.0.0"
}
},
"vue-eslint-parser": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
"integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
"dev": true,
"requires": {
"debug": "^4.3.2",
"eslint-scope": "^7.0.0",
"eslint-visitor-keys": "^3.1.0",
"espree": "^9.0.0",
"esquery": "^1.4.0",
"lodash": "^4.17.21",
"semver": "^7.3.5"
}
}
}
},
@ -30354,18 +30616,18 @@
}
},
"vue-eslint-parser": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
"integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==",
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.0.3.tgz",
"integrity": "sha512-yL+ZDb+9T0ELG4VIFo/2anAOz8SvBdlqEnQnvJ3M7Scq56DvtjY0VY88bByRZB0D4J0u8olBcfrXTVONXsh4og==",
"dev": true,
"requires": {
"debug": "^4.3.2",
"eslint-scope": "^7.0.0",
"eslint-visitor-keys": "^3.1.0",
"espree": "^9.0.0",
"debug": "^4.3.4",
"eslint-scope": "^7.1.1",
"eslint-visitor-keys": "^3.3.0",
"espree": "^9.3.1",
"esquery": "^1.4.0",
"lodash": "^4.17.21",
"semver": "^7.3.5"
"semver": "^7.3.6"
},
"dependencies": {
"eslint-scope": {

View File

@ -37,7 +37,9 @@
"babel-jest": "27.5.1",
"compression-webpack-plugin": "9.2.0",
"eslint": "8.14.0",
"eslint-plugin-import": "2.25.4",
"eslint-import-resolver-custom-alias": "1.3.0",
"eslint-import-resolver-typescript": "2.7.1",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-storj": "0.0.2",
"eslint-plugin-vue": "8.7.1",
"jest": "27.5.1",
@ -52,6 +54,7 @@
"stylelint-scss": "4.2.0",
"ts-jest": "27.1.4",
"typescript": "4.6.4",
"vue-eslint-parser": "9.0.3",
"vue-svg-loader": "0.17.0-beta.2",
"vue-template-compiler": "2.7.10"
}

View File

@ -18,14 +18,14 @@
<script lang="ts">
import { Component } from 'vue-property-decorator';
import BaseChart from '@/app/components/common/BaseChart.vue';
import VChart from '@/app/components/common/VChart.vue';
import { ChartData, Tooltip, TooltipParams, TooltipModel } from '@/app/types/chart';
import { Chart as ChartUtils } from '@/app/utils/chart';
import { BandwidthRollup } from '@/bandwidth';
import { Size } from '@/private/memory/size';
import VChart from '@/app/components/common/VChart.vue';
import BaseChart from '@/app/components/common/BaseChart.vue';
/**
* stores bandwidth data for bandwidth chart's tooltip
*/
@ -49,7 +49,7 @@ class BandwidthTooltip {
// @vue/component
@Component({
components: {VChart},
components: { VChart },
})
export default class BandwidthChart extends BaseChart {
private get allBandwidth(): BandwidthRollup[] {

View File

@ -18,14 +18,14 @@
<script lang="ts">
import { Component } from 'vue-property-decorator';
import BaseChart from '@/app/components/common/BaseChart.vue';
import VChart from '@/app/components/common/VChart.vue';
import { ChartData, Tooltip, TooltipParams, TooltipModel } from '@/app/types/chart';
import { Chart as ChartUtils } from '@/app/utils/chart';
import { BandwidthRollup } from '@/bandwidth';
import { Size } from '@/private/memory/size';
import VChart from '@/app/components/common/VChart.vue';
import BaseChart from '@/app/components/common/BaseChart.vue';
/**
* stores egress data for egress bandwidth chart's tooltip
*/
@ -45,7 +45,7 @@ class EgressTooltip {
// @vue/component
@Component({
components: {VChart},
components: { VChart },
})
export default class EgressChart extends BaseChart {
private get allBandwidth(): BandwidthRollup[] {

View File

@ -18,14 +18,14 @@
<script lang="ts">
import { Component } from 'vue-property-decorator';
import BaseChart from '@/app/components/common/BaseChart.vue';
import VChart from '@/app/components/common/VChart.vue';
import { ChartData, Tooltip, TooltipParams, TooltipModel } from '@/app/types/chart';
import { Chart as ChartUtils } from '@/app/utils/chart';
import { BandwidthRollup } from '@/bandwidth';
import { Size } from '@/private/memory/size';
import VChart from '@/app/components/common/VChart.vue';
import BaseChart from '@/app/components/common/BaseChart.vue';
/**
* stores ingress data for ingress bandwidth chart's tooltip
*/
@ -43,7 +43,7 @@ class IngressTooltip {
// @vue/component
@Component({
components: {VChart},
components: { VChart },
})
export default class IngressChart extends BaseChart {
private get allBandwidth(): BandwidthRollup[] {

View File

@ -4,6 +4,7 @@
<script lang="ts">
import * as VueChart from 'vue-chartjs';
import { Component, Prop, Vue, Watch } from 'vue-property-decorator';
import { DiskStatChartData, RenderChart } from '@/app/types/chart';
// @vue/component

View File

@ -121,7 +121,7 @@ export default class HeaderlessInput extends Vue {
* triggers on input.
*/
public onInput(event: Event): void {
if(!event.target) { return; }
if (!event.target) { return; }
const target = event.target as HTMLInputElement;
if (!target || !target.value) { return; }
@ -135,7 +135,7 @@ export default class HeaderlessInput extends Vue {
}
public onPaste(event: ClipboardEvent): void {
if(!event || !event.clipboardData) { return; }
if (!event || !event.clipboardData) { return; }
const clipped: string = event.clipboardData.getData('text');
if (clipped.length > this.maxSymbols) {

View File

@ -8,10 +8,10 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import VDropdown, { Option } from '@/app/components/common/VDropdown.vue';
import { Node } from '@/nodes';
import VDropdown, { Option } from '@/app/components/common/VDropdown.vue';
// @vue/component
@Component({
components: { VDropdown },

View File

@ -8,10 +8,10 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import VDropdown, { Option } from '@/app/components/common/VDropdown.vue';
import { NodeURL } from '@/nodes';
import VDropdown, { Option } from '@/app/components/common/VDropdown.vue';
// @vue/component
@Component({
components: { VDropdown },

View File

@ -37,10 +37,10 @@
<script lang="ts">
import { Component, Prop, Vue, Watch } from 'vue-property-decorator';
import PagesBlock from '@/app/components/common/PagesBlock.vue';
import { OnPageClickCallback, Page } from '@/app/types/pagination';
import PagesBlock from '@/app/components/common/PagesBlock.vue';
// @vue/component
@Component({
components: {

View File

@ -40,12 +40,12 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { CreateNodeFields } from '@/nodes';
import HeaderedInput from '@/app/components/common/HeaderedInput.vue';
import VButton from '@/app/components/common/VButton.vue';
import VModal from '@/app/components/common/VModal.vue';
import { CreateNodeFields } from '@/nodes';
// @vue/component
@Component({
components: {

View File

@ -29,12 +29,12 @@
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import { UpdateNodeModel } from '@/nodes';
import HeaderedInput from '@/app/components/common/HeaderedInput.vue';
import VButton from '@/app/components/common/VButton.vue';
import VModal from '@/app/components/common/VModal.vue';
import { UpdateNodeModel } from '@/nodes';
// @vue/component
@Component({
components: {

View File

@ -26,10 +26,10 @@
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import NodeOptions from '@/app/components/common/NodeOptions.vue';
import { Node } from '@/nodes';
import NodeOptions from '@/app/components/common/NodeOptions.vue';
// @vue/component
@Component({
components: {

View File

@ -31,11 +31,11 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { Node } from '@/nodes';
import BaseTable from '@/app/components/common/BaseTable.vue';
import NodeItem from '@/app/components/myNodes/tables/NodeItem.vue';
import { Node } from '@/nodes';
// @vue/component
@Component({
components: {

View File

@ -21,7 +21,9 @@
<script lang="ts">
import { Component } from 'vue-property-decorator';
import Vue, {VueConstructor} from 'vue';
import Vue, { VueConstructor } from 'vue';
import { Config as RouterConfig } from '@/app/router';
import MyNodesIcon from '@/../static/images/icons/navigation/nodes.svg';
import NotificationIcon from '@/../static/images/icons/navigation/notifications.svg';
@ -30,8 +32,6 @@ import ReputationIcon from '@/../static/images/icons/navigation/reputation.svg';
import TrafficIcon from '@/../static/images/icons/navigation/traffic.svg';
import StorjLogo from '@/../static/images/Logo.svg';
import { Config as RouterConfig } from '@/app/router';
export class NavigationLink {
constructor(
public name: string,

View File

@ -36,14 +36,14 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import VButton from '@/app/components/common/VButton.vue';
import GrayArrowLeftIcon from '@/../static/images/icons/GrayArrowLeft.svg';
import { UnauthorizedError } from '@/api';
import { monthNames } from '@/app/types/date';
import { MonthButton, StoredMonthsByYear } from '@/app/types/payouts';
import VButton from '@/app/components/common/VButton.vue';
import GrayArrowLeftIcon from '@/../static/images/icons/GrayArrowLeft.svg';
// @vue/component
@Component({
components: {

View File

@ -28,10 +28,10 @@
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import BaseTable from '@/app/components/common/BaseTable.vue';
import { HeldAmountSummary } from '@/payouts';
import BaseTable from '@/app/components/common/BaseTable.vue';
// @vue/component
@Component({
components: {

View File

@ -15,11 +15,11 @@
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import NodeOptions from '@/app/components/common/NodeOptions.vue';
import { Config as RouterConfig } from '@/app/router';
import { NodePayoutsSummary } from '@/payouts';
import NodeOptions from '@/app/components/common/NodeOptions.vue';
// @vue/component
@Component({
components: {

View File

@ -20,11 +20,11 @@
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import { NodePayoutsSummary } from '@/payouts';
import BaseTable from '@/app/components/common/BaseTable.vue';
import PayoutsSummaryItem from '@/app/components/payouts/tables/payoutSummary/PayoutsSummaryItem.vue';
import { NodePayoutsSummary } from '@/payouts';
// @vue/component
@Component({
components: {

View File

@ -57,10 +57,10 @@
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import BaseTable from '@/app/components/common/BaseTable.vue';
import { Paystub } from '@/payouts';
import BaseTable from '@/app/components/common/BaseTable.vue';
// @vue/component
@Component({
components: {

View File

@ -18,14 +18,14 @@
<script lang="ts">
import { Component } from 'vue-property-decorator';
import BaseChart from '@/app/components/common/BaseChart.vue';
import VChart from '@/app/components/common/VChart.vue';
import { ChartData, Tooltip, TooltipParams, TooltipModel } from '@/app/types/chart';
import { Chart as ChartUtils } from '@/app/utils/chart';
import { Size } from '@/private/memory/size';
import { Stamp } from '@/storage';
import VChart from '@/app/components/common/VChart.vue';
import BaseChart from '@/app/components/common/BaseChart.vue';
/**
* stores stamp data for disc space chart's tooltip
*/
@ -41,7 +41,7 @@ class StampTooltip {
// @vue/component
@Component({
components: {VChart},
components: { VChart },
})
export default class DiskSpaceChart extends BaseChart {
private get allStamps(): Stamp[] {

View File

@ -42,11 +42,11 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import DoughnutChart from '@/app/components/common/DoughnutChart.vue';
import { DiskStatChartData, DiskStatDataSet } from '@/app/types/chart';
import { DiskSpace } from '@/storage';
import DoughnutChart from '@/app/components/common/DoughnutChart.vue';
// @vue/component
@Component({
components: { DoughnutChart },

View File

@ -49,11 +49,11 @@
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import { Operator } from '@/operators';
import BaseTable from '@/app/components/common/BaseTable.vue';
import VLink from '@/app/components/common/VLink.vue';
import { Operator } from '@/operators';
// @vue/component
@Component({
components: {

View File

@ -2,7 +2,7 @@
// See LICENSE for copying information.
declare module '*.svg' {
import Vue, {VueConstructor} from 'vue';
import Vue, { VueConstructor } from 'vue';
const content: VueConstructor<Vue>;
export default content;
}

View File

@ -43,12 +43,12 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import HeaderedInput from '@/app/components/common/HeaderedInput.vue';
import VButton from '@/app/components/common/VButton.vue';
import { Config as RouterConfig } from '@/app/router';
import { CreateNodeFields } from '@/nodes';
import HeaderedInput from '@/app/components/common/HeaderedInput.vue';
import VButton from '@/app/components/common/VButton.vue';
// @vue/component
@Component({
components: {

View File

@ -20,11 +20,11 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { UnauthorizedError } from '@/api';
import AddNewNode from '@/app/components/modals/AddNewNode.vue';
import NavigationArea from '@/app/components/navigation/NavigationArea.vue';
import { UnauthorizedError } from '@/api';
// @vue/component
@Component({
components: {

View File

@ -22,10 +22,10 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import VButton from '@/app/components/common/VButton.vue';
import { Config as RouterConfig } from '@/app/router';
import VButton from '@/app/components/common/VButton.vue';
// @vue/component
@Component({
components: { VButton },

View File

@ -70,6 +70,9 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { UnauthorizedError } from '@/api';
import { BandwidthTraffic } from '@/bandwidth';
import BandwidthChart from '@/app/components/bandwidth/BandwidthChart.vue';
import EgressChart from '@/app/components/bandwidth/EgressChart.vue';
import IngressChart from '@/app/components/bandwidth/IngressChart.vue';
@ -78,9 +81,6 @@ import SatelliteSelectionDropdown from '@/app/components/common/SatelliteSelecti
import DiskSpaceChart from '@/app/components/storage/DiskSpaceChart.vue';
import DiskStatChart from '@/app/components/storage/DiskStatChart.vue';
import { UnauthorizedError } from '@/api';
import { BandwidthTraffic } from '@/bandwidth';
// @vue/component
@Component({
components: {

View File

@ -12,11 +12,11 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { UnauthorizedError } from '@/api';
import SatelliteSelectionDropdown from '@/app/components/common/SatelliteSelectionDropdown.vue';
import NodesTable from '@/app/components/myNodes/tables/NodesTable.vue';
import { UnauthorizedError } from '@/api';
// @vue/component
@Component({
components: {

View File

@ -86,16 +86,16 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { UnauthorizedError } from '@/api';
import { Config as RouterConfig } from '@/app/router';
import { NodePayouts } from '@/payouts';
import InfoBlock from '@/app/components/common/InfoBlock.vue';
import SatelliteSelectionDropdown from '@/app/components/common/SatelliteSelectionDropdown.vue';
import PayoutPeriodCalendarButton from '@/app/components/payouts/PayoutPeriodCalendarButton.vue';
import HeldHistory from '@/app/components/payouts/tables/heldHistory/HeldHistory.vue';
import PayoutsByNodeTable from '@/app/components/payouts/tables/payoutsByNode/PayoutsByNodeTable.vue';
import { UnauthorizedError } from '@/api';
import { Config as RouterConfig } from '@/app/router';
import { NodePayouts } from '@/payouts';
// @vue/component
@Component({
components: {

View File

@ -36,15 +36,15 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { UnauthorizedError } from '@/api';
import { PayoutsState } from '@/app/store/payouts';
import SatelliteSelectionDropdown from '@/app/components/common/SatelliteSelectionDropdown.vue';
import BalanceArea from '@/app/components/payouts/BalanceArea.vue';
import DetailsArea from '@/app/components/payouts/DetailsArea.vue';
import PayoutPeriodCalendarButton from '@/app/components/payouts/PayoutPeriodCalendarButton.vue';
import PayoutsSummaryTable from '@/app/components/payouts/tables/payoutSummary/PayoutsSummaryTable.vue';
import { UnauthorizedError } from '@/api';
import { PayoutsState } from '@/app/store/payouts';
// @vue/component
@Component({
components: {

View File

@ -47,11 +47,11 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { Config as RouterConfig } from '@/app/router';
import VLink from '@/app/components/common/VLink.vue';
import WalletDetailsTable from '@/app/components/wallets/tables/walletDetails/WalletDetailsTable.vue';
import { Config as RouterConfig } from '@/app/router';
// @vue/component
@Component({
components: {

View File

@ -36,14 +36,14 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { UnauthorizedError } from '@/api';
import { OperatorsState } from '@/app/store/operators';
import InfoBlock from '@/app/components/common/InfoBlock.vue';
import VLink from '@/app/components/common/VLink.vue';
import VPagination from '@/app/components/common/VPagination.vue';
import WalletsTable from '@/app/components/wallets/tables/walletsSummary/WalletsTable.vue';
import { UnauthorizedError } from '@/api';
import { OperatorsState } from '@/app/store/operators';
// @vue/component
@Component({
components: {

View File

@ -1,10 +1,10 @@
// Copyright (C) 2021 Storj Labs, Inc.
// See LICENSE for copying information.
import NodeOptions from '@/app/components/common/NodeOptions.vue';
import { shallowMount } from '@vue/test-utils';
import NodeOptions from '@/app/components/common/NodeOptions.vue';
describe('NodeOptions', (): void => {
it('renders correctly', async(): Promise<void> => {
const wrapper = shallowMount(NodeOptions, {

View File

@ -2,11 +2,11 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import BalanceArea from '@/app/components/payouts/BalanceArea.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { Currency } from '@/app/utils/currency';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import BalanceArea from '@/app/components/payouts/BalanceArea.vue';
const localVue = createLocalVue();

View File

@ -2,11 +2,11 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import DetailsArea from '@/app/components/payouts/DetailsArea.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { Currency } from '@/app/utils/currency';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import DetailsArea from '@/app/components/payouts/DetailsArea.vue';
const localVue = createLocalVue();

View File

@ -2,12 +2,12 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import HeldHistory from '@/app/components/payouts/tables/heldHistory/HeldHistory.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { Currency } from '@/app/utils/currency';
import { HeldAmountSummary } from '@/payouts';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import HeldHistory from '@/app/components/payouts/tables/heldHistory/HeldHistory.vue';
const localVue = createLocalVue();

View File

@ -1,10 +1,10 @@
// Copyright (C) 2021 Storj Labs, Inc.
// See LICENSE for copying information.
import PayoutHistoryBlock from '@/app/components/payouts/PayoutHistoryBlock.vue';
import { shallowMount } from '@vue/test-utils';
import PayoutHistoryBlock from '@/app/components/payouts/PayoutHistoryBlock.vue';
describe('PayoutHistoryBlock', (): void => {
it('renders correctly', (): void => {
const wrapper = shallowMount(PayoutHistoryBlock);

View File

@ -2,11 +2,10 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import PayoutPeriodCalendarButton from '@/app/components/payouts/PayoutPeriodCalendarButton.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
const localVue = createLocalVue();
localVue.use(Vuex);

View File

@ -2,13 +2,13 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import PayoutsByNodeTable from '@/app/components/payouts/tables/payoutsByNode/PayoutsByNodeTable.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { Currency } from '@/app/utils/currency';
import { Paystub } from '@/payouts';
import { Size } from '@/private/memory/size';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import PayoutsByNodeTable from '@/app/components/payouts/tables/payoutsByNode/PayoutsByNodeTable.vue';
const localVue = createLocalVue();

View File

@ -2,12 +2,12 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import PayoutsSummaryItem from '@/app/components/payouts/tables/payoutSummary/PayoutsSummaryItem.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { Currency } from '@/app/utils/currency';
import { NodePayoutsSummary } from '@/payouts';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import PayoutsSummaryItem from '@/app/components/payouts/tables/payoutSummary/PayoutsSummaryItem.vue';
const localVue = createLocalVue();

View File

@ -2,11 +2,11 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import PayoutsSummaryTable from '@/app/components/payouts/tables/payoutSummary/PayoutsSummaryTable.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { NodePayoutsSummary } from '@/payouts';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import PayoutsSummaryTable from '@/app/components/payouts/tables/payoutSummary/PayoutsSummaryTable.vue';
const localVue = createLocalVue();

View File

@ -2,13 +2,13 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import store from '../../mock/store';
import BandwidthPage from '@/app/views/bandwidth/BandwidthPage.vue';
import { BandwidthTraffic } from '@/bandwidth';
import { Size } from '@/private/memory/size';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import store from '../../mock/store';
const localVue = createLocalVue();

View File

@ -2,13 +2,13 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import { Currency } from '@/app/utils/currency';
import PayoutsByNode from '@/app/views/payouts/PayoutsByNode.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import store from '../../mock/store';
import { Currency } from '@/app/utils/currency';
import PayoutsByNode from '@/app/views/payouts/PayoutsByNode.vue';
const localVue = createLocalVue();
localVue.use(Vuex);

View File

@ -2,12 +2,12 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import PayoutsPage from '@/app/views/payouts/PayoutsPage.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import store from '../../mock/store';
import PayoutsPage from '@/app/views/payouts/PayoutsPage.vue';
const localVue = createLocalVue();
localVue.use(Vuex);

View File

@ -2,6 +2,7 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import { createLocalVue } from '@vue/test-utils';
import { BandwidthClient } from '@/api/bandwidth';
import { NodesClient } from '@/api/nodes';
@ -18,7 +19,6 @@ import { Nodes } from '@/nodes/service';
import { Operators } from '@/operators';
import { Payouts } from '@/payouts/service';
import { StorageService } from '@/storage/service';
import { createLocalVue } from '@vue/test-utils';
const Vue = createLocalVue();

View File

@ -3,6 +3,6 @@
module.exports = {
process () {
return `module.exports = { render: function(){ return this._c("svg") } }`
}
}
return `module.exports = { render: function(){ return this._c("svg") } }`;
},
};

View File

@ -2,13 +2,13 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import { RootState } from '@/app/store';
import { BandwidthRollup, BandwidthTraffic, Egress, Ingress } from '@/bandwidth';
import { createLocalVue } from '@vue/test-utils';
import store, { bandwidthService } from '../mock/store';
import { RootState } from '@/app/store';
import { BandwidthRollup, BandwidthTraffic, Egress, Ingress } from '@/bandwidth';
const state = store.state as RootState;
const mockedDate1 = new Date(Date.UTC(2020, 1, 30));

View File

@ -2,13 +2,13 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import { RootState } from '@/app/store';
import { CreateNodeFields, Node, NodeURL } from '@/nodes';
import { createLocalVue } from '@vue/test-utils';
import store, { nodesService } from '../mock/store';
import { RootState } from '@/app/store';
import { CreateNodeFields, Node, NodeURL } from '@/nodes';
const node = new Node();
const nodes = [node];
const satellite = new NodeURL('testId', '127.0.0.1:test');
@ -39,7 +39,7 @@ describe('mutations', () => {
const selectedSatellite = state.nodes.selectedSatellite;
expect(selectedSatellite).toBeDefined();
if(selectedSatellite) expect(selectedSatellite.address).toBe(satellite.address);
if (selectedSatellite) expect(selectedSatellite.address).toBe(satellite.address);
});
it('saves selected node', () => {
@ -49,7 +49,7 @@ describe('mutations', () => {
const selectedNode = state.nodes.selectedNode;
expect(selectedNode).toBeDefined();
if(selectedNode) expect(selectedNode.id).toBe(node.id);
if (selectedNode) expect(selectedNode.id).toBe(node.id);
});
});
@ -191,7 +191,7 @@ describe('actions', () => {
const selectedSatellite = state.nodes.selectedSatellite;
expect(selectedSatellite).toBeDefined();
if(selectedSatellite) expect(selectedSatellite.address).toBe(satellite.address);
if (selectedSatellite) expect(selectedSatellite.address).toBe(satellite.address);
expect(state.nodes.nodes.length).toBe(1);
});
@ -203,6 +203,6 @@ describe('actions', () => {
const selectedNode = state.nodes.selectedNode;
expect(selectedNode).toBeDefined();
if(selectedNode) expect(selectedNode.id).toBe(node.id);
if (selectedNode) expect(selectedNode.id).toBe(node.id);
});
});

View File

@ -2,13 +2,13 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import { RootState } from '@/app/store';
import { Expectation, HeldAmountSummary, PayoutsSummary, Paystub } from '@/payouts';
import { createLocalVue } from '@vue/test-utils';
import store, { payoutsService } from '../mock/store';
import { RootState } from '@/app/store';
import { Expectation, HeldAmountSummary, PayoutsSummary, Paystub } from '@/payouts';
const state = store.state as RootState;
const summary = new PayoutsSummary(5000000, 6000000, 9000000);

View File

@ -7,7 +7,7 @@ module.exports = {
productionSourceMap: false,
parallel: true,
lintOnSave: process.env.NODE_ENV !== 'production', // disables eslint for builds
assetsDir: "static",
assetsDir: 'static',
configureWebpack: {
plugins: [],
},
@ -18,7 +18,7 @@ module.exports = {
// Disable node_modules/.cache directory usage due to permissions.
// This is enabled by default in https://cli.vuejs.org/core-plugins/babel.html#caching.
config.module.rule('js').use('babel-loader')
.tap(options => Object.assign(options, {cacheDirectory: false}));
.tap(options => Object.assign(options, { cacheDirectory: false }));
config
.plugin('html')