{"id":16328814,"url":"https://github.com/marko-js/tags-api-preview","last_synced_at":"2025-04-09T19:17:44.014Z","repository":{"id":39021994,"uuid":"380368237","full_name":"marko-js/tags-api-preview","owner":"marko-js","description":"Preview the Marko 6 \"Tags API\" in Marko 5!","archived":false,"fork":false,"pushed_at":"2025-02-28T23:28:00.000Z","size":1459,"stargazers_count":23,"open_issues_count":3,"forks_count":7,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-09T19:17:36.030Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/marko-js.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"2021-06-25T22:40:45.000Z","updated_at":"2025-02-28T23:25:01.000Z","dependencies_parsed_at":"2024-02-26T18:02:53.774Z","dependency_job_id":"01e2e5ad-6f74-4ac2-904f-6e4cd06f7815","html_url":"https://github.com/marko-js/tags-api-preview","commit_stats":{"total_commits":213,"total_committers":9,"mean_commits":"23.666666666666668","dds":"0.17840375586854462","last_synced_commit":"ebada71d75ce66b70d5e589d403e28af68cefc24"},"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marko-js%2Ftags-api-preview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marko-js%2Ftags-api-preview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marko-js%2Ftags-api-preview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marko-js%2Ftags-api-preview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marko-js","download_url":"https://codeload.github.com/marko-js/tags-api-preview/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248094988,"owners_count":21046770,"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":[],"created_at":"2024-10-10T23:14:32.819Z","updated_at":"2025-04-09T19:17:43.986Z","avatar_url":"https://github.com/marko-js.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003c!-- Logo --\u003e\n  \u003cbr/\u003e\n  @marko/tags-api-preview\n\t\u003cbr/\u003e\n\n  \u003c!-- CI --\u003e\n  \u003ca href=\"https://github.com/marko-js/tags-api-preview/actions/workflows/ci.yml\"\u003e\n    \u003cimg src=\"https://github.com/marko-js/tags-api-preview/actions/workflows/ci.yml/badge.svg\" alt=\"Build status\"/\u003e\n  \u003c/a\u003e\n  \u003c!-- Coverage --\u003e\n  \u003ca href=\"https://codecov.io/gh/marko-js/tags-api-preview\"\u003e\n    \u003cimg src=\"https://codecov.io/gh/marko-js/tags-api-preview/branch/main/graph/badge.svg?token=TODO\"/\u003e\n  \u003c/a\u003e\n  \u003c!-- NPM Version --\u003e\n  \u003ca href=\"https://npmjs.org/package/@marko/tags-api-preview\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/@marko/tags-api-preview.svg\" alt=\"NPM Version\"/\u003e\n  \u003c/a\u003e\n  \u003c!-- Downloads --\u003e\n  \u003ca href=\"https://npmjs.org/package/@marko/tags-api-preview\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/dm/@marko/tags-api-preview.svg\" alt=\"Downloads\"/\u003e\n  \u003c/a\u003e\n\u003c/h1\u003e\n\nA glimpse into the future of Marko.\n\nFor more information, check out [the announcement article](https://dev.to/ryansolid/introducing-the-marko-tags-api-preview-37o4)!\n\n# Installation\n\n```console\nnpm install @marko/tags-api-preview\n```\n\nAfter installing the `tags-api-preview` in your project, you can immediately start using new tags and features.\nYou can use \"tags api\" templates along side your existing \"class api\" templates. A [set of heuristics](#heuristics) is used to determine if the \"tags api\" should be enabled.\n\n# Examples\n\n```marko\n\u003clet/count=0 /\u003e\n\n\u003cdiv\u003e${count}\u003c/div\u003e\n\u003cbutton onClick() { count++ }\u003e\n  Click me!\n\u003c/button\u003e\n```\n\n```marko\n\u003clet/count=0 /\u003e\n\u003ceffect() { document.title = `You clicked ${count} times` } /\u003e\n\n\u003cbutton onClick() { count++ }\u003e\n  Click me\n\u003c/button\u003e\n```\n\n# Heuristics\n\nWhen `@marko/tags-api-preview` is installed, using any of the following opts into the \"tags api\" on a per template level:\n\n- tag variable syntax (`\u003cdiv/el\u003e`).\n- any new tag (`\u003clet\u003e`, `\u003cconst\u003e`, `\u003ceffect\u003e`, etc).\n- usage of the attribute binding syntax (`\u003cinput value:=myValue/\u003e`).\n- a `\u003c!-- use tags --\u003e` comment at the top of the template\n\nThere are some features that are disabled when opting into the tags api. Those features will display errors when used.\n\n# Code of Conduct\n\nThis project adheres to the [eBay Code of Conduct](./.github/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarko-js%2Ftags-api-preview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarko-js%2Ftags-api-preview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarko-js%2Ftags-api-preview/lists"}