diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index d8260a20..f871587c 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -1,38 +1,12 @@ # CLIENT TODO (J.F.C. - Just fucking code it already) + Success is the ability to go from failure to failure without loss of enthusiasm - Winston Churchill + "A smooth sea never made a skilled sailor" Franklin D. Roosevelt NEXT TODOS: - - -### RETEST ALL DEVICES WHEN GET TO HERE ##### -TO TEST: - - above changes block - - - - -TODO: LINTER ISSUES - - On manual format of document with .vue extension the html template part shows multiple errors by linter - - invoke the task vue-cli-service lint seems to fix the issues - - Formatting the document ctrl-shift-i again reverses the fixes and seems to break it again - - By break I mean these kinds of errors: Insert `·/` { - "resource": "/c:/data/code/raven-client/ayanova/src/views/inventory-widget-edit.vue", - "owner": "eslint", - "code": "prettier/prettier", - "severity": 4, - "message": "Insert `·/`", - "source": "eslint", - "startLineNumber": 143, - "startColumn": 16, - "endLineNumber": 143, - "endColumn": 16 -} - - - TODO: LOGIN navigate back to prior request when it triggers a login? - Or would this cause a loop at times and fuck shit up? @@ -88,16 +62,16 @@ TODO: Grid / LIST VIEW = I know customers will want to control what shows in the TODO: Outstanding case with vuetify bug in clear button when readonly, check if fixed and if it isn't might need a workaround -DON'T code the user options with the currency symbol etc until after it's all been worked out client side. Use static values instad in locale. +TODO: code the user options with the currency symbol etc on the server and then update client to fetch them. Use static values instad in locale. Locale should fetch those settings the first time it sees they are not present so that they are refreshed upon use and are not stored in localstorage (or should they be? anyway, can work that out later) -Other fields that are locale dependent -DateTime field next - +### RETEST ALL DEVICES WHEN GET TO HERE ##### +TO TEST: + - above changes block FIXES REQUIRED diff --git a/ayanova/devdocs/tools.txt b/ayanova/devdocs/tools.txt index 4818efbf..f9fd7d75 100644 --- a/ayanova/devdocs/tools.txt +++ b/ayanova/devdocs/tools.txt @@ -6,4 +6,202 @@ run vue ui from project folder (or maybe anywhere not sure) Dialogs and toasts etc: https://www.npmjs.com/package/vuetify-dialog -Tested on phone, iPad, MSEDGE worked ok, probably fine, easy to use fuck it throwing it in \ No newline at end of file +Tested on phone, iPad, MSEDGE worked ok, probably fine, easy to use fuck it throwing it in + + + + +LINTER ISSUES +=-=-=-=-=-=-=- +After an update I suddenly had a conflict between the linting in formatting document and the vue cli compiler: +.... +TODO: LINTER ISSUES + - On manual format of document with .vue extension the html template part shows multiple errors by linter + - invoke the task vue-cli-service lint seems to fix the issues + - Formatting the document ctrl-shift-i again reverses the fixes and seems to break it again + - By break I mean these kinds of errors: Insert `·/` { + "resource": "/c:/data/code/raven-client/ayanova/src/views/inventory-widget-edit.vue", + "owner": "eslint", + "code": "prettier/prettier", + "severity": 4, + "message": "Insert `·/`", + "source": "eslint", + "startLineNumber": 143, + "startColumn": 16, + "endLineNumber": 143, + "endColumn": 16 +} +.... + +I fucked with it a lot and surprisingly dont' think I've broken anything but the whole issue resolved (I think) when I changed the vetur setting: +from "js-beautify-html" or maybe it was "prettyhtml" to this: +"vetur.format.defaultFormatter.html": "prettier", + +WORKING linter settings that keep both eslint and veture in sync even when formatting document: +settings.json: +{ + "git.ignoreMissingGitWarning": true, + //"editor.minimap.enabled": false, + "editor.codeLens": false, + "editor.fontSize": 16, + "window.zoomLevel": 0, + "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe", + "extensions.ignoreRecommendations": false, + "editor.minimap.enabled": false, + "files.eol": "\n", + "LineCount.excludes": [ + "**/.vscode/**", + "**/node_modules/**", + "**/obj/**", + "**/bin/**", + "**/ayanovadocker/files/**", + "**/devdocs/**", + "**/wwwroot/docs/**", + "**/docs/**", + "**/grafana/**", + "**/resource/**" + ], + "LineCount.output": { + "txt": true, + "json": false, + "csv": false, + "md": false, + "outdir": "linecounts" + }, + "LineCount.comment": [ + { + "ext": ["c", "cpp", "cs"], + "separator": { + "linecomment": "//", + "linetol": false, + "blockstart": "/*", + "blockend": "*/", + "blocktol": false, + "string": { + "doublequotes": true, + "singlequotes": true + } + } + } + ], + "workbench.startupEditor": "newUntitledFile", + "vetur.format.defaultFormatter.html": "prettier", + "eslint.validate": [ + "javascript", + "javascriptreact", + { + "language": "vue", + "autoFix": true + } + ], + "javascript.updateImportsOnFileMove.enabled": "always", + "workbench.colorTheme": "Visual Studio Light", + "workbench.iconTheme": "material-icon-theme", + "editor.lineNumbers": "off", + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[vue]": {}, + "eslint.alwaysShowStatus": true, + "vetur.validation.template": false, + "vetur.format.enable": true, + "editor.formatOnSave": true +} + + +package.json with eslint settings: +{ + "name": "ayanova", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint", + "test:e2e": "vue-cli-service test:e2e", + "test:unit": "vue-cli-service test:unit", + "myLint": "npm run lint" + }, + "dependencies": { + "@babel/polyfill": "^7.4.4", + "dayjs": "^1.8.14", + "jwt-decode": "^2.2.0", + "nprogress": "^0.2.0", + "register-service-worker": "^1.6.2", + "typeface-roboto": "0.0.54", + "vue": "^2.6.10", + "vue-router": "^3.0.6", + "vuetify": "^1.5.14", + "vuetify-dialog": "^0.3.6", + "vuex": "^3.1.1", + "vuex-persistedstate": "^2.5.4" + }, + "devDependencies": { + "@cypress/webpack-preprocessor": "^3.0.0", + "@fortawesome/fontawesome-free": "^5.8.2", + "@vue/cli-plugin-babel": "^3.8.0", + "@vue/cli-plugin-e2e-cypress": "^3.8.0", + "@vue/cli-plugin-eslint": "^3.8.0", + "@vue/cli-plugin-pwa": "^3.8.0", + "@vue/cli-plugin-unit-jest": "^3.8.0", + "@vue/cli-service": "^3.8.0", + "@vue/eslint-config-prettier": "^4.0.1", + "@vue/test-utils": "^1.0.0-beta.29", + "babel-core": "7.0.0-bridge.0", + "babel-eslint": "^10.0.1", + "babel-jest": "^23.6.0", + "eslint": "^5.16.0", + "eslint-plugin-vue": "^5.2.2", + "node-sass": "^4.12.0", + "sass-loader": "^7.0.1", + "vue-cli-plugin-vuetify": "^0.4.6", + "vue-template-compiler": "^2.6.10" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/essential", + "@vue/prettier" + ], + "rules": {}, + "parserOptions": { + "parser": "babel-eslint" + } + }, + "postcss": { + "plugins": { + "autoprefixer": {} + } + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not ie <= 10" + ], + "jest": { + "moduleFileExtensions": [ + "js", + "jsx", + "json", + "vue" + ], + "transform": { + "^.+\\.vue$": "vue-jest", + ".+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$": "jest-transform-stub", + "^.+\\.jsx?$": "babel-jest" + }, + "moduleNameMapper": { + "^@/(.*)$": "/src/$1" + }, + "snapshotSerializers": [ + "jest-serializer-vue" + ], + "testMatch": [ + "**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)" + ], + "testURL": "http://localhost/" + } +}