Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(v2): Merge main #6887

Merged
merged 134 commits into from
Sep 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
ddcc489
docs: move the env variable to guide/env-variable (#6793)
Kampouse Aug 14, 2024
f7aef10
docs: update the location of the re-loader to be under /(qwik-cty) i…
Kampouse Aug 14, 2024
6083989
docs: add Core api reference in the the menu (#6792)
Kampouse Aug 14, 2024
7adb75a
fix(qwik-city): Avoided unexpected caching for dynamic q-data (#6797)
genki Aug 16, 2024
cb69e99
docs: add new showcase site (#6776)
DevWeb13 Aug 18, 2024
072c38f
fixed insights link
shairez Aug 20, 2024
cd1e68c
docs: add info about Link prefetch option (#6814)
Darrefull Aug 21, 2024
477b5e0
docs: update index.mdx (#6813)
lucasmsoares96 Aug 21, 2024
044dbe0
fixed build for vite ecosystem ci
shairez Aug 22, 2024
89fbe78
added governance doc
shairez Aug 24, 2024
22f54c5
fix vite ecosystem - second try
shairez Aug 26, 2024
c52b854
fix CDN Cache Control link in docs (#6835)
gimonaa Aug 29, 2024
5ace2f8
docs: adds seyph.com to showcase page (#6823)
rickserraglia Aug 29, 2024
1686354
docs: add hypercode to the showcase page (#6849)
hypecode-tech Aug 31, 2024
5ecf01a
fix: qwikVite transforming id's with ?raw (#6854)
thejackshelton Sep 3, 2024
4600d9d
chore(gitignore): gitignore .env (#6858)
PatrickJS Sep 4, 2024
a535aa4
chore: update package.json link.dist paths (#6861)
maiieul Sep 4, 2024
2035dcc
docs: add update sitemap documentation for SSR (#6852)
DevWeb13 Sep 4, 2024
36eb7d0
chore: start the experiment with modulepreload on qwik.dev (#6862)
maiieul Sep 5, 2024
5889287
Revert "chore: start the experiment with modulepreload on qwik.dev" (…
gioboa Sep 5, 2024
fc802f8
fix(ci): don't deploy docs if no artifact was built (#6866)
wmertens Sep 5, 2024
5b1b3eb
docs: update showcases with a new site (#6859)
EvilSpartans Sep 5, 2024
d9d1d62
removed ability to create feature issues and instead redirect to evol…
shairez Sep 6, 2024
74eb861
chore: start modulepreload experiment (#6867)
maiieul Sep 6, 2024
521f3e1
fix(request-handler) change from 302 to 301 (#6818)
tzdesign Sep 8, 2024
44df8d7
refactor: update tailwind starter deps (#6783)
thejackshelton Sep 8, 2024
d918278
feat: add `valibot$` validator and fix types of `zod$` implementation…
fabian-hiller Sep 8, 2024
0c6496f
feat(optimizer): don't qwik-transform lib builds (#6850)
wmertens Sep 9, 2024
99855dc
clean up the code a bit
shairez Sep 2, 2024
96169e0
WIP prefetch test
shairez Sep 2, 2024
f0dc20c
cleaned up prefetch logic
shairez Sep 3, 2024
c06ecfd
fix(qwik-city): removed duplicated import deps from prefetch graph
shairez Sep 3, 2024
3c6f9ac
extract prefetch functions and added test cases
shairez Sep 4, 2024
b4bfb0a
covered prefetch queue logic with tests
shairez Sep 5, 2024
2c5fb52
fixed a performance bug in prefetching
shairez Sep 5, 2024
3bcab38
cleaning older service worker cache
shairez Sep 5, 2024
4c128c0
changed order of SW event setup
shairez Sep 6, 2024
2e86694
optimized draining the qwik-city prefetch queue
shairez Sep 6, 2024
a2f5cfe
removed leftovers in generate sw
shairez Sep 7, 2024
d7b4560
added changesets
shairez Sep 9, 2024
7b1bb03
fix(qwik): manifest exclude tree-shaken modules (#6828)
wmertens Sep 9, 2024
902b041
fix: add .ico to isStaticPath to prevent large 404 responses (#6860)
intellix Sep 9, 2024
b4cd308
fix(prefetch-sw): only prefetch direct imports (#6853)
wmertens Sep 10, 2024
ee24c89
fix: a bug 4956 (#6778)
JerryWu1234 Sep 11, 2024
bb3198f
docs: fix typo in using useStore() (#6875)
zaynet Sep 11, 2024
bb42772
fix: CI not uploading dot files (#6876)
shairez Sep 12, 2024
551e9fe
chore(deps): bump the npm_and_yarn group across 2 directories with 1 …
dependabot[bot] Sep 12, 2024
66f0279
fix: sharp err -> "free(): invalid size" (#6882)
maiieul Sep 16, 2024
0d57dc8
fix(dev): image service error handling (#6855)
JerryWu1234 Sep 16, 2024
3098b20
fix(docs): url replacing
wmertens Sep 13, 2024
79683ca
feat(vite): experimental[] + put valibot behind flag
wmertens Sep 13, 2024
46e6dd4
fix: nicer qwik city env error during dev
wmertens Aug 25, 2024
3125156
feat(qwik-city): usePreventNavigate()
wmertens Sep 17, 2024
a3ae951
improved the changesets messages (#6884)
shairez Sep 17, 2024
fa38f75
fix typos
shairez Sep 17, 2024
058402d
trying to fix valibot changeset
shairez Sep 17, 2024
e37930c
Version Packages
github-actions[bot] Sep 17, 2024
bc5c9d1
feat: add qwik cli e2e
dmitry-stepanenko Aug 24, 2024
b4d9579
chore: add test.e2e-cli to the CI
dmitry-stepanenko Sep 10, 2024
a9ee2a6
ci: add better console
shairez Sep 10, 2024
2e1448e
fix: docs production deploy
wmertens Sep 18, 2024
c09e1b8
fixup + docs change
wmertens Sep 19, 2024
61e3f20
docs: fix up Auth.js section (#6890)
tonievictor Sep 20, 2024
c48a23d
chore(docs): update deploy action + document task() (#6891)
wmertens Sep 20, 2024
ae09275
fix(optimizer): ignore unknown deps in graph
wmertens Sep 18, 2024
5a0c31d
fix(optimizer): Backported the fix `mark fn`` children as jsx mutable…
genki Sep 22, 2024
cdc9cd8
docs: fix up env links in auth.js section (#6898)
tonievictor Sep 22, 2024
426ba59
Managing multiple redirects in Qwik (#6909)
thejackshelton Sep 24, 2024
c0ba23f
chore(optimizer): remove is_dev again
wmertens Sep 18, 2024
7333b90
docs: move the env variable to guide/env-variable (#6793)
Kampouse Aug 14, 2024
870b4f5
docs: update the location of the re-loader to be under /(qwik-cty) i…
Kampouse Aug 14, 2024
16fa731
docs: add Core api reference in the the menu (#6792)
Kampouse Aug 14, 2024
8f794c5
fix(qwik-city): Avoided unexpected caching for dynamic q-data (#6797)
genki Aug 16, 2024
fa6e164
docs: add new showcase site (#6776)
DevWeb13 Aug 18, 2024
e738aa2
fixed insights link
shairez Aug 20, 2024
5db7af7
docs: add info about Link prefetch option (#6814)
Darrefull Aug 21, 2024
4d12a04
docs: update index.mdx (#6813)
lucasmsoares96 Aug 21, 2024
56cfff3
fixed build for vite ecosystem ci
shairez Aug 22, 2024
ef6458b
added governance doc
shairez Aug 24, 2024
a985eaa
fix vite ecosystem - second try
shairez Aug 26, 2024
e5ca959
fix CDN Cache Control link in docs (#6835)
gimonaa Aug 29, 2024
39c459c
docs: adds seyph.com to showcase page (#6823)
rickserraglia Aug 29, 2024
4d47624
docs: add hypercode to the showcase page (#6849)
hypecode-tech Aug 31, 2024
fd5d1d4
fix: qwikVite transforming id's with ?raw (#6854)
thejackshelton Sep 3, 2024
ee9ecbf
chore(gitignore): gitignore .env (#6858)
PatrickJS Sep 4, 2024
c84ec9f
chore: update package.json link.dist paths (#6861)
maiieul Sep 4, 2024
989786a
docs: add update sitemap documentation for SSR (#6852)
DevWeb13 Sep 4, 2024
213d45a
chore: start the experiment with modulepreload on qwik.dev (#6862)
maiieul Sep 5, 2024
bdb9c57
Revert "chore: start the experiment with modulepreload on qwik.dev" (…
gioboa Sep 5, 2024
1965f49
fix(ci): don't deploy docs if no artifact was built (#6866)
wmertens Sep 5, 2024
8fce46a
docs: update showcases with a new site (#6859)
EvilSpartans Sep 5, 2024
8e1ee71
removed ability to create feature issues and instead redirect to evol…
shairez Sep 6, 2024
87d7675
chore: start modulepreload experiment (#6867)
maiieul Sep 6, 2024
18a95f7
fix(request-handler) change from 302 to 301 (#6818)
tzdesign Sep 8, 2024
c2a5934
refactor: update tailwind starter deps (#6783)
thejackshelton Sep 8, 2024
eeea2a7
feat: add `valibot$` validator and fix types of `zod$` implementation…
fabian-hiller Sep 8, 2024
1999cb9
feat(optimizer): don't qwik-transform lib builds (#6850)
wmertens Sep 9, 2024
3bc0d4c
clean up the code a bit
shairez Sep 2, 2024
58757e6
WIP prefetch test
shairez Sep 2, 2024
ebbf350
cleaned up prefetch logic
shairez Sep 3, 2024
c23d897
fix(qwik-city): removed duplicated import deps from prefetch graph
shairez Sep 3, 2024
c25ab2a
extract prefetch functions and added test cases
shairez Sep 4, 2024
68849b9
covered prefetch queue logic with tests
shairez Sep 5, 2024
1a45167
fixed a performance bug in prefetching
shairez Sep 5, 2024
5dd7215
cleaning older service worker cache
shairez Sep 5, 2024
8891eac
changed order of SW event setup
shairez Sep 6, 2024
0785381
optimized draining the qwik-city prefetch queue
shairez Sep 6, 2024
bb73291
removed leftovers in generate sw
shairez Sep 7, 2024
78f2794
added changesets
shairez Sep 9, 2024
bda7836
fix(qwik): manifest exclude tree-shaken modules (#6828)
wmertens Sep 9, 2024
b3ee7eb
fix: add .ico to isStaticPath to prevent large 404 responses (#6860)
intellix Sep 9, 2024
df7dc8a
fix(prefetch-sw): only prefetch direct imports (#6853)
wmertens Sep 10, 2024
cb051e8
fix: a bug 4956 (#6778)
JerryWu1234 Sep 11, 2024
d5a8cd2
docs: fix typo in using useStore() (#6875)
zaynet Sep 11, 2024
0ff83a7
fix: CI not uploading dot files (#6876)
shairez Sep 12, 2024
e902a49
chore(deps): bump the npm_and_yarn group across 2 directories with 1 …
dependabot[bot] Sep 12, 2024
f5549f7
fix: sharp err -> "free(): invalid size" (#6882)
maiieul Sep 16, 2024
11f347a
fix(dev): image service error handling (#6855)
JerryWu1234 Sep 16, 2024
8b9aa37
fix(docs): url replacing
wmertens Sep 13, 2024
a61db44
feat(vite): experimental[] + put valibot behind flag
wmertens Sep 13, 2024
a5752d7
fix: nicer qwik city env error during dev
wmertens Aug 25, 2024
bc646af
feat(qwik-city): usePreventNavigate()
wmertens Sep 17, 2024
2a37947
improved the changesets messages (#6884)
shairez Sep 17, 2024
29e8536
fix typos
shairez Sep 17, 2024
487d3eb
trying to fix valibot changeset
shairez Sep 17, 2024
ece5b57
Version Packages
github-actions[bot] Sep 17, 2024
dd952f3
feat: add qwik cli e2e
dmitry-stepanenko Aug 24, 2024
4f67f9f
chore: add test.e2e-cli to the CI
dmitry-stepanenko Sep 10, 2024
62c4c00
ci: add better console
shairez Sep 10, 2024
4f925f2
Merge remote-tracking branch 'origin/main' into merge-main
wmertens Sep 24, 2024
e146f0d
fix visible task inside slot
Varixo Sep 25, 2024
9caf64f
change entryStrategy for e2e tests
Varixo Sep 25, 2024
9844973
add expect for test
Varixo Sep 25, 2024
b514d39
fix signal serialization
Varixo Sep 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
"@builder.io/qwik-labs",
"insights",
"@builder.io/qwik-react",
"@builder.io/qwik-worker"
"@builder.io/qwik-worker",
"qwik-cli-e2e"
],
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
"onlyUpdatePeerDependentsWhenOutOfRange": true
Expand Down
5 changes: 5 additions & 0 deletions .changeset/quiet-grapes-sit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@builder.io/qwik': patch
---

fix(optimizer): ignore unknown deps in graph causing crashes during build
5 changes: 0 additions & 5 deletions .changeset/wicked-foxes-behave.md

This file was deleted.

3 changes: 3 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
contact_links:
- name: ✨ Feature requests Ideas
url: https://github.com/QwikDev/qwik-evolution/discussions
about: Propose new features and improvements and help shape Qwik
- name: 🤔 Support Question
url: https://qwik.dev/chat
about: This issue tracker is not for support questions. Please post your question on the Discord chat.
36 changes: 0 additions & 36 deletions .github/ISSUE_TEMPLATE/feature.yaml

This file was deleted.

71 changes: 65 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ jobs:

- name: Print Qwik Dist Build
continue-on-error: true
run: tree packages/qwik/dist/
run: tree -a packages/qwik/dist/

- name: Save qwik cache
uses: actions/cache/save@v4
Expand All @@ -231,6 +231,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: artifact-qwik-no-optimizer
include-hidden-files: true
path: packages/qwik/dist/
if-no-files-found: error

Expand Down Expand Up @@ -300,6 +301,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: artifact-bindings-${{ matrix.settings.target }}
include-hidden-files: true
path: packages/qwik/bindings/
if-no-files-found: error

Expand Down Expand Up @@ -356,6 +358,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: artifact-qwik
include-hidden-files: true
path: |
packages/qwik/bindings
packages/qwik/dist
Expand Down Expand Up @@ -427,57 +430,62 @@ jobs:
key: ${{ needs.changes.outputs.hash-others }}

- name: Print QwikCity Lib Build
run: tree packages/qwik-city/lib/
run: tree -a packages/qwik-city/lib/

- name: Upload QwikCity Build Artifacts
uses: actions/upload-artifact@v4
with:
name: artifact-qwikcity
include-hidden-files: true
path: packages/qwik-city/lib/
if-no-files-found: error

- name: Print QwikLabs Lib Build
run: tree packages/qwik-labs/lib/ packages/qwik-labs/vite/
run: tree -a packages/qwik-labs/lib/ packages/qwik-labs/vite/

- name: Upload QwikLabs+React Build Artifacts
uses: actions/upload-artifact@v4
with:
name: artifact-qwiklabs
include-hidden-files: true
path: |
packages/qwik-labs/lib/
packages/qwik-labs/vite/
packages/qwik-labs/package.json
if-no-files-found: error

- name: Print qwik-react Lib Build
run: tree packages/qwik-react/lib/
run: tree -a packages/qwik-react/lib/

- name: Upload qwik-react Build Artifacts
uses: actions/upload-artifact@v4
with:
name: artifact-qwikreact
include-hidden-files: true
path: |
packages/qwik-react/lib/
packages/qwik-react/package.json
if-no-files-found: error

- name: Print Create Qwik CLI Dist Build
run: tree packages/create-qwik/dist/
run: tree -a packages/create-qwik/dist/

- name: Upload Create Qwik CLI Build Artifacts
uses: actions/upload-artifact@v4
with:
name: artifact-create-qwik
include-hidden-files: true
path: packages/create-qwik/dist/
if-no-files-found: error

- name: Print Eslint rules Dist Build
run: tree packages/eslint-plugin-qwik/dist/
run: tree -a packages/eslint-plugin-qwik/dist/

- name: Upload Eslint rules Build Artifacts
uses: actions/upload-artifact@v4
with:
name: artifact-eslint-plugin-qwik
include-hidden-files: true
path: packages/eslint-plugin-qwik/dist/
if-no-files-found: error

Expand Down Expand Up @@ -582,6 +590,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: artifact-docs
include-hidden-files: true
path: |
packages/docs/dist
packages/docs/server
Expand Down Expand Up @@ -707,6 +716,56 @@ jobs:
if: matrix.settings.host != 'windows-latest'
run: pnpm cli.validate

############ E2E CLI TEST ############
test-cli-e2e:
name: E2E CLI Tests
if: always() && needs.changes.outputs.build-e2e == 'true'

needs:
- build-other-packages
- changes
- test-unit

strategy:
matrix:
settings:
- host: ubuntu-latest
- host: macos-latest
- host: windows-latest

runs-on: ${{ matrix.settings.host }}

steps:
- name: Checkout
uses: actions/checkout@v4

- uses: pnpm/action-setup@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: 'pnpm'
registry-url: https://registry.npmjs.org/
- run: corepack enable

- name: Download Build Artifacts
uses: actions/download-artifact@v4

- name: Move Distribution Artifacts
run: |
mv artifact-qwik/* packages/qwik/
mkdir -p packages/qwik-city/lib/
mv artifact-qwikcity/* packages/qwik-city/lib/
mkdir -p packages/create-qwik/dist/
mv artifact-create-qwik/* packages/create-qwik/dist/
mkdir -p packages/eslint-plugin-qwik/dist/
mv artifact-eslint-plugin-qwik/* packages/eslint-plugin-qwik/dist/

- run: pnpm install --frozen-lockfile

- name: CLI E2E Tests
run: pnpm run test.e2e-cli

########### LINT PACKAGES ############
lint-package:
name: Lint Package
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Download docs artifact
continue-on-error: true
uses: actions/download-artifact@v4
id: download-artifact
with:
Expand All @@ -39,9 +38,7 @@ jobs:

# not the official version, so be careful when updating
- name: Deploy to Cloudflare Pages
# if the docs didn't build, don't deploy but don't fail the workflow
if: success()
uses: AdrianGonz97/refined-cf-pages-action@11cfce77186cf1bd43f2fe42a84ea1996bcfe3c9
uses: AdrianGonz97/refined-cf-pages-action@6c0d47ff7c97c48fa702b6d9f71f7e3a7c30c7d8
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
Expand Down
143 changes: 143 additions & 0 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# Qwik Project Governance

This governance document reflects our dedication to maintaining Qwik as an open, fair, and collaborative project and is a continuation of our [community values](https://docs.google.com/document/d/1MrSp2caaREETHUL56C2fIIJeFJsBA_sWJ9raL6hWoo8/edit#heading=h.bpbzghkvfgrn).

Qwik is rooted in a commitment to innovation and community-driven development where the needs of the community drive the framework's evolution.

Our decisions are guided by what serves Qwik and the broader web ecosystem best, with a strong emphasis on seeking consensus.

The following outlines the structure of the project, including the roles and responsibilities of its members.

## Community Contributors

A Community contributor is any community member who contributes to the success of the framework.

Contributors usually are part of one or more of the following categories:

1. **Code Contributors** - Developers who contribute by identifying issues, submitting pull requests, or maintaining community-driven Qwik projects.
2. **Docs Contributors** - Members who enhance or correct the Qwik documentation, ensuring it remains accurate and accessible.
3. **Support Contributors** - Members who assist other developers by answering questions and offering support.
4. **Content Creators** - Those who produce educational content, tutorials, and other resources to help the community better understand and use Qwik.
5. **Local Community Leaders** - Members who organize and lead local Qwik communities, fostering in-person engagement and knowledge sharing.

## Qwik Heroes

Qwik Heroes are recognized as top contributors who have exceptional dedication and enthusiasm for Qwik.

Heroes have easier access to the core team and participate in monthly meetings to provide feedback, ask questions, and discuss internal topics together with the team.

#### Nomination

Any community contributor can be nominated as a Qwik Hero by an existing member or by any of the leadership teams. Selections are made by the Community Management Team (and in conjunction with the core team for cases of “code heroes”).

#### Status Change

Removal of Qwik Heroes is done by either a voluntary resignation or by a Community Management Team decision, or (in extreme cases) by a Stewardship Team motion.

Qwik Heroes who become inactive for 6 months are automatically reverted to regular community contributor status.

## Core Team

Core team members are contributors who have merging rights to the project and are actively involved in the ongoing development of Qwik. They are essential to the framework's evolution, participating in weekly sprint meetings and Core Leadership meetings (although only Core Leadership members can vote in these meetings).

The Core Team will have a Core Team Lead who will be in charge of the ongoing project management and development progress.

#### Nomination

A Qwik Hero member can be nominated as a Core Team member by any member of the Core Team. Nominations are decided upon by a standard Core Leadership motion.

#### Status Change

Removal of Core Team members is done by either a voluntary resignation or by a standard Core Leadership motion, or (in extreme cases) by a Stewardship Team motion.

A Core Team member will be automatically converted back to a "Qwik Hero" if they are not active in the project for over 3 months.

## Core Leadership Team

The Core Leadership Team includes Core Team members who are granted voting rights on strategic technical decisions.

These individuals are selected because of their experience, judgment, good faith, and alignment with Qwik's core values.

Members of this team are expected to participate in Core Leadership Team activities and meetings and can cast votes when consensus is not reached on a specific decision.

#### Nomination

Regular Core Team members can be nominated to the Core Leadership Team by any current Core Leadership member, with the final decision made through a standard Core Leadership motion.

#### Status Change

Removal of voting Core Leadership members is done by either a voluntary resignation or by a standard Core Leadership motion, or (in extreme cases) by a Stewardship Team motion.

A Core Leadership member will be automatically converted to a regular Core Team member if they do not participate in 3 consecutive votes or have been inactive for over 4 months.

## Docs Team

The Docs Team is responsible for maintaining and improving Qwik's documentation.

This team ensures that the documentation is up-to-date, accurate, and user-friendly, and also handles the triage of docs-related issues and the merging of related PRs.

#### Nomination

A Qwik Hero member can be nominated as a Docs Team member by any member of the Docs Team. Nominations need to be approved by the Growth Manager.

#### Status Change

Removal of Docs Team members is done by either a voluntary resignation or by a Growth Manager decision, or (in extreme cases) by a Stewardship Team motion.

A Docs Team member will be automatically converted back to a "Qwik Hero" if they are not active in the project for over 3 months.

## Community Management Team

The Community Management Team oversees the onboarding, safety, and overall vibe of the Qwik community.

They ensure that the community remains a friendly and inclusive space where members follow the Qwik community guidelines.

The team is responsible for managing "Local Community Leaders" and "Support Heroes" and helping them succeed in their roles and contributions.

#### Nomination

Qwik Heroes may be nominated to the Community Management Team by any current team member. Nominations need to be approved by the Growth Manager.

#### Status Change

Removal of Community Management Team members is done by either a voluntary resignation or by a Growth Manager decision, or (in extreme cases) by a Stewardship Team motion.

A Community Management Team member will be automatically converted back to a "Qwik Hero" if they are not active in the project for over 3 months.

## Outreach Team

The Outreach Team is responsible of spreading Qwik's message, ensuring that more developers are introduced to the framework and give it a try. Their responsibilities include managing social media, collaborating with content creators, representing Qwik at conferences, and more.

#### Nomination

Qwik Heroes may be nominated to the Outreach Team by any current team member. Nominations need to be approved by the Growth Manager.

#### Status Change

Removal of Outreach Team members is done by either a voluntary resignation or by a Growth Manager decision, or (in extreme cases) by a Stewardship Team motion.

An Outreach Team member will be automatically converted back to a "Qwik Hero" if they are not active in the project for over 3 months.

## Growth Manager

The Growth Manager is responsible for overseeing the Community Management, Outreach, and Docs Teams, ensuring that their efforts are aligned and that messaging across these teams remains consistent.

This role is crucial in driving the strategic direction of Qwik's growth and ensuring that all community-facing activities are cohesive and effective.

The Growth Manager is appointed or replaced by a standard Stewardship Team motion.

## Stewardship Team

The project's stewards are in charge of all aspects regarding the framework.

This includes the development, community, and growth of the framework, but also creating proper management processes, managing sponsorships and budgets, collaborations, and more.

The project stewards are: Misko Hevery and Shai Reznik.

The project stewards will be used as "tiebreakers" in votes and hold veto rights on decisions (to protect the framework from rare and extreme cases).

Because the framework can be forked by the community at any point, the project stewards must manage the project in a fair, honest, and thoughtful way, taking into account what's good for the community and resolving conflicting needs as much as possible.

---

inspired by [Node](https://github.com/nodejs/node/blob/main/GOVERNANCE.md), [Vue](https://github.com/vuejs/vue/wiki/Governance-Document), [Astro](https://github.com/withastro/.github/blob/main/GOVERNANCE.md) and [Nuxt](https://github.com/nuxt/governance)
Loading