Skip to content

Commit

Permalink
Merge branch 'main' into prettier-code-format
Browse files Browse the repository at this point in the history
  • Loading branch information
ryansolid committed Jun 26, 2023
2 parents f0a3529 + 8ba0e80 commit bb01cb5
Show file tree
Hide file tree
Showing 8 changed files with 121 additions and 182 deletions.
5 changes: 5 additions & 0 deletions .changeset/pretty-points-cross.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"solid-js": patch
---

Fix `mergeProps`.
5 changes: 5 additions & 0 deletions .changeset/tricky-birds-remain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"solid-js": patch
---

fix #1787 missing CJS types
162 changes: 54 additions & 108 deletions packages/solid/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,51 +46,37 @@
"exports": {
".": {
"worker": {
"import": {
"types": "./types/index.d.ts",
"default": "./dist/server.js"
},
"types": "./types/index.d.ts",
"import": "./dist/server.js",
"require": "./dist/server.cjs"
},
"browser": {
"development": {
"import": {
"types": "./types/index.d.ts",
"default": "./dist/dev.js"
},
"require": "./dist/dev.cjs"
},
"import": {
"types": "./types/index.d.ts",
"default": "./dist/solid.js"
"import": "./dist/dev.js",
"require": "./dist/dev.cjs"
},
"types": "./types/index.d.ts",
"import": "./dist/solid.js",
"require": "./dist/solid.cjs"
},
"deno": {
"import": {
"types": "./types/index.d.ts",
"default": "./dist/server.js"
},
"types": "./types/index.d.ts",
"import": "./dist/server.js",
"require": "./dist/server.cjs"
},
"node": {
"import": {
"types": "./types/index.d.ts",
"default": "./dist/server.js"
},
"types": "./types/index.d.ts",
"import": "./dist/server.js",
"require": "./dist/server.cjs"
},
"development": {
"import": {
"types": "./types/index.d.ts",
"default": "./dist/dev.js"
},
"require": "./dist/dev.cjs"
},
"import": {
"types": "./types/index.d.ts",
"default": "./dist/solid.js"
"import": "./dist/dev.js",
"require": "./dist/dev.cjs"
},
"types": "./types/index.d.ts",
"import": "./dist/solid.js",
"require": "./dist/solid.cjs"
},
"./dist/*": "./dist/*",
Expand All @@ -104,146 +90,106 @@
},
"./store": {
"worker": {
"import": {
"types": "./store/types/index.d.ts",
"default": "./store/dist/server.js"
},
"types": "./store/types/index.d.ts",
"import": "./store/dist/server.js",
"require": "./store/dist/server.cjs"
},
"browser": {
"development": {
"import": {
"types": "./store/types/index.d.ts",
"default": "./store/dist/dev.js"
},
"require": "./store/dist/dev.cjs"
},
"import": {
"types": "./store/types/index.d.ts",
"default": "./store/dist/store.js"
"import": "./store/dist/dev.js",
"require": "./store/dist/dev.cjs"
},
"types": "./store/types/index.d.ts",
"import": "./store/dist/store.js",
"require": "./store/dist/store.cjs"
},
"deno": {
"import": {
"types": "./store/types/index.d.ts",
"default": "./store/dist/server.js"
},
"types": "./store/types/index.d.ts",
"import": "./store/dist/server.js",
"require": "./store/dist/server.cjs"
},
"node": {
"import": {
"types": "./store/types/index.d.ts",
"default": "./store/dist/server.js"
},
"types": "./store/types/index.d.ts",
"import": "./store/dist/server.js",
"require": "./store/dist/server.cjs"
},
"development": {
"import": {
"types": "./store/types/index.d.ts",
"default": "./store/dist/dev.js"
},
"require": "./store/dist/dev.cjs"
},
"import": {
"types": "./store/types/index.d.ts",
"default": "./store/dist/store.js"
"import": "./store/dist/dev.js",
"require": "./store/dist/dev.cjs"
},
"types": "./store/types/index.d.ts",
"import": "./store/dist/store.js",
"require": "./store/dist/store.cjs"
},
"./store/dist/*": "./store/dist/*",
"./web": {
"worker": {
"import": {
"types": "./web/types/index.d.ts",
"default": "./web/dist/server.js"
},
"types": "./web/types/index.d.ts",
"import": "./web/dist/server.js",
"require": "./web/dist/server.cjs"
},
"browser": {
"development": {
"import": {
"types": "./web/types/index.d.ts",
"default": "./web/dist/dev.js"
},
"require": "./web/dist/dev.cjs"
},
"import": {
"types": "./web/types/index.d.ts",
"default": "./web/dist/web.js"
"import": "./web/dist/dev.js",
"require": "./web/dist/dev.cjs"
},
"types": "./web/types/index.d.ts",
"import": "./web/dist/web.js",
"require": "./web/dist/web.cjs"
},
"deno": {
"import": {
"types": "./web/types/index.d.ts",
"default": "./web/dist/server.js"
},
"types": "./web/types/index.d.ts",
"import": "./web/dist/server.js",
"require": "./web/dist/server.cjs"
},
"node": {
"import": {
"types": "./web/types/index.d.ts",
"default": "./web/dist/server.js"
},
"types": "./web/types/index.d.ts",
"import": "./web/dist/server.js",
"require": "./web/dist/server.cjs"
},
"development": {
"import": {
"types": "./web/types/index.d.ts",
"default": "./web/dist/dev.js"
},
"require": "./web/dist/dev.cjs"
},
"import": {
"types": "./web/types/index.d.ts",
"default": "./web/dist/web.js"
"import": "./web/dist/dev.js",
"require": "./web/dist/dev.cjs"
},
"types": "./web/types/index.d.ts",
"import": "./web/dist/web.js",
"require": "./web/dist/web.cjs"
},
"./web/dist/*": "./web/dist/*",
"./universal": {
"development": {
"import": {
"types": "./universal/types/index.d.ts",
"default": "./universal/dist/dev.js"
},
"require": "./universal/dist/dev.cjs"
},
"import": {
"types": "./universal/types/index.d.ts",
"default": "./universal/dist/universal.js"
"import": "./universal/dist/dev.js",
"require": "./universal/dist/dev.cjs"
},
"types": "./universal/types/index.d.ts",
"import": "./universal/dist/universal.js",
"require": "./universal/dist/universal.cjs"
},
"./universal/dist/*": "./universal/dist/*",
"./h": {
"import": {
"types": "./h/types/index.d.ts",
"default": "./h/dist/h.js"
},
"types": "./h/types/index.d.ts",
"import": "./h/dist/h.js",
"require": "./h/dist/h.cjs"
},
"./h/jsx-runtime": {
"import": {
"types": "./h/jsx-runtime/types/index.d.ts",
"default": "./h/jsx-runtime/dist/jsx.js"
},
"types": "./h/jsx-runtime/types/index.d.ts",
"import": "./h/jsx-runtime/dist/jsx.js",
"require": "./h/jsx-runtime/dist/jsx.cjs"
},
"./h/jsx-dev-runtime": {
"import": {
"types": "./h/jsx-runtime/types/index.d.ts",
"default": "./h/jsx-runtime/dist/jsx.js"
},
"types": "./h/jsx-runtime/types/index.d.ts",
"import": "./h/jsx-runtime/dist/jsx.js",
"require": "./h/jsx-runtime/dist/jsx.cjs"
},
"./h/dist/*": "./h/dist/*",
"./html": {
"import": {
"types": "./html/types/index.d.ts",
"default": "./html/dist/html.js"
},
"types": "./html/types/index.d.ts",
"import": "./html/dist/html.js",
"require": "./html/dist/html.cjs"
},
"./html/dist/*": "./html/dist/*",
Expand Down
20 changes: 11 additions & 9 deletions packages/solid/src/render/component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -224,31 +224,33 @@ export function mergeProps<T extends unknown[]>(...sources: T): MergeProps<T> {
}
const target: Record<string, any> = {};
const sourcesMap: Record<string, any[]> = {};
let someNonTargetKey = false;
const defined = new Set<string>()
//let someNonTargetKey = false;

for (let i = sources.length - 1; i >= 0; i--) {
const source = sources[i] as Record<string, any>;
if (!source) continue;
const sourceKeys = Object.getOwnPropertyNames(source);
someNonTargetKey = someNonTargetKey || (i !== 0 && !!sourceKeys.length);
//someNonTargetKey = someNonTargetKey || (i !== 0 && !!sourceKeys.length);
for (let i = 0, length = sourceKeys.length; i < length; i++) {
const key = sourceKeys[i];
if (key === "__proto__" || key === "constructor") {
if (key === "__proto__" || key === "constructor")
continue;
} else if (!(key in target)) {
const desc = Object.getOwnPropertyDescriptor(source, key)!;
const desc = Object.getOwnPropertyDescriptor(source, key)!;
if (!defined.has(key)) {
if (desc.get) {
defined.add(key);
Object.defineProperty(target, key, {
enumerable: true,
// [breaking && performance]
// configurable: false,
configurable: true,
get: resolveSources.bind((sourcesMap[key] = [desc.get.bind(source)]))
});
} else target[key] = desc.value;
} else {
if (desc.value !== undefined) defined.add(key);
target[key] = desc.value;
}
} else {
const sources = sourcesMap[key];
const desc = Object.getOwnPropertyDescriptor(source, key)!;
if (sources) {
if (desc.get) {
sources.push(desc.get.bind(source));
Expand Down
42 changes: 14 additions & 28 deletions packages/solid/store/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,51 +13,37 @@
"exports": {
".": {
"worker": {
"import": {
"types": "./types/index.d.ts",
"default": "./dist/server.js"
},
"types": "./types/index.d.ts",
"import": "./dist/server.js",
"require": "./dist/server.cjs"
},
"browser": {
"development": {
"import": {
"types": "./types/index.d.ts",
"default": "./dist/dev.js"
},
"require": "./dist/dev.cjs"
},
"import": {
"types": "./types/index.d.ts",
"default": "./dist/store.js"
"import": "./dist/dev.js",
"require": "./dist/dev.cjs"
},
"types": "./types/index.d.ts",
"import": "./dist/store.js",
"require": "./dist/store.cjs"
},
"deno": {
"import": {
"types": "./types/index.d.ts",
"default": "./dist/server.js"
},
"types": "./types/index.d.ts",
"import": "./dist/server.js",
"require": "./dist/server.cjs"
},
"node": {
"import": {
"types": "./types/index.d.ts",
"default": "./dist/server.js"
},
"types": "./types/index.d.ts",
"import": "./dist/server.js",
"require": "./dist/server.cjs"
},
"development": {
"import": {
"types": "./types/index.d.ts",
"default": "./dist/dev.js"
},
"require": "./dist/dev.cjs"
},
"import": {
"types": "./types/index.d.ts",
"default": "./dist/store.js"
"import": "./dist/dev.js",
"require": "./dist/dev.cjs"
},
"types": "./types/index.d.ts",
"import": "./dist/store.js",
"require": "./dist/store.cjs"
}
}
Expand Down

0 comments on commit bb01cb5

Please sign in to comment.