@intlayer/config
Version:
Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.
176 lines (135 loc) • 5.37 kB
Markdown
<div align="center">
<a href="https://intlayer.org">
<img src="https://raw.githubusercontent.com/aymericzip/intlayer/572ae9c9acafb74307b81530c1931a8e98990aef/docs/assets/logo.png" width="500" alt="intlayer" />
</a>
</div>
<div align="center">
<a href="https://www.npmjs.com/package/intlayer" target="blank"><img
align="center"
alt="npm"
src="https://img.shields.io/npm/v/intlayer.svg?labelColor=49516F&color=8994BC&style=for-the-badge"
height="30" /></a>
<a href="https://npmjs.org/package/intlayer" target="blank"><img
align="center"
src="https://img.shields.io/npm/dm/intlayer?labelColor=49516F&color=8994BC&style=for-the-badge"
alt="monthly downloads"
height="30"
/></a>
<a href="https://npmjs.org/package/intlayer" target="blank"><img
align="center"
src="https://img.shields.io/npm/types/intlayer?label=types%20included&labelColor=49516F&color=8994BC&style=for-the-badge"
alt="types included"
height="30"
/></a>
</div>
<div>
<br/>
<p align="center">
<a href="https://www.linkedin.com/company/intlayerorg" target="blank"><img align="center"
src="https://img.shields.io/badge/linkedin-%231DA1F2.svg?style=for-the-badge&logo=linkedin&logoColor=white"
alt="Intlayer LinkedIn" height="30"/></a>
<a href="https://www.facebook.com/intlayer" target="blank"><img align="center"
src="https://img.shields.io/badge/facebook-4267B2.svg?style=for-the-badge&logo=facebook&logoColor=white"
alt="Intlayer Facebook" height="30"/></a>
<a href="https://www.instagram.com/intlayer_org/" target="blank"><img align="center"
src="https://img.shields.io/badge/instagram-%23E4405F.svg?style=for-the-badge&logo=Instagram&logoColor=white"
alt="Intlayer Instagram" height="30"/></a>
<a href="https://x.com/Intlayer183096" target="blank"><img align="center"
src="https://img.shields.io/badge/x-1DA1F2.svg?style=for-the-badge&logo=x&logoColor=white"
alt="Intlayer X" height="30"/></a>
<a href="https://www.youtube.com/@intlayer" target="blank"><img align="center"
src="https://img.shields.io/badge/youtube-FF0000.svg?style=for-the-badge&logo=youtube&logoColor=white"
alt="Intlayer YouTube" height="30"/></a>
<a href="https://www.tiktok.com/@intlayer" target="blank"><img align="center"
src="https://img.shields.io/badge/tiktok-000000.svg?style=for-the-badge&logo=tiktok&logoColor=white"
alt="Intlayer TikTok" height="30"/></a>
<br>
</p>
</div>
**Intlayer** is a suite of packages designed specifically for JavaScript developers. It is compatible with frameworks like React, React, and Express.js.
The **`@intlayer/config`** package is a NPM package that allows you to retrieve the configuration of Intlayer and define the environment variables related to the current environment.
Install the necessary package using your preferred package manager:
```bash packageManager="npm"
npm install @intlayer/config
```
```bash packageManager="pnpm"
pnpm add @intlayer/config
```
```bash packageManager="yarn"
yarn add @intlayer/config
```
Example:
```ts
import { getConfiguration, type IntlayerConfig } from "@intlayer/config";
const config: IntlayerConfig = getConfiguration();
console.log(config);
// Output:
// {
// internationalization: { ... },
// middleware: { ... },
// content: { ... },
// editor: { ... }
// }
```
> This function use `fs` packages and will only work on the server side.
Example:
```ts
import { getConfiguration, type IntlayerConfig } from "@intlayer/config/client";
const config: IntlayerConfig = getConfiguration({
env: "production",
});
console.log(config);
// Output:
// {
// internationalization: { ... },
// middleware: { ... },
// content: { ... },
// editor: { ... }
// }
```
> This function will not return anything if the environment variables are not defined.
1. Create a configuration file.
```ts fileName="intlayer.config.ts"
import { type IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
internationalization: {
/* ... */
},
middleware: {
/* ... */
},
content: {
/* ... */
},
editor: {
/* ... */
},
};
export default config;
```
> See [Intlayer configuration documentation](https://intlayer.org/doc/concept/configuration) for more details.
2. Define the environment variables.
```ts
import { getConfiguration } from "@intlayer/config";
const intlayerConfig = getConfiguration();
// Format all configuration values as environment variables
const env = formatEnvVariable();
// Set each formatted environment variable in process.env
Object.assign(process.env, env);
```
3. Import the configuration file.
```ts
import { getConfiguration } from "@intlayer/config/client";
const intlayerConfig = getConfiguration();
```
- [Intlayer Website](https://intlayer.org)
- [Intlayer Documentation](https://intlayer.org/doc)
- [Intlayer GitHub](https://github.com/aymericzip/intlayer)
- [Ask your questions to our smart documentation](https://intlayer.org/docchat)