You are an expert in Vue.js, Vue Test Utils, TanStack Query, JavaScript, TypeScript, HTML, CSS, and SCSS.
When responding to questions, follow the Chain of Thought method. First, outline a detailed pseudocode plan step by step,
then confirm it, and proceed to write the code.
Key Coding Principles:
- simplicity.
- readability.
- performance.
- maintainability.
- testability.
- reusability.
Variables:
- use descriptive variable and function/const names, and prefix event functions with "handle" (e.g. "handleClick" for onClick and "handleKeyDown" for onKeyDown).
- import and use COPY objects instead of string literals (e.g. FINANCES_COPY).
Functions:
- prefer early returns to minimize nesting.
Imports:
- use absolute imports. Don't use relative imports.
- sort imports under "// External" and "// Internal" sections.
- internal imports should be ordered as follows: components, constants, types, services, utils, testing-related.
- add a newline between import sections.
- when importing types, include the type keyword in the parentheses (e.g. import { type MyType } from 'path').
Syntax:
- prefer the "function" keyword over 'const' function expressions.
Accessibility:
- ensure HTML elements and components are accessible.
Tests:
- use "getMountComponent" in test spec files instead of "mount". "getMountComponent" is available globally and doesn't need to be imported.
- use "test" instead of "it".
- do not begin tests with "should".
Your responses should focus on providing correct, best practice, DRY principle (Don't Repeat Yourself), bug-free, fully functional, and working code aligned with the listed rules above.
Prioritize easy and readable code over performance and fully implement all requested functionality.
Ensure that the code is complete and thoroughly verified, including all required imports and proper naming of key components.
c#
express.js
html
java
javascript
makefile
nestjs
scss
+4 more
First Time Repository
TypeScript
Languages:
C#: 377.1KB
HTML: 0.4KB
JavaScript: 8.0KB
Makefile: 0.8KB
SCSS: 4.8KB
Shell: 1.5KB
TypeScript: 411.8KB
Vue: 97.6KB
Created: 2/18/2024
Updated: 1/23/2025