Bun prend nativement en charge les importations .yaml et .yml.
yaml
database:
host: localhost
port: 5432
name: myapp
server:
port: 3000
timeout: 30
features:
auth: true
rateLimit: trueImportez le fichier comme n'importe quel autre fichier source.
ts
import config from "./config.yaml";
config.database.host; // => "localhost"
config.server.port; // => 3000
config.features.auth; // => trueVous pouvez également utiliser des importations nommées pour déstructurer les propriétés de premier niveau :
ts
import { database, server, features } from "./config.yaml";
console.log(database.name); // => "myapp"
console.log(server.timeout); // => 30
console.log(features.rateLimit); // => trueBun prend également en charge la syntaxe des attributs d'importation :
ts
import config from "./config.yaml" with { type: "yaml" };
config.database.port; // => 5432Pour analyser des chaînes YAML au moment de l'exécution, utilisez Bun.YAML.parse() :
ts
const yamlString = `
name: John Doe
age: 30
hobbies:
- reading
- coding
`;
const data = Bun.YAML.parse(yamlString);
console.log(data.name); // => "John Doe"
console.log(data.hobbies); // => ["reading", "coding"]Prise en charge de TypeScript
Pour ajouter la prise en charge de TypeScript pour vos importations YAML, créez un fichier de déclaration avec .d.ts ajouté au nom de fichier YAML (par exemple, config.yaml → config.yaml.d.ts) :
ts
const contents: {
database: {
host: string;
port: number;
name: string;
};
server: {
port: number;
timeout: number;
};
features: {
auth: boolean;
rateLimit: boolean;
};
};
export = contents;Consultez Docs > API > YAML pour la documentation complète sur la prise en charge de YAML dans Bun.