From 5af506e543425da6e3f59c0464075c391965ebbb Mon Sep 17 00:00:00 2001 From: Jean-Denis VIDOT Date: Thu, 8 Aug 2024 14:02:56 +0200 Subject: [PATCH 01/11] :heavy_plus_sign: chore(package): add jest dev dependencies --- bun.lockb | Bin 16564 -> 125194 bytes package.json | 3 +++ 2 files changed, 3 insertions(+) diff --git a/bun.lockb b/bun.lockb index b22a0a99f04b2ab8cd571bf2275e51f898a17ecf..ac61114fa5fbf0a05cafd51ae7ca8a7c20fb1d8c 100755 GIT binary patch literal 125194 zcmeFacU+F&{|A0Iq?Ae;D($3QN@!2*y@&SRJ1PydBt=78k<3C#h0u~T6p9wvqp6Uh z@;k?UpZELvzJKp=$M2ut{l-_`&O3l;Nm4-Lcp z`~YQ#Kt&o*&I`;_1M~$5^Fh9zVs73cI1ldtH?i;_oH!Z&JRbprU=y6f+yQ#~dxznI z#KJ-%fu1DLgF5%fakz~Ds{um$hgacnYyitael0**3LI`7z{-#_+SMn0gw*hI2FDg z4KT(H^2`K3L*4x&+(U3UpU}Vn8DPiLJs>nPz!m4_?h@_^^8TUV1Ej4$gaPm(fl=tM zIB*{3X#ny9oT10z*a2<=^`JdZzd#pfzfc@AA%7k?58G=D8VRb#YXXFRo&*S7i%0D= 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

1wJ_0t{oc>E*LNgt3X&Pkl@ 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 OoO4`jnEn5U|NB2$RKwQ* delta 3825 zcmcIndr*|u6~Fg`h5cAp&=mz-zGCZ8MJB=bQ%*Ar^@(>4`$S&wkC|4HZ@L6`#az6=a|-M`cE!% z_U!MTbI54_s4X+_It!xMVeMaX_%#?g&ukEP6J=B?+l_PSpi zSIo4L$+j#S6ZqHU5DI;cVl0@3uQA~D-c|MG%Ngqd9tpg{S6e|^wVbgy;688@_|Y(5 z_(=D~!cLJ|%)NGk9HjgU9xh>ZYo&{wi;cw=Pib_uqzs3WXm-KzwIp zXyJYEp}-~K`IihK#~Z=P;D)G>{z7mH*cKh)>A*vP-vOqCy1*&WYnUhgJ7Z}57vKR} z_-%&lP@+Ko(-4enj7o2+XnL8g|7R45)XdfOY zZp9>sMHXl3v8YLhTvJ>A-u&r`PA-rxAtC1~7^5#XHmh&|IJh(L2&%xCB%v4#m$@M`Irg zF&`~>fM}Mh$tx2yRC@c(>S} zRK%J1GO0){z(F8yM$wC`p93QM$PDPMFbeq|1R`(njjRiB#%2RC(L2JS27$<%Dq5yH z)OW%tO7L`t`V~+vWZ1&R4kh0t?ky`+Hkw3!VxjV9lUNHDH$>!@VGA)tkLLbO4g79@nA z#wn07Aaa}rBK>p_4dOIEo&d(fob)Duh))F3AWr&|Ss*0Hq*)B&B(M{}coZi?Ss)4! zH$yXw)2g{C`)a)dKmp$_A*!-%V-%ugYeAqs0HawBi;2M`Gb= zmlDCmj?->oTx}MHGcLuzM9CSq*a!Ib85fThC*Ld;p6ARWcaMwXcI+t?32V$^0LUb= z_m+wefZE=4DP|^=vu@GYXcpCHT}mtyZvkdBnMM3LmokirS*P6M9N_UCF2%w`#W}ZV zUuzbBf;66q;h(sLv)L?OJn7=2#QvUAaRVrMpG!$(BK?G0y!<@;oNy_lndk$YyUr}` zKkwqn;s@(W#a*B`*141vCRW1G&h>EfiAzaiBI&$aEDD&#y7Mk&EEC57jX|@pU2rMm znOJ)PsRHI+bSV>=*l^J;JS}GNM6-)e5?h*)>jva{u~sbo+-UG)cjLt6%cI0COQc!< zb=GH#Xg0=!gNf%NSg&+#{``I3)p;p_iw}}Ay5g>XrG!2@FWuy(x#3H4DwD}OS^TL0 z-6GntL=X+abjXQDgJ?_wkq%veWDt$XAi{X3wVO+F8;CevkQ5Nf>GIJW9nVw{&C$i9 zIW~pidBu2d3X@Mec^X|LO+wyjrS5@NOa+l;vJ?%XrFdDj>q~D9{YcZ}L=P4{cKBh| z-Wgg3!7k5H0$7Y#hE&YE%Y#3F&pDhln1ZbkJB(8i*b-N--5g zSf9T|mM{+59?FOoQ%00C)r+zs&lV6lphze)ny1VtLy8_7`XEcnh$5wR6c}YmSy09l z7-g9XqAE~eR1svmR1?r7y%EHz3{(y(17$(kk%3eYWkQ^)Kp9aLs2Uj{It0XT(Jo_* znZ~5$aXx+q0WyqegL=DSCL6y3K^*o+DMZJ9_NX&vy~?)Jxm^Kv1B2ckeZO4lnx6YYMkx2GtENjFL;S*4hA!GZ3s=eB|)9*iM7Omth7c z0nM%KfX4joz&KIC?3mj(C(juXsqkN72Iu5KU;I?o;T?&`j*Nic>7nc%5z%x+gv!8g z&;!4E&%K0iy)fsW+i6E~u@-rUG~!F}RqvZWty;41Qo(z(!>PlJ-lFfW&F=OMR&IkN zTv)wHulVV>$BIp{PDp4&VeJd~ zVb7t;+hb(eFJLR%B>w=Or?>RK{pjVU?JN7d3SaNEW0$5fz4_N$aY%9yZ;su0#3Vod zK5VQv$rBYk!Q`11I_W!cRZ`k{kt}QHQ%BPajN2V-b>@D|8;5>_qj;nlJ&z{4)jLXKu+$p=S z^07u={c2lfIo1s8;Z}L)Di?C%K0Z&rdYP+3E6RQ4HI>y>wvgGA`}i{1`4_%#h`*uU zTeHHp##`0kk&6cS#2A{Xvz6EQy)rPs$Es`U%foQT057p Date: Thu, 8 Aug 2024 14:03:38 +0200 Subject: [PATCH 02/11] :wrench: chore(jest): add default config --- jest.config.ts | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 jest.config.ts diff --git a/jest.config.ts b/jest.config.ts new file mode 100644 index 0000000..f95b01e --- /dev/null +++ b/jest.config.ts @@ -0,0 +1,54 @@ +/** + * For a detailed explanation regarding each configuration property, visit: + * https://jestjs.io/docs/configuration + */ + +import type { Config } from 'jest' + +const config: Config = { + preset: 'ts-jest', + + // Automatically clear mock calls, instances, contexts and results before every test + clearMocks: true, + + // Indicates whether the coverage information should be collected while executing the test + collectCoverage: false, + + // The directory where Jest should output its coverage files + coverageDirectory: 'coverage', + + // An array of glob patterns indicating a set of files for which coverage information should be collected + collectCoverageFrom: ['**/*.ts', '!jest.config.ts'], + + // An array of regexp pattern strings used to skip coverage collection + coveragePathIgnorePatterns: ['/node_modules/', '/coverage/', '/dist/'], + + // Indicates which provider should be used to instrument code for coverage + coverageProvider: 'babel', + + // A list of reporter names that Jest uses when writing coverage reports + coverageReporters: ['json', 'text', 'lcov', 'clover'], + + // An object that configures minimum threshold enforcement for coverage results + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, + + // Make calling deprecated APIs throw helpful error messages + errorOnDeprecated: true, + + // An array of directory names to be searched recursively up from the requiring module's location + moduleDirectories: ['node_modules'], + + // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module + moduleNameMapper: { + '^@/(.*)$': '/src/$1', + }, +} + +export default config From e913a5887456379b587e3a5884aa410ed4998244 Mon Sep 17 00:00:00 2001 From: Jean-Denis VIDOT Date: Thu, 8 Aug 2024 14:05:37 +0200 Subject: [PATCH 03/11] :heavy_plus_sign: chore(package): add jest dev dependencies --- bun.lockb | Bin 125194 -> 130865 bytes package.json | 1 + 2 files changed, 1 insertion(+) diff --git a/bun.lockb b/bun.lockb index ac61114fa5fbf0a05cafd51ae7ca8a7c20fb1d8c..39da5ae4b2d8c7ba19669cc186266d54f57dd23b 100755 GIT binary patch delta 28785 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 delta 25338 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 diff --git a/package.json b/package.json index 6008541..01f0b2c 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "jest": "^29.7.0", "rimraf": "^6.0.1", "ts-jest": "^29.2.4", + "ts-node": "^10.9.2", "typescript": "^5.5.4" } } From ffe72c6b7a2cfc3b15d5cbdd821eea602e5903dd Mon Sep 17 00:00:00 2001 From: Jean-Denis VIDOT Date: Thu, 8 Aug 2024 14:19:39 +0200 Subject: [PATCH 04/11] :rocket: chore(sample): add a sample test code --- src/add.test.ts | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/add.test.ts diff --git a/src/add.test.ts b/src/add.test.ts new file mode 100644 index 0000000..e298e31 --- /dev/null +++ b/src/add.test.ts @@ -0,0 +1,7 @@ +import { add } from '@/add.ts' + +describe('add', () => { + it('should add two numbers', () => { + expect(add(1, 2)).toBe(3) + }) +}) From 0a65a7feb0db6f4277bf47d18a973c7b3fca9bba Mon Sep 17 00:00:00 2001 From: Jean-Denis VIDOT Date: Thu, 8 Aug 2024 14:20:19 +0200 Subject: [PATCH 05/11] :hammer: chore(package): add test script --- package.json | 3 ++- tsconfig.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 01f0b2c..fdda76f 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "main": "src/add.ts", "scripts": { "prebuild": "rimraf build", - "build": "bun build src/add.ts --outdir ./build" + "build": "bun build src/add.ts --outdir ./build", + "test": "jest" }, "devDependencies": { "@types/bun": "^1.1.6", diff --git a/tsconfig.json b/tsconfig.json index 4d4bc96..2e0b2e9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -14,7 +14,7 @@ "moduleDetection": "force", "moduleResolution": "bundler", "allowImportingTsExtensions": true, - "verbatimModuleSyntax": true, + "esModuleInterop": true, "noEmit": true, "strict": true, "skipLibCheck": true, From 669fb75de6cb6f10d45805667040447231818ff7 Mon Sep 17 00:00:00 2001 From: Jean-Denis VIDOT Date: Thu, 8 Aug 2024 14:20:37 +0200 Subject: [PATCH 06/11] :hammer: chore(package): add test:watch script --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index fdda76f..22ae3f0 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ "scripts": { "prebuild": "rimraf build", "build": "bun build src/add.ts --outdir ./build", - "test": "jest" + "test": "jest", + "test:watch": "jest --watch" }, "devDependencies": { "@types/bun": "^1.1.6", From 3d2f746293eb93e4e6623bb1f1c2afeada074883 Mon Sep 17 00:00:00 2001 From: Jean-Denis VIDOT Date: Thu, 8 Aug 2024 14:21:08 +0200 Subject: [PATCH 07/11] :hammer: chore(package): add test:coverage script --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 22ae3f0..f5296da 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,8 @@ "prebuild": "rimraf build", "build": "bun build src/add.ts --outdir ./build", "test": "jest", - "test:watch": "jest --watch" + "test:watch": "jest --watch", + "test:coverage": "jest --coverage" }, "devDependencies": { "@types/bun": "^1.1.6", From 826b6eb2bb024c8e884fbc46b97a7341732d5adf Mon Sep 17 00:00:00 2001 From: Jean-Denis VIDOT Date: Thu, 8 Aug 2024 14:21:32 +0200 Subject: [PATCH 08/11] :hammer: chore(package): add test:coverage:watch script --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index f5296da..9b89991 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,8 @@ "build": "bun build src/add.ts --outdir ./build", "test": "jest", "test:watch": "jest --watch", - "test:coverage": "jest --coverage" + "test:coverage": "jest --coverage", + "test:coverage:watch": "jest --coverage --watch" }, "devDependencies": { "@types/bun": "^1.1.6", From 1f8b9251b62c8e140cc6b6d65015a9c372e8f496 Mon Sep 17 00:00:00 2001 From: Jean-Denis VIDOT Date: Thu, 8 Aug 2024 14:21:53 +0200 Subject: [PATCH 09/11] :see_no_evil: chore(git): ignore coverage folder --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 42d43cc..5c8c55e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /.idea /node_modules /build +/coverage From b6aec93d982b07bbe9880fdb16d0f353db0bbb88 Mon Sep 17 00:00:00 2001 From: Jean-Denis VIDOT Date: Thu, 8 Aug 2024 14:22:44 +0200 Subject: [PATCH 10/11] :construction_worker: ci(tests): add tests workflow --- .github/workflows/tests.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..619431a --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,27 @@ +name: Tests + +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: ~ + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js and Bun + uses: oven-sh/setup-bun@v2 + + - name: Install dependencies + run: bun install + + - name: Run tests + run: bun run test From 437c5bf9079005cf454759df891dcd6b8d982a74 Mon Sep 17 00:00:00 2001 From: Jean-Denis VIDOT Date: Thu, 8 Aug 2024 14:23:47 +0200 Subject: [PATCH 11/11] :memo: docs(readme): add tests workflow status badge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f322d1b..0949753 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Template Node [![Build Workflow](https://github.com/jdevelop-io/template-node/actions/workflows/build.yml/badge.svg)](https://github.com/jdevelop-io/template-node/actions/workflows/build.yml) +[![Tests Workflow](https://github.com/jdevelop-io/template-node/actions/workflows/tests.yml/badge.svg)](https://github.com/jdevelop-io/template-node/actions/workflows/tests.yml) [![License](https://img.shields.io/github/license/jdevelop-io/template-node)](/LICENSE) [![WakaTime](https://wakatime.com/badge/user/b5dd94a4-c0ea-4c12-9cb2-41f984e74fdc/project/e774c158-4cbd-4a4e-a265-1c08e6e84c3d.svg)](https://wakatime.com/badge/user/b5dd94a4-c0ea-4c12-9cb2-41f984e74fdc/project/e774c158-4cbd-4a4e-a265-1c08e6e84c3d)