Commit graph

17 commits

Author SHA1 Message Date
Matthew Phillips
ea857e675d
Fix visible components (#112)
* Fix visible components

The wrapper component is grabbed with querySelector, so no need for `.item()` call which was throwing.

* Add back in display contents
2021-04-19 15:14:53 -04:00
natemoo-re
2a7aa765b4 [ci] npm run format 2021-04-15 15:56:27 +00:00
Nate Moore
22ca9e0aac
Support children inside of components (#72)
* chore(examples): add kitchen-sink

* feat: support children in rendered components

* feat: add support for rendering children in Svelte

* fix: cleanup p/react fragment children

* chore: add @ts-nocheck to svelte files

* chore: update lockfiles

* fix: types

* feat: memoize frontend/renderer/utils

* fix: disable eslint for compiled SvelteWrapper

* fix: add missing dep

Co-authored-by: Nate Moore <nate@skypack.dev>
2021-04-15 10:55:50 -05:00
Drew Powers
3639190b4e
Renaming to import.meta.fetchContent (#70)
* Change to import.meta.glob()

Change of plans—maintain parity with Snowpack and Vite because our Collections API will use a different interface

* Get basic pagination working

* Get params working

* Rename to import.meta.fetchContent

* Upgrade to fdir
2021-04-12 17:21:29 -06:00
Matthew Phillips
185a267133
Improve renderer types (#69)
* Improve renderer types

Looking at the render code I noticed that the Component rendering is not typed. This adds that, might help prevent a bug in the future.

* Create the supported renderer type
2021-04-09 13:03:27 -04:00
Drew Powers
d9733e8d42
Add type declarations (#59) 2021-04-02 21:01:57 -06:00
Drew Powers
004b3ea6a0
Fix React import (#55)
* Fix React import

* Change default export

* Fix :visible dynamic component

* Use colon to alias vue createElement

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2021-04-02 14:48:41 -04:00
Drew Powers
003b3c395f
Get CSS Modules working in Vue (#53) 2021-04-02 10:16:16 -06:00
Drew Powers
c26c244ca2
Annoying Lint PR #2 (#47) 2021-04-01 10:25:28 -06:00
Matthew Phillips
d9084ff4ad
Implement fallback capability (#44)
* Implement fallback capability

This makes it possible for a dynamic component to render fallback content on the server.

The mechanism is a special `static` prop passed to the component. If `static` is true then the component knows it can render static content.

Putting aside the word `static`, is this the right approach? I think giving components the flexibility to make the decision themselves *is* the right approach.

However in this case we have a special property that is passed in non-explicitly. I think we have to do it this way because if the caller passes in a prop it will get serialized and appear on the client. By making this something we *add* during rendering, it only happens on the server (and only when using `:load`).

Assuming this is the right approach, is `static` the right name for this prop? Other candidates:

* `server`

That's all I have!

* Use `import.meta.env.astro` to tell if running in SSR mode.

* Run formatter
2021-03-31 16:10:27 -04:00
Matthew Phillips
4a732837cd
Resolve component URLs during compilation (#40)
Previously dynamic component URLs were being resolved client-side in a weird way that only worked during dev. This change makes them handle during compilation, so it works in both (and improves readability of the dynamic import output).
2021-03-30 15:06:43 -04:00
Nate Moore
9ab1f52a1c
New hydration methods (#29)
* WIP: new hydration methods

* refactor: genericize load/idle/visible renderers

* fix: do not pass "data-astro-id" to component

* docs: add hydration section to README

* docs: update README

Co-authored-by: Nate Moore <nate@skypack.dev>
2021-03-26 17:09:28 -05:00
Matthew Phillips
3db5959377
First pass at the build (#27)
This updates `astro build` to do a production build. It works! No optimizations yet.
2021-03-25 14:06:08 -04:00
Fred K. Schott
a72ab10c62
Redesign pages, remove layout nesting (#24)
* wip

* new svelte-style prop declaration is working

* got it working!

* revert h changes

* format

* style lang update
2021-03-24 16:01:28 -07:00
Matthew Phillips
854d0feb34
Add support for React components. (#18)
* Add support for React components.

This adds support for react components via a new `extensions` config in astro.config.mjs. In the future we can extend this to do things like look at the import statements, as Snowpack does.

* Fix the tests
2021-03-23 13:47:54 -04:00
Drew Powers
8c45c4a856
Annoying Lint PR™ (#3)
* Add Prettier + ESLint

* Format files
2021-03-16 12:37:45 -06:00
Matthew Phillips
af6b029e95 initial commit 2021-03-15 13:22:05 -04:00