JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 20
  • Score
    100M100P100Q58122F
  • License MIT

A Node.js parser for converting Team Fortress 2 game files to JSON objects.

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.

npm version npm downloads Node.js version GitHub actions GitHub license

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

MIT

Copyright 2025, The Mann-Conomy Project