Compare commits

..

134 commits

Author SHA1 Message Date
Ben Holmes
5b1aa0e79a
nit: don't capitalize cc
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-03-03 13:07:07 -05:00
Ben Holmes
4d069ea22b
docs: with-mdx -> with-markdoc
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-03-03 13:06:35 -05:00
bholmesdev
93a30426b6 chore: clarify semi-private hooks 2023-03-03 12:13:24 -05:00
bholmesdev
1472697a8b chore: ignore statements 2023-03-03 12:08:02 -05:00
bholmesdev
36d12c1ab9 chore: lint 2023-03-03 11:42:41 -05:00
bholmesdev
bb6d871702 fix: forward slash. 2023-03-03 10:44:28 -05:00
bholmesdev
e881f67eb6 wip: forward slash?? 2023-03-03 10:10:54 -05:00
bholmesdev
d93f5242df chore: remove revealSecret from ex 2023-03-03 10:00:10 -05:00
bholmesdev
d6a03bfc99 fix: potentially unreliable cache 2023-03-03 09:59:41 -05:00
bholmesdev
989dcd44fd fix: cant find zod for some reason 2023-03-03 09:59:32 -05:00
bholmesdev
b703f4b654 chore: update DocsContent comments 2023-03-03 08:51:43 -05:00
bholmesdev
aabc064050 chore: update example coding challenge 2023-03-03 08:49:10 -05:00
bholmesdev
83611f33b2 docs: add editor integration 2023-03-03 08:42:49 -05:00
bholmesdev
6af17079ca docs: clarify Markdoc attributes 2023-03-03 08:42:49 -05:00
bholmesdev
11c5a781ed chore: update to nodes rec 2023-03-03 08:42:49 -05:00
bholmesdev
9e9a7ed482 docs: reshuffle note 2023-03-03 08:42:49 -05:00
bholmesdev
8e14143984 chore: clarify Markdoc config 2023-03-03 08:42:49 -05:00
bholmesdev
9bb1c29e98 test: update Markdoc node config test 2023-03-03 08:42:49 -05:00
bholmesdev
a628b264df chore: use error hint 2023-03-03 08:42:49 -05:00
bholmesdev
f50fcdd991 fix: handle possible cache miss 2023-03-03 08:42:49 -05:00
bholmesdev
eef9000b79 refactor: use MarkdocError on render errors 2023-03-03 08:42:49 -05:00
bholmesdev
9e2808c58c chore: validate tags and nodes 2023-03-03 08:42:49 -05:00
bholmesdev
8c348503fc chore: hand mjs highlighting in error overlay 2023-03-03 08:42:49 -05:00
bholmesdev
ad56cd95c8 chore: raise error if no matching component found 2023-03-03 08:42:49 -05:00
bholmesdev
833a88e439 chore: check components are capitalized names 2023-03-03 08:42:48 -05:00
bholmesdev
cbfa05f218 deps: zod 2023-03-03 08:42:48 -05:00
bholmesdev
32dda6230e fix: indentation 2023-03-03 08:42:48 -05:00
bholmesdev
6cdf8cf243 fix: inconsistent tabs v spaces 2023-03-03 08:42:48 -05:00
bholmesdev
78ff16b8e8 docs: add separate HTML and component examples 2023-03-03 08:42:48 -05:00
bholmesdev
5d9d5ffb71 nit: add "today" to imply future support 2023-03-03 08:42:48 -05:00
bholmesdev
a4d1c0fa49 edit: add client component instructions 2023-03-03 08:42:48 -05:00
bholmesdev
c31bcc5918 docs: astro-ui-frameworks -> astro-components 2023-03-03 08:42:48 -05:00
bholmesdev
1f72257abe docs: update config to new Markdoc options 2023-03-03 08:42:48 -05:00
bholmesdev
a3a187b6d3 docs: query for -> query your collection 2023-03-03 08:42:48 -05:00
bholmesdev
35cd0630c5 docs: add "exclusively" to README 2023-03-03 08:42:48 -05:00
bholmesdev
a72a1dbda1 chore: with-markdoc filetree 2023-03-03 08:42:48 -05:00
bholmesdev
97950729e9 test: update fixture to match new config 2023-03-03 08:42:48 -05:00
bholmesdev
de9784aa07 refactor: remove advanced component API 2023-03-03 08:42:48 -05:00
bholmesdev
cdf45e8e42 refactor: remove Markdoc export 2023-03-03 08:42:48 -05:00
bholmesdev
6193f994f1 chore: use Markdoc terms for transform 2023-03-03 08:42:48 -05:00
Ben Holmes
14760a37ba docs: only used in content collections
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-03-03 08:42:48 -05:00
bholmesdev
d66ee0dcd0 refactor: move markdoc transform to build time 2023-03-03 08:42:48 -05:00
bholmesdev
c7e4236ed7 chore: add --format flag to benchmark 2023-03-03 08:42:48 -05:00
bholmesdev
3bd8920a25 feat: add react-component render benchmark 2023-03-03 08:42:48 -05:00
bholmesdev
782c3fc417 chore: remove accidental file 2023-03-03 08:42:48 -05:00
bholmesdev
b573e53e9c refactor: ASTRO_CI_PERFORMANCE_RUN -> ASTRO_PERFORMANCE_BENCHMARK 2023-03-03 08:42:48 -05:00
bholmesdev
79d30b1f31 chore: remove old --internal-ci reference 2023-03-03 08:42:47 -05:00
bholmesdev
e7c926212f feat: test simple and with-components cases 2023-03-03 08:42:47 -05:00
bholmesdev
51824a9b51 chore: refine generated ignore 2023-03-03 08:42:47 -05:00
bholmesdev
b73e8f0899 refactor: isPerfBenchmark 2023-03-03 08:42:47 -05:00
bholmesdev
d8f664c807 feat: add perf benchmark check to mdx 2023-03-03 08:42:47 -05:00
bholmesdev
8677aa8392 refactor: --perf -> env var 2023-03-03 08:42:47 -05:00
bholmesdev
34dbdad186 chore: log ext and directory on write 2023-03-03 08:42:07 -05:00
bholmesdev
c20e1b6601 refactor: --perf -> --internal-ci-perf 2023-03-03 08:42:07 -05:00
bholmesdev
2138abf683 chore: remove .astro types from remote 2023-03-03 08:42:07 -05:00
bholmesdev
b1c432d6c0 chore: lockfile 2023-03-03 08:42:00 -05:00
bholmesdev
5a378df6d1 chore: remove generated files from git 2023-03-03 08:42:00 -05:00
bholmesdev
83e475b1e3 chore: mdoc and mdx fixtures 2023-03-03 08:41:59 -05:00
bholmesdev
685ac9e140 deps: npm-run-all 2023-03-03 08:41:59 -05:00
bholmesdev
5e5668f6bc refactor: generate posts instead of commiting 2023-03-03 08:41:59 -05:00
bholmesdev
025eaad791 refactor: move rendering to util 2023-03-03 08:41:58 -05:00
bholmesdev
6fd4c9ac38 wip: performance pkg with md fixture 2023-03-03 08:41:58 -05:00
bholmesdev
04facd1683 feat: add --perf flag to skip md plugins 2023-03-03 08:41:58 -05:00
bholmesdev
6e18764e48 Squashed commit of markdoc-poc
commit bd0dd9d71938da22f596ddd1662d9b91707f80c7
Author: bholmesdev <hey@bholmes.dev>
Date:   Wed Feb 15 09:43:04 2023 -0500

    Revert "feat: support `.md` overrides for content collections"

    This reverts commit c06f83ef85.

commit 5b9a1f33f4d0ffd4a63a81a86652fee032b75d76
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 13:48:56 2023 -0500

    feat: generate `.md` types override

commit e464ae894ed69cf492de1d3e8018d9a17c00d7a3
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 12:56:11 2023 -0500

    chore: mdoc -> md

commit b74fd6a7d6b973b2bfd9b2ab9567801ff4d7fec1
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 12:56:01 2023 -0500

    feat: support `.md` overrides for content collections

commit bdcc18a7c03e3524927ba7c1b18ad2fd80a2e994
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 12:30:48 2023 -0500

    deps: remove html-escaper

commit f44b57f0fa2ac923a3f2a46471fda710e92d5824
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 12:30:42 2023 -0500

    fix: remove unneeded html-escaper

commit fb7919498aca6beded444ed5922f3598d244d30c
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 12:08:04 2023 -0500

    fix: type inferencing in preview

commit 0c05034b321a82f2f054b527538d57f45f096822
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 11:32:19 2023 -0500

    fix: import types from @astrojs/markdoc

commit 57e741a6306b801ac4ce47f20f7664518359611d
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 11:28:33 2023 -0500

    refactor: remove unneeded async

commit b19d85451e60da281bc32a2a180452987a049479
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 10:26:20 2023 -0500

    fix: lock

commit b1083a14f9fefe5e7a9f2a8c7c31626a7430c851
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 10:19:50 2023 -0500

    nit: 0.0.0 to avoid version bump

commit 71891ebe9dd54b495e965bf064ee78aaca9dfede
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 09:33:27 2023 -0500

    chore: changeset

commit 444752a5e27c4f5bda54ac024eca9a7ab1c4563f
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 09:30:10 2023 -0500

    docs: add note on Aside src

commit 619d4b3fdf02cc34ea3f8f9a0b4d93db273bb0a1
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 09:25:56 2023 -0500

    nit: reorder type import

commit e914da05706382b17e1b8f3404fc2852002a5dc7
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 09:25:38 2023 -0500

    refactor: clean up astroNode

commit 2dfc226f56dc6a9e3e3ace72d4c3889a1fde4e6d
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 09:08:56 2023 -0500

    docs: README edits

commit 3c7b85c7d9e3c75d551baf33aba9a646d0d61cba
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 09:07:29 2023 -0500

    docs: change with-markdoc title

commit 29cdea9a0be439b631389cbc906751185489cbe9
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 18:29:10 2023 -0500

    docs: add usage and examples to Markdoc README

commit e397a80179e9bd934ef8875155d7491b1d4e077a
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 18:18:54 2023 -0500

    fix: line endings in test

commit f9ebf59982fa7dc1202368da344897f54de7f259
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 18:09:15 2023 -0500

    docs: @astrojs/markdoc README intro

commit 7800e9c9dac946f89e139b200a0083b53942118d
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 18:08:07 2023 -0500

    docs: update example README

commit f0b900a6fa7f0775dfab7600c4fb04c9b64e7439
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 18:04:34 2023 -0500

    chore: remove markdoc.config loader

commit 3f040e44d0c639dc51976abe75f46c57f0be60fc
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 17:58:52 2023 -0500

    chore: remove unused fixture dep

commit b2ea6c26df6acf1df8f06d2feb9c91da8c8eafae
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 17:58:25 2023 -0500

    fix: glob for single content extension

commit f4e171c05c421f8696ebc406c9d4d28967f80690
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 15:10:39 2023 -0500

    chore: remove unused deps

commit d9095d0284b0fc22d5da367771bc5286eb8f1926
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 15:10:31 2023 -0500

    chore: unused style tag

commit a5435f13575577bf6a954c68eef9e883959568dc
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 15:08:52 2023 -0500

    chore: clean up Markdoc starter to essentials

commit 815e2f2bad5617ab077d278d7c751f34c22dd0d9
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 14:13:02 2023 -0500

    feat: content prop types for markdoc!

commit 8bcd23c4e70b4900b16ebf5a30dad6ec998f4092
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 14:05:40 2023 -0500

    feat: allow Render type injection

commit cdb7e9e4878888c0883d4082d2415f4d85050389
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 14:04:37 2023 -0500

    chore: unused file

commit 0df33ea37d4ca9bd933be54d7f8b455fce174679
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 14:04:31 2023 -0500

    chore: with-markdoc strictNullChecks

commit 377c6d766bd51469f09e1f946a1c2b77affe6620
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 17:39:35 2023 -0500

    play: add docs example with Aside and Since ported

commit f9f811257167da7a5e05a7de3a12b58e7b3568b1
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:22:47 2023 -0500

    chore: remove unused options object

commit c9a66bfeb0ce55ef0a1c0c6ed2da746d5250c795
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:18:27 2023 -0500

    chore: remove content-types. Too early!

commit 67f49e86a980c5d858ad0e384bdc67fad5e096e6
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:18:20 2023 -0500

    fix: ContentEntryType import

commit 9b93d8189213a12346520fa8a71eae824386ad3e
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:10:06 2023 -0500

    chore: Markdoc working! log

commit 90f77645ef3985fbba1badeb4413759626290b1a
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:09:58 2023 -0500

    test: content component dev and build

commit 14559f6a40af63106cebeba210e73392d5d1c37d
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:01:10 2023 -0500

    test: prod builds

commit a0dcbff73cf8b3cf9b55434a8fb2b0b683903c5f
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:01:04 2023 -0500

    fix: stop bundling markdoc for isTag

commit cb1904876f074c50c206131e9588878230bbab47
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:00:53 2023 -0500

    fix: avoid import if no config present (prod build error)

commit bda8295e7920638c013875ab9fe31ce87743c95f
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:00:33 2023 -0500

    chore: ignore `.astro` type error

commit 28a6d7993a227c68aeca747661254ff68883244a
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:00:12 2023 -0500

    fix: remove "components" from tsconfig

commit 0297bb749599aa8063e685a7ece738afe3ae77cc
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:00:01 2023 -0500

    deps: add shiki for Code comp error

commit e4f141e558b3d76b761bec69e694eaa40cdf250d
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 08:45:37 2023 -0500

    play: make sure md also works

commit dfdb35f0888ee83457ee825172f7d8485b7d2a43
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 13:25:18 2023 -0500

    test: entry and collections parse

commit eaf4994bf309955209f406d7db0863775fdf4fe0
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 13:25:07 2023 -0500

    deps: devalue, test fixture

commit 3f71932c04f8064cfe74b7f4b02409c681925e4a
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 13:24:47 2023 -0500

    chore: remove unused dream file

commit b182686f88878cdf003efba798edb69372872b21
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 12:29:32 2023 -0500

    refactor: remove fallback loader

commit 0540d701ccb33db7a82be861c36dcafec0dbbb81
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 12:26:21 2023 -0500

    fix: markdoc.config loading

commit 575dadf70e7b5aa263e30c8b496a1cceebd31bb4
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 12:16:18 2023 -0500

    oops, forgot to commit untracked

commit 9746a97bc2dfcf63bfd685f541ffbd229ea134ca
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 12:16:02 2023 -0500

    refactor: pass file contents

commit 534a658325cbddbb153bea1c1338d13011eb0e4f
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 12:13:38 2023 -0500

    refactor: move plain md to content entry type

commit 24df79b1475c12ccefaadb2392e9d5911c491872
Author: bholmesdev <hey@bholmes.dev>
Date:   Wed Feb 8 15:51:44 2023 -0500

    wip: move mdx to collection type API

commit cc44e4fa3453353041fdbe9424d96040f93f28a7
Author: bholmesdev <hey@bholmes.dev>
Date:   Wed Feb 8 15:50:52 2023 -0500

    deps: mdx

commit c30c1b3dcf6da3a075c1f07260ae893ef93e07e2
Author: bholmesdev <hey@bholmes.dev>
Date:   Wed Feb 8 10:10:39 2023 -0500

    wip: scaffold content types

commit 2487aedf9deb74a5725ba8393766b68f60b74af8
Author: bholmesdev <hey@bholmes.dev>
Date:   Wed Feb 8 09:53:35 2023 -0500

    feat: move Renderer to markdoc, get Content component!

commit 44faff911b8de6f6da45f195dad0a56a426b076e
Author: bholmesdev <hey@bholmes.dev>
Date:   Wed Feb 8 09:53:06 2023 -0500

    deps: move to @astrojs/markdoc

commit bef26906f3f2f1104b88332778ee219cf062fe88
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 7 16:01:34 2023 -0500

    feat: addContentEntryType integration hook

commit 508568f5117a56fc4ef14db9d0482cdfcfe5007d
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 7 16:00:42 2023 -0500

    deps: graymatter

commit cb706020391b4b61f3854b3e9a9d9190a94785c9
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 7 14:00:27 2023 -0500

    chore: unit tests

commit 545246d15362b8f981f8c315d3b7d0341626eeb8
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 7 14:00:23 2023 -0500

    wip: get dream API for file loader working

commit 97664e0f862f7f6e0c9ce8478b3bed58432f6426
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 18:09:23 2023 -0500

    wip: play with separate markdoc config

commit c5d8a3336cc9f5dd7b4115b7f86fdb86474ca462
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 17:04:22 2023 -0500

    fix: render attributes to html

commit 82e30a0083b20c85307726027ee7e74df7378632
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 17:04:14 2023 -0500

    deps: stringify-attributes

commit b72ba6167db88d5042eee51d5912d4270417bca5
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 16:33:27 2023 -0500

    fix: component render bug

commit 59f1e5c6f89d2c7457a0b0e0acb838bf945d39bf
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 16:11:15 2023 -0500

    feat: basic Astro renderer in with-markdoc

commit de15a7213d9afbc94dd0e50f713c9a02dc8e90e5
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 16:11:01 2023 -0500

    wip: expose Markdoc from integration

commit 83bfe4441b652a7eb880486785dc2c5eda08e3b3
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 11:21:17 2023 -0500

    feat: get markdoc contents

commit 6f500689a00b8f8c2151254930fda24e0b3e4207
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 11:13:57 2023 -0500

    chore: integration setup
2023-03-03 08:41:39 -05:00
bholmesdev
1021c3a3dd Squashed commit of markdoc-poc
commit bd0dd9d71938da22f596ddd1662d9b91707f80c7
Author: bholmesdev <hey@bholmes.dev>
Date:   Wed Feb 15 09:43:04 2023 -0500

    Revert "feat: support `.md` overrides for content collections"

    This reverts commit c06f83ef85.

commit 5b9a1f33f4d0ffd4a63a81a86652fee032b75d76
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 13:48:56 2023 -0500

    feat: generate `.md` types override

commit e464ae894ed69cf492de1d3e8018d9a17c00d7a3
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 12:56:11 2023 -0500

    chore: mdoc -> md

commit b74fd6a7d6b973b2bfd9b2ab9567801ff4d7fec1
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 12:56:01 2023 -0500

    feat: support `.md` overrides for content collections

commit bdcc18a7c03e3524927ba7c1b18ad2fd80a2e994
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 12:30:48 2023 -0500

    deps: remove html-escaper

commit f44b57f0fa2ac923a3f2a46471fda710e92d5824
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 12:30:42 2023 -0500

    fix: remove unneeded html-escaper

commit fb7919498aca6beded444ed5922f3598d244d30c
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 12:08:04 2023 -0500

    fix: type inferencing in preview

commit 0c05034b321a82f2f054b527538d57f45f096822
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 11:32:19 2023 -0500

    fix: import types from @astrojs/markdoc

commit 57e741a6306b801ac4ce47f20f7664518359611d
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 11:28:33 2023 -0500

    refactor: remove unneeded async

commit b19d85451e60da281bc32a2a180452987a049479
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 10:26:20 2023 -0500

    fix: lock

commit b1083a14f9fefe5e7a9f2a8c7c31626a7430c851
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 10:19:50 2023 -0500

    nit: 0.0.0 to avoid version bump

commit 71891ebe9dd54b495e965bf064ee78aaca9dfede
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 09:33:27 2023 -0500

    chore: changeset

commit 444752a5e27c4f5bda54ac024eca9a7ab1c4563f
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 09:30:10 2023 -0500

    docs: add note on Aside src

commit 619d4b3fdf02cc34ea3f8f9a0b4d93db273bb0a1
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 09:25:56 2023 -0500

    nit: reorder type import

commit e914da05706382b17e1b8f3404fc2852002a5dc7
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 09:25:38 2023 -0500

    refactor: clean up astroNode

commit 2dfc226f56dc6a9e3e3ace72d4c3889a1fde4e6d
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 09:08:56 2023 -0500

    docs: README edits

commit 3c7b85c7d9e3c75d551baf33aba9a646d0d61cba
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 14 09:07:29 2023 -0500

    docs: change with-markdoc title

commit 29cdea9a0be439b631389cbc906751185489cbe9
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 18:29:10 2023 -0500

    docs: add usage and examples to Markdoc README

commit e397a80179e9bd934ef8875155d7491b1d4e077a
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 18:18:54 2023 -0500

    fix: line endings in test

commit f9ebf59982fa7dc1202368da344897f54de7f259
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 18:09:15 2023 -0500

    docs: @astrojs/markdoc README intro

commit 7800e9c9dac946f89e139b200a0083b53942118d
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 18:08:07 2023 -0500

    docs: update example README

commit f0b900a6fa7f0775dfab7600c4fb04c9b64e7439
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 18:04:34 2023 -0500

    chore: remove markdoc.config loader

commit 3f040e44d0c639dc51976abe75f46c57f0be60fc
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 17:58:52 2023 -0500

    chore: remove unused fixture dep

commit b2ea6c26df6acf1df8f06d2feb9c91da8c8eafae
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 17:58:25 2023 -0500

    fix: glob for single content extension

commit f4e171c05c421f8696ebc406c9d4d28967f80690
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 15:10:39 2023 -0500

    chore: remove unused deps

commit d9095d0284b0fc22d5da367771bc5286eb8f1926
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 15:10:31 2023 -0500

    chore: unused style tag

commit a5435f13575577bf6a954c68eef9e883959568dc
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 15:08:52 2023 -0500

    chore: clean up Markdoc starter to essentials

commit 815e2f2bad5617ab077d278d7c751f34c22dd0d9
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 14:13:02 2023 -0500

    feat: content prop types for markdoc!

commit 8bcd23c4e70b4900b16ebf5a30dad6ec998f4092
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 14:05:40 2023 -0500

    feat: allow Render type injection

commit cdb7e9e4878888c0883d4082d2415f4d85050389
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 14:04:37 2023 -0500

    chore: unused file

commit 0df33ea37d4ca9bd933be54d7f8b455fce174679
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 13 14:04:31 2023 -0500

    chore: with-markdoc strictNullChecks

commit 377c6d766bd51469f09e1f946a1c2b77affe6620
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 17:39:35 2023 -0500

    play: add docs example with Aside and Since ported

commit f9f811257167da7a5e05a7de3a12b58e7b3568b1
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:22:47 2023 -0500

    chore: remove unused options object

commit c9a66bfeb0ce55ef0a1c0c6ed2da746d5250c795
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:18:27 2023 -0500

    chore: remove content-types. Too early!

commit 67f49e86a980c5d858ad0e384bdc67fad5e096e6
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:18:20 2023 -0500

    fix: ContentEntryType import

commit 9b93d8189213a12346520fa8a71eae824386ad3e
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:10:06 2023 -0500

    chore: Markdoc working! log

commit 90f77645ef3985fbba1badeb4413759626290b1a
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:09:58 2023 -0500

    test: content component dev and build

commit 14559f6a40af63106cebeba210e73392d5d1c37d
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:01:10 2023 -0500

    test: prod builds

commit a0dcbff73cf8b3cf9b55434a8fb2b0b683903c5f
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:01:04 2023 -0500

    fix: stop bundling markdoc for isTag

commit cb1904876f074c50c206131e9588878230bbab47
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:00:53 2023 -0500

    fix: avoid import if no config present (prod build error)

commit bda8295e7920638c013875ab9fe31ce87743c95f
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:00:33 2023 -0500

    chore: ignore `.astro` type error

commit 28a6d7993a227c68aeca747661254ff68883244a
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:00:12 2023 -0500

    fix: remove "components" from tsconfig

commit 0297bb749599aa8063e685a7ece738afe3ae77cc
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 09:00:01 2023 -0500

    deps: add shiki for Code comp error

commit e4f141e558b3d76b761bec69e694eaa40cdf250d
Author: bholmesdev <hey@bholmes.dev>
Date:   Fri Feb 10 08:45:37 2023 -0500

    play: make sure md also works

commit dfdb35f0888ee83457ee825172f7d8485b7d2a43
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 13:25:18 2023 -0500

    test: entry and collections parse

commit eaf4994bf309955209f406d7db0863775fdf4fe0
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 13:25:07 2023 -0500

    deps: devalue, test fixture

commit 3f71932c04f8064cfe74b7f4b02409c681925e4a
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 13:24:47 2023 -0500

    chore: remove unused dream file

commit b182686f88878cdf003efba798edb69372872b21
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 12:29:32 2023 -0500

    refactor: remove fallback loader

commit 0540d701ccb33db7a82be861c36dcafec0dbbb81
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 12:26:21 2023 -0500

    fix: markdoc.config loading

commit 575dadf70e7b5aa263e30c8b496a1cceebd31bb4
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 12:16:18 2023 -0500

    oops, forgot to commit untracked

commit 9746a97bc2dfcf63bfd685f541ffbd229ea134ca
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 12:16:02 2023 -0500

    refactor: pass file contents

commit 534a658325cbddbb153bea1c1338d13011eb0e4f
Author: bholmesdev <hey@bholmes.dev>
Date:   Thu Feb 9 12:13:38 2023 -0500

    refactor: move plain md to content entry type

commit 24df79b1475c12ccefaadb2392e9d5911c491872
Author: bholmesdev <hey@bholmes.dev>
Date:   Wed Feb 8 15:51:44 2023 -0500

    wip: move mdx to collection type API

commit cc44e4fa3453353041fdbe9424d96040f93f28a7
Author: bholmesdev <hey@bholmes.dev>
Date:   Wed Feb 8 15:50:52 2023 -0500

    deps: mdx

commit c30c1b3dcf6da3a075c1f07260ae893ef93e07e2
Author: bholmesdev <hey@bholmes.dev>
Date:   Wed Feb 8 10:10:39 2023 -0500

    wip: scaffold content types

commit 2487aedf9deb74a5725ba8393766b68f60b74af8
Author: bholmesdev <hey@bholmes.dev>
Date:   Wed Feb 8 09:53:35 2023 -0500

    feat: move Renderer to markdoc, get Content component!

commit 44faff911b8de6f6da45f195dad0a56a426b076e
Author: bholmesdev <hey@bholmes.dev>
Date:   Wed Feb 8 09:53:06 2023 -0500

    deps: move to @astrojs/markdoc

commit bef26906f3f2f1104b88332778ee219cf062fe88
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 7 16:01:34 2023 -0500

    feat: addContentEntryType integration hook

commit 508568f5117a56fc4ef14db9d0482cdfcfe5007d
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 7 16:00:42 2023 -0500

    deps: graymatter

commit cb706020391b4b61f3854b3e9a9d9190a94785c9
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 7 14:00:27 2023 -0500

    chore: unit tests

commit 545246d15362b8f981f8c315d3b7d0341626eeb8
Author: bholmesdev <hey@bholmes.dev>
Date:   Tue Feb 7 14:00:23 2023 -0500

    wip: get dream API for file loader working

commit 97664e0f862f7f6e0c9ce8478b3bed58432f6426
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 18:09:23 2023 -0500

    wip: play with separate markdoc config

commit c5d8a3336cc9f5dd7b4115b7f86fdb86474ca462
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 17:04:22 2023 -0500

    fix: render attributes to html

commit 82e30a0083b20c85307726027ee7e74df7378632
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 17:04:14 2023 -0500

    deps: stringify-attributes

commit b72ba6167db88d5042eee51d5912d4270417bca5
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 16:33:27 2023 -0500

    fix: component render bug

commit 59f1e5c6f89d2c7457a0b0e0acb838bf945d39bf
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 16:11:15 2023 -0500

    feat: basic Astro renderer in with-markdoc

commit de15a7213d9afbc94dd0e50f713c9a02dc8e90e5
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 16:11:01 2023 -0500

    wip: expose Markdoc from integration

commit 83bfe4441b652a7eb880486785dc2c5eda08e3b3
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 11:21:17 2023 -0500

    feat: get markdoc contents

commit 6f500689a00b8f8c2151254930fda24e0b3e4207
Author: bholmesdev <hey@bholmes.dev>
Date:   Mon Feb 6 11:13:57 2023 -0500

    chore: integration setup
2023-03-03 08:41:01 -05:00
bholmesdev
9e45239133 Revert "feat: support .md overrides for content collections"
This reverts commit c06f83ef85.
2023-03-03 08:39:41 -05:00
bholmesdev
ed2b7b6cd4 feat: generate .md types override 2023-03-03 08:39:41 -05:00
bholmesdev
7d201b9a46 chore: mdoc -> md 2023-03-03 08:39:41 -05:00
bholmesdev
5aebbd88ca feat: support .md overrides for content collections 2023-03-03 08:39:41 -05:00
bholmesdev
d049a48cf1 deps: remove html-escaper 2023-03-03 08:39:41 -05:00
bholmesdev
af68496777 fix: remove unneeded html-escaper 2023-03-03 08:39:41 -05:00
bholmesdev
8abca5cba0 fix: type inferencing in preview 2023-03-03 08:39:41 -05:00
bholmesdev
a609356958 fix: import types from @astrojs/markdoc 2023-03-03 08:39:41 -05:00
bholmesdev
dfcf10bbc2 refactor: remove unneeded async 2023-03-03 08:39:41 -05:00
bholmesdev
61ceb11fb4 fix: lock 2023-03-03 08:39:41 -05:00
bholmesdev
937f7ad7c8 nit: 0.0.0 to avoid version bump 2023-03-03 08:39:41 -05:00
bholmesdev
d283be6761 chore: changeset 2023-03-03 08:39:41 -05:00
bholmesdev
04e456e3bb docs: add note on Aside src 2023-03-03 08:39:41 -05:00
bholmesdev
9fd6156ce1 nit: reorder type import 2023-03-03 08:39:41 -05:00
bholmesdev
474250815e refactor: clean up astroNode 2023-03-03 08:39:41 -05:00
bholmesdev
cb89b73191 docs: README edits 2023-03-03 08:39:41 -05:00
bholmesdev
aa01a2c512 docs: change with-markdoc title 2023-03-03 08:39:41 -05:00
bholmesdev
870b5e1834 docs: add usage and examples to Markdoc README 2023-03-03 08:39:41 -05:00
bholmesdev
e6dd75910f fix: line endings in test 2023-03-03 08:39:41 -05:00
bholmesdev
fc7f50cecc docs: @astrojs/markdoc README intro 2023-03-03 08:39:41 -05:00
bholmesdev
9365aadc3b docs: update example README 2023-03-03 08:39:41 -05:00
bholmesdev
af4ea22836 chore: remove markdoc.config loader 2023-03-03 08:39:41 -05:00
bholmesdev
bdcc67fc37 chore: remove unused fixture dep 2023-03-03 08:39:40 -05:00
bholmesdev
047a52c1bd fix: glob for single content extension 2023-03-03 08:39:40 -05:00
bholmesdev
03525734ac chore: remove unused deps 2023-03-03 08:39:40 -05:00
bholmesdev
12cdbcd967 chore: unused style tag 2023-03-03 08:39:40 -05:00
bholmesdev
fbe100a70e chore: clean up Markdoc starter to essentials 2023-03-03 08:39:40 -05:00
bholmesdev
f6cf48a806 feat: content prop types for markdoc! 2023-03-03 08:39:40 -05:00
bholmesdev
3a2a829236 feat: allow Render type injection 2023-03-03 08:39:40 -05:00
bholmesdev
7cc28032c2 chore: unused file 2023-03-03 08:39:40 -05:00
bholmesdev
5371403734 chore: with-markdoc strictNullChecks 2023-03-03 08:39:40 -05:00
bholmesdev
f9bd8125fb play: add docs example with Aside and Since ported 2023-03-03 08:39:40 -05:00
bholmesdev
f3e23ddf47 chore: remove unused options object 2023-03-03 08:39:40 -05:00
bholmesdev
a89453c335 chore: remove content-types. Too early! 2023-03-03 08:39:40 -05:00
bholmesdev
f72d03c62e fix: ContentEntryType import 2023-03-03 08:39:40 -05:00
bholmesdev
50fea0b7ae chore: Markdoc working! log 2023-03-03 08:39:40 -05:00
bholmesdev
f3bdf9e0f4 test: content component dev and build 2023-03-03 08:39:40 -05:00
bholmesdev
4312d6df11 test: prod builds 2023-03-03 08:39:40 -05:00
bholmesdev
b53b3ba84f fix: stop bundling markdoc for isTag 2023-03-03 08:39:40 -05:00
bholmesdev
9c5d41959d fix: avoid import if no config present (prod build error) 2023-03-03 08:39:40 -05:00
bholmesdev
a6cbf7b7e1 chore: ignore .astro type error 2023-03-03 08:39:40 -05:00
bholmesdev
624c851e58 fix: remove "components" from tsconfig 2023-03-03 08:39:40 -05:00
bholmesdev
ff611250d9 deps: add shiki for Code comp error 2023-03-03 08:39:39 -05:00
bholmesdev
319d5945c2 play: make sure md also works 2023-03-03 08:39:38 -05:00
bholmesdev
328bfdc50f test: entry and collections parse 2023-03-03 08:39:38 -05:00
bholmesdev
0f13ea26e5 deps: devalue, test fixture 2023-03-03 08:39:38 -05:00
bholmesdev
24cabf10f0 chore: remove unused dream file 2023-03-03 08:39:37 -05:00
bholmesdev
57b36498fd refactor: remove fallback loader 2023-03-03 08:39:37 -05:00
bholmesdev
8beb9680cb fix: markdoc.config loading 2023-03-03 08:39:37 -05:00
bholmesdev
677ed58456 oops, forgot to commit untracked 2023-03-03 08:39:37 -05:00
bholmesdev
49d9972e88 refactor: pass file contents 2023-03-03 08:39:37 -05:00
bholmesdev
61723b5269 refactor: move plain md to content entry type 2023-03-03 08:39:37 -05:00
bholmesdev
85e49304c7 wip: move mdx to collection type API 2023-03-03 08:39:37 -05:00
bholmesdev
8818f58b72 deps: mdx 2023-03-03 08:39:37 -05:00
bholmesdev
8690c522cf wip: scaffold content types 2023-03-03 08:39:37 -05:00
bholmesdev
abe1d40ba8 feat: move Renderer to markdoc, get Content component! 2023-03-03 08:39:37 -05:00
bholmesdev
a15c2fbd97 deps: move to @astrojs/markdoc 2023-03-03 08:39:37 -05:00
bholmesdev
9f589a9c4b feat: addContentEntryType integration hook 2023-03-03 08:39:37 -05:00
bholmesdev
4347ac3fef deps: graymatter 2023-03-03 08:39:37 -05:00
bholmesdev
3238a55c6a chore: unit tests 2023-03-03 08:39:37 -05:00
bholmesdev
80dd10cbe3 wip: get dream API for file loader working 2023-03-03 08:39:37 -05:00
bholmesdev
7d0a6b8042 wip: play with separate markdoc config 2023-03-03 08:39:37 -05:00
bholmesdev
fa52eb4844 fix: render attributes to html 2023-03-03 08:39:37 -05:00
bholmesdev
5b1492eb82 deps: stringify-attributes 2023-03-03 08:39:37 -05:00
bholmesdev
e141dc9da9 fix: component render bug 2023-03-03 08:39:37 -05:00
bholmesdev
a6920f2705 feat: basic Astro renderer in with-markdoc 2023-03-03 08:39:37 -05:00
bholmesdev
41275d2521 wip: expose Markdoc from integration 2023-03-03 08:39:37 -05:00
bholmesdev
36f2f01d6d feat: get markdoc contents 2023-03-03 08:39:37 -05:00
bholmesdev
f49f2cca6b chore: integration setup 2023-03-03 08:39:37 -05:00
2689 changed files with 67372 additions and 152266 deletions

8
.Dockerfile Normal file
View file

@ -0,0 +1,8 @@
FROM gitpod/workspace-node
# Install latest pnpm
RUN curl -fsSL https://get.pnpm.io/install.sh | SHELL=`which bash` bash -
# Install deno in gitpod
RUN curl -fsSL https://deno.land/x/install/install.sh | sh
RUN /home/gitpod/.deno/bin/deno completions bash > /home/gitpod/.bashrc.d/90-deno && echo 'export DENO_INSTALL="/home/gitpod/.deno"' >> /home/gitpod/.bashrc.d/90-deno && echo 'export PATH="$DENO_INSTALL/bin:$PATH"' >> /home/gitpod/.bashrc.d/90-deno

View file

@ -0,0 +1,7 @@
---
'astro': patch
'@astrojs/markdoc': patch
'@astrojs/mdx': patch
---
Introduce the (experimental) `@astrojs/markdoc` integration. This unlocks Markdoc inside your Content Collections, and brings support for Astro and UI components in your content. This also improves internals to make Content Collections extensible to more file types in the future.

View file

@ -6,6 +6,7 @@
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": ["@example/*", "@test/*"],
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
"onlyUpdatePeerDependentsWhenOutOfRange": true
}

View file

@ -1,5 +0,0 @@
---
'astro': patch
---
Fixed an issue where the transitions router did not work within framework components.

View file

@ -1,5 +0,0 @@
---
'@astrojs/cloudflare': patch
---
fixes `AdvancedRuntime` & `DirectoryRuntime` types to work woth Cloudflare caches

View file

@ -6,6 +6,10 @@ RUN npm install -g @playwright/test
# Install latest pnpm
RUN npm install -g pnpm
# Install deno
ENV DENO_INSTALL=/usr/local
RUN curl -fsSL https://deno.land/x/install/install.sh | sh
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& curl -sSL https://dl.google.com/linux/direct/google-chrome-stable_current_$(dpkg --print-architecture).deb -o /tmp/chrome.deb \
&& apt-get -y install /tmp/chrome.deb

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/basics",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/blog",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -0,0 +1,34 @@
{
"name": "Deno",
"build": {
"dockerfile": "../examples.deno.Dockerfile"
},
"workspaceFolder": "/workspaces/astro/examples/deno",
"portsAttributes": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
"waitFor": "postCreateCommand",
"postAttachCommand": {
"Server": "pnpm start --host"
},
"customizations": {
"codespaces": {
"openFiles": ["src/pages/index.astro"]
},
"vscode": {
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
}
}
}

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/docs",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -0,0 +1,10 @@
FROM mcr.microsoft.com/devcontainers/javascript-node:0-18
# Install latest pnpm
RUN npm install -g pnpm
# Install deno
ENV DENO_INSTALL=/usr/local
RUN curl -fsSL https://deno.land/x/install/install.sh | sh
COPY example-welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/framework-alpine",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/framework-lit",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/framework-multiple",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/framework-preact",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/framework-react",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/framework-solid",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/framework-svelte",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/framework-vue",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/hackernews",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/minimal",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/non-html-pages",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/portfolio",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/ssr",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/with-markdown-plugins",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/with-markdown-shiki",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/with-mdx",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/with-nanostores",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/with-tailwindcss",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/with-vite-plugin-pwa",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -7,13 +7,13 @@
"workspaceFolder": "/workspaces/astro/examples/with-vitest",
"portsAttributes": {
"4321": {
"3000": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [4321],
"forwardPorts": [3000],
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",

View file

@ -1,7 +1,7 @@
**/*.d.ts
packages/**/*.min.js
packages/**/dist/**/*
packages/**/fixtures/**/*
packages/webapi/**/*
packages/astro/vendor/vite/**/*
examples/**/*
scripts/**/*

View file

@ -1,74 +1,25 @@
const { builtinModules } = require('module');
module.exports = {
extends: [
'plugin:@typescript-eslint/recommended-type-checked',
'plugin:@typescript-eslint/stylistic-type-checked',
'prettier',
],
parser: '@typescript-eslint/parser',
parserOptions: {
project: ['./packages/*/tsconfig.json', './tsconfig.eslint.json'],
tsconfigRootDir: __dirname,
},
extends: ['plugin:@typescript-eslint/recommended', 'prettier'],
plugins: ['@typescript-eslint', 'prettier', 'no-only-tests'],
rules: {
// These off/configured-differently-by-default rules fit well for us
'@typescript-eslint/array-type': ['error', { default: 'array-simple' }],
'@typescript-eslint/no-unused-vars': [
'error',
{ argsIgnorePattern: '^_', ignoreRestSiblings: true },
],
'no-only-tests/no-only-tests': 'error',
'@typescript-eslint/no-shadow': ['error'],
'no-console': 'warn',
// Todo: do we want these?
'@typescript-eslint/array-type': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/class-literal-property-style': 'off',
'@typescript-eslint/consistent-indexed-object-style': 'off',
'@typescript-eslint/consistent-type-definitions': 'off',
'@typescript-eslint/dot-notation': 'off',
'@typescript-eslint/no-base-to-string': 'off',
'@typescript-eslint/camelcase': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/no-floating-promises': 'off',
'@typescript-eslint/no-misused-promises': 'off',
'@typescript-eslint/no-redundant-type-constituents': 'off',
'@typescript-eslint/no-this-alias': 'off',
'@typescript-eslint/no-unsafe-argument': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-unsafe-call': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/no-unsafe-return': 'off',
'@typescript-eslint/prefer-nullish-coalescing': 'off',
'@typescript-eslint/prefer-optional-chain': 'off',
'@typescript-eslint/prefer-string-starts-ends-with': 'off',
'@typescript-eslint/require-await': 'off',
'@typescript-eslint/restrict-plus-operands': 'off',
'@typescript-eslint/restrict-template-expressions': 'off',
'@typescript-eslint/sort-type-constituents': 'off',
'@typescript-eslint/unbound-method': 'off',
'@typescript-eslint/no-explicit-any': 'off',
// These rules enabled by the preset configs don't work well for us
'@typescript-eslint/await-thenable': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-use-before-define': 'off',
'@typescript-eslint/no-var-requires': 'off',
'@typescript-eslint/no-this-alias': 'off',
'no-console': 'warn',
'prefer-const': 'off',
'no-shadow': 'off',
'@typescript-eslint/no-shadow': ['error'],
'no-only-tests/no-only-tests': 'error',
},
overrides: [
{
// Ensure Node builtins aren't included in Astro's server runtime
files: ['packages/astro/src/runtime/**/*.ts'],
rules: {
'no-restricted-imports': [
'error',
{
paths: [...builtinModules],
patterns: ['node:*'],
},
],
},
},
{
files: ['packages/**/test/*.js', 'packages/**/*.js'],
env: {
@ -90,7 +41,6 @@ module.exports = {
{
files: ['benchmark/**/*.js'],
rules: {
'@typescript-eslint/no-unused-vars': 'off',
'no-console': 'off',
},
},

View file

@ -10,20 +10,35 @@ body:
Thank you for taking the time to file a bug report! Please fill out this form as completely as possible.
✅ I am using the **latest version of Astro** and all plugins.
✅ I am using a version of Node that Astro supports (`>=18.14.1`)
- type: textarea
id: astro-info
✅ I am using a version of Node that supports ESM (`v14.18.0+`, or `v16.12.0+`)
- type: input
id: astro-version
attributes:
label: Astro Info
description: Run the command `astro info` in your terminal and paste the output here. Please review the data before submitting in case there is any sensitive information you don't want to share.
render: block
label: What version of `astro` are you using?
placeholder: 0.0.0
validations:
required: true
- type: input
id: browser
id: ssr-adapter
attributes:
label: If this issue only occurs in one browser, which browser is a problem?
placeholder: Chrome, Firefox, Safari
label: Are you using an SSR adapter? If so, which one?
placeholder: None, or Netlify, Vercel, Cloudflare, etc.
validations:
required: true
- type: input
id: package-manager
attributes:
label: What package manager are you using?
placeholder: npm, yarn, pnpm
validations:
required: true
- type: input
id: os
attributes:
label: What operating system are you using?
placeholder: Mac, Windows, Linux
validations:
required: true
- type: textarea
id: bug-description
attributes:
@ -31,18 +46,11 @@ body:
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: bug-expectation
attributes:
label: What's the expected result?
description: Describe what you expect to happen.
validations:
required: true
- type: input
id: bug-reproduction
attributes:
label: Link to Minimal Reproducible Example
description: 'Use [astro.new](https://astro.new) to create a minimal reproduction of the problem. **A minimal reproduction is required** so that others can help debug your issue. If a report is vague (e.g. just a generic error message) and has no reproduction, it may be auto-closed. Not sure how to create a minimal example? [Read our guide](https://docs.astro.build/en/guides/troubleshooting/#creating-minimal-reproductions)'
description: 'Use [astro.new](https://astro.new) to create a minimal reproduction of the problem. **A minimal reproduction is required** so that others can help debug your issue. If a report is vague (e.g. just a generic error message) and has no reproduction, it may be auto-closed.'
placeholder: 'https://stackblitz.com/abcd1234'
validations:
required: true

View file

@ -4,7 +4,7 @@ contact_links:
url: https://github.com/withastro/docs
about: File an issue or make an improvement to the docs website.
- name: 💡 Ideas for New Features, Improvements and RFCs
url: https://github.com/withastro/roadmap/discussions
url: https://github.com/withastro/rfcs/discussions
about: Propose and discuss future improvements to Astro
- name: 👾 Chat
url: https://astro.build/chat

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -1 +1,11 @@
<svg fill="none" height="40" viewBox="0 0 240 40" width="240" xmlns="http://www.w3.org/2000/svg"><g fill="#fff"><path clip-rule="evenodd" d="m31 40-4-10.6-4 10.6h-2l5-13.2-4-10.5-9 23.7h-2l10-26.4-4.5-11.8-14.5 38.2h-2l15.2-40h2.6l4.2 11 4.2-11h2.6l3.7 9.7 3.7-9.7h2.6l4.2 11 4.2-11h2.6l15.2 40h-2l-14.5-38.2-4.5 11.8 10 26.4h-2l-9-23.7-4 10.5 5 13.2h-2l-4-10.6-4 10.6zm1.5-25-4.5 11.7 4.5 11.9 4.5-11.8zm-5-13.2-4.5 11.8 4 10.6 4.5-11.9zm10 0-4 10.5 4.5 11.9 4-10.6z" fill-rule="evenodd"/><path d="m97.7259 17.956v11.044h2.7061v-15.4h-2.8821l-4.686 7.282-4.686-7.282h-2.882v15.4h2.662v-11l4.818 7.216h.088z"/><path d="m121.687 21.278c0-1.0853-.198-2.112-.594-3.08s-.946-1.8113-1.65-2.53-1.547-1.2833-2.53-1.694c-.982-.4253-2.068-.638-3.256-.638s-2.273.2127-3.256.638c-.982.4253-1.833 1.0047-2.552 1.738-.718.7187-1.276 1.562-1.672 2.53s-.594 1.9947-.594 3.08.198 2.112.594 3.08.946 1.8113 1.65 2.53 1.548 1.2907 2.53 1.716c.983.4107 2.068.616 3.256.616s2.274-.2127 3.256-.638c.983-.4253 1.834-.9973 2.552-1.716.719-.7333 1.276-1.584 1.672-2.552s.594-1.9947.594-3.08zm-2.838.044c0 .748-.132 1.4593-.396 2.134-.249.66-.601 1.2393-1.056 1.738-.454.484-1.004.8727-1.65 1.166-.63.2787-1.327.418-2.09.418-.762 0-1.466-.1467-2.112-.44-.645-.2933-1.202-.6893-1.672-1.188-.454-.4987-.814-1.078-1.078-1.738-.249-.6747-.374-1.386-.374-2.134s.125-1.452.374-2.112c.264-.6747.624-1.254 1.078-1.738.455-.4987.998-.8873 1.628-1.166.646-.2933 1.35-.44 2.112-.44.763 0 1.467.1467 2.112.44.646.2933 1.196.6893 1.65 1.188.47.4987.829 1.0853 1.078 1.76.264.66.396 1.364.396 2.112z"/><path d="m137.585 24.248-8.25-10.648h-2.508v15.4h2.662v-10.956l8.492 10.956h2.266v-15.4h-2.662z"/><path d="m161.5 21.278c0-1.0853-.198-2.112-.594-3.08s-.946-1.8113-1.65-2.53-1.548-1.2833-2.53-1.694c-.983-.4253-2.068-.638-3.256-.638s-2.274.2127-3.256.638c-.983.4253-1.834 1.0047-2.552 1.738-.719.7187-1.276 1.562-1.672 2.53s-.594 1.9947-.594 3.08.198 2.112.594 3.08.946 1.8113 1.65 2.53 1.547 1.2907 2.53 1.716c.982.4107 2.068.616 3.256.616s2.273-.2127 3.256-.638c.982-.4253 1.833-.9973 2.552-1.716.718-.7333 1.276-1.584 1.672-2.552s.594-1.9947.594-3.08zm-2.838.044c0 .748-.132 1.4593-.396 2.134-.25.66-.602 1.2393-1.056 1.738-.455.484-1.005.8727-1.65 1.166-.631.2787-1.328.418-2.09.418-.763 0-1.467-.1467-2.112-.44-.646-.2933-1.203-.6893-1.672-1.188-.455-.4987-.814-1.078-1.078-1.738-.25-.6747-.374-1.386-.374-2.134s.124-1.452.374-2.112c.264-.6747.623-1.254 1.078-1.738.454-.4987.997-.8873 1.628-1.166.645-.2933 1.349-.44 2.112-.44.762 0 1.466.1467 2.112.44.645.2933 1.195.6893 1.65 1.188.469.4987.828 1.0853 1.078 1.76.264.66.396 1.364.396 2.112z"/><path d="m180.367 26.866v-6.468h-6.556v2.354h3.938v2.882c-.469.352-1.027.638-1.672.858-.631.2053-1.313.308-2.046.308-.792 0-1.511-.1393-2.156-.418-.631-.2787-1.181-.66-1.65-1.144-.455-.4987-.807-1.0853-1.056-1.76s-.374-1.408-.374-2.2c0-.748.125-1.452.374-2.112.264-.66.616-1.2393 1.056-1.738.455-.4987.983-.8873 1.584-1.166.616-.2933 1.276-.44 1.98-.44.484 0 .924.044 1.32.132.411.0733.785.1833 1.122.33.337.132.66.3007.968.506s.609.4327.902.682l1.716-2.046c-.396-.3373-.807-.6307-1.232-.88-.411-.264-.851-.484-1.32-.66s-.983-.308-1.54-.396c-.543-.1027-1.151-.154-1.826-.154-1.159 0-2.229.2127-3.212.638-.968.4253-1.804 1.0047-2.508 1.738-.704.7187-1.254 1.562-1.65 2.53-.381.968-.572 1.9947-.572 3.08 0 1.1293.191 2.178.572 3.146s.917 1.8113 1.606 2.53c.704.704 1.547 1.2613 2.53 1.672.983.396 2.075.594 3.278.594.675 0 1.32-.066 1.936-.198.616-.1173 1.188-.286 1.716-.506.543-.22 1.041-.4767 1.496-.77.469-.2933.895-.6013 1.276-.924z"/><path d="m198.829 29-4.158-5.83c.543-.1467 1.034-.352 1.474-.616.455-.2787.843-.6087 1.166-.99.323-.396.572-.8433.748-1.342.191-.5133.286-1.0927.286-1.738 0-.748-.132-1.4227-.396-2.024-.264-.616-.645-1.1293-1.144-1.54-.484-.4253-1.085-.748-1.804-.968-.704-.2347-1.496-.352-2.376-.352h-6.864v15.4h2.706v-5.368h3.388l3.784 5.368zm-3.234-10.362c0 .792-.286 1.4227-.858 1.892s-1.342.704-2.31.704h-3.96v-5.17h3.938c1.012 0 1.797.22 2.354.66.557.4253.836 1.0633.836 1.914z"/><path d="m211.934 13.49h-2.508l-6.776 15.51h2.772l1.584-3.718h7.282l1.562 3.718h2.86zm1.364 9.394h-5.302l2.64-6.16z"/><path d="m236.31 17.956v11.044h2.706v-15.4h-2.882l-4.686 7.282-4.686-7.282h-2.882v15.4h2.662v-11l4.818 7.216h.088z"/></g></svg>
<svg width="240" height="40" viewBox="0 0 240 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M31 40L27 29.4L23 40H21L26 26.8L22 16.3L13 40H11L21 13.6L16.5 1.8L2 40H0L15.2 0H17.8L22 11L26.2 0H28.8L32.5 9.7L36.2 0H38.8L43 11L47.2 0H49.8L65 40H63L48.5 1.8L44 13.6L54 40H52L43 16.3L39 26.8L44 40H42L38 29.4L34 40H31ZM32.5 15L28 26.7L32.5 38.6L37 26.8L32.5 15ZM27.5 1.8L23 13.6L27 24.2L31.5 12.3L27.5 1.8ZM37.5 1.8L33.5 12.3L38 24.2L42 13.6L37.5 1.8Z" fill="#FFFFFF"/>
<path d="M97.7259 17.956V29H100.432V13.6H97.5499L92.8639 20.882L88.1779 13.6H85.2959V29H87.9579V18L92.7759 25.216H92.8639L97.7259 17.956Z" fill="#FFFFFF"/>
<path d="M121.687 21.278C121.687 20.1927 121.489 19.166 121.093 18.198C120.697 17.23 120.147 16.3867 119.443 15.668C118.739 14.9493 117.896 14.3847 116.913 13.974C115.931 13.5487 114.845 13.336 113.657 13.336C112.469 13.336 111.384 13.5487 110.401 13.974C109.419 14.3993 108.568 14.9787 107.849 15.712C107.131 16.4307 106.573 17.274 106.177 18.242C105.781 19.21 105.583 20.2367 105.583 21.322C105.583 22.4073 105.781 23.434 106.177 24.402C106.573 25.37 107.123 26.2133 107.827 26.932C108.531 27.6507 109.375 28.2227 110.357 28.648C111.34 29.0587 112.425 29.264 113.613 29.264C114.801 29.264 115.887 29.0513 116.869 28.626C117.852 28.2007 118.703 27.6287 119.421 26.91C120.14 26.1767 120.697 25.326 121.093 24.358C121.489 23.39 121.687 22.3633 121.687 21.278ZM118.849 21.322C118.849 22.07 118.717 22.7813 118.453 23.456C118.204 24.116 117.852 24.6953 117.397 25.194C116.943 25.678 116.393 26.0667 115.747 26.36C115.117 26.6387 114.42 26.778 113.657 26.778C112.895 26.778 112.191 26.6313 111.545 26.338C110.9 26.0447 110.343 25.6487 109.873 25.15C109.419 24.6513 109.059 24.072 108.795 23.412C108.546 22.7373 108.421 22.026 108.421 21.278C108.421 20.53 108.546 19.826 108.795 19.166C109.059 18.4913 109.419 17.912 109.873 17.428C110.328 16.9293 110.871 16.5407 111.501 16.262C112.147 15.9687 112.851 15.822 113.613 15.822C114.376 15.822 115.08 15.9687 115.725 16.262C116.371 16.5553 116.921 16.9513 117.375 17.45C117.845 17.9487 118.204 18.5353 118.453 19.21C118.717 19.87 118.849 20.574 118.849 21.322Z" fill="#FFFFFF"/>
<path d="M137.585 24.248L129.335 13.6H126.827V29H129.489V18.044L137.981 29H140.247V13.6H137.585V24.248Z" fill="#FFFFFF"/>
<path d="M161.5 21.278C161.5 20.1927 161.302 19.166 160.906 18.198C160.51 17.23 159.96 16.3867 159.256 15.668C158.552 14.9493 157.708 14.3847 156.726 13.974C155.743 13.5487 154.658 13.336 153.47 13.336C152.282 13.336 151.196 13.5487 150.214 13.974C149.231 14.3993 148.38 14.9787 147.662 15.712C146.943 16.4307 146.386 17.274 145.99 18.242C145.594 19.21 145.396 20.2367 145.396 21.322C145.396 22.4073 145.594 23.434 145.99 24.402C146.386 25.37 146.936 26.2133 147.64 26.932C148.344 27.6507 149.187 28.2227 150.17 28.648C151.152 29.0587 152.238 29.264 153.426 29.264C154.614 29.264 155.699 29.0513 156.682 28.626C157.664 28.2007 158.515 27.6287 159.234 26.91C159.952 26.1767 160.51 25.326 160.906 24.358C161.302 23.39 161.5 22.3633 161.5 21.278ZM158.662 21.322C158.662 22.07 158.53 22.7813 158.266 23.456C158.016 24.116 157.664 24.6953 157.21 25.194C156.755 25.678 156.205 26.0667 155.56 26.36C154.929 26.6387 154.232 26.778 153.47 26.778C152.707 26.778 152.003 26.6313 151.358 26.338C150.712 26.0447 150.155 25.6487 149.686 25.15C149.231 24.6513 148.872 24.072 148.608 23.412C148.358 22.7373 148.234 22.026 148.234 21.278C148.234 20.53 148.358 19.826 148.608 19.166C148.872 18.4913 149.231 17.912 149.686 17.428C150.14 16.9293 150.683 16.5407 151.314 16.262C151.959 15.9687 152.663 15.822 153.426 15.822C154.188 15.822 154.892 15.9687 155.538 16.262C156.183 16.5553 156.733 16.9513 157.188 17.45C157.657 17.9487 158.016 18.5353 158.266 19.21C158.53 19.87 158.662 20.574 158.662 21.322Z" fill="#FFFFFF"/>
<path d="M180.367 26.866V20.398H173.811V22.752H177.749V25.634C177.28 25.986 176.722 26.272 176.077 26.492C175.446 26.6973 174.764 26.8 174.031 26.8C173.239 26.8 172.52 26.6607 171.875 26.382C171.244 26.1033 170.694 25.722 170.225 25.238C169.77 24.7393 169.418 24.1527 169.169 23.478C168.92 22.8033 168.795 22.07 168.795 21.278C168.795 20.53 168.92 19.826 169.169 19.166C169.433 18.506 169.785 17.9267 170.225 17.428C170.68 16.9293 171.208 16.5407 171.809 16.262C172.425 15.9687 173.085 15.822 173.789 15.822C174.273 15.822 174.713 15.866 175.109 15.954C175.52 16.0273 175.894 16.1373 176.231 16.284C176.568 16.416 176.891 16.5847 177.199 16.79C177.507 16.9953 177.808 17.2227 178.101 17.472L179.817 15.426C179.421 15.0887 179.01 14.7953 178.585 14.546C178.174 14.282 177.734 14.062 177.265 13.886C176.796 13.71 176.282 13.578 175.725 13.49C175.182 13.3873 174.574 13.336 173.899 13.336C172.74 13.336 171.67 13.5487 170.687 13.974C169.719 14.3993 168.883 14.9787 168.179 15.712C167.475 16.4307 166.925 17.274 166.529 18.242C166.148 19.21 165.957 20.2367 165.957 21.322C165.957 22.4513 166.148 23.5 166.529 24.468C166.91 25.436 167.446 26.2793 168.135 26.998C168.839 27.702 169.682 28.2593 170.665 28.67C171.648 29.066 172.74 29.264 173.943 29.264C174.618 29.264 175.263 29.198 175.879 29.066C176.495 28.9487 177.067 28.78 177.595 28.56C178.138 28.34 178.636 28.0833 179.091 27.79C179.56 27.4967 179.986 27.1887 180.367 26.866Z" fill="#FFFFFF"/>
<path d="M198.829 29L194.671 23.17C195.214 23.0233 195.705 22.818 196.145 22.554C196.6 22.2753 196.988 21.9453 197.311 21.564C197.634 21.168 197.883 20.7207 198.059 20.222C198.25 19.7087 198.345 19.1293 198.345 18.484C198.345 17.736 198.213 17.0613 197.949 16.46C197.685 15.844 197.304 15.3307 196.805 14.92C196.321 14.4947 195.72 14.172 195.001 13.952C194.297 13.7173 193.505 13.6 192.625 13.6H185.761V29H188.467V23.632H191.855L195.639 29H198.829ZM195.595 18.638C195.595 19.43 195.309 20.0607 194.737 20.53C194.165 20.9993 193.395 21.234 192.427 21.234H188.467V16.064H192.405C193.417 16.064 194.202 16.284 194.759 16.724C195.316 17.1493 195.595 17.7873 195.595 18.638Z" fill="#FFFFFF"/>
<path d="M211.934 13.49H209.426L202.65 29H205.422L207.006 25.282H214.288L215.85 29H218.71L211.934 13.49ZM213.298 22.884H207.996L210.636 16.724L213.298 22.884Z" fill="#FFFFFF"/>
<path d="M236.31 17.956V29H239.016V13.6H236.134L231.448 20.882L226.762 13.6H223.88V29H226.542V18L231.36 25.216H231.448L236.31 17.956Z" fill="#FFFFFF"/>
</svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

@ -1 +1,11 @@
<svg fill="none" height="40" viewBox="0 0 240 40" width="240" xmlns="http://www.w3.org/2000/svg"><g fill="#000"><path clip-rule="evenodd" d="m31 40-4-10.6-4 10.6h-2l5-13.2-4-10.5-9 23.7h-2l10-26.4-4.5-11.8-14.5 38.2h-2l15.2-40h2.6l4.2 11 4.2-11h2.6l3.7 9.7 3.7-9.7h2.6l4.2 11 4.2-11h2.6l15.2 40h-2l-14.5-38.2-4.5 11.8 10 26.4h-2l-9-23.7-4 10.5 5 13.2h-2l-4-10.6-4 10.6zm1.5-25-4.5 11.7 4.5 11.9 4.5-11.8zm-5-13.2-4.5 11.8 4 10.6 4.5-11.9zm10 0-4 10.5 4.5 11.9 4-10.6z" fill-rule="evenodd"/><path d="m97.7259 17.956v11.044h2.7061v-15.4h-2.8821l-4.686 7.282-4.686-7.282h-2.882v15.4h2.662v-11l4.818 7.216h.088z"/><path d="m121.687 21.278c0-1.0853-.198-2.112-.594-3.08s-.946-1.8113-1.65-2.53-1.547-1.2833-2.53-1.694c-.982-.4253-2.068-.638-3.256-.638s-2.273.2127-3.256.638c-.982.4253-1.833 1.0047-2.552 1.738-.718.7187-1.276 1.562-1.672 2.53s-.594 1.9947-.594 3.08.198 2.112.594 3.08.946 1.8113 1.65 2.53 1.548 1.2907 2.53 1.716c.983.4107 2.068.616 3.256.616s2.274-.2127 3.256-.638c.983-.4253 1.834-.9973 2.552-1.716.719-.7333 1.276-1.584 1.672-2.552s.594-1.9947.594-3.08zm-2.838.044c0 .748-.132 1.4593-.396 2.134-.249.66-.601 1.2393-1.056 1.738-.454.484-1.004.8727-1.65 1.166-.63.2787-1.327.418-2.09.418-.762 0-1.466-.1467-2.112-.44-.645-.2933-1.202-.6893-1.672-1.188-.454-.4987-.814-1.078-1.078-1.738-.249-.6747-.374-1.386-.374-2.134s.125-1.452.374-2.112c.264-.6747.624-1.254 1.078-1.738.455-.4987.998-.8873 1.628-1.166.646-.2933 1.35-.44 2.112-.44.763 0 1.467.1467 2.112.44.646.2933 1.196.6893 1.65 1.188.47.4987.829 1.0853 1.078 1.76.264.66.396 1.364.396 2.112z"/><path d="m137.585 24.248-8.25-10.648h-2.508v15.4h2.662v-10.956l8.492 10.956h2.266v-15.4h-2.662z"/><path d="m161.5 21.278c0-1.0853-.198-2.112-.594-3.08s-.946-1.8113-1.65-2.53-1.548-1.2833-2.53-1.694c-.983-.4253-2.068-.638-3.256-.638s-2.274.2127-3.256.638c-.983.4253-1.834 1.0047-2.552 1.738-.719.7187-1.276 1.562-1.672 2.53s-.594 1.9947-.594 3.08.198 2.112.594 3.08.946 1.8113 1.65 2.53 1.547 1.2907 2.53 1.716c.982.4107 2.068.616 3.256.616s2.273-.2127 3.256-.638c.982-.4253 1.833-.9973 2.552-1.716.718-.7333 1.276-1.584 1.672-2.552s.594-1.9947.594-3.08zm-2.838.044c0 .748-.132 1.4593-.396 2.134-.25.66-.602 1.2393-1.056 1.738-.455.484-1.005.8727-1.65 1.166-.631.2787-1.328.418-2.09.418-.763 0-1.467-.1467-2.112-.44-.646-.2933-1.203-.6893-1.672-1.188-.455-.4987-.814-1.078-1.078-1.738-.25-.6747-.374-1.386-.374-2.134s.124-1.452.374-2.112c.264-.6747.623-1.254 1.078-1.738.454-.4987.997-.8873 1.628-1.166.645-.2933 1.349-.44 2.112-.44.762 0 1.466.1467 2.112.44.645.2933 1.195.6893 1.65 1.188.469.4987.828 1.0853 1.078 1.76.264.66.396 1.364.396 2.112z"/><path d="m180.367 26.866v-6.468h-6.556v2.354h3.938v2.882c-.469.352-1.027.638-1.672.858-.631.2053-1.313.308-2.046.308-.792 0-1.511-.1393-2.156-.418-.631-.2787-1.181-.66-1.65-1.144-.455-.4987-.807-1.0853-1.056-1.76s-.374-1.408-.374-2.2c0-.748.125-1.452.374-2.112.264-.66.616-1.2393 1.056-1.738.455-.4987.983-.8873 1.584-1.166.616-.2933 1.276-.44 1.98-.44.484 0 .924.044 1.32.132.411.0733.785.1833 1.122.33.337.132.66.3007.968.506s.609.4327.902.682l1.716-2.046c-.396-.3373-.807-.6307-1.232-.88-.411-.264-.851-.484-1.32-.66s-.983-.308-1.54-.396c-.543-.1027-1.151-.154-1.826-.154-1.159 0-2.229.2127-3.212.638-.968.4253-1.804 1.0047-2.508 1.738-.704.7187-1.254 1.562-1.65 2.53-.381.968-.572 1.9947-.572 3.08 0 1.1293.191 2.178.572 3.146s.917 1.8113 1.606 2.53c.704.704 1.547 1.2613 2.53 1.672.983.396 2.075.594 3.278.594.675 0 1.32-.066 1.936-.198.616-.1173 1.188-.286 1.716-.506.543-.22 1.041-.4767 1.496-.77.469-.2933.895-.6013 1.276-.924z"/><path d="m198.829 29-4.158-5.83c.543-.1467 1.034-.352 1.474-.616.455-.2787.843-.6087 1.166-.99.323-.396.572-.8433.748-1.342.191-.5133.286-1.0927.286-1.738 0-.748-.132-1.4227-.396-2.024-.264-.616-.645-1.1293-1.144-1.54-.484-.4253-1.085-.748-1.804-.968-.704-.2347-1.496-.352-2.376-.352h-6.864v15.4h2.706v-5.368h3.388l3.784 5.368zm-3.234-10.362c0 .792-.286 1.4227-.858 1.892s-1.342.704-2.31.704h-3.96v-5.17h3.938c1.012 0 1.797.22 2.354.66.557.4253.836 1.0633.836 1.914z"/><path d="m211.934 13.49h-2.508l-6.776 15.51h2.772l1.584-3.718h7.282l1.562 3.718h2.86zm1.364 9.394h-5.302l2.64-6.16z"/><path d="m236.31 17.956v11.044h2.706v-15.4h-2.882l-4.686 7.282-4.686-7.282h-2.882v15.4h2.662v-11l4.818 7.216h.088z"/></g></svg>
<svg width="240" height="40" viewBox="0 0 240 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M31 40L27 29.4L23 40H21L26 26.8L22 16.3L13 40H11L21 13.6L16.5 1.8L2 40H0L15.2 0H17.8L22 11L26.2 0H28.8L32.5 9.7L36.2 0H38.8L43 11L47.2 0H49.8L65 40H63L48.5 1.8L44 13.6L54 40H52L43 16.3L39 26.8L44 40H42L38 29.4L34 40H31ZM32.5 15L28 26.7L32.5 38.6L37 26.8L32.5 15ZM27.5 1.8L23 13.6L27 24.2L31.5 12.3L27.5 1.8ZM37.5 1.8L33.5 12.3L38 24.2L42 13.6L37.5 1.8Z" fill="#000000"/>
<path d="M97.7259 17.956V29H100.432V13.6H97.5499L92.8639 20.882L88.1779 13.6H85.2959V29H87.9579V18L92.7759 25.216H92.8639L97.7259 17.956Z" fill="#000000"/>
<path d="M121.687 21.278C121.687 20.1927 121.489 19.166 121.093 18.198C120.697 17.23 120.147 16.3867 119.443 15.668C118.739 14.9493 117.896 14.3847 116.913 13.974C115.931 13.5487 114.845 13.336 113.657 13.336C112.469 13.336 111.384 13.5487 110.401 13.974C109.419 14.3993 108.568 14.9787 107.849 15.712C107.131 16.4307 106.573 17.274 106.177 18.242C105.781 19.21 105.583 20.2367 105.583 21.322C105.583 22.4073 105.781 23.434 106.177 24.402C106.573 25.37 107.123 26.2133 107.827 26.932C108.531 27.6507 109.375 28.2227 110.357 28.648C111.34 29.0587 112.425 29.264 113.613 29.264C114.801 29.264 115.887 29.0513 116.869 28.626C117.852 28.2007 118.703 27.6287 119.421 26.91C120.14 26.1767 120.697 25.326 121.093 24.358C121.489 23.39 121.687 22.3633 121.687 21.278ZM118.849 21.322C118.849 22.07 118.717 22.7813 118.453 23.456C118.204 24.116 117.852 24.6953 117.397 25.194C116.943 25.678 116.393 26.0667 115.747 26.36C115.117 26.6387 114.42 26.778 113.657 26.778C112.895 26.778 112.191 26.6313 111.545 26.338C110.9 26.0447 110.343 25.6487 109.873 25.15C109.419 24.6513 109.059 24.072 108.795 23.412C108.546 22.7373 108.421 22.026 108.421 21.278C108.421 20.53 108.546 19.826 108.795 19.166C109.059 18.4913 109.419 17.912 109.873 17.428C110.328 16.9293 110.871 16.5407 111.501 16.262C112.147 15.9687 112.851 15.822 113.613 15.822C114.376 15.822 115.08 15.9687 115.725 16.262C116.371 16.5553 116.921 16.9513 117.375 17.45C117.845 17.9487 118.204 18.5353 118.453 19.21C118.717 19.87 118.849 20.574 118.849 21.322Z" fill="#000000"/>
<path d="M137.585 24.248L129.335 13.6H126.827V29H129.489V18.044L137.981 29H140.247V13.6H137.585V24.248Z" fill="#000000"/>
<path d="M161.5 21.278C161.5 20.1927 161.302 19.166 160.906 18.198C160.51 17.23 159.96 16.3867 159.256 15.668C158.552 14.9493 157.708 14.3847 156.726 13.974C155.743 13.5487 154.658 13.336 153.47 13.336C152.282 13.336 151.196 13.5487 150.214 13.974C149.231 14.3993 148.38 14.9787 147.662 15.712C146.943 16.4307 146.386 17.274 145.99 18.242C145.594 19.21 145.396 20.2367 145.396 21.322C145.396 22.4073 145.594 23.434 145.99 24.402C146.386 25.37 146.936 26.2133 147.64 26.932C148.344 27.6507 149.187 28.2227 150.17 28.648C151.152 29.0587 152.238 29.264 153.426 29.264C154.614 29.264 155.699 29.0513 156.682 28.626C157.664 28.2007 158.515 27.6287 159.234 26.91C159.952 26.1767 160.51 25.326 160.906 24.358C161.302 23.39 161.5 22.3633 161.5 21.278ZM158.662 21.322C158.662 22.07 158.53 22.7813 158.266 23.456C158.016 24.116 157.664 24.6953 157.21 25.194C156.755 25.678 156.205 26.0667 155.56 26.36C154.929 26.6387 154.232 26.778 153.47 26.778C152.707 26.778 152.003 26.6313 151.358 26.338C150.712 26.0447 150.155 25.6487 149.686 25.15C149.231 24.6513 148.872 24.072 148.608 23.412C148.358 22.7373 148.234 22.026 148.234 21.278C148.234 20.53 148.358 19.826 148.608 19.166C148.872 18.4913 149.231 17.912 149.686 17.428C150.14 16.9293 150.683 16.5407 151.314 16.262C151.959 15.9687 152.663 15.822 153.426 15.822C154.188 15.822 154.892 15.9687 155.538 16.262C156.183 16.5553 156.733 16.9513 157.188 17.45C157.657 17.9487 158.016 18.5353 158.266 19.21C158.53 19.87 158.662 20.574 158.662 21.322Z" fill="#000000"/>
<path d="M180.367 26.866V20.398H173.811V22.752H177.749V25.634C177.28 25.986 176.722 26.272 176.077 26.492C175.446 26.6973 174.764 26.8 174.031 26.8C173.239 26.8 172.52 26.6607 171.875 26.382C171.244 26.1033 170.694 25.722 170.225 25.238C169.77 24.7393 169.418 24.1527 169.169 23.478C168.92 22.8033 168.795 22.07 168.795 21.278C168.795 20.53 168.92 19.826 169.169 19.166C169.433 18.506 169.785 17.9267 170.225 17.428C170.68 16.9293 171.208 16.5407 171.809 16.262C172.425 15.9687 173.085 15.822 173.789 15.822C174.273 15.822 174.713 15.866 175.109 15.954C175.52 16.0273 175.894 16.1373 176.231 16.284C176.568 16.416 176.891 16.5847 177.199 16.79C177.507 16.9953 177.808 17.2227 178.101 17.472L179.817 15.426C179.421 15.0887 179.01 14.7953 178.585 14.546C178.174 14.282 177.734 14.062 177.265 13.886C176.796 13.71 176.282 13.578 175.725 13.49C175.182 13.3873 174.574 13.336 173.899 13.336C172.74 13.336 171.67 13.5487 170.687 13.974C169.719 14.3993 168.883 14.9787 168.179 15.712C167.475 16.4307 166.925 17.274 166.529 18.242C166.148 19.21 165.957 20.2367 165.957 21.322C165.957 22.4513 166.148 23.5 166.529 24.468C166.91 25.436 167.446 26.2793 168.135 26.998C168.839 27.702 169.682 28.2593 170.665 28.67C171.648 29.066 172.74 29.264 173.943 29.264C174.618 29.264 175.263 29.198 175.879 29.066C176.495 28.9487 177.067 28.78 177.595 28.56C178.138 28.34 178.636 28.0833 179.091 27.79C179.56 27.4967 179.986 27.1887 180.367 26.866Z" fill="#000000"/>
<path d="M198.829 29L194.671 23.17C195.214 23.0233 195.705 22.818 196.145 22.554C196.6 22.2753 196.988 21.9453 197.311 21.564C197.634 21.168 197.883 20.7207 198.059 20.222C198.25 19.7087 198.345 19.1293 198.345 18.484C198.345 17.736 198.213 17.0613 197.949 16.46C197.685 15.844 197.304 15.3307 196.805 14.92C196.321 14.4947 195.72 14.172 195.001 13.952C194.297 13.7173 193.505 13.6 192.625 13.6H185.761V29H188.467V23.632H191.855L195.639 29H198.829ZM195.595 18.638C195.595 19.43 195.309 20.0607 194.737 20.53C194.165 20.9993 193.395 21.234 192.427 21.234H188.467V16.064H192.405C193.417 16.064 194.202 16.284 194.759 16.724C195.316 17.1493 195.595 17.7873 195.595 18.638Z" fill="#000000"/>
<path d="M211.934 13.49H209.426L202.65 29H205.422L207.006 25.282H214.288L215.85 29H218.71L211.934 13.49ZM213.298 22.884H207.996L210.636 16.724L213.298 22.884Z" fill="#000000"/>
<path d="M236.31 17.956V29H239.016V13.6H236.134L231.448 20.882L226.762 13.6H223.88V29H226.542V18L231.36 25.216H231.448L236.31 17.956Z" fill="#000000"/>
</svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

@ -1 +1 @@
<svg viewBox="0 0 147 40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><radialGradient id="a" cx="-779.0521" cy="1839.7205" gradientTransform="matrix(0 38.301 44.1228 0 -81154.2578 29839.2441)" gradientUnits="userSpaceOnUse" r="1.0011"><stop offset="0" stop-color="#20c6b7"/><stop offset="1" stop-color="#4d9abf"/></radialGradient><path clip-rule="evenodd" d="m53.37 12.98.12 2.2c1.4-1.7 3.24-2.55 5.53-2.55 3.95 0 5.96 2.27 6.03 6.8v12.57h-4.26v-12.32c0-1.21-.26-2.1-.78-2.68s-1.37-.87-2.55-.87c-1.72 0-3 .78-3.84 2.34v13.53h-4.26v-19.02zm24.38 19.37c-2.7 0-4.89-.85-6.57-2.56-1.68-1.7-2.52-3.98-2.52-6.81v-.53c0-1.9.36-3.59 1.1-5.09.73-1.49 1.76-2.66 3.08-3.49s2.79-1.25 4.42-1.25c2.58 0 4.58.83 5.99 2.48s2.11 3.99 2.11 7.01v1.72h-12.4c.13 1.57.65 2.81 1.57 3.73s2.07 1.37 3.46 1.37c1.95 0 3.54-.79 4.77-2.37l2.3 2.2c-.76 1.14-1.77 2.02-3.04 2.65s-2.69.94-4.27.94zm-.51-16.29c-1.17 0-2.11.41-2.83 1.23s-1.18 1.96-1.38 3.43h8.12v-.32c-.09-1.43-.47-2.51-1.14-3.24-.67-.74-1.59-1.1-2.77-1.1zm16.76-7.7v4.62h3.35v3.16h-3.35v10.62c0 .73.14 1.25.43 1.57s.8.48 1.54.48c.5 0 1-.06 1.49-.18v3.31c-.97.27-1.9.4-2.81.4-3.27 0-4.91-1.81-4.91-5.43v-10.77h-3.12v-3.16h3.12v-4.63zm11.14 23.64h-4.26v-27h4.26zm9.17 0h-4.26v-19.02h4.26zm-4.52-23.96c0-.65.21-1.2.62-1.63.42-.43 1.01-.65 1.78-.65s1.37.22 1.79.65.63.98.63 1.64c0 .64-.21 1.18-.63 1.61s-1.02.64-1.79.64-1.36-.21-1.78-.64c-.41-.44-.62-.98-.62-1.62zm10.66 23.96v-15.86h-2.89v-3.16h2.89v-1.74c0-2.11.58-3.74 1.75-4.89s2.81-1.72 4.91-1.72c.75 0 1.54.11 2.39.32l-.1 3.34c-.54-.1-1.08-.15-1.63-.14-2.04 0-3.05 1.05-3.05 3.15v1.69h3.86v3.16h-3.86v15.85zm17.87-6.12 3.86-12.9h4.54l-7.54 21.9c-1.16 3.2-3.12 4.8-5.89 4.8-.62 0-1.3-.11-2.05-.32v-3.31l.81.05c1.07 0 1.88-.2 2.43-.59.54-.39.97-1.05 1.29-1.98l.61-1.64-6.66-18.93h4.6z" fill="#fff" fill-rule="evenodd"/><path d="m27.89 14.14-.01-.01c-.01 0-.02-.01-.02-.01-.02-.02-.03-.06-.03-.09l.77-4.73 3.62 3.63-3.77 1.6c-.01 0-.02.01-.03.01h-.02s-.01-.01-.02-.02c-.14-.16-.31-.29-.49-.38zm5.26-.29 3.88 3.88c.81.81 1.21 1.21 1.35 1.67.02.07.04.14.05.21l-9.26-3.92s-.01 0-.01-.01c-.04-.02-.08-.03-.08-.07s.04-.06.08-.07l.01-.01zm5.12 7c-.2.38-.59.77-1.25 1.43l-4.37 4.37-5.65-1.18-.03-.01c-.05-.01-.1-.02-.1-.06-.04-.47-.28-.9-.66-1.19-.02-.02-.02-.06-.01-.09v-.01l1.06-6.53v-.02c.01-.05.01-.11.06-.11.46-.06.88-.3 1.16-.67.01-.01.01-.02.03-.03.03-.01.07 0 .1.01zm-6.62 6.8-7.19 7.19 1.23-7.56v-.01c0-.01 0-.02.01-.03.01-.02.04-.03.06-.04h.01c.27-.11.51-.29.69-.52.02-.03.05-.06.09-.06h.03zm-8.71 8.71-.81.81-8.95-12.94s-.01-.01-.01-.01c-.01-.02-.03-.04-.03-.06s.01-.03.02-.04l.01-.01c.03-.04.05-.08.07-.12l.02-.03c.01-.02.03-.05.05-.06s.05-.01.07 0l9.92 2.05c.03 0 .05.02.08.03.01.01.02.03.02.04.14.53.52.97 1.03 1.17.03.01.02.05 0 .08-.01.01-.01.03-.01.05-.12.74-1.19 7.27-1.48 9.04zm-1.69 1.69c-.6.59-.95.9-1.35 1.03-.39.12-.81.12-1.21 0-.47-.15-.87-.55-1.67-1.36l-8.99-8.99 2.35-3.64c.01-.02.02-.03.04-.05s.06-.01.09 0c.54.16 1.12.13 1.64-.08.03-.01.05-.02.07 0l.03.03zm-14.09-10.19-2.06-2.06 4.07-1.74c.01 0 .02-.01.03-.01.03 0 .05.03.07.07.04.06.08.12.13.18l.01.02c.01.02 0 .03-.01.05zm-2.98-2.97-2.61-2.61c-.44-.44-.77-.77-.99-1.04l7.94 1.65h.03c.05.01.1.02.1.06 0 .05-.06.07-.11.09l-.02.01zm-4.05-5c.01-.17.04-.33.09-.5.15-.47.55-.87 1.36-1.67l3.34-3.34c1.54 2.23 3.08 4.46 4.63 6.69.03.04.06.08.03.11-.15.16-.29.34-.4.53-.01.02-.03.05-.05.06-.01.01-.03 0-.04 0zm5.68-6.4 4.49-4.49c.42.19 1.96.83 3.33 1.41 1.04.44 1.99.84 2.29.97.03.01.06.02.07.05.01.02 0 .04 0 .06-.14.66.05 1.35.52 1.83.03.03 0 .07-.03.11l-.01.02-4.56 7.06c-.01.02-.02.04-.04.05s-.06.01-.09 0c-.18-.05-.36-.07-.54-.07-.16 0-.34.03-.52.06-.02 0-.04.01-.05 0-.02-.01-.03-.03-.05-.05zm5.4-5.4 5.81-5.81c.81-.81 1.21-1.21 1.67-1.36.39-.12.81-.12 1.21 0 .47.15.87.55 1.67 1.36l1.26 1.26-4.14 6.4c-.01.02-.02.03-.04.05s-.06.01-.09 0c-.66-.2-1.38-.06-1.92.37-.03.03-.07.01-.1 0-.53-.24-4.73-2.01-5.33-2.27zm12.5-3.67 3.82 3.82-.92 5.7v.02c0 .01 0 .03-.01.04-.01.02-.03.02-.05.03-.2.06-.38.15-.55.27-.01.01-.01.01-.02.02s-.02.02-.04.02c-.01 0-.03 0-.04-.01l-5.82-2.47-.01-.01c-.04-.02-.08-.03-.08-.07-.03-.32-.14-.64-.31-.91-.03-.05-.06-.09-.03-.14zm-3.93 8.6 5.45 2.31c.03.01.06.03.08.06.01.02.01.04 0 .06-.02.08-.03.17-.03.26v.15c0 .04-.04.05-.08.07h-.01c-.86.37-12.13 5.17-12.15 5.17s-.03 0-.05-.02c-.03-.03 0-.07.03-.11 0-.01.01-.01.01-.02l4.48-6.94.01-.01c.03-.04.06-.09.1-.09l.05.01c.1.01.19.03.28.03.68 0 1.31-.33 1.69-.9.01-.02.02-.03.03-.04.04-.01.08 0 .11.01zm-6.25 9.19 12.28-5.24s.02 0 .03.02c.07.07.12.11.18.15l.03.02c.02.01.05.03.05.06v.02l-1.05 6.46v.03c-.01.05-.01.11-.06.11-.57.04-1.08.36-1.37.85v.01c-.01.02-.03.05-.05.06s-.05.01-.07 0l-9.79-2.02c-.02-.02-.16-.53-.18-.53z" fill="url(#a)"/></svg>
<svg viewBox="0 0 147 40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><radialGradient id="a" cx="-779.0521" cy="1839.7205" gradientTransform="matrix(0 38.301 44.1228 0 -81154.2578 29839.2441)" gradientUnits="userSpaceOnUse" r="1.0011"><stop offset="0" stop-color="#20c6b7"/><stop offset="1" stop-color="#4d9abf"/></radialGradient><path clip-rule="evenodd" d="m53.37 12.98.12 2.2c1.4-1.7 3.24-2.55 5.53-2.55 3.95 0 5.96 2.27 6.03 6.8v12.57h-4.26v-12.32c0-1.21-.26-2.1-.78-2.68s-1.37-.87-2.55-.87c-1.72 0-3 .78-3.84 2.34v13.53h-4.26v-19.02zm24.38 19.37c-2.7 0-4.89-.85-6.57-2.56-1.68-1.7-2.52-3.98-2.52-6.81v-.53c0-1.9.36-3.59 1.1-5.09.73-1.49 1.76-2.66 3.08-3.49s2.79-1.25 4.42-1.25c2.58 0 4.58.83 5.99 2.48s2.11 3.99 2.11 7.01v1.72h-12.4c.13 1.57.65 2.81 1.57 3.73s2.07 1.37 3.46 1.37c1.95 0 3.54-.79 4.77-2.37l2.3 2.2c-.76 1.14-1.77 2.02-3.04 2.65s-2.69.94-4.27.94zm-.51-16.29c-1.17 0-2.11.41-2.83 1.23s-1.18 1.96-1.38 3.43h8.12v-.32c-.09-1.43-.47-2.51-1.14-3.24-.67-.74-1.59-1.1-2.77-1.1zm16.76-7.7v4.62h3.35v3.16h-3.35v10.62c0 .73.14 1.25.43 1.57s.8.48 1.54.48c.5 0 1-.06 1.49-.18v3.31c-.97.27-1.9.4-2.81.4-3.27 0-4.91-1.81-4.91-5.43v-10.77h-3.12v-3.16h3.12v-4.63zm11.14 23.64h-4.26v-27h4.26zm9.17 0h-4.26v-19.02h4.26zm-4.52-23.96c0-.65.21-1.2.62-1.63.42-.43 1.01-.65 1.78-.65s1.37.22 1.79.65.63.98.63 1.64c0 .64-.21 1.18-.63 1.61s-1.02.64-1.79.64-1.36-.21-1.78-.64c-.41-.44-.62-.98-.62-1.62zm10.66 23.96v-15.86h-2.89v-3.16h2.89v-1.74c0-2.11.58-3.74 1.75-4.89s2.81-1.72 4.91-1.72c.75 0 1.54.11 2.39.32l-.1 3.34c-.54-.1-1.08-.15-1.63-.14-2.04 0-3.05 1.05-3.05 3.15v1.69h3.86v3.16h-3.86v15.85zm17.87-6.12 3.86-12.9h4.54l-7.54 21.9c-1.16 3.2-3.12 4.8-5.89 4.8-.62 0-1.3-.11-2.05-.32v-3.31l.81.05c1.07 0 1.88-.2 2.43-.59.54-.39.97-1.05 1.29-1.98l.61-1.64-6.66-18.93h4.6z" fill="#ffffff" fill-rule="evenodd"/><path d="m27.89 14.14-.01-.01c-.01 0-.02-.01-.02-.01-.02-.02-.03-.06-.03-.09l.77-4.73 3.62 3.63-3.77 1.6c-.01 0-.02.01-.03.01h-.02s-.01-.01-.02-.02c-.14-.16-.31-.29-.49-.38zm5.26-.29 3.88 3.88c.81.81 1.21 1.21 1.35 1.67.02.07.04.14.05.21l-9.26-3.92s-.01 0-.01-.01c-.04-.02-.08-.03-.08-.07s.04-.06.08-.07l.01-.01zm5.12 7c-.2.38-.59.77-1.25 1.43l-4.37 4.37-5.65-1.18-.03-.01c-.05-.01-.1-.02-.1-.06-.04-.47-.28-.9-.66-1.19-.02-.02-.02-.06-.01-.09v-.01l1.06-6.53v-.02c.01-.05.01-.11.06-.11.46-.06.88-.3 1.16-.67.01-.01.01-.02.03-.03.03-.01.07 0 .1.01zm-6.62 6.8-7.19 7.19 1.23-7.56v-.01c0-.01 0-.02.01-.03.01-.02.04-.03.06-.04h.01c.27-.11.51-.29.69-.52.02-.03.05-.06.09-.06h.03zm-8.71 8.71-.81.81-8.95-12.94s-.01-.01-.01-.01c-.01-.02-.03-.04-.03-.06s.01-.03.02-.04l.01-.01c.03-.04.05-.08.07-.12l.02-.03c.01-.02.03-.05.05-.06s.05-.01.07 0l9.92 2.05c.03 0 .05.02.08.03.01.01.02.03.02.04.14.53.52.97 1.03 1.17.03.01.02.05 0 .08-.01.01-.01.03-.01.05-.12.74-1.19 7.27-1.48 9.04zm-1.69 1.69c-.6.59-.95.9-1.35 1.03-.39.12-.81.12-1.21 0-.47-.15-.87-.55-1.67-1.36l-8.99-8.99 2.35-3.64c.01-.02.02-.03.04-.05s.06-.01.09 0c.54.16 1.12.13 1.64-.08.03-.01.05-.02.07 0l.03.03zm-14.09-10.19-2.06-2.06 4.07-1.74c.01 0 .02-.01.03-.01.03 0 .05.03.07.07.04.06.08.12.13.18l.01.02c.01.02 0 .03-.01.05zm-2.98-2.97-2.61-2.61c-.44-.44-.77-.77-.99-1.04l7.94 1.65h.03c.05.01.1.02.1.06 0 .05-.06.07-.11.09l-.02.01zm-4.05-5c.01-.17.04-.33.09-.5.15-.47.55-.87 1.36-1.67l3.34-3.34c1.54 2.23 3.08 4.46 4.63 6.69.03.04.06.08.03.11-.15.16-.29.34-.4.53-.01.02-.03.05-.05.06-.01.01-.03 0-.04 0zm5.68-6.4 4.49-4.49c.42.19 1.96.83 3.33 1.41 1.04.44 1.99.84 2.29.97.03.01.06.02.07.05.01.02 0 .04 0 .06-.14.66.05 1.35.52 1.83.03.03 0 .07-.03.11l-.01.02-4.56 7.06c-.01.02-.02.04-.04.05s-.06.01-.09 0c-.18-.05-.36-.07-.54-.07-.16 0-.34.03-.52.06-.02 0-.04.01-.05 0-.02-.01-.03-.03-.05-.05zm5.4-5.4 5.81-5.81c.81-.81 1.21-1.21 1.67-1.36.39-.12.81-.12 1.21 0 .47.15.87.55 1.67 1.36l1.26 1.26-4.14 6.4c-.01.02-.02.03-.04.05s-.06.01-.09 0c-.66-.2-1.38-.06-1.92.37-.03.03-.07.01-.1 0-.53-.24-4.73-2.01-5.33-2.27zm12.5-3.67 3.82 3.82-.92 5.7v.02c0 .01 0 .03-.01.04-.01.02-.03.02-.05.03-.2.06-.38.15-.55.27-.01.01-.01.01-.02.02s-.02.02-.04.02c-.01 0-.03 0-.04-.01l-5.82-2.47-.01-.01c-.04-.02-.08-.03-.08-.07-.03-.32-.14-.64-.31-.91-.03-.05-.06-.09-.03-.14zm-3.93 8.6 5.45 2.31c.03.01.06.03.08.06.01.02.01.04 0 .06-.02.08-.03.17-.03.26v.15c0 .04-.04.05-.08.07h-.01c-.86.37-12.13 5.17-12.15 5.17s-.03 0-.05-.02c-.03-.03 0-.07.03-.11 0-.01.01-.01.01-.02l4.48-6.94.01-.01c.03-.04.06-.09.1-.09l.05.01c.1.01.19.03.28.03.68 0 1.31-.33 1.69-.9.01-.02.02-.03.03-.04.04-.01.08 0 .11.01zm-6.25 9.19 12.28-5.24s.02 0 .03.02c.07.07.12.11.18.15l.03.02c.02.01.05.03.05.06v.02l-1.05 6.46v.03c-.01.05-.01.11-.06.11-.57.04-1.08.36-1.37.85v.01c-.01.02-.03.05-.05.06s-.05.01-.07 0l-9.79-2.02c-.02-.02-.16-.53-.18-.53z" fill="url(#a)"/></svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View file

@ -1 +1 @@
<svg viewBox="0 0 147 40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><radialGradient id="a" cx="-779.0521" cy="1839.7205" gradientTransform="matrix(0 38.301 44.1228 0 -81154.2578 29839.2441)" gradientUnits="userSpaceOnUse" r="1.0011"><stop offset="0" stop-color="#20c6b7"/><stop offset="1" stop-color="#4d9abf"/></radialGradient><path clip-rule="evenodd" d="m53.37 12.98.12 2.2c1.4-1.7 3.24-2.55 5.53-2.55 3.95 0 5.96 2.27 6.03 6.8v12.57h-4.26v-12.32c0-1.21-.26-2.1-.78-2.68s-1.37-.87-2.55-.87c-1.72 0-3 .78-3.84 2.34v13.53h-4.26v-19.02zm24.38 19.37c-2.7 0-4.89-.85-6.57-2.56-1.68-1.7-2.52-3.98-2.52-6.81v-.53c0-1.9.36-3.59 1.1-5.09.73-1.49 1.76-2.66 3.08-3.49s2.79-1.25 4.42-1.25c2.58 0 4.58.83 5.99 2.48s2.11 3.99 2.11 7.01v1.72h-12.4c.13 1.57.65 2.81 1.57 3.73s2.07 1.37 3.46 1.37c1.95 0 3.54-.79 4.77-2.37l2.3 2.2c-.76 1.14-1.77 2.02-3.04 2.65s-2.69.94-4.27.94zm-.51-16.29c-1.17 0-2.11.41-2.83 1.23s-1.18 1.96-1.38 3.43h8.12v-.32c-.09-1.43-.47-2.51-1.14-3.24-.67-.74-1.59-1.1-2.77-1.1zm16.76-7.7v4.62h3.35v3.16h-3.35v10.62c0 .73.14 1.25.43 1.57s.8.48 1.54.48c.5 0 1-.06 1.49-.18v3.31c-.97.27-1.9.4-2.81.4-3.27 0-4.91-1.81-4.91-5.43v-10.77h-3.12v-3.16h3.12v-4.63zm11.14 23.64h-4.26v-27h4.26zm9.17 0h-4.26v-19.02h4.26zm-4.52-23.96c0-.65.21-1.2.62-1.63.42-.43 1.01-.65 1.78-.65s1.37.22 1.79.65.63.98.63 1.64c0 .64-.21 1.18-.63 1.61s-1.02.64-1.79.64-1.36-.21-1.78-.64c-.41-.44-.62-.98-.62-1.62zm10.66 23.96v-15.86h-2.89v-3.16h2.89v-1.74c0-2.11.58-3.74 1.75-4.89s2.81-1.72 4.91-1.72c.75 0 1.54.11 2.39.32l-.1 3.34c-.54-.1-1.08-.15-1.63-.14-2.04 0-3.05 1.05-3.05 3.15v1.69h3.86v3.16h-3.86v15.85zm17.87-6.12 3.86-12.9h4.54l-7.54 21.9c-1.16 3.2-3.12 4.8-5.89 4.8-.62 0-1.3-.11-2.05-.32v-3.31l.81.05c1.07 0 1.88-.2 2.43-.59.54-.39.97-1.05 1.29-1.98l.61-1.64-6.66-18.93h4.6z" fill="#0e1e25" fill-rule="evenodd"/><path d="m27.89 14.14-.01-.01c-.01 0-.02-.01-.02-.01-.02-.02-.03-.06-.03-.09l.77-4.73 3.62 3.63-3.77 1.6c-.01 0-.02.01-.03.01h-.02s-.01-.01-.02-.02c-.14-.16-.31-.29-.49-.38zm5.26-.29 3.88 3.88c.81.81 1.21 1.21 1.35 1.67.02.07.04.14.05.21l-9.26-3.92s-.01 0-.01-.01c-.04-.02-.08-.03-.08-.07s.04-.06.08-.07l.01-.01zm5.12 7c-.2.38-.59.77-1.25 1.43l-4.37 4.37-5.65-1.18-.03-.01c-.05-.01-.1-.02-.1-.06-.04-.47-.28-.9-.66-1.19-.02-.02-.02-.06-.01-.09v-.01l1.06-6.53v-.02c.01-.05.01-.11.06-.11.46-.06.88-.3 1.16-.67.01-.01.01-.02.03-.03.03-.01.07 0 .1.01zm-6.62 6.8-7.19 7.19 1.23-7.56v-.01c0-.01 0-.02.01-.03.01-.02.04-.03.06-.04h.01c.27-.11.51-.29.69-.52.02-.03.05-.06.09-.06h.03zm-8.71 8.71-.81.81-8.95-12.94s-.01-.01-.01-.01c-.01-.02-.03-.04-.03-.06s.01-.03.02-.04l.01-.01c.03-.04.05-.08.07-.12l.02-.03c.01-.02.03-.05.05-.06s.05-.01.07 0l9.92 2.05c.03 0 .05.02.08.03.01.01.02.03.02.04.14.53.52.97 1.03 1.17.03.01.02.05 0 .08-.01.01-.01.03-.01.05-.12.74-1.19 7.27-1.48 9.04zm-1.69 1.69c-.6.59-.95.9-1.35 1.03-.39.12-.81.12-1.21 0-.47-.15-.87-.55-1.67-1.36l-8.99-8.99 2.35-3.64c.01-.02.02-.03.04-.05s.06-.01.09 0c.54.16 1.12.13 1.64-.08.03-.01.05-.02.07 0l.03.03zm-14.09-10.19-2.06-2.06 4.07-1.74c.01 0 .02-.01.03-.01.03 0 .05.03.07.07.04.06.08.12.13.18l.01.02c.01.02 0 .03-.01.05zm-2.98-2.97-2.61-2.61c-.44-.44-.77-.77-.99-1.04l7.94 1.65h.03c.05.01.1.02.1.06 0 .05-.06.07-.11.09l-.02.01zm-4.05-5c.01-.17.04-.33.09-.5.15-.47.55-.87 1.36-1.67l3.34-3.34c1.54 2.23 3.08 4.46 4.63 6.69.03.04.06.08.03.11-.15.16-.29.34-.4.53-.01.02-.03.05-.05.06-.01.01-.03 0-.04 0zm5.68-6.4 4.49-4.49c.42.19 1.96.83 3.33 1.41 1.04.44 1.99.84 2.29.97.03.01.06.02.07.05.01.02 0 .04 0 .06-.14.66.05 1.35.52 1.83.03.03 0 .07-.03.11l-.01.02-4.56 7.06c-.01.02-.02.04-.04.05s-.06.01-.09 0c-.18-.05-.36-.07-.54-.07-.16 0-.34.03-.52.06-.02 0-.04.01-.05 0-.02-.01-.03-.03-.05-.05zm5.4-5.4 5.81-5.81c.81-.81 1.21-1.21 1.67-1.36.39-.12.81-.12 1.21 0 .47.15.87.55 1.67 1.36l1.26 1.26-4.14 6.4c-.01.02-.02.03-.04.05s-.06.01-.09 0c-.66-.2-1.38-.06-1.92.37-.03.03-.07.01-.1 0-.53-.24-4.73-2.01-5.33-2.27zm12.5-3.67 3.82 3.82-.92 5.7v.02c0 .01 0 .03-.01.04-.01.02-.03.02-.05.03-.2.06-.38.15-.55.27-.01.01-.01.01-.02.02s-.02.02-.04.02c-.01 0-.03 0-.04-.01l-5.82-2.47-.01-.01c-.04-.02-.08-.03-.08-.07-.03-.32-.14-.64-.31-.91-.03-.05-.06-.09-.03-.14zm-3.93 8.6 5.45 2.31c.03.01.06.03.08.06.01.02.01.04 0 .06-.02.08-.03.17-.03.26v.15c0 .04-.04.05-.08.07h-.01c-.86.37-12.13 5.17-12.15 5.17s-.03 0-.05-.02c-.03-.03 0-.07.03-.11 0-.01.01-.01.01-.02l4.48-6.94.01-.01c.03-.04.06-.09.1-.09l.05.01c.1.01.19.03.28.03.68 0 1.31-.33 1.69-.9.01-.02.02-.03.03-.04.04-.01.08 0 .11.01zm-6.25 9.19 12.28-5.24s.02 0 .03.02c.07.07.12.11.18.15l.03.02c.02.01.05.03.05.06v.02l-1.05 6.46v.03c-.01.05-.01.11-.06.11-.57.04-1.08.36-1.37.85v.01c-.01.02-.03.05-.05.06s-.05.01-.07 0l-9.79-2.02c-.02-.02-.16-.53-.18-.53z" fill="url(#a)"/></svg>
<svg viewBox="0 0 147 40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><radialGradient id="a" cx="-779.0521" cy="1839.7205" gradientTransform="matrix(0 38.301 44.1228 0 -81154.2578 29839.2441)" gradientUnits="userSpaceOnUse" r="1.0011"><stop offset="0" stop-color="#20c6b7"/><stop offset="1" stop-color="#4d9abf"/></radialGradient><path clip-rule="evenodd" d="m53.37 12.98.12 2.2c1.4-1.7 3.24-2.55 5.53-2.55 3.95 0 5.96 2.27 6.03 6.8v12.57h-4.26v-12.32c0-1.21-.26-2.1-.78-2.68s-1.37-.87-2.55-.87c-1.72 0-3 .78-3.84 2.34v13.53h-4.26v-19.02zm24.38 19.37c-2.7 0-4.89-.85-6.57-2.56-1.68-1.7-2.52-3.98-2.52-6.81v-.53c0-1.9.36-3.59 1.1-5.09.73-1.49 1.76-2.66 3.08-3.49s2.79-1.25 4.42-1.25c2.58 0 4.58.83 5.99 2.48s2.11 3.99 2.11 7.01v1.72h-12.4c.13 1.57.65 2.81 1.57 3.73s2.07 1.37 3.46 1.37c1.95 0 3.54-.79 4.77-2.37l2.3 2.2c-.76 1.14-1.77 2.02-3.04 2.65s-2.69.94-4.27.94zm-.51-16.29c-1.17 0-2.11.41-2.83 1.23s-1.18 1.96-1.38 3.43h8.12v-.32c-.09-1.43-.47-2.51-1.14-3.24-.67-.74-1.59-1.1-2.77-1.1zm16.76-7.7v4.62h3.35v3.16h-3.35v10.62c0 .73.14 1.25.43 1.57s.8.48 1.54.48c.5 0 1-.06 1.49-.18v3.31c-.97.27-1.9.4-2.81.4-3.27 0-4.91-1.81-4.91-5.43v-10.77h-3.12v-3.16h3.12v-4.63zm11.14 23.64h-4.26v-27h4.26zm9.17 0h-4.26v-19.02h4.26zm-4.52-23.96c0-.65.21-1.2.62-1.63.42-.43 1.01-.65 1.78-.65s1.37.22 1.79.65.63.98.63 1.64c0 .64-.21 1.18-.63 1.61s-1.02.64-1.79.64-1.36-.21-1.78-.64c-.41-.44-.62-.98-.62-1.62zm10.66 23.96v-15.86h-2.89v-3.16h2.89v-1.74c0-2.11.58-3.74 1.75-4.89s2.81-1.72 4.91-1.72c.75 0 1.54.11 2.39.32l-.1 3.34c-.54-.1-1.08-.15-1.63-.14-2.04 0-3.05 1.05-3.05 3.15v1.69h3.86v3.16h-3.86v15.85zm17.87-6.12 3.86-12.9h4.54l-7.54 21.9c-1.16 3.2-3.12 4.8-5.89 4.8-.62 0-1.3-.11-2.05-.32v-3.31l.81.05c1.07 0 1.88-.2 2.43-.59.54-.39.97-1.05 1.29-1.98l.61-1.64-6.66-18.93h4.6z" fill="#0e1e25" fill-rule="evenodd"/><path d="m27.89 14.14-.01-.01c-.01 0-.02-.01-.02-.01-.02-.02-.03-.06-.03-.09l.77-4.73 3.62 3.63-3.77 1.6c-.01 0-.02.01-.03.01h-.02s-.01-.01-.02-.02c-.14-.16-.31-.29-.49-.38zm5.26-.29 3.88 3.88c.81.81 1.21 1.21 1.35 1.67.02.07.04.14.05.21l-9.26-3.92s-.01 0-.01-.01c-.04-.02-.08-.03-.08-.07s.04-.06.08-.07l.01-.01zm5.12 7c-.2.38-.59.77-1.25 1.43l-4.37 4.37-5.65-1.18-.03-.01c-.05-.01-.1-.02-.1-.06-.04-.47-.28-.9-.66-1.19-.02-.02-.02-.06-.01-.09v-.01l1.06-6.53v-.02c.01-.05.01-.11.06-.11.46-.06.88-.3 1.16-.67.01-.01.01-.02.03-.03.03-.01.07 0 .1.01zm-6.62 6.8-7.19 7.19 1.23-7.56v-.01c0-.01 0-.02.01-.03.01-.02.04-.03.06-.04h.01c.27-.11.51-.29.69-.52.02-.03.05-.06.09-.06h.03zm-8.71 8.71-.81.81-8.95-12.94s-.01-.01-.01-.01c-.01-.02-.03-.04-.03-.06s.01-.03.02-.04l.01-.01c.03-.04.05-.08.07-.12l.02-.03c.01-.02.03-.05.05-.06s.05-.01.07 0l9.92 2.05c.03 0 .05.02.08.03.01.01.02.03.02.04.14.53.52.97 1.03 1.17.03.01.02.05 0 .08-.01.01-.01.03-.01.05-.12.74-1.19 7.27-1.48 9.04zm-1.69 1.69c-.6.59-.95.9-1.35 1.03-.39.12-.81.12-1.21 0-.47-.15-.87-.55-1.67-1.36l-8.99-8.99 2.35-3.64c.01-.02.02-.03.04-.05s.06-.01.09 0c.54.16 1.12.13 1.64-.08.03-.01.05-.02.07 0l.03.03zm-14.09-10.19-2.06-2.06 4.07-1.74c.01 0 .02-.01.03-.01.03 0 .05.03.07.07.04.06.08.12.13.18l.01.02c.01.02 0 .03-.01.05zm-2.98-2.97-2.61-2.61c-.44-.44-.77-.77-.99-1.04l7.94 1.65h.03c.05.01.1.02.1.06 0 .05-.06.07-.11.09l-.02.01zm-4.05-5c.01-.17.04-.33.09-.5.15-.47.55-.87 1.36-1.67l3.34-3.34c1.54 2.23 3.08 4.46 4.63 6.69.03.04.06.08.03.11-.15.16-.29.34-.4.53-.01.02-.03.05-.05.06-.01.01-.03 0-.04 0zm5.68-6.4 4.49-4.49c.42.19 1.96.83 3.33 1.41 1.04.44 1.99.84 2.29.97.03.01.06.02.07.05.01.02 0 .04 0 .06-.14.66.05 1.35.52 1.83.03.03 0 .07-.03.11l-.01.02-4.56 7.06c-.01.02-.02.04-.04.05s-.06.01-.09 0c-.18-.05-.36-.07-.54-.07-.16 0-.34.03-.52.06-.02 0-.04.01-.05 0-.02-.01-.03-.03-.05-.05zm5.4-5.4 5.81-5.81c.81-.81 1.21-1.21 1.67-1.36.39-.12.81-.12 1.21 0 .47.15.87.55 1.67 1.36l1.26 1.26-4.14 6.4c-.01.02-.02.03-.04.05s-.06.01-.09 0c-.66-.2-1.38-.06-1.92.37-.03.03-.07.01-.1 0-.53-.24-4.73-2.01-5.33-2.27zm12.5-3.67 3.82 3.82-.92 5.7v.02c0 .01 0 .03-.01.04-.01.02-.03.02-.05.03-.2.06-.38.15-.55.27-.01.01-.01.01-.02.02s-.02.02-.04.02c-.01 0-.03 0-.04-.01l-5.82-2.47-.01-.01c-.04-.02-.08-.03-.08-.07-.03-.32-.14-.64-.31-.91-.03-.05-.06-.09-.03-.14zm-3.93 8.6 5.45 2.31c.03.01.06.03.08.06.01.02.01.04 0 .06-.02.08-.03.17-.03.26v.15c0 .04-.04.05-.08.07h-.01c-.86.37-12.13 5.17-12.15 5.17s-.03 0-.05-.02c-.03-.03 0-.07.03-.11 0-.01.01-.01.01-.02l4.48-6.94.01-.01c.03-.04.06-.09.1-.09l.05.01c.1.01.19.03.28.03.68 0 1.31-.33 1.69-.9.01-.02.02-.03.03-.04.04-.01.08 0 .11.01zm-6.25 9.19 12.28-5.24s.02 0 .03.02c.07.07.12.11.18.15l.03.02c.02.01.05.03.05.06v.02l-1.05 6.46v.03c-.01.05-.01.11-.06.11-.57.04-1.08.36-1.37.85v.01c-.01.02-.03.05-.05.06s-.05.01-.07 0l-9.79-2.02c-.02-.02-.16-.53-.18-.53z" fill="url(#a)"/></svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -1 +1 @@
<svg viewBox="0 0 360.27 79.35" xmlns="http://www.w3.org/2000/svg"><g fill="#fff"><path d="m52.16 4.07c-2.4-3.98-7.57-5.26-11.55-2.86-1.17.71-2.16 1.69-2.86 2.86l-11.86 20.31c18.43 9.2 30.6 27.48 31.98 48.04h-8.32c-1.38-17.62-11.98-33.19-27.86-40.94l-10.97 18.97c8.92 4 15.18 12.26 16.63 21.93h-19.12c-.75-.05-1.32-.71-1.27-1.46.01-.19.07-.37.15-.54l5.3-9.01c-1.79-1.5-3.85-2.66-6.05-3.42l-5.24 9.01c-2.28 3.9-.96 8.91 2.95 11.19.03.02.07.04.1.06 1.24.7 2.64 1.07 4.07 1.08h26.18c.98-12.21-4.49-24.04-14.42-31.2l4.16-7.21c12.54 8.61 19.6 23.22 18.56 38.4h22.18c1.05-23-10.21-44.83-29.57-57.3l8.41-14.41c.39-.65 1.23-.87 1.89-.49.96.52 36.57 62.65 37.23 63.37.37.66.13 1.49-.53 1.86-.21.12-.45.18-.7.17h-8.58c.11 2.29.11 4.58 0 6.86h8.61c4.57.03 8.29-3.65 8.32-8.22 0-.03 0-.06 0-.09 0-1.44-.38-2.86-1.12-4.11z"/><path d="m223.91 50.96-26.59-34.34h-6.63v46.04h6.72v-35.29l27.35 35.28h5.87v-46.04h-6.72zm-66.98-8.54h23.84v-5.98h-23.86v-13.86h26.9v-5.98h-33.75v46.05h34.09v-5.98h-27.24zm-28.03-5.84c-9.28-2.23-11.87-4-11.87-8.29 0-3.86 3.41-6.47 8.49-6.47 4.63.14 9.09 1.75 12.74 4.59l3.6-5.1c-4.62-3.62-10.35-5.53-16.22-5.41-9.12 0-15.48 5.41-15.48 13.1 0 8.29 5.41 11.15 15.24 13.55 8.76 2.02 11.44 3.89 11.44 8.09s-3.6 6.79-9.17 6.79c-5.54-.03-10.88-2.12-14.95-5.87l-4.05 4.85c5.22 4.49 11.89 6.95 18.77 6.94 9.87 0 16.22-5.32 16.22-13.53-.06-6.95-4.17-10.68-14.76-13.24zm223.62-19.97-13.86 21.62-13.76-21.62h-8.04l18.18 27.84v18.22h6.92v-18.43l18.31-27.62zm-116.45 6.24h15.08v39.82h6.92v-39.82h15.08v-6.23h-37.06zm69.08 21.84c6.95-1.93 10.81-6.79 10.81-13.75 0-8.85-6.47-14.41-16.9-14.41h-20.47v46.11h6.85v-16.55h11.62l11.68 16.58h8l-12.61-17.69zm-19.73-4.51v-17.48h12.92c6.74 0 10.59 3.19 10.59 8.72s-4.13 8.76-10.52 8.76z"/></g></svg>
<svg viewBox="0 0 360.27 79.35" xmlns="http://www.w3.org/2000/svg"><g fill="#FFFFFF"><path d="m52.16 4.07c-2.4-3.98-7.57-5.26-11.55-2.86-1.17.71-2.16 1.69-2.86 2.86l-11.86 20.31c18.43 9.2 30.6 27.48 31.98 48.04h-8.32c-1.38-17.62-11.98-33.19-27.86-40.94l-10.97 18.97c8.92 4 15.18 12.26 16.63 21.93h-19.12c-.75-.05-1.32-.71-1.27-1.46.01-.19.07-.37.15-.54l5.3-9.01c-1.79-1.5-3.85-2.66-6.05-3.42l-5.24 9.01c-2.28 3.9-.96 8.91 2.95 11.19.03.02.07.04.1.06 1.24.7 2.64 1.07 4.07 1.08h26.18c.98-12.21-4.49-24.04-14.42-31.2l4.16-7.21c12.54 8.61 19.6 23.22 18.56 38.4h22.18c1.05-23-10.21-44.83-29.57-57.3l8.41-14.41c.39-.65 1.23-.87 1.89-.49.96.52 36.57 62.65 37.23 63.37.37.66.13 1.49-.53 1.86-.21.12-.45.18-.7.17h-8.58c.11 2.29.11 4.58 0 6.86h8.61c4.57.03 8.29-3.65 8.32-8.22 0-.03 0-.06 0-.09 0-1.44-.38-2.86-1.12-4.11z"/><path d="m223.91 50.96-26.59-34.34h-6.63v46.04h6.72v-35.29l27.35 35.28h5.87v-46.04h-6.72zm-66.98-8.54h23.84v-5.98h-23.86v-13.86h26.9v-5.98h-33.75v46.05h34.09v-5.98h-27.24zm-28.03-5.84c-9.28-2.23-11.87-4-11.87-8.29 0-3.86 3.41-6.47 8.49-6.47 4.63.14 9.09 1.75 12.74 4.59l3.6-5.1c-4.62-3.62-10.35-5.53-16.22-5.41-9.12 0-15.48 5.41-15.48 13.1 0 8.29 5.41 11.15 15.24 13.55 8.76 2.02 11.44 3.89 11.44 8.09s-3.6 6.79-9.17 6.79c-5.54-.03-10.88-2.12-14.95-5.87l-4.05 4.85c5.22 4.49 11.89 6.95 18.77 6.94 9.87 0 16.22-5.32 16.22-13.53-.06-6.95-4.17-10.68-14.76-13.24zm223.62-19.97-13.86 21.62-13.76-21.62h-8.04l18.18 27.84v18.22h6.92v-18.43l18.31-27.62zm-116.45 6.24h15.08v39.82h6.92v-39.82h15.08v-6.23h-37.06zm69.08 21.84c6.95-1.93 10.81-6.79 10.81-13.75 0-8.85-6.47-14.41-16.9-14.41h-20.47v46.11h6.85v-16.55h11.62l11.68 16.58h8l-12.61-17.69zm-19.73-4.51v-17.48h12.92c6.74 0 10.59 3.19 10.59 8.72s-4.13 8.76-10.52 8.76z"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -1 +1 @@
<svg viewBox="0 0 360.27 79.35" xmlns="http://www.w3.org/2000/svg"><g fill="#362d59"><path d="m52.16 4.07c-2.4-3.98-7.57-5.26-11.55-2.86-1.17.71-2.16 1.69-2.86 2.86l-11.86 20.31c18.43 9.2 30.6 27.48 31.98 48.04h-8.32c-1.38-17.62-11.98-33.19-27.86-40.94l-10.97 18.97c8.92 4 15.18 12.26 16.63 21.93h-19.12c-.75-.05-1.32-.71-1.27-1.46.01-.19.07-.37.15-.54l5.3-9.01c-1.79-1.5-3.85-2.66-6.05-3.42l-5.24 9.01c-2.28 3.9-.96 8.91 2.95 11.19.03.02.07.04.1.06 1.24.7 2.64 1.07 4.07 1.08h26.18c.98-12.21-4.49-24.04-14.42-31.2l4.16-7.21c12.54 8.61 19.6 23.22 18.56 38.4h22.18c1.05-23-10.21-44.83-29.57-57.3l8.41-14.41c.39-.65 1.23-.87 1.89-.49.96.52 36.57 62.65 37.23 63.37.37.66.13 1.49-.53 1.86-.21.12-.45.18-.7.17h-8.58c.11 2.29.11 4.58 0 6.86h8.61c4.57.03 8.29-3.65 8.32-8.22 0-.03 0-.06 0-.09 0-1.44-.38-2.86-1.12-4.11z"/><path d="m223.91 50.96-26.59-34.34h-6.63v46.04h6.72v-35.29l27.35 35.28h5.87v-46.04h-6.72zm-66.98-8.54h23.84v-5.98h-23.86v-13.86h26.9v-5.98h-33.75v46.05h34.09v-5.98h-27.24zm-28.03-5.84c-9.28-2.23-11.87-4-11.87-8.29 0-3.86 3.41-6.47 8.49-6.47 4.63.14 9.09 1.75 12.74 4.59l3.6-5.1c-4.62-3.62-10.35-5.53-16.22-5.41-9.12 0-15.48 5.41-15.48 13.1 0 8.29 5.41 11.15 15.24 13.55 8.76 2.02 11.44 3.89 11.44 8.09s-3.6 6.79-9.17 6.79c-5.54-.03-10.88-2.12-14.95-5.87l-4.05 4.85c5.22 4.49 11.89 6.95 18.77 6.94 9.87 0 16.22-5.32 16.22-13.53-.06-6.95-4.17-10.68-14.76-13.24zm223.62-19.97-13.86 21.62-13.76-21.62h-8.04l18.18 27.84v18.22h6.92v-18.43l18.31-27.62zm-116.45 6.24h15.08v39.82h6.92v-39.82h15.08v-6.23h-37.06zm69.08 21.84c6.95-1.93 10.81-6.79 10.81-13.75 0-8.85-6.47-14.41-16.9-14.41h-20.47v46.11h6.85v-16.55h11.62l11.68 16.58h8l-12.61-17.69zm-19.73-4.51v-17.48h12.92c6.74 0 10.59 3.19 10.59 8.72s-4.13 8.76-10.52 8.76z"/></g></svg>
<svg viewBox="0 0 360.27 79.35" xmlns="http://www.w3.org/2000/svg"><g fill="#362d59"><path d="m52.16 4.07c-2.4-3.98-7.57-5.26-11.55-2.86-1.17.71-2.16 1.69-2.86 2.86l-11.86 20.31c18.43 9.2 30.6 27.48 31.98 48.04h-8.32c-1.38-17.62-11.98-33.19-27.86-40.94l-10.97 18.97c8.92 4 15.18 12.26 16.63 21.93h-19.12c-.75-.05-1.32-.71-1.27-1.46.01-.19.07-.37.15-.54l5.3-9.01c-1.79-1.5-3.85-2.66-6.05-3.42l-5.24 9.01c-2.28 3.9-.96 8.91 2.95 11.19.03.02.07.04.1.06 1.24.7 2.64 1.07 4.07 1.08h26.18c.98-12.21-4.49-24.04-14.42-31.2l4.16-7.21c12.54 8.61 19.6 23.22 18.56 38.4h22.18c1.05-23-10.21-44.83-29.57-57.3l8.41-14.41c.39-.65 1.23-.87 1.89-.49.96.52 36.57 62.65 37.23 63.37.37.66.13 1.49-.53 1.86-.21.12-.45.18-.7.17h-8.58c.11 2.29.11 4.58 0 6.86h8.61c4.57.03 8.29-3.65 8.32-8.22 0-.03 0-.06 0-.09 0-1.44-.38-2.86-1.12-4.11z"/><path d="m223.91 50.96-26.59-34.34h-6.63v46.04h6.72v-35.29l27.35 35.28h5.87v-46.04h-6.72zm-66.98-8.54h23.84v-5.98h-23.86v-13.86h26.9v-5.98h-33.75v46.05h34.09v-5.98h-27.24zm-28.03-5.84c-9.28-2.23-11.87-4-11.87-8.29 0-3.86 3.41-6.47 8.49-6.47 4.63.14 9.09 1.75 12.74 4.59l3.6-5.1c-4.62-3.62-10.35-5.53-16.22-5.41-9.12 0-15.48 5.41-15.48 13.1 0 8.29 5.41 11.15 15.24 13.55 8.76 2.02 11.44 3.89 11.44 8.09s-3.6 6.79-9.17 6.79c-5.54-.03-10.88-2.12-14.95-5.87l-4.05 4.85c5.22 4.49 11.89 6.95 18.77 6.94 9.87 0 16.22-5.32 16.22-13.53-.06-6.95-4.17-10.68-14.76-13.24zm223.62-19.97-13.86 21.62-13.76-21.62h-8.04l18.18 27.84v18.22h6.92v-18.43l18.31-27.62zm-116.45 6.24h15.08v39.82h6.92v-39.82h15.08v-6.23h-37.06zm69.08 21.84c6.95-1.93 10.81-6.79 10.81-13.75 0-8.85-6.47-14.41-16.9-14.41h-20.47v46.11h6.85v-16.55h11.62l11.68 16.58h8l-12.61-17.69zm-19.73-4.51v-17.48h12.92c6.74 0 10.59 3.19 10.59 8.72s-4.13 8.76-10.52 8.76z"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -1 +1 @@
<svg fill="#fff" viewBox="0 0 284 65" xmlns="http://www.w3.org/2000/svg"><path d="m37.59.25 36.95 64h-73.9z"/><path d="m129.97 5.25-27.71 48-27.71-48h10.39l17.32 30 17.32-30z"/><path d="m188.88 17.25v9.69c-1-.29-2.06-.49-3.2-.49-5.81 0-10 4-10 10v14.8h-9v-34h9v9.2c0-5.08 5.91-9.2 13.2-9.2z"/><path d="m200.88 34.25c0 6 3.92 10 10 10 4.12 0 7.21-1.87 8.8-4.92l7.68 4.43c-3.18 5.3-9.14 8.49-16.48 8.49-11.05 0-19-7.2-19-18s7.96-18 19-18c7.34 0 13.29 3.19 16.48 8.49l-7.68 4.43c-1.59-3.05-4.68-4.92-8.8-4.92-6.07 0-10 4-10 10z"/><path d="m274.36 5.25h9v46h-9z"/><path d="m268.36 34.24c0-10.79-7.96-17.99-19-17.99s-19 7.2-19 18 8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5zm-28.45-3.49c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/><path d="m141.68 16.25c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.46 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/></svg>
<svg fill="#ffffff" viewBox="0 0 284 65" xmlns="http://www.w3.org/2000/svg"><path d="m37.59.25 36.95 64h-73.9z"/><path d="m129.97 5.25-27.71 48-27.71-48h10.39l17.32 30 17.32-30z"/><path d="m188.88 17.25v9.69c-1-.29-2.06-.49-3.2-.49-5.81 0-10 4-10 10v14.8h-9v-34h9v9.2c0-5.08 5.91-9.2 13.2-9.2z"/><path d="m200.88 34.25c0 6 3.92 10 10 10 4.12 0 7.21-1.87 8.8-4.92l7.68 4.43c-3.18 5.3-9.14 8.49-16.48 8.49-11.05 0-19-7.2-19-18s7.96-18 19-18c7.34 0 13.29 3.19 16.48 8.49l-7.68 4.43c-1.59-3.05-4.68-4.92-8.8-4.92-6.07 0-10 4-10 10z"/><path d="m274.36 5.25h9v46h-9z"/><path d="m268.36 34.24c0-10.79-7.96-17.99-19-17.99-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5zm-28.45-3.49c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/><path d="m141.68 16.25c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.46 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/></svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -1 +1 @@
<svg viewBox="0 0 284 65" xmlns="http://www.w3.org/2000/svg"><path d="m37.59.25 36.95 64h-73.9z"/><path d="m129.97 5.25-27.71 48-27.71-48h10.39l17.32 30 17.32-30z"/><path d="m188.88 17.25v9.69c-1-.29-2.06-.49-3.2-.49-5.81 0-10 4-10 10v14.8h-9v-34h9v9.2c0-5.08 5.91-9.2 13.2-9.2z"/><path d="m200.88 34.25c0 6 3.92 10 10 10 4.12 0 7.21-1.87 8.8-4.92l7.68 4.43c-3.18 5.3-9.14 8.49-16.48 8.49-11.05 0-19-7.2-19-18s7.96-18 19-18c7.34 0 13.29 3.19 16.48 8.49l-7.68 4.43c-1.59-3.05-4.68-4.92-8.8-4.92-6.07 0-10 4-10 10z"/><path d="m274.36 5.25h9v46h-9z"/><path d="m268.36 34.24c0-10.79-7.96-17.99-19-17.99s-19 7.2-19 18 8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5zm-28.45-3.49c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/><path d="m141.68 16.25c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.46 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/></svg>
<svg viewBox="0 0 284 65" xmlns="http://www.w3.org/2000/svg"><path d="m37.59.25 36.95 64h-73.9z"/><path d="m129.97 5.25-27.71 48-27.71-48h10.39l17.32 30 17.32-30z"/><path d="m188.88 17.25v9.69c-1-.29-2.06-.49-3.2-.49-5.81 0-10 4-10 10v14.8h-9v-34h9v9.2c0-5.08 5.91-9.2 13.2-9.2z"/><path d="m200.88 34.25c0 6 3.92 10 10 10 4.12 0 7.21-1.87 8.8-4.92l7.68 4.43c-3.18 5.3-9.14 8.49-16.48 8.49-11.05 0-19-7.2-19-18s7.96-18 19-18c7.34 0 13.29 3.19 16.48 8.49l-7.68 4.43c-1.59-3.05-4.68-4.92-8.8-4.92-6.07 0-10 4-10 10z"/><path d="m274.36 5.25h9v46h-9z"/><path d="m268.36 34.24c0-10.79-7.96-17.99-19-17.99-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5zm-28.45-3.49c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/><path d="m141.68 16.25c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.46 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/></svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

22
.github/labeler.yml vendored
View file

@ -1,37 +1,37 @@
# See https://github.com/actions/labeler
'pkg: example':
example:
- examples/**/*
'🚨 action':
- .github/workflows/**
'pkg: astro':
core:
- packages/astro/**
'pkg: create-astro':
create-astro:
- packages/create-astro/**
'feat: markdown':
markdown:
- packages/markdown/**
'pkg: integration':
integration:
- packages/integrations/**
'pkg: lit':
framework-lit:
- packages/integrations/lit/**
'pkg: preact':
framework-preact:
- packages/integrations/preact/**
'pkg: react':
framework-react:
- packages/integrations/react/**
'pkg: solid':
framework-solid:
- packages/integrations/solid/**
'pkg: svelte':
framework-svelte:
- packages/integrations/svelte/**
'pkg: vue':
framework-vue:
- packages/integrations/vue/**

View file

@ -1,5 +1,5 @@
import { build } from 'esbuild';
import { existsSync } from 'node:fs';
import { existsSync } from 'fs';
const CLIENT_RUNTIME_PATH = 'packages/astro/src/runtime/client/';
@ -23,17 +23,15 @@ export default async function checkBundleSize({ github, context }) {
...context.repo,
pull_number: PR_NUM,
});
const clientRuntimeFiles = files.filter((file) => {
return file.filename.startsWith(CLIENT_RUNTIME_PATH) && file.status !== 'removed'
});
const clientRuntimeFiles = files.filter(({ filename }) => filename.startsWith(CLIENT_RUNTIME_PATH));
if (clientRuntimeFiles.length === 0) return;
const table = [
'| File | Old Size | New Size | Change |',
'| ---- | -------- | -------- | ------ |',
];
const output = await bundle(clientRuntimeFiles);
for (let [filename, { oldSize, newSize, sourceFile }] of Object.entries(output)) {
filename = ['idle', 'load', 'media', 'only', 'visible'].includes(filename) ? `client:${filename}` : filename;
const prefix = (newSize - oldSize) === 0 ? '' : (newSize - oldSize) > 0 ? '+ ' : '- ';
@ -60,7 +58,7 @@ ${table.join('\n')}`,
}
async function bundle(files) {
const { metafile } = await build({
entryPoints: [...files.map(({ filename }) => filename), ...files.map(({ filename }) => `main/${filename}`).filter(f => existsSync(f))],
bundle: true,

View file

@ -43,11 +43,8 @@ jobs:
- name: Get bench command
id: bench-command
env:
# protects from untrusted user input and command injection
COMMENT: ${{ github.event.comment.body }}
run: |
benchcmd=$(echo "$COMMENT" | grep '!bench' | awk -F ' ' '{print $2}')
benchcmd=$(echo "${{ github.event.comment.body }}" | grep '!bench' | awk -F ' ' '{print $2}')
echo "bench=$benchcmd" >> $GITHUB_OUTPUT
shell: bash
@ -98,7 +95,7 @@ jobs:
continue-on-error: true
with:
issue-number: ${{ github.event.issue.number }}
body: |
message: |
${{ needs.benchmark.outputs.PR-BENCH }}
${{ needs.benchmark.outputs.MAIN-BENCH }}

View file

@ -1,53 +1,48 @@
name: Check mergeability
on: pull_request
on: pull_request # run on pull request events
permissions:
# grant write permission on the pull-requests endpoint
pull-requests: write
checks: write
statuses: write
jobs:
check:
runs-on: ubuntu-latest
steps:
- name: Check if there is already a block on this PR
id: blocked
id: set-blocks
uses: actions/github-script@v6
env:
issue_number: ${{ github.event.number }}
with:
script: |
const { data: reviews } = await github.rest.pulls.listReviews({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: process.env.issue_number,
});
for (const review of reviews) {
if (review.user.login === 'github-actions[bot]' && review.state === 'CHANGES_REQUESTED') {
return 'true'
const url = 'https://api.github.com/repos/' + context.repo.owner + '/' + context.repo.repo + '/pulls/' + context.issue.number + '/reviews';
console.log('reviews URL', url);
const result = await github.request(url);
console.log(result);
const reviews = result.data;
for(const review of reviews) {
if(review.user.id === 41898282 && review.state === 'CHANGES_REQUESTED') {
return 'block';
}
}
return 'false'
return '';
result-encoding: string
- uses: actions/checkout@v3
if: steps.blocked.outputs.result != 'true'
if: steps.set-blocks.outputs.blocks == ''
with:
fetch-depth: 0
- name: Get changed files in the .changeset folder
id: changed-files
uses: tj-actions/changed-files@v35
if: steps.blocked.outputs.result != 'true'
uses: tj-actions/changed-files@v29
if: steps.set-blocks.outputs.blocks == ''
with:
files: |
.changeset/**/*.md
- name: Check if any changesets contain minor changes
id: minor
if: steps.blocked.outputs.result != 'true'
id: find-blockers
if: steps.set-blocks.outputs.blocks == ''
run: |
echo "Checking for changesets marked as minor"
echo '::set-output name=found::false'
@ -59,30 +54,20 @@ jobs:
done
- name: Add label
uses: actions/github-script@v6
if: steps.minor.outputs.found == 'true'
env:
issue_number: ${{ github.event.number }}
with:
script: |
github.rest.issues.addLabels({
issue_number: process.env.issue_number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['semver: minor']
});
if: steps.find-blockers.outputs.found == 'true'
run: |
curl --request POST \
--url https://api.github.com/repos/${{github.repository}}/issues/${{github.event.number}}/labels \
--header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
--header 'content-type: application/json' \
-d '["semver minor"]'
- name: Change PR Status
uses: actions/github-script@v6
if: steps.minor.outputs.found == 'true'
env:
issue_number: ${{ github.event.number }}
- name: Send PR review
if: steps.find-blockers.outputs.found == 'true'
uses: peter-evans/create-or-update-comment@v2
continue-on-error: true
with:
script: |
github.rest.pulls.createReview({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: process.env.issue_number,
event: 'REQUEST_CHANGES',
body: 'This PR is blocked because it contains a `minor` changeset. A reviewer will merge this at the next release if approved.'
});
issue-number: ${{ github.event.issue.number }}
body: |
This PR is blocked because it contains a `minor` changeset. A reviewer will merge this at the next release if approved.
edit-mode: replace

View file

@ -23,7 +23,6 @@ jobs:
check:
name: astro check
runs-on: ubuntu-latest
timeout-minutes: 7
steps:
- name: Check out repository
uses: actions/checkout@v3
@ -34,7 +33,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
node-version: 16
cache: "pnpm"
- name: Install dependencies

View file

@ -10,7 +10,6 @@ on:
paths-ignore:
- ".vscode/**"
- "**/*.md"
- ".github/ISSUE_TEMPLATE/**"
# Automatically cancel older in-progress jobs on the same branch
concurrency:
@ -25,58 +24,14 @@ env:
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
FORCE_COLOR: true
ASTRO_TELEMETRY_DISABLED: true
# 7 GiB by default on GitHub, setting to 6 GiB
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
NODE_OPTIONS: --max-old-space-size=6144
jobs:
# Build primes out Turbo build cache and pnpm cache
build:
name: "Build: ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
timeout-minutes: 3
strategy:
matrix:
OS: [ubuntu-latest, windows-latest]
NODE_VERSION: [18]
fail-fast: true
steps:
# Disable crlf so all OS can share the same Turbo cache
# https://github.com/actions/checkout/issues/135
- name: Disable git crlf
run: git config --global core.autocrlf false
- name: Checkout
uses: actions/checkout@v3
- name: Setup PNPM
uses: pnpm/action-setup@v2
- name: Setup node@${{ matrix.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.NODE_VERSION }}
cache: "pnpm"
- name: Install dependencies
run: pnpm install
# Only build in ubuntu as windows can share the build cache.
# Also only build in core repo as forks don't have access to the Turbo cache.
- name: Build Packages
if: ${{ matrix.os == 'ubuntu-latest' && github.repository_owner == 'withastro' }}
run: pnpm run build
lint:
name: Lint
timeout-minutes: 3
runs-on: ubuntu-latest
timeout-minutes: 5
needs: build
steps:
- name: Disable git crlf
run: git config --global core.autocrlf false
- name: Checkout
- name: Check out repository
uses: actions/checkout@v3
- name: Setup PNPM
@ -85,42 +40,53 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
node-version: 16
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Build Packages
run: pnpm run build
- name: Status
run: git status
- name: Lint
# Lint autofix cannot run on forks, so just skip those! See https://github.com/wearerequired/lint-action/issues/13
- name: Lint (External)
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.owner.login != github.repository_owner }}
run: pnpm run lint
# Otherwise, run lint autofixer
- name: Lint
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.owner.login == github.repository_owner }}
uses: wearerequired/lint-action@v2.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
eslint: true
eslint_extensions: js,ts,cts,mts,cjs,mjs
prettier: false
auto_fix: false
git_name: fredkbot
git_email: fred+astrobot@astro.build
commit_message: "chore(lint): ${linter} fix"
github_token: ${{ secrets.GITHUB_TOKEN }}
neutral_check_on_warning: true
# Checks that the formatter runs successfully on all files
# In the future, we may have this fail PRs on unformatted code
- name: Format Check
run: pnpm run format --check
test:
name: "Test: ${{ matrix.os }} (node@${{ matrix.NODE_VERSION }})"
# Build primes out build caches for Turbo
build:
name: "Build: ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
timeout-minutes: 25
needs: build
timeout-minutes: 3
strategy:
matrix:
OS: [ubuntu-latest]
NODE_VERSION: [18, 20.5.1]
include:
- os: macos-latest
NODE_VERSION: 18
- os: windows-latest
NODE_VERSION: 18.17.1
fail-fast: false
env:
NODE_VERSION: ${{ matrix.NODE_VERSION }}
NODE_VERSION: [16]
fail-fast: true
steps:
- name: Disable git crlf
run: git config --global core.autocrlf false
- name: Checkout
uses: actions/checkout@v3
@ -139,6 +105,45 @@ jobs:
- name: Build Packages
run: pnpm run build
test:
name: "Test: ${{ matrix.os }} (node@${{ matrix.NODE_VERSION }})"
runs-on: ${{ matrix.os }}
timeout-minutes: 25
needs: build
strategy:
matrix:
OS: [ubuntu-latest, windows-latest]
NODE_VERSION: [16, 18]
include:
- os: macos-latest
NODE_VERSION: 16
fail-fast: false
env:
NODE_VERSION: ${{ matrix.NODE_VERSION }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup PNPM
uses: pnpm/action-setup@v2
- name: Setup node@${{ matrix.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.NODE_VERSION }}
cache: "pnpm"
- name: Use Deno
uses: denoland/setup-deno@v1
with:
deno-version: v1.26.1
- name: Install dependencies
run: pnpm install
- name: Build Packages
run: pnpm run build
- name: Test
run: pnpm run test
@ -150,14 +155,11 @@ jobs:
strategy:
matrix:
OS: [ubuntu-latest, windows-latest]
NODE_VERSION: [18.17.1]
NODE_VERSION: [16]
fail-fast: false
env:
NODE_VERSION: ${{ matrix.NODE_VERSION }}
steps:
- name: Disable git crlf
run: git config --global core.autocrlf false
- name: Checkout
uses: actions/checkout@v3
@ -187,13 +189,10 @@ jobs:
strategy:
matrix:
OS: [ubuntu-latest, windows-latest]
NODE_VERSION: [18]
NODE_VERSION: [16]
env:
NODE_VERSION: ${{ matrix.NODE_VERSION }}
steps:
- name: Disable git crlf
run: git config --global core.autocrlf false
- name: Checkout
uses: actions/checkout@v3
@ -215,36 +214,11 @@ jobs:
- name: Install dependencies
run: pnpm install --no-frozen-lockfile
# Reset lockfile changes so that Turbo can reuse the old build cache
- name: Reset lockfile changes
run: git reset --hard
- name: Build Packages
run: pnpm run build
- name: Remove docs translations except for English and Korean
run: find smoke/docs/src/content/docs ! -name 'en' ! -name 'ko' -type d -mindepth 1 -maxdepth 1 -exec rm -rf {} +
- name: Check if docs changed
id: changes
uses: dorny/paths-filter@v2
with:
filters: |
docs:
- 'packages/integrations/*/README.md'
- 'packages/astro/src/@types/astro.ts'
- 'packages/astro/src/core/errors/errors-data.ts'
- name: Build autogenerated docs pages from current astro branch
if: ${{ steps.changes.outputs.docs == 'true' }}
run: cd smoke/docs && pnpm docgen && pnpm docgen:errors && pnpm docgen:integrations
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SOURCE_REPO: ${{ github.event.pull_request.head.repo.full_name || github.event.repository.full_name }}
SOURCE_BRANCH: ${{ github.head_ref || github.ref_name }}
- name: Test
run: pnpm run test:smoke
env:
SKIP_OG: true
PUBLIC_TWO_LANG: true
SKIP_OG: 1
NODE_OPTIONS: "--max-old-space-size=4096"

View file

@ -1,44 +0,0 @@
name: Cleanup cache
on:
schedule:
- cron: "0 11 * * *"
pull_request:
types:
- closed
jobs:
cleanup:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Cleanup caches older than 5 days
if: github.event_name == 'schedule'
uses: MyAlbum/purge-cache@v2
with:
max-age: 432000
# https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#force-deleting-cache-entries
- name: Cleanup on PR close
if: github.event_name == 'pull_request'
run: |
gh extension install actions/gh-actions-cache
REPO=${{ github.repository }}
BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge"
echo "Fetching list of cache key"
cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH -L 100 | cut -f 1 )
## Setting this to not fail the workflow while deleting cache keys.
set +e
echo "Deleting caches..."
for cacheKey in $cacheKeysForPR
do
gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
done
echo "Done"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View file

@ -1,4 +1,4 @@
name: Format
name: "Format Code"
on:
workflow_dispatch:
@ -7,9 +7,32 @@ on:
- main
jobs:
prettier:
if: github.repository_owner == 'withastro'
uses: withastro/automation/.github/workflows/format.yml@main
with:
command: "format:ci"
secrets: inherit
format:
runs-on: ubuntu-latest
env:
NODE_OPTIONS: "--max_old_space_size=4096"
steps:
- name: Check out code using Git
uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
# Needs access to push to main
token: ${{ secrets.FREDKBOT_GITHUB_TOKEN }}
- name: Setup PNPM
uses: pnpm/action-setup@v2
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Format code
run: pnpm run format:ci
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: "[ci] format"
branch: ${{ github.head_ref }}
commit_user_name: fredkbot
commit_user_email: fred+astrobot@astro.build

View file

@ -1,30 +0,0 @@
name: Issue Labeled
on:
issues:
types: [labeled]
jobs:
reply-labeled:
if: github.repository == 'withastro/astro'
runs-on: ubuntu-latest
steps:
- name: remove triage
if: contains(github.event.label.description, '(priority)') && contains(github.event.issue.labels.*.name, 'needs triage')
uses: actions-cool/issues-helper@v3
with:
actions: "remove-labels"
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
labels: "needs triage"
- name: needs repro
if: github.event.label.name == 'needs repro'
uses: actions-cool/issues-helper@v3
with:
actions: "create-comment, remove-labels"
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
body: |
Hello @${{ github.event.issue.user.login }}. Please provide a [minimal reproduction](https://stackoverflow.com/help/minimal-reproducible-example) using a GitHub repository or [StackBlitz](https://astro.new). Issues marked with `needs repro` will be closed if they have no activity within 3 days.
labels: "needs triage"

View file

@ -1,18 +0,0 @@
name: Close Issues (needs repro)
on:
schedule:
- cron: "0 0 * * *"
jobs:
close-issues:
if: github.repository == 'withastro/astro'
runs-on: ubuntu-latest
steps:
- name: needs repro
uses: actions-cool/issues-helper@v3
with:
actions: "close-issues"
token: ${{ secrets.GITHUB_TOKEN }}
labels: "needs repro"
inactive-day: 3

View file

@ -1,23 +0,0 @@
name: Label issues
on:
issues:
types:
- reopened
- opened
jobs:
label_issues:
runs-on: ubuntu-latest
if: github.repository == 'withastro/astro'
permissions:
issues: write
steps:
- uses: actions/github-script@v6
with:
script: |
github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ["needs triage"]
})

34
.github/workflows/issue.yml vendored Normal file
View file

@ -0,0 +1,34 @@
name: Auto Assign Issues to Project
on:
issues:
types: [opened]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
auto_assign_issues:
runs-on: ubuntu-latest
name: Auto-assign new issues to projects
steps:
- name: Assign Bugs to the Bug Tracker
uses: srggrs/assign-one-project-github-action@1.3.1
if: github.event.action == 'opened' && startsWith(github.event.issue.title, '🐛 BUG:')
with:
project: 'https://github.com/withastro/astro/projects/2'
column_name: 'Needs Triage'
- name: Assign RFCs to the RFC Tracker
uses: srggrs/assign-one-project-github-action@1.3.1
if: github.event.action == 'opened' && startsWith(github.event.issue.title, '💡 RFC:')
with:
project: 'https://github.com/withastro/astro/projects/3'
column_name: 'Discussing'
- name: Assign RFCs to the Docs Tracker
uses: srggrs/assign-one-project-github-action@1.3.1
if: github.event.action == 'opened' && startsWith(github.event.issue.title, '📘 DOC:')
with:
project: 'https://github.com/withastro/astro/projects/5'
column_name: 'TODO'

View file

@ -17,12 +17,22 @@ concurrency:
jobs:
congrats:
name: congratsbot
if: ${{ github.repository_owner == 'withastro' && github.event.head_commit.message != '[ci] format' }}
uses: withastro/automation/.github/workflows/congratsbot.yml@main
with:
EMOJIS: '🎉,🎊,🧑‍🚀,🥳,🙌,🚀,👏,<:houston_golden:1068575433647456447>,<:astrocoin:894990669515489301>,<:astro_pride:1130501345326157854>'
secrets:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_CONGRATS }}
if: ${{ github.repository_owner == 'withastro' }}
runs-on: ubuntu-latest
steps:
- id: setup
env:
MESSAGE: ${{ github.event.commits[0].message }}
run: |
TRIMMED=$(echo "$MESSAGE" | sed '1!d;q')
echo "::set-output name=COMMIT_MSG::${TRIMMED}"
- name: Send a Discord notification when a PR is merged
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_CONGRATS }}
# DISCORD_AVATAR: ${{ github.event.pull_request.user.avatar_url }}
uses: Ilshidur/action-discord@0.3.2
with:
args: "**Merged!** ${{ github.event.commits[0].author.name }}: [`${{ steps.setup.outputs.COMMIT_MSG }}`](<https://github.com/withastro/astro/commit/${{ github.event.commits[0].id }}>)"
check_for_update:
name: Check for Updates
@ -38,7 +48,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
node-version: 16
cache: "pnpm"
- name: Install dependencies

View file

@ -1,13 +1,76 @@
name: Nightly
name: "Nightly"
on:
schedule:
# Run every Monday at 12:00 UTC
- cron: "0 12 * * 1"
# * is a special character in YAML so you have to quote this string
- cron: "0 12 * * *"
workflow_dispatch:
jobs:
stat:
if: github.repository_owner == 'withastro'
runs-on: ubuntu-latest
steps:
- name: Check out code using Git
uses: actions/checkout@v3
- name: Setup PNPM
uses: pnpm/action-setup@v2
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Collect stats
run: node scripts/stats/index.js
env:
# Needs access to collect stats from the GitHub API
GITHUB_TOKEN: ${{ secrets.FREDKBOT_GITHUB_TOKEN }}
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: "[ci] collect stats"
branch: ${{ github.head_ref }}
# Needs access to push to main
token: ${{ secrets.FREDKBOT_GITHUB_TOKEN }}
lockfile:
if: github.repository_owner == 'withastro'
uses: withastro/automation/.github/workflows/lockfile.yml@main
secrets: inherit
runs-on: ubuntu-latest
steps:
- name: Check out code using Git
uses: actions/checkout@v3
- name: Setup PNPM
uses: pnpm/action-setup@v2
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16
cache: "pnpm"
- name: Delete the existing pnpm-lock.yaml file
run: rm pnpm-lock.yaml
- name: Create a fresh pnpm lockfile (no install)
run: pnpm install --lockfile-only
- name: Create Pull Request
id: createpr
uses: peter-evans/create-pull-request@v3
with:
branch: ci/lockfile
# Access token is needed to trigger CI on this PR
token: ${{ secrets.FREDKBOT_GITHUB_TOKEN }}
commit-message: "[ci] update lockfile"
title: "[ci] update lockfile"
body: >
This PR is auto-generated by a nightly GitHub action.
It should automatically be merged if tests pass.

View file

@ -5,8 +5,6 @@ on:
branches:
- main
- "1-legacy"
- "2-legacy"
- next
defaults:
run:
@ -22,9 +20,6 @@ jobs:
name: Changelog PR or Release
if: ${{ github.repository_owner == 'withastro' }}
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
steps:
- uses: actions/checkout@v3
@ -34,7 +29,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
node-version: 16
cache: "pnpm"
- name: Install dependencies

View file

@ -37,7 +37,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
node-version: 16
cache: "pnpm"
- name: Install dependencies

View file

@ -19,11 +19,6 @@ jobs:
name: Create a snapshot release of a pull request
if: ${{ github.repository_owner == 'withastro' && github.event.issue.pull_request && startsWith(github.event.comment.body, '!preview') }}
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
issues: write
pull-requests: write
steps:
- name: "Check if user has admin access (only admins can publish snapshot releases)."
uses: "lannonbr/repo-permission-check-action@2.0.0"
@ -63,7 +58,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
node-version: 16
registry-url: "https://registry.npmjs.org"
cache: "pnpm"
@ -86,8 +81,6 @@ jobs:
id: publish
run: |
pnpm run release --tag next--${{ steps.getSnapshotName.outputs.result }} > publish.output.txt 2>&1
echo "Release complete"
cat publish.output.txt
echo ::set-output name=result::`cat publish.output.txt`
env:
# Needs access to publish to npm

View file

@ -1,51 +0,0 @@
name: Hosted tests
on:
schedule:
- cron: '0 0 * * 0'
env:
ASTRO_TELEMETRY_DISABLED: true
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
VERCEL_ORG_ID: ${{ secrets.VERCEL_TEST_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_TEST_PROJECT_ID }}
VERCEL_TOKEN: ${{ secrets.VERCEL_TEST_TOKEN }}
FORCE_COLOR: true
jobs:
test:
name: Run tests
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Setup PNPM
uses: pnpm/action-setup@v2
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Build Astro
run: pnpm turbo build --filter astro --filter @astrojs/vercel
- name: Build test project
working-directory: ./packages/integrations/vercel/test/hosted/hosted-astro-project
run:
pnpm run build
- name: Deploy to Vercel
working-directory: ./packages/integrations/vercel/test/hosted/hosted-astro-project
run:
pnpm dlx vercel --prod --prebuilt
- name: Test
run:
pnpm run test:e2e:hosts

5
.gitignore vendored
View file

@ -3,7 +3,6 @@ dist/
*.tsbuildinfo
.DS_Store
.vercel
.netlify
_site/
scripts/smoke/*-main/
scripts/memory/project/src/pages/
@ -31,7 +30,3 @@ packages/integrations/**/.netlify/
# ignore content collection generated files
packages/**/test/**/fixtures/**/.astro/
packages/**/test/**/fixtures/**/env.d.ts
packages/**/e2e/**/fixtures/**/.astro/
packages/**/e2e/**/fixtures/**/env.d.ts
examples/**/.astro/
examples/**/env.d.ts

View file

@ -1,4 +1,6 @@
---
image:
file: .Dockerfile
# Commands to start on workspace startup
tasks:
- before: |
@ -16,7 +18,7 @@ vscode:
- esbenp.prettier-vscode
- dbaeumer.vscode-eslint
ports:
- port: 4321
- port: 3000
onOpen: open-preview
github:
prebuilds:

View file

@ -3,9 +3,6 @@
# Convert context URL to an array
mapfile -t CONTEXT_URL_ITEMS < <(echo "$GITPOD_WORKSPACE_CONTEXT_URL" | tr '/' '\n')
# Install latest pnpm
curl -fsSL https://get.pnpm.io/install.sh | SHELL=`which bash` bash -
# Check if Gitpod started from a specific example directory in the repository
if [ "${CONTEXT_URL_ITEMS[7]}" = "examples" ]; then
EXAMPLE_PROJECT=${CONTEXT_URL_ITEMS[8]}
@ -20,7 +17,7 @@ fi
# Wait for VSCode to be ready (port 23000)
gp ports await 23000 > /dev/null 2>&1
echo "Loading example project: $EXAMPLE_PROJECT"
echo "Loading example project:" $EXAMPLE_PROJECT
# Go to the requested example project
cd "$GITPOD_REPO_ROOT"/examples/"$EXAMPLE_PROJECT" || exit

2
.nvmrc
View file

@ -1 +1 @@
18.14.1
16.19.0

View file

@ -1,6 +1,9 @@
# Benchmark artifacts
benchmark/projects/
benchmark/results/
# Ignoring these files for now due to https://github.com/withastro/compiler/issues/585
examples/basics/src/layouts
examples/with-nanostores/src/layouts
# Ignoring this file for now due to https://github.com/withastro/compiler/issues/485
packages/markdown/component/Markdown.astro
# Deep Directories
**/dist
@ -9,10 +12,14 @@ benchmark/results/
**/fixtures
**/vendor
**/.vercel
examples/docs/**/*.md
examples/blog/**/*.md
# Directories
.github
.changeset
# Files
README.md
packages/webapi/mod.d.ts
pnpm-lock.yaml

32
.prettierrc.js Normal file
View file

@ -0,0 +1,32 @@
// Heads up: This file should be renamed to `.cjs`, however if we did that, changesets wouldn't be able to load it
module.exports = {
printWidth: 100,
semi: true,
singleQuote: true,
tabWidth: 2,
trailingComma: 'es5',
useTabs: true,
plugins: ['./node_modules/prettier-plugin-astro'],
overrides: [
{
// Changesets run Prettier using our configuration, however it uses a very old version of Prettier that does
// not support our plugin and it ends up doing more harm than good. As such, we'll disable our plugin for changelogs
files: ['CHANGELOG.md'],
options: {
plugins: [],
},
},
{
files: ['.*', '*.json', '*.md', '*.toml', '*.yml'],
options: {
useTabs: false,
},
},
{
files: ['**/*.astro'],
options: {
parser: 'astro',
},
},
],
};

View file

@ -7,17 +7,17 @@ We welcome contributions of any size and skill level. As an open source project,
## Quick Guide
### Prerequisites
### Prerequisite
```shell
node: "^>=18.14.1"
pnpm: "^8.6.12"
node: "^14.18.0 || >=16.12.0"
pnpm: "^7.9.5"
# otherwise, your build will fail
```
### Setting up your local repo
Astro uses pnpm workspaces, so you should **always run `pnpm install` from the top-level project directory**. Running `pnpm install` in the top-level project root will install dependencies for `astro`, and every package in the repo.
Astro uses pnpm workspaces, so you should **always run `pnpm install` from the top-level project directory.** running `pnpm install` in the top-level project root will install dependencies for `astro`, and every package in the repo.
```shell
git clone && cd ...
@ -35,7 +35,7 @@ To automatically handle merge conflicts in `pnpm-lock.yaml`, you should run the
```shell
pnpm add -g @pnpm/merge-driver
pnpm dlx npm-merge-driver install --driver-name pnpm-merge-driver --driver "pnpm-merge-driver %A %O %B %P" --files pnpm-lock.yaml
pnpx npm-merge-driver install --driver-name pnpm-merge-driver --driver "pnpm-merge-driver %A %O %B %P" --files pnpm-lock.yaml
```
### Using GitHub Codespaces for development
@ -44,7 +44,7 @@ To get started, create a codespace for this repository by clicking this 👇
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro)
Your new codespace will open in a web-based version of Visual Studio Code. All development dependencies will be preinstalled, and the tests will run automatically ensuring you've got a green base from which to start working.
Your new codespace will open in a web-based version of Visual Studio Code. All development dependcies will be preinstalled and the tests will run automatically ensuring you've got a green base from which to start working.
**Note**: Dev containers is now an open spec which is supported by [GitHub Codespaces](https://github.com/codespaces) and [other supporting tools](https://containers.dev/supporting).
@ -57,27 +57,11 @@ pnpm run dev
pnpm run build
```
**How can I test my changes while contributing to the repository?**
During the development process, you may want to test your changes to ensure they are working as expected. Here are a few ways to do it:
1. Run any of the examples in the `/examples` folder. They are linked to use the local Astro source code, so you can see the effects of your changes.
```shell
pnpm --filter @example/minimal run dev
```
2. Write a test and run it. This is useful if you're making a specific fix and want to see if your changes are working as expected.
3. Create a separate project and use your local Astro through [`pnpm link`](https://pnpm.io/cli/link). This is helpful if you're making bigger changes and want to test them in a separate project.
Overall, it's up to personal preference which method to use. For smaller changes, using the examples folder may be sufficient. For larger changes, using a separate project may be more appropriate.
#### Debugging Vite
You can debug vite by prefixing any command with `DEBUG` like so:
```shell
```
DEBUG=vite:* astro dev # debug everything in Vite
DEBUG=vite:[name] astro dev # debug specific process, e.g. "vite:deps" or "vite:transform"
```
@ -137,25 +121,22 @@ pnpm exec changeset
### Running benchmarks
We have benchmarks to keep performance under control. They are located in the `benchmarks` directory, and it exposes a CLI you can use to run them.
You can run all available benchmarks sequentially by running (from the project root):
We have benchmarks to keep performance under control. You can run these by running (from the project root):
```shell
pnpm run benchmark
pnpm run benchmark --filter astro
```
To run a specific benchmark only, you can add the name of the benchmark after the command:
Which will fail if the performance has regressed by **10%** or more.
To update the times cd into the `packages/astro` folder and run the following:
```shell
pnpm run benchmark memory
node test/benchmark/build.bench.js --save
node test/benchmark/dev.bench.js --save
```
Use `pnpm run benchmark --help` to see all available options.
To run these benchmarks in a PR on GitHub instead of using the CLI, you can comment `!bench`. The benchmarks will run on both the PR branch and the `main` branch, and the results will be posted as a new comment.
To run only a specific benchmark on CI, add its name after the command in your comment, for example, `!bench memory`.
Which will update the build and dev benchmarks.
## Code Structure
@ -168,7 +149,7 @@ Server-side rendering (SSR) can be complicated. The Astro package (`packages/ast
- `core/`: Code that executes **in the top-level scope** (in Node). Within, youll find code that powers the `astro build` and `astro dev` commands, as well as top-level SSR code.
- `runtime/`: Code that executes **in different scopes** (i.e. not in a pure Node context). Youll have to think about code differently here.
- `client/`: Code that executes **in the browser.** Astros partial hydration code lives here, and only browser-compatible code can be used.
- `server/`: Code that executes **inside Vites SSR.** Though this is a Node environment inside, this will be executed independently of `core/` and may have to be structured differently.
- `server/`: Code that executes **inside Vites SSR.** Though this is a Node environment inside, this will be executed independently from `core/` and may have to be structured differently.
- `vite-plugin-*/`: Any Vite plugins that Astro needs to run. For the most part, these also execute within Vite similar to `src/runtime/server/`, but its also helpful to think about them as independent modules. _Note: at the moment these are internal while theyre in development_
### Thinking about SSR
@ -198,7 +179,7 @@ By default, `create-astro` and [astro.new](https://astro.new) point to this bran
## Releasing Astro
_Note: Only [core maintainers (L3+)](https://github.com/withastro/.github/blob/main/GOVERNANCE.md#level-3-l3---core) can release new versions of Astro._
_Note: Only [core maintainers (L3+)](https://github.com/withastro/.github/blob/main/GOVERNANCE.md#level-3-l3---core-maintainer) can release new versions of Astro._
The repo is set up with automatic releases, using the changeset GitHub action & bot.
@ -230,15 +211,15 @@ git reset --hard
By default, every package with a changeset will be released. If you only want to target a smaller subset of packages for release, you can consider clearing out the `.changesets` directory to replace all existing changesets with a single changeset of only the packages that you want to release. Just be sure not to commit or push this to `main`, since it will destroy existing changesets that you will still want to eventually release.
Full documentation: https://github.com/changesets/changesets/blob/main/docs/snapshot-releases.md
Full documentation: https://github.com/atlassian/changesets/blob/main/docs/snapshot-releases.md
### Releasing `astro@next` (aka "prerelease mode")
Sometimes, the repo will enter into "prerelease mode". In prerelease mode, our normal release process will publish npm versions under the `next` dist-tag, instead of the default `latest` tag. We do this from time-to-time to test large features before sharing them with the larger Astro audience.
While in prerelease mode, follow the normal release process to release `astro@next` instead of `astro@latest`. To release `astro@latest` instead, see [Releasing `astro@latest` while in prerelease mode](#releasing-astrolatest-while-in-prerelease-mode).
While in prerelease mode, follow the normal release process to release `astro@next` instead of `astro@latest`. To release `astro@latest` instead, see [Releasing `astro@latest` while in prerelease mode](#user-content-releasing-astrolatest-while-in-prerelease-mode).
Full documentation: https://github.com/changesets/changesets/blob/main/docs/prereleases.md
Full documentation: https://github.com/atlassian/changesets/blob/main/docs/prereleases.md
### Entering prerelease mode

View file

@ -1,4 +1,4 @@
![Build the web you want](.github/assets/banner.png 'Build the web you want')
![The Astro logo.](assets/social/banner-minimal.png 'The Astro logo.')
<p align="center">
<br/>
@ -8,6 +8,7 @@
<br/><br/>
</p>
## Install
The **recommended** way to install the latest version of Astro is by running the command below:
@ -22,10 +23,9 @@ You can also install Astro **manually** by running this command instead:
npm install --save-dev astro
```
Looking for help? Start with our [Getting Started](https://docs.astro.build/en/getting-started/) guide.
Looking for help? Start with our [Getting Started](https://docs.astro.build/en/getting-started/) guide.
Looking for quick examples? [Open a starter project](https://astro.new/) right in your browser.
## Documentation
Visit our [official documentation](https://docs.astro.build/).
@ -33,10 +33,9 @@ Visit our [official documentation](https://docs.astro.build/).
## Support
Having trouble? Get help in the official [Astro Discord](https://astro.build/chat).
## Contributing
**New contributors welcome!** Check out our [Contributors Guide](CONTRIBUTING.md) for help getting started.
**New contributors welcome!** Check out our [Contributors Guide](CONTRIBUTING.md) for help getting started.
Join us on [Discord](https://astro.build/chat) to meet other maintainers. We'll help you get your first contribution in no time!
@ -48,19 +47,23 @@ Join us on [Discord](https://astro.build/chat) to meet other maintainers. We'll
| [create-astro](packages/create-astro) | [![create-astro version](https://img.shields.io/npm/v/create-astro.svg?label=%20)](packages/create-astro/CHANGELOG.md) |
| [@astrojs/react](packages/integrations/react) | [![astro version](https://img.shields.io/npm/v/@astrojs/react.svg?label=%20)](packages/integrations/react/CHANGELOG.md) |
| [@astrojs/preact](packages/integrations/preact) | [![astro version](https://img.shields.io/npm/v/@astrojs/preact.svg?label=%20)](packages/integrations/preact/CHANGELOG.md) |
| [@astrojs/solid-js](packages/integrations/solid) | [![astro version](https://img.shields.io/npm/v/@astrojs/solid-js.svg?label=%20)](packages/integrations/solid/CHANGELOG.md) |
| [@astrojs/solid-js](packages/integrations/solid) | [![astro version](https://img.shields.io/npm/v/@astrojs/solid-js.svg?label=%20)](packages/integrations/solid/CHANGELOG.md) |
| [@astrojs/svelte](packages/integrations/svelte) | [![astro version](https://img.shields.io/npm/v/@astrojs/svelte.svg?label=%20)](packages/integrations/svelte/CHANGELOG.md) |
| [@astrojs/vue](packages/integrations/vue) | [![astro version](https://img.shields.io/npm/v/@astrojs/vue.svg?label=%20)](packages/integrations/vue/CHANGELOG.md) |
| [@astrojs/lit](packages/integrations/lit) | [![astro version](https://img.shields.io/npm/v/@astrojs/lit.svg?label=%20)](packages/integrations/lit/CHANGELOG.md) |
| [@astrojs/node](packages/integrations/node) | [![astro version](https://img.shields.io/npm/v/@astrojs/node.svg?label=%20)](packages/integrations/node/CHANGELOG.md) |
| [@astrojs/deno](packages/integrations/deno) | [![astro version](https://img.shields.io/npm/v/@astrojs/deno.svg?label=%20)](packages/integrations/deno/CHANGELOG.md) |
| [@astrojs/netlify](packages/integrations/netlify) | [![astro version](https://img.shields.io/npm/v/@astrojs/netlify.svg?label=%20)](packages/integrations/netlify/CHANGELOG.md) |
| [@astrojs/node](packages/integrations/node) | [![astro version](https://img.shields.io/npm/v/@astrojs/node.svg?label=%20)](packages/integrations/node/CHANGELOG.md) |
| [@astrojs/vercel](packages/integrations/vercel) | [![astro version](https://img.shields.io/npm/v/@astrojs/vercel.svg?label=%20)](packages/integrations/vercel/CHANGELOG.md) |
| [@astrojs/cloudflare](packages/integrations/cloudflare) | [![astro version](https://img.shields.io/npm/v/@astrojs/cloudflare.svg?label=%20)](packages/integrations/cloudflare/CHANGELOG.md) |
| [@astrojs/partytown](packages/integrations/partytown) | [![astro version](https://img.shields.io/npm/v/@astrojs/partytown.svg?label=%20)](packages/integrations/partytown/CHANGELOG.md) |
| [@astrojs/sitemap](packages/integrations/sitemap) | [![astro version](https://img.shields.io/npm/v/@astrojs/sitemap.svg?label=%20)](packages/integrations/sitemap/CHANGELOG.md) |
| [@astrojs/tailwind](packages/integrations/tailwind) | [![astro version](https://img.shields.io/npm/v/@astrojs/tailwind.svg?label=%20)](packages/integrations/tailwind/CHANGELOG.md) |
| [@astrojs/alpinejs](packages/integrations/alpinejs) | [![astro version](https://img.shields.io/npm/v/@astrojs/alpinejs.svg?label=%20)](packages/integrations/alpinejs/CHANGELOG.md) |
| [@astrojs/mdx](packages/integrations/mdx) | [![astro version](https://img.shields.io/npm/v/@astrojs/mdx.svg?label=%20)](packages/integrations/mdx/CHANGELOG.md) |
| [@astrojs/prefetch](packages/integrations/prefetch) | [![astro version](https://img.shields.io/npm/v/@astrojs/prefetch.svg?label=%20)](packages/integrations/prefetch/CHANGELOG.md) |
| [@astrojs/turbolinks](packages/integrations/turbolinks) | [![astro version](https://img.shields.io/npm/v/@astrojs/turbolinks.svg?label=%20)](packages/integrations/turbolinks/CHANGELOG.md) |
| [@astrojs/alpinejs](packages/integrations/alpinejs) | [![astro version](https://img.shields.io/npm/v/@astrojs/alpinejs.svg?label=%20)](packages/integrations/alpinejs/CHANGELOG.md) |
| [@astrojs/image](packages/integrations/image) | [![astro version](https://img.shields.io/npm/v/@astrojs/image.svg?label=%20)](packages/integrations/image/CHANGELOG.md) |
| [@astrojs/mdx](packages/integrations/mdx) | [![astro version](https://img.shields.io/npm/v/@astrojs/mdx.svg?label=%20)](packages/integrations/mdx/CHANGELOG.md) |
| [@astrojs/prefetch](packages/integrations/prefetch) | [![astro version](https://img.shields.io/npm/v/@astrojs/prefetch.svg?label=%20)](packages/integrations/prefetch/CHANGELOG.md) |
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/6178/badge)](https://bestpractices.coreinfrastructure.org/projects/6178)
@ -68,9 +71,10 @@ Several official projects are maintained outside of this repo:
| Project | Repository |
| ------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| [@astrojs/compiler](https://github.com/withastro/compiler) | [withastro/compiler](https://github.com/withastro/compiler) |
| [@astrojs/compiler](https://github.com/withastro/compiler) | [withastro/compiler](https://github.com/withastro/compiler) |
| [Astro Language Tools](https://github.com/withastro/language-tools) | [withastro/language-tools](https://github.com/withastro/language-tools) |
## Links
- [License (MIT)](LICENSE)
@ -81,16 +85,17 @@ Several official projects are maintained outside of this repo:
## Sponsors
Astro is free, open source software made possible by these wonderful sponsors.
Astro is generously supported by Netlify, Storyblok, and several other amazing organizations.
[❤️ Sponsor Astro! ❤️](https://github.com/withastro/.github/blob/main/FUNDING.md)
<p align="center">
<a target="_blank" href="https://github.com/sponsors/withastro">
[![Astro's sponsors.](https://astro.build/sponsors.png "Astro's sponsors.
Platinum sponsors: Vercel, storyblok, Netlify, Ship Shape, Google Chrome
Gold sponsors: divRIOTS, DEEPGRAM, Transloadit, CloudCannon
[![Astro's sponsors.](https://astro.build/sponsors.png
"Astro's sponsors.
Platinum sponsors: Netlify, storyblok, Vercel, Ship Shape
Gold sponsors: divRIOTS, StackUp, DEEPGRAM
Sponsors: Monogram, Qoddi, Dimension")](https://github.com/sponsors/withastro)
</a>

View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
<path fill="#FF5D01" fill-rule="evenodd" d="M4.428 14.135c-.312.997-.467 1.495-.429 1.968.036.417.178.818.413 1.165.266.392.7.682 1.57 1.261l3.839 2.56c.775.516 1.163.775 1.582.876.37.09.757.09 1.128.003.42-.1.81-.357 1.588-.87L18 18.533c.878-.581 1.318-.87 1.588-1.266A2.43 2.43 0 0020 16.095c.039-.477-.122-.978-.44-1.982l-3.4-10.7c-.165-.52-.247-.779-.405-.972a1.296 1.296 0 00-.523-.382c-.23-.092-.502-.092-1.047-.092H9.754c-.547 0-.822 0-1.053.094a1.29 1.29 0 00-.524.384c-.158.194-.239.455-.401.977L4.428 14.136zm9.93-9.897c.13.162.198.383.331.82l2.919 9.588a12.146 12.146 0 00-3.49-1.18l-1.9-6.423a.248.248 0 00-.474 0l-1.878 6.418a12.128 12.128 0 00-3.505 1.184l2.934-9.588c.133-.439.2-.658.331-.82.116-.143.267-.254.437-.323.194-.078.423-.078.881-.078h2.095c.458 0 .688 0 .882.078.17.069.32.18.437.324zm-2.263 11.557c1.106 0 2.067-.28 2.548-.692a2.1 2.1 0 01-.155 1.636c-.308.57-.755.853-1.158 1.108-.506.321-.941.598-.941 1.34 0 .245.056.479.157.686a1.868 1.868 0 01-1.151-1.725v-.046c0-.512.001-1.143-.722-1.143a.765.765 0 00-.766.764c-.812-.813-.741-1.983-.741-1.983 0-.239.024-.611.131-.936.302.568 1.44.99 2.798.99z" clip-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

15
assets/brand/icon-32.svg Normal file
View file

@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 32 32">
<path fill="url(#a)" fill-rule="evenodd" d="m20.4 2.4.6 1.5 5.4 17.8c-2-1-4.2-1.8-6.5-2.2l-3.5-12a.5.5 0 0 0-.9 0l-3.5 12c-2.3.4-4.4 1.1-6.5 2.2L11 3.9c.2-.8.4-1.2.6-1.5.2-.3.5-.5.8-.6.4-.2.8-.2 1.6-.2h4c.8 0 1.2 0 1.6.2.3 0 .6.3.8.6Z" clip-rule="evenodd"/>
<path fill="#FF5D01" fill-rule="evenodd" d="M21 22.5c-.9.8-2.6 1.3-4.7 1.3-2.5 0-4.6-.8-5.2-1.8-.2.6-.2 1.3-.2 1.7 0 0-.2 2.2 1.3 3.7 0-.8.7-1.4 1.5-1.4 1.3 0 1.3 1 1.3 2v.2c0 1.4.9 2.6 2.1 3.2a3 3 0 0 1-.3-1.3c0-1.4.9-1.9 1.8-2.5.7-.5 1.6-1 2.1-2a3.9 3.9 0 0 0 .3-3Z" clip-rule="evenodd"/>
<path fill="url(#b)" fill-rule="evenodd" d="M21 22.5c-.9.8-2.6 1.3-4.7 1.3-2.5 0-4.6-.8-5.2-1.8-.2.6-.2 1.3-.2 1.7 0 0-.2 2.2 1.3 3.7 0-.8.7-1.4 1.5-1.4 1.3 0 1.3 1 1.3 2v.2c0 1.4.9 2.6 2.1 3.2a3 3 0 0 1-.3-1.3c0-1.4.9-1.9 1.8-2.5.7-.5 1.6-1 2.1-2a3.9 3.9 0 0 0 .3-3Z" clip-rule="evenodd"/>
<defs>
<linearGradient id="a" x1="22.1" x2="16" y1=".7" y2="21.7" gradientUnits="userSpaceOnUse">
<stop stop-color="#fff"/>
<stop offset="1" stop-color="#F9FAFB"/>
</linearGradient>
<linearGradient id="b" x1="25" x2="19.8" y1="16.3" y2="27.4" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF1639"/>
<stop offset="1" stop-color="#FF1639" stop-opacity="0"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

View file

@ -0,0 +1,22 @@
<svg width="192" height="256" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M131.008 18.929c1.944 2.413 2.935 5.67 4.917 12.181l43.309 142.27a180.277 180.277 0 00-51.778-17.53L99.258 60.56a3.67 3.67 0 00-7.042.01l-27.857 95.232a180.225 180.225 0 00-52.01 17.557l43.52-142.281c1.99-6.502 2.983-9.752 4.927-12.16a15.999 15.999 0 016.484-4.798c2.872-1.154 6.271-1.154 13.07-1.154h31.085c6.807 0 10.211 0 13.086 1.157a16.004 16.004 0 016.487 4.806z"
fill="url(#paint0_linear)" />
<path fill-rule="evenodd" clip-rule="evenodd"
d="M136.19 180.151c-7.139 6.105-21.39 10.268-37.804 10.268-20.147 0-37.033-6.272-41.513-14.707-1.602 4.835-1.961 10.367-1.961 13.902 0 0-1.056 17.355 11.015 29.426 0-6.268 5.081-11.349 11.35-11.349 10.742 0 10.73 9.373 10.72 16.977v.679c0 11.542 7.054 21.436 17.086 25.606a23.27 23.27 0 01-2.339-10.2c0-11.008 6.463-15.107 13.974-19.87 5.976-3.79 12.616-8.001 17.192-16.449a31.024 31.024 0 003.743-14.82c0-3.299-.513-6.479-1.463-9.463z"
fill="#FF5D01" />
<path fill-rule="evenodd" clip-rule="evenodd"
d="M136.19 180.151c-7.139 6.105-21.39 10.268-37.804 10.268-20.147 0-37.033-6.272-41.513-14.707-1.602 4.835-1.961 10.367-1.961 13.902 0 0-1.056 17.355 11.015 29.426 0-6.268 5.081-11.349 11.35-11.349 10.742 0 10.73 9.373 10.72 16.977v.679c0 11.542 7.054 21.436 17.086 25.606a23.27 23.27 0 01-2.339-10.2c0-11.008 6.463-15.107 13.974-19.87 5.976-3.79 12.616-8.001 17.192-16.449a31.024 31.024 0 003.743-14.82c0-3.299-.513-6.479-1.463-9.463z"
fill="url(#paint1_linear)" />
<defs>
<linearGradient id="paint0_linear" x1="144.599" y1="5.423" x2="95.791" y2="173.38" gradientUnits="userSpaceOnUse">
<stop stop-color="#fff" />
<stop offset="1" stop-color="#F9FAFB" />
</linearGradient>
<linearGradient id="paint1_linear" x1="168.336" y1="130.49" x2="126.065" y2="218.982"
gradientUnits="userSpaceOnUse">
<stop stop-color="#FF1639" />
<stop offset="1" stop-color="#FF1639" stop-opacity="0" />
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2 KiB

22
assets/brand/logo.svg Normal file
View file

@ -0,0 +1,22 @@
<svg width="192" height="256" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M131.008 18.929c1.944 2.413 2.935 5.67 4.917 12.181l43.309 142.27a180.277 180.277 0 00-51.778-17.53L99.258 60.56a3.67 3.67 0 00-7.042.01l-27.857 95.232a180.225 180.225 0 00-52.01 17.557l43.52-142.281c1.99-6.502 2.983-9.752 4.927-12.16a15.999 15.999 0 016.484-4.798c2.872-1.154 6.271-1.154 13.07-1.154h31.085c6.807 0 10.211 0 13.086 1.157a16.004 16.004 0 016.487 4.806z"
fill="url(#paint0_linear)" />
<path fill-rule="evenodd" clip-rule="evenodd"
d="M136.19 180.151c-7.139 6.105-21.39 10.268-37.804 10.268-20.147 0-37.033-6.272-41.513-14.707-1.602 4.835-1.961 10.367-1.961 13.902 0 0-1.056 17.355 11.015 29.426 0-6.268 5.081-11.349 11.35-11.349 10.742 0 10.73 9.373 10.72 16.977v.679c0 11.542 7.054 21.436 17.086 25.606a23.27 23.27 0 01-2.339-10.2c0-11.008 6.463-15.107 13.974-19.87 5.976-3.79 12.616-8.001 17.192-16.449a31.024 31.024 0 003.743-14.82c0-3.299-.513-6.479-1.463-9.463z"
fill="#FF5D01" />
<path fill-rule="evenodd" clip-rule="evenodd"
d="M136.19 180.151c-7.139 6.105-21.39 10.268-37.804 10.268-20.147 0-37.033-6.272-41.513-14.707-1.602 4.835-1.961 10.367-1.961 13.902 0 0-1.056 17.355 11.015 29.426 0-6.268 5.081-11.349 11.35-11.349 10.742 0 10.73 9.373 10.72 16.977v.679c0 11.542 7.054 21.436 17.086 25.606a23.27 23.27 0 01-2.339-10.2c0-11.008 6.463-15.107 13.974-19.87 5.976-3.79 12.616-8.001 17.192-16.449a31.024 31.024 0 003.743-14.82c0-3.299-.513-6.479-1.463-9.463z"
fill="url(#paint1_linear)" />
<defs>
<linearGradient id="paint0_linear" x1="144.599" y1="5.423" x2="95.791" y2="173.38" gradientUnits="userSpaceOnUse">
<stop stop-color="#000014" />
<stop offset="1" stop-color="#150426" />
</linearGradient>
<linearGradient id="paint1_linear" x1="168.336" y1="130.49" x2="126.065" y2="218.982"
gradientUnits="userSpaceOnUse">
<stop stop-color="#FF1639" />
<stop offset="1" stop-color="#FF1639" stop-opacity="0" />
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2 KiB

BIN
assets/social/avatar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

69
assets/social/banner.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -1,21 +1,3 @@
import { createRequire } from 'node:module';
import path from 'node:path';
import { createRequire } from 'module';
const astroPkgPath = createRequire(import.meta.url).resolve('astro/package.json');
export const astroBin = path.resolve(astroPkgPath, '../astro.js');
/** @typedef {{ avg: number, stdev: number, max: number }} Stat */
/**
* @param {number[]} numbers
* @returns {Stat}
*/
export function calculateStat(numbers) {
const avg = numbers.reduce((a, b) => a + b, 0) / numbers.length;
const stdev = Math.sqrt(
numbers.map((x) => Math.pow(x - avg, 2)).reduce((a, b) => a + b, 0) / numbers.length
);
const max = Math.max(...numbers);
return { avg, stdev, max };
}
export const astroBin = createRequire(import.meta.url).resolve('astro');

View file

@ -1,73 +0,0 @@
import { fileURLToPath } from 'node:url';
import { execaCommand } from 'execa';
import { markdownTable } from 'markdown-table';
import { astroBin, calculateStat } from './_util.js';
/** Default project to run for this benchmark if not specified */
export const defaultProject = 'render-default';
/**
* @param {URL} projectDir
* @param {URL} outputFile
*/
export async function run(projectDir, outputFile) {
const root = fileURLToPath(projectDir);
console.log('Benchmarking `astro --help`...');
const helpStat = await benchmarkCommand(`node ${astroBin} --help`, root);
console.log('Done');
console.log('Benchmarking `astro info`...');
const infoStat = await benchmarkCommand(`node ${astroBin} info`, root);
console.log('Done');
console.log('Result preview:');
console.log('='.repeat(10));
console.log(`#### CLI Startup\n\n`);
console.log(
printResult({
'astro --help': helpStat,
'astro info': infoStat,
})
);
console.log('='.repeat(10));
}
/**
* @param {string} command
* @param {string} root
* @returns {Promise<import('./_util.js').Stat>}
*/
async function benchmarkCommand(command, root) {
/** @type {number[]} */
const durations = [];
for (let i = 0; i < 10; i++) {
const start = performance.now();
await execaCommand(command, { cwd: root });
durations.push(performance.now() - start);
}
// From the 10 durations, calculate average, standard deviation, and max value
return calculateStat(durations);
}
/**
* @param {Record<string, import('./_util.js').Stat>} result
*/
function printResult(result) {
return markdownTable(
[
['Command', 'Avg (ms)', 'Stdev (ms)', 'Max (ms)'],
...Object.entries(result).map(([command, { avg, stdev, max }]) => [
command,
avg.toFixed(2),
stdev.toFixed(2),
max.toFixed(2),
]),
],
{
align: ['l', 'r', 'r', 'r'],
}
);
}

View file

@ -1,7 +1,7 @@
import fs from 'fs/promises';
import { fileURLToPath } from 'url';
import { execaCommand } from 'execa';
import { markdownTable } from 'markdown-table';
import fs from 'node:fs/promises';
import { fileURLToPath } from 'node:url';
import { astroBin } from './_util.js';
/** @typedef {Record<string, import('../../packages/astro/src/core/config/timer').Stat>} AstroTimerStat */

View file

@ -1,115 +0,0 @@
import { execaCommand } from 'execa';
import { markdownTable } from 'markdown-table';
import fs from 'node:fs/promises';
import http from 'node:http';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
import { waitUntilBusy } from 'port-authority';
import { calculateStat, astroBin } from './_util.js';
import { renderFiles } from '../make-project/render-default.js';
const port = 4322;
export const defaultProject = 'render-default';
/**
* @param {URL} projectDir
* @param {URL} outputFile
*/
export async function run(projectDir, outputFile) {
const root = fileURLToPath(projectDir);
console.log('Building...');
await execaCommand(`${astroBin} build`, {
cwd: root,
stdio: 'inherit',
});
console.log('Previewing...');
const previewProcess = execaCommand(`${astroBin} preview --port ${port}`, {
cwd: root,
stdio: 'inherit',
});
console.log('Waiting for server ready...');
await waitUntilBusy(port, { timeout: 5000 });
console.log('Running benchmark...');
const result = await benchmarkRenderTime();
console.log('Killing server...');
if (!previewProcess.kill('SIGTERM')) {
console.warn('Failed to kill server process id:', previewProcess.pid);
}
console.log('Writing results to', fileURLToPath(outputFile));
await fs.writeFile(outputFile, JSON.stringify(result, null, 2));
console.log('Result preview:');
console.log('='.repeat(10));
console.log(`#### Render\n\n`);
console.log(printResult(result));
console.log('='.repeat(10));
console.log('Done!');
}
async function benchmarkRenderTime() {
/** @type {Record<string, number[]>} */
const result = {};
for (const fileName of Object.keys(renderFiles)) {
// Render each file 100 times and push to an array
for (let i = 0; i < 100; i++) {
const pathname = '/' + fileName.slice(0, -path.extname(fileName).length);
const renderTime = await fetchRenderTime(`http://localhost:${port}${pathname}`);
if (!result[pathname]) result[pathname] = [];
result[pathname].push(renderTime);
}
}
/** @type {Record<string, import('./_util.js').Stat>} */
const processedResult = {};
for (const [pathname, times] of Object.entries(result)) {
// From the 100 results, calculate average, standard deviation, and max value
processedResult[pathname] = calculateStat(times);
}
return processedResult;
}
/**
* @param {Record<string, import('./_util.js').Stat>} result
*/
function printResult(result) {
return markdownTable(
[
['Page', 'Avg (ms)', 'Stdev (ms)', 'Max (ms)'],
...Object.entries(result).map(([pathname, { avg, stdev, max }]) => [
pathname,
avg.toFixed(2),
stdev.toFixed(2),
max.toFixed(2),
]),
],
{
align: ['l', 'r', 'r', 'r'],
}
);
}
/**
* Simple fetch utility to get the render time sent by `@benchmark/timer` in plain text
* @param {string} url
* @returns {Promise<number>}
*/
function fetchRenderTime(url) {
return new Promise((resolve, reject) => {
const req = http.request(url, (res) => {
res.setEncoding('utf8');
let data = '';
res.on('data', (chunk) => (data += chunk));
res.on('error', (e) => reject(e));
res.on('end', () => resolve(+data));
});
req.on('error', (e) => reject(e));
req.end();
});
}

View file

@ -1,9 +1,9 @@
import fs from 'fs/promises';
import { fileURLToPath } from 'url';
import autocannon from 'autocannon';
import { execaCommand } from 'execa';
import { markdownTable } from 'markdown-table';
import fs from 'node:fs/promises';
import { fileURLToPath } from 'node:url';
import { waitUntilBusy } from 'port-authority';
import { markdownTable } from 'markdown-table';
import pb from 'pretty-bytes';
import { astroBin } from './_util.js';

View file

@ -1,7 +1,7 @@
import fs from 'fs/promises';
import path from 'path';
import { pathToFileURL } from 'url';
import mri from 'mri';
import fs from 'node:fs/promises';
import path from 'node:path';
import { pathToFileURL } from 'node:url';
const args = mri(process.argv.slice(2));
@ -12,9 +12,7 @@ astro-benchmark <command> [options]
Command
[empty] Run all benchmarks
memory Run build memory and speed test
render Run rendering speed test
server-stress Run server stress test
cli-startup Run CLI startup speed test
Options
--project <project-name> Project to use for benchmark, see benchmark/make-project/ for available names
@ -26,9 +24,7 @@ Options
const commandName = args._[0];
const benchmarks = {
memory: () => import('./bench/memory.js'),
render: () => import('./bench/render.js'),
'server-stress': () => import('./bench/server-stress.js'),
'cli-startup': () => import('./bench/cli-startup.js'),
};
if (commandName && !(commandName in benchmarks)) {

View file

@ -1,12 +1,2 @@
export const loremIpsum =
"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.";
export const loremIpsumHtml = loremIpsum
.replace(/Lorem/g, '<strong>Lorem</strong>')
.replace(/Ipsum/g, '<em>Ipsum</em>')
.replace(/dummy/g, '<span>dummy</span>');
export const loremIpsumMd = loremIpsum
.replace(/Lorem/g, '**Lorem**')
.replace(/Ipsum/g, '_Ipsum_')
.replace(/dummy/g, '`dummy`');

View file

@ -1,4 +1,4 @@
import fs from 'node:fs/promises';
import fs from 'fs/promises';
import { loremIpsum } from './_util.js';
/**

View file

@ -1,87 +0,0 @@
import fs from 'node:fs/promises';
import { loremIpsumHtml, loremIpsumMd } from './_util.js';
// Map of files to be generated and tested for rendering.
// Ideally each content should be similar for comparison.
export const renderFiles = {
'astro.astro': `\
---
const className = "text-red-500";
const style = { color: "red" };
const items = Array.from({ length: 1000 }, (_, i) => i);
---
<html>
<head>
<title>My Site</title>
</head>
<body>
<h1 class={className + ' text-lg'}>List</h1>
<ul style={style}>
{items.map((item) => (
<li class={className}>{item}</li>
))}
</ul>
${Array.from({ length: 1000 })
.map(() => `<p>${loremIpsumHtml}</p>`)
.join('\n')}
</body>
</html>`,
'md.md': `\
# List
${Array.from({ length: 1000 }, (_, i) => i)
.map((v) => `- ${v}`)
.join('\n')}
${Array.from({ length: 1000 })
.map(() => loremIpsumMd)
.join('\n\n')}
`,
'mdx.mdx': `\
export const className = "text-red-500";
export const style = { color: "red" };
export const items = Array.from({ length: 1000 }, (_, i) => i);
# List
<ul style={style}>
{items.map((item) => (
<li class={className}>{item}</li>
))}
</ul>
${Array.from({ length: 1000 })
.map(() => loremIpsumMd)
.join('\n\n')}
`,
};
/**
* @param {URL} projectDir
*/
export async function run(projectDir) {
await fs.rm(projectDir, { recursive: true, force: true });
await fs.mkdir(new URL('./src/pages', projectDir), { recursive: true });
await Promise.all(
Object.entries(renderFiles).map(([name, content]) => {
return fs.writeFile(new URL(`./src/pages/${name}`, projectDir), content, 'utf-8');
})
);
await fs.writeFile(
new URL('./astro.config.js', projectDir),
`\
import { defineConfig } from 'astro/config';
import timer from '@benchmark/timer';
import mdx from '@astrojs/mdx';
export default defineConfig({
integrations: [mdx()],
output: 'server',
adapter: timer(),
});`,
'utf-8'
);
}

View file

@ -1,4 +1,4 @@
import fs from 'node:fs/promises';
import fs from 'fs/promises';
import { loremIpsum } from './_util.js';
/**
@ -7,13 +7,11 @@ import { loremIpsum } from './_util.js';
export async function run(projectDir) {
await fs.rm(projectDir, { recursive: true, force: true });
await fs.mkdir(new URL('./src/pages', projectDir), { recursive: true });
await fs.mkdir(new URL('./src/components', projectDir), { recursive: true });
await fs.writeFile(
new URL('./src/pages/index.astro', projectDir),
`\
---
import Paragraph from '../components/Paragraph.astro'
const content = "${loremIpsum}"
---
@ -27,26 +25,13 @@ const content = "${loremIpsum}"
<body>
<h1>Astro</h1>
<div>
${Array.from({ length: 100 })
.map(() => '<p>{content}</p>')
.join('\n')}
</div>
<div>
${Array.from({ length: 50 })
.map((_, i) => '<Paragraph num={' + i + '} str={content} />')
.join('\n')}
${Array.from({ length: 60 }).map(() => '<p>{content}</p>')}
</div>
</body>
</html>`,
'utf-8'
);
await fs.writeFile(
new URL('./src/components/Paragraph.astro', projectDir),
`<div>{Astro.props.num} {Astro.props.str}</div>`,
'utf-8'
);
await fs.writeFile(
new URL('./astro.config.js', projectDir),
`\

View file

@ -7,15 +7,13 @@
"astro-benchmark": "./index.js"
},
"dependencies": {
"@astrojs/mdx": "workspace:*",
"@astrojs/node": "workspace:*",
"@benchmark/timer": "workspace:*",
"astro": "workspace:*",
"autocannon": "^7.12.0",
"execa": "^8.0.1",
"autocannon": "^7.10.0",
"execa": "^6.1.0",
"markdown-table": "^3.0.3",
"mri": "^1.2.0",
"port-authority": "^2.0.1",
"pretty-bytes": "^6.1.1"
"pretty-bytes": "^6.0.0"
}
}

Some files were not shown because too many files have changed in this diff Show more