# govuk-frontend-svelte

> GOV.UK Frontend Svelte contains the code you need to start building a user interface for government platforms and services, using Svelte!

Latest version **0.1.16** (published 2019-03-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install govuk-frontend-svelte
pnpm add govuk-frontend-svelte
yarn add govuk-frontend-svelte
bun add govuk-frontend-svelte
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.16 |
| Published | 2019-03-21 |
| First published | 2019-02-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 59.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Caution Your Blast |
| Maintainers | jenbutonnpm |
| Keywords | govuk, frontend, design system, template |

## Links

- npm: https://www.npmjs.com/package/govuk-frontend-svelte
- Repository: https://github.com/cautionyourblast/govuk-frontend-svelte
- Homepage: https://github.com/cautionyourblast/govuk-frontend-svelte#readme
- Issues: https://github.com/cautionyourblast/govuk-frontend-svelte/issues
- npm.io page: https://npm.io/package/govuk-frontend-svelte

## Dependencies (1)

- [recast](https://npm.io/package/recast.md) ^0.16.2

## Recent versions

- 0.1.16 (latest) — 2019-03-21
- 0.1.15 — 2019-03-20
- 0.1.14 — 2019-03-20
- 0.1.13 — 2019-03-20
- 0.1.12 — 2019-03-19
- 0.1.11 — 2019-03-19
- 0.1.10 — 2019-03-14
- 0.1.9 — 2019-03-14
- 0.1.8 — 2019-03-14
- 0.1.7 — 2019-03-14
- 0.1.6 — 2019-03-08
- 0.1.5 — 2019-03-08
- 0.1.4 — 2019-03-08
- 0.1.3 — 2019-03-08
- 0.1.2 — 2019-03-08
- … 2 more at https://npm.io/package/govuk-frontend-svelte/versions

## README

Playground for what could become a nunjucks -> svelte converter.

General idea:
 * parse nunjucks template to AST
 * transform nunjucks AST to svelte AST
 * write (format) svelte template
 
Ideally we could contribute the tranformer and formatter back to meta-template
although that project has no concept of transformation currently.

For ideas we should look at babel etc.. These transpilers work the same way
as we're targeting - e.g. take typescript, build AST, transform AST, write 
javascript.

`translate.js` is the entry point for this playground. Run it and it will 
convert all macro.njk files in the govuk-frontend dependency into svelte
templates in `build`. The svelte template is called the macro name.

`format.js` is used to write out the AST in the svelte format. This 
contains a number of `Noop` functions that need to be implemented for us to
get full support for the govuk nunjucks templates.

`check.js` iterates over all converted templates, renders them and compares
them. This isn't fully implemented as svelte doens't seem to have a renderer
or it renders as a component that will render itself when loaded in the 
browser / called on the server - need to sort out. 

Note though in `check.js` the svelte compile function returns an AST. This 
be very useful to us as the result of the transformation on the nunjucks AST
should look like the svelte AST. It is probably worth hand coding some 
svelte templates just to get a look at the AST, for example straight away 
you can see it has `html`, `css` and `script` `Fragment` nodes un der the 
root node.

---
_Source: https://npm.io/package/govuk-frontend-svelte · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
