diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..5eee74e --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,57 @@ +# AGENTS.md + +This file provides instructions for AI agents working with this codebase. + +## Project Overview + +This is a Vue.js 3 application that functions as a matrix calculator. The core logic is handled by the `mathjs` library. The application is a single-page application (SPA) and does not have a backend. + +## Tech Stack + +- **Vue.js 3:** The frontend framework. +- **Composition API:** Used for component logic. +- **Tailwind CSS:** For styling. +- **`mathjs`:** For matrix calculations. + +## Folder Structure + +- `src/`: Contains the application source code. +- `src/assets/`: Static assets like CSS and images. +- `src/components/`: Vue components. +- `src/composables/`: Reusable logic, such as matrix operations. +- `public/`: Public assets. + +## Development + +1. **Install Dependencies:** + ```bash + npm install + ``` + +2. **Run the Development Server:** + ```bash + npm run serve + ``` + +## Linting + +To check for code quality and style issues, run the linter: + +```bash +npm run lint +``` + +## Key Files + +- `src/App.vue`: The main application component. +- `src/components/MatrixInput.vue`: The primary UI component for matrix input and displaying results. +- `src/components/OperationButtons.vue`: The component that contains the buttons for performing matrix operations. +- `src/composables/useMatrixOperations.js`: The core logic for all matrix calculations resides in this file. + +## Coding Conventions + +- Follow standard Vue.js and JavaScript best practices. +- Use the Composition API for all new components. +- Separate business logic from UI components by using composables. +- Ensure that all new features have proper error handling. +- Keep the UI clean and user-friendly. diff --git a/package-lock.json b/package-lock.json index 051e633..ab70c34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -97,7 +97,6 @@ "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", @@ -3048,7 +3047,6 @@ "integrity": "sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-compilation-targets": "^7.12.16", "@soda/friendly-errors-webpack-plugin": "^1.8.0", @@ -3682,7 +3680,6 @@ "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -3739,7 +3736,6 @@ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -4272,7 +4268,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001733", "electron-to-chromium": "^1.5.199", @@ -5025,7 +5020,6 @@ "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", @@ -5114,7 +5108,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -5953,7 +5946,6 @@ "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.4.3", @@ -6140,7 +6132,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -8787,7 +8778,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -9724,7 +9714,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -12324,7 +12313,6 @@ "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.36.tgz", "integrity": "sha512-mIFvbLgjODfx3Iy1SrxOsiPpDb8Bo3EU+87ioimOZzZTOp15IEdAels70IjBOLO3ZFlLW5AhdwY4dWbXVQKYow==", "license": "MIT", - "peer": true, "dependencies": { "@vue/compiler-dom": "3.4.36", "@vue/compiler-sfc": "3.4.36", @@ -12615,7 +12603,6 @@ "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", @@ -12753,7 +12740,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -12871,7 +12857,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", diff --git a/server.log b/server.log index 693e35e..8ec7c6f 100644 --- a/server.log +++ b/server.log @@ -92,37 +92,36 @@ [10%] building (0/0 modules) [10%] building (import loader babel-loader/lib/index.js) [10%] building (0/1 modules) -[24%] building (1/4 modules) +[24%] building (1/6 modules) [24%] building (import loader vue-loader/dist/index.js) -[24%] building (3/17 modules) +[24%] building (3/16 modules) [24%] building (import loader vue-style-loader/index.js) [24%] building (import loader css-loader/dist/cjs.js) [24%] building (import loader postcss-loader/dist/cjs.js) -[24%] building (3/18 modules) +[24%] building (7/19 modules) [24%] building (import loader vue-loader/dist/pitcher.js) -[24%] building (7/29 modules) +[24%] building (7/27 modules) [24%] building (import loader vue-loader/dist/templateLoader.js) -[24%] building (7/29 modules) -[24%] building (22/68 modules) +[24%] building (7/27 modules) +[24%] building (26/74 modules) [24%] building (import loader vue-loader/dist/stylePostLoader.js) -[24%] building (29/93 modules) -[38%] building (32/93 modules) +[24%] building (29/75 modules) +[38%] building (32/94 modules) [@vue/compiler-sfc] `defineProps` is a compiler macro and no longer needs to be imported. [@vue/compiler-sfc] `defineEmits` is a compiler macro and no longer needs to be imported. [38%] building (100/152 modules) -[51%] building (113/152 modules) -[51%] building (154/183 modules) -[51%] building (164/849 modules) -[51%] building (180/877 modules) -[51%] building (197/890 modules) -[51%] building (220/913 modules) -[51%] building (226/1157 modules) -[51%] building (254/1157 modules) -[51%] building (266/1157 modules) -[51%] building (700/1160 modules) -[51%] building (1000/1183 modules) +[51%] building (114/152 modules) +[51%] building (153/183 modules) +[51%] building (165/850 modules) +[51%] building (180/878 modules) +[51%] building (198/1135 modules) +[51%] building (225/1157 modules) +[51%] building (236/1157 modules) +[51%] building (268/1157 modules) +[51%] building (700/1169 modules) +[51%] building (900/1174 modules) [65%] building (1213/1213 modules) [65%] building [69%] building (finish) @@ -205,12 +204,12 @@ onPlugin) [94%] sealing (after seal) [95%] emitting (emit) [98%] emitting (after emit) -Build finished at 10:02:28 by 0.000s -Build finished at 10:02:28 by 0.000s -Build finished at 10:02:28 by 0.000s - DONE Compiled successfully in 17406ms10:02:28 AM +Build finished at 09:57:44 by 0.000s +Build finished at 09:57:44 by 0.000s +Build finished at 09:57:44 by 0.000s + DONE Compiled successfully in 16144ms9:57:44 AM -Build finished at 10:02:29 by 0.000s +Build finished at 09:57:45 by 0.000s  App running at: - Local: http://localhost:8080/ @@ -219,14 +218,14 @@ Build finished at 10:02:29 by 0.000s Note that the development build is not optimized. To create a production build, run npm run build. -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s +Build finished at 09:57:45 by 0.000s +Build finished at 09:57:45 by 0.000s +Build finished at 09:57:45 by 0.000s +Build finished at 09:57:45 by 0.000s +Build finished at 09:57:45 by 0.000s +Build finished at 09:57:45 by 0.000s +Build finished at 09:57:45 by 0.000s +Build finished at 09:57:45 by 0.000s  [1%] cache (end idle) [3%] setup (watch run) @@ -316,12 +315,12 @@ Build finished at 10:02:29 by 0.000s [9%] setup (compilation) [10%] building [10%] building (0/0 modules) -[24%] building (1/3 modules) -[38%] building (20/8 modules) +[24%] building (1/4 modules) +[38%] building (33/8 modules) [38%] building (import loader css-loader/dist/cjs.js) [38%] building (import loader postcss-loader/dist/cjs.js) -[38%] building (44/11 modules) -[51%] building (148/18 modules) +[38%] building (61/11 modules) +[51%] building (148/15 modules) [65%] building (1213/31 modules) [65%] building [69%] building (finish) @@ -404,653 +403,23 @@ onPlugin) [94%] sealing (after seal) [95%] emitting (emit) [98%] emitting (after emit) -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s - DONE Compiled successfully in 278ms10:02:29 AM - -Build finished at 10:02:29 by 0.000s - - App running at: - - Local: http://localhost:8080/ - - Network: http://192.168.0.2:8080/ - -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s -Build finished at 10:02:29 by 0.000s - WAIT Compiling...10:04:34 AM - -Compiling... - -[1%] cache (end idle) -[3%] setup (watch run) -[3%] setup (watch run vue-loader-plugin) -[3%] setup (watch run ESLintWebpackPlugin_1) -[3%] setup (watch run webpack-dev-middleware) -[3%] setup (watch run) -[4%] setup (normal module factory) -[4%] setup (normal module factory CaseSensitivePathsPlugin) -[4%] setup (normal module factory) -[5%] setup (context module factory) -[6%] setup (before compile) -[6%] setup (before compile ProgressPlugin) -[6%] setup (before compile) -[7%] setup (compile) -[7%] setup (compile ExternalsPlugin) -[7%] setup (compile) -[8%] setup (compilation) -[8%] setup (compilation CopyPlugin) -[8%] setup (compilation ArrayPushCallbackChunkFormatPlugin) -[8%] setup (compilation JsonpChunkLoadingPlugin) -[8%] setup (compilation StartupChunkDependenciesPlugin) -[8%] setup (compilation ImportScriptsChunkLoadingPlugin) -[8%] setup (compilation FetchCompileWasmPlugin) -[8%] setup (compilation FetchCompileAsyncWasmPlugin) -[8%] setup (compilation WorkerPlugin) -[8%] setup (compilation SplitChunksPlugin) -[8%] setup (compilation ResolverCachePlugin) -[8%] setup (compilation HtmlWebpackPlugin) -[8%] setup (compilation) -[9%] setup (compilation) -[9%] setup (compilation vue-loader-plugin) -[9%] setup (compilation DefinePlugin) -[9%] setup (compilation ProgressPlugin) -[9%] setup (compilation EntryPlugin) -[9%] setup (compilation ChunkPrefetchPreloadPlugin) -[9%] setup (compilation ModuleInfoHeaderPlugin) -[9%] setup (compilation EvalSourceMapDevToolPlugin) -[9%] setup (compilation JavascriptModulesPlugin) -[9%] setup (compilation JsonModulesPlugin) -[9%] setup (compilation AssetModulesPlugin) -[9%] setup (compilation EntryPlugin) -[9%] setup (compilation RuntimePlugin) -[9%] setup (compilation InferAsyncModulesPlugin) -[9%] setup (compilation DataUriPlugin) -[9%] setup (compilation FileUriPlugin) -[9%] setup (compilation CompatibilityPlugin) -[9%] setup (compilation HarmonyModulesPlugin) -[9%] setup (compilation AMDPlugin) -[9%] setup (compilation RequireJsStuffPlugin) -[9%] setup (compilation CommonJsPlugin) -[9%] setup (compilation LoaderPlugin) -[9%] setup (compilation NodeStuffPlugin) -[9%] setup (compilation APIPlugin) -[9%] setup (compilation ExportsInfoApiPlugin) -[9%] setup (compilation WebpackIsIncludedPlugin) -[9%] setup (compilation ConstPlugin) -[9%] setup (compilation UseStrictPlugin) -[9%] setup (compilation RequireIncludePlugin) -[9%] setup (compilation RequireEnsurePlugin) -[9%] setup (compilation RequireContextPlugin) -[9%] setup (compilation ImportPlugin) -[9%] setup (compilation ImportMetaContextPlugin) -[9%] setup (compilation SystemPlugin) -[9%] setup (compilation ImportMetaPlugin) -[9%] setup (compilation URLPlugin) -[9%] setup (compilation DefaultStatsFactoryPlugin) -[9%] setup (compilation DefaultStatsPresetPlugin) -[9%] setup (compilation DefaultStatsPrinterPlugin) -[9%] setup (compilation JavascriptMetaInfoPlugin) -[9%] setup (compilation EnsureChunkConditionsPlugin) -[9%] setup (compilation RemoveEmptyChunksPlugin) -[9%] setup (compilation MergeDuplicateChunksPlugin) -[9%] setup (compilation SideEffectsFlagPlugin) -[9%] setup (compilation FlagDependencyExportsPlugin) -[9%] setup (compilation NamedModuleIdsPlugin) -[9%] setup (compilation NamedChunkIdsPlugin) -[9%] setup (compilation DefinePlugin) -[9%] setup (compilation TemplatedPathPlugin) -[9%] setup (compilation RecordIdsPlugin) -[9%] setup (compilation WarnCaseSensitiveModulesPlugin) -[9%] setup (compilation EntryPlugin) -[9%] setup (compilation ProvidePlugin) -[9%] setup (compilation HotModuleReplacementPlugin) -[9%] setup (compilation ProgressPlugin) -[9%] setup (compilation ESLintWebpackPlugin_1) -[9%] setup (compilation) -[10%] building -[10%] building (0/0 modules) -[24%] building (1/4 modules) -[24%] building (import loader css-loader/dist/cjs.js) -[24%] building (import loader postcss-loader/dist/cjs.js) -[24%] building (26/11 modules) -[38%] building (37/11 modules) -[51%] building (137/11 modules) -[51%] building (import loader vue-loader/dist/index.js) -[51%] building (148/12 modules) -[51%] building (import loader babel-loader/lib/index.js) -[51%] building (import loader vue-loader/dist/templateLoader.js) -[51%] building (148/19 modules) -[51%] building (import loader vue-loader/dist/stylePostLoader.js) -[51%] building (148/20 modules) -[65%] building (1213/34 modules) -[65%] building -[69%] building (finish) -[70%] sealing (finish module graph) -[70%] sealing (finish module graph ResolverCachePlugin) -[70%] sealing (finish module graph InferAsyncModulesPlugin) -[70%] sealing (finish module graph FlagDependencyExportsPlugin) -[70%] sealing (finish module graph ESLintWebpackPlugin_1) -[70%] sealing (finish module graph) -[71%] sealing (plugins) -[71%] sealing (plugins WarnCaseSensitiveModulesPlugin) -[71%] sealing (plugins) -[71%] sealing (dependencies optimization) -[71%] sealing (dependencies optimization SideEffectsFlagPlugin) -[71%] sealing (dependencies optimization) -[72%] sealing (after dependencies optimization) -[73%] sealing (chunk graph) -[73%] sealing (after chunk graph) -[74%] sealing (optimizing) -[74%] sealing (module optimization) -[75%] sealing (after module optimization) -[76%] sealing (chunk optimization) -[76%] sealing (chunk optimization EnsureChunkConditionsPlugin) -[76%] sealing (chunk optimization RemoveEmptyChunksPlugin) -[76%] sealing (chunk optimization MergeDuplicateChunksPlugin) -[76%] sealing (chunk optimization SplitChunksPlugin) -[76%] sealing (chunk optimization RemoveEmptyChunksPlugin) -[76%] sealing (chunk optimization) -[76%] sealing (after chunk optimization) -[77%] sealing (module and chunk tree optimization) -[77%] sealing (module and chunk tree optimization PersistentChildCompilerSinglet -onPlugin) -[77%] sealing (module and chunk tree optimization) -[78%] sealing (after module and chunk tree optimization) -[78%] sealing (chunk modules optimization) -[79%] sealing (after chunk modules optimization) -[80%] sealing (module reviving) -[80%] sealing (module reviving RecordIdsPlugin) -[80%] sealing (module reviving) -[80%] sealing (before module ids) -[81%] sealing (module ids) -[81%] sealing (module ids NamedModuleIdsPlugin) -[81%] sealing (module ids) -[82%] sealing (module id optimization) -[82%] sealing (module id optimization) -[83%] sealing (chunk reviving) -[83%] sealing (chunk reviving RecordIdsPlugin) -[83%] sealing (chunk reviving) -[83%] sealing (before chunk ids) -[84%] sealing (chunk ids) -[84%] sealing (chunk ids NamedChunkIdsPlugin) -[84%] sealing (chunk ids) -[85%] sealing (chunk id optimization) -[85%] sealing (after chunk id optimization) -[86%] sealing (record modules) -[86%] sealing (record modules RecordIdsPlugin) -[86%] sealing (record modules) -[87%] sealing (record chunks) -[87%] sealing (record chunks RecordIdsPlugin) -[87%] sealing (record chunks) -[87%] sealing (module hashing) -[88%] sealing (code generation) -[89%] sealing (runtime requirements) -[89%] sealing (hashing) -[90%] sealing (after hashing) -[91%] sealing (record hash) -[91%] sealing (module assets processing) -[92%] sealing (chunk assets processing) -[92%] sealing (asset processing) -[92%] sealing (asset processing copy-webpack-plugin) -[92%] sealing (asset processing HotModuleReplacementPlugin) -[92%] sealing (asset processing ESLintWebpackPlugin_1) -[92%] sealing (asset processing PersistentChildCompilerSingletonPlugin) -[92%] sealing (asset processing HtmlWebpackPlugin) -[92%] sealing (asset processing) -[93%] sealing (after asset optimization) -[94%] sealing (recording) -[94%] sealing (recording HotModuleReplacementPlugin) -[94%] sealing (recording) -[94%] sealing (after seal) -[95%] emitting (emit) -[98%] emitting (after emit) -Build finished at 10:04:35 by 0.000s -Build finished at 10:04:35 by 0.000s -Build finished at 10:04:35 by 0.000s - ERROR Failed to compile with 1 error10:04:35 AM - -[eslint] -/app/src/components/MatrixInput.vue - 174:11 error 'savedMatrix' is assigned a value but never used no-unused-vars - -✖ 1 problem (1 error, 0 warnings) - - -You may use special comments to disable some warnings. -Use // eslint-disable-next-line to ignore the next line. -Use /* eslint-disable */ to ignore all warnings in a file. -Build finished at 10:04:35 by 0.000s -Build finished at 10:04:35 by 0.000s -Build finished at 10:04:35 by 0.000s -Build finished at 10:04:35 by 0.000s -Build finished at 10:04:35 by 0.000s -Build finished at 10:04:35 by 0.000s -Build finished at 10:04:35 by 0.000s -Build finished at 10:04:35 by 0.000s -Build finished at 10:04:35 by 0.000s -ERROR in [eslint] -/app/src/components/MatrixInput.vue - 174:11 error 'savedMatrix' is assigned a value but never used no-unused-vars - -✖ 1 problem (1 error, 0 warnings) - -webpack compiled with 1 error - WAIT Compiling...10:04:43 AM - -Compiling... - -[1%] cache (end idle) -[3%] setup (watch run) -[3%] setup (watch run vue-loader-plugin) -[3%] setup (watch run ESLintWebpackPlugin_1) -[3%] setup (watch run webpack-dev-middleware) -[3%] setup (watch run) -[4%] setup (normal module factory) -[4%] setup (normal module factory CaseSensitivePathsPlugin) -[4%] setup (normal module factory) -[5%] setup (context module factory) -[6%] setup (before compile) -[6%] setup (before compile ProgressPlugin) -[6%] setup (before compile) -[7%] setup (compile) -[7%] setup (compile ExternalsPlugin) -[7%] setup (compile) -[8%] setup (compilation) -[8%] setup (compilation CopyPlugin) -[8%] setup (compilation ArrayPushCallbackChunkFormatPlugin) -[8%] setup (compilation JsonpChunkLoadingPlugin) -[8%] setup (compilation StartupChunkDependenciesPlugin) -[8%] setup (compilation ImportScriptsChunkLoadingPlugin) -[8%] setup (compilation FetchCompileWasmPlugin) -[8%] setup (compilation FetchCompileAsyncWasmPlugin) -[8%] setup (compilation WorkerPlugin) -[8%] setup (compilation SplitChunksPlugin) -[8%] setup (compilation ResolverCachePlugin) -[8%] setup (compilation HtmlWebpackPlugin) -[8%] setup (compilation) -[9%] setup (compilation) -[9%] setup (compilation vue-loader-plugin) -[9%] setup (compilation DefinePlugin) -[9%] setup (compilation ProgressPlugin) -[9%] setup (compilation EntryPlugin) -[9%] setup (compilation ChunkPrefetchPreloadPlugin) -[9%] setup (compilation ModuleInfoHeaderPlugin) -[9%] setup (compilation EvalSourceMapDevToolPlugin) -[9%] setup (compilation JavascriptModulesPlugin) -[9%] setup (compilation JsonModulesPlugin) -[9%] setup (compilation AssetModulesPlugin) -[9%] setup (compilation EntryPlugin) -[9%] setup (compilation RuntimePlugin) -[9%] setup (compilation InferAsyncModulesPlugin) -[9%] setup (compilation DataUriPlugin) -[9%] setup (compilation FileUriPlugin) -[9%] setup (compilation CompatibilityPlugin) -[9%] setup (compilation HarmonyModulesPlugin) -[9%] setup (compilation AMDPlugin) -[9%] setup (compilation RequireJsStuffPlugin) -[9%] setup (compilation CommonJsPlugin) -[9%] setup (compilation LoaderPlugin) -[9%] setup (compilation NodeStuffPlugin) -[9%] setup (compilation APIPlugin) -[9%] setup (compilation ExportsInfoApiPlugin) -[9%] setup (compilation WebpackIsIncludedPlugin) -[9%] setup (compilation ConstPlugin) -[9%] setup (compilation UseStrictPlugin) -[9%] setup (compilation RequireIncludePlugin) -[9%] setup (compilation RequireEnsurePlugin) -[9%] setup (compilation RequireContextPlugin) -[9%] setup (compilation ImportPlugin) -[9%] setup (compilation ImportMetaContextPlugin) -[9%] setup (compilation SystemPlugin) -[9%] setup (compilation ImportMetaPlugin) -[9%] setup (compilation URLPlugin) -[9%] setup (compilation DefaultStatsFactoryPlugin) -[9%] setup (compilation DefaultStatsPresetPlugin) -[9%] setup (compilation DefaultStatsPrinterPlugin) -[9%] setup (compilation JavascriptMetaInfoPlugin) -[9%] setup (compilation EnsureChunkConditionsPlugin) -[9%] setup (compilation RemoveEmptyChunksPlugin) -[9%] setup (compilation MergeDuplicateChunksPlugin) -[9%] setup (compilation SideEffectsFlagPlugin) -[9%] setup (compilation FlagDependencyExportsPlugin) -[9%] setup (compilation NamedModuleIdsPlugin) -[9%] setup (compilation NamedChunkIdsPlugin) -[9%] setup (compilation DefinePlugin) -[9%] setup (compilation TemplatedPathPlugin) -[9%] setup (compilation RecordIdsPlugin) -[9%] setup (compilation WarnCaseSensitiveModulesPlugin) -[9%] setup (compilation EntryPlugin) -[9%] setup (compilation ProvidePlugin) -[9%] setup (compilation HotModuleReplacementPlugin) -[9%] setup (compilation ProgressPlugin) -[9%] setup (compilation ESLintWebpackPlugin_1) -[9%] setup (compilation) -[10%] building -[10%] building (0/0 modules) -[24%] building (7/5 modules) -[38%] building (34/8 modules) -[38%] building (import loader css-loader/dist/cjs.js) -[38%] building (import loader postcss-loader/dist/cjs.js) -[38%] building (61/11 modules) -[51%] building (148/11 modules) -[51%] building (import loader vue-loader/dist/index.js) -[51%] building (148/12 modules) -[51%] building (import loader babel-loader/lib/index.js) -[51%] building (import loader vue-loader/dist/templateLoader.js) -[51%] building (148/19 modules) -[51%] building (import loader vue-loader/dist/stylePostLoader.js) -[51%] building (148/20 modules) -[65%] building (1213/34 modules) -[65%] building -[69%] building (finish) -[70%] sealing (finish module graph) -[70%] sealing (finish module graph ResolverCachePlugin) -[70%] sealing (finish module graph InferAsyncModulesPlugin) -[70%] sealing (finish module graph FlagDependencyExportsPlugin) -[70%] sealing (finish module graph ESLintWebpackPlugin_1) -[70%] sealing (finish module graph) -[71%] sealing (plugins) -[71%] sealing (plugins WarnCaseSensitiveModulesPlugin) -[71%] sealing (plugins) -[71%] sealing (dependencies optimization) -[71%] sealing (dependencies optimization SideEffectsFlagPlugin) -[71%] sealing (dependencies optimization) -[72%] sealing (after dependencies optimization) -[73%] sealing (chunk graph) -[73%] sealing (after chunk graph) -[74%] sealing (optimizing) -[74%] sealing (module optimization) -[75%] sealing (after module optimization) -[76%] sealing (chunk optimization) -[76%] sealing (chunk optimization EnsureChunkConditionsPlugin) -[76%] sealing (chunk optimization RemoveEmptyChunksPlugin) -[76%] sealing (chunk optimization MergeDuplicateChunksPlugin) -[76%] sealing (chunk optimization SplitChunksPlugin) -[76%] sealing (chunk optimization RemoveEmptyChunksPlugin) -[76%] sealing (chunk optimization) -[76%] sealing (after chunk optimization) -[77%] sealing (module and chunk tree optimization) -[77%] sealing (module and chunk tree optimization PersistentChildCompilerSinglet -onPlugin) -[77%] sealing (module and chunk tree optimization) -[78%] sealing (after module and chunk tree optimization) -[78%] sealing (chunk modules optimization) -[79%] sealing (after chunk modules optimization) -[80%] sealing (module reviving) -[80%] sealing (module reviving RecordIdsPlugin) -[80%] sealing (module reviving) -[80%] sealing (before module ids) -[81%] sealing (module ids) -[81%] sealing (module ids NamedModuleIdsPlugin) -[81%] sealing (module ids) -[82%] sealing (module id optimization) -[82%] sealing (module id optimization) -[83%] sealing (chunk reviving) -[83%] sealing (chunk reviving RecordIdsPlugin) -[83%] sealing (chunk reviving) -[83%] sealing (before chunk ids) -[84%] sealing (chunk ids) -[84%] sealing (chunk ids NamedChunkIdsPlugin) -[84%] sealing (chunk ids) -[85%] sealing (chunk id optimization) -[85%] sealing (after chunk id optimization) -[86%] sealing (record modules) -[86%] sealing (record modules RecordIdsPlugin) -[86%] sealing (record modules) -[87%] sealing (record chunks) -[87%] sealing (record chunks RecordIdsPlugin) -[87%] sealing (record chunks) -[87%] sealing (module hashing) -[88%] sealing (code generation) -[89%] sealing (runtime requirements) -[89%] sealing (hashing) -[90%] sealing (after hashing) -[91%] sealing (record hash) -[91%] sealing (module assets processing) -[92%] sealing (chunk assets processing) -[92%] sealing (asset processing) -[92%] sealing (asset processing copy-webpack-plugin) -[92%] sealing (asset processing HotModuleReplacementPlugin) -[92%] sealing (asset processing ESLintWebpackPlugin_1) -[92%] sealing (asset processing PersistentChildCompilerSingletonPlugin) -[92%] sealing (asset processing HtmlWebpackPlugin) -[92%] sealing (asset processing) -[93%] sealing (after asset optimization) -[94%] sealing (recording) -[94%] sealing (recording HotModuleReplacementPlugin) -[94%] sealing (recording) -[94%] sealing (after seal) -[95%] emitting (emit) -[98%] emitting (after emit) -Build finished at 10:04:44 by 0.000s -Build finished at 10:04:44 by 0.000s -Build finished at 10:04:44 by 0.000s - DONE Compiled successfully in 418ms10:04:44 AM - -Build finished at 10:04:44 by 0.000s - - App running at: - - Local: http://localhost:8080/ - - Network: http://192.168.0.2:8080/ - -Build finished at 10:04:44 by 0.000s -Build finished at 10:04:44 by 0.000s -Build finished at 10:04:44 by 0.000s -Build finished at 10:04:44 by 0.000s -Build finished at 10:04:44 by 0.000s -Build finished at 10:04:44 by 0.000s -Build finished at 10:04:44 by 0.000s -Build finished at 10:04:44 by 0.000s - WAIT Compiling...10:04:51 AM - -Compiling... - -[1%] cache (end idle) -[3%] setup (watch run) -[3%] setup (watch run vue-loader-plugin) -[3%] setup (watch run ESLintWebpackPlugin_1) -[3%] setup (watch run webpack-dev-middleware) -[3%] setup (watch run) -[4%] setup (normal module factory) -[4%] setup (normal module factory CaseSensitivePathsPlugin) -[4%] setup (normal module factory) -[5%] setup (context module factory) -[6%] setup (before compile) -[6%] setup (before compile ProgressPlugin) -[6%] setup (before compile) -[7%] setup (compile) -[7%] setup (compile ExternalsPlugin) -[7%] setup (compile) -[8%] setup (compilation) -[8%] setup (compilation CopyPlugin) -[8%] setup (compilation ArrayPushCallbackChunkFormatPlugin) -[8%] setup (compilation JsonpChunkLoadingPlugin) -[8%] setup (compilation StartupChunkDependenciesPlugin) -[8%] setup (compilation ImportScriptsChunkLoadingPlugin) -[8%] setup (compilation FetchCompileWasmPlugin) -[8%] setup (compilation FetchCompileAsyncWasmPlugin) -[8%] setup (compilation WorkerPlugin) -[8%] setup (compilation SplitChunksPlugin) -[8%] setup (compilation ResolverCachePlugin) -[8%] setup (compilation HtmlWebpackPlugin) -[8%] setup (compilation) -[9%] setup (compilation) -[9%] setup (compilation vue-loader-plugin) -[9%] setup (compilation DefinePlugin) -[9%] setup (compilation ProgressPlugin) -[9%] setup (compilation EntryPlugin) -[9%] setup (compilation ChunkPrefetchPreloadPlugin) -[9%] setup (compilation ModuleInfoHeaderPlugin) -[9%] setup (compilation EvalSourceMapDevToolPlugin) -[9%] setup (compilation JavascriptModulesPlugin) -[9%] setup (compilation JsonModulesPlugin) -[9%] setup (compilation AssetModulesPlugin) -[9%] setup (compilation EntryPlugin) -[9%] setup (compilation RuntimePlugin) -[9%] setup (compilation InferAsyncModulesPlugin) -[9%] setup (compilation DataUriPlugin) -[9%] setup (compilation FileUriPlugin) -[9%] setup (compilation CompatibilityPlugin) -[9%] setup (compilation HarmonyModulesPlugin) -[9%] setup (compilation AMDPlugin) -[9%] setup (compilation RequireJsStuffPlugin) -[9%] setup (compilation CommonJsPlugin) -[9%] setup (compilation LoaderPlugin) -[9%] setup (compilation NodeStuffPlugin) -[9%] setup (compilation APIPlugin) -[9%] setup (compilation ExportsInfoApiPlugin) -[9%] setup (compilation WebpackIsIncludedPlugin) -[9%] setup (compilation ConstPlugin) -[9%] setup (compilation UseStrictPlugin) -[9%] setup (compilation RequireIncludePlugin) -[9%] setup (compilation RequireEnsurePlugin) -[9%] setup (compilation RequireContextPlugin) -[9%] setup (compilation ImportPlugin) -[9%] setup (compilation ImportMetaContextPlugin) -[9%] setup (compilation SystemPlugin) -[9%] setup (compilation ImportMetaPlugin) -[9%] setup (compilation URLPlugin) -[9%] setup (compilation DefaultStatsFactoryPlugin) -[9%] setup (compilation DefaultStatsPresetPlugin) -[9%] setup (compilation DefaultStatsPrinterPlugin) -[9%] setup (compilation JavascriptMetaInfoPlugin) -[9%] setup (compilation EnsureChunkConditionsPlugin) -[9%] setup (compilation RemoveEmptyChunksPlugin) -[9%] setup (compilation MergeDuplicateChunksPlugin) -[9%] setup (compilation SideEffectsFlagPlugin) -[9%] setup (compilation FlagDependencyExportsPlugin) -[9%] setup (compilation NamedModuleIdsPlugin) -[9%] setup (compilation NamedChunkIdsPlugin) -[9%] setup (compilation DefinePlugin) -[9%] setup (compilation TemplatedPathPlugin) -[9%] setup (compilation RecordIdsPlugin) -[9%] setup (compilation WarnCaseSensitiveModulesPlugin) -[9%] setup (compilation EntryPlugin) -[9%] setup (compilation ProvidePlugin) -[9%] setup (compilation HotModuleReplacementPlugin) -[9%] setup (compilation ProgressPlugin) -[9%] setup (compilation ESLintWebpackPlugin_1) -[9%] setup (compilation) -[10%] building -[10%] building (0/0 modules) -[24%] building (1/6 modules) -[24%] building (import loader css-loader/dist/cjs.js) -[24%] building (import loader postcss-loader/dist/cjs.js) -[24%] building (20/11 modules) -[38%] building (43/11 modules) -[51%] building (148/11 modules) -[51%] building (import loader vue-loader/dist/index.js) -[51%] building (148/12 modules) -[51%] building (import loader babel-loader/lib/index.js) -[51%] building (import loader vue-loader/dist/templateLoader.js) -[51%] building (148/19 modules) -[51%] building (import loader vue-loader/dist/stylePostLoader.js) -[51%] building (148/20 modules) -[65%] building (1213/34 modules) -[65%] building -[69%] building (finish) -[70%] sealing (finish module graph) -[70%] sealing (finish module graph ResolverCachePlugin) -[70%] sealing (finish module graph InferAsyncModulesPlugin) -[70%] sealing (finish module graph FlagDependencyExportsPlugin) -[70%] sealing (finish module graph ESLintWebpackPlugin_1) -[70%] sealing (finish module graph) -[71%] sealing (plugins) -[71%] sealing (plugins WarnCaseSensitiveModulesPlugin) -[71%] sealing (plugins) -[71%] sealing (dependencies optimization) -[71%] sealing (dependencies optimization SideEffectsFlagPlugin) -[71%] sealing (dependencies optimization) -[72%] sealing (after dependencies optimization) -[73%] sealing (chunk graph) -[73%] sealing (after chunk graph) -[74%] sealing (optimizing) -[74%] sealing (module optimization) -[75%] sealing (after module optimization) -[76%] sealing (chunk optimization) -[76%] sealing (chunk optimization EnsureChunkConditionsPlugin) -[76%] sealing (chunk optimization RemoveEmptyChunksPlugin) -[76%] sealing (chunk optimization MergeDuplicateChunksPlugin) -[76%] sealing (chunk optimization SplitChunksPlugin) -[76%] sealing (chunk optimization RemoveEmptyChunksPlugin) -[76%] sealing (chunk optimization) -[76%] sealing (after chunk optimization) -[77%] sealing (module and chunk tree optimization) -[77%] sealing (module and chunk tree optimization PersistentChildCompilerSinglet -onPlugin) -[77%] sealing (module and chunk tree optimization) -[78%] sealing (after module and chunk tree optimization) -[78%] sealing (chunk modules optimization) -[79%] sealing (after chunk modules optimization) -[80%] sealing (module reviving) -[80%] sealing (module reviving RecordIdsPlugin) -[80%] sealing (module reviving) -[80%] sealing (before module ids) -[81%] sealing (module ids) -[81%] sealing (module ids NamedModuleIdsPlugin) -[81%] sealing (module ids) -[82%] sealing (module id optimization) -[82%] sealing (module id optimization) -[83%] sealing (chunk reviving) -[83%] sealing (chunk reviving RecordIdsPlugin) -[83%] sealing (chunk reviving) -[83%] sealing (before chunk ids) -[84%] sealing (chunk ids) -[84%] sealing (chunk ids NamedChunkIdsPlugin) -[84%] sealing (chunk ids) -[85%] sealing (chunk id optimization) -[85%] sealing (after chunk id optimization) -[86%] sealing (record modules) -[86%] sealing (record modules RecordIdsPlugin) -[86%] sealing (record modules) -[87%] sealing (record chunks) -[87%] sealing (record chunks RecordIdsPlugin) -[87%] sealing (record chunks) -[87%] sealing (module hashing) -[88%] sealing (code generation) -[89%] sealing (runtime requirements) -[89%] sealing (hashing) -[90%] sealing (after hashing) -[91%] sealing (record hash) -[91%] sealing (module assets processing) -[92%] sealing (chunk assets processing) -[92%] sealing (asset processing) -[92%] sealing (asset processing copy-webpack-plugin) -[92%] sealing (asset processing HotModuleReplacementPlugin) -[92%] sealing (asset processing ESLintWebpackPlugin_1) -[92%] sealing (asset processing PersistentChildCompilerSingletonPlugin) -[92%] sealing (asset processing HtmlWebpackPlugin) -[92%] sealing (asset processing) -[93%] sealing (after asset optimization) -[94%] sealing (recording) -[94%] sealing (recording HotModuleReplacementPlugin) -[94%] sealing (recording) -[94%] sealing (after seal) -[95%] emitting (emit) -[98%] emitting (after emit) -Build finished at 10:04:51 by 0.000s -Build finished at 10:04:51 by 0.000s -Build finished at 10:04:51 by 0.000s - DONE Compiled successfully in 382ms10:04:51 AM +Build finished at 09:57:46 by 0.000s +Build finished at 09:57:46 by 0.000s +Build finished at 09:57:46 by 0.000s + DONE Compiled successfully in 480ms9:57:46 AM -Build finished at 10:04:51 by 0.000s +Build finished at 09:57:46 by 0.000s  App running at: - Local: http://localhost:8080/ - Network: http://192.168.0.2:8080/ -Build finished at 10:04:51 by 0.000s -Build finished at 10:04:51 by 0.000s -Build finished at 10:04:51 by 0.000s -Build finished at 10:04:51 by 0.000s -Build finished at 10:04:51 by 0.000s -Build finished at 10:04:51 by 0.000s -Build finished at 10:04:51 by 0.000s -Build finished at 10:04:51 by 0.000s +Build finished at 09:57:46 by 0.000s +Build finished at 09:57:46 by 0.000s +Build finished at 09:57:46 by 0.000s +Build finished at 09:57:46 by 0.000s +Build finished at 09:57:46 by 0.000s +Build finished at 09:57:46 by 0.000s +Build finished at 09:57:46 by 0.000s +Build finished at 09:57:46 by 0.000s  \ No newline at end of file diff --git a/src/components/MatrixInput.vue b/src/components/MatrixInput.vue index 2173ca9..763c41d 100644 --- a/src/components/MatrixInput.vue +++ b/src/components/MatrixInput.vue @@ -92,6 +92,26 @@ + + +
+

+ Vector b +

+
+ + + + +
+ +
+
+
@@ -106,8 +126,20 @@ @solution="handleSolution" @eigenvalues="handleEigenvalues" @decomposition="handleDecomposition" + @error="handleError" /> + + +
@@ -166,7 +198,7 @@ \ No newline at end of file + diff --git a/src/components/OperationButtons.vue b/src/components/OperationButtons.vue index 8cb7770..2db7cdc 100644 --- a/src/components/OperationButtons.vue +++ b/src/components/OperationButtons.vue @@ -27,6 +27,9 @@ +
@@ -59,7 +62,8 @@ const emit = defineEmits([ 'operation-result', 'solution', 'eigenvalues', - 'decomposition' + 'decomposition', + 'error' ]) const { @@ -70,7 +74,8 @@ const { solveLinearEquations, calculateEigenvalues, luDecomposition, - qrDecomposition + qrDecomposition, + invertMatrix } = useMatrixOperations(props, emit) diff --git a/src/composables/useMatrixOperations.js b/src/composables/useMatrixOperations.js index f2852a2..03fbeb9 100644 --- a/src/composables/useMatrixOperations.js +++ b/src/composables/useMatrixOperations.js @@ -6,7 +6,7 @@ export function useMatrixOperations(props, emit) { const det = math.det(props.matrixA) emit('determinant', det) } catch (error) { - console.error('Error calculating determinant:', error) + emit('error', error.message) } } @@ -15,7 +15,7 @@ export function useMatrixOperations(props, emit) { const result = math.add(props.matrixA, props.matrixB) emit('operation-result', result) } catch (error) { - console.error('Error adding matrices:', error) + emit('error', error.message) } } @@ -24,7 +24,7 @@ export function useMatrixOperations(props, emit) { const result = math.subtract(props.matrixA, props.matrixB) emit('operation-result', result) } catch (error) { - console.error('Error subtracting matrices:', error) + emit('error', error.message) } } @@ -33,7 +33,7 @@ export function useMatrixOperations(props, emit) { const result = math.multiply(props.matrixA, props.matrixB) emit('operation-result', result) } catch (error) { - console.error('Error multiplying matrices:', error) + emit('error', error.message) } } @@ -43,7 +43,7 @@ export function useMatrixOperations(props, emit) { const solution = math.lusolve(props.matrixA, b).toArray().flat() emit('solution', solution) } catch (error) { - console.error('Error solving equations:', error) + emit('error', error.message) } } @@ -56,7 +56,7 @@ export function useMatrixOperations(props, emit) { ).join(', ') emit('eigenvalues', eigenvalues) } catch (error) { - console.error('Error calculating eigenvalues:', error) + emit('error', error.message) } } @@ -70,7 +70,7 @@ export function useMatrixOperations(props, emit) { } emit('decomposition', { type: 'lu', data: lu }) } catch (error) { - console.error('Error performing LU decomposition:', error) + emit('error', error.message) } } @@ -83,7 +83,16 @@ export function useMatrixOperations(props, emit) { } emit('decomposition', { type: 'qr', data: qr }) } catch (error) { - console.error('Error performing QR decomposition:', error) + emit('error', error.message) + } + } + + async function invertMatrix() { + try { + const result = math.inv(props.matrixA) + emit('operation-result', result) + } catch (error) { + emit('error', error.message) } } @@ -95,6 +104,7 @@ export function useMatrixOperations(props, emit) { solveLinearEquations, calculateEigenvalues, luDecomposition, - qrDecomposition + qrDecomposition, + invertMatrix } } \ No newline at end of file