Skip to content

Commit ed7b239

Browse files
committed
feat: refactor loader and hooks for Solid SSR and client rendering
- Added new hooks for handling module resolution and loading for JSX/TSX files. - Removed the old loader implementation and replaced it with a new hooks-based approach. - Updated package.json to include new dependencies and scripts for testing. - Added tests for client-side rendering and server-side rendering of Solid components. - Updated TypeScript configuration for better compatibility and build output. - Added support for Solid's JSX syntax in the testing environment using JSDOM.
1 parent b816571 commit ed7b239

11 files changed

Lines changed: 567 additions & 65 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
node_modules
22
dist
3+
*.tsbuildinfo

package.json

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,49 @@
22
"name": "solid-node-loader",
33
"version": "1.0.0",
44
"description": "Node loader for compiling JSX/TSX files using Solid's compiler.",
5-
"author": "Damian Tarnawski <gthethatnav@gmail.com>",
5+
"author": "Damian Tarnawski <gthetarnav@gmail.com>",
66
"license": "MIT",
7+
"type": "module",
8+
"private": false,
9+
"files": [
10+
"dist",
11+
"src",
12+
"license",
13+
"readme.md"
14+
],
15+
"exports": {
16+
".": {
17+
"types": "./dist/register_ssr.d.ts",
18+
"import": "./dist/register_ssr.js"
19+
},
20+
"./ssr": {
21+
"types": "./dist/register_ssr.d.ts",
22+
"import": "./dist/register_ssr.js"
23+
},
24+
"./client": {
25+
"types": "./dist/register_client.d.ts",
26+
"import": "./dist/register_client.js"
27+
}
28+
},
729
"scripts": {
8-
"test": "echo \"Error: no test specified\" && exit 1"
9-
},
10-
"devDependencies": {
11-
"@types/node": "^22.15.2",
12-
"typescript": "^5.8.3"
30+
"test:ssr": "node --experimental-transform-types --import solid-node-loader/ssr --test 'tests/ssr.test.tsx'",
31+
"test:client": "node --experimental-transform-types --conditions=browser --import solid-node-loader/client --test 'tests/client.test.tsx'",
32+
"build": "tsc --build",
33+
"prepublishOnly": "pnpm run build"
1334
},
1435
"dependencies": {
1536
"@babel/core": "^7.26.10",
1637
"@babel/preset-typescript": "^7.27.0",
1738
"babel-preset-solid": "^1.9.5"
1839
},
40+
"devDependencies": {
41+
"@types/babel__core": "^7.20.5",
42+
"@types/jsdom": "^21.1.7",
43+
"@types/node": "^22.15.2",
44+
"jsdom": "^26.1.0",
45+
"solid-js": "^1.9.5",
46+
"typescript": "^5.8.3"
47+
},
1948
"keywords": [
2049
"solidjs",
2150
"node",

0 commit comments

Comments
 (0)