angular/packages/core/src/version.ts
arturovt eee3e5a4df refactor(core): mark VERSION as @__PURE__ for better tree-shaking (#63400)
Annotate the `new Version(...)` call with `/* @__PURE__ */` to signal to
optimizers that the constructor is side-effect free.

Without this hint, bundlers such as Terser or ESBuild may conservatively
retain the `VERSION` instantiation even when unused. With the annotation,
the constant can be tree-shaken away in production builds if not referenced,
reducing bundle size.

PR Close #63400
2025-08-27 11:39:06 -07:00

30 lines
673 B
TypeScript

/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
/**
* @description Represents the version of Angular
*
* @publicApi
*/
export class Version {
public readonly major: string;
public readonly minor: string;
public readonly patch: string;
constructor(public full: string) {
const parts = full.split('.');
this.major = parts[0];
this.minor = parts[1];
this.patch = parts.slice(2).join('.');
}
}
/**
* @publicApi
*/
export const VERSION = /* @__PURE__ */ new Version('0.0.0-PLACEHOLDER');