From e357f8e1154c22007dcf3911c38876c9b8a676e6 Mon Sep 17 00:00:00 2001 From: DEV TIM Date: Sat, 29 Nov 2025 17:55:00 +0300 Subject: [PATCH] feat(budget-notes): Add new library for budget notes with AddNoteToBudgetCommand and Handler --- angular.json | 1 + .../budgetting/notes/budget-notes/.babelrc | 3 ++ .../notes/budget-notes/.eslintrc.json | 18 ++++++++++++ .../budgetting/notes/budget-notes/README.md | 11 ++++++++ .../notes/budget-notes/jest.config.ts | 17 ++++++++++++ .../notes/budget-notes/project.json | 26 ++++++++++++++++++ .../notes/budget-notes/src/index.ts | 1 + .../src/lib/domain/add-note.command.ts | Bin 0 -> 356 bytes .../src/lib/domain/add-note.handler.ts | Bin 0 -> 3590 bytes .../budget-notes/src/lib/domain/test.txt | Bin 0 -> 30 bytes ...ures-budgetting-notes-budget-notes.spec.ts | 9 ++++++ .../features-budgetting-notes-budget-notes.ts | 3 ++ .../notes/budget-notes/tsconfig.json | 13 +++++++++ .../notes/budget-notes/tsconfig.lib.json | 11 ++++++++ .../notes/budget-notes/tsconfig.spec.json | 20 ++++++++++++++ tsconfig.base.json | 3 ++ 16 files changed, 136 insertions(+) create mode 100644 libs/features/budgetting/notes/budget-notes/.babelrc create mode 100644 libs/features/budgetting/notes/budget-notes/.eslintrc.json create mode 100644 libs/features/budgetting/notes/budget-notes/README.md create mode 100644 libs/features/budgetting/notes/budget-notes/jest.config.ts create mode 100644 libs/features/budgetting/notes/budget-notes/project.json create mode 100644 libs/features/budgetting/notes/budget-notes/src/index.ts create mode 100644 libs/features/budgetting/notes/budget-notes/src/lib/domain/add-note.command.ts create mode 100644 libs/features/budgetting/notes/budget-notes/src/lib/domain/add-note.handler.ts create mode 100644 libs/features/budgetting/notes/budget-notes/src/lib/domain/test.txt create mode 100644 libs/features/budgetting/notes/budget-notes/src/lib/features-budgetting-notes-budget-notes.spec.ts create mode 100644 libs/features/budgetting/notes/budget-notes/src/lib/features-budgetting-notes-budget-notes.ts create mode 100644 libs/features/budgetting/notes/budget-notes/tsconfig.json create mode 100644 libs/features/budgetting/notes/budget-notes/tsconfig.lib.json create mode 100644 libs/features/budgetting/notes/budget-notes/tsconfig.spec.json diff --git a/angular.json b/angular.json index 35e262c4..a6377d7b 100644 --- a/angular.json +++ b/angular.json @@ -33,6 +33,7 @@ "features-activities": "libs/features/activities", "features-budgetting-budget-explorer-burnchart": "libs/features/budgetting/budget-explorer-burnchart", "features-budgetting-budget-planning": "libs/features/budgetting/budget-planning", + "features-budgetting-notes-budget-notes": "libs/features/budgetting/notes/budget-notes", "features-finance-banking-activate-banking": "libs/features/finance/banking/activate-banking", "features-finance-banking-allocations": "libs/features/finance/banking/allocations", "features-finance-banking-main": "libs/features/finance/banking/main", diff --git a/libs/features/budgetting/notes/budget-notes/.babelrc b/libs/features/budgetting/notes/budget-notes/.babelrc new file mode 100644 index 00000000..cf7ddd99 --- /dev/null +++ b/libs/features/budgetting/notes/budget-notes/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": [["@nrwl/web/babel", { "useBuiltIns": "usage" }]] +} diff --git a/libs/features/budgetting/notes/budget-notes/.eslintrc.json b/libs/features/budgetting/notes/budget-notes/.eslintrc.json new file mode 100644 index 00000000..b3399565 --- /dev/null +++ b/libs/features/budgetting/notes/budget-notes/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "extends": ["../../../../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/libs/features/budgetting/notes/budget-notes/README.md b/libs/features/budgetting/notes/budget-notes/README.md new file mode 100644 index 00000000..a126d173 --- /dev/null +++ b/libs/features/budgetting/notes/budget-notes/README.md @@ -0,0 +1,11 @@ +# features-budgetting-notes-budget-notes + +This library was generated with [Nx](https://nx.dev). + +## Running unit tests + +Run `nx test features-budgetting-notes-budget-notes` to execute the unit tests via [Jest](https://jestjs.io). + +## Running lint + +Run `nx lint features-budgetting-notes-budget-notes` to execute the lint via [ESLint](https://eslint.org/). diff --git a/libs/features/budgetting/notes/budget-notes/jest.config.ts b/libs/features/budgetting/notes/budget-notes/jest.config.ts new file mode 100644 index 00000000..4193ecfc --- /dev/null +++ b/libs/features/budgetting/notes/budget-notes/jest.config.ts @@ -0,0 +1,17 @@ +/* eslint-disable */ +export default { + displayName: 'features-budgetting-notes-budget-notes', + preset: '../../../../../jest.preset.js', + globals: { + 'ts-jest': { + tsconfig: '/tsconfig.spec.json', + }, + }, + testEnvironment: 'node', + transform: { + '^.+\\.[tj]sx?$': 'ts-jest', + }, + moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], + coverageDirectory: + '../../../../../coverage/libs/features/budgetting/notes/budget-notes', +}; diff --git a/libs/features/budgetting/notes/budget-notes/project.json b/libs/features/budgetting/notes/budget-notes/project.json new file mode 100644 index 00000000..219f51cc --- /dev/null +++ b/libs/features/budgetting/notes/budget-notes/project.json @@ -0,0 +1,26 @@ +{ + "name": "features-budgetting-notes-budget-notes", + "$schema": "../../../../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/features/budgetting/notes/budget-notes/src", + "projectType": "library", + "targets": { + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": [ + "libs/features/budgetting/notes/budget-notes/**/*.ts" + ] + } + }, + "test": { + "executor": "@nrwl/jest:jest", + "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], + "options": { + "jestConfig": "libs/features/budgetting/notes/budget-notes/jest.config.ts", + "passWithNoTests": true + } + } + }, + "tags": [] +} diff --git a/libs/features/budgetting/notes/budget-notes/src/index.ts b/libs/features/budgetting/notes/budget-notes/src/index.ts new file mode 100644 index 00000000..f5191f52 --- /dev/null +++ b/libs/features/budgetting/notes/budget-notes/src/index.ts @@ -0,0 +1 @@ +export * from './lib/features-budgetting-notes-budget-notes'; diff --git a/libs/features/budgetting/notes/budget-notes/src/lib/domain/add-note.command.ts b/libs/features/budgetting/notes/budget-notes/src/lib/domain/add-note.command.ts new file mode 100644 index 0000000000000000000000000000000000000000..55d5f6dfa2970fff714393f87ec8830c5aa0c158 GIT binary patch literal 356 zcmbu5y$ZrG6ot<$_zoErd;&Lha&htn`V&f_rln26Qu^xZcUuPs7m*7$$vHP)4tYMj z?rK!4Rg_bvN{Kqk>7bmt;6-^|S&!;b3Qkcc&NnJiKyw6mDl&RC7TdAl~z zpr^c3;yOGJBcE?o8c@=YSI#(lw1rnfF0}iB72sNWOB?2$^?!&xSv;w~C0l-AOWsiv IDJQMzFG83;vj6}9 literal 0 HcmV?d00001 diff --git a/libs/features/budgetting/notes/budget-notes/src/lib/domain/add-note.handler.ts b/libs/features/budgetting/notes/budget-notes/src/lib/domain/add-note.handler.ts new file mode 100644 index 0000000000000000000000000000000000000000..40c21d9d17bdfaa392f691524028c34257787106 GIT binary patch literal 3590 zcmcJS+foxj5Qh7jrx>pis${vBgC*jD3n|OO2UtRa(Iikyf>6k-tN%BXac8p0MnP&S zB)iiy-Tn992Y&q=+So4b!YZ4ZvpaoW*_qa{-c7A|iZ=H3lux;&e!Qytr}4Xtf0^j&GqbbhE4=l)Hb1)pRG@*{8YP`{lt zI(-LUM%s7McWPhtt2dXz+M%9GJx4v<($nHTZUF_nDJ3z|UZtH4eQpwjI14V7m*ea@ z#BzJ@bfeSCb-&P?Q|Z5u-oErtJVMBg^^A3;$N!}vc_j;~xfdXLuTMntQ1S!6hh^YG z+$Q>PqNnGhg&4l~`p&#&{BL^rHyE_vx+@;#%-NTwhy@4}shLN%t6wR{@Obg`rpMu< zd_ocq^ljI!^)ytR_dR+6m7e@6J%Y|YXuoIQjEKN_7&Fy(Ww(hnNZ$%EunJ6$xzJUN z>P$G2rp0JH*O|zA{0&^;?=s1mx4TkAnl~-?5N6!UzZyF@0$vl{71&eA;|oQ-+v+d& zgiMdw5bbsz6ZlyB>b(8D1F2}Yv&}y|#SZdis@+P~ILo6`_}yURwdA_K)(|Z$=_raJ zHg(n5^0Dj~n5MRX)@q#DiS{8$g{rND6Ok7IGpb&wY|B}(r+wJFFN^UH-W-b;FDapq^KpW^EvbCq7GKorm#tbq9NLikkhHy3@4!X(|!9aj6J|ZU_#2 z&&<`l`=5-9RkoR-|E|AgP@PFR6VkZ1PZBu`oG`iZ$k3^Y>^j!8-%jHHS zY>TL+-C#XC+I8eMEwAu(56f$On3WEEFAIJATE9oWMuwS&%nGvwksfLaaH?6)e0Qjk zC>phNQ*zN;PO_%<#q*V_5Uax*y@A7(ZtY|9M<>HB2?|D(&3 { + it('should work', () => { + expect(featuresBudgettingNotesBudgetNotes()).toEqual( + 'features-budgetting-notes-budget-notes' + ); + }); +}); diff --git a/libs/features/budgetting/notes/budget-notes/src/lib/features-budgetting-notes-budget-notes.ts b/libs/features/budgetting/notes/budget-notes/src/lib/features-budgetting-notes-budget-notes.ts new file mode 100644 index 00000000..93f1d32a --- /dev/null +++ b/libs/features/budgetting/notes/budget-notes/src/lib/features-budgetting-notes-budget-notes.ts @@ -0,0 +1,3 @@ +export function featuresBudgettingNotesBudgetNotes(): string { + return 'features-budgetting-notes-budget-notes'; +} diff --git a/libs/features/budgetting/notes/budget-notes/tsconfig.json b/libs/features/budgetting/notes/budget-notes/tsconfig.json new file mode 100644 index 00000000..acb2f2f3 --- /dev/null +++ b/libs/features/budgetting/notes/budget-notes/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../../../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/libs/features/budgetting/notes/budget-notes/tsconfig.lib.json b/libs/features/budgetting/notes/budget-notes/tsconfig.lib.json new file mode 100644 index 00000000..fc46b914 --- /dev/null +++ b/libs/features/budgetting/notes/budget-notes/tsconfig.lib.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "commonjs", + "outDir": "../../../../../dist/out-tsc", + "declaration": true, + "types": ["node"] + }, + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "include": ["src/**/*.ts"] +} diff --git a/libs/features/budgetting/notes/budget-notes/tsconfig.spec.json b/libs/features/budgetting/notes/budget-notes/tsconfig.spec.json new file mode 100644 index 00000000..915013b6 --- /dev/null +++ b/libs/features/budgetting/notes/budget-notes/tsconfig.spec.json @@ -0,0 +1,20 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": [ + "jest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" + ] +} diff --git a/tsconfig.base.json b/tsconfig.base.json index 493eadcc..15c8e020 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -62,6 +62,9 @@ "@app/features/budgetting/budgets": [ "libs/features/budgetting/budgets/src/index.ts" ], + "@app/features/budgetting/notes/budget-notes": [ + "libs/features/budgetting/notes/budget-notes/src/index.ts" + ], "@app/features/dashboard/main": [ "libs/features/dashboard/main/src/index.ts" ],