# System map — iamkun/dayjs

> Canonical page: https://codevetter.com/unpack/dayjs/system-map

# System map — iamkun/dayjs

Scanned commit 436bde0bcded312781cbe45dc2b0ef079a36d8e3 (2026-09-15). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The runtime is a callable factory backed by one Dayjs class and shared locale state. Core date operations use native Date, constants, and a small utility module; plugins extend the same class and factory. Packaging separates the core from optional plugins and locales and supplies declarations for JavaScript consumers using TypeScript. GitHub Actions defines development checks and a separate master release pipeline.
- The package publishes dayjs.min.js as its main entry and index.d.ts as its declaration entry; the source factory is exported from src/index.js. — [package.json#L1-L6](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/package.json#L1-L6) [src/index.js#L456-L467](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/index.js#L456-L467)
- src/index.js imports constants, English locale data, and utilities; module initialization registers English in Ls and selects it as the global locale. — [src/index.js#L1-L7](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/index.js#L1-L7) [src/locale/en.js#L3-L11](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/locale/en.js#L3-L11)
- Dayjs owns a native Date in $d, cached year/month/day/time fields, a locale name in $L, and extension metadata in $x; construction invokes overridable parse and init methods. — [src/index.js#L85-L108](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/index.js#L85-L108)
- extend(plugin, option) passes the Dayjs class and factory to plugins and marks the plugin function with $i after installation; Ls and p expose shared locale and capability state. — [src/index.js#L448-L467](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/index.js#L448-L467)
- The timezone integration obtains offsets and names through host Intl.DateTimeFormat, while its implementation calls the separately supplied UTC API. — [src/plugin/timezone/index.js#L15-L42](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/timezone/index.js#L15-L42) [src/plugin/timezone/index.js#L61-L66](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/timezone/index.js#L61-L66) [src/plugin/utc/index.js#L24-L29](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/src/plugin/utc/index.js#L24-L29)
- build/index.js discovers locale files and plugin directories, emits separate bundles, builds the core, copies types to the package root, and creates locale.json; Rollup emits compact UMD with dayjs external. — [build/index.js#L36-L68](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/build/index.js#L36-L68) [build/rollup.config.js#L4-L27](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/build/rollup.config.js#L4-L27)
- The babel script transpiles src into esm, then build/esm.js adjusts locale imports and relocates plugin declarations; .npmignore excludes source, tests, tooling, and original types from publication. — [package.json#L13-L17](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/package.json#L13-L17) [build/esm.js#L15-L38](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/build/esm.js#L15-L38) [.npmignore#L15-L33](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/.npmignore#L15-L33)
- Development pushes and PRs invoke reusable lint/test CI; master pushes gate release on that workflow, then build UMD/ESM, audit signatures, and invoke semantic-release. — [.github/workflows/check.yml#L1-L12](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/.github/workflows/check.yml#L1-L12) [.github/workflows/lint-test.yml#L18-L30](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/.github/workflows/lint-test.yml#L18-L30) [.github/workflows/release.yml#L1-L18](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/.github/workflows/release.yml#L1-L18) [.github/workflows/release.yml#L28-L42](https://github.com/iamkun/dayjs/blob/436bde0bcded312781cbe45dc2b0ef079a36d8e3/.github/workflows/release.yml#L28-L42)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
