zenorocha/clipboard.js
52.2
Adequate · 25 September 2026
283
lines of production code
JavaScript
primary language
4
measurements over time
What this system is
Features
Added new demo pages for ClipboardJS constructor and programmatic API
Added 12 new demo files in the demo directory, including constructor-node, constructor-nodelist, constructor-selector, function-target, function-text, target-div, target-input, target-input-number, target-programmatic-copy, target-programmatic-cut, target-textarea, and text-programmatic-copy. These demos illustrate various ways to instantiate the clipboard functionality, such as passing HTML elements, node lists, or CSS selectors to the constructor, using functions for dynamic text or target selection, and utilizing the new programmatic copy/cut methods.
demo · high confidence
Refactor to modular action classes and expose static copy/cut methods
The library has been refactored to separate copy and cut logic into distinct action classes, allowing for better code organization and programmatic usage. Users can now invoke copy or cut operations directly via the new static \Clipboard.copy()\ and \Clipboard.cut()\ methods, which return the copied text. The internal implementation now relies on a \command\ helper to execute browser commands and a \createFakeElement\ helper to handle text selection, improving cross-browser support and performance. Additionally, TypeScript definitions have been updated to reflect the new class structure and static methods.
src · high confidence
Behavioural changes
Automated pre-commit linting via Husky
The project now automatically runs lint-staged on staged files before each commit, ensuring code quality checks are enforced at the Git level. This is enabled by adding a Husky pre-commit hook that executes \npx --no-install lint-staged\, with a corresponding \.gitignore\ entry to keep the hook directory clean.
.husky · medium confidence
Project configuration and build tooling updates
The project introduces a comprehensive set of configuration files to standardize code style and build processes. A new Webpack configuration is added to handle the build, alongside a Babel configuration for ES5 compatibility. Additionally, ESLint and Prettier are configured to enforce code quality and formatting rules, while supporting files like .gitignore, .editorconfig, and contributing guidelines are updated or added to support the new development workflow.
(repo-wide) · high confidence
Refactored clipboard actions into isolated strategy modules
The copy and cut logic has been separated into dedicated modules (copy.js, cut.js) and orchestrated by a new default strategy (default.js). This change isolates the copy and cut implementations to improve code maintainability and enable programmatic usage of these specific actions.
src/actions · high confidence
Updated dist bundle to v2.0.11
The distributed bundle (dist/clipboard.js and dist/clipboard.min.js) has been updated to version 2.0.11. This update includes the latest implementation of the clipboard API, supporting both 'copy' and 'cut' actions, with improved cross-browser compatibility and error handling for browsers that do not support the Clipboard API.
dist · medium confidence
Test coverage
Added comprehensive unit tests for the Clipboard module; Added unit tests for clipboard action strategies and common utilities.
Dependencies
Initial release of Clipboard.js v2.0.11 with modern build tooling
The project introduces a new package.json and package-lock.json for version 2.0.11, establishing a modern build pipeline using Webpack 5 and Babel 7 for transpilation. It also adds TypeScript type definitions (tsd) and a suite of dev dependencies including ESLint, Prettier, and Karma for testing. Additionally, a composer.json file is added to support installation via Composer, specifying the 'oomphinc/composer-installers-extender' package.
(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 41 → 52 (+11.6)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 57 → 69 (+12.1)
- Architecture 69 (new)
- Maturity 55 → 46 (-9.3)
- Readiness 31 → 54 (+22.7)
- Security 45 → 56 (+10.5)
Resolved (63)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Dimension evaluation failed
- 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)
- High CVE: [GHSA redacted] (package-lock.json)
- …and 43 more
New (77)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Dependency hygiene PARTLY measured — Composer dependencies read, no committed lock to grade for currency
- End-of-life runtime: Node.js 14
- 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 57 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
zenorocha/clipboard.js 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 25 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 899378dee9681dcf4cb3d702c23a3f3cd9f473d8 — 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-dd72cc24c749.