├── app
├── apps
│ ├── npm
│ ├── web
│ │ ├── src
│ │ │ ├── env.d.ts
│ │ │ ├── components
│ │ │ │ ├── Svelte.svelte
│ │ │ │ ├── Preact.tsx
│ │ │ │ ├── React.tsx
│ │ │ │ ├── Vue.vue
│ │ │ │ └── Solid.tsx
│ │ │ ├── layouts
│ │ │ │ └── Layout.astro
│ │ │ └── pages
│ │ │ │ └── index.astro
│ │ ├── tsconfig.json
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── launch.json
│ │ ├── tailwind.config.cjs
│ │ ├── .gitignore
│ │ ├── astro.config.mjs
│ │ ├── package.json
│ │ └── public
│ │ │ └── favicon.svg
│ └── docs
│ │ ├── .eslintrc.js
│ │ ├── next.config.js
│ │ ├── tsconfig.json
│ │ ├── pages
│ │ └── index.tsx
│ │ ├── next-env.d.ts
│ │ ├── package.json
│ │ └── README.md
├── packages
│ ├── ui
│ │ ├── index.tsx
│ │ ├── Button.tsx
│ │ ├── tsconfig.json
│ │ └── package.json
│ ├── tsconfig
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── react-library.json
│ │ ├── base.json
│ │ └── nextjs.json
│ └── eslint-config-custom
│ │ ├── index.js
│ │ └── package.json
├── .eslintrc.js
├── turbo.json
├── .gitignore
└── package.json
├── angular
├── src
│ ├── assets
│ │ └── .gitkeep
│ ├── environments
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── favicon.ico
│ ├── app
│ │ ├── html
│ │ │ └── html.component.ts
│ │ ├── hello-world
│ │ │ └── hello-world.component.ts
│ │ ├── nesting-components
│ │ │ ├── nested-component
│ │ │ │ └── nested-component.component.ts
│ │ │ └── nesting-components.component.ts
│ │ ├── props
│ │ │ ├── props.component.ts
│ │ │ └── nested
│ │ │ │ └── nested.component.ts
│ │ ├── page-content
│ │ │ ├── page-content.component.ts
│ │ │ ├── page-content.component.css
│ │ │ ├── page-content.component.html
│ │ │ └── page-content.component.spec.ts
│ │ ├── styling
│ │ │ └── styling.component.ts
│ │ ├── app.component.spec.ts
│ │ ├── dependent-variables
│ │ │ └── dependent-variables.component.ts
│ │ ├── basic-variables
│ │ │ └── basic-variables.component.ts
│ │ ├── conditional-rendering
│ │ │ └── conditional-rendering.component.ts
│ │ ├── navbar
│ │ │ ├── navbar.component.html
│ │ │ ├── navbar.component.spec.ts
│ │ │ └── navbar.component.css
│ │ ├── list-looping
│ │ │ └── list-looping.component.ts
│ │ └── components-map.ts
│ ├── styles.css
│ ├── index.html
│ ├── main.ts
│ └── test.ts
├── .editorconfig
├── tsconfig.app.json
├── tsconfig.spec.json
├── .browserslistrc
├── .gitignore
├── tsconfig.json
├── README.md
└── package.json
├── components
├── .gitignore
├── .eslintignore
├── .prettierignore
├── .prettierrc
├── output
│ ├── svelte
│ │ └── src
│ │ │ └── components
│ │ │ └── HelloWorld.svelte
│ ├── solid
│ │ └── src
│ │ │ └── components
│ │ │ └── HelloWorld.jsx
│ ├── vue
│ │ └── vue3
│ │ │ └── src
│ │ │ └── components
│ │ │ └── HelloWorld.vue
│ └── react
│ │ └── src
│ │ └── components
│ │ └── HelloWorld.jsx
├── mitosis.config.js
├── overrides
│ ├── react-native
│ │ └── src
│ │ │ ├── functions
│ │ │ └── is-react-native.ts
│ │ │ ├── index-helpers
│ │ │ └── top-of-file.ts
│ │ │ ├── components
│ │ │ └── error-boundary.tsx
│ │ │ └── blocks
│ │ │ └── image.tsx
│ └── vue
│ │ └── src
│ │ └── components
│ │ └── error-boundary.vue
├── src
│ └── HelloWorld.lite.tsx
├── tailwind.config.js
├── jest.config.js
├── tsconfig.json
├── .eslintrc.js
├── package.json
└── README.md
├── solid
├── .gitignore
├── src
│ ├── components
│ │ ├── HTML
│ │ │ ├── index.ts
│ │ │ └── HTML.tsx
│ │ ├── Props
│ │ │ ├── index.ts
│ │ │ ├── Props.tsx
│ │ │ └── Nested.tsx
│ │ ├── Styling
│ │ │ ├── index.ts
│ │ │ └── Styling.tsx
│ │ ├── HelloWorld
│ │ │ ├── index.ts
│ │ │ └── HelloWorld.tsx
│ │ ├── ListLooping
│ │ │ ├── index.ts
│ │ │ └── ListLooping.tsx
│ │ ├── BasicVariables
│ │ │ ├── index.ts
│ │ │ └── BasicVariables.tsx
│ │ ├── Custom
│ │ │ └── SolidTyper
│ │ │ │ ├── index.ts
│ │ │ │ └── styles.css
│ │ ├── NestingComponents
│ │ │ ├── index.ts
│ │ │ ├── Nested.tsx
│ │ │ └── NestingComponents.tsx
│ │ ├── DependentVariables
│ │ │ ├── index.ts
│ │ │ └── DependentVariables.tsx
│ │ ├── ConditionalRendering
│ │ │ ├── index.ts
│ │ │ └── ConditionalRendering.tsx
│ │ └── index.ts
│ ├── sections
│ │ ├── Navbar
│ │ │ ├── index.ts
│ │ │ └── Navbar.module.css
│ │ ├── PageContent
│ │ │ ├── index.ts
│ │ │ └── PageContent.module.css
│ │ └── index.ts
│ ├── containers
│ │ ├── RainbowTypewriter
│ │ │ ├── index.ts
│ │ │ └── RainbowTypewriter.tsx
│ │ ├── SentenceTypewriter
│ │ │ ├── index.ts
│ │ │ └── SentenceTypewriter.tsx
│ │ └── index.ts
│ ├── App.module.css
│ ├── assets
│ │ └── favicon.ico
│ ├── index.tsx
│ └── index.css
├── vite.config.ts
├── tsconfig.json
├── package.json
├── index.html
└── README.md
├── svelte
├── .npmrc
├── src
│ ├── components
│ │ ├── HTML
│ │ │ ├── index.ts
│ │ │ └── HTML.svelte
│ │ ├── Props
│ │ │ ├── index.ts
│ │ │ ├── Props.svelte
│ │ │ └── Nested.svelte
│ │ ├── Styling
│ │ │ ├── index.ts
│ │ │ └── Styling.svelte
│ │ ├── HelloWorld
│ │ │ ├── index.ts
│ │ │ └── HelloWorld.svelte
│ │ ├── NestingComponents
│ │ │ ├── Nested.svelte
│ │ │ ├── index.ts
│ │ │ └── NestingComponents.svelte
│ │ ├── ListLooping
│ │ │ ├── index.ts
│ │ │ └── ListLooping.svelte
│ │ ├── BasicVariables
│ │ │ ├── index.ts
│ │ │ └── BasicVariables.svelte
│ │ ├── DependentVariables
│ │ │ ├── index.ts
│ │ │ └── DependentVariables.svelte
│ │ └── ConditionalRendering
│ │ │ ├── index.ts
│ │ │ └── ConditionalRendering.svelte
│ ├── app.d.ts
│ └── app.html
├── static
│ └── favicon.png
├── .gitignore
├── .prettierrc
├── svelte.config.js
├── tsconfig.json
├── package.json
└── README.md
├── web
├── src
│ ├── components
│ │ ├── solid
│ │ │ ├── Props.jsx
│ │ │ ├── HTML.jsx
│ │ │ ├── HelloWorld.jsx
│ │ │ ├── Styling.jsx
│ │ │ ├── BasicVariables.jsx
│ │ │ ├── ConditionalRendering.jsx
│ │ │ ├── DependentVariables.jsx
│ │ │ └── ListLooping.jsx
│ │ ├── astro
│ │ │ ├── HelloWorld.astro
│ │ │ ├── Styling.astro
│ │ │ ├── HTML.astro
│ │ │ ├── Props.astro
│ │ │ └── AstroComponents.astro
│ │ ├── svelte
│ │ │ ├── HelloWorld.svelte
│ │ │ ├── Props.svelte
│ │ │ ├── HTML.svelte
│ │ │ ├── Styling.svelte
│ │ │ ├── BasicVariables.svelte
│ │ │ ├── ConditionalRendering.svelte
│ │ │ ├── DependentVariables.svelte
│ │ │ ├── ListLooping.svelte
│ │ │ └── SvelteComponents.svelte
│ │ ├── vue
│ │ │ ├── HTML.vue
│ │ │ ├── HelloWorld.vue
│ │ │ ├── Props.vue
│ │ │ ├── Styling.vue
│ │ │ ├── BasicVariables.vue
│ │ │ ├── ConditionalRendering.vue
│ │ │ ├── DependentVariables.vue
│ │ │ └── ListLooping.vue
│ │ ├── react
│ │ │ ├── HelloWorld.jsx
│ │ │ ├── Props.jsx
│ │ │ ├── HTML.jsx
│ │ │ ├── Styling.jsx
│ │ │ ├── BasicVariables.jsx
│ │ │ ├── ConditionalRendering.jsx
│ │ │ ├── ListLooping.jsx
│ │ │ ├── DependentVariables.jsx
│ │ │ └── ReactComponents.jsx
│ │ ├── preact
│ │ │ ├── HelloWorld.jsx
│ │ │ ├── Props.jsx
│ │ │ ├── HTML.jsx
│ │ │ ├── Styling.jsx
│ │ │ ├── BasicVariables.jsx
│ │ │ ├── ConditionalRendering.jsx
│ │ │ ├── ListLooping.jsx
│ │ │ ├── DependentVariables.jsx
│ │ │ └── PreactComponents.jsx
│ │ ├── lit
│ │ │ ├── HelloWorld.ts
│ │ │ ├── HTML.ts
│ │ │ ├── Props.ts
│ │ │ ├── ListLooping.ts
│ │ │ ├── Styling.ts
│ │ │ ├── ConditionalRendering.ts
│ │ │ ├── DependentVariables.ts
│ │ │ ├── LitComponents.ts
│ │ │ └── BasicVariables.ts
│ │ ├── Logo.astro
│ │ └── FileReader.astro
│ ├── env.d.ts
│ ├── utils
│ │ └── helpers.ts
│ ├── pages
│ │ ├── lit
│ │ │ └── [id].astro
│ │ ├── vue
│ │ │ └── [id].astro
│ │ ├── react
│ │ │ └── [id].astro
│ │ ├── solid
│ │ │ └── [id].astro
│ │ ├── preact
│ │ │ └── [id].astro
│ │ ├── svelte
│ │ │ └── [id].astro
│ │ ├── astro
│ │ │ └── [id].astro
│ │ ├── 404.astro
│ │ └── index.astro
│ └── layouts
│ │ └── Layout.astro
├── tsconfig.json
├── prettier.config.cjs
├── public
│ ├── logos
│ │ ├── preact-logo.png
│ │ ├── react-icon.svg
│ │ ├── vue-icon.svg
│ │ └── lit-icon.svg
│ ├── favicon.svg
│ └── astro.json
├── .vscode
│ ├── extensions.json
│ ├── settings.json
│ └── launch.json
├── .gitignore
├── astro.config.mjs
├── tailwind.config.cjs
└── package.json
├── qwik
├── src
│ ├── layouts
│ │ ├── not-found
│ │ │ ├── not-found.css
│ │ │ └── not-found.tsx
│ │ └── default
│ │ │ └── default.css
│ ├── components
│ │ ├── Props
│ │ │ ├── index.ts
│ │ │ ├── Props.tsx
│ │ │ └── Child.tsx
│ │ ├── Styling
│ │ │ ├── index.ts
│ │ │ ├── Styling.css
│ │ │ └── Styling.tsx
│ │ ├── HelloWorld
│ │ │ ├── index.ts
│ │ │ ├── Child.tsx
│ │ │ └── HelloWorld.tsx
│ │ ├── ListLooping
│ │ │ ├── index.ts
│ │ │ └── ListLooping.tsx
│ │ ├── BasicVariables
│ │ │ ├── index.ts
│ │ │ └── BasicVariables.tsx
│ │ ├── NestingComponents
│ │ │ ├── index.ts
│ │ │ ├── NestingComponents.css
│ │ │ ├── Nested.tsx
│ │ │ └── NestingComponents.tsx
│ │ ├── ConditionalRendering
│ │ │ ├── index.ts
│ │ │ └── ConditionalRendering.tsx
│ │ ├── DependentVariables
│ │ │ ├── index.ts
│ │ │ └── DependentVariables.tsx
│ │ ├── footer
│ │ │ ├── footer.css
│ │ │ └── footer.tsx
│ │ ├── header
│ │ │ ├── header.css
│ │ │ └── header.tsx
│ │ ├── app
│ │ │ └── app.tsx
│ │ ├── index.ts
│ │ ├── page
│ │ │ └── page.tsx
│ │ └── sidebar
│ │ │ └── sidebar.css
│ ├── sections
│ │ ├── Navbar
│ │ │ ├── index.ts
│ │ │ └── Navbar.css
│ │ ├── PageContent
│ │ │ ├── index.ts
│ │ │ └── PageContent.css
│ │ └── index.ts
│ ├── global.css
│ ├── pages
│ │ ├── INDEX
│ │ └── index.mdx
│ ├── entry.ssr.tsx
│ ├── entry.dev.tsx
│ └── root.tsx
├── public
│ ├── _headers
│ ├── favicon.ico
│ └── favicons
│ │ ├── apple-touch-icon.png
│ │ ├── android-chrome-192x192.png
│ │ └── android-chrome-256x256.png
├── .prettierignore
├── .eslintignore
├── .gitignore
├── tsconfig.json
├── vite.config.ts
├── .eslintrc.js
└── package.json
├── react
├── src
│ ├── vite-env.d.ts
│ ├── components
│ │ ├── Custom
│ │ │ ├── ReactTyper
│ │ │ │ ├── index.ts
│ │ │ │ └── styles.module.css
│ │ │ └── Examples
│ │ │ │ └── RainbowTypewriter
│ │ │ │ ├── index.ts
│ │ │ │ └── RainbowTypewriter.tsx
│ │ ├── HTML.tsx
│ │ ├── HelloWorld.tsx
│ │ ├── Styling.tsx
│ │ ├── Props.tsx
│ │ ├── BasicVariables.tsx
│ │ ├── ConditionalRendering.tsx
│ │ ├── NestingComponents.tsx
│ │ ├── index.ts
│ │ ├── ListLooping.tsx
│ │ └── DependentVariables.tsx
│ └── main.tsx
├── vite.config.ts
├── tsconfig.node.json
├── .gitignore
├── index.html
├── package.json
├── tsconfig.json
└── public
│ └── vite.svg
├── react-next
├── src
│ ├── components
│ │ ├── HTML
│ │ │ ├── index.ts
│ │ │ └── HTML.tsx
│ │ ├── Props
│ │ │ ├── index.ts
│ │ │ ├── Props.tsx
│ │ │ └── Nested.tsx
│ │ ├── Styling
│ │ │ ├── index.ts
│ │ │ └── Styling.tsx
│ │ ├── HelloWorld
│ │ │ ├── index.ts
│ │ │ └── HelloWorld.tsx
│ │ ├── ListLooping
│ │ │ ├── index.ts
│ │ │ └── ListLooping.tsx
│ │ ├── BasicVariables
│ │ │ ├── index.ts
│ │ │ └── BasicVariables.tsx
│ │ ├── Custom
│ │ │ ├── ReactTyper
│ │ │ │ ├── index.ts
│ │ │ │ └── styles.module.css
│ │ │ └── Examples
│ │ │ │ └── RainbowTypewriter
│ │ │ │ ├── index.ts
│ │ │ │ └── RainbowTypewriter.tsx
│ │ ├── NestingComponents
│ │ │ ├── index.ts
│ │ │ ├── Nested.tsx
│ │ │ └── NestingComponents.tsx
│ │ ├── DependentVariables
│ │ │ ├── index.ts
│ │ │ └── DependentVariables.tsx
│ │ ├── ConditionalRendering
│ │ │ ├── index.ts
│ │ │ └── ConditionalRendering.tsx
│ │ └── index.ts
│ └── sections
│ │ ├── Navbar
│ │ ├── index.ts
│ │ └── Navbar.module.css
│ │ ├── PageContent
│ │ ├── index.ts
│ │ └── PageContent.module.css
│ │ └── index.ts
├── .eslintrc.json
├── styles
│ ├── HomePage.module.css
│ └── globals.css
├── public
│ ├── favicon.ico
│ └── vercel.svg
├── next.config.js
├── next-env.d.ts
├── pages
│ └── _app.tsx
├── .gitignore
├── tsconfig.json
└── package.json
├── vue
├── .vscode
│ └── extensions.json
├── src
│ ├── components
│ │ ├── child
│ │ │ ├── Unstyled.vue
│ │ │ └── CustomAnswer.vue
│ │ ├── HelloWorld.vue
│ │ ├── Styling.vue
│ │ ├── BasicVariables.vue
│ │ ├── Props.vue
│ │ ├── ConditionalRendering.vue
│ │ ├── NestingComponents.vue
│ │ ├── DependentVariables.vue
│ │ └── ListLooping.vue
│ ├── main.ts
│ ├── vite-env.d.ts
│ └── assets
│ │ └── vue.svg
├── vite.config.ts
├── tsconfig.node.json
├── .gitignore
├── index.html
├── package.json
├── tsconfig.json
├── README.md
└── public
│ └── vite.svg
├── vue-nuxt
├── app.vue
├── .gitignore
├── components
│ ├── Nested
│ │ ├── Nested.vue
│ │ └── Nested2.vue
│ ├── HelloWorld.vue
│ ├── Styling.vue
│ ├── Props.vue
│ ├── BasicVariables.vue
│ ├── ConditionalRendering.vue
│ ├── NestingComponents.vue
│ ├── DependentVariables.vue
│ └── ListLooping.vue
├── nuxt.config.ts
├── tsconfig.json
├── package.json
├── sections
│ ├── Navbar.vue
│ └── PageContent.vue
└── README.md
├── .gitignore
└── README.md
/app/apps/npm:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/angular/src/assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/solid/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/svelte/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 |
--------------------------------------------------------------------------------
/web/src/components/solid/Props.jsx:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/qwik/src/layouts/not-found/not-found.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | output/
3 |
--------------------------------------------------------------------------------
/components/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | output
3 |
--------------------------------------------------------------------------------
/web/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
Hello world!
2 | -------------------------------------------------------------------------------- /web/src/components/svelte/HelloWorld.svelte: -------------------------------------------------------------------------------- 1 |Hello world!
2 | -------------------------------------------------------------------------------- /app/apps/web/src/components/Svelte.svelte: -------------------------------------------------------------------------------- 1 |...don't affect this element
-------------------------------------------------------------------------------- /web/src/components/vue/HTML.vue: -------------------------------------------------------------------------------- 1 | 2 |To be determined
3 | -------------------------------------------------------------------------------- /app/packages/ui/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | export * from "./Button"; 3 | -------------------------------------------------------------------------------- /qwik/src/components/BasicVariables/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from "./BasicVariables"; 2 | -------------------------------------------------------------------------------- /react-next/src/components/BasicVariables/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './BasicVariables'; -------------------------------------------------------------------------------- /react-next/src/components/Custom/ReactTyper/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './ReactTyper'; -------------------------------------------------------------------------------- /react-next/src/sections/PageContent/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from "./PageContent"; 2 | -------------------------------------------------------------------------------- /solid/src/components/NestingComponents/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './NestingComponents'; -------------------------------------------------------------------------------- /solid/src/containers/RainbowTypewriter/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './RainbowTypewriter'; -------------------------------------------------------------------------------- /svelte/src/components/ListLooping/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './ListLooping.svelte'; -------------------------------------------------------------------------------- /vue-nuxt/app.vue: -------------------------------------------------------------------------------- 1 | 2 |Hello world!
3 | 4 | -------------------------------------------------------------------------------- /app/apps/docs/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: ["custom"], 4 | }; 5 | -------------------------------------------------------------------------------- /qwik/src/components/ConditionalRendering/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from "./ConditionalRendering"; 2 | -------------------------------------------------------------------------------- /qwik/src/components/DependentVariables/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from "./DependentVariables"; 2 | -------------------------------------------------------------------------------- /react-next/src/components/DependentVariables/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './DependentVariables'; -------------------------------------------------------------------------------- /solid/src/components/ConditionalRendering/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './ConditionalRendering'; -------------------------------------------------------------------------------- /svelte/src/components/DependentVariables/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './DependentVariables.svelte'; -------------------------------------------------------------------------------- /svelte/src/components/NestingComponents/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './NestingComponents.svelte'; -------------------------------------------------------------------------------- /angular/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /react-next/src/components/ConditionalRendering/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './ConditionalRendering'; -------------------------------------------------------------------------------- /solid/src/App.module.css: -------------------------------------------------------------------------------- 1 | .container { 2 | display: flex; 3 | width: 100vw; 4 | height: 100vh; 5 | } -------------------------------------------------------------------------------- /svelte/src/components/ConditionalRendering/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './ConditionalRendering.svelte'; -------------------------------------------------------------------------------- /vue-nuxt/components/Nested/Nested.vue: -------------------------------------------------------------------------------- 1 | 2 |...don't affect this element
3 | -------------------------------------------------------------------------------- /vue/src/components/child/Unstyled.vue: -------------------------------------------------------------------------------- 1 | 2 |...don't affect this element
3 | -------------------------------------------------------------------------------- /angular/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StillScripts/web-frameworks/HEAD/angular/src/favicon.ico -------------------------------------------------------------------------------- /qwik/public/_headers: -------------------------------------------------------------------------------- 1 | /build/* 2 | Cache-Control: public, max-age=31536000, s-maxage=31536000, immutable 3 | -------------------------------------------------------------------------------- /qwik/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StillScripts/web-frameworks/HEAD/qwik/public/favicon.ico -------------------------------------------------------------------------------- /svelte/static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StillScripts/web-frameworks/HEAD/svelte/static/favicon.png -------------------------------------------------------------------------------- /web/src/components/solid/HTML.jsx: -------------------------------------------------------------------------------- 1 | const HTML = () =>To be determined
2 | 3 | export default HTML 4 | -------------------------------------------------------------------------------- /components/output/svelte/src/components/HelloWorld.svelte: -------------------------------------------------------------------------------- 1 | 3 | 4 |The answer is {answer}
-------------------------------------------------------------------------------- /app/apps/web/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["astro-build.astro-vscode"], 3 | "unwantedRecommendations": [] 4 | } 5 | -------------------------------------------------------------------------------- /app/packages/ui/Button.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | export const Button = () => { 3 | return ; 4 | }; 5 | -------------------------------------------------------------------------------- /qwik/src/components/Styling/Styling.css: -------------------------------------------------------------------------------- 1 | .styled { 2 | color: purple; 3 | font-family: 'Comic Sans MS', cursive; 4 | font-size: 2em; 5 | } -------------------------------------------------------------------------------- /svelte/src/components/HelloWorld/HelloWorld.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |Hello {name}!
6 | -------------------------------------------------------------------------------- /qwik/public/favicons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StillScripts/web-frameworks/HEAD/qwik/public/favicons/apple-touch-icon.png -------------------------------------------------------------------------------- /vue/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import './style.css' 3 | import App from './App.vue' 4 | 5 | createApp(App).mount('#app') 6 | -------------------------------------------------------------------------------- /web/src/components/astro/Styling.astro: -------------------------------------------------------------------------------- 1 |2 | Styled! 3 |
4 | -------------------------------------------------------------------------------- /web/src/components/svelte/HTML.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |{@html string}
-------------------------------------------------------------------------------- /app/packages/tsconfig/README.md: -------------------------------------------------------------------------------- 1 | # `tsconfig` 2 | 3 | These are base shared `tsconfig.json`s from which all other `tsconfig.json`'s inherit from. 4 | -------------------------------------------------------------------------------- /components/output/solid/src/components/HelloWorld.jsx: -------------------------------------------------------------------------------- 1 | function Hello(props) { 2 | returnHello world!
4 | 5 | export default HelloWorld 6 | -------------------------------------------------------------------------------- /qwik/public/favicons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StillScripts/web-frameworks/HEAD/qwik/public/favicons/android-chrome-192x192.png -------------------------------------------------------------------------------- /qwik/public/favicons/android-chrome-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StillScripts/web-frameworks/HEAD/qwik/public/favicons/android-chrome-256x256.png -------------------------------------------------------------------------------- /qwik/src/components/NestingComponents/NestingComponents.css: -------------------------------------------------------------------------------- 1 | .text { 2 | color: purple; 3 | font-family: 'Comic Sans MS', cursive; 4 | font-size: 2em; 5 | } -------------------------------------------------------------------------------- /qwik/src/components/footer/footer.css: -------------------------------------------------------------------------------- 1 | .docs footer nav a { 2 | @apply text-slate-600; 3 | @apply no-underline; 4 | @apply hover:underline; 5 | } 6 | -------------------------------------------------------------------------------- /qwik/src/components/header/header.css: -------------------------------------------------------------------------------- 1 | header { 2 | background: #1474ff; 3 | padding: 30px; 4 | color: rgb(37, 33, 151); 5 | font-weight: 600; 6 | } 7 | -------------------------------------------------------------------------------- /web/src/components/react/HelloWorld.jsx: -------------------------------------------------------------------------------- 1 | import React from "react" 2 | 3 | const HelloWorld = () =>Hello world!
4 | 5 | export default HelloWorld 6 | -------------------------------------------------------------------------------- /app/apps/docs/next.config.js: -------------------------------------------------------------------------------- 1 | const withTM = require("next-transpile-modules")(["ui"]); 2 | 3 | module.exports = withTM({ 4 | reactStrictMode: true, 5 | }); 6 | -------------------------------------------------------------------------------- /react-next/src/components/NestingComponents/Nested.tsx: -------------------------------------------------------------------------------- 1 | const Nested: React.FC = () =>{`...don't affect this element`}
; 2 | 3 | export default Nested; 4 | -------------------------------------------------------------------------------- /svelte/src/components/HTML/HTML.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |{@html string}
-------------------------------------------------------------------------------- /svelte/src/components/Props/Props.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |Hello world!
4 | 5 | export default HelloWorld 6 | -------------------------------------------------------------------------------- /app/packages/ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tsconfig/react-library.json", 3 | "include": ["."], 4 | "exclude": ["dist", "build", "node_modules"] 5 | } 6 | -------------------------------------------------------------------------------- /react-next/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | } 5 | 6 | module.exports = nextConfig 7 | -------------------------------------------------------------------------------- /svelte/src/components/Props/Nested.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |The answer is {answer}
-------------------------------------------------------------------------------- /app/apps/docs/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tsconfig/nextjs.json", 3 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 4 | "exclude": ["node_modules"] 5 | } 6 | -------------------------------------------------------------------------------- /solid/src/containers/index.ts: -------------------------------------------------------------------------------- 1 | export { default as RainbowTypewriter } from './RainbowTypewriter'; 2 | export { default as SentenceTypewriter } from './SentenceTypewriter'; -------------------------------------------------------------------------------- /web/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "prettier.documentSelectors": ["**/*.astro"], 3 | "[astro]": { 4 | "editor.defaultFormatter": "esbenp.prettier-vscode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /web/src/components/react/Props.jsx: -------------------------------------------------------------------------------- 1 | import React from "react" 2 | 3 | const Props = ({ answer = "a mystery" }) =>The answer is {answer}
4 | 5 | export default Props 6 | -------------------------------------------------------------------------------- /vue-nuxt/nuxt.config.ts: -------------------------------------------------------------------------------- 1 | import { defineNuxtConfig } from 'nuxt' 2 | 3 | // https://v3.nuxtjs.org/api/configuration/nuxt.config 4 | export default defineNuxtConfig({ 5 | 6 | }) 7 | -------------------------------------------------------------------------------- /web/src/components/preact/Props.jsx: -------------------------------------------------------------------------------- 1 | import { h } from "preact" 2 | 3 | const Props = ({ answer = "a mystery" }) =>The answer is {answer}
4 | 5 | export default Props 6 | -------------------------------------------------------------------------------- /components/tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: [], 4 | theme: { 5 | extend: {}, 6 | }, 7 | plugins: [], 8 | } 9 | -------------------------------------------------------------------------------- /vue-nuxt/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // https://v3.nuxtjs.org/concepts/typescript 3 | "extends": "./.nuxt/tsconfig.json", 4 | "compilerOptions": { 5 | "jsx": "preserve" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /web/src/components/svelte/Styling.svelte: -------------------------------------------------------------------------------- 1 |Styled!
2 | 3 | -------------------------------------------------------------------------------- /svelte/src/components/Styling/Styling.svelte: -------------------------------------------------------------------------------- 1 |Styled!
2 | 3 | -------------------------------------------------------------------------------- /app/apps/web/src/components/Vue.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 |{`...don't affect this element`}
; 4 | 5 | export default Nested; 6 | -------------------------------------------------------------------------------- /web/src/components/astro/Props.astro: -------------------------------------------------------------------------------- 1 | --- 2 | interface Props { 3 | answer?: string 4 | } 5 | 6 | const { answer = "a mystery" } = Astro.props 7 | --- 8 | 9 |The answer is {answer}
10 | -------------------------------------------------------------------------------- /web/src/components/vue/Props.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 |The answer is {{answer}}
11 | -------------------------------------------------------------------------------- /react/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()] 7 | }) 8 | -------------------------------------------------------------------------------- /react/src/components/HTML.tsx: -------------------------------------------------------------------------------- 1 | const string = `here's some HTML!!!`; 2 | 3 | const HTML = () => ( 4 | 5 | ); 6 | 7 | export default HTML; 8 | -------------------------------------------------------------------------------- /app/apps/docs/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import { Button } from "ui"; 2 | 3 | export default function Docs() { 4 | return ( 5 |The answer is {{answer}}
11 | -------------------------------------------------------------------------------- /vue/src/components/child/CustomAnswer.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 |The answer is {{answer}}
11 | -------------------------------------------------------------------------------- /app/packages/tsconfig/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tsconfig", 3 | "version": "0.0.0", 4 | "private": true, 5 | "files": [ 6 | "base.json", 7 | "nextjs.json", 8 | "react-library.json" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /components/jest.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ 2 | module.exports = { 3 | preset: 'ts-jest', 4 | testEnvironment: 'node', 5 | testMatch: ['{`don't affect this element`}
6 | ) 7 | }) 8 | 9 | export default Nested; -------------------------------------------------------------------------------- /react-next/src/components/HTML/HTML.tsx: -------------------------------------------------------------------------------- 1 | const string = `here's some HTML!!!`; 2 | 3 | const HTML: React.FC = () => ( 4 | 5 | ); 6 | 7 | export default HTML; 8 | -------------------------------------------------------------------------------- /react-next/src/components/Props/Props.tsx: -------------------------------------------------------------------------------- 1 | import Nested from "./Nested"; 2 | 3 | const Props: React.FC = () => ( 4 | <> 5 |Hello {{ name }}!
13 | -------------------------------------------------------------------------------- /vue/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 |Hello {{ name }}!
13 | -------------------------------------------------------------------------------- /vue/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | ///Styled!
3 | 4 | 5 | -------------------------------------------------------------------------------- /vue/src/components/Styling.vue: -------------------------------------------------------------------------------- 1 | 2 |Styled!
3 | 4 | 5 | -------------------------------------------------------------------------------- /react/src/components/HelloWorld.tsx: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | 3 | const HelloWorld = () => { 4 | const [name, setName] = useState("world"); 5 | 6 | returnHello {name}!
; 7 | }; 8 | 9 | export default HelloWorld; 10 | -------------------------------------------------------------------------------- /solid/src/components/Custom/SolidTyper/styles.css: -------------------------------------------------------------------------------- 1 | @keyframes fade { 2 | 50% { 3 | opacity: 1; 4 | } 5 | } 6 | 7 | .cursor { 8 | opacity: 0; 9 | animation: fade 800ms steps(1) infinite; 10 | animation-delay: 100ms; 11 | } 12 | -------------------------------------------------------------------------------- /vue/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /web/src/components/vue/Styling.vue: -------------------------------------------------------------------------------- 1 | 2 |Styled!
3 | 4 | 5 | -------------------------------------------------------------------------------- /react/src/components/Custom/ReactTyper/styles.module.css: -------------------------------------------------------------------------------- 1 | @keyframes fade { 2 | 50% { 3 | opacity: 1; 4 | } 5 | } 6 | 7 | .cursor { 8 | opacity: 0; 9 | animation: fade 800ms steps(1) infinite; 10 | animation-delay: 100ms; 11 | } 12 | -------------------------------------------------------------------------------- /react/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /react-next/src/components/Custom/ReactTyper/styles.module.css: -------------------------------------------------------------------------------- 1 | @keyframes fade { 2 | 50% { 3 | opacity: 1; 4 | } 5 | } 6 | 7 | .cursor { 8 | opacity: 0; 9 | animation: fade 800ms steps(1) infinite; 10 | animation-delay: 100ms; 11 | } 12 | -------------------------------------------------------------------------------- /react-next/src/components/Props/Nested.tsx: -------------------------------------------------------------------------------- 1 | interface NestedProps { 2 | answer?: number | string; 3 | } 4 | 5 | const Nested: React.FCThe answer is {answer}
7 | ); 8 | 9 | export default Nested; 10 | -------------------------------------------------------------------------------- /web/src/components/vue/BasicVariables.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | // This tells ESLint to load the config from the package `eslint-config-custom` 4 | extends: ["custom"], 5 | settings: { 6 | next: { 7 | rootDir: ["apps/*/"], 8 | }, 9 | }, 10 | }; 11 | -------------------------------------------------------------------------------- /components/overrides/react-native/src/index-helpers/top-of-file.ts: -------------------------------------------------------------------------------- 1 | // example of overriding a no-op file to provide framework-specific functionality 2 | // in this case, providing a polyfill for URL in react-native environments. 3 | import 'react-native-url-polyfill/auto'; 4 | -------------------------------------------------------------------------------- /react-next/src/components/HelloWorld/HelloWorld.tsx: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | 3 | const HelloWorld: React.FC = () => { 4 | const [name, setName] = useState("world"); 5 | 6 | returnHello {name}!
; 7 | }; 8 | 9 | export default HelloWorld; 10 | -------------------------------------------------------------------------------- /solid/src/components/Props/Props.tsx: -------------------------------------------------------------------------------- 1 | import { Component } from "solid-js"; 2 | import Nested from "./Nested"; 3 | 4 | const Props: Component = () => ( 5 | <> 6 |Hello world!
` 6 | } 7 | } 8 | 9 | customElements.define("hello-world", HelloWorld) 10 | -------------------------------------------------------------------------------- /solid/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite'; 2 | import solidPlugin from 'vite-plugin-solid'; 3 | 4 | export default defineConfig({ 5 | plugins: [solidPlugin()], 6 | build: { 7 | target: 'esnext', 8 | polyfillDynamicImport: false, 9 | }, 10 | }); 11 | -------------------------------------------------------------------------------- /web/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "command": "./node_modules/.bin/astro dev", 6 | "name": "Development server", 7 | "request": "launch", 8 | "type": "node-terminal" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /svelte/src/components/BasicVariables/BasicVariables.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 | -------------------------------------------------------------------------------- /vue-nuxt/components/Props.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 |Hello {name}!
; 7 | }; 8 | 9 | export default HelloWorld; 10 | -------------------------------------------------------------------------------- /web/src/components/preact/Styling.jsx: -------------------------------------------------------------------------------- 1 | import { h } from "preact" 2 | 3 | const styles = { 4 | color: "purple", 5 | fontFamily: "'Comic Sans MS', cursive", 6 | fontSize: "2em", 7 | } 8 | 9 | const Styling = () =>Styled!
10 | 11 | export default Styling 12 | -------------------------------------------------------------------------------- /web/src/components/react/Styling.jsx: -------------------------------------------------------------------------------- 1 | import React from "react" 2 | 3 | const styles = { 4 | color: "purple", 5 | fontFamily: "'Comic Sans MS', cursive", 6 | fontSize: "2em", 7 | } 8 | 9 | const Styling = () =>Styled!
10 | 11 | export default Styling 12 | -------------------------------------------------------------------------------- /web/src/components/svelte/ConditionalRendering.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 | {#if x > 10} 6 |{x} is greater than 10
7 | {:else if 5 > x} 8 |{x} is less than 5
9 | {:else} 10 |{x} is between 5 and 10
11 | {/if} -------------------------------------------------------------------------------- /web/src/components/solid/Styling.jsx: -------------------------------------------------------------------------------- 1 | /** @jsxImportSource solid-js */ 2 | 3 | const styles = { 4 | color: "purple", 5 | "font-family": "'Comic Sans MS', cursive", 6 | "font-size": "2em", 7 | } 8 | 9 | const Styling = () =>Styled!
10 | 11 | export default Styling 12 | -------------------------------------------------------------------------------- /qwik/src/components/Props/Props.tsx: -------------------------------------------------------------------------------- 1 | import { component$ } from "@builder.io/qwik"; 2 | import Child from "./Child"; 3 | 4 | const Props = component$(() => { 5 | return ( 6 | <> 7 |Hello world!
` 8 | } 9 | } 10 | 11 | customElements.define(tagName, HelloWorld) 12 | -------------------------------------------------------------------------------- /web/src/components/lit/Props.ts: -------------------------------------------------------------------------------- 1 | import { LitElement, html } from "lit" 2 | 3 | const tagName = "hello-world" 4 | 5 | export class HelloWorld extends LitElement { 6 | override render() { 7 | return html`Hello world!
` 8 | } 9 | } 10 | 11 | customElements.define(tagName, HelloWorld) 12 | -------------------------------------------------------------------------------- /react/src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom/client' 3 | import App from './App' 4 | import './index.css' 5 | 6 | ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( 7 |The answer is {answer}
9 | ); 10 | 11 | export default Nested; 12 | -------------------------------------------------------------------------------- /vue-nuxt/components/BasicVariables.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /web/src/components/lit/ListLooping.ts: -------------------------------------------------------------------------------- 1 | import { LitElement, html } from "lit" 2 | 3 | const tagName = "hello-world" 4 | 5 | export class HelloWorld extends LitElement { 6 | override render() { 7 | return html`Hello world!
` 8 | } 9 | } 10 | 11 | customElements.define(tagName, HelloWorld) 12 | -------------------------------------------------------------------------------- /web/src/components/lit/Styling.ts: -------------------------------------------------------------------------------- 1 | import { LitElement, html } from "lit" 2 | 3 | const tagName = "hello-world" 4 | 5 | export class HelloWorld extends LitElement { 6 | override render() { 7 | return html`Hello world!
` 8 | } 9 | } 10 | 11 | customElements.define(tagName, HelloWorld) 12 | -------------------------------------------------------------------------------- /angular/src/app/html/html.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-html', 5 | template: `here's some
Styled!
; 10 | 11 | export default Styling; 12 | -------------------------------------------------------------------------------- /svelte/src/app.d.ts: -------------------------------------------------------------------------------- 1 | ///These styles...
6 |{x} is greater than 10
7 | {:else if 5 > x} 8 |{x} is less than 5
9 | {:else} 10 |{x} is between 5 and 10
11 | {/if} -------------------------------------------------------------------------------- /web/.gitignore: -------------------------------------------------------------------------------- 1 | # build output 2 | dist/ 3 | .output/ 4 | 5 | # dependencies 6 | node_modules/ 7 | 8 | # logs 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | pnpm-debug.log* 13 | 14 | 15 | # environment variables 16 | .env 17 | .env.production 18 | 19 | # macOS-specific files 20 | .DS_Store 21 | -------------------------------------------------------------------------------- /web/src/components/lit/ConditionalRendering.ts: -------------------------------------------------------------------------------- 1 | import { LitElement, html } from "lit" 2 | 3 | const tagName = "hello-world" 4 | 5 | export class HelloWorld extends LitElement { 6 | override render() { 7 | return html`Hello world!
` 8 | } 9 | } 10 | 11 | customElements.define(tagName, HelloWorld) 12 | -------------------------------------------------------------------------------- /web/src/components/lit/DependentVariables.ts: -------------------------------------------------------------------------------- 1 | import { LitElement, html } from "lit" 2 | 3 | const tagName = "hello-world" 4 | 5 | export class HelloWorld extends LitElement { 6 | override render() { 7 | return html`Hello world!
` 8 | } 9 | } 10 | 11 | customElements.define(tagName, HelloWorld) 12 | -------------------------------------------------------------------------------- /angular/src/styles.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 6 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 7 | overflow-x: hidden; 8 | } 9 | 10 | * { 11 | box-sizing: border-box; 12 | } 13 | -------------------------------------------------------------------------------- /app/packages/tsconfig/react-library.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/tsconfig", 3 | "display": "React Library", 4 | "extends": "./base.json", 5 | "compilerOptions": { 6 | "jsx": "react-jsx", 7 | "lib": ["ES2015"], 8 | "module": "ESNext", 9 | "target": "es6" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /qwik/src/components/Props/Child.tsx: -------------------------------------------------------------------------------- 1 | import { component$ } from "@builder.io/qwik"; 2 | 3 | interface NestedProps { 4 | answer?: number | string; 5 | } 6 | 7 | const Child = component$The answer is {answer}
; 9 | }); 10 | 11 | export default Child; 12 | -------------------------------------------------------------------------------- /qwik/src/components/Styling/Styling.tsx: -------------------------------------------------------------------------------- 1 | import { component$, useScopedStyles$ } from "@builder.io/qwik"; 2 | import styles from "./Styling.css?inline"; 3 | 4 | const Styling = component$(() => { 5 | useScopedStyles$(styles); 6 | 7 | returnStyled!
; 8 | }); 9 | 10 | export default Styling; 11 | -------------------------------------------------------------------------------- /web/src/components/lit/LitComponents.ts: -------------------------------------------------------------------------------- 1 | import { LitElement, html } from "lit" 2 | 3 | const tagName = "lit-components" 4 | 5 | export class LitComponents extends LitElement { 6 | override render() { 7 | return html`Hello world!
` 8 | } 9 | } 10 | 11 | customElements.define(tagName, LitComponents) 12 | -------------------------------------------------------------------------------- /react-next/styles/globals.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 6 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 7 | overflow-x: hidden; 8 | } 9 | 10 | * { 11 | box-sizing: border-box; 12 | } 13 | -------------------------------------------------------------------------------- /app/turbo.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://turborepo.org/schema.json", 3 | "pipeline": { 4 | "build": { 5 | "dependsOn": ["^build"], 6 | "outputs": ["dist/**", ".next/**"] 7 | }, 8 | "lint": { 9 | "outputs": [] 10 | }, 11 | "dev": { 12 | "cache": false 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /react-next/src/components/Styling/Styling.tsx: -------------------------------------------------------------------------------- 1 | import { CSSProperties } from "react"; 2 | 3 | const styles: CSSProperties = { 4 | color: "purple", 5 | fontFamily: "Comic Sans MS', cursive", 6 | fontSize: "2em", 7 | }; 8 | 9 | const Styling: React.FC = () =>Styled!
; 10 | 11 | export default Styling; 12 | -------------------------------------------------------------------------------- /app/apps/web/.gitignore: -------------------------------------------------------------------------------- 1 | # build output 2 | dist/ 3 | .output/ 4 | .astro/ 5 | 6 | # dependencies 7 | node_modules/ 8 | 9 | # logs 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | pnpm-debug.log* 14 | 15 | 16 | # environment variables 17 | .env 18 | .env.production 19 | 20 | # macOS-specific files 21 | .DS_Store 22 | -------------------------------------------------------------------------------- /qwik/src/global.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 6 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 7 | overflow-x: hidden; 8 | min-width: 100vh; 9 | } 10 | 11 | * { 12 | box-sizing: border-box; 13 | } 14 | -------------------------------------------------------------------------------- /qwik/src/components/app/app.tsx: -------------------------------------------------------------------------------- 1 | import { component$, Host } from '@builder.io/qwik'; 2 | import { Page } from '../page/page'; 3 | import { useQwikCity } from '@builder.io/qwik-city'; 4 | 5 | export const App = component$(() => { 6 | useQwikCity(); 7 | 8 | return ( 9 |Styled!
; 10 | 11 | export default Styling; 12 | -------------------------------------------------------------------------------- /svelte/src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | %svelte.head% 8 | 9 | 10 |The answer is {answer}
7 | ); 8 | 9 | const Props = () => ( 10 | <> 11 |Hello {{ name }}!
`, 6 | changeDetection: ChangeDetectionStrategy.OnPush, 7 | }) 8 | export class HelloWorldComponent { 9 | name = 'world'; 10 | } 11 | -------------------------------------------------------------------------------- /angular/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.ts] 12 | quote_type = single 13 | 14 | [*.md] 15 | max_line_length = off 16 | trim_trailing_whitespace = false 17 | -------------------------------------------------------------------------------- /angular/src/app/nesting-components/nested-component/nested-component.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-nested-component', 5 | template: `...don't affect this element
`, 6 | changeDetection: ChangeDetectionStrategy.OnPush, 7 | }) 8 | export class NestedComponentComponent {} 9 | -------------------------------------------------------------------------------- /angular/src/app/props/props.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-props', 5 | template: ` 6 |{{ x }} is greater than 10
13 |{{ x }} is less than 5
14 |{{ x }} is between 5 and 10
15 | -------------------------------------------------------------------------------- /react/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /vue-nuxt/components/ConditionalRendering.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 |{{ x }} is greater than 10
13 |{{ x }} is less than 5
14 |{{ x }} is between 5 and 10
15 | -------------------------------------------------------------------------------- /vue/src/components/ConditionalRendering.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 |{{ x }} is greater than 10
13 |{{ x }} is less than 5
14 |{{ x }} is between 5 and 10
15 | -------------------------------------------------------------------------------- /web/src/components/svelte/DependentVariables.svelte: -------------------------------------------------------------------------------- 1 | 11 | 12 | 15 | 16 |{count} * 2 = {doubled}
17 |{doubled} * 2 = {quadrupled}
-------------------------------------------------------------------------------- /angular/src/app/props/nested/nested.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-nested', 5 | template: `The answer is {{ answer }}
`, 6 | changeDetection: ChangeDetectionStrategy.OnPush, 7 | }) 8 | export class NestedComponent { 9 | @Input() answer: string | number = 'a mystery'; 10 | } 11 | -------------------------------------------------------------------------------- /web/src/components/react/BasicVariables.jsx: -------------------------------------------------------------------------------- 1 | import { useState } from "react" 2 | 3 | const BasicVariables = () => { 4 | const [count, setCount] = useState(0) 5 | 6 | function handleClick() { 7 | setCount(count + 1) 8 | } 9 | return ( 10 | 13 | ) 14 | } 15 | 16 | export default BasicVariables 17 | -------------------------------------------------------------------------------- /web/src/components/solid/BasicVariables.jsx: -------------------------------------------------------------------------------- 1 | import { createSignal } from "solid-js" 2 | 3 | const BasicVariables = () => { 4 | const [count, setCount] = createSignal(0) 5 | 6 | function handleClick() { 7 | setCount(count() + 1) 8 | } 9 | return ( 10 | 13 | ) 14 | } 15 | 16 | export default BasicVariables 17 | -------------------------------------------------------------------------------- /angular/src/app/page-content/page-content.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-page-content', 5 | templateUrl: './page-content.component.html', 6 | styleUrls: ['./page-content.component.css'] 7 | }) 8 | export class PageContentComponent implements OnInit { 9 | 10 | constructor() { } 11 | 12 | ngOnInit(): void { 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /solid/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "strict": true, 4 | "target": "ESNext", 5 | "module": "ESNext", 6 | "moduleResolution": "node", 7 | "allowSyntheticDefaultImports": true, 8 | "esModuleInterop": true, 9 | "jsx": "preserve", 10 | "jsxImportSource": "solid-js", 11 | "types": ["vite/client"], 12 | "noEmit": true, 13 | "isolatedModules": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /qwik/src/components/BasicVariables/BasicVariables.tsx: -------------------------------------------------------------------------------- 1 | import { component$, useStore } from "@builder.io/qwik"; 2 | 3 | const BasicVariables = component$(() => { 4 | const store = useStore({ count: 0 }); 5 | 6 | return ( 7 | 10 | ); 11 | }); 12 | 13 | export default BasicVariables; 14 | -------------------------------------------------------------------------------- /qwik/.eslintignore: -------------------------------------------------------------------------------- 1 | **/*.log 2 | **/.DS_Store 3 | *. 4 | .vscode/settings.json 5 | .history 6 | .yarn 7 | bazel-* 8 | bazel-bin 9 | bazel-out 10 | bazel-qwik 11 | bazel-testlogs 12 | dist 13 | dist-dev 14 | etc 15 | external 16 | node_modules 17 | temp 18 | tsc-out 19 | tsdoc-metadata.json 20 | target 21 | output 22 | rollup.config.js 23 | build 24 | .cache 25 | .vscode 26 | .rollup.cache 27 | dist 28 | tsconfig.tsbuildinfo 29 | -------------------------------------------------------------------------------- /react/src/components/BasicVariables.tsx: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | 3 | const BasicVariables = () => { 4 | const [count, setCount] = useState(0); 5 | 6 | function handleClick() { 7 | setCount(count + 1); 8 | } 9 | return ( 10 | 13 | ); 14 | }; 15 | 16 | export default BasicVariables; 17 | -------------------------------------------------------------------------------- /svelte/svelte.config.js: -------------------------------------------------------------------------------- 1 | import adapter from '@sveltejs/adapter-auto'; 2 | import preprocess from 'svelte-preprocess'; 3 | 4 | /** @type {import('@sveltejs/kit').Config} */ 5 | const config = { 6 | // Consult https://github.com/sveltejs/svelte-preprocess 7 | // for more information about preprocessors 8 | preprocess: preprocess(), 9 | 10 | kit: { 11 | adapter: adapter() 12 | } 13 | }; 14 | 15 | export default config; 16 | -------------------------------------------------------------------------------- /vue/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |These styles...
13 |{count} * 2 = {doubled}
18 |{doubled} * 2 = {quadrupled}
-------------------------------------------------------------------------------- /svelte/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./.svelte-kit/tsconfig.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "checkJs": true, 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "lib": ["es2020", "DOM"], 9 | "moduleResolution": "node", 10 | "module": "es2020", 11 | "resolveJsonModule": true, 12 | "skipLibCheck": true, 13 | "sourceMap": true, 14 | "strict": true, 15 | "target": "es2020" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /qwik/src/components/NestingComponents/NestingComponents.tsx: -------------------------------------------------------------------------------- 1 | import { component$, useScopedStyles$ } from "@builder.io/qwik"; 2 | import Nested from "./Nested"; 3 | import styles from "./NestingComponents.css?inline"; 4 | 5 | const NestingComponents = component$(() => { 6 | useScopedStyles$(styles); 7 | 8 | return ( 9 | <> 10 |These styles...
11 |Styled!
`, 6 | styles: [ 7 | ` 8 | p { 9 | color: purple; 10 | font-family: 'Comic Sans MS', cursive; 11 | font-size: 2em; 12 | } 13 | `, 14 | ], 15 | changeDetection: ChangeDetectionStrategy.OnPush, 16 | }) 17 | export class StylingComponent {} 18 | -------------------------------------------------------------------------------- /solid/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-template-solid", 3 | "version": "0.0.0", 4 | "description": "", 5 | "scripts": { 6 | "start": "vite", 7 | "dev": "vite", 8 | "build": "vite build", 9 | "serve": "vite preview" 10 | }, 11 | "license": "MIT", 12 | "devDependencies": { 13 | "typescript": "^4.6.3", 14 | "vite": "^2.8.6", 15 | "vite-plugin-solid": "^2.2.6" 16 | }, 17 | "dependencies": { 18 | "solid-js": "^1.3.13" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vue/src/components/NestingComponents.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 |These styles...
14 |{x} is greater than 10
10 | ) : 5 > x ? ( 11 |{x} is less than 5
12 | ) : ( 13 |{x} is between 5 and 10
14 | )} 15 | > 16 | ) 17 | } 18 | 19 | export default ConditionalRendering 20 | -------------------------------------------------------------------------------- /react/src/components/ConditionalRendering.tsx: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | 3 | const ConditionalRendering = () => { 4 | const [x, setX] = useState(Math.floor(Math.random() * 15)); 5 | 6 | return ( 7 | <> 8 | {x > 10 ? ( 9 |{x} is greater than 10
10 | ) : 5 > x ? ( 11 |{x} is less than 5
12 | ) : ( 13 |{x} is between 5 and 10
14 | )} 15 | > 16 | ); 17 | }; 18 | 19 | export default ConditionalRendering; 20 | -------------------------------------------------------------------------------- /vue/src/assets/vue.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/src/components/svelte/ListLooping.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 |These styles...
14 |{`...don't affect this element`}
; 10 | 11 | const NestingComponents = () => { 12 | return ( 13 | <> 14 |These styles...
15 |These styles...
14 |{x} is greater than 10
11 | ) : 5 > x ? ( 12 |{x} is less than 5
13 | ) : ( 14 |{x} is between 5 and 10
15 | )} 16 | > 17 | ) 18 | } 19 | 20 | export default ConditionalRendering 21 | -------------------------------------------------------------------------------- /react-next/src/components/ConditionalRendering/ConditionalRendering.tsx: -------------------------------------------------------------------------------- 1 | import { useState } from "react"; 2 | 3 | const ConditionalRendering: React.FC = () => { 4 | const [x, setX] = useState(Math.floor(Math.random() * 15)); 5 | 6 | return ( 7 | <> 8 | {x > 10 ? ( 9 |{x} is greater than 10
10 | ) : 5 > x ? ( 11 |{x} is less than 5
12 | ) : ( 13 |{x} is between 5 and 10
14 | )} 15 | > 16 | ); 17 | }; 18 | 19 | export default ConditionalRendering; 20 | -------------------------------------------------------------------------------- /react-next/src/sections/PageContent/PageContent.module.css: -------------------------------------------------------------------------------- 1 | .components { 2 | width: 100%; 3 | min-height: 100vh; 4 | background-color: rgba(100,80,180,0.1); 5 | padding: 24px; 6 | } 7 | 8 | .mobile { 9 | display: none; 10 | } 11 | 12 | .heading { 13 | font-size: 2.5rem; 14 | font-weight: 800; 15 | color: rgb(0, 0, 92); 16 | } 17 | 18 | @media screen and (max-width: 480px) { 19 | .mobile { 20 | display: flex; 21 | justify-content: flex-end; 22 | } 23 | 24 | .heading { 25 | font-size: 2rem; 26 | } 27 | } -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | node_modules 5 | .pnp 6 | .pnp.js 7 | 8 | # testing 9 | coverage 10 | 11 | # next.js 12 | .next/ 13 | out/ 14 | build 15 | 16 | # misc 17 | .DS_Store 18 | *.pem 19 | 20 | # debug 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | .pnpm-debug.log* 25 | 26 | # local env files 27 | .env.local 28 | .env.development.local 29 | .env.test.local 30 | .env.production.local 31 | 32 | # turbo 33 | .turbo 34 | -------------------------------------------------------------------------------- /qwik/src/components/footer/footer.tsx: -------------------------------------------------------------------------------- 1 | import { component$, Host, useScopedStyles$ } from '@builder.io/qwik'; 2 | import styles from './footer.css?inline'; 3 | 4 | export const Footer = component$( 5 | () => { 6 | useScopedStyles$(styles); 7 | 8 | return ( 9 |{{count}} * 2 = {{doubled}}
22 |{{doubled}} * 2 = {{quadrupled}}
23 | 24 | -------------------------------------------------------------------------------- /vue/src/components/DependentVariables.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 20 | 21 |{{count}} * 2 = {{doubled}}
22 |{{doubled}} * 2 = {{quadrupled}}
23 | 24 | -------------------------------------------------------------------------------- /angular/src/app/app.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { TestBed } from '@angular/core/testing'; 2 | import { AppComponent } from './app.component'; 3 | 4 | describe('AppComponent', () => { 5 | beforeEach(async () => { 6 | await TestBed.configureTestingModule({ 7 | declarations: [AppComponent], 8 | }).compileComponents(); 9 | }); 10 | 11 | it('should create the app', () => { 12 | const fixture = TestBed.createComponent(AppComponent); 13 | const app = fixture.componentInstance; 14 | expect(app).toBeTruthy(); 15 | }); 16 | }); 17 | -------------------------------------------------------------------------------- /qwik/src/components/ConditionalRendering/ConditionalRendering.tsx: -------------------------------------------------------------------------------- 1 | import { component$, useStore } from "@builder.io/qwik"; 2 | 3 | const ConditionalRendering = component$(() => { 4 | const { x } = useStore({ x: Math.floor(Math.random() * 15) }); 5 | return ( 6 | <> 7 | {x > 10 ? ( 8 |{x} is greater than 10
9 | ) : 5 > x ? ( 10 |{x} is less than 5
11 | ) : ( 12 |{x} is between 5 and 10
13 | )} 14 | > 15 | ); 16 | }); 17 | 18 | export default ConditionalRendering; 19 | -------------------------------------------------------------------------------- /qwik/src/entry.dev.tsx: -------------------------------------------------------------------------------- 1 | import { render } from '@builder.io/qwik'; 2 | import { Root } from './root'; 3 | 4 | /** 5 | * Development entry point using only client-side modules: 6 | * - Do not use this mode in production! 7 | * - No SSR 8 | * - No portion of the application is pre-rendered on the server. 9 | * - All of the application is running eagerly in the browser. 10 | * - More code is transferred to the browser than in SSR mode. 11 | * - Optimizer/Serialization/Deserialization code is not exercised! 12 | */ 13 | render(document,{{count}} * 2 = {{doubled}}
23 |{{doubled}} * 2 = {{quadrupled}}
24 |{x()} is greater than 10
10 |{x()} is less than 5
13 |These styles
7 |{x()} is greater than 10
10 |{x()} is less than 5
13 |10; else second">{{ x }} is greater than 10
7 | 8 |x; else third">{{ x }} is less than 5
10 |{{ x }} is between 5 and 10
14 |16 | {store.count} * 2 = {store.doubled} 17 |
18 |19 | {store.doubled} * 2 = {store.quadrupled} 20 |
21 | > 22 | ); 23 | }); 24 | 25 | export default DependentVariables; 26 | -------------------------------------------------------------------------------- /angular/src/app/navbar/navbar.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { NavbarComponent } from './navbar.component'; 4 | 5 | describe('NavbarComponent', () => { 6 | let component: NavbarComponent; 7 | let fixture: ComponentFixtureHello {store.name}!
; 6 | }); 7 | 8 | export default HelloWorld; 9 | 10 | // const App = component$(() => { 11 | // const store = useStore({ a: 0, b: 0, c: 0 }); 12 | 13 | // return ( 14 | // <> 15 | // 16 | // 17 | // 18 | // {JSON.stringify(store)} 19 | 20 | //21 | {count} * 2 = {doubled} 22 |
23 |24 | {doubled} * 2 = {quadrupled} 25 |
26 | > 27 | ) 28 | } 29 | 30 | export default DependentVariables 31 | -------------------------------------------------------------------------------- /react/src/components/DependentVariables.tsx: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from "react"; 2 | 3 | const DependentVariables = () => { 4 | const [count, setCount] = useState(1); 5 | const [doubled, setDoubled] = useState(count * 2); 6 | const [quadrupled, setQuadrupled] = useState(doubled * 2); 7 | 8 | useEffect(() => { 9 | setDoubled(count * 2); 10 | setQuadrupled(doubled * 2); 11 | }, [count, doubled]); 12 | 13 | function handleClick() { 14 | setCount(count + 1); 15 | } 16 | 17 | return ( 18 | <> 19 | 20 |21 | {count} * 2 = {doubled} 22 |
23 |24 | {doubled} * 2 = {quadrupled} 25 |
26 | > 27 | ); 28 | }; 29 | 30 | export default DependentVariables; 31 | -------------------------------------------------------------------------------- /app/apps/web/astro.config.mjs: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'astro/config'; 2 | import tailwind from "@astrojs/tailwind"; 3 | import solidJs from "@astrojs/solid-js"; 4 | import svelte from "@astrojs/svelte"; 5 | import vue from "@astrojs/vue"; 6 | import react from "@astrojs/react"; 7 | import preact from "@astrojs/preact"; 8 | 9 | import lit from "@astrojs/lit"; 10 | 11 | // https://astro.build/config 12 | export default defineConfig({ 13 | integrations: [ 14 | tailwind(), 15 | // Configure JSX renderers with file patterns to avoid conflicts 16 | react({ 17 | include: ['**/React.tsx'] 18 | }), 19 | preact({ 20 | include: ['**/Preact.tsx'] 21 | }), 22 | solidJs({ 23 | include: ['**/Solid.tsx'] 24 | }), 25 | svelte(), 26 | vue(), 27 | lit() 28 | ] 29 | }); -------------------------------------------------------------------------------- /qwik/src/components/ListLooping/ListLooping.tsx: -------------------------------------------------------------------------------- 1 | import { component$, useStore } from "@builder.io/qwik"; 2 | 3 | const ListLooping = component$(() => { 4 | const { cats } = useStore({ 5 | cats: [ 6 | { id: "J---aiyznGQ", name: "Keyboard Cat" }, 7 | { id: "z_AbfPXTKms", name: "Maru" }, 8 | { id: "OUtn3pvWmpg", name: "Henri The Existential Cat" }, 9 | ], 10 | }); 11 | return ( 12 | <> 13 |21 | {count} * 2 = {doubled} 22 |
23 |24 | {doubled} * 2 = {quadrupled} 25 |
26 | > 27 | ) 28 | } 29 | 30 | export default DependentVariables 31 | -------------------------------------------------------------------------------- /angular/src/app/page-content/page-content.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { PageContentComponent } from './page-content.component'; 4 | 5 | describe('PageContentComponent', () => { 6 | let component: PageContentComponent; 7 | let fixture: ComponentFixture21 | {count} * 2 = {doubled} 22 |
23 |24 | {doubled} * 2 = {quadrupled} 25 |
26 | > 27 | ); 28 | }; 29 | 30 | export default DependentVariables; 31 | -------------------------------------------------------------------------------- /web/src/components/preact/DependentVariables.jsx: -------------------------------------------------------------------------------- 1 | import { h } from "preact" 2 | import { useEffect, useState } from "preact/hooks" 3 | 4 | const DependentVariables = () => { 5 | const [count, setCount] = useState(1) 6 | const [doubled, setDoubled] = useState(count * 2) 7 | const [quadrupled, setQuadrupled] = useState(doubled * 2) 8 | 9 | useEffect(() => { 10 | setDoubled(count * 2) 11 | setQuadrupled(doubled * 2) 12 | }, [count, doubled]) 13 | 14 | function handleClick() { 15 | setCount(count + 1) 16 | } 17 | 18 | return ( 19 | <> 20 | 21 |22 | {count} * 2 = {doubled} 23 |
24 |25 | {doubled} * 2 = {quadrupled} 26 |
27 | > 28 | ) 29 | } 30 | 31 | export default DependentVariables 32 | -------------------------------------------------------------------------------- /angular/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | # Only exists if Bazel was run 8 | /bazel-out 9 | 10 | # dependencies 11 | /node_modules 12 | 13 | # profiling files 14 | chrome-profiler-events*.json 15 | 16 | # IDEs and editors 17 | /.idea 18 | .project 19 | .classpath 20 | .c9/ 21 | *.launch 22 | .settings/ 23 | *.sublime-workspace 24 | 25 | # IDE - VSCode 26 | .vscode/* 27 | !.vscode/settings.json 28 | !.vscode/tasks.json 29 | !.vscode/launch.json 30 | !.vscode/extensions.json 31 | .history/* 32 | 33 | # misc 34 | /.angular/cache 35 | /.sass-cache 36 | /connect.lock 37 | /coverage 38 | /libpeerconnection.log 39 | npm-debug.log 40 | yarn-error.log 41 | testem.log 42 | /typings 43 | 44 | # System Files 45 | .DS_Store 46 | Thumbs.db 47 | -------------------------------------------------------------------------------- /solid/src/components/ListLooping/ListLooping.tsx: -------------------------------------------------------------------------------- 1 | import { Component, For } from "solid-js"; 2 | 3 | const cats = [ 4 | { id: "J---aiyznGQ", name: "Keyboard Cat" }, 5 | { id: "z_AbfPXTKms", name: "Maru" }, 6 | { id: "OUtn3pvWmpg", name: "Henri The Existential Cat" }, 7 | ]; 8 | 9 | const ListLooping: Component = () => { 10 | return ( 11 | <> 12 |21 | {count} * 2 = {doubled} 22 |
23 |24 | {doubled} * 2 = {quadrupled} 25 |
26 | > 27 | ); 28 | }; 29 | 30 | export default DependentVariables; 31 | -------------------------------------------------------------------------------- /angular/src/test.ts: -------------------------------------------------------------------------------- 1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files 2 | 3 | import 'zone.js/testing'; 4 | import { getTestBed } from '@angular/core/testing'; 5 | import { 6 | BrowserDynamicTestingModule, 7 | platformBrowserDynamicTesting 8 | } from '@angular/platform-browser-dynamic/testing'; 9 | 10 | declare const require: { 11 | context(path: string, deep?: boolean, filter?: RegExp): { 12 | keys(): string[]; 13 |Hello world!
\n","Props":"---\ninterface Props {\n answer?: string\n}\n\nconst { answer = \"a mystery\" } = Astro.props\n---\n\nThe answer is {answer}
\n","Styling":"\n Styled!\n
\n"}} -------------------------------------------------------------------------------- /qwik/src/sections/Navbar/Navbar.css: -------------------------------------------------------------------------------- 1 | .links { 2 | display: flex; 3 | flex-direction: column; 4 | background-color: rgba(67, 72, 229, 0.4); 5 | padding: 16px 8px; 6 | height: 100vh; 7 | overflow-y: scroll; 8 | } 9 | .links button { 10 | background-color: transparent; 11 | color: rgb(37, 33, 151); 12 | font-weight: 600; 13 | margin: 12px; 14 | padding: 12px 6px; 15 | border-radius: 12px; 16 | text-transform: uppercase; 17 | list-style: none; 18 | cursor: pointer; 19 | 20 | border: 2px solid rgb(37, 33, 151); 21 | } 22 | 23 | .links button:hover { 24 | background-color: rgb(37, 33, 151); 25 | color: rgba(255, 255, 255, 0.8); 26 | box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.5); 27 | } 28 | 29 | .close { 30 | display: none; 31 | } 32 | 33 | @media screen and (max-width: 480px) { 34 | .links { 35 | display: none; 36 | width: 100%; 37 | height: 100%; 38 | } 39 | 40 | .close { 41 | display: flex; 42 | justify-content: flex-end; 43 | padding-right: 16px; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /qwik/src/components/sidebar/sidebar.css: -------------------------------------------------------------------------------- 1 | .links { 2 | display: flex; 3 | flex-direction: column; 4 | background-color: rgba(67, 72, 229, 0.4); 5 | padding: 16px 8px; 6 | height: 100vh; 7 | overflow-y: scroll; 8 | } 9 | .links button { 10 | background-color: transparent; 11 | color: rgb(37, 33, 151); 12 | font-weight: 600; 13 | margin: 12px; 14 | padding: 12px 6px; 15 | border-radius: 12px; 16 | text-transform: uppercase; 17 | list-style: none; 18 | cursor: pointer; 19 | 20 | border: 2px solid rgb(37, 33, 151); 21 | } 22 | 23 | .links button:hover { 24 | background-color: rgb(37, 33, 151); 25 | color: rgba(255, 255, 255, 0.8); 26 | box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.5); 27 | } 28 | 29 | .close { 30 | display: none; 31 | } 32 | 33 | @media screen and (max-width: 480px) { 34 | 35 | 36 | .links { 37 | display: none; 38 | width: 100%; 39 | height: 100%; 40 | } 41 | 42 | .close { 43 | display: flex; 44 | justify-content: flex-end; 45 | padding-right: 16px; 46 | } 47 | } -------------------------------------------------------------------------------- /solid/src/sections/Navbar/Navbar.module.css: -------------------------------------------------------------------------------- 1 | .links { 2 | display: flex; 3 | flex-direction: column; 4 | background-color: rgba(67, 72, 229, 0.4); 5 | padding: 16px 8px; 6 | height: 100vh; 7 | overflow-y: scroll; 8 | } 9 | .links button { 10 | background-color: transparent; 11 | color: rgb(37, 33, 151); 12 | font-weight: 600; 13 | margin: 12px; 14 | padding: 12px 6px; 15 | border-radius: 12px; 16 | text-transform: uppercase; 17 | list-style: none; 18 | cursor: pointer; 19 | 20 | border: 2px solid rgb(37, 33, 151); 21 | } 22 | 23 | .links button:hover { 24 | background-color: rgb(37, 33, 151); 25 | color: rgba(255, 255, 255, 0.8); 26 | box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.5); 27 | } 28 | 29 | .close { 30 | display: none; 31 | } 32 | 33 | @media screen and (max-width: 480px) { 34 | 35 | 36 | .links { 37 | display: none; 38 | width: 100%; 39 | height: 100%; 40 | } 41 | 42 | .close { 43 | display: flex; 44 | justify-content: flex-end; 45 | padding-right: 16px; 46 | } 47 | } -------------------------------------------------------------------------------- /angular/src/app/list-looping/list-looping.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-list-looping', 5 | template: ` 6 |
26 |