diff options
author | 2021-05-26 13:30:22 -0500 | |
---|---|---|
committer | 2021-05-26 13:30:22 -0500 | |
commit | 643c880f280c3f571a022b6f4d40b6d5a0e911b5 (patch) | |
tree | 787fcf4e12d20166ee1bd8c18ba38d6e12c499e6 /packages/astro/src/compiler/transform/index.ts | |
parent | 31e52c2e4c138fe6608f60e8f43647c664b31d6a (diff) | |
download | astro-643c880f280c3f571a022b6f4d40b6d5a0e911b5.tar.gz astro-643c880f280c3f571a022b6f4d40b6d5a0e911b5.tar.zst astro-643c880f280c3f571a022b6f4d40b6d5a0e911b5.zip |
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
Diffstat (limited to 'packages/astro/src/compiler/transform/index.ts')
-rw-r--r-- | packages/astro/src/compiler/transform/index.ts | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/packages/astro/src/compiler/transform/index.ts b/packages/astro/src/compiler/transform/index.ts index 27f5a3212..d622846d9 100644 --- a/packages/astro/src/compiler/transform/index.ts +++ b/packages/astro/src/compiler/transform/index.ts @@ -8,6 +8,7 @@ import transformStyles from './styles.js'; import transformDoctype from './doctype.js'; import transformModuleScripts from './module-scripts.js'; import transformCodeBlocks from './prism.js'; +import transformHydration from './hydration.js'; interface VisitorCollection { enter: Map<string, VisitorFn[]>; @@ -84,7 +85,7 @@ export async function transform(ast: Ast, opts: TransformOptions) { const cssVisitors = createVisitorCollection(); const finalizers: Array<() => Promise<void>> = []; - const optimizers = [transformStyles(opts), transformDoctype(opts), transformModuleScripts(opts), transformCodeBlocks(ast.module)]; + const optimizers = [transformHydration(), transformStyles(opts), transformDoctype(opts), transformModuleScripts(opts), transformCodeBlocks(ast.module)]; for (const optimizer of optimizers) { collectVisitors(optimizer, htmlVisitors, cssVisitors, finalizers); |