{"id":50398420,"url":"https://github.com/parallel-7/slicer-meta","last_synced_at":"2026-05-30T22:01:17.248Z","repository":{"id":292278313,"uuid":"980384013","full_name":"Parallel-7/slicer-meta","owner":"Parallel-7","description":"Cross Platform API in TypeScript for extracting metadata from G-Code/3MF files","archived":false,"fork":false,"pushed_at":"2026-05-21T00:25:21.000Z","size":13295,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-21T06:53:45.963Z","etag":null,"topics":["3d-printing","slicing"],"latest_commit_sha":null,"homepage":"https://flashforge.dev","language":"G-code","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Parallel-7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-09T03:28:36.000Z","updated_at":"2026-05-21T00:25:24.000Z","dependencies_parsed_at":"2025-05-09T04:27:16.328Z","dependency_job_id":"832a23bd-3fcc-450f-9033-73bb5e1adbf2","html_url":"https://github.com/Parallel-7/slicer-meta","commit_stats":null,"previous_names":["parallel-7/slicer-meta"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Parallel-7/slicer-meta","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Parallel-7%2Fslicer-meta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Parallel-7%2Fslicer-meta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Parallel-7%2Fslicer-meta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Parallel-7%2Fslicer-meta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Parallel-7","download_url":"https://codeload.github.com/Parallel-7/slicer-meta/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Parallel-7%2Fslicer-meta/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33711018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-printing","slicing"],"created_at":"2026-05-30T22:01:16.540Z","updated_at":"2026-05-30T22:01:17.224Z","avatar_url":"https://github.com/Parallel-7.png","language":"G-code","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Slicer Meta Parser\n\nA TypeScript library for parsing metadata from 3D printing slicer files\n\n[![npm version](https://img.shields.io/badge/npm-1.1.0-blue.svg)](https://www.npmjs.com/package/@parallel-7/slicer-meta)\n[![Node.js Version](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.5-blue.svg)](https://www.typescriptlang.org/)\n[![License](https://img.shields.io/badge/license-Private-red.svg)](https://github.com/Parallel-7/slicer-meta)\n\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n## Quick Start\n\n\u003c/div\u003e\n\nAdd the GitHub Packages registry to `.npmrc` in your project root:\n\n```\n@parallel-7:registry=https://npm.pkg.github.com/\n```\n\nInstall the package:\n\n```bash\nnpm install @parallel-7/slicer-meta\n```\n\n\u003e You will need to authenticate with GitHub Packages to install private packages.\n\nUse the `parseSlicerFile` function — it automatically handles all supported formats:\n\n```typescript\nimport { parseSlicerFile } from '@parallel-7/slicer-meta';\n\nconst metadata = await parseSlicerFile('path/to/your/file.gcode');\n\nconsole.log('Slicer:', metadata.slicer);\nconsole.log('File info:', metadata.file);\n\nif (metadata.threeMf) {\n  console.log('3MF data:', metadata.threeMf);\n}\n```\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n## Features\n\n\u003c/div\u003e\n\n- **Three file formats** — G-Code (`.gcode`, `.g`), FlashForge binary (`.gx`), and 3MF archives (`.3mf`)\n- **Four slicers detected** — FlashPrint, Orca-FlashForge, OrcaSlicer, and Legacy GX, identified from file headers\n- **Thumbnail extraction** — Base64 thumbnails from G-Code and 3MF; binary thumbnails from GX files\n- **Filament tracking** — Usage in mm, meters, and grams; per-filament color and type for multi-material prints\n- **3MF-specific data** — Support detection, plate preview images, and model file names from the archive\n- **Single unified API** — `parseSlicerFile` dispatches to the right parser automatically; individual parsers also exported for direct use\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n## API\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n| Parser | File Types | Notes |\n|--------|-----------|-------|\n| `GCodeParser` | `.gcode`, `.g` | Auto-detects FlashPrint vs Orca-FlashForge vs OrcaSlicer |\n| `FlashPrintParser` | `.gcode` | FlashPrint-specific files |\n| `OrcaFlashForgeParser` | `.gcode` | Orca-FlashForge files |\n| `GXParser` | `.gx` | FlashForge binary format |\n| `ThreeMfParser` | `.3mf` | 3MF archives (optimized for OrcaSlicer) |\n\n\u003c/div\u003e\n\nFor full return type definitions (Slicer Metadata, File Metadata, 3MF Specific Data), see [docs/api.md](docs/api.md).\n\nFor per-parser examples and multi-filament usage, see [docs/usage.md](docs/usage.md).\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n## Development\n\n\u003c/div\u003e\n\n```bash\nnpm run build   # compile TypeScript\nnpm test        # run tests\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparallel-7%2Fslicer-meta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparallel-7%2Fslicer-meta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparallel-7%2Fslicer-meta/lists"}