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

fix(routing): fallback to hard navigation when soft navigation fails. #5521

Merged
merged 158 commits into from
Jan 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
18db4a3
fix(routing): fallback to hard navigation when soft navigation fails.…
iamriajul Dec 4, 2023
307d074
chore(cf): Fix CloudFlare build failure (#5524)
mhevery Dec 5, 2023
2a22ed8
docs: removed defunct sites (#5528)
mhevery Dec 5, 2023
b5edf80
chore(netlify): fix netlify failure (#5527)
mhevery Dec 5, 2023
a0060c6
docs(showcase): add juneikerc.com - blog [prismic cms] and personal w…
juneikerc Dec 5, 2023
41429dd
fix(localization-starter): update docs and add script (#5494)
tzdesign Dec 5, 2023
c37a2d4
chore(qwik-city): bump vite-imagetools ^5 -> ^6 (#5525)
birkskyum Dec 6, 2023
3de8370
feat(insights): polish UI (#5503)
zanettin Dec 6, 2023
6e84085
chore: update .nvmrc (#5530)
gioboa Dec 6, 2023
aad1f25
feat(insight): Add user auth to only see your app data. (#5517)
mhevery Dec 6, 2023
154d78c
chore(ci): set up CI for insights and docs (#5533)
mhevery Dec 6, 2023
fad6751
chore: dep update
wmertens Dec 5, 2023
d6291c3
chore: pnpm fmt
wmertens Dec 5, 2023
68cbf83
refactor(types): more precision
wmertens Dec 6, 2023
8019aad
fix: csstype isn't always visible
wmertens Dec 6, 2023
d8bd46c
fix: make docs build
wmertens Dec 6, 2023
24675fb
chore: pnpm api.update
wmertens Dec 6, 2023
a63a8e3
misko: fixes
mhevery Dec 6, 2023
fb783f6
fixup! misko: fixes
mhevery Dec 6, 2023
3bdf043
fixup! misko: fixes
mhevery Dec 6, 2023
eda6ffd
chore: 1.3.0 (#5535)
mhevery Dec 6, 2023
d001f8f
fix(playground): block 1.3.0
wmertens Dec 7, 2023
7868054
docs: show-updated-docs (#5516)
AmirSa12 Dec 7, 2023
9be19af
docs: (add list item) Add qwik-d3 to the library list (#5544)
gilf Dec 8, 2023
efc4927
docs: add qwik-storefront-ui library (#5548)
gioboa Dec 9, 2023
758fd00
docs: change image url (#5549)
gioboa Dec 9, 2023
609d070
chore(starters): add type module to package.json (#5553)
nelsonprsousa Dec 10, 2023
505171c
fix(tasks): type of track(Signal)
wmertens Dec 9, 2023
b59327e
fix(types): typing intensifies
wmertens Dec 9, 2023
0e009c8
chore: pnpm api.update
wmertens Dec 9, 2023
a0d400a
fix(repl): don't propose broken versions
wmertens Dec 11, 2023
c224b51
fix: remove dependency on vitefu causing playground failures (#5562)
mhevery Dec 11, 2023
d95300b
fix: better deprecation notice on qwikevents
wmertens Dec 12, 2023
a499803
fix: use existing local .eslintrc configuration
gioboa Dec 11, 2023
4bbe598
test(lint): break up lint tests into separate files (#5572)
mhevery Dec 13, 2023
63a20cd
refactor(qwik): add `__qwik_serializable__` brand to types (#5576)
mhevery Dec 13, 2023
ed09860
fix(lint): allow event methods to capture `PropFunction` (#5578)
mhevery Dec 13, 2023
a1c68ec
chore(eslint-plugin-qwik): add 'qwik/no-use-visible-task': 'warn' to …
maiieul Dec 13, 2023
a77818b
fix: `server$` and AbortSignal types (#5581)
mhevery Dec 14, 2023
18e3559
fix(qwik): restore bivarience hack (#5587)
mhevery Dec 15, 2023
15aa0ab
chore(insights): correct failing build (#5586)
mhevery Dec 15, 2023
df8ce85
docs(usevisibletask$): reduce eslint noUseVisibleTask message + trans…
maiieul Dec 15, 2023
601a9e9
docs: remove console warning (#5590)
gioboa Dec 15, 2023
ec65ba7
fix(qwik-city): Scroll Position doesn't reset to 0 when it was trigge…
iamriajul Dec 15, 2023
d50ceaa
feat(qwik): Experimental support for synchronous QRL `sync$()`. (#5545)
mhevery Dec 15, 2023
08a93f3
chore: 1.3.1 (#5595)
mhevery Dec 15, 2023
28d0b11
docs: update portal cookbook with solved problems (#5600)
thejackshelton Dec 18, 2023
3f62f77
docs: Add notice about service worker usage (#5606)
nelsonprsousa Dec 18, 2023
4d4b4d4
fix: Bun integration env.get is undefined (#5601)
phyrog Dec 18, 2023
9bd5e6f
fix(insights): form errors (#5607)
mhevery Dec 18, 2023
1653261
fix(qwik-insights): fix up create application form (#5573)
iamriajul Dec 19, 2023
66b823b
docs(layout): Add "Slot" import (#5612)
HenriqueLimas Dec 19, 2023
ed61631
fix(types): fix typos
maiieul Dec 20, 2023
2a7b090
fix: Correct qwik types (#5623)
mhevery Dec 21, 2023
7697fe5
fix(docs): add missing cookbook section (#5626)
gioboa Dec 22, 2023
072d0b3
fix(tailwind starter): switch from cjs to esm to support vite 5 (#5635)
thejackshelton Dec 24, 2023
eafe071
docs: fix up markdown rendering (#5532)
ValentinBossi Dec 24, 2023
f9cbda1
refactor(insights): improve consistency (#5609)
iamriajul Dec 25, 2023
aa35268
docs: improve getting started steps (#5620)
shwosner Dec 26, 2023
dc9fc0c
docs: improve eslint loader msg + add cookbook example (#5591)
gioboa Dec 26, 2023
0dbeccc
refactor(ssr): regular+immutable prop serialize
wmertens Dec 16, 2023
138c3e0
fix(ssr): missing subscribers in slots
wmertens Dec 25, 2023
71ea98b
refactor(core): improve internal types and docs
wmertens Dec 25, 2023
803ae3b
fix(core types): don't enforce handlers on extend
wmertens Dec 25, 2023
3f61e91
chore: pnpm api.update
wmertens Dec 25, 2023
20f1ea5
docs: create NavLink cookbook example (#5621)
Adbib Dec 27, 2023
6c81194
fix(tailwind): fix prettier config type (#5641)
shairez Dec 28, 2023
2b7cd00
docs: add Node Docker deploy example (#5605)
nelsonprsousa Dec 28, 2023
1c6ccf9
docs(cookbook): font optimization guide (#5645)
thejackshelton Dec 29, 2023
4cd5f42
fix(ssr): correct attribute rendering for `true`
wmertens Dec 27, 2023
823ca20
fix(dom): setting value="" on option
wmertens Dec 28, 2023
3505360
fix(render): remove unnecessary whitespace when handling classes (#5648)
jakovljevic-mladen Dec 30, 2023
8d0f784
fix(jsx): dynamic DOM element props
wmertens Dec 30, 2023
b0263dd
refactor(jsx): tiny improvement
wmertens Dec 31, 2023
72009bb
feat: add `skipConfirmation` to cli add command (#5655)
shairez Dec 31, 2023
3800e1c
chore: 1.3.2 (#5661)
shairez Jan 1, 2024
f47208b
fix(cli): Update jokes.json (#5657)
mayank99 Jan 2, 2024
1de0dda
Docs for accessing the .env variables in serverfull architechture
sreeisalso Dec 21, 2023
60e6b80
Update index.mdx
Adbib Jan 4, 2024
4f94f8a
Update index.tsx
Adbib Jan 4, 2024
ccf1589
docs: index.mdx
PatrickJS Jan 6, 2024
b083192
Update index.mdx
lelouchB Jan 6, 2024
341038b
fix(starter): rename tailwind postcss.config file (#5669)
iamriajul Jan 6, 2024
c8673a2
fix: fixing running qwik-development-server on windows machine (#5593)
hassanzohdy Jan 7, 2024
1c3c536
fix(starter): add vite plugin type (#5670)
iamriajul Jan 7, 2024
11aa155
feat(qwik-react): directive aliases for Astro and other package confl…
thejackshelton Jan 8, 2024
0f0c76b
feat: qwik-prefetch-worker (#5618)
mhevery Jan 8, 2024
9c2faa8
refactor: Clarify var naming qwikloader.ts (#5546)
gabrielgrant Jan 8, 2024
4c4cbea
docs: fix entry file name (#5646)
AustinGil Jan 8, 2024
8fe4eda
feat(labs): Support base prefix in untypedAppUrl (#5615)
tera-ny Jan 9, 2024
01ef2d5
style(starter templates): updates to starter templates names (#5479)
abstractalgo Jan 9, 2024
a16518e
fix: Clearer error message for `resolveValue` for `head` function (#5…
colelawrence Jan 9, 2024
fd4d39e
refactor(starter): add alt attribute in order to improve accessibilit…
tidiview Jan 9, 2024
01c8661
refactor(insights): remove netlify.toml causing confusion (#5676)
mhevery Jan 9, 2024
1ebc2da
feat(cookbook): add Algolia search (#5675)
gioboa Jan 9, 2024
cf6ffdc
fix(cookbook): change Algolia example (#5677)
gioboa Jan 9, 2024
34279c9
fix(docs): use qwik-react from workspace
wmertens Jan 9, 2024
29c312b
fix(types): make polymorphic components work
wmertens Jan 8, 2024
0847358
refactor: use QRL instead of PropsFunction
wmertens Jan 8, 2024
7d8c2eb
chore: pnpm api.update
wmertens Jan 9, 2024
1673b7a
chore: add Nix build flake environment
wmertens Dec 15, 2023
e3694d6
fix(nix): add missing .envrc
wmertens Jan 9, 2024
f063278
fix(nix): make rust and wasm builds work
wmertens Jan 9, 2024
2cd4b17
fix(ssr): dynamic text nodes with refs
wmertens Jan 10, 2024
7831add
chore: lint
wmertens Jan 10, 2024
123c2bd
fix(core): Make polymorphic components easy
wmertens Jan 10, 2024
b7b90ce
npx syncpack fix-mismatches
wmertens Jan 10, 2024
7f5c4c8
chore: 1.3.3
wmertens Jan 10, 2024
1d63afc
chore: update deps + syncpack
wmertens Jan 10, 2024
514de05
chore(repl): update monaco to v0.45
wmertens Jan 10, 2024
b002fbc
chore: Remove duplicated dist directory from .prettierignore
nelsonprsousa Jan 10, 2024
d168a85
docs: add og-img integration guide
fabian-hiller Jan 10, 2024
c109056
chore(types): Improve FunctionComponent type
wmertens Jan 11, 2024
298fa98
fix(jsx): don't duplicate JSX types
wmertens Jan 11, 2024
c181a0d
fix: improve escapeText replace (#5689)
ignatvilesov Jan 11, 2024
37c3379
fix(optimizer): use correct prop in omit
wmertens Jan 11, 2024
547874e
chore: pnpm dedupe
wmertens Jan 11, 2024
8711c27
fix(eslint): allow QRL | null
wmertens Jan 11, 2024
2949bc7
chore: 1.3.4
wmertens Jan 11, 2024
c07e555
docs: fix typos for nav link cookbook (#5694)
harshmangalam Jan 11, 2024
dac963d
docs: fix typos for theme management cookbook (#5698)
harshmangalam Jan 11, 2024
a3dd3c7
fix(labs): double slash when used with BASE_URL (#5700)
mhevery Jan 12, 2024
78c9d09
fix: improve escapeText and unescapeText replace to prevent XSS
ignatvilesov Jan 12, 2024
320a587
chore: fix lint issues in ".vscode/launch.json"
ignatvilesov Jan 12, 2024
8c3bd11
chore: allow any undici version
wmertens Jan 12, 2024
efb15ee
docs(propfunctionprops): mark propfunctionprops as deprecated (#5680)
maiieul Jan 12, 2024
ef15351
chore: 1.3.5
wmertens Jan 12, 2024
3eca33c
docs(showcase): add Blueagle's Profolio & Blog (#5695)
blueagler Jan 12, 2024
67c85a6
docs(showcase): update metrics (#5707)
gioboa Jan 12, 2024
571f14d
chore(nix): add corepack for pnpm
wmertens Jan 12, 2024
c93f9c4
fix(types): untyped components, test more edge cases
wmertens Jan 14, 2024
6ce6f38
chore: pnpm api.update
wmertens Jan 14, 2024
903a81f
docs(showcase): add Zhou's portfolio (#5710)
linkfang Jan 15, 2024
1fbc916
chore: upgrades and build fixes
wmertens Jan 12, 2024
5caab38
fix(qwik): register new index.d.ts package file
wmertens Jan 15, 2024
a32faeb
docs: move props example after local state and useStore explanation (…
Balastrong Jan 15, 2024
7e256a9
docs: emphasize on useStore and onInput$ (#5719)
Balastrong Jan 15, 2024
6ffdf40
docs: add Storybook examples (#5720)
thenhawke Jan 15, 2024
6a01a74
fix(jsx-qwik-attributes): fix ts error TS4023
maiieul Jan 16, 2024
616313f
fix(types): JSX.Element -> JSXOutput + resulting conflicts
wmertens Jan 16, 2024
3ae1b9e
f
wmertens Jan 16, 2024
6c25419
chore: pnpm api.update
wmertens Jan 16, 2024
6456d40
fix(repl): allow specifying any npm version
wmertens Jan 16, 2024
fe7fa3e
fix(repl): mobile panel selection
wmertens Jan 16, 2024
fb7f885
fix: prevent race condition (#5711)
mhevery Jan 16, 2024
f9d5c25
fix(qwik): allow qwik cli to work in workspace
wmertens Jan 16, 2024
7ede8c3
fix(build): leftover JSXNode -> JSXOutput changes
wmertens Jan 16, 2024
78e7796
chore: pnpm api.update
wmertens Jan 16, 2024
9d4aa95
docs: good first issue link doesn't lead you to properly label "COMMU…
aendel Jan 16, 2024
8f7800b
docs: fixed CodeSandbox/CodeFile src paths in order to properly match…
aendel Jan 16, 2024
291b857
Fix Uppercase handling for SameSite cookie values
ksjogo Jan 12, 2024
25eeaa5
chore: update netlify node version
wmertens Jan 17, 2024
548c7d0
feat(Link): make Link prefetch similar to Next.js
jordanw66 Jul 1, 2023
a4d4999
docs: fixed various typos (or misspelled words) in documentation file…
aendel Jan 17, 2024
6dd6a48
fix(types): PropFunction aliases QRL
wmertens Dec 13, 2023
6eec3bd
fix(build): qwik binary path in package.json
wmertens Jan 17, 2024
455af6c
fix(routing): fallback to hard navigation when soft navigation fails.…
iamriajul Dec 4, 2023
e2c705c
Merge remote-tracking branch 'iamriajul/qwik/patch-2' into patch-2
iamriajul Jan 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
use flake
PATH_add ./node_modules/.bin
149 changes: 129 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ jobs:
runs-on: ubuntu-latest
outputs:
fullbuild: ${{ steps.filter.outputs.fullbuild == 'true' || github.event.inputs.disttag != '' }}
insightsbuild: ${{ steps.filter_insights.outputs.insightsbuild == 'true' || github.event.inputs.disttag != '' }}
docsbuild: ${{ steps.filter_docs.outputs.docsbuild == 'true' || github.event.inputs.disttag != '' }}

steps:
- name: Cancel Previous Runs
Expand Down Expand Up @@ -66,9 +68,24 @@ jobs:
- 'Cargo.yaml'
- '.github/workflows/*.yaml'
- 'scripts/*.ts'
- uses: dorny/paths-filter@v2
id: filter_insights
with:
filters: |
insightsbuild:
- 'packages/insights/**/*'
- uses: dorny/paths-filter@v2
id: filter_docs
with:
filters: |
docsbuild:
- 'packages/docs/**/*'

- name: Print variables output
run: |
echo fullbuild=${{ steps.filter.outputs.fullbuild }}
echo insightsbuild=${{ steps.filter_insights.outputs.insightsbuild }}
echo docsbuild=${{ steps.filter_docs.outputs.docsbuild }}
echo disttag=${{ github.event.inputs.disttag }}
echo event_name=${{ github.event_name }}

Expand All @@ -92,16 +109,19 @@ jobs:
- run: corepack enable

- name: Install NPM Dependencies
run: pnpm install --frozen-lockfile
run: |
# Ensure that the qwik binary gets made
mkdir -p packages/qwik/dist/bindings/
pnpm install --frozen-lockfile

- name: Build Packages
run: pnpm tsm scripts/index.ts --tsc --build --cli --api --set-dist-tag="${{ github.event.inputs.disttag }}"
run: pnpm tsm scripts/index.ts --tsc --build --cli --api --qwiklabs --eslint --platform-binding-wasm-copy --set-dist-tag="${{ github.event.inputs.disttag }}"

- name: Print Qwik Dist Build
run: tree packages/qwik/dist/

- name: Upload Qwik Build Artifacts
uses: actions/upload-artifact@master
uses: actions/upload-artifact@v3
with:
name: dist-dev-builder-io-qwik
path: packages/qwik/dist/
Expand All @@ -111,7 +131,7 @@ jobs:
run: tree packages/create-qwik/dist/

- name: Upload Create Qwik CLI Build Artifacts
uses: actions/upload-artifact@master
uses: actions/upload-artifact@v3
with:
name: dist-dev-create-qwik
path: packages/create-qwik/dist/
Expand All @@ -124,7 +144,7 @@ jobs:
run: tree packages/eslint-plugin-qwik/dist/

- name: Upload Eslint rules Build Artifacts
uses: actions/upload-artifact@master
uses: actions/upload-artifact@v3
with:
name: dist-dev-eslint-plugin-qwik
path: packages/eslint-plugin-qwik/dist/
Expand Down Expand Up @@ -186,7 +206,10 @@ jobs:

- name: Install NPM Dependencies
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
run: pnpm install --frozen-lockfile
run: |
# Ensure that the qwik binary gets made
mkdir -p packages/qwik/dist/bindings/
pnpm install --frozen-lockfile

- uses: jetli/wasm-pack-action@v0.3.0
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
Expand All @@ -203,7 +226,7 @@ jobs:

- name: Upload WASM Build Artifacts
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
uses: actions/upload-artifact@master
uses: actions/upload-artifact@v3
with:
name: dist-bindings-wasm
path: packages/qwik/dist/bindings/*
Expand Down Expand Up @@ -294,7 +317,10 @@ jobs:

- name: Install NPM Dependencies
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
run: pnpm install --frozen-lockfile
run: |
# Ensure that the qwik binary gets made
mkdir -p packages/qwik/dist/bindings/
pnpm install --frozen-lockfile

- name: Build Platform Binding
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
Expand All @@ -309,6 +335,72 @@ jobs:
path: packages/qwik/dist/bindings/*.node
if-no-files-found: error

############ BUILD INSIGHTS ############
build-insights:
name: Build Insights
needs: changes
runs-on: ubuntu-latest

steps:
- name: Checkout
if: ${{ needs.changes.outputs.insightsbuild == 'true' }}
uses: actions/checkout@v3

- uses: pnpm/action-setup@v2.2.4
if: ${{ needs.changes.outputs.insightsbuild == 'true' }}

- name: Setup Node
if: ${{ needs.changes.outputs.insightsbuild == 'true' }}
uses: actions/setup-node@v3
with:
node-version: 18.x
cache: 'pnpm'
registry-url: https://registry.npmjs.org/

- name: Install NPM Dependencies
if: ${{ needs.changes.outputs.insightsbuild == 'true' }}
run: |
# Ensure that the qwik binary gets made
mkdir -p packages/qwik/dist/bindings/
pnpm install --frozen-lockfile

- name: Build Qwik Insights
if: ${{ needs.changes.outputs.insightsbuild == 'true' }}
run: pnpm run build.packages.insights

############ BUILD DOCS ############
build-docs:
name: Build Docs
needs: changes
runs-on: ubuntu-latest

steps:
- name: Checkout
if: ${{ needs.changes.outputs.docsbuild == 'true' }}
uses: actions/checkout@v3

- uses: pnpm/action-setup@v2.2.4
if: ${{ needs.changes.outputs.docsbuild == 'true' }}

- name: Setup Node
if: ${{ needs.changes.outputs.docsbuild == 'true' }}
uses: actions/setup-node@v3
with:
node-version: 18.x
cache: 'pnpm'
registry-url: https://registry.npmjs.org/

- name: Install NPM Dependencies
if: ${{ needs.changes.outputs.docsbuild == 'true' }}
run: |
# Ensure that the qwik binary gets made
mkdir -p packages/qwik/dist/bindings/
pnpm install --frozen-lockfile

- name: Build Qwik Docs
if: ${{ needs.changes.outputs.docsbuild == 'true' }}
run: pnpm run build.packages.docs

############ BUILD DISTRIBUTION ############
build-distribution:
name: Build Distribution
Expand Down Expand Up @@ -342,13 +434,11 @@ jobs:
if: ${{ needs.changes.outputs.fullbuild == 'true' }}

- name: Install NPM Dependencies
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
run: pnpm install --frozen-lockfile

- name: Create packages/qwik/dist/ directory
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
run: |
# Ensure that the qwik binary gets made
mkdir -p packages/qwik/dist/bindings/
pnpm install --frozen-lockfile

- name: Download Build Artifacts
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
Expand Down Expand Up @@ -376,23 +466,23 @@ jobs:

- name: Upload Qwik Distribution Artifact
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
uses: actions/upload-artifact@master
uses: actions/upload-artifact@v3
with:
name: builderio-qwik-distribution
path: packages/qwik/dist/*
if-no-files-found: error

- name: Build QwikCity / QwikLabs
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
run: pnpm tsm scripts/index.ts --tsc --qwikcity --qwiklabs --api
run: pnpm tsm scripts/index.ts --tsc --qwikcity --qwiklabs --api --eslint

- name: Print QwikCity Lib Build
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
run: tree packages/qwik-city/lib/

- name: Upload QwikCity Build Artifacts
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
uses: actions/upload-artifact@master
uses: actions/upload-artifact@v3
with:
name: builderio-qwikcity-distribution
path: packages/qwik-city/lib/
Expand All @@ -404,7 +494,7 @@ jobs:

- name: Upload QwikLabs Build Artifacts
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
uses: actions/upload-artifact@master
uses: actions/upload-artifact@v3
with:
name: builderio-qwiklabs-distribution
path: |
Expand Down Expand Up @@ -464,7 +554,10 @@ jobs:
mv builderio-qwiklabs-distribution/vite/* packages/qwik-labs/vite/

- name: Install NPM Dependencies
run: pnpm install --frozen-lockfile
run: |
# Ensure that the qwik binary gets made
mkdir -p packages/qwik/dist/bindings/
pnpm install --frozen-lockfile

- name: Commit Build Artifacts
if: ${{ needs.changes.outputs.fullbuild == 'true' && github.event_name == 'push' }}
Expand Down Expand Up @@ -543,7 +636,10 @@ jobs:

- name: Install NPM Dependencies
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
run: pnpm install --frozen-lockfile
run: |
# Ensure that the qwik binary gets made
mkdir -p packages/qwik/dist/bindings/
pnpm install --frozen-lockfile

- name: Install Playwright
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
Expand Down Expand Up @@ -580,7 +676,13 @@ jobs:
- run: corepack enable

- name: Install NPM Dependencies
run: pnpm install --frozen-lockfile
run: |
# Ensure that the qwik binary gets made
mkdir -p packages/qwik/dist/bindings/
pnpm install --frozen-lockfile

- name: Build core
run: pnpm run build.core

- name: Unit Tests
run: pnpm run test.unit
Expand Down Expand Up @@ -670,12 +772,19 @@ jobs:
- run: corepack enable

- name: Install NPM Dependencies
run: pnpm install --frozen-lockfile
run: |
# Ensure that the qwik binary gets made
mkdir -p packages/qwik/dist/bindings/
pnpm install --frozen-lockfile

- name: Prettier Check
if: ${{ always() }}
run: pnpm run lint.prettier

- name: Build ESLint
if: ${{ always() }}
run: pnpm tsm scripts/index.ts --eslint

- name: ESLint Check
if: ${{ always() }}
run: pnpm run lint.eslint
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
etc
temp
.history
.lh
*.
**/*.log
*.node
Expand All @@ -16,6 +17,7 @@ qwik-app/
/server/
/starters/**/server/
/packages/*/server/
!/packages/qwik/server/
/packages/*/src/styled-system/
todo-express/
target
Expand All @@ -37,6 +39,7 @@ tsdoc-metadata.json
.idea
.eslintcache
test-results
.direnv

# Package Managers
.yarn/*
Expand All @@ -45,3 +48,4 @@ test-results

# Local Netlify folder
.netlify
sandbox
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.11
20.11
11 changes: 10 additions & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,15 @@
"program": "${workspaceFolder}/packages/docs/node_modules/vite/bin/vite.js",
"args": ["--mode", "ssr", "--force"]
},
{
"type": "node",
"name": "insights dev.debug",
"request": "launch",
"skipFiles": ["<node_internals>/**"],
"cwd": "${workspaceFolder}/packages/insights",
"program": "${workspaceFolder}/packages/insights/node_modules/vite/bin/vite.js",
"args": ["--mode", "ssr", "--force"]
},
{
"type": "node",
"name": "docs build.client",
Expand Down Expand Up @@ -49,7 +58,7 @@
"internalConsoleOptions": "neverOpen",
"program": "${workspaceFolder}/./node_modules/vitest/vitest.mjs",
"cwd": "${workspaceFolder}",
"args": ["--threads=false", "packages/qwik/src/core/container/render.unit.tsx"]
"args": ["--threads=false", "${file}"]
}
]
}
18 changes: 15 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ We adopt [trunk-based development](https://trunkbaseddevelopment.com/) therefore

### Good first issue

The issues marked with [_Good first issue_](https://github.com/BuilderIO/qwik/issues?q=is:open+is:issue+label:%22good+first+issue%22) are a good starting point to familiarize yourself with the project.
The issues marked with [_Good first issue_](https://github.com/BuilderIO/qwik/issues?q=is%3Aissue+is%3Aopen+label%3A%22COMMUNITY%3A++good+first+issue%22) are a good starting point to familiarize yourself with the project.

Before solving the problem, please check with the maintainers that the issue is still relevant. Feel free to leave a comment on the issue to show your intention to work on it and prevent other people from unintentionally duplicating your effort.

Expand Down Expand Up @@ -61,16 +61,28 @@ This is the best approach because all required dependencies will be installed in
You need to have these tools up and running in your local machine:

- [VSCode](https://code.visualstudio.com/)
- [Docker](https://www.docker.com/)

and either [Docker](https://www.docker.com/) or [Nix](https://nixos.org).

### Steps

If you want to use Docker:

- Install the [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) extension in your VSCode.
- Once installed you will be prompted to 'Reopen the folder to develop in a container [learn more](https://code.visualstudio.com/docs/devcontainers/containers) or Clone repository in Docker volume for [better I/O performance](https://code.visualstudio.com/docs/devcontainers/containers#_quick-start-open-a-git-repository-or-github-pr-in-an-isolated-container-volume)'. If you're not prompted, you can run the `Dev Containers: Open Folder in Container` command from the [VSCode Command Palette](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette).

If you want to use Nix:

- Install [Nix](https://nixos.org/download.html) on your machine and enable flakes. The [DetSys installer](https://github.com/DeterminateSystems/nix-installer) makes that easy.
- run `nix develop` in the project root.

Nix+Direnv (optional):

You can additionally use [direnv](https://direnv.net/) to automatically load the dev environment when you enter the project directory.

### Using development container without Dev Containers and VSCode

If you would like to make use of the devlopment container solution, but don't use VSCode or Dev Containers, you still can do so, by following steps:
If you would like to make use of the development container solution, but don't use VSCode or Dev Containers, you still can do so, by following steps:

- Build development container locally: `cd .devcontainer; docker build -t qwik-container .`
- Run development container from Qwik project root, binding the directory to container: `cd ..; docker run --rm -d --name qwik-container -p 3300:3300 -p 9229:9299 -v $PWD:/home/circleci/project -t qwik-container`
Expand Down