thinkinglabs/toggl-google-sheet
46.5
Weak · 21 September 2026
410
lines of production code
JavaScript
primary language
4
measurements over time
What this system is
This system is a Google Apps Script application that generates timesheets by fetching time entries from the Toggl API and rendering them into a Google Sheet. It employs a modular architecture with dedicated components for data retrieval, modeling, and sheet operations. The project utilizes a modernized build pipeline with Babel and Webpack for JavaScript transpilation and Jest for testing.
Features
Initial implementation of the Timesheet Generator application
The application is introduced with a new architecture that fetches time entries from the Toggl API, aggregates them by day and client, and renders the resulting timesheet into a Google Sheet. Key components include \FetchTimesheet\ for data retrieval, \Timesheet\ and \TimesheetDayEntry\ for data modeling, and \GoogleSpreadsheetAdapter\ for sheet operations. The entry point \App.js\ wires these components together, while \Code.js\ provides the Google Sheets menu trigger. Comprehensive Jest test suites are added for all modules, including \Dates\, \Strings\, \TogglRepository\, and the renderer.
src · high confidence
Behavioural changes
Modernize build pipeline with Babel, Webpack, and Jest
The project now uses Babel and Webpack to transpile ES6+ code to ES5, enabling the use of modern JavaScript features while maintaining compatibility with Google Apps Script. A new Webpack configuration and Babel preset are introduced to handle the build process. Additionally, the test suite has been migrated from QUnit to Jest, providing a more robust testing environment.
(repo-wide) · high confidence
Dependencies
Update project dependencies and lockfile
The project's dependency graph has been updated, introducing a new package-lock.json and upgrading several dev dependencies including Babel, Webpack, Jest, and Clasp. These updates ensure the project uses the latest stable versions of its build and testing tools.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 51 → 47 (-4.6)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 69 → 67 (-1.2)
- Architecture 69 → 69 (+0.0)
- Maturity 45 → 47 (+2.1)
- Readiness 44 → 33 (-10.8)
- Security 75 → 80 (+5.0)
Resolved (39)
- Coverage not included — suite not readable by the collector
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- …and 19 more
New (43)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (the committed lockfile is in a format this engine cannot resolve)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- …and 23 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
thinkinglabs/toggl-google-sheet was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 2e4e7a5ee5484e13bcfcb69648ebe56f2c64e602 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.