{"id":18106709,"url":"https://github.com/theatrejs/loader-aseprite","last_synced_at":"2025-09-23T08:05:29.632Z","repository":{"id":257811780,"uuid":"867522983","full_name":"theatrejs/loader-aseprite","owner":"theatrejs","description":"⚙️ A Webpack Loader for Aseprite files.","archived":false,"fork":false,"pushed_at":"2025-06-29T15:09:31.000Z","size":114,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-30T15:45:10.281Z","etag":null,"topics":["2d","aseprite","canvas","engine","game","game-engine","html","html5","javascript","loader","pixel-art","theatrejs","theatrejs-loader","webgl","webgl2","webpack","webpack-loader"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theatrejs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-10-04T08:20:12.000Z","updated_at":"2025-06-29T15:09:33.000Z","dependencies_parsed_at":"2024-10-05T21:10:10.636Z","dependency_job_id":"9f8da0c1-5e5f-4bce-9e08-cf7f4c9833e9","html_url":"https://github.com/theatrejs/loader-aseprite","commit_stats":null,"previous_names":["theatrejs/loader-aseprite"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/theatrejs/loader-aseprite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theatrejs%2Floader-aseprite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theatrejs%2Floader-aseprite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theatrejs%2Floader-aseprite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theatrejs%2Floader-aseprite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theatrejs","download_url":"https://codeload.github.com/theatrejs/loader-aseprite/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theatrejs%2Floader-aseprite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276538270,"owners_count":25659932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-23T02:00:09.130Z","response_time":73,"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":["2d","aseprite","canvas","engine","game","game-engine","html","html5","javascript","loader","pixel-art","theatrejs","theatrejs-loader","webgl","webgl2","webpack","webpack-loader"],"created_at":"2024-10-31T23:07:48.801Z","updated_at":"2025-09-23T08:05:29.568Z","avatar_url":"https://github.com/theatrejs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Copyright](https://img.shields.io/badge/©-deformhead-white.svg)](https://github.com/deformhead) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/theatrejs/loader-aseprite/blob/master/LICENSE) [![Bundle Size (Gzipped)](https://img.shields.io/bundlejs/size/@theatrejs/loader-aseprite@latest)](https://www.npmjs.com/package/@theatrejs/loader-aseprite/v/latest) [![NPM Version](https://img.shields.io/npm/v/@theatrejs/loader-aseprite/latest)](https://www.npmjs.com/package/@theatrejs/loader-aseprite/v/latest)\n\n# Aseprite Webpack Loader\n\n\u003e *⚙️ A Webpack Loader for Aseprite files.*\n\n## Installation\n\n\u003e *⚠️ This loader needs you to have [**Aseprite**](https://www.aseprite.org) installed.*\n\n```shell\nnpm install @theatrejs/plugin-aseprite --save\n```\n\n```shell\nnpm install @theatrejs/loader-aseprite --save-dev\n```\n\n## Webpack Configuration\n\n```javascript\n{\n    'module': {\n        'rules': [\n            ...\n            {\n                'test': /\\.aseprite$/,\n                'use': [\n                    {\n                        'loader': '@theatrejs/loader-aseprite',\n                        'options': {\n                            'aseprite': '\u003cpath-to-aseprite\u003e' // The path to the Aseprite executable.\n                        }\n                    }\n                ]\n            }\n            ...\n        ]\n    }\n}\n```\n\n## Webpack Configuration (Advanced Options)\n\n```javascript\n{\n    'module': {\n        'rules': [\n            ...\n            {\n                'test': /\\.aseprite$/,\n                'use': [\n                    {\n                        'loader': '@theatrejs/loader-aseprite',\n                        'options': {\n                            'aseprite': '\u003cpath-to-aseprite\u003e', // The path to the Aseprite executable.\n                            'prepare': {\n                                'sheet': 'packed', // The Aseprite output 'sheet type' option ('colums' | 'horizontal' | 'packed' | 'rows' | 'vertical') ('rows' by default).\n                                'trim': true // The Aseprite output 'trim cels' option (false by default).\n                            },\n                            'processing': {\n                                'colorswap': [\n                                    {\n                                        'source': [255, 0, 255, 255], // A source color to swap from (in rgba).\n                                        'target': [0, 0, 0, 0] // A target color to swap to (in rgba).\n                                    }\n                                ]\n                            }\n                        }\n                    }\n                ]\n            }\n            ...\n        ]\n    }\n}\n```\n\n## Quick Start\n\n\u003e *⚠️ This example does not include the preloading of assets.*\n\n```javascript\nimport {Stage} from '@theatrejs/theatrejs';\nimport * as PLUGINASEPRITE from '@theatrejs/plugin-aseprite';\n\nimport asepriteHero from './hero-16x16.aseprite';\n\nclass Level1 extends Stage {\n    onCreate() {\n        this.createActor(\n            PLUGINASEPRITE.FACTORIES.ActorWithSpritesheet({\n                $aseprite: asepriteHero,\n                $loop: true,\n                $tag: 'idle'\n            })\n        );\n    }\n}\n```\n\n## With Preloading\n\n```javascript\nimport {FACTORIES} from '@theatrejs/theatrejs';\nimport * as PLUGINASEPRITE from '@theatrejs/plugin-aseprite';\n\nimport asepriteHero from './hero-16x16.aseprite';\n\nclass Level1 extends FACTORIES.StageWithPreloadables([PLUGINASEPRITE.FACTORIES.PreloadableAseprite(asepriteHero)]) {\n    onCreate() {\n        this.createActor(\n            PLUGINASEPRITE.FACTORIES.ActorWithSpritesheet({\n                $aseprite: asepriteHero,\n                $loop: true,\n                $tag: 'idle'\n            })\n        );\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheatrejs%2Floader-aseprite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheatrejs%2Floader-aseprite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheatrejs%2Floader-aseprite/lists"}