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

Solid 1.9 #2306

Merged
merged 11 commits into from
Sep 24, 2024
5 changes: 5 additions & 0 deletions .changeset/odd-onions-agree.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"solid-js": minor
---

better handling of exports client/server
5 changes: 5 additions & 0 deletions .changeset/rare-birds-train.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"solid-js": minor
---

fix!: Remove browser field from package.json
5 changes: 5 additions & 0 deletions .changeset/shy-islands-talk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"solid-js": patch
---

Improve signal setter type for code completion of string literal unions.
16 changes: 16 additions & 0 deletions .changeset/tasty-knives-rhyme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
"babel-preset-solid": minor
"solid-js": minor
"solid-element": minor
"test-integration": minor
---

update dom-expressions
* Improved Custom Element/Shadow DOM traversal - @olivercoad
* Better heuristic to determine when to importNode - @titoBouzout
* handleEvent syntax to allow custom event properties when not delegated - @titoBouzout
* support for bool: attribute namespace - @titoBouzout
* add "is" as detection for custom element - @titoBouzout
* fix missing exports in different envs - @trusktr
* better hydration mismatch errors - @ryansolid
* improved HTML validation of JSX partials - @titoBouzout
5 changes: 5 additions & 0 deletions .changeset/twenty-schools-pretend.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"solid-js": patch
---

update TS to NodeNext
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@
"@rollup/plugin-replace": "^5.0.2",
"@types/node": "^18.11.19",
"@vitest/coverage-c8": "^0.29.7",
"babel-plugin-jsx-dom-expressions": "^0.38.5",
"babel-plugin-jsx-dom-expressions": "^0.39.0",
"coveralls": "^3.1.1",
"csstype": "^3.1.0",
"dom-expressions": "0.38.6",
"hyper-dom-expressions": "0.38.6",
"dom-expressions": "0.39.0",
"hyper-dom-expressions": "0.39.0",
"jsdom": "^21.1.1",
"lit-dom-expressions": "0.38.6",
"lit-dom-expressions": "0.39.0",
"ncp": "^2.0.0",
"npm-run-all": "^4.1.5",
"prettier": "^2.8.8",
Expand Down
2 changes: 1 addition & 1 deletion packages/babel-preset-solid/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"test": "node test.js"
},
"dependencies": {
"babel-plugin-jsx-dom-expressions": "^0.38.5"
"babel-plugin-jsx-dom-expressions": "^0.39.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0"
Expand Down
4 changes: 2 additions & 2 deletions packages/solid/h/jsx-runtime/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import h from "solid-js/h";
export type { JSX } from "./jsx";
import type { JSX } from "./jsx";
export type { JSX } from "./jsx.d.ts";
import type { JSX } from "./jsx.d.ts";

function Fragment(props: { children: JSX.Element }) {
return props.children;
Expand Down
4 changes: 2 additions & 2 deletions packages/solid/h/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { createHyperScript } from "./hyperscript";
import type { HyperScript } from "./hyperscript";
import { createHyperScript } from "./hyperscript.js";
import type { HyperScript } from "./hyperscript.js";
import {
spread,
assign,
Expand Down
4 changes: 2 additions & 2 deletions packages/solid/html/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { createHTML } from "./lit";
import type { HTMLTag } from "./lit";
import { createHTML } from "./lit.js";
import type { HTMLTag } from "./lit.js";
import {
effect,
style,
Expand Down
4 changes: 0 additions & 4 deletions packages/solid/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
},
"main": "./dist/server.cjs",
"module": "./dist/server.js",
"browser": {
"./dist/server.cjs": "./dist/solid.cjs",
"./dist/server.js": "./dist/solid.js"
},
"unpkg": "./dist/solid.cjs",
"types": "types/index.d.ts",
"sideEffects": false,
Expand Down
4 changes: 2 additions & 2 deletions packages/solid/src/reactive/signal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -179,12 +179,12 @@ export function createRoot<T>(fn: RootFunction<T>, detachedOwner?: typeof Owner)
export type Accessor<T> = () => T;

export type Setter<in out T> = {
<U extends T>(value: Exclude<U, Function> | ((prev: T) => U)): U;
<U extends T>(...args: undefined extends T ? [] : [value: (prev: T) => U]): undefined extends T
? undefined
: U;
<U extends T>(value: (prev: T) => U): U;
<U extends T>(value: Exclude<U, Function>): U;
<U extends T>(value: Exclude<U, Function> | ((prev: T) => U)): U;
<U extends T>(value: (prev: T) => U): U;
};

export type Signal<T> = [get: Accessor<T>, set: Setter<T>];
Expand Down
4 changes: 0 additions & 4 deletions packages/solid/store/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
"name": "solid-js/store",
"main": "./dist/server.cjs",
"module": "./dist/server.js",
"browser": {
"./dist/server.cjs": "./dist/store.cjs",
"./dist/server.js": "./dist/store.js"
},
"unpkg": "./dist/store.cjs",
"types": "./types/index.d.ts",
"type": "module",
Expand Down
18 changes: 18 additions & 0 deletions packages/solid/store/src/server.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
import type { SetStoreFunction, Store } from "./store.js";

export type {
ArrayFilterFn,
DeepMutable,
DeepReadonly,
NotWrappable,
Part,
SetStoreFunction,
SolidStore,
Store,
StoreNode,
StorePathRange,
StoreSetter
} from "./store.js";

export const $RAW = Symbol("state-raw");

export function isWrappable(obj: any) {
Expand Down Expand Up @@ -103,6 +117,10 @@ export function createMutable<T>(state: T | Store<T>): T {
return state as T;
}

export function modifyMutable<T>(state: T, modifier: (state: T) => T) {
modifier(state);
}

type ReconcileOptions = {
key?: string | null;
merge?: boolean;
Expand Down
2 changes: 1 addition & 1 deletion packages/solid/store/src/store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ type DataNode = {
(): any;
$(value?: any): void;
};
type DataNodes = Record<PropertyKey, DataNode | undefined>;
export type DataNodes = Record<PropertyKey, DataNode | undefined>;

export type OnStoreNodeUpdate = (
state: StoreNode,
Expand Down
2 changes: 1 addition & 1 deletion packages/solid/universal/src/universal.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export * from "dom-expressions/src/universal";
export * from "dom-expressions/src/universal.js";
4 changes: 0 additions & 4 deletions packages/solid/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
"name": "solid-js/web",
"main": "./dist/server.cjs",
"module": "./dist/server.js",
"browser": {
"./dist/server.cjs": "./dist/web.cjs",
"./dist/server.js": "./dist/web.js"
},
"unpkg": "./dist/web.cjs",
"types": "./types/index.d.ts",
"type": "module",
Expand Down
8 changes: 1 addition & 7 deletions packages/solid/web/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,13 @@ export {
Match,
Index,
ErrorBoundary,
// This overrides mergeProps from dom-expressions/src/server.js
mergeProps
} from "solid-js";

export const isServer: boolean = true;
export const isDev: boolean = false;

export function render() {}
export function hydrate() {}
export function insert() {}
export function spread() {}
export function addEventListener() {}
export function delegateEvents(): void {}

export function Dynamic<T>(
props: T & { children?: any; component?: Component<T> | string | keyof JSX.IntrinsicElements }
) {
Expand Down
2 changes: 1 addition & 1 deletion packages/solid/web/src/client.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export * from "dom-expressions/src/client";
export * from "dom-expressions/src/client.js";
Loading
Loading