{"id":22576495,"url":"https://github.com/mkpoli/tyler","last_synced_at":"2025-04-10T17:13:02.675Z","repository":{"id":263431620,"uuid":"890364366","full_name":"mkpoli/tyler","owner":"mkpoli","description":"Typst package (libraries, templates) publishing utilty CLI tool","archived":false,"fork":false,"pushed_at":"2024-11-21T01:53:46.000Z","size":230,"stargazers_count":21,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T14:51:25.287Z","etag":null,"topics":["build-tool","package","package-manager","typst"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"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/mkpoli.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}},"created_at":"2024-11-18T12:53:45.000Z","updated_at":"2025-03-16T16:42:21.000Z","dependencies_parsed_at":"2024-11-18T15:13:06.286Z","dependency_job_id":"06f968e7-4add-4ad6-b566-293d5c2bd6e0","html_url":"https://github.com/mkpoli/tyler","commit_stats":null,"previous_names":["mkpoli/tyler"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkpoli%2Ftyler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkpoli%2Ftyler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkpoli%2Ftyler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkpoli%2Ftyler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkpoli","download_url":"https://codeload.github.com/mkpoli/tyler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248261908,"owners_count":21074225,"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","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":["build-tool","package","package-manager","typst"],"created_at":"2024-12-08T04:07:07.517Z","updated_at":"2025-04-10T17:13:02.649Z","avatar_url":"https://github.com/mkpoli.png","language":"TypeScript","funding_links":[],"categories":["Integrations \u0026 Tools"],"sub_categories":["CLI Tools"],"readme":"# Tyler\n\nTyler is a Typst package compiler for the ease of packaging and publishing Typst libraries and templates.\n\nhttps://github.com/user-attachments/assets/49bd7e94-8fd3-4ead-bede-2e58471d1a85\n\n## Features\n\n- 📥 Install package locally to be able to use with `@local/somepkg:0.1.0`\n- 📄 Compile relative entrypoint import (e.g. `../lib.typ`) to preview import (e.g. `@preview/somepkg:0.1.0`)\n- 🔄 Bump the version of the package interactively or with specified semver as CLI argument\n- 🔍 Check if the package manifest (`typst.toml`) is valid before publishing\n- 📦 Package the library or package into `typst/packages` ready for publishing\n- 🚀 Semi-automatic publishing that creates a PR to the Typst preview package repository\n- (TODO) Prompt for PR fulfillment\n- (TODO) Automatic publishing\n- (TODO) Task runner\n- (TODO) Thumbnail compressing\n- (TODO) Thumbnail generating\n- (TODO) Linting / Type Checking\n\n## Installation\n\n```\nnpm install -g @mkpoli/tyler\n```\n\nor\n\n```\nbun i -g @mkpoli/tyler\n```\n\n## Usage\n\nIt is recommended to put all your source files in a `src` directory and run Tyler from the root of your project, or you can specify custom source directory (even root directory) with `--srcdir` option, however, in that case, you need to add files to `--ignore` option manually (e.g. `--ignore=\"CONTRIBUTING.md,hello.world,neko/*\"`) to remove them from the distributed package.\n\n### Basics\n\nRun the following command in your typst package will check the package and build it, then install the built package to Typst local package group (`-i`) as well as prepare the package for publish and display instructions to create a PR (`-p`):\n\n```bash\ntyler build -i -p\n```\n\n### Examples\n\n#### Check\n\nCheck if the package manifest (`typst.toml`) is valid and required properties / files e   :\n\n```\ntyler check\n```\n\n#### Build\n\nBuild the package in current directory and output to `dist` directory:\n\n```\ntyler build\n```\n\nBuild the package then install it to Typst local package group:\n\n```\ntyler build -i\n```\n\nBuild the package in `/home/user/typst/some-package` and output to `/home/user/typst/packages/packages/preview/some-package/0.1.0`:\n\n```\ntyler build /home/user/typst/some-package --outdir=/home/user/typst/packages/packages/preview/some-package/0.1.0\n```\n\n#### Publish\n\nYou need to have `git` and it is recommended to have `gh` (GitHub CLI) installed to publish the package.\n\n```\ntyler build -p\n```\n\nIf you are experiencing the following error, you can try to downgrade HTTP/2 to HTTP/1.1 by `git config --global http.version HTTP/1.1` (to reverse it, do `git config --global http.version --unset`):\n\n```\nerror: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8)\nerror: 1143 bytes of body are still expected\nfetch-pack: unexpected disconnect while reading sideband packet\nfatal: early EOF\nfatal: fetch-pack: invalid index-pack output\n```\n\n### Configuration\n\nYou can pass options to `tyler` commands directly or via `[tool.tyler]` section in your `typst.toml` file. The CLI options will override the config options, and the config options are limited to the following (with the default value noted):\n\n```\n[tool.tyler]\nsrcdir = \"src\"\noutdir = \"dist\"\nignore = []\n```\n\nCLI options can be checked with `tyler --help` and `tyler \u003ccommand\u003e --help` command.\n\n## Development\n\n```\nbun install\n```\n\n### Emulating\n\n```\nbun tyler \u003ccommand\u003e [options]\n```\n\n### Publishing\n\n```\nbun run bump \u0026\u0026 bun publish\n```\n\n## Trivia\n\nTyler is named after something like **Ty**pst + Compi**ler** or **Ty**pst + But**ler**.\n\n## License\n\n[MIT License](./LICENSE) © 2024 [mkpoli](https://mkpo.li/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkpoli%2Ftyler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkpoli%2Ftyler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkpoli%2Ftyler/lists"}