This Astro integration generates the file src/astro-build-time-constants.ts
,
which contains constants related to build time, typically:
export const digits2 = (number: number) => number < 10 ? '0' + number : '' + number
export const astroBuildTimeConstants = {
internal: {
epoch: 1758444256,
seconds: 15,
minutes: 44,
hours: 10,
fullYear: 2025,
month: 9,
date: 21,
iso: "2025-09-21T08:44:15.899Z",
},
custom: {
"myParam": "myValue",
"myObject": {
"myValue": 10
}
},
}
Internal objects contains built-in constants, such as the build date.
Custom object is the object passed as a parameter of buildTimeConstants()
when initializing the integration in astro.config.mjs
. This ease usage
of custom configuration parameters
Usage in an astro components is then typically
---
import { astroBuildTimeConstants } from '../astro-build-time-constants'
---
<p>
Built on {astroBuildTimeConstants.internal.iso}
</p>
<p>
My parameter is {astroBuildTimeConstants.custom.myParam}
</p>
To install astro-build-time-constants, run the following from your project directory and follow the prompts:
npx astro add astro-build-time-constants
First, install the astro-build-time-constants package using your package manager. If you're using npm, run this in the terminal:
npm install astro-build-time-constants
Then, apply this integration to your astro.config.mjs
file using the integrations property:
import { defineConfig } from 'astro/config';
import buildTimeConstants from 'astro-build-time-constants'
export default defineConfig({
integrations: [
buildTimeConstants()
],
});
Custom properties can be added as the buildTimeConstants()
arguments, such as
export default defineConfig({
...
integrations: [
...
buildTimeConstants( {
myParam: "myValue",
myObject: {
myValue: 10,
}
}),
...
]
});