# scratch-parser **Repository Path**: mirrors_llk/scratch-parser ## Basic Information - **Project Name**: scratch-parser - **Description**: Validation and parsing for Scratch projects - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-02-27 - **Last Updated**: 2025-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # scratch-parser Parser for Scratch projects [![CircleCI](https://circleci.com/gh/LLK/scratch-parser.svg?style=shield)](https://app.circleci.com/pipelines/github/LLK/scratch-parser?branch=master) ## Overview The Scratch Parser is a [Node.js](https://nodejs.org) module that parses and validates [Scratch](https://scratch.mit.edu) projects. ## API ### Installation ```sh npm install scratch-parser ``` ### Basic Use ```js var fs = require('fs'); var parser = require('scratch-parser'); var buffer = fs.readFileSync('/path/to/project.sb2'); parser(buffer, false, function (err, project) { if (err) // handle the error // do something interesting }); ``` ### "Info" In addition to the `_meta` data described above, Scratch projects include an attribute called `info` that *may* include the following: | Key | Description | | ----------------- | -------------------------------------------------------- | | `flashVersion` | Installed version of Adobe Flash | | `swfVersion` | Version of the Scratch editor used to create the project | | `userAgent` | User agent used to create the project | | `savedExtensions` | Array of Scratch Extensions used in the project | ## Testing ### Running the Test Suite ```sh npm test ``` ### Code Coverage Report ```sh make coverage ``` ### Performance Benchmarks / Stress Testing ```sh make benchmark ``` ## Committing This project uses [semantic release](https://github.com/semantic-release/semantic-release) to ensure version bumps follow semver so that projects using the config don't break unexpectedly. In order to automatically determine the type of version bump necessary, semantic release expects commit messages to be formatted following [conventional-changelog](https://github.com/bcoe/conventional-changelog-standard/blob/master/convention.md). ```text ():