Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 0 additions & 5 deletions .changeset/bitter-loops-train.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/clean-bears-cough.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/dirty-tools-travel.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/dry-snakes-shout.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/fifty-dots-wonder.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/heavy-mammals-drop.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/hot-knives-hang.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/lemon-hands-hope.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/lemon-pandas-turn.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/polite-singers-sing.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/real-chefs-teach.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/shaky-parks-hope.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/six-cars-juggle.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/some-oranges-open.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/true-berries-cough.md

This file was deleted.

6 changes: 5 additions & 1 deletion eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,22 +30,26 @@ const ignores = [
'packages/docs/src/routes/examples/apps',
'packages/docs/src/routes/playground/app',
'packages/docs/src/routes/tutorial',
'packages/qwik/src/optimizer/core/src/fixtures',
'packages/qwik/bindings',
'packages/qwik-labs/lib',
'packages/qwik-labs/lib-types',
'packages/qwik-labs/vite',
'packages/insights/drizzle.config.ts',
'packages/insights/panda.config.ts',
'packages/qwik/src/napi',
'starters/apps/base',
'starters/apps/library',
'starters/templates',
'**/vite.config.ts',
// packages with eslint.config.mjs
'packages/qwik-labs',
'packages/insights',
'starters',
// eslint.config.*
'**/eslint.config.mjs',
'**/eslint.config.js',
'.changeset',
'packages/docs/public/builder',
];

export default tseslint.config(
Expand Down
4 changes: 4 additions & 0 deletions packages/create-qwik/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# create-qwik

## 1.17.1

## 1.17.0

## 1.16.1

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/create-qwik/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "create-qwik",
"description": "Interactive CLI for create Qwik projects and adding features.",
"version": "1.16.1",
"version": "1.17.1",
"author": "Builder.io Team",
"bin": "./create-qwik.cjs",
"bugs": "https://github.com/QwikDev/qwik/issues",
Expand Down
4 changes: 4 additions & 0 deletions packages/eslint-plugin-qwik/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# eslint-plugin-qwik

## 1.17.1

## 1.17.0

## 1.16.1

## 1.16.0
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-qwik/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "eslint-plugin-qwik",
"description": "An Open-Source sub-framework designed with a focus on server-side-rendering, lazy-loading, and styling/animation.",
"version": "1.16.1",
"version": "1.17.1",
"author": "Builder Team",
"bugs": "https://github.com/QwikDev/qwik/issues",
"dependencies": {
Expand Down
20 changes: 20 additions & 0 deletions packages/qwik-city/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# @builder.io/qwik-city

## 1.17.1

### Patch Changes

- 🐞🩹 `zod` is now imported as `import * as z from 'zod'`, which vastly improves bundling. The Insights app client code reduced by 12kB. (by [@wmertens](https://github.com/wmertens) in [#8042](https://github.com/QwikDev/qwik/pull/8042))

## 1.17.0

### Patch Changes

- 🐞🩹 SSG sometimes hangs after completion, now we forcibly exit the SSG process when this happens. (by [@wmertens](https://github.com/wmertens) in [#7957](https://github.com/QwikDev/qwik/pull/7957))

- 🐞🩹 return 404 for missing /build/ files. (by [@gioboa](https://github.com/gioboa) in [#7914](https://github.com/QwikDev/qwik/pull/7914))

- 🐞🩹 redirecting internal q-data.json requests will keep the q-data.json suffix so that the client can still fetch the correct one (by [@wmertens](https://github.com/wmertens) in [#7988](https://github.com/QwikDev/qwik/pull/7988))

- 🐞🩹 solve type error when using async \_resolved function (by [@JerryWu1234](https://github.com/JerryWu1234) in [#7426](https://github.com/QwikDev/qwik/pull/7426))

- 🐞🩹 while prefetching Link data, don't navigate to captive portals (by [@wmertens](https://github.com/wmertens) in [#7988](https://github.com/QwikDev/qwik/pull/7988))

## 1.16.1

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/qwik-city/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@builder.io/qwik-city",
"description": "The meta-framework for Qwik.",
"version": "1.16.1",
"version": "1.17.1",
"bugs": "https://github.com/QwikDev/qwik/issues",
"dependencies": {
"@mdx-js/mdx": "^3.1.1",
Expand Down
4 changes: 0 additions & 4 deletions packages/qwik-city/src/runtime/src/contexts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import type {
RouteLocation,
RouteNavigate,
RoutePreventNavigate,
RouteStateInternal,
} from './types';

export const RouteStateContext = /*#__PURE__*/ createContextId<Record<string, any>>('qc-s');
Expand All @@ -24,8 +23,5 @@ export const RouteNavigateContext = /*#__PURE__*/ createContextId<RouteNavigate>

export const RouteActionContext = /*#__PURE__*/ createContextId<RouteAction>('qc-a');

export const RouteInternalContext =
/*#__PURE__*/ createContextId<Signal<RouteStateInternal>>('qc-ir');

export const RoutePreventNavigateContext =
/*#__PURE__*/ createContextId<RoutePreventNavigate>('qc-p');
14 changes: 6 additions & 8 deletions packages/qwik-city/src/runtime/src/qwik-city-component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import {
ContentInternalContext,
DocumentHeadContext,
RouteActionContext,
RouteInternalContext,
RouteLocationContext,
RouteNavigateContext,
RoutePreventNavigateContext,
Expand Down Expand Up @@ -229,7 +228,7 @@ export const QwikCityProvider = component$<QwikCityProps>((props) => {
// The initial value of routeInternal is derived from the server env,
// which in the case of SSG may not match the actual origin the site
// is deployed on.
if (isBrowser && routeInternal.value.type === 'initial') {
if (isBrowser && type === 'link' && routeInternal.value.type === 'initial') {
routeInternal.value.dest = new URL(window.location.href);
}

Expand Down Expand Up @@ -320,12 +319,12 @@ export const QwikCityProvider = component$<QwikCityProps>((props) => {
useContextProvider(RouteNavigateContext, goto);
useContextProvider(RouteStateContext, loaderState);
useContextProvider(RouteActionContext, actionState);
useContextProvider(RouteInternalContext, routeInternal);
useContextProvider<any>(RoutePreventNavigateContext, registerPreventNav);

useTask$(({ track }) => {
async function run() {
const [navigation, action] = track(() => [routeInternal.value, actionState.value]);
const navigation = track(routeInternal);
const action = track(actionState);

const locale = getLocale('');
const prevUrl = routeLocation.url;
Expand Down Expand Up @@ -387,6 +386,7 @@ export const QwikCityProvider = component$<QwikCityProps>((props) => {
try {
loadedRoute = await loadRoutePromise;
} catch (e) {
console.error(e);
window.location.href = newHref;
return;
}
Expand Down Expand Up @@ -523,7 +523,7 @@ export const QwikCityProvider = component$<QwikCityProps>((props) => {
// Firefox only does it once and no more, but will still scroll. It also sets state to null.
// Any <a> tags w/ #hash href will break SPA state in Firefox.
// We patch these events and direct them to Link pipeline during SPA.
document.body.addEventListener('click', (event) => {
document.addEventListener('click', (event) => {
if (event.defaultPrevented) {
return;
}
Expand Down Expand Up @@ -561,7 +561,7 @@ export const QwikCityProvider = component$<QwikCityProps>((props) => {
}
});

document.body.removeEventListener('click', win._qCityInitAnchors!);
document.removeEventListener('click', win._qCityInitAnchors!);
win._qCityInitAnchors = undefined;

// TODO Remove block after Navigation API PR.
Expand Down Expand Up @@ -678,7 +678,6 @@ export const QwikCityMockProvider = component$<QwikCityMockProps>((props) => {
);

const loaderState = useSignal({});
const routeInternal = useSignal<RouteStateInternal>({ type: 'initial', dest: url });

const goto: RouteNavigate =
props.goto ??
Expand Down Expand Up @@ -707,7 +706,6 @@ export const QwikCityMockProvider = component$<QwikCityMockProps>((props) => {
useContextProvider(RouteNavigateContext, goto);
useContextProvider(RouteStateContext, loaderState);
useContextProvider(RouteActionContext, actionState);
useContextProvider(RouteInternalContext, routeInternal);

return <Slot />;
});
Expand Down
2 changes: 1 addition & 1 deletion packages/qwik-city/src/runtime/src/spa-init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ export default event$((_: Event, el: Element) => {
setTimeout(() => {
win.addEventListener('popstate', win[initPopstate]!);
win.addEventListener('scroll', win[initScroll]!, { passive: true });
document.body.addEventListener('click', win[initAnchors]!);
document.addEventListener('click', win[initAnchors]!);

if (!(win as any).navigation) {
document.addEventListener('visibilitychange', win[initVisibility]!, {
Expand Down
10 changes: 10 additions & 0 deletions packages/qwik-react/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# @builder.io/qwik-react

## 0.5.7

### Patch Changes

- 🐞🩹 unmount qwikify react root alongside with qwik component (done by @shashkashishka in #7864) (by [@shairez](https://github.com/shairez) in [#8017](https://github.com/QwikDev/qwik/pull/8017))

- Updated dependencies [[`a797237`](https://github.com/QwikDev/qwik/commit/a7972373bb31cebae8eae00843ca246795503372), [`96b3f8e`](https://github.com/QwikDev/qwik/commit/96b3f8e44a8642b4e91705f999d1f01a61cc5a46), [`5f749fa`](https://github.com/QwikDev/qwik/commit/5f749fac92631924601aa2d00f90c991c7ec1b3a), [`f6369a0`](https://github.com/QwikDev/qwik/commit/f6369a097dfa3375cc30f2f950a2f12ff1342494), [`e33abbb`](https://github.com/QwikDev/qwik/commit/e33abbbfaf4130a4b7caf8f3ed93d425b9593a3f), [`04da311`](https://github.com/QwikDev/qwik/commit/04da3112f93c095b4f1114d533c2295edb9441e4), [`e90e5f8`](https://github.com/QwikDev/qwik/commit/e90e5f80e599d5049e652548d52bc4ed84ebf13d)]:
- @builder.io/qwik@1.17.0
2 changes: 1 addition & 1 deletion packages/qwik-react/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@builder.io/qwik-react",
"description": "QwikReact allows adding React components into existing Qwik application",
"version": "0.5.6",
"version": "0.5.7",
"bugs": "https://github.com/QwikDev/qwik/issues",
"devDependencies": {
"@builder.io/qwik": "workspace:^",
Expand Down
28 changes: 28 additions & 0 deletions packages/qwik/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# @builder.io/qwik

## 1.17.1

### Patch Changes

- 🐞🩹 the bunding won't lead to circular dependencies in qwik-astro apps anymore. (by [@maiieul](https://github.com/maiieul) in [#8052](https://github.com/QwikDev/qwik/pull/8052))

- ✨ The optimizer is now built with a recent Rust toolchain. Fresher bits! (by [@wmertens](https://github.com/wmertens) in [#8040](https://github.com/QwikDev/qwik/pull/8040))

## 1.17.0

### Minor Changes

- 🐞🩹 Qwik now leverages Rollup's new `output.onlyExplicitManualChunks` feature, which improves preloading performance and reduces cache invalidation for a snappier user experience. (by [@maiieul](https://github.com/maiieul) in [#7982](https://github.com/QwikDev/qwik/pull/7982))

- ✨ the qwikloader can now be inlined again if required (for testing or specific network conditions). Pass `qwikLoader: 'inline'` to the render options. (by [@wmertens](https://github.com/wmertens) in [#8008](https://github.com/QwikDev/qwik/pull/8008))

### Patch Changes

- 🐞🩹 The Deno integration now builds successfully with version v2.4.3 and above. (by [@gioboa](https://github.com/gioboa) in [#7913](https://github.com/QwikDev/qwik/pull/7913))

- TEST: qwik react mount and unmount (by [@sashkashishka](https://github.com/sashkashishka) in [#7950](https://github.com/QwikDev/qwik/pull/7950))

- 🐞🩹 solve type error when using async \_resolved function (by [@JerryWu1234](https://github.com/JerryWu1234) in [#7426](https://github.com/QwikDev/qwik/pull/7426))

- 🐞🩹 Click-to-Component is now more reliable across platforms (by [@wmertens](https://github.com/wmertens) in [#7923](https://github.com/QwikDev/qwik/pull/7923))

- 🛠 add qwik react e2e test runs to ci (by [@sashkashishka](https://github.com/sashkashishka) in [#7952](https://github.com/QwikDev/qwik/pull/7952))

## 1.16.1

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/qwik/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@builder.io/qwik",
"description": "An Open-Source sub-framework designed with a focus on server-side-rendering, lazy-loading, and styling/animation.",
"version": "1.16.1",
"version": "1.17.1",
"annotation": "This package.json is for internal use in the monorepo, the build actually makes a new package.json for the published package via scripts/package-json.ts",
"bin": {
"qwik": "./qwik-cli.cjs"
Expand Down
1 change: 0 additions & 1 deletion packages/qwik/src/qwikloader.unit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ test('qwikloader script', () => {
`);

expect(qwikLoader).toMatchInlineSnapshot(
//eslint-disable-next-line
`"const t=document,e=window,n=new Set,o=new Set([t]);let r;const s=(t,e)=>Array.from(t.querySelectorAll(e)),a=t=>{const e=[];return o.forEach(n=>e.push(...s(n,t))),e},i=t=>{w(t),s(t,"[q\\\\:shadowroot]").forEach(t=>{const e=t.shadowRoot;e&&i(e)})},c=t=>t&&"function"==typeof t.then,l=(t,e,n=e.type)=>{a("[on"+t+"\\\\:"+n+"]").forEach(o=>{b(o,t,e,n)})},f=e=>{if(void 0===e._qwikjson_){let n=(e===t.documentElement?t.body:e).lastElementChild;for(;n;){if("SCRIPT"===n.tagName&&"qwik/json"===n.getAttribute("type")){e._qwikjson_=JSON.parse(n.textContent.replace(/\\\\x3C(\\/?script)/gi,"<$1"));break}n=n.previousElementSibling}}},p=(t,e)=>new CustomEvent(t,{detail:e}),b=async(e,n,o,r=o.type)=>{const s="on"+n+":"+r;e.hasAttribute("preventdefault:"+r)&&o.preventDefault(),e.hasAttribute("stoppropagation:"+r)&&o.stopPropagation();const a=e._qc_,i=a&&a.li.filter(t=>t[0]===s);if(i&&i.length>0){for(const t of i){const n=t[1].getFn([e,o],()=>e.isConnected)(o,e),r=o.cancelBubble;c(n)&&await n,r&&o.stopPropagation()}return}const l=e.getAttribute(s);if(l){const n=e.closest("[q\\\\:container]"),r=n.getAttribute("q:base"),s=n.getAttribute("q:version")||"unknown",a=n.getAttribute("q:manifest-hash")||"dev",i=new URL(r,t.baseURI);for(const p of l.split("\\n")){const l=new URL(p,i),b=l.href,h=l.hash.replace(/^#?([^?[|]*).*$/,"$1")||"default",q=performance.now();let _,d,y;const w=p.startsWith("#"),g={qBase:r,qManifest:a,qVersion:s,href:b,symbol:h,element:e,reqTime:q};if(w){const e=n.getAttribute("q:instance");_=(t["qFuncs_"+e]||[])[Number.parseInt(h)],_||(d="sync",y=Error("sym:"+h))}else{u("qsymbol",g);const t=l.href.split("#")[0];try{const e=import(t);f(n),_=(await e)[h],_||(d="no-symbol",y=Error(\`\${h} not in \${t}\`))}catch(t){d||(d="async"),y=t}}if(!_){u("qerror",{importError:d,error:y,...g}),console.error(y);break}const m=t.__q_context__;if(e.isConnected)try{t.__q_context__=[e,o,l];const n=_(o,e);c(n)&&await n}catch(t){u("qerror",{error:t,...g})}finally{t.__q_context__=m}}}},u=(e,n)=>{t.dispatchEvent(p(e,n))},h=t=>t.replace(/([A-Z])/g,t=>"-"+t.toLowerCase()),q=async t=>{let e=h(t.type),n=t.target;for(l("-document",t,e);n&&n.getAttribute;){const o=b(n,"",t,e);let r=t.cancelBubble;c(o)&&await o,r||(r=r||t.cancelBubble||n.hasAttribute("stoppropagation:"+t.type)),n=t.bubbles&&!0!==r?n.parentElement:null}},_=t=>{l("-window",t,h(t.type))},d=()=>{const s=t.readyState;if(!r&&("interactive"==s||"complete"==s)&&(o.forEach(i),r=1,u("qinit"),(e.requestIdleCallback??e.setTimeout).bind(e)(()=>u("qidle")),n.has("qvisible"))){const t=a("[on\\\\:qvisible]"),e=new IntersectionObserver(t=>{for(const n of t)n.isIntersecting&&(e.unobserve(n.target),b(n.target,"",p("qvisible",n)))});t.forEach(t=>e.observe(t))}},y=(t,e,n,o=!1)=>{t.addEventListener(e,n,{capture:o,passive:!1})},w=(...t)=>{for(const r of t)"string"==typeof r?n.has(r)||(o.forEach(t=>y(t,r,q,!0)),y(e,r,_,!0),n.add(r)):o.has(r)||(n.forEach(t=>y(r,t,q,!0)),o.add(r))};if(!("__q_context__"in t)){t.__q_context__=0;const r=e.qwikevents;r&&(Array.isArray(r)?w(...r):w("click","input")),e.qwikevents={events:n,roots:o,push:w},y(t,"readystatechange",d),d()}"`
);
});
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export const AttributesChild = component$<{ v: number }>(({ v }) => {
renders.count++;
const rerenders = renders.count + 0;

console.warn(state.stuff);
state.stuff;
return (
<>
<div>
Expand Down
2 changes: 1 addition & 1 deletion starters/apps/e2e/src/components/render/render.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -512,7 +512,7 @@ const Issue3178 = component$(() => {
id="issue-3178"
ref={(el) => {
store.elements.push(el);
console.warn(store.elements[0].nodeType);
// console.warn(store.elements[0].nodeType);
}}
>
Hello
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ export default component$(() => {
number: 20,
});

// eslint-disable-next-line qwik/no-use-visible-task
useVisibleTask$(({ cleanup }) => {
const timeout = setTimeout(() => (state.count = 1), 500);
cleanup(() => clearTimeout(timeout));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ export default component$(() => {
<button
onClick$={() => {
showDynamic.value = true;
// eslint-disable-next-line no-console
console.log(
`
************************************************
Expand Down
Loading