web/storagenode: fix linter

Fixed web linter.

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

Change-Id: Ia63e3e6e7352a99e902c9ed08a4bcfd75059e943
This commit is contained in:
Vitalii 2022-11-04 13:48:16 +02:00 committed by Storj Robot
parent 10f59f8633
commit 8268933b56
85 changed files with 712 additions and 383 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",
"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',
'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

@ -33,10 +33,10 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import DisqualifyIcon from '@/../static/images/disqualify.svg';
import { SatelliteScores } from '@/storagenode/sno/sno';
import DisqualifyIcon from '@/../static/images/disqualify.svg';
// @vue/component
@Component({
components: { DisqualifyIcon },

View File

@ -18,14 +18,14 @@
<script lang="ts">
import { Component } from 'vue-property-decorator';
import BaseChart from '@/app/components/BaseChart.vue';
import VChart from '@/app/components/VChart.vue';
import { ChartData, Tooltip, TooltipParams, TooltipModel } from '@/app/types/chart';
import { ChartUtils } from '@/app/utils/chart';
import { Size } from '@/private/memory/size';
import { BandwidthUsed } from '@/storagenode/sno/sno';
import VChart from '@/app/components/VChart.vue';
import BaseChart from '@/app/components/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 chartBackgroundColor(): string {

View File

@ -19,11 +19,11 @@
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import { Size } from '@/private/memory/size';
import VBar from '@/app/components/VBar.vue';
import VInfo from '@/app/components/VInfo.vue';
import { Size } from '@/private/memory/size';
// @vue/component
@Component ({
components: {
@ -32,15 +32,15 @@ import { Size } from '@/private/memory/size';
},
})
export default class BarInfo extends Vue {
@Prop({default: ''})
@Prop({ default: '' })
private readonly label: string;
@Prop({default: ''})
@Prop({ default: '' })
private readonly amount: number;
@Prop({default: ''})
@Prop({ default: '' })
private readonly infoText: string;
@Prop({default: ''})
@Prop({ default: '' })
private readonly currentBarAmount: number;
@Prop({default: ''})
@Prop({ default: '' })
private readonly maxBarAmount: number;
public get infoMessage(): string {

View File

@ -13,11 +13,11 @@ import VChart from '@/app/components/VChart.vue';
},
})
export default class BaseChart extends Vue {
@Prop({default: 0})
@Prop({ default: 0 })
public width: number;
@Prop({default: 0})
@Prop({ default: 0 })
public height: number;
@Prop({default: false})
@Prop({ default: false })
public isDarkMode: boolean;
public chartWidth = 0;

View File

@ -31,11 +31,11 @@ import ChecksInfoIcon from '@/../static/images/checksInfo.svg';
},
})
export default class ChecksArea extends Vue {
@Prop({default: ''})
@Prop({ default: '' })
private readonly label: string;
@Prop({default: ''})
@Prop({ default: '' })
private readonly amount: string;
@Prop({default: ''})
@Prop({ default: '' })
private readonly infoText: string;
/**

View File

@ -18,14 +18,14 @@
<script lang="ts">
import { Component } from 'vue-property-decorator';
import BaseChart from '@/app/components/BaseChart.vue';
import VChart from '@/app/components/VChart.vue';
import { ChartData, Tooltip, TooltipParams, TooltipModel } from '@/app/types/chart';
import { ChartUtils } from '@/app/utils/chart';
import { Size } from '@/private/memory/size';
import { Stamp } from '@/storagenode/sno/sno';
import VChart from '@/app/components/VChart.vue';
import BaseChart from '@/app/components/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 chartBackgroundColor(): string {

View File

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

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

@ -18,14 +18,14 @@
<script lang="ts">
import { Component } from 'vue-property-decorator';
import BaseChart from '@/app/components/BaseChart.vue';
import VChart from '@/app/components/VChart.vue';
import { ChartData, Tooltip, TooltipParams, TooltipModel } from '@/app/types/chart';
import { ChartUtils } from '@/app/utils/chart';
import { Size } from '@/private/memory/size';
import { EgressUsed } from '@/storagenode/sno/sno';
import VChart from '@/app/components/VChart.vue';
import BaseChart from '@/app/components/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 chartBackgroundColor(): string {

View File

@ -18,14 +18,14 @@
<script lang="ts">
import { Component } from 'vue-property-decorator';
import BaseChart from '@/app/components/BaseChart.vue';
import VChart from '@/app/components/VChart.vue';
import { ChartData, Tooltip, TooltipParams, TooltipModel } from '@/app/types/chart';
import { ChartUtils } from '@/app/utils/chart';
import { Size } from '@/private/memory/size';
import { IngressUsed } from '@/storagenode/sno/sno';
import VChart from '@/app/components/VChart.vue';
import BaseChart from '@/app/components/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 chartBackgroundColor(): string {

View File

@ -15,12 +15,12 @@
<script lang="ts">
import { Component, Vue, Watch } from 'vue-property-decorator';
import MoonIcon from '@/../static/images/DarkMoon.svg';
import SunIcon from '@/../static/images/LightSun.svg';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { SNO_THEME } from '@/app/types/theme';
import MoonIcon from '@/../static/images/DarkMoon.svg';
import SunIcon from '@/../static/images/LightSun.svg';
// @vue/component
@Component({
components: {

View File

@ -23,9 +23,9 @@ import { CheckSelected, Page } from '@/app/types/pagination';
// @vue/component
@Component
export default class PagesBlock extends Vue {
@Prop({default: () => []})
@Prop({ default: () => [] })
public readonly pages: Page[];
@Prop({default: () => false})
@Prop({ default: () => false })
public readonly isSelected: CheckSelected;
}
</script>

View File

@ -163,6 +163,11 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { RouteConfig } from '@/app/router';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { Size } from '@/private/memory/size';
import { Dashboard, SatelliteInfo, SatelliteScores } from '@/storagenode/sno/sno';
import AllSatellitesAuditsArea from '@/app/components/AllSatellitesAuditsArea.vue';
import BandwidthChart from '@/app/components/BandwidthChart.vue';
import ChecksArea from '@/app/components/ChecksArea.vue';
@ -174,14 +179,9 @@ import SatelliteSelection from '@/app/components/SatelliteSelection.vue';
import TotalPayoutArea from '@/app/components/TotalPayoutArea.vue';
import WalletArea from '@/app/components/WalletArea.vue';
import BlueArrowRight from '@/../static/images/BlueArrowRight.svg';
import LargeDisqualificationIcon from '@/../static/images/largeDisqualify.svg';
import LargeSuspensionIcon from '@/../static/images/largeSuspend.svg';
import { RouteConfig } from '@/app/router';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { Size } from '@/private/memory/size';
import { Dashboard, SatelliteInfo, SatelliteScores } from '@/storagenode/sno/sno';
import LargeDisqualificationIcon from '@/../static/images/largeDisqualify.svg';
import BlueArrowRight from '@/../static/images/BlueArrowRight.svg';
// @vue/component
@Component ({

View File

@ -81,13 +81,13 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { StatusOnline } from '@/app/store/modules/node';
import { Duration, millisecondsInSecond, minutesInHour, secondsInHour, secondsInMinute } from '@/app/utils/duration';
import VInfo from '@/app/components/VInfo.vue';
import CopyIcon from '@/../static/images/Copy.svg';
import { StatusOnline } from '@/app/store/modules/node';
import { Duration, millisecondsInSecond, minutesInHour, secondsInHour, secondsInMinute } from '@/app/utils/duration';
/**
* NodeInfo class holds info for NodeInfo entity.
*/
@ -98,8 +98,8 @@ class NodeInfo {
public allowedVersion: string;
public wallet: string;
public isLastVersion: boolean;
public quicEnabled: boolean
public configuredPort: string
public quicEnabled: boolean;
public configuredPort: string;
public constructor(id: string, status: string, version: string, allowedVersion: string, wallet: string, isLastVersion: boolean, quicEnabled: boolean, port: string) {
this.id = id;
@ -108,8 +108,8 @@ class NodeInfo {
this.allowedVersion = this.toVersionString(allowedVersion);
this.wallet = wallet;
this.isLastVersion = isLastVersion;
this.quicEnabled = quicEnabled
this.configuredPort = port
this.quicEnabled = quicEnabled;
this.configuredPort = port;
}
private toVersionString(version: string): string {

View File

@ -34,10 +34,10 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import StorjIcon from '@/../static/images/storjIcon.svg';
import { RouteConfig } from '@/app/router';
import StorjIcon from '@/../static/images/storjIcon.svg';
// @vue/component
@Component({
components: {

View File

@ -53,8 +53,14 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import NotificationsPopup from '@/app/components/notifications/NotificationsPopup.vue';
import { RouteConfig } from '@/app/router';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { NODE_ACTIONS } from '@/app/store/modules/node';
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
import OptionsDropdown from '@/app/components/OptionsDropdown.vue';
import NotificationsPopup from '@/app/components/notifications/NotificationsPopup.vue';
import CopyIcon from '@/../static/images/Copy.svg';
import StorjIconWithoutText from '@/../static/images/LogoWithoutText.svg';
@ -63,12 +69,6 @@ import RefreshIcon from '@/../static/images/refresh.svg';
import SettingsIcon from '@/../static/images/SettingsDots.svg';
import StorjIcon from '@/../static/images/storjIcon.svg';
import { RouteConfig } from '@/app/router';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { NODE_ACTIONS } from '@/app/store/modules/node';
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
const {
GET_NODE_INFO,
SELECT_SATELLITE,
@ -172,7 +172,7 @@ export default class SNOHeader extends Vue {
await this.$store.dispatch(GET_NODE_INFO);
await this.$store.dispatch(SELECT_SATELLITE, selectedSatelliteId);
} catch (error) {
console.error("fetching satellite data", error);
console.error('fetching satellite data', error);
}
try {

View File

@ -49,14 +49,14 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import CopyIcon from '@/../static/images/Copy.svg';
import DropdownArrowIcon from '@/../static/images/dropdownArrow.svg';
import EyeIcon from '@/../static/images/Eye.svg';
import SatelliteSelectionDropdown from './SatelliteSelectionDropdown.vue';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { SatelliteInfo } from '@/storagenode/sno/sno';
import SatelliteSelectionDropdown from './SatelliteSelectionDropdown.vue';
import CopyIcon from '@/../static/images/Copy.svg';
import DropdownArrowIcon from '@/../static/images/dropdownArrow.svg';
import EyeIcon from '@/../static/images/Eye.svg';
// @vue/component
@Component({

View File

@ -23,8 +23,6 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import SatelliteSelectionDropdownItem from '@/app/components/SatelliteSelectionDropdownItem.vue';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { NODE_ACTIONS } from '@/app/store/modules/node';
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
@ -32,6 +30,8 @@ import { PayoutInfoRange } from '@/app/types/payout';
import { PayoutPeriod } from '@/storagenode/payouts/payouts';
import { SatelliteInfo } from '@/storagenode/sno/sno';
import SatelliteSelectionDropdownItem from '@/app/components/SatelliteSelectionDropdownItem.vue';
// @vue/component
@Component({
components: {

View File

@ -67,13 +67,13 @@
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import { SatelliteInfo } from '@/storagenode/sno/sno';
import CopyIcon from '@/../static/images/Copy.svg';
import DisqualificationIcon from '@/../static/images/disqualify.svg';
import EyeIcon from '@/../static/images/Eye.svg';
import SuspensionIcon from '@/../static/images/suspend.svg';
import { SatelliteInfo } from '@/storagenode/sno/sno';
// @vue/component
@Component({
components: {
@ -84,7 +84,7 @@ import { SatelliteInfo } from '@/storagenode/sno/sno';
},
})
export default class SatelliteSelectionDropdownItem extends Vue {
@Prop({default: () => new SatelliteInfo()})
@Prop({ default: () => new SatelliteInfo() })
public readonly satellite: SatelliteInfo;
/**

View File

@ -24,9 +24,9 @@ class BarFillStyle {
// @vue/component
@Component
export default class VBar extends Vue {
@Prop({default: ''})
@Prop({ default: '' })
private readonly current: string;
@Prop({default: ''})
@Prop({ default: '' })
private readonly max: string;
public get barFillStyle(): BarFillStyle {

View File

@ -31,19 +31,19 @@ export default class VInfo extends Vue {
private isVisible = false;
private height = '5px';
@Prop({default: ''})
@Prop({ default: '' })
private readonly text: string;
@Prop({default: ''})
@Prop({ default: '' })
private readonly boldText: string;
@Prop({default: ''})
@Prop({ default: '' })
private readonly extraBoldText: string;
@Prop({default: ''})
@Prop({ default: '' })
private readonly greenText: string;
@Prop({default: ''})
@Prop({ default: '' })
private readonly extraGreenText: string;
@Prop({default: false})
@Prop({ default: false })
private readonly isExtraPadding: boolean;
@Prop({default: false})
@Prop({ default: false })
private readonly isCustomPosition: boolean;
public toggleVisibility(): void {

View File

@ -41,10 +41,10 @@
<script lang="ts">
import { Component, Prop, Vue, Watch } from 'vue-property-decorator';
import PagesBlock from '@/app/components/PagesBlock.vue';
import { OnPageClickCallback, Page } from '@/app/types/pagination';
import PagesBlock from '@/app/components/PagesBlock.vue';
// @vue/component
@Component({
components: {
@ -61,9 +61,9 @@ export default class VPagination extends Vue {
public middleBlockPages: Page[] = [];
public lastBlockPages: Page[] = [];
@Prop({default: 0})
@Prop({ default: 0 })
private readonly totalPageCount: number;
@Prop({default: () => () => new Promise(() => false)})
@Prop({ default: () => () => new Promise(() => false) })
private readonly onPageClickCallback: OnPageClickCallback;
/**

View File

@ -59,11 +59,11 @@ import WalletIcon from '@/../static/images/wallet.svg';
},
})
export default class WalletArea extends Vue {
@Prop({default: ''})
@Prop({ default: '' })
private readonly label: string;
@Prop({default: ''})
@Prop({ default: '' })
private readonly walletAddress: string;
@Prop({default: () => []})
@Prop({ default: () => [] })
private readonly walletFeatures: string[];
public get isZkSyncEnabled(): boolean {

View File

@ -31,11 +31,11 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import SNONotification from '@/app/components/notifications/SNONotification.vue';
import { RouteConfig } from '@/app/router';
import { UINotification } from '@/app/types/notifications';
import SNONotification from '@/app/components/notifications/SNONotification.vue';
// @vue/component
@Component({
components: {

View File

@ -37,13 +37,13 @@ import { UINotification } from '@/app/types/notifications';
// @vue/component
@Component
export default class SNONotification extends Vue {
@Prop({default: () => new UINotification()})
@Prop({ default: () => new UINotification() })
public readonly notification: UINotification;
/**
* isSmall props indicates if component used in popup.
*/
@Prop({default: false})
@Prop({ default: false })
public isSmall: boolean;
/**

View File

@ -4,11 +4,11 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
import BlueHideIcon from '@/../static/images/common/BlueMinus.svg';
import BlueExpandIcon from '@/../static/images/common/BluePlus.svg';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
// @vue/component
@Component({
components: {

View File

@ -144,10 +144,6 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import EstimationPeriodDropdown from '@/app/components/payments/EstimationPeriodDropdown.vue';
import ChecksInfoIcon from '@/../static/images/checksInfo.svg';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import {
BANDWIDTH_DOWNLOAD_PRICE_PER_TB,
@ -162,6 +158,10 @@ import {
import { Size } from '@/private/memory/size';
import { EstimatedPayout, PayoutPeriod, TotalPaystubForPeriod } from '@/storagenode/payouts/payouts';
import EstimationPeriodDropdown from '@/app/components/payments/EstimationPeriodDropdown.vue';
import ChecksInfoIcon from '@/../static/images/checksInfo.svg';
/**
* Describes table row data item.
*/

View File

@ -24,13 +24,13 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import PayoutPeriodCalendar from '@/app/components/payments/PayoutPeriodCalendar.vue';
import BlackArrowExpand from '@/../static/images/BlackArrowExpand.svg';
import BlackArrowHide from '@/../static/images/BlackArrowHide.svg';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
// @vue/component
@Component({
components: {

View File

@ -47,11 +47,11 @@
<script lang="ts">
import { Component } from 'vue-property-decorator';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
import BaseHeldHistoryTable from '@/app/components/payments/BaseHeldHistoryTable.vue';
import HeldHistoryAllStatsTableItemSmall from '@/app/components/payments/HeldHistoryAllStatsTableItemSmall.vue';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
// @vue/component
@Component({
components: {

View File

@ -39,12 +39,12 @@
<script lang="ts">
import { Component, Prop } from 'vue-property-decorator';
import BlueHideIcon from '@/../static/images/common/BlueMinus.svg';
import BlueExpandIcon from '@/../static/images/common/BluePlus.svg';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
import BaseSmallHeldHistoryTable from '@/app/components/payments/BaseSmallHeldHistoryTable.vue';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
import BlueHideIcon from '@/../static/images/common/BlueMinus.svg';
import BlueExpandIcon from '@/../static/images/common/BluePlus.svg';
// @vue/component
@Component({
@ -54,7 +54,7 @@ import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
},
})
export default class HeldHistoryAllStatsTableSmall extends BaseSmallHeldHistoryTable {
@Prop({default: () => new SatelliteHeldHistory()})
@Prop({ default: () => new SatelliteHeldHistory() })
public readonly heldHistoryItem: SatelliteHeldHistory;
}
</script>

View File

@ -47,11 +47,11 @@
<script lang="ts">
import { Component } from 'vue-property-decorator';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
import BaseHeldHistoryTable from '@/app/components/payments/BaseHeldHistoryTable.vue';
import HeldHistoryMonthlyBreakdownTableItemSmall from '@/app/components/payments/HeldHistoryMonthlyBreakdownTableItemSmall.vue';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
// @vue/component
@Component({
components: {

View File

@ -39,12 +39,12 @@
<script lang="ts">
import { Component, Prop } from 'vue-property-decorator';
import BlueHideIcon from '@/../static/images/common/BlueMinus.svg';
import BlueExpandIcon from '@/../static/images/common/BluePlus.svg';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
import BaseSmallHeldHistoryTable from '@/app/components/payments/BaseSmallHeldHistoryTable.vue';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
import BlueHideIcon from '@/../static/images/common/BlueMinus.svg';
import BlueExpandIcon from '@/../static/images/common/BluePlus.svg';
// @vue/component
@Component({
@ -54,7 +54,7 @@ import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
},
})
export default class HeldHistoryMonthlyBreakdownTableSmall extends BaseSmallHeldHistoryTable {
@Prop({default: () => new SatelliteHeldHistory()})
@Prop({ default: () => new SatelliteHeldHistory() })
public readonly heldHistoryItem: SatelliteHeldHistory;
}
</script>

View File

@ -35,8 +35,6 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import GrayArrowLeftIcon from '@/../static/images/payments/GrayArrowLeft.svg';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
import {
@ -45,6 +43,8 @@ import {
StoredMonthsByYear,
} from '@/app/types/payout';
import GrayArrowLeftIcon from '@/../static/images/payments/GrayArrowLeft.svg';
// @vue/component
@Component({
components: {

View File

@ -17,14 +17,14 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { monthNames } from '@/app/types/payout';
import PayoutHistoryPeriodCalendar from '@/app/components/payments/PayoutHistoryPeriodCalendar.vue';
import BlackArrowExpand from '@/../static/images/BlackArrowExpand.svg';
import BlackArrowHide from '@/../static/images/BlackArrowHide.svg';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { monthNames } from '@/app/types/payout';
// @vue/component
@Component({
components: {

View File

@ -27,12 +27,12 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import PayoutHistoryPeriodDropdown from '@/app/components/payments/PayoutHistoryPeriodDropdown.vue';
import PayoutHistoryTableItem from '@/app/components/payments/PayoutHistoryTableItem.vue';
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
import PayoutHistoryPeriodDropdown from '@/app/components/payments/PayoutHistoryPeriodDropdown.vue';
import PayoutHistoryTableItem from '@/app/components/payments/PayoutHistoryTableItem.vue';
// @vue/component
@Component ({
components: {

View File

@ -106,13 +106,13 @@
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
import ExpandIcon from '@/../static/images/BlueArrowRight.svg';
import DisqualifyIcon from '@/../static/images/largeDisqualify.svg';
import OKIcon from '@/../static/images/payments/OKIcon.svg';
import ShareIcon from '@/../static/images/payments/Share.svg';
import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
// @vue/component
@Component ({
components: {
@ -123,7 +123,7 @@ import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
},
})
export default class PayoutHistoryTableItem extends Vue {
@Prop({default: () => new SatellitePayoutForPeriod()})
@Prop({ default: () => new SatellitePayoutForPeriod() })
public readonly historyItem: SatellitePayoutForPeriod;
/**

View File

@ -38,8 +38,6 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import GrayArrowLeftIcon from '@/../static/images/payments/GrayArrowLeft.svg';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
import {
@ -50,6 +48,8 @@ import {
} from '@/app/types/payout';
import { PayoutPeriod } from '@/storagenode/payouts/payouts';
import GrayArrowLeftIcon from '@/../static/images/payments/GrayArrowLeft.svg';
// @vue/component
@Component({
components: {

View File

@ -31,13 +31,13 @@ import ChecksInfoIcon from '@/../static/images/checksInfo.svg';
},
})
export default class SingleInfo extends Vue {
@Prop({default: '100%'})
@Prop({ default: '100%' })
public readonly width: string;
@Prop({default: 'Label'})
@Prop({ default: 'Label' })
public readonly label: string;
@Prop({default: 'value'})
@Prop({ default: 'value' })
public readonly value: string;
@Prop({default: ''})
@Prop({ default: '' })
private readonly infoText: string;
/**

View File

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

View File

@ -4,13 +4,13 @@
import Vue from 'vue';
import Router from 'vue-router';
import Page404 from '@/app/components/errors/Page404.vue';
import { NavigationLink } from '@/app/types/navigation';
import DashboardArea from '@/app/views/DashboardArea.vue';
import NotificationsArea from '@/app/views/NotificationsArea.vue';
import PayoutArea from '@/app/views/PayoutArea.vue';
import Page404 from '@/app/components/errors/Page404.vue';
Vue.use(Router);
export abstract class RouteConfig {

View File

@ -4,6 +4,9 @@
import Vue from 'vue';
import Vuex from 'vuex';
import { appStateModule } from './modules/appState';
import { newNodeModule } from './modules/node';
import { newNotificationsModule } from '@/app/store/modules/notifications';
import { newPayoutModule } from '@/app/store/modules/payout';
import { NotificationsHttpApi } from '@/storagenode/api/notifications';
@ -13,9 +16,6 @@ import { NotificationsService } from '@/storagenode/notifications/service';
import { PayoutService } from '@/storagenode/payouts/service';
import { StorageNodeService } from '@/storagenode/sno/service';
import { appStateModule } from './modules/appState';
import { newNodeModule } from './modules/node';
const notificationsApi = new NotificationsHttpApi();
const notificationsService = new NotificationsService(notificationsApi);
const payoutApi = new PayoutHttpApi();

View File

@ -98,7 +98,7 @@ export const appStateModule = {
},
},
actions: {
[APPSTATE_ACTIONS.TOGGLE_SATELLITE_SELECTION]: function ({commit, state}: AppContext): void {
[APPSTATE_ACTIONS.TOGGLE_SATELLITE_SELECTION]: function ({ commit, state }: AppContext): void {
if (!state.isSatelliteSelectionShown) {
commit(APPSTATE_MUTATIONS.TOGGLE_SATELLITE_SELECTION);
@ -107,10 +107,10 @@ export const appStateModule = {
commit(APPSTATE_MUTATIONS.CLOSE_ALL_POPUPS);
},
[APPSTATE_ACTIONS.TOGGLE_PAYOUT_CALENDAR]: function ({commit}: AppContext, value: boolean): void {
[APPSTATE_ACTIONS.TOGGLE_PAYOUT_CALENDAR]: function ({ commit }: AppContext, value: boolean): void {
commit(APPSTATE_MUTATIONS.TOGGLE_PAYOUT_CALENDAR, value);
},
[APPSTATE_ACTIONS.TOGGLE_EGRESS_CHART]: function ({commit, state}: AppContext): void {
[APPSTATE_ACTIONS.TOGGLE_EGRESS_CHART]: function ({ commit, state }: AppContext): void {
if (!state.isBandwidthChartShown) {
commit(APPSTATE_MUTATIONS.TOGGLE_EGRESS_CHART);
commit(APPSTATE_MUTATIONS.TOGGLE_INGRESS_CHART);
@ -121,7 +121,7 @@ export const appStateModule = {
commit(APPSTATE_MUTATIONS.TOGGLE_BANDWIDTH_CHART);
commit(APPSTATE_MUTATIONS.TOGGLE_EGRESS_CHART);
},
[APPSTATE_ACTIONS.TOGGLE_INGRESS_CHART]: function ({commit, state}: AppContext): void {
[APPSTATE_ACTIONS.TOGGLE_INGRESS_CHART]: function ({ commit, state }: AppContext): void {
if (!state.isBandwidthChartShown) {
commit(APPSTATE_MUTATIONS.TOGGLE_INGRESS_CHART);
commit(APPSTATE_MUTATIONS.TOGGLE_EGRESS_CHART);
@ -132,23 +132,23 @@ export const appStateModule = {
commit(APPSTATE_MUTATIONS.TOGGLE_BANDWIDTH_CHART);
commit(APPSTATE_MUTATIONS.TOGGLE_INGRESS_CHART);
},
[APPSTATE_ACTIONS.SET_DARK_MODE]: function ({commit}: AppContext, value: boolean): void {
[APPSTATE_ACTIONS.SET_DARK_MODE]: function ({ commit }: AppContext, value: boolean): void {
commit(APPSTATE_MUTATIONS.SET_DARK, value);
},
[APPSTATE_ACTIONS.SET_NO_PAYOUT_DATA]: function ({commit}: AppContext, value: boolean): void {
[APPSTATE_ACTIONS.SET_NO_PAYOUT_DATA]: function ({ commit }: AppContext, value: boolean): void {
commit(APPSTATE_MUTATIONS.SET_NO_PAYOUT_INFO, value);
},
[APPSTATE_ACTIONS.SET_LOADING]: function ({commit}: AppContext, value: boolean): void {
[APPSTATE_ACTIONS.SET_LOADING]: function ({ commit }: AppContext, value: boolean): void {
value ? commit(APPSTATE_MUTATIONS.SET_LOADING_STATE, value) :
setTimeout(() => { commit(APPSTATE_MUTATIONS.SET_LOADING_STATE, value); }, 1000);
},
[APPSTATE_ACTIONS.CLOSE_ADDITIONAL_CHARTS]: function ({commit}: AppContext): void {
[APPSTATE_ACTIONS.CLOSE_ADDITIONAL_CHARTS]: function ({ commit }: AppContext): void {
commit(APPSTATE_MUTATIONS.CLOSE_ADDITIONAL_CHARTS);
},
[APPSTATE_ACTIONS.CLOSE_ALL_POPUPS]: function ({commit}: AppContext): void {
[APPSTATE_ACTIONS.CLOSE_ALL_POPUPS]: function ({ commit }: AppContext): void {
commit(APPSTATE_MUTATIONS.CLOSE_ALL_POPUPS);
},
[APPSTATE_ACTIONS.TOGGLE_PAYOUT_HISTORY_CALENDAR]: function ({commit}: AppContext, value: boolean): void {
[APPSTATE_ACTIONS.TOGGLE_PAYOUT_HISTORY_CALENDAR]: function ({ commit }: AppContext, value: boolean): void {
commit(APPSTATE_MUTATIONS.TOGGLE_PAYOUT_HISTORY_CALENDAR, value);
},
},

View File

@ -62,7 +62,7 @@ export function newNodeModule(service: StorageNodeService): StoreModule<StorageN
nodeInfo.walletFeatures,
nodeInfo.isUpToDate,
nodeInfo.quicEnabled,
nodeInfo.configuredPort
nodeInfo.configuredPort,
);
state.utilization = new Utilization(
@ -114,12 +114,12 @@ export function newNodeModule(service: StorageNodeService): StoreModule<StorageN
},
},
actions: {
[NODE_ACTIONS.GET_NODE_INFO]: async function ({commit}: StorageNodeContext): Promise<void> {
[NODE_ACTIONS.GET_NODE_INFO]: async function ({ commit }: StorageNodeContext): Promise<void> {
const dashboard = await service.dashboard();
commit(NODE_MUTATIONS.POPULATE_STORE, dashboard);
},
[NODE_ACTIONS.SELECT_SATELLITE]: async function ({commit}: StorageNodeContext, id?: string): Promise<void> {
[NODE_ACTIONS.SELECT_SATELLITE]: async function ({ commit }: StorageNodeContext, id?: string): Promise<void> {
let response: Satellite | Satellites;
if (id) {
response = await service.satellite(id);

View File

@ -60,7 +60,7 @@ export function newNotificationsModule(service: NotificationsService): StoreModu
},
},
actions: {
[NOTIFICATIONS_ACTIONS.GET_NOTIFICATIONS]: async function ({commit}: NotificationsContext, pageIndex: number): Promise<void> {
[NOTIFICATIONS_ACTIONS.GET_NOTIFICATIONS]: async function ({ commit }: NotificationsContext, pageIndex: number): Promise<void> {
const notificationsResponse = await service.notifications(pageIndex);
const notifications = notificationsResponse.page.notifications.map(notification => new UINotification(notification));
@ -73,11 +73,11 @@ export function newNotificationsModule(service: NotificationsService): StoreModu
commit(NOTIFICATIONS_MUTATIONS.SET_LATEST, notificationState);
}
},
[NOTIFICATIONS_ACTIONS.MARK_AS_READ]: async function ({commit}: NotificationsContext, id: string): Promise<void> {
[NOTIFICATIONS_ACTIONS.MARK_AS_READ]: async function ({ commit }: NotificationsContext, id: string): Promise<void> {
await service.readSingeNotification(id);
commit(NOTIFICATIONS_MUTATIONS.MARK_AS_READ, id);
},
[NOTIFICATIONS_ACTIONS.READ_ALL]: async function ({commit}: NotificationsContext): Promise<void> {
[NOTIFICATIONS_ACTIONS.READ_ALL]: async function ({ commit }: NotificationsContext): Promise<void> {
await service.readAllNotifications();
commit(NOTIFICATIONS_MUTATIONS.READ_ALL);

View File

@ -146,7 +146,7 @@ export function newPayoutModule(service: PayoutService): StoreModule<PayoutState
commit(PAYOUT_MUTATIONS.SET_HELD_HISTORY, heldHistory);
},
[PAYOUT_ACTIONS.GET_PERIODS]: async function ({commit}: PayoutContext, satelliteId = ''): Promise<void> {
[PAYOUT_ACTIONS.GET_PERIODS]: async function ({ commit }: PayoutContext, satelliteId = ''): Promise<void> {
const periods = await service.availablePeriods(satelliteId);
commit(PAYOUT_MUTATIONS.SET_PERIODS, periods);

View File

@ -1,14 +1,14 @@
// Copyright (C) 2019 Storj Labs, Inc.
// See LICENSE for copying information.
import Vue, {VueConstructor} from 'vue';
import Vue, { VueConstructor } from 'vue';
import { Notification, NotificationTypes } from '@/storagenode/notifications/notifications';
import DisqualificationIcon from "@/../static/images/notifications/disqualified.svg";
import FailIcon from "@/../static/images/notifications/fail.svg";
import InfoIcon from "@/../static/images/notifications/info.svg";
import SuspendedIcon from "@/../static/images/notifications/suspended.svg";
import DisqualificationIcon from '@/../static/images/notifications/disqualified.svg';
import FailIcon from '@/../static/images/notifications/fail.svg';
import InfoIcon from '@/../static/images/notifications/info.svg';
import SuspendedIcon from '@/../static/images/notifications/suspended.svg';
/**
* Holds all notifications module state.

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

@ -13,14 +13,14 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import SNOContentFilling from '@/app/components/SNOContentFilling.vue';
import SNOContentTitle from '@/app/components/SNOContentTitle.vue';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { NODE_ACTIONS } from '@/app/store/modules/node';
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
import SNOContentTitle from '@/app/components/SNOContentTitle.vue';
import SNOContentFilling from '@/app/components/SNOContentFilling.vue';
// @vue/component
@Component ({
components: {

View File

@ -48,14 +48,14 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
import { UINotification } from '@/app/types/notifications';
import SNONotification from '@/app/components/notifications/SNONotification.vue';
import VPagination from '@/app/components/VPagination.vue';
import BackArrowIcon from '@/../static/images/notifications/backArrow.svg';
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
import { UINotification } from '@/app/types/notifications';
// @vue/component
@Component ({
components: {

View File

@ -49,6 +49,12 @@
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { NODE_ACTIONS } from '@/app/store/modules/node';
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
import { PayoutPeriod, SatelliteHeldHistory, TotalPayments } from '@/storagenode/payouts/payouts';
import EstimationArea from '@/app/components/payments/EstimationArea.vue';
import HeldHistoryArea from '@/app/components/payments/HeldHistoryArea.vue';
import HeldProgress from '@/app/components/payments/HeldProgress.vue';
@ -59,12 +65,6 @@ import SatelliteSelection from '@/app/components/SatelliteSelection.vue';
import BackArrowIcon from '@/../static/images/notifications/backArrow.svg';
import { APPSTATE_ACTIONS } from '@/app/store/modules/appState';
import { NODE_ACTIONS } from '@/app/store/modules/node';
import { NOTIFICATIONS_ACTIONS } from '@/app/store/modules/notifications';
import { PAYOUT_ACTIONS } from '@/app/store/modules/payout';
import { PayoutPeriod, SatelliteHeldHistory, TotalPayments } from '@/storagenode/payouts/payouts';
// @vue/component
@Component ({
components: {

View File

@ -291,11 +291,11 @@ export class SatellitePayoutForPeriod {
public get transactionLink(): string {
const prefixed = function (hash: string): string {
if (hash.indexOf("0x") != 0) {
return "0x" + hash;
if (hash.indexOf('0x') != 0) {
return '0x' + hash;
}
return hash;
}
};
if (!this.receipt) {
return '';
}
@ -305,7 +305,7 @@ export class SatellitePayoutForPeriod {
}
{
const zkScanUrl = 'https://zkscan.io/explorer/transactions'
const zkScanUrl = 'https://zkscan.io/explorer/transactions';
if (this.receipt.indexOf('zksync') !== -1) {
return `${zkScanUrl}/${prefixed(this.receipt.slice(7))}`;

View File

@ -2,14 +2,14 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import AllSatellitesAuditsArea from '@/app/components/AllSatellitesAuditsArea.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { newNodeModule, NODE_ACTIONS } from '@/app/store/modules/node';
import { StorageNodeApi } from '@/storagenode/api/storagenode';
import { StorageNodeService } from '@/storagenode/sno/service';
import { Satellites, SatelliteScores } from '@/storagenode/sno/sno';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import AllSatellitesAuditsArea from '@/app/components/AllSatellitesAuditsArea.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -18,7 +18,7 @@ const nodeApi = new StorageNodeApi();
const nodeService = new StorageNodeService(nodeApi);
const nodeModule = newNodeModule(nodeService);
const store = new Vuex.Store({ modules: { node: nodeModule }});
const store = new Vuex.Store({ modules: { node: nodeModule } });
describe('AllSatellitesAuditsArea', (): void => {

View File

@ -2,15 +2,15 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import DiskStatChart from '@/app/components/DiskStatChart.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { newNodeModule, NODE_ACTIONS } from '@/app/store/modules/node';
import { Size } from '@/private/memory/size';
import { StorageNodeApi } from '@/storagenode/api/storagenode';
import { StorageNodeService } from '@/storagenode/sno/service';
import { Dashboard, SatelliteInfo, Traffic } from '@/storagenode/sno/sno';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import DiskStatChart from '@/app/components/DiskStatChart.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -23,7 +23,7 @@ const nodeApi = new StorageNodeApi();
const nodeService = new StorageNodeService(nodeApi);
const nodeModule = newNodeModule(nodeService);
const store = new Vuex.Store({ modules: { node: nodeModule }});
const store = new Vuex.Store({ modules: { node: nodeModule } });
describe('DiskStatChart', (): void => {
it('renders correctly', (): void => {

View File

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

View File

@ -2,11 +2,11 @@
// See LICENSE for copying information.
import VueClipboard from 'vue-clipboard2';
import SatelliteSelectionDropdownItem from '@/app/components/SatelliteSelectionDropdownItem.vue';
import { createLocalVue, mount, shallowMount } from '@vue/test-utils';
import { SatelliteInfo } from '@/storagenode/sno/sno';
import { createLocalVue, mount, shallowMount } from '@vue/test-utils';
import SatelliteSelectionDropdownItem from '@/app/components/SatelliteSelectionDropdownItem.vue';
const localVue = createLocalVue();
localVue.use(VueClipboard);

View File

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

View File

@ -2,16 +2,16 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import Page404 from '@/app/components/errors/Page404.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { appStateModule } from '@/app/store/modules/appState';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import Page404 from '@/app/components/errors/Page404.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
const store = new Vuex.Store({ modules: { appStateModule }});
const store = new Vuex.Store({ modules: { appStateModule } });
describe('Page404', (): void => {
it('renders correctly', (): void => {

View File

@ -3,6 +3,7 @@
import Router from 'vue-router';
import Vuex from 'vuex';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { newNotificationsModule, NOTIFICATIONS_MUTATIONS } from '@/app/store/modules/notifications';
import { NotificationsState, UINotification } from '@/app/types/notifications';
@ -10,7 +11,6 @@ import NotificationsArea from '@/app/views/NotificationsArea.vue';
import { NotificationsHttpApi } from '@/storagenode/api/notifications';
import { Notification } from '@/storagenode/notifications/notifications';
import { NotificationsService } from '@/storagenode/notifications/service';
import { createLocalVue, shallowMount } from '@vue/test-utils';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -20,7 +20,7 @@ const notificationsApi = new NotificationsHttpApi();
const notificationsService = new NotificationsService(notificationsApi);
const notificationsModule = newNotificationsModule(notificationsService);
const store = new Vuex.Store({ modules: { notificationsModule }});
const store = new Vuex.Store({ modules: { notificationsModule } });
describe('NotificationsArea', (): void => {
it('renders correctly with no notifications', (): void => {

View File

@ -2,8 +2,7 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import NotificationsPopup from '@/app/components/notifications/NotificationsPopup.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import {
newNotificationsModule,
@ -13,7 +12,8 @@ import { NotificationsState, UINotification } from '@/app/types/notifications';
import { NotificationsHttpApi } from '@/storagenode/api/notifications';
import { Notification } from '@/storagenode/notifications/notifications';
import { NotificationsService } from '@/storagenode/notifications/service';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import NotificationsPopup from '@/app/components/notifications/NotificationsPopup.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -22,7 +22,7 @@ const notificationsApi = new NotificationsHttpApi();
const notificationsService = new NotificationsService(notificationsApi);
const notificationsModule = newNotificationsModule(notificationsService);
const store = new Vuex.Store({ modules: { notificationsModule }});
const store = new Vuex.Store({ modules: { notificationsModule } });
describe('NotificationsPopup', (): void => {
it('renders correctly with no notifications', (): void => {

View File

@ -2,15 +2,15 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import SNONotification from '@/app/components/notifications/SNONotification.vue';
import { createLocalVue, mount } from '@vue/test-utils';
import { newNotificationsModule } from '@/app/store/modules/notifications';
import { UINotification } from '@/app/types/notifications';
import { NotificationsHttpApi } from '@/storagenode/api/notifications';
import { Notification, NotificationTypes } from '@/storagenode/notifications/notifications';
import { NotificationsService } from '@/storagenode/notifications/service';
import { createLocalVue, mount } from '@vue/test-utils';
import SNONotification from '@/app/components/notifications/SNONotification.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -19,7 +19,7 @@ const notificationsApi = new NotificationsHttpApi();
const notificationsService = new NotificationsService(notificationsApi);
const notificationsModule = newNotificationsModule(notificationsService);
const store = new Vuex.Store({ modules: { notificationsModule }});
const store = new Vuex.Store({ modules: { notificationsModule } });
describe('SNONotification', (): void => {
it('renders correctly with default props', (): void => {

View File

@ -2,8 +2,7 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import EstimationArea from '@/app/components/payments/EstimationArea.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { APPSTATE_MUTATIONS, appStateModule } from '@/app/store/modules/appState';
import { newNodeModule, NODE_MUTATIONS } from '@/app/store/modules/node';
@ -20,7 +19,8 @@ import {
import { PayoutService } from '@/storagenode/payouts/service';
import { StorageNodeService } from '@/storagenode/sno/service';
import { Satellites } from '@/storagenode/sno/sno';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import EstimationArea from '@/app/components/payments/EstimationArea.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -36,7 +36,7 @@ const payoutApi = new PayoutHttpApi();
const payoutService = new PayoutService(payoutApi);
const payoutModule = newPayoutModule(payoutService);
const store = new Vuex.Store({ modules: { payoutModule, appStateModule, node: nodeModule }});
const store = new Vuex.Store({ modules: { payoutModule, appStateModule, node: nodeModule } });
describe('EstimationArea', (): void => {
it('renders correctly with actual values and current period', async (): Promise<void> => {

View File

@ -3,8 +3,7 @@
import Vue from 'vue';
import Vuex from 'vuex';
import EstimationPeriodDropdown from '@/app/components/payments/EstimationPeriodDropdown.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { appStateModule } from '@/app/store/modules/appState';
import { newNodeModule, NODE_MUTATIONS } from '@/app/store/modules/node';
@ -17,7 +16,8 @@ import {
Stamp,
Traffic,
} from '@/storagenode/sno/sno';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import EstimationPeriodDropdown from '@/app/components/payments/EstimationPeriodDropdown.vue';
const nodeApi = new StorageNodeApi();
const nodeService = new StorageNodeService(nodeApi);
@ -31,7 +31,7 @@ Vue.directive('click-outside', {
unbind: (): void => { return; },
});
const store = new Vuex.Store({ modules: { appStateModule, node: nodeModule }});
const store = new Vuex.Store({ modules: { appStateModule, node: nodeModule } });
describe('EstimationPeriodDropdown', (): void => {
it('renders correctly', (): void => {

View File

@ -2,14 +2,14 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import HeldHistoryAllStatsTable from '@/app/components/payments/HeldHistoryAllStatsTable.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { newPayoutModule, PAYOUT_MUTATIONS } from '@/app/store/modules/payout';
import { PayoutHttpApi } from '@/storagenode/api/payout';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
import { PayoutService } from '@/storagenode/payouts/service';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import HeldHistoryAllStatsTable from '@/app/components/payments/HeldHistoryAllStatsTable.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -22,7 +22,7 @@ const payoutApi = new PayoutHttpApi();
const payoutService = new PayoutService(payoutApi);
const payoutModule = newPayoutModule(payoutService);
const store = new Vuex.Store({ modules: { payoutModule }});
const store = new Vuex.Store({ modules: { payoutModule } });
describe('HeldHistoryAllStatsTable', (): void => {
it('renders correctly with actual values', async (): Promise<void> => {

View File

@ -1,10 +1,11 @@
// Copyright (C) 2020 Storj Labs, Inc.
// See LICENSE for copying information.
import HeldHistoryAllStatsTableItemSmall from '@/app/components/payments/HeldHistoryAllStatsTableItemSmall.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import HeldHistoryAllStatsTableItemSmall from '@/app/components/payments/HeldHistoryAllStatsTableItemSmall.vue';
const localVue = createLocalVue();

View File

@ -2,13 +2,13 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import HeldHistoryArea from '@/app/components/payments/HeldHistoryArea.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { newPayoutModule } from '@/app/store/modules/payout';
import { PayoutHttpApi } from '@/storagenode/api/payout';
import { PayoutService } from '@/storagenode/payouts/service';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import HeldHistoryArea from '@/app/components/payments/HeldHistoryArea.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -17,7 +17,7 @@ const payoutApi = new PayoutHttpApi();
const payoutService = new PayoutService(payoutApi);
const payoutModule = newPayoutModule(payoutService);
const store = new Vuex.Store({ modules: { payoutModule }});
const store = new Vuex.Store({ modules: { payoutModule } });
describe('HeldHistoryArea', (): void => {
it('renders correctly', (): void => {

View File

@ -2,14 +2,14 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import HeldHistoryMonthlyBreakdownTable from '@/app/components/payments/HeldHistoryMonthlyBreakdownTable.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { newPayoutModule, PAYOUT_MUTATIONS } from '@/app/store/modules/payout';
import { PayoutHttpApi } from '@/storagenode/api/payout';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
import { PayoutService } from '@/storagenode/payouts/service';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import HeldHistoryMonthlyBreakdownTable from '@/app/components/payments/HeldHistoryMonthlyBreakdownTable.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -22,7 +22,7 @@ const payoutApi = new PayoutHttpApi();
const payoutService = new PayoutService(payoutApi);
const payoutModule = newPayoutModule(payoutService);
const store = new Vuex.Store({ modules: { payoutModule }});
const store = new Vuex.Store({ modules: { payoutModule } });
describe('HeldHistoryMonthlyBreakdownTable', (): void => {
it('renders correctly with actual values', async (): Promise<void> => {

View File

@ -1,10 +1,11 @@
// Copyright (C) 2020 Storj Labs, Inc.
// See LICENSE for copying information.
import HeldHistoryMonthlyBreakdownTableItemSmall from '@/app/components/payments/HeldHistoryMonthlyBreakdownTableItemSmall.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { SatelliteHeldHistory } from '@/storagenode/payouts/payouts';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import HeldHistoryMonthlyBreakdownTableItemSmall from '@/app/components/payments/HeldHistoryMonthlyBreakdownTableItemSmall.vue';
const localVue = createLocalVue();

View File

@ -4,8 +4,7 @@
import { VNode } from 'vue';
import { DirectiveBinding } from 'vue/types/options';
import Vuex from 'vuex';
import PayoutHistoryPeriodDropdown from '@/app/components/payments/PayoutHistoryPeriodDropdown.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { appStateModule } from '@/app/store/modules/appState';
import { newNodeModule, NODE_MUTATIONS } from '@/app/store/modules/node';
@ -15,7 +14,8 @@ import { StorageNodeApi } from '@/storagenode/api/storagenode';
import { PayoutService } from '@/storagenode/payouts/service';
import { StorageNodeService } from '@/storagenode/sno/service';
import { Satellites } from '@/storagenode/sno/sno';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import PayoutHistoryPeriodDropdown from '@/app/components/payments/PayoutHistoryPeriodDropdown.vue';
let clickOutsideEvent: EventListener;
@ -48,7 +48,7 @@ const nodeApi = new StorageNodeApi();
const nodeService = new StorageNodeService(nodeApi);
const nodeModule = newNodeModule(nodeService);
const store = new Vuex.Store({ modules: { payoutModule, node: nodeModule, appStateModule }});
const store = new Vuex.Store({ modules: { payoutModule, node: nodeModule, appStateModule } });
describe('PayoutHistoryPeriodDropdown', (): void => {
it('renders correctly with actual values', async (): Promise<void> => {

View File

@ -2,14 +2,14 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import PayoutHistoryTable from '@/app/components/payments/PayoutHistoryTable.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { newPayoutModule, PAYOUT_MUTATIONS } from '@/app/store/modules/payout';
import { PayoutHttpApi } from '@/storagenode/api/payout';
import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
import { PayoutService } from '@/storagenode/payouts/service';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import PayoutHistoryTable from '@/app/components/payments/PayoutHistoryTable.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -22,7 +22,7 @@ const payoutApi = new PayoutHttpApi();
const payoutService = new PayoutService(payoutApi);
const payoutModule = newPayoutModule(payoutService);
const store = new Vuex.Store({ modules: { payoutModule }});
const store = new Vuex.Store({ modules: { payoutModule } });
describe('PayoutHistoryTable', (): void => {
it('renders correctly with actual values', async (): Promise<void> => {

View File

@ -2,14 +2,14 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import PayoutHistoryTableItem from '@/app/components/payments/PayoutHistoryTableItem.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { newPayoutModule } from '@/app/store/modules/payout';
import { PayoutHttpApi } from '@/storagenode/api/payout';
import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
import { PayoutService } from '@/storagenode/payouts/service';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import PayoutHistoryTableItem from '@/app/components/payments/PayoutHistoryTableItem.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -22,7 +22,7 @@ const payoutApi = new PayoutHttpApi();
const payoutService = new PayoutService(payoutApi);
const payoutModule = newPayoutModule(payoutService);
const store = new Vuex.Store({ modules: { payoutModule }});
const store = new Vuex.Store({ modules: { payoutModule } });
describe('PayoutHistoryTableItem', (): void => {
it('renders correctly with actual values (eth)', async (): Promise<void> => {

View File

@ -2,8 +2,7 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import PayoutPeriodCalendar from '@/app/components/payments/PayoutPeriodCalendar.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { appStateModule } from '@/app/store/modules/appState';
import { newNodeModule, NODE_MUTATIONS } from '@/app/store/modules/node';
@ -14,7 +13,8 @@ import { PayoutPeriod } from '@/storagenode/payouts/payouts';
import { PayoutService } from '@/storagenode/payouts/service';
import { StorageNodeService } from '@/storagenode/sno/service';
import { Satellites } from '@/storagenode/sno/sno';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import PayoutPeriodCalendar from '@/app/components/payments/PayoutPeriodCalendar.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -30,7 +30,7 @@ const payoutApi = new PayoutHttpApi();
const payoutService = new PayoutService(payoutApi);
const payoutModule = newPayoutModule(payoutService);
const store = new Vuex.Store({ modules: { payoutModule, appStateModule, node: nodeModule }});
const store = new Vuex.Store({ modules: { payoutModule, appStateModule, node: nodeModule } });
const _Date: DateConstructor = Date;
let wrapper;

View File

@ -1,44 +1,42 @@
// Copyright (C) 2022 Storj Labs, Inc.
// See LICENSE for copying information.
import {SatellitePayoutForPeriod} from '@/storagenode/payouts/payouts';
import { SatellitePayoutForPeriod } from '@/storagenode/payouts/payouts';
describe('SatellitePayoutForPeriod', (): void => {
it('ETH transactionLink', (): void => {
const s = new SatellitePayoutForPeriod()
s.receipt = "eth:0xCAFE"
const s = new SatellitePayoutForPeriod();
s.receipt = 'eth:0xCAFE';
expect(s.transactionLink).toMatch("https://etherscan.io/tx/0xCAFE")
expect(s.transactionLink).toMatch('https://etherscan.io/tx/0xCAFE');
});
it('ZkSync transactionLink', (): void => {
const s = new SatellitePayoutForPeriod()
s.receipt = "zksync:0xCAFE"
const s = new SatellitePayoutForPeriod();
s.receipt = 'zksync:0xCAFE';
expect(s.transactionLink).toMatch("https://zkscan.io/explorer/transactions/0xCAFE")
expect(s.transactionLink).toMatch('https://zkscan.io/explorer/transactions/0xCAFE');
});
it('ZkSync transactionLink without 0x', (): void => {
const s = new SatellitePayoutForPeriod()
s.receipt = "zksync:CAFE"
const s = new SatellitePayoutForPeriod();
s.receipt = 'zksync:CAFE';
expect(s.transactionLink).toMatch("https://zkscan.io/explorer/transactions/0xCAFE")
expect(s.transactionLink).toMatch('https://zkscan.io/explorer/transactions/0xCAFE');
});
it('ZkSync transactionLink to L1', (): void => {
const s = new SatellitePayoutForPeriod()
s.receipt = "zkwithdraw:0xCAFE"
const s = new SatellitePayoutForPeriod();
s.receipt = 'zkwithdraw:0xCAFE';
expect(s.transactionLink).toMatch("https://zkscan.io/explorer/transactions/0xCAFE")
expect(s.transactionLink).toMatch('https://zkscan.io/explorer/transactions/0xCAFE');
});
it('polygon transactionLink', (): void => {
const s = new SatellitePayoutForPeriod()
s.receipt = "polygon:0xCAFE"
const s = new SatellitePayoutForPeriod();
s.receipt = 'polygon:0xCAFE';
expect(s.transactionLink).toMatch("https://polygonscan.com/tx/0xCAFE")
expect(s.transactionLink).toMatch('https://polygonscan.com/tx/0xCAFE');
});
});

View File

@ -2,8 +2,7 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import TotalHeldArea from '@/app/components/payments/TotalHeldArea.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { newNodeModule, NODE_MUTATIONS } from '@/app/store/modules/node';
import { newPayoutModule, PAYOUT_MUTATIONS } from '@/app/store/modules/payout';
@ -13,7 +12,8 @@ import { Paystub, TotalPayments } from '@/storagenode/payouts/payouts';
import { PayoutService } from '@/storagenode/payouts/service';
import { StorageNodeService } from '@/storagenode/sno/service';
import { Satellite, SatelliteScores, Stamp } from '@/storagenode/sno/sno';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import TotalHeldArea from '@/app/components/payments/TotalHeldArea.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -29,7 +29,7 @@ const nodeApi = new StorageNodeApi();
const nodeService = new StorageNodeService(nodeApi);
const nodeModule = newNodeModule(nodeService);
const store = new Vuex.Store({ modules: { payoutModule, node: nodeModule }});
const store = new Vuex.Store({ modules: { payoutModule, node: nodeModule } });
describe('TotalHeldArea', (): void => {
it('renders correctly', (): void => {

View File

@ -2,14 +2,14 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import TotalPayoutArea from '@/app/components/TotalPayoutArea.vue';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import { newPayoutModule, PAYOUT_MUTATIONS } from '@/app/store/modules/payout';
import { PayoutHttpApi } from '@/storagenode/api/payout';
import { Paystub, TotalPayments } from '@/storagenode/payouts/payouts';
import { PayoutService } from '@/storagenode/payouts/service';
import { createLocalVue, shallowMount } from '@vue/test-utils';
import TotalPayoutArea from '@/app/components/TotalPayoutArea.vue';
const localVue = createLocalVue();
localVue.use(Vuex);
@ -22,7 +22,7 @@ const payoutApi = new PayoutHttpApi();
const payoutService = new PayoutService(payoutApi);
const payoutModule = newPayoutModule(payoutService);
const store = new Vuex.Store({ modules: { payoutModule }});
const store = new Vuex.Store({ modules: { payoutModule } });
describe('TotalPayoutArea', (): void => {
it('renders correctly', (): void => {

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,6 +2,7 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import { createLocalVue } from '@vue/test-utils';
import { newNodeModule, NODE_ACTIONS, NODE_MUTATIONS, StatusOnline } from '@/app/store/modules/node';
import { StorageNodeApi } from '@/storagenode/api/storagenode';
@ -19,7 +20,6 @@ import {
SatelliteScores,
Stamp, Traffic,
} from '@/storagenode/sno/sno';
import { createLocalVue } from '@vue/test-utils';
const Vue = createLocalVue();

View File

@ -2,6 +2,7 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import { createLocalVue } from '@vue/test-utils';
import { newNotificationsModule, NOTIFICATIONS_ACTIONS, NOTIFICATIONS_MUTATIONS } from '@/app/store/modules/notifications';
import { NotificationsState, UINotification } from '@/app/types/notifications';
@ -13,7 +14,6 @@ import {
NotificationTypes,
} from '@/storagenode/notifications/notifications';
import { NotificationsService } from '@/storagenode/notifications/service';
import { createLocalVue } from '@vue/test-utils';
const Vue = createLocalVue();

View File

@ -2,6 +2,7 @@
// See LICENSE for copying information.
import Vuex from 'vuex';
import { createLocalVue } from '@vue/test-utils';
import { newNodeModule } from '@/app/store/modules/node';
import { newPayoutModule, PAYOUT_ACTIONS, PAYOUT_MUTATIONS } from '@/app/store/modules/payout';
@ -21,7 +22,6 @@ import {
} from '@/storagenode/payouts/payouts';
import { PayoutService } from '@/storagenode/payouts/service';
import { StorageNodeService } from '@/storagenode/sno/service';
import { createLocalVue } from '@vue/test-utils';
const Vue = createLocalVue();
const payoutApi = new PayoutHttpApi();

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')