summaryrefslogtreecommitdiff
path: root/examples/integrations-playground
diff options
context:
space:
mode:
authorGravatar Jonas Luebbers <jonas@jonasluebbers.com> 2022-05-11 12:23:34 -0400
committerGravatar GitHub <noreply@github.com> 2022-05-11 10:23:34 -0600
commitabc5b219bb58c22b680da0486bc2b779e6661dd8 (patch)
tree8a6415ce274b919de53a85501e138ae125a55b3a /examples/integrations-playground
parent380acd23de6c0ccd1237d5a99a0af8641d17f4fa (diff)
downloadastro-abc5b219bb58c22b680da0486bc2b779e6661dd8.tar.gz
astro-abc5b219bb58c22b680da0486bc2b779e6661dd8.tar.zst
astro-abc5b219bb58c22b680da0486bc2b779e6661dd8.zip
Remove try/catch from solid component check (#3282)
* Remove try/catch from solid component check * Move try/catch to renderComponent * Add solid to integrations-playground example
Diffstat (limited to 'examples/integrations-playground')
-rw-r--r--examples/integrations-playground/astro.config.mjs7
-rw-r--r--examples/integrations-playground/package.json5
-rw-r--r--examples/integrations-playground/src/components/Link.jsx3
-rw-r--r--examples/integrations-playground/src/components/SolidCounter.jsx18
-rw-r--r--examples/integrations-playground/src/pages/index.astro12
5 files changed, 34 insertions, 11 deletions
diff --git a/examples/integrations-playground/astro.config.mjs b/examples/integrations-playground/astro.config.mjs
index a1f21fe0b..2859263ad 100644
--- a/examples/integrations-playground/astro.config.mjs
+++ b/examples/integrations-playground/astro.config.mjs
@@ -1,12 +1,13 @@
import { defineConfig } from 'astro/config';
-
import lit from '@astrojs/lit';
import react from '@astrojs/react';
import tailwind from '@astrojs/tailwind';
import turbolinks from '@astrojs/turbolinks';
import sitemap from '@astrojs/sitemap';
import partytown from '@astrojs/partytown';
+import solid from "@astrojs/solid-js";
+// https://astro.build/config
export default defineConfig({
- integrations: [lit(), react(), tailwind(), turbolinks(), partytown(), sitemap()],
-});
+ integrations: [lit(), react(), tailwind(), turbolinks(), partytown(), sitemap(), solid()]
+}); \ No newline at end of file
diff --git a/examples/integrations-playground/package.json b/examples/integrations-playground/package.json
index 023ae1c07..af39d140e 100644
--- a/examples/integrations-playground/package.json
+++ b/examples/integrations-playground/package.json
@@ -13,9 +13,11 @@
"@astrojs/partytown": "^0.1.2",
"@astrojs/react": "^0.1.1",
"@astrojs/sitemap": "^0.1.0",
+ "@astrojs/solid-js": "0.1.2",
"@astrojs/tailwind": "^0.2.1",
"@astrojs/turbolinks": "^0.1.2",
- "astro": "^1.0.0-beta.27"
+ "astro": "^1.0.0-beta.27",
+ "solid-js": "^1.3.6"
},
"dependencies": {
"@webcomponents/template-shadowroot": "^0.1.0",
@@ -23,7 +25,6 @@
"preact": "^10.7.1",
"react": "^18.0.0",
"react-dom": "^18.0.0",
- "solid-js": "^1.3.16",
"svelte": "^3.47.0",
"vue": "^3.2.33"
}
diff --git a/examples/integrations-playground/src/components/Link.jsx b/examples/integrations-playground/src/components/Link.jsx
index 2758df130..040d112c3 100644
--- a/examples/integrations-playground/src/components/Link.jsx
+++ b/examples/integrations-playground/src/components/Link.jsx
@@ -1,3 +1,6 @@
+/* jsxImportSource: react */
+import React from 'react';
+
export default function Link({ to, text }) {
return <a href={to}>{text}</a>;
}
diff --git a/examples/integrations-playground/src/components/SolidCounter.jsx b/examples/integrations-playground/src/components/SolidCounter.jsx
new file mode 100644
index 000000000..4453b881c
--- /dev/null
+++ b/examples/integrations-playground/src/components/SolidCounter.jsx
@@ -0,0 +1,18 @@
+import { createSignal } from 'solid-js';
+
+export default function Counter(props) {
+ const [count, setCount] = createSignal(0);
+ const add = () => setCount(count() + 1);
+ const subtract = () => setCount(count() - 1);
+
+ return (
+ <>
+ <div class="counter">
+ <button onClick={subtract}>-</button>
+ <pre>{count()}</pre>
+ <button onClick={add}>+</button>
+ </div>
+ <div class="counter-message">{props.children}</div>
+ </>
+ );
+}
diff --git a/examples/integrations-playground/src/pages/index.astro b/examples/integrations-playground/src/pages/index.astro
index 2ee717d6a..06c9aa3d8 100644
--- a/examples/integrations-playground/src/pages/index.astro
+++ b/examples/integrations-playground/src/pages/index.astro
@@ -1,8 +1,9 @@
---
import Lorem from '../components/Lorem.astro';
import Link from '../components/Link.jsx';
+import SolidCounter from '../components/SolidCounter.jsx';
import '../components/Test.js';
-import '../components/Counter.js';
+import '../components/Counter.js';
---
<!DOCTYPE html>
@@ -14,20 +15,19 @@ import '../components/Counter.js';
<body>
<h1 class="px-4 py-4">Test app</h1>
<h2 class="partytown-status">
- <strong>Party Mode!</strong>
+ <strong>Party Mode!</strong>
Colors changing = partytown is enabled
</h2>
<my-counter client:load></my-counter>
+ <SolidCounter client:load></SolidCounter>
<Link to="/foo" text="Go to Page 2" />
<Lorem />
<calc-add num={33}></calc-add>
-
-
<script type="text/partytown">
// Remove `type="text/partytown"` to see this block the page
// and cause the page to become unresponsive
console.log('start partytown blocking script')
- const now = Date.now()
+ const now = Date.now()
let count = 1;
while (Date.now() - now < 10000) {
if (Date.now() - now > count * 1000) {
@@ -46,7 +46,7 @@ import '../components/Counter.js';
</script>
<style>
h1, h2 {
- color: blue;
+ color: blue;
}
</style>
</body>