Skip to content

pascal-brand38/astro-build-time-constants

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

astro-build-time-constants

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>

Installation

Quick install

To install astro-build-time-constants, run the following from your project directory and follow the prompts:

npx astro add astro-build-time-constants

Manual install

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()
  ],
});

Adding custom properties

Custom properties can be added as the buildTimeConstants() arguments, such as

export default defineConfig({
  ...
  integrations: [
    ...
    buildTimeConstants( {
      myParam: "myValue",
      myObject: {
        myValue: 10,
      }
    }),
    ...
  ]
});

About

Astro integration to define build-time constants: dates...

Resources

License

Stars

Watchers

Forks

Packages

No packages published