Commit graph

347 commits

Author SHA1 Message Date
Drew Powers
8986d33bfc
Improve error messages (#1875)
* Fix error handling in correct scope

Also improve Vite IDs for better module graph lookups

* Improve code frame

* Add changeset

* maybeLoc can be undefined

* Add tests

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2021-11-18 17:42:07 -07:00
Drew Powers
36f2f5d33e
Fix styles-ssr timeout (#1891) 2021-11-18 15:18:59 -07:00
matthewp
637cf499fa [ci] yarn format 2021-11-18 16:15:09 +00:00
Matthew Phillips
53d9cf5ec6
Dev server routing tests (and fixes) (#1879)
* Dev server routing tests (and fixes)

* Adding a changeset

* Bump the style-ssr test timeout
2021-11-18 11:13:54 -05:00
matthewp
6abea78ecd [ci] yarn format 2021-11-17 20:59:04 +00:00
Matthew Phillips
0ce86dfdf3
Fix for built scoped Vue styles (#1868)
* Fixes #1844

* Adds a changeset

* Remove all special casing

* Add a clarifying comment
2021-11-17 15:57:47 -05:00
Nate Moore
06446d14a3
fix: enable node builtins (#1771)
* fix: enable node builtins

* fix: update bare node builtin test

* test: update fixture to support node@12
2021-11-17 14:25:45 -06:00
Drew Powers
3cd1458aa7
Fix Windows CSS bundling bug (#1840)
* Fix Windows CSS bundling bug

JS components’ styles accidentally left out of final build on Windows

* Review feedback
2021-11-16 13:59:41 -07:00
Nate Moore
824c1f2024
Implement client:only handling (#1716)
* WIP: improve `client:only` handling

* feat: implement `client:only` in renderer

* test: reenable client:only tests

* feat: improve SSR error messages

* fix: add `resolvePath` method to Metadata

* test: fix client-only test

* chore: fix custom-elements handling

* test: revert `custom-elements` test change

* fix: do not assign a default renderer even if there's only one configured

* chore: bump compiler

* chore: add changeset
2021-11-16 10:01:14 -06:00
Drew Powers
65216ef921
Fix PostCSS (and Autoprefixer) processing (#1837)
* Fix PostCSS processing

* Skip Windows tests

(for now)
2021-11-15 14:16:07 -07:00
Matthew Phillips
93cc4d361b
Start of fixing multiple CSS issue (#1838)
* Start of fixing multiple CSS issue

* Update tests to work with compiled output

* Fix linting
2021-11-15 15:05:36 -05:00
Drew Powers
3d7d63aa8a
Improve WASM panic error (#1782)
* Improve WASM panic error

* Add panic test
2021-11-11 13:04:57 -07:00
Matthew Phillips
65d17857ce
Uncomment hoisted scripts (#1743)
* Uncomment hoisted scripts

* Get hoisted scripts to pass

* Adds a changeset
2021-11-11 14:35:46 -05:00
Drew Powers
529486bfb0
Inject Doctype tag (#1783) 2021-11-11 12:28:14 -07:00
Matthew Phillips
b958088c3d
Add display: contents for hydrated components (#1794)
* Add display: contents for hydrated components

* Only serialize boolean attrs that are data attrs

* Adds a changeset
2021-11-11 11:55:50 -05:00
matthewp
8e3fd04dbd [ci] yarn format 2021-11-11 13:45:37 +00:00
Matthew Phillips
fd52bceea4
Build/bundle assets and CSS (#1786)
* Bundling CSS

* Current progress of building assets

* New build progress

* Its finally working

* Force css to go through the build

* Prettier filenames

* Split into separate CSS and HTML plugins

* Always have at least one input

* Bring back in sitemaps + output

* Bring back srcset support

* Bundle CSS

* Bring back minify

* Update dynamic tests

* Update remaining tests

* Linting

* Fix remaining broken test

* Use fs directly

* Adding a changeset

* Use path.posix

* Debugging windows

* More debugging

* Pass URLs into readFile

* Remove some debugging stuff

* Remove force flag from transformWithVite

* Update packages/astro/src/vite-plugin-build-css/index.ts

Co-authored-by: Drew Powers <1369770+drwpow@users.noreply.github.com>

Co-authored-by: Drew Powers <1369770+drwpow@users.noreply.github.com>
2021-11-11 08:44:11 -05:00
Yoshiaki Togami
7acf762c12
Fix/check content type (#1754)
* test: add test case

* fix: add type guard insted of content.trim().length > 0

* test: fix test
2021-11-09 11:46:01 -06:00
Drew Powers
f22a5c45d8
Enable tests (#1773) 2021-11-09 10:06:25 -07:00
Jonathan Neal
18172a6750
Support PUBLIC_ environment variables (#1750)
* Support PUBLIC_ environment variables

* Remove unnecessary Test component
2021-11-08 06:28:15 -05:00
natemoo-re
a5c6f922fa [ci] yarn format 2021-10-29 19:47:01 +00:00
Nate Moore
34e03cf912
do not format vite (#1710)
* Revert "[ci] yarn format"

This reverts commit 93489946cc.

* chore: ignore vendor
2021-10-29 14:45:32 -05:00
matthewp
93489946cc [ci] yarn format 2021-10-29 19:31:54 +00:00
Drew Powers
d84bfe719a
🚀 Astro Next (0.21.0) (#1406)
* make astro-root uids unique

* Move Astro to Vite

* Update tests

* More test improvements

* fred fixes

* Update compiler, improve tests

* Fix runtime, improve code frame

* Add Markdown support

* Tycho fixes

* Fred fixes part 2

* Throw Error for WIP Features

* Improve testing suite

* Allow users to pass config to Vite

* Fix npm install (#1407)

* Automate publish on merge (#1408)

* Add NPM_TOKEN to publish script (#1409)

* Create .npmrc

* Clean up astro deps (#1411)

* Use new renderers (#1412)

* feat: update compiler (#1421)

* Try mocha/chai test runners (#1418)

* Try mocha/chai test runners

* Disable failing smoke test for now

Will revert when next can build docs

* Enable mocha in parallel mode

* Remove warning

* Update docs

* Fix Windows bug

* Fix internal imports

* Fix styles

* Fix CI release on merge to next (#1427)

* Fix logger locale parsing (#1439)

* fix(logger): locale parsing
* Fixed issue of compiler crash when "c" locale was encountered
* Return default locale if parsed locale is less than 2 chars long

* chore: add changeset

* Apply changes from #1387

* Add back in support for children (#1486)

* Add back in support for children

* Be more careful

* Enables most slot tests (#1494)

* Enables most slot tests

* Use spreadAttributes

* Add hydration to Solid renderer (#1479) (#1495)

* feat: add hydration to Solid renderer

* fix: intersection observer, move script to the end

Co-authored-by: Ryan Carniato <ryansolid@gmail.com>

* [next] support Astro.slots API (#1516)

* [next] Support for custom elements (#1528)

* [next] Support for custom elements

* Fix eslint errors

* eslint again

* [next] Fix Astro.fetchContent (#1480)

* fix Astro.fetchContent

* fix(fetchContent): cast type

Co-authored-by: Nate Moore <nate@skypack.dev>

* Move hydration to the compiler (#1547)

* Move hydration to the compiler

* Move extracting url, export to util fn

* Brings back astro-dynamic tests (#1548)

* Implements top-level Astro + Astro.resolve (#1556)

* Implements top-level Astro + Astro.resolve

* Fix linting

* [next] Update renderers (#1509)

* chore: update vite

* fix(renderers): point renderers to resolved server/client entrypoints

* Chore: Enable more tests with new compiler changes (#1558)

* [Next] `fetch` support (#1563)

* fix: polyfill fetch in every ssr scenario

* test(fetch): update fetch tests

* docs: update data fetching guide to remove caveats about `fetch` and isomorphic usage

* refactor: update regex for clarity

* Restructure (#1569)

* Upgrade to @astrojs/compiler 0.2.0 (#1584)

* Use Vite fork (#1585)

* Use Vite fork

* Fix linting

* Move Vite to vendor/ and add a license

* Fix linting

* Include the dist folder

* Update files config

* Markdown compilation (#1593)

* Markdown compilation

* remove debugger

* Gets lit hydration working (#1595)

* Gets Astro.fetchContent compilation to work (#1596)

* Gets Astro.fetchContent compilation to work

This fixes Astro.fetchContent so that we handle esbuild transforming the
name of the nested Astro call.

* Remove debugging

* Update the tests

* Remove another debugger

* Update Vite to latest (#1597)

* Add Prism syntax highlighting (#1598)

* Scoped styles with markdown (#1599)

* Bugfix: fix getStaticPaths() cache miss (#1602)

* Fix build order (#1609)

* Bugfix: restore build to get all paths earlier, when build. Same as main.

* Also re-add timings

* [next] blog example fully working (#1610)

* Add environment variables docs (Closes #873) (#1587)

* Added environment variables docs (Closes #873)

* Fixed prefix

* Remove numbered comments (#1611)

* Chore: remove numbered comments

* Clean up block comments

* comment style fixes (#1614)

* [next] Upgrade compiler (#1619)

* [next] Upgrade compiler

* Upgrade to latest compiler

* Fix the path to global css

* Removed debugger

* feat: add fragment support to vite-plugin-astro (#1600)

* [next] fix `.tsx` handling (#1620)

* fix: support tsx in JSX plugin

* fix: preserve JSX via esbuild, only use Babel for JSX compilation

* fix: handle upcoming Vite API for `ssr` flag

* [next] Add CSS preprocessing  (#1589)

* Add concept for style support in Astro

* Update style preprocessor to use new compiler

* fix: massage preprocessStyle type

* fix: @astrojs/compiler types

Co-authored-by: Nate Moore <nate@skypack.dev>

* fix issues in blog-multiple-authors (#1621)

* Move Sass to deps (#1622)

* Update renderer API for Vite (#1623)

* Update renderer API for Vite

* Fix lit-element tests

* Clean up comments

* Throw friendly error if renderer provides viteConfig in a bad format

* Fix changesets (#1628)

* Remove cheerio scanning from build stats (#1629)

* Minor change to jsxTransformOptions, update Renderer API docs (#1630)

* [next] docs example fully working (#1627)

* [next] docs example fully working

* Upgrade compiler to unlock docs

* Add `class:list` directive (#1612)

* Add support for class:list directive

The `class:list` directive serializes an expression of css class names. For React components, `className:list` is also supported.

* Remove `className` support and React tests

* Add tests for the absence of omitted classes

* fix: `define:vars` scoping for styles (#1632)

* feat: fix Debug component (#1633)

* [next] Fix `<Markdown>` component (#1631)

* fix: cleanup issues with <Markdown> component

* fix: fix `content` usage with Markdown

* [next] Fix `<Code>` component (#1635)

* fix: enable Code component

* test: update expect to chai format

* Fixes solid (#1634)

* Fixes solid

* Rename the test

* Rebase with next

* Skip solid test for now

* Add support for markdown plugins (#1650)

* Fix broken next release (#1652)

* Prevent passing  to Svelte components

* Prevent passing class to Vue components

* Add CSS injection, fix portfolio example (#1648)

* Fix portfolio example

* Add .pcss extension

* Update load ssr opts

* Update packages/astro/src/runtime/server/index.ts

Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>

* Fixes external HMR (#1654)

* Upgrade compiler version (#1655)

Fixes docs and blog examples

* Resolve renderers relative to the projectRoot (#1659)

* Template fixes (#1656)

* fix: dedupe hashes for identical islands (#1660)

* fix: scope `define:vars` to `:root` for `<style global>` (#1663)

* chore: update compiler to latest (#1664)

* [next] fix island hydration inside of `<Markdown>` (#1665)

* fix: create rehype plugin to smooth over island hydration bugs

* refactor: remove debug code

* chore: explain need for `rehypeIslands`

* Bugfix: renderer-lit missing files on npm (#1669)

* Force Vite to rebuild dependencies (#1670)

* [next] Add `preact/compat` renderer (#1668)

* feat: add preact/compat entry for `@astrojs/renderer-preact`

* Update index.js

* Bugfix: plugin-astro-fetch tries to append node-fetch to node-fetch (#1671)

* Fix Vite race condition (#1674)

* Fix with-nanostore deps (#1675)

Adds missing Solid renderer

* [next] Fix `resolveDependency` on Windows (#1666)

* fix: Windows issue with resolveDependency util

* chore: add comment

* Update CONTRIBUTING.md (#1677)

* Prevent scanning a user's deps (#1678)

* Prevent scanning a user's deps

* Remove unused things

* remove unused util

* Adding a changeset for the remark plugin

* Config changes needed for stater template (#1680)

This does 2 things:

1. Adds prismjs as a dep.
2. Adds shiki as an external.

* Next bugs (#1681)

* fix(#1679): hoisted <script> rendering

* fix(#1679): do not print global for styles, but do for scripts

* fix: update ObjectSet implementation

* fix: dedupe elements in sets

* [next] update compiler (#1683)

* chore: update compiler

* chore: update compiler (again)

* Fix Astro HMR bottleneck (#1684)

* Bugfix: JSX renderers can be declared in any order (#1686)

* chore: update compiler (#1690)

* Exclude lit-server from being optimized (#1691)

This should get the lit example working from `npm`.

* fix: exclude all renderer server entrypoints (#1692)

* chore: update compiler (#1705)

* fix: do not crash when Markdown has no content (#1702)

* feat: improve support for third-party React packages (#1701)

* Remove prism warning when no language is provided (#1703)

* Remove prism warning when no language is provided

* Add the plaintext language instead

* retry deploy

* chore: enter prerelease mode under `next` (#1707)

* Updates to the changesets (#1708)

* Updates to the changesets

* Adds a changeset for astro-prism

Co-authored-by: Fred K. Schott <fkschott@gmail.com>
Co-authored-by: Nate Moore <nate@skypack.dev>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Pranav Karawale <52596591+obnoxiousnerd@users.noreply.github.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
Co-authored-by: Ryan Carniato <ryansolid@gmail.com>
Co-authored-by: AsyncBanana <58297401+AsyncBanana@users.noreply.github.com>
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
2021-10-29 15:30:22 -04:00
Matthew Phillips
756e3769d3
Support PureComponent in the react renderer (#1467)
* Support PureComponent in the react renderer

* Adds a changeset
2021-10-01 11:25:17 -04:00
Matthew Phillips
82672e5c47
Updated srcset checking (#1462)
* Updated srcset checking

Improved functionality of `srcset` checking as original failed when URL contained a comma ( `,` ).
Utilised function from [srcset-parse](https://github.com/molefrog/srcset-parse) as couldn't find a way to integrate the package.
Added test to current assets test rather than create a separate one.

* Use srcset-parse

Co-authored-by: Coel May <82788995+coelmay@users.noreply.github.com>
2021-09-30 09:58:20 -04:00
AsyncBanana
3083563506
Fixed props shadowing (#1433)
* Fixed props shadowing

* Added changeset

* Added prop shadowing test
2021-09-27 11:52:57 -04:00
FredKSchott
d895d3c079 [ci] yarn format 2021-09-16 20:07:52 +00:00
Fred K. Schott
291f2ef537
fix bad benchmark (#1383) 2021-09-16 13:06:43 -07:00
Jonathan Neal
98d785af1d
Expose slots to components (#1368)
* Expose slots to components via Astro.slots

* test: Add Astro.slots API tests

* docs: Document Astro.slots API

* docs: Duplicate Astro.slots documentation to other api-reference markdown

* Update proposal to use booleans, based upon RFC feedback

* update implementation & tests based on request

* changeset
2021-09-15 11:27:59 -04:00
kelvinsjk
09b2f0e470
Fix passing Markdown content through props (#1259) (#1343)
Co-authored-by: Kelvin Soh <kelvinsoh@pop-os.localdomain>
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2021-09-14 17:03:45 -07:00
(none)
d771dad669 Merge "Remove check for referenced files" (#1196)
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2021-09-14 16:47:54 -07:00
FredKSchott
b5623ada16 [ci] yarn format 2021-09-13 18:12:51 +00:00
Bartek Igielski
dd92871fd7
Prevent removing CSS preloads during bundling (#1326)
* Prevent removing nodes, becasue styles preloading was detected earlier

* Add separate deduping for preloads and cover it with tests.

* Create quiet-horses-turn.md

* Test merging preload tags
2021-09-10 11:17:17 -06:00
jasikpark
6fc8202e60 [ci] yarn format 2021-09-07 20:23:50 +00:00
Caleb Jasik
00fd7ca4dc
Fix parsing of an empty literal <pre></pre> in markdown source (#1332) 2021-09-07 15:22:23 -05:00
FredKSchott
e516f9c953 [ci] yarn format 2021-09-03 18:07:39 +00:00
Fred K. Schott
e282e8e4ac
Add new <Code> component, to succeed <Prism> (#1208)
* add code component

* Update packages/astro/components/Debug.astro

Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>

* Update packages/astro/components/Debug.astro

Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>

* fix format in debug component

* remove Debug changes

* add wrap support

* add props docs

* update default theme

Co-authored-by: Peter Singh <drgaud@hotmail.com>
Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>
2021-09-03 11:06:25 -07:00
tony-sull
231020368e [ci] yarn format 2021-09-03 17:48:25 +00:00
Fred K. Schott
3b4bbdc98d
Format config errors for humans (#1298)
* format config errors

* fix bad root
2021-09-03 17:47:12 +00:00
Mani Gandham
7f6c35f636
skip 404.html pages in sitemap generation (#1287)
* skip 404.html pages in sitemap generation

* update path check for 404
2021-09-01 15:02:11 -07:00
matthewp
cd684eb95e [ci] yarn format 2021-08-27 14:45:59 +00:00
Jonathan Neal
5d2ea57841
Remove unused namespace redirection from the astro parser (#1245)
* nit: remove unused namespace checking from astro parser

* test: add tests for namespaced attributes, including one removed attribute

* add changeset
2021-08-27 10:43:58 -04:00
matthewp
5cc7947a58 [ci] yarn format 2021-08-27 14:13:41 +00:00
Matthew Phillips
788c769d78
Implementation of hoisted scripts (#1178)
* Implementation of hoisted scripts

* Use the facade id

* Adds docs on hoisted scripts

* Don't try to run rollup if there are no hoisted scripts

* Handle scripts possibly being undefined (client:only)

* Get rid of changes to the portfolio example

* Adds a changeset

* Remove a todo

* Fix lint errors

* Rename TransformResult property to hoistedScripts

* Move Hoisted Scripts docs to astro-components page

* Fixes lint errors

* Fix path join for windows
2021-08-27 10:12:27 -04:00
Fred K. Schott
ff92be637f
add "astro preview" command (#1226)
* add "astro preview" command

* Update green-buttons-reflect.md

* Update cli-reference.md
2021-08-26 12:08:52 -07:00
Fred K. Schott
affcd04f0f
stop building, bundling, and transforming public/ files (#1210)
* stop bundling public/ files

* update www and examples
2021-08-25 11:51:04 -07:00
Robin Métral
397d8f3d84
Upgrade unified deps and improve unified plugins types (#1200)
* Upgrade @astrojs/markdown-support deps and update types

* Add changeset

* Update changeset

* Switch astro-markdown-plugins example to use rehype-autolink-headings

Usage of remark-autolink-headings is discouraged in favor of the rehype counterpart: https://github.com/remarkjs/remark-autolink-headings\#remark-autolink-headings

* Add stricter types for unified plugins

This includes a few suggestions from a code review:
- use vfile.toString instead of vfile.value.toString
- refactor plugins to follow unified best practices instead of returning functions that return a plugin
- use any instead of any[] for plugin options types

* Narrow down types to more specific hast or mdast typings
2021-08-25 08:17:45 -04:00
Matthew Phillips
9482fadeb8
Fix resolution of Astro.resolve in nested components (#1213)
* Fix resolution of Astro.resolve in nested components

Components were previously tested, however nested folders were not.

* Adds a changeset
2021-08-24 13:38:07 -04:00
Fred K. Schott
f9cd031033
Add zod schema validation (#1198)
* add zod schema validation

* update pageUrlFormat config name

* add trailing slash support to config
2021-08-23 14:07:03 -07:00
Fred K. Schott
166c9ed6bd
fix issue with multiple getStaticPaths calls during build (#1194) 2021-08-23 15:44:49 -04:00
Fred K. Schott
c06da5dd78
Add trailingSlash & pageDirectoryUrl config options (#1197) 2021-08-23 12:05:01 -07:00
Tony Sullivan
1e0e2f41cd
including the language- class on Prism's <pre> element (#1180)
* including the `language-` class on Prism's `<pre>` element

* adding changeset

Co-authored-by: Tony Sullivan <tony.f.sullivan@gmail.com>
2021-08-20 11:01:42 -07:00
Drew Powers
ece0953aed
Fix :global() scoping (#1162)
* Fix :global() scoping

#1155

* Improve :global() scoping rules further
2021-08-18 20:46:47 -06:00
Tony Sullivan
1971ab3c60
Add support for client:only hydrator (#935)
* Adding support for client:only hydration

* Adding documentation for client:only

* Adding changeset

* Updating the test to use a browser-only API

* Adding a browser-specific import script, this reproduces the issue where client:only imports must be removed

* typo fix

* removing mispelled test component

* WIP: delaying inclusion of component imports until the hydration method is known

* WIP: tweaking the test to use window instead of document

* When only one renderer is included, use that for client:only hydration

* temporary test script snuck into the last commit

* WIP: adding check for a client:only renderer hint

* refactor: Remove client:only components instead of delaying all component import statements

* Updating the changeset and docs for the renderer hint

* refactor: pull client:only render matching out to it's own function

* Updating renderer hinting to match full name, with shorthand for internal renderers

Co-authored-by: Tony Sullivan <tony.f.sullivan@gmail.com>
2021-08-17 13:44:56 -04:00
Drew Powers
1f13e40316
Fix body scoping (#1130)
Fixes #1074
2021-08-16 17:47:09 -06:00
matthewp
24a40bee63 [ci] yarn format 2021-08-16 20:44:46 +00:00
Matthew Phillips
78b5bde14c
Astro.resolve (#1085)
* add: Astro.resolve

* Add docs and tests for Astro.resolve

* Add warnings when using string literals

* Prevent windows errors

* Adds a changeset

* Use the astro logger to log the warning

* Use the .js extension

* Dont warn for data urls

* Rename nonRelative and better match

Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
2021-08-16 16:43:06 -04:00
Jonathan Neal
0a04c69dbb
Fix left curly bracket formatting (#1094)
* Fix curly braces

* Add tests

* chore: formatting

* sstyle: update fix to be more explicit and ireduce chance of false positive

* style: use suggestions

Co-authored-by: mmarkelov <maks-markel@mail.ru>
2021-08-12 09:51:37 -07:00
Fred K. Schott
dcb97b0223
make routing fixes from discord feedback (#1091) 2021-08-12 01:35:28 -07:00
FredKSchott
b63960f514 [ci] yarn format 2021-08-11 22:05:17 +00:00
Fred K. Schott
0f0cc2b9d8
Add file-based routing /w dynamic paths (#1010)
* wip: add file-based routing

* add pagination tests and nested pagination support
2021-08-11 15:04:09 -07:00
Barrabin ⚑
2321b577ee
Fixes #1033 - Markdown with applied scopedStyles doesn't run Prism syntax highlight (#1037)
* Fixes #1033 - Markdown with applied scopedStyles doesn't run Prism syntax highlight

* Removed the incorrect lang attribute to indicate language syntax

* Fixed UT for scopedStyles + markdown

* Update packages/astro/test/astro-markdown.test.js

Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>

* Added changeset for PR #1037

* Update curly-queens-pay.md

Changing from a `minor` release to a `patch` since we're pre-v1.0.0! This

Co-authored-by: Vitor Calejuri <vitor.cajuleri@gmail.com>
Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2021-08-11 16:52:27 -05:00
FredKSchott
de3af1f4b7 [ci] yarn format 2021-08-10 16:52:31 +00:00
Fred K. Schott
1350d57997
Do not observe visible hydrate components more than once (#1015)
* add support for truely unique astro root uids

* update test to test uniqueness
2021-08-10 09:51:19 -07:00
Matthew Phillips
4bbf113050
Handle layouts and head injection (#1007)
* Revert "Revert "Fixes duplicate head content (#995)" (#1001)"

This reverts commit b1959f0fed.

* Handle markdown layouts

* Adding a changeset
2021-08-04 13:53:56 -04:00
Jonathan Neal
c7aca2c9b2
Reduce meta viewport tag (#1006) 2021-08-04 08:30:58 -04:00
Matthew Phillips
b1959f0fed
Revert "Fixes duplicate head content (#995)" (#1001)
* Revert "Fixes duplicate head content (#995)"

This reverts commit 268a36f399.

* Changeset
2021-08-03 16:57:04 -04:00
Matthew Phillips
268a36f399
Fixes duplicate head content (#995)
* Completely fixes head/doctype stuff

* Remove the .only

* Add a comma following props

* Inject head stuff if there are both head and body elements in the component

* Remove extra debugger;
2021-08-03 13:34:30 -04:00
matthewp
010bf72958 [ci] yarn format 2021-08-03 17:14:12 +00:00
Matthew Phillips
39df7952a5
Make fetch available in all component types (#949)
* Make fetch available in all component types

This makes `globalThis.fetch` available in all components.

* Adds a changeset
2021-08-03 13:13:00 -04:00
Matthew Phillips
0334956030
Make Astro.request available to all astro components (#960)
* Make Astro.request available to all astro components

* Adds a changeset
2021-08-03 08:17:03 -04:00
matthewp
fadb652b95 [ci] yarn format 2021-07-30 12:34:43 +00:00
Bartek Igielski
a1491cc659
Fix Vue components nesting and add tests (#924)
* Allow @vue/server-renderer to be processed

* Bump @vue/server-renderer version

* Create twenty-coats-talk.md

* Bump Vue packages version to get ESM builds

* Add Vue components tests

* Create shaggy-pugs-raise.md

* Delete shaggy-pugs-raise.md
2021-07-30 08:33:31 -04:00
Matthew Phillips
cd2b5df49c
Allow triple-dashes in markdown (#938)
* Allow triple-dashes in markdown

* Changeset

* Remove the .only
2021-07-29 16:20:49 -04:00
matthewp
73c28a36e5 [ci] yarn format 2021-07-28 18:32:50 +00:00
Fred K. Schott
829d5baafe
fix tsx+jsx error (#916)
* fix tsx+jsx error

* throw error if no build can be returned
2021-07-28 14:31:50 -04:00
matthewp
189098b6e5 [ci] yarn format 2021-07-28 18:08:27 +00:00
Matthew Phillips
23b0d2d345
Add support for building srcset on images (#911)
* Add support for building srcset on images

* Added a changeset
2021-07-28 14:07:28 -04:00
Matthew Phillips
d8cebb0132
Prevent client: attributes from being passed to components (#891)
* Prevent client: attributes from being passed to components

* Adds a changeset
2021-07-27 16:01:15 -04:00
Rahul Sharma
80d7415807
Added undefined check for spread props (#832)
* husky setup added

* pre-commit script updated

* Revert "Feat/pre commit"

* spread issue fixed #522

* testcase added

* spread issue fixed #522

* testcase added
2021-07-27 08:56:46 -04:00
Matthew Phillips
4726e34408
Account for pathnames being part of the site config (#856)
* Account for pathnames being part of the site config

* Adds a changeset

* Don't toString the site in the test
2021-07-26 14:42:24 -04:00
Tony Sullivan
294a656ed9
Introduce <style global> (#824)
* Adding support for multiple <style> blocks

* Adding support for `<style global>`

* scoping @keyframes should also be skipped for <style global>

* Adding test coverage for muliple style blocks, global blocks, and scoped keyframes

* docs: Updating docs for `<style global>` support

* Adding yarn changeset

* Punctuation fix in styling docs

* docs: Clarifying example use cases given in the docs

Co-authored-by: Tony Sullivan <tony.f.sullivan@gmail.com>
2021-07-23 13:51:27 -04:00
Matthew Phillips
164489fbb2
Correctly serialize falsey values at top-level of components (#834)
* Correctly serialize falsey values at top-level of components

* Adding a changeset
2021-07-23 13:00:49 -04:00
Fred K. Schott
e31e276781
get build-all passing (#795) 2021-07-21 17:39:14 -07:00
natemoo-re
561cbee68f [ci] yarn format 2021-07-21 23:11:40 +00:00
Nate Moore
bd18e14a2c
Expose JSX compilation to renderers (#588)
* feat: add support for `jsxImportSource`, new JSX transform

* Renderer: add Solid renderer (#667)

* feat: add support for `jsxImportSource`, new JSX transform

* WIP: solid renderer

* [Renderer] Solid (#656)

* feat: add support for `jsxImportSource`, new JSX transform

* WIP: solid renderer

* Solid renderer: fix SSR of children, hydration (top level)

Caveat: cannot hydrate children/descendants of hydrated parents

* Fix hydration of fragments

* fix: SyntaxError in React/Preact renderers

* fix: errors in React/Preact renderers

* feat: update react external

* chore: update examples

* chore: delete old changelog

* chore: update astro config

Co-authored-by: Nate Moore <nate@skypack.dev>

* Changing the preact to Solid (#669)

* chore: use new client:visible syntax

* fix: dev script issue

* chore: cleanup SolidJS example

* docs: update framework example docs

* chore: cleanup framework-multiple example

* fix: remove SolidJS false-positives from Preact renderer

* chore: add changeset

Co-authored-by: eyelidlessness <eyelidlessness@users.noreply.github.com>
Co-authored-by: Abdullah Mzaien <s201540830@kfupm.edu.sa>

* feat(create-astro): add Solid support

* docs: add JSX options to renderer reference

* chore: add changeset for P/React renderers

* fix: move react/server.js to external

* chore: remove brewfile

* Revert "feat: add support for `jsxImportSource`, new JSX transform"

This reverts commit 077c4bfc135c58a85d4ebfca6012e90403694d8d.

* fix: remove `react-dom/server` from `external`

* chore: remove unused dependency

* feat: improve JSX error messages

* Revert "Revert "feat: add support for `jsxImportSource`, new JSX transform""

This reverts commit f6c2896b9ec6430611fc0abae7d586c42aca87e5.

* docs: update jsxImportSource

* feat: improve error message

* feat: improve error logging for JSX renderers

* tests: add jsx-runtime tests

* chore: update snowpack

Co-authored-by: eyelidlessness <eyelidlessness@users.noreply.github.com>
Co-authored-by: Abdullah Mzaien <s201540830@kfupm.edu.sa>
2021-07-21 18:10:03 -05:00
Matthew Phillips
4a601adbf2
Allow using the Fragment built-in in Astro components (#793)
* Allow using the Fragment built-in in Astro components

* Adds a changeset
2021-07-21 12:26:52 -04:00
Matthew Phillips
b85e68a713
Handle custom elements in nested JSX (#792)
* Handle custom elements in nested JSX

* Adds a changeset
2021-07-21 10:22:39 -04:00
Fred K. Schott
f67e8f5f55
New Collections API (#703)
* updated createCollection API

* Update examples/portfolio/src/pages/projects.astro

Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>

* Update docs/reference/api-reference.md

Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>

* fix(docs): collection doc typos (#758)

* keep cleaning up docs and adding tests

Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>
Co-authored-by: Mark Pinero <markspinero@gmail.com>
2021-07-21 07:11:57 -07:00
Fred K. Schott
fcfc625331 Revert "fix(parser): html entities evaluated (#738)"
This reverts commit 268186c27d.
2021-07-20 13:37:18 -07:00
FredKSchott
b9c5b7e980 [ci] yarn format 2021-07-20 19:23:50 +00:00
Fred K. Schott
7ccfc7c03c
move throws to assertions (#763) 2021-07-20 12:22:29 -07:00
Carter Snook
268186c27d
fix(parser): html entities evaluated (#738) 2021-07-20 12:18:42 -07:00
Maksim Markelov
0e761b9bdf
Add ability to specify hostname in devOptions (#733)
* Add ability to specify hostname in devOptions

* Update packages/astro/test/config-hostname.test.js

Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>

Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>
2021-07-19 21:38:55 -07:00
FredKSchott
3153306953 [ci] yarn format 2021-07-20 01:42:33 +00:00
Vl
40c882a253
Fix url to find page with "index" at the end file name (#722) (#736)
Co-authored-by: Neverage <vl>
2021-07-19 18:41:09 -07:00
FredKSchott
ed83424fdb [ci] yarn format 2021-07-20 01:24:59 +00:00
Fred K. Schott
a7e66666e4
tsconfig fix (#752) 2021-07-19 18:23:39 -07:00
Caleb Jasik
6d06fce6d2
Update docs in compiler messages (#710)
* `github.com/snowpackjs/astro/blob/main/docs/*.md` -> `docs.astro.build/*/`

* convert links to docs site links

* Fix broken links that didn't work w/ the regex.

* Add changeset

* Delete five-weeks-destroy.md

Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2021-07-16 07:01:31 -04:00
matthewp
59f6792b00 [ci] yarn format 2021-07-13 12:28:50 +00:00
Matthew Phillips
48851c9d25
Adds support for a Lit renderer (#665)
* Adds support for a Lit renderer

This adds `@astrojs/renderer-lit`. An experimental Lit renderer.

* Removed cached submodule, mistake

* Prevent globals clobbering

* Add docs on globals
2021-07-13 08:27:40 -04:00
Matthew Phillips
0340b0f0b1
Adds support for client:media hydrator (#664)
* Adds support for client:media hydrator

* Include a changeset

* Pass in undefined when not hydrating
2021-07-12 16:27:08 -04:00
natemoo-re
7aa8d4719f [ci] yarn format 2021-07-12 18:08:45 +00:00
Nate Moore
8f4562afbe
Add support for named slots (#661)
* feat: support named slots, slot fallback content

* docs: document slots

* chore: add changeset

* fix: build errors

* chore: prefer `patch` version
2021-07-12 13:07:39 -05:00
natemoo-re
d46746c34f [ci] yarn format 2021-07-09 22:04:00 +00:00
Nate Moore
5077ff2e11
feat: improve handling of undefined components (#650) 2021-07-09 17:02:39 -05:00
natemoo-re
924369b502 [ci] yarn format 2021-07-09 14:47:26 +00:00
Nate Moore
d93f768c8c
Fix injection behavior for pages which contain no elements (#638)
* chore: add changeset

* fix(#605): inject HMR/styles even when page includes no elements

* chore: update test description
2021-07-09 09:46:19 -05:00
matthewp
00cdbc4a46 [ci] yarn format 2021-07-09 13:01:57 +00:00
Matthew Phillips
1e01251454
Use correct React rendering API or hydration (#636)
* Use correct React rendering API or hydration

* Add changeset
2021-07-09 09:00:32 -04:00
Nate Moore
42a6acee28
Add support for components defined in frontmatter (#637)
* fix: add support for components defined in frontmatter

* chore: add changeset

* test: update test to match example use case
2021-07-08 16:47:23 -05:00
Tony Sullivan
0a7b6deaec
Move hydration directives to special attributes (#618)
* feat: ♻️ updating hydration to work with the directive syntax

* test:  Updating tests for the hydration directive syntax

* refactor: Updating example projects for the hydration directive syntax

* test:  Found a test fixture still needing an update to the hydration directive syntax

* style: Prettier strikes again!  Reverting code formatting changes

* refactor: ♻️ moving directive matching to a Set

* refactor: Updating syntax to `client:load`

* refactor: ♻️ Simplifying the `client:` directive match

Per PR feedback from @matthewp

* chore: errant console.warn() snuck into the last commit

* feat: 🔊 Adding a super fancy build warning to update to the directive syntax

* refactor: ♻️ Removing unnecessary checks when matching supported hydration directives

`val` isn't being used for now, but leaving it in the attr destructuring as a reminder since it'll be needed for `client:media`

* test:  Including the original hydration syntax in a test to make sure it builds

* style: 📝 Adding a comment to make it clear why the old hydration syntax is included in a the test markup

* fix: 🐛 updating `head` logic to recognize hydration directive syntax

* docs: Adding changeset

* refactor: 🔥 Removing unnecessary `!hasComponents` check

* docs: 📝 Adding more detail to the changset

Co-authored-by: Tony Sullivan <tony.f.sullivan@gmail.com>
2021-07-08 14:07:56 -04:00
natemoo-re
1bbe98ae54 [ci] yarn format 2021-07-07 20:10:09 +00:00
Matthew Phillips
2d3e369da7
Don't alias builtins if polyfillNode is used (#601)
* Don't alias builtins if polyfillNode is used

* Add the changeset

* Make test be OS agnostic
2021-07-01 16:22:47 -04:00
Matthew Phillips
4b89f4ed08
Allow Preact components to return an empty Fragment (#599) 2021-07-01 14:30:48 -05:00
Pavel Mineev
d3969436dc
Remark and rehype plugins (#562)
* remark plugins

* remove unused dependency

* enable codeblocks

* backward compatibility with remark-code-titles

* add support for rehype plugins

* add proper types for plugins

* fixes after review

- connect plugins by name
- make plugins configurable
- connect gfm and footnotes if no plugins provided from config
- add more plugins to example

* update and rename example

* add documentation for markdown plugins

* chore: rename with-markdown-plugins example

* chore: restructure dependencies

* feat: add back smartypants, fix mdx expressions

* chore: remove log

* test: add markdown plugin tests

* chore: add changeset

* docs: update markdown doc

Co-authored-by: Nate Moore <nate@skypack.dev>
2021-07-01 11:55:22 -05:00
Matthew Phillips
fd80381db2
Adds hydrationPolyfills config for renderers (#594)
Some renderers, such as Lit, need special polyfills only for hydration. We have the `polyfills` array, but that is intended for polyfills that always need to run. This adds a second type hydrationPolyfills that only run on elements that are `:load`, `:idle`, etc.
2021-07-01 10:42:56 -04:00
Matthew Phillips
6a660f1b08
Implements low-level custom element support (#587)
* Implements low-level custom element support

* Changes based on self review

* Adds a changeset

* Polyfills are added even when not hydrating

* Remove hydrationMethod option

Punting on this idea until it's really needed.
2021-07-01 08:42:07 -04:00
Drew Powers
d1785d80c3
Add test for React SSR + window (#581)
* Add test for React SSR + window

* Add helpful error message on window undefined in SSR

Fixes #551
2021-06-29 21:37:50 -04:00
Matthew Phillips
1e735bb331
Pass in scoped class name to child components (#579)
* Pass in scoped class name to child components

If a class is being passed into child components, pass in the scoped class name as well.

* Adds the changeset
2021-06-29 16:40:30 -04:00
Nate Moore
f721275f33
Fix <Markdown {content} /> closing parent tag (#575)
* test(#494): add failing test

* chore: update with-markdown example

* fix(#494): avoid early close with <Markdown content />

* chore: add changeset
2021-06-29 15:33:56 -05:00
natemoo-re
4df98a79f8 [ci] yarn format 2021-06-29 16:38:55 +00:00
Nate Moore
e28d5cb9de
Allow .astro files to throw new Error() (#572)
* fix(#526): enable `throwExpressions`

* chore: add test for throwing inside of `.astro`

* fix: improve build error handling

* chore: add test when throwing on `build`

* chore: fix changeset bot

* chore: add changeset
2021-06-29 11:37:36 -05:00
Tony @ Navillus
aa8605761b
Fix collections regex (#557)
* fix: 🐛 Fixes bug #532

Matching for collection routes should look for exact filename matches

* test:  Adding test coverage to make sure collection routes are matched exactly

* chore: Adding changeset
2021-06-28 06:22:15 -05:00
Matthew Phillips
8865158f7f
Upgrade postcss snowpack plugin (#547)
* Upgrade postcss snowpack plugin

* Increase the startup time more

* Add changeset
2021-06-25 15:12:10 -04:00
Matthew Phillips
028d4e0114
Fix code from bad merge (#540)
* Fix code from bad merge

* Dont wrap the raw

* Wrap the expression in quotes

* remove react-dom just to test

* Add back react-dom as a known entrypoint

* Make startup time even longer
2021-06-25 09:29:57 -04:00
Nate Moore
a136c85e6b
New Props API (#515)
* wip: update props api

* feat(#139, #309): enable new props api

* chore: migrate examples to new props API

* docs: update syntax guide for new props API

* chore: update examples to new props API

* chore: update docs to new Props API

* fix: hide __astroInternal from `Astro.props` consumers

* chore: remove scratchpad file

* chore: fix script error

* test: fix failing collection tests

* fix: set __astroInternal to `enumerable: false`

* chore: add changeset

* feat: warn users using old props api
2021-06-24 17:48:24 -05:00
Nate Moore
47ac2ccd17
Fix {...spread} props (#522)
* fix(#521): allow spread props

* chore: add spread prop tests

* fix: falsy expressions should only be skipped in 'Expression' case

* fix: support primitives in expressions (objects, arrays)
2021-06-24 17:41:10 -05:00
Matthew Phillips
feb9a3141e
Always add the HMR script in dev (#536)
* Always add the HMR script in dev

for livereload

* Adds the changeset
2021-06-24 17:05:55 -04:00
Matthew Phillips
e316c9578c
Allow usage of node builtins through node: prefix (#520)
* Start of allowing node builtins issue

* Allow use of node:builtin

* Produce an error in Astro files with bare builtin usage

* Upgrade snowpack version

bug fixes for packages that use `node:`

* Document node builtins

* Use the provided builtins list
2021-06-23 16:01:32 -04:00
Tony @ Navillus
3f3e4f1286
Update createCollection() to handle pageSize: Infinity (#516)
* Fix pageSize calculation when Infinity is given

* test grouping collection with pageSize: Infinity

* test individual pages for collection items

* Revert "update docs, remove reference to Inifinity"

This reverts commit e8a976a543.

* Adding changeset
2021-06-23 08:40:58 -04:00
matthewp
b2a72ccac4 [ci] yarn format 2021-06-21 16:29:33 +00:00
Matthew Phillips
b547892411
Allow the head element to be optional (#447)
* First take

* Allow omitting head element

This makes it possible to omit the head element but still inject the style and HMR script into the right place.

* Add changeset

* More progress on this

* Only render if it's a page

* Include fragments in compiled jsx

* Adds a changeset
2021-06-21 12:28:30 -04:00
natemoo-re
f04b82d47e [ci] yarn format 2021-06-19 00:57:20 +00:00
Nate Moore
2671b6f9cc
Skip scoped astro-* class if Astro component has no <style> (#497)
* feat(#472): do not inject `astro-xxx` class for components without styles

* test: add test for skipped scoped classes

* chore: add changeset

* Update happy-cougars-scream.md
2021-06-18 19:56:14 -05:00
Drew Powers
7f8d5869c3
Fix parser error on forward slash (#469)
Fixes #407
2021-06-16 13:26:38 -06:00
matthewp
7fdb7ceca6 [ci] yarn format 2021-06-16 17:38:46 +00:00
Matthew Phillips
5601efa257
Prevent HMR client from being part of bundle (#464) 2021-06-16 13:37:29 -04:00
Nurettin Kaya
251b0b5c06
Less verbose HMR script (#457)
* Less verbose HMR script

* push changeset
2021-06-16 08:17:06 -04:00
Drew Powers
54c291efa0
Handle script module resolution (#438)
Fixes #104
2021-06-15 15:06:29 -06:00
Drew Powers
272769d723
Improve asset resolution in Astro (#437)
* Improve asset resolution in Astro

Fixes #96

* Add docs, changeset

* Fix collection resolution
2021-06-15 14:53:16 -06:00
natemoo-re
266e447e01 [ci] yarn format 2021-06-15 16:34:46 +00:00
Nate Moore
490f2bebbc
Add <> fragment support for expressions (#433)
* feat: add support for `<>` and `</>` Fragments

* docs: explain Fragments

* test: add fragment test
2021-06-15 11:33:27 -05:00
matthewp
ddd86f8ab2 [ci] yarn format 2021-06-14 20:11:42 +00:00
Matthew Phillips
016833a3bc
Honor user's hmr settings (#436)
* Honor user's hmr settings

This contains 2 fixes:

* If the user sets the hmrPort in their own snowpack config we use that port.
* If the user sets `window.HMR_WEBSOCKET_URL` we defer to that

* Adds the changeset
2021-06-14 16:10:29 -04:00
Matthew Phillips
73a43d9301
Prevent postcss from crashing when scoping class without a body (#430)
* Prevent postcss from crashing when scoping class without a body

For some reason postcss will keep running the plugin over and over on a class without a body if we modify the `selector` (this triggers it as being "dirty"). It doesn't do this for selectors with a body. But the fix was easy enough, only scope a rule once.

Closes #340

* Add a changeset
2021-06-14 14:17:56 -04:00
Matthew Phillips
af03c90c2b
Fix usage of arrow functions as components (#426)
* Fix usage of arrow functions as components

This fixes the React and Preact component as arrow function use-case by checking for the prototype property (arrow functions don't)

* Check the prototype
2021-06-14 13:24:37 -04:00
Brad Cornes
e0989c696a
Fix scoped CSS selector when class contains a colon (#383)
* fix scoped selector when using escaped colon

* update scoped styles test

* add changeset

* update `scopeRule` test

* update `scopeRule` test

* update css minifier to account for windows-style line breaks
2021-06-14 10:36:33 -06:00
Matthew Phillips
2d854092a4
Serialize boolean attributes without a value (#422)
* Serialize boolean attributes without a value

Fixes #307

* Update the attrs test

* Adds a changeset

* Adds test that components receive booleans
2021-06-14 12:29:34 -04:00
Matthew Phillips
0b16b2ddd0
Make doctype be case insensitive (#419)
* Make doctype be case insensitive

Fixes #413

* Make doctype completely case insensitive

* Make check for style scoping doctype override be case insensitive

* Check for doctype in the right place
2021-06-14 12:00:51 -04:00
matthewp
a5d6e434ab [ci] yarn format 2021-06-14 12:36:32 +00:00
Matthew Phillips
271cfe6ce3
Improved JSX framework detection (#382)
* Improved JSX framework detection

This improves the JSX detection and adds a bunch of test. The following is improved:

* If an error throws because of a coding mistake, those errors will be reported.
* We properly detect class components for both Preact and React. We don't have to "try to render" these.

It's still possible that error messages might be obscured in this scenario:

A Preact function component that uses hooks (or another preact specific feature) that has a coding mistake. The React renderer might throw when it uses the Preact hook. That error will be reported rather than the real coding mistake.

This is because we can't distinguish between errors that are due to the wrong framework and errors that the user caused.

I might reach out to the Preact community and see if they can think of a better solution to this problem. This will come up when other JSX based frameworks have renderers. I still think that having multiple frameworks in the same project is a feature worth trying to preserve.

* Move try/catch into the __astro_component
2021-06-14 08:35:25 -04:00
Drew Powers
c374a549b5
Allow createCollection() to fetch remote data (#400)
* Allow createCollection() to fetch remote data

Fixes #378

* Update docs

* revert isomorphic-fetch, see if ci passes

Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2021-06-11 18:31:36 -07:00
Matthew Phillips
1bab906539
Remove second snowpack instance (#368)
* Remove second snowpack instance

* Document import.meta.env.SSR

* Remove unnecessary Promise.all
2021-06-11 09:03:22 -04:00
matthewp
cc5d000fdc [ci] yarn format 2021-06-10 18:11:17 +00:00
Matthew Phillips
afa09ee9dc
Add HMR port script when needed (#375)
* Always add HMR port script when HMR is enabled

* Add it only if there are client side components

* Fix the test

* Add a test where HMR port not set

* Upgrade snowpack version

* Fix snowpack semver
2021-06-10 14:10:15 -04:00
Fred K. Schott
f4a747fb1f
snowpack.dev build output cleanup (#324)
* cleanup grabbag

* add changeset

* Skip the flakey logging test

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2021-06-08 08:33:15 -04:00
matthewp
20c4efe5a2 [ci] yarn format 2021-06-08 12:22:58 +00:00
Nate Moore
f6ef53b7fa
Fix recursive markdown (#315)
* wip: fix recursive markdown

* fix: recursive markdown issue

* chore: add changeset
2021-06-08 08:21:37 -04:00
matthewp
cb3ff36105 [ci] yarn format 2021-06-07 18:26:17 +00:00
Matthew Phillips
b1364afbae
Prevent duplicate snowpack logs (#316)
* Prevent duplicate snowpack logs

* Fix test to wait on expected messages

* Update the snowpack/plugin-vue

* Add changeset

* Debugging

* Skip the logging test on windows :(

* arg
2021-06-07 14:24:55 -04:00
Nate Moore
0d6afaee9e
fix: Markdown usage when deeply nested on a page (#303)
* fix: Markdown component deeply nested on a page

* chore: add changeset
2021-06-05 10:18:26 -05:00
Matthew Phillips
50e6f491ad
Use npm package names to load internal deps (#294)
* Use npm package names to load internal deps

This is necessary so that published Astro components work. These components will be built by esinstall and therefore they cannot rely on `_astro_internal`. The fix is to use npm specifiers everywhere.

* Move most of frontend to internal

* Mark astro/internal/markdown.js as external

* Move markdown stuff to its own package

This moves the markdown stuff to its own package so that we can externalize it in the markdown component.

* Add the changeset
2021-06-04 14:19:01 -04:00
Nate Moore
94eac19888
Pre-release refactors (#289)
* refactor: expose `astro/components` as component entrypoint

* refactor: remove `extensions` from all configs

* test: fix snowpack tests

* docs: update config doc
2021-06-02 11:35:28 -05:00
Nate Moore
ffb6380c3f
Dynamic Markdown content (#273)
* wip: serverside render dynamic Markdown content

* docs: update Markdown.astro comments

* Use existing markdown infrastructure to render external MD

* Update Markdown docs

* Add a changeset

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2021-06-02 11:53:33 -04:00
Matthew Phillips
46871d2d4a
Don't append a class attribute to the doctype (#284)
* Don't append a class attribute to the doctype

Fixes #282

* Add changeset
2021-06-01 20:03:38 -05:00
Nate Moore
c9d833ee0b
Fix prerelease bugs, reenable @astrojs/renderer-vue (#286)
* fix: add packages to external

* fix: improve renderer error message

* fix: reenable vue renderer

* chore: remove `extensions` from templates

* fix: reenable @astrojs/renderer-vue

* refactor: add types to snowpack plugin

* fix: update snowpack

* fix: use manual SSR wrapper for Svelte

* chore: add changesets

* chore: bump snowpack

* test: fix failing test

* chore: remove redundant entries
2021-06-01 18:41:08 -05:00
Drew Powers
addd67d244
Change astroRoot to pages (#277)
#271
2021-06-01 09:57:12 -06:00
natemoo-re
8d7abd0ede [ci] yarn format 2021-05-28 22:52:52 +00:00
Matthew Phillips
f49944c0e7
Improve dev perf by not esinstalling Node deps (#253)
* Improve dev startup by making most dependencies externals

This moves most dependencies to be an `external` for Snowpack, preventing backend deps from going through esinstall.

* Update benchmark times

* chore: add benchmark script for convenience

* fix: update externals to allow renderers

* chore: update benchmark times

Co-authored-by: Nate Moore <nate@skypack.dev>
2021-05-28 17:51:50 -05:00
Nate Moore
3df41d2308
Bugbash! (#263)
* fix(vscode): Markdown frontmatter should use TSX, not YAML

* test: add test for #153

* chore: bump deps

* chore: update to use @astrojs scope

* fix: Markdown parse error when only child is `{expression}`

* fix: update renderer edge cases

* fix: failing test

* fix: update renderer
2021-05-28 17:19:40 -05:00
natemoo-re
630c36f351 [ci] yarn format 2021-05-28 22:03:05 +00:00
Nate Moore
3d20623c32
Fix falsy values (#275)
* fix(#274): improve attribute handling

* chore: add test for JSX expressions

* fix: falsy expressions should not render

* chore: add changeset

* test: update expression tests

* fix: render 0 if value is {0}
2021-05-28 17:02:04 -05:00
Nate Moore
e08abacfee
fix: failing test? (#276) 2021-05-28 16:54:39 -05:00
Drew Powers
5292b08028
Make UVU tests time out (#265) 2021-05-27 14:06:54 -06:00
Matthew Phillips
dd7cc798e0
Fix codeblocks in markdown components (#264)
* Fix codeblocks in markdown components

* Debugging

* More debugging

* remove extra debugging stuff
2021-05-27 13:54:38 -04:00
Nate Moore
be804499b0
Remove remote urls from import scanner (#256)
* fix: remove remote urls from import scanner

* debug test
2021-05-26 14:56:34 -05:00
Nate Moore
643c880f28
Renderer plugins (#231)
* refactor: pluggable renderers

* refactor: cache renderer per component

* docs: update comments on snowpack plugin `transform` method

* docs: add comments to renderer plugins

* refactor: convert components to Map

* fix: pass children through to astro __render

* refactor: move Components/ComponentInfo to shared types

* refactor: remove `gatherRuntimes` step, just scan output for imports

* refactor: update isComponentTag logic

* chore: move dependencies to renderers

* fix: cross-platform transform injection

* feat: defer renderer to react, fallback to preact

* fix: use double quotes in generated script

* test: fix failing children tests

* test: add workspaceRoot to all tests

* fix: pass props to renderer check

* chore: add test:core script back for convenience

* chore: remove unused external

* chore: rename renderers

* chore: add astring, estree-util-value-to-estree

* chore: render-component => __astro_component

* refactor: split hydrate logic to own file

* refactor: use `astro-fragment` rather than `div`

* chore: remove unused hooks

* chore: delete unused file

* chore: add changesets

* fix: Astro renderer should be async

* fix: remove <astro-fragment> for static content

* test: fix failing test

* chore: normalize config interface

* feat: allow renderers to inject a snowpackPlugin

* fix: resolve import URL before using dynamic import

* refactor: update renderers to use separate /server entrypoint

* refactor: update server renderer interface

* fix: get renderers working again

* test: debug failing test

* test: better debug

* test: better debug

* test: remove debug

* fix: support esm and cjs packages via "resolve"

* refactor: split hydrate functions into individual files

* fix: dependency resolution relative to projectRoot

* fix: @snowpack/plugin-postcss needs to be hoisted

* fix: do not test prettier-plugin-astro as it's not ready for primetime
2021-05-26 13:30:22 -05:00
matthewp
36fc51c124 [ci] yarn format 2021-05-26 15:33:35 +00:00
Matthew Phillips
da47225efe
Add benchmarking for dev and build (#240)
* Add benchmarking for the dev server

This adds benchmarking for the dev server.

* Use fs.rm instead

* Only rimraf if the folder exists

* Make uncached match CI

* Change the cached time too

* Don't run benchmark in CI

* Switch back test command

* Make tests be within 10 percent

* Use yarn to run multiple things

* Turn benchmark into uvu tests

* Debugging benchmark

* Print chunk for testing

* Ignore benchmark folder in uvu

* Add build benchmarking

* Update benchmark numbers
2021-05-26 11:31:53 -04:00
Matthew Phillips
2ff2533c9e
Fix markdown syntax issues (#234)
This fixes #233 among other things
2021-05-24 16:00:34 -04:00
Drew Powers
c43ee95850
Bugfix: random CSS ordering (#232)
* Bugfix: random CSS ordering

Fixes #230

* Update docs
2021-05-24 10:57:35 -06:00
Drew Powers
69d693b77c
Add scoped styles test (#223) 2021-05-21 12:45:49 -06:00
natemoo-re
a2ae7018ca [ci] yarn format 2021-05-17 14:30:21 +00:00
Nate Moore
b3886c206f
Fix markdown issues (#208)
* Init fix/markdown

* Astro Markdown (#207)

* Add Astro Markdown to VSCode Extension

* Add Astro Markdown to Astro

* refactor: update astro-markdown example

* feat: remove embedded components from `.md` files

* fix: resolve `.md.astro` files at runtime

* chore: update markdown tests

* feat: add <Markdown> component

* chore: bump examples

* chore: update example

* fix: improve Markdown child handling

* feat: harden markdown support, add code fence support, add automatic dedenting

* chore: add weird markdown edge cases

* chore: update remote-markdown examples

* chore: add comment to Markdown.astro

* feat: improve markdown support (codefences, nested inside HTML)

* refactor: extract import specifier types to set

* refactor: conditionally import markdown renderer

* refactor: revert special-cased "astro/components"

* refactor: revert special-cased "astro/components"

* refactor: use astro/components/Markdown.astro

* refactor: remove `.md.astro` support in favor of Markdown component

* refactor: use regular .astro files

* refactor: remove unused code

* refactor: move Markdown inside Layout

* wip: markdown scoped styles

* feat: improve scoped styles in Markdown

* feat: micromark => remark ecosystem

* fix: markdown build

* fix: markdown build

* chore: add todo

* fix: collect headers text

* docs: add Markdown doc

* chore: add changeset

* docs: improve Markdown highlighting

* refactor: prefer Set

* refactor: exclude large unified deps

* docs: update markdown docs

Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>

* chore: remove extra markdown deps

* perf: optimize markdown

* fix: unified/rehype deps

* temp: fix markdown test

* test: add TODO comment

* fix: do not namespace frontmatter, just astro metadata

* test: fix astro-markdown test

* test: add realworld markdown example

* fix: prism language bug

* docs: update markdown docs

* chore: bump dependencies

* fix: escape codespan

* fix: unterminated string literal

* fix(vscode): inline dependencies

* fix(vscode): dependencies

* feat(vscode): embedded markdown

* feat: add Markdown syntax highlighting

* chore: improve markdown example

* fix: markdown example

* feat: highlighting improvements

* chore: add changeset

* fix: CodeBlock => CodeSpan

* chore: get astro-markdown example running

Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
2021-05-17 09:29:16 -05:00
Drew Powers
9d092b56c7
Fix Windows tests (#212)
* Fix Windows fetchContent()

* Fix Windows bundling & config loading

* Fix astro-prettier formatting for Windows
2021-05-14 12:03:41 -04:00
Drew Powers
3ef1b01e14
[wip] Fix CI (#202)
* Yarn format

* Fix changeset --since

* Fix Windows tests
2021-05-12 12:06:16 -06:00
Drew Powers
7184149514
Add Astro.request.canonicalURL and Astro.site to global (#199) 2021-05-11 17:31:52 -06:00
Kevin (Kun) "Kassimo" Qian
e0a4f5fbc0
Allow default import component to be renamed based on import statement default specifier (#193)
* Allow renaming for default import components

* Changeset
2021-05-10 11:00:05 -05:00
Drew Powers
87ab4c6927
Bugfix: scoped styles (#178) 2021-05-06 15:39:34 -06:00
Drew Powers
7b55d3d43e
Chore: fix lint rules, add more error handling for unexpected cases (#177) 2021-05-06 14:57:14 -04:00
Drew Powers
b81abd5b2c
Add CSS bundling (#172)
* Add CSS bundling

* Add Changeset

* Update build script

* Count better

* Fix stats

* Cleanup

* Add test

* Show profile ms under 750ms
2021-05-06 10:38:53 -06:00
Nate Moore
3ad0aac8cf
Fix fetchContent for nested files (#171)
* fix: fetchContent within nested folders

* feat: add `sourceId` to fetchContent

* test: update collection tests

* fix: windows compat for importPath

* chore: add changeset

* fix: astroRoot => projectRoot

* feat: add `slash` package

* chore: remove sourceId prop

* chore: update changeset

* format
2021-05-04 17:11:05 -05:00
Drew Powers
94038d3297
Format (#167) 2021-05-03 12:26:10 -06:00
Nate Moore
c93201a909
Refactor astro export map, add source-map-support (#161)
* fix: add svelte plugin for esbuild, remove precompiled svelte components

* refactor: public export map, public types

* feat: add source-map-support to common code paths

* chore: move new "exports" to "imports" map, add internal types

* Include outPath in error logging for bad load status, and drop error stack (#163)

* Include outPath in the error logging for bad load status

* Discard error stack since it seems not useful

* feat: improve build error logging

* refactor: use object param for writeResult

Co-authored-by: Kevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com>
2021-05-03 13:18:08 -05:00
Nate Moore
4df1347156
Migrate to yarn monorepo (#157)
* chore: use monorepo

* chore: scaffold astro-scripts

* chore: move tests inside packages/astro

* chore: refactor tests, add scripts

* chore: move parser to own module

* chore: move runtime to packages/astro

* fix: move parser to own package

* test: fix prettier-plugin-astro tests

* fix: tests

* chore: update package-lock

* chore: add changesets

* fix: cleanup examples

* fix: starter example

* chore: update changeset config

* chore: update changeset config

* chore: setup changeset release workflow

* chore: bump lockfiles

* chore: prism => astro-prism

* fix: tsc --emitDeclarationOnly

* chore: final cleanup, switch to yarn

* chore: add lerna

* chore: update workflows to yarn

* chore: update workflows

* chore: remove lint workflow

* chore: add astro-dev script

* chore: add symlinked README
2021-04-30 16:33:35 -05:00