Package Exports
- @mann-conomy/tf-parser
- @mann-conomy/tf-parser/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@mann-conomy/tf-parser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
tf-parser
A Node.js parser for converting Team Fortress 2 game files to JSON objects.
Installation
Using npm:
$ npm install @mann-conomy/tf-parser
Using yarn:
$ yarn add @mann-conomy/tf-parser
Testing
Using npm:
$ npm test
Using yarn:
$ yarn test
Examples
Parsing UTF-16 encoded localization files from the Team Fortress 2 game client into JSON objects.
import { readFile } from "fs/promises";
import { LocalizationParser } from "@mann-conomy/tf-parser";
(async () => {
try {
// Read the contents of the tf_english.txt file
const file = await readFile("tf_english.txt", { encoding: "utf16le" });
// Parse english language translations
const { lang } = LocalizationParser.parse(file);
console.log(lang.Language); // English
console.log(lang.Tokens.rarity4); // Unusual
} catch (error) {
console.error("Error parsing tf_english.txt", error.message);
}
})();
Parsing the client schema from the Steam Web API.
import { SchemaParser } from "@mann-conomy/tf-parser";
(async() => {
try {
// Fetch the client schema from the Steam Web API
const response = await fetch("https://media.steampowered.com/apps/440/scripts/items/items_game.bdc614ad776fb2d43c1f247fce870485d2299152.txt");
// Resolve the response into a UTF-8 string
const items = await response.text();
// Parse the in-game items
const { items_game } = SchemaParser.parse(items);
console.log(items_game.rarities.unusual?.value); // 99
console.log(items_game.qualities.vintage?.value); // 3
} catch (error: unknown) {
if (error instanceof Error) {
console.error("Error parsing items_game.txt", error.message);
}
}
})();
Some more examples are available in the examples and test directories.
Documentation
See the Wiki pages for further documentation.
License
Copyright 2025, The Mann-Conomy Project