@tanstack/solid-start 1.167.36 → 1.167.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { solidStartDefaultEntryPaths } from "./shared.js";
|
|
2
|
+
import { START_ENVIRONMENT_NAMES, tanStackStartRsbuild } from "@tanstack/start-plugin-core";
|
|
3
|
+
//#region src/plugin/rsbuild.ts
|
|
4
|
+
function tanstackStart(options) {
|
|
5
|
+
const basePlugin = tanStackStartRsbuild({
|
|
6
|
+
framework: "solid",
|
|
7
|
+
defaultEntryPaths: solidStartDefaultEntryPaths,
|
|
8
|
+
providerEnvironmentName: START_ENVIRONMENT_NAMES.server,
|
|
9
|
+
ssrIsProvider: true,
|
|
10
|
+
rsbuild: { environments: { all: { resolve: { conditionNames: ["solid", "..."] } } } }
|
|
11
|
+
}, options);
|
|
12
|
+
return {
|
|
13
|
+
name: "tanstack-solid-start-rsbuild",
|
|
14
|
+
setup(api) {
|
|
15
|
+
basePlugin.setup(api);
|
|
16
|
+
api.modifyBundlerChain(async (chain, { CHAIN_ID, target }) => {
|
|
17
|
+
for (const ruleId of [
|
|
18
|
+
CHAIN_ID.RULE.JS,
|
|
19
|
+
CHAIN_ID.RULE.JS_DATA_URI,
|
|
20
|
+
"babel-js"
|
|
21
|
+
]) {
|
|
22
|
+
if (!chain.module.rules.has(ruleId)) continue;
|
|
23
|
+
const rule = chain.module.rule(ruleId);
|
|
24
|
+
if (!rule.uses.has(CHAIN_ID.USE.BABEL)) continue;
|
|
25
|
+
rule.use(CHAIN_ID.USE.BABEL).tap((babelOptions) => {
|
|
26
|
+
babelOptions.presets = (babelOptions.presets ?? []).map((preset) => {
|
|
27
|
+
if (Array.isArray(preset) && typeof preset[0] === "string" && preset[0].includes("babel-preset-solid")) return [preset[0], {
|
|
28
|
+
...preset[1] ?? {},
|
|
29
|
+
hydratable: true,
|
|
30
|
+
generate: target === "node" ? "ssr" : "dom"
|
|
31
|
+
}];
|
|
32
|
+
return preset;
|
|
33
|
+
});
|
|
34
|
+
return babelOptions;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export { tanstackStart };
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=rsbuild.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsbuild.js","names":[],"sources":["../../../src/plugin/rsbuild.ts"],"sourcesContent":["import {\n START_ENVIRONMENT_NAMES,\n tanStackStartRsbuild,\n} from '@tanstack/start-plugin-core'\nimport { solidStartDefaultEntryPaths } from './shared'\nimport type { TanStackStartRsbuildPluginCoreOptions } from '@tanstack/start-plugin-core/rsbuild/types'\nimport type { TanStackStartRsbuildInputConfig } from '@tanstack/start-plugin-core'\nimport type { RsbuildPlugin } from '@rsbuild/core'\n\nexport function tanstackStart(\n options?: TanStackStartRsbuildInputConfig,\n): RsbuildPlugin {\n const corePluginOpts: TanStackStartRsbuildPluginCoreOptions = {\n framework: 'solid',\n defaultEntryPaths: solidStartDefaultEntryPaths,\n providerEnvironmentName: START_ENVIRONMENT_NAMES.server,\n ssrIsProvider: true,\n rsbuild: {\n environments: {\n all: {\n resolve: {\n conditionNames: ['solid', '...'],\n },\n },\n },\n },\n }\n\n const basePlugin = tanStackStartRsbuild(corePluginOpts, options)\n\n return {\n name: 'tanstack-solid-start-rsbuild',\n setup(api) {\n basePlugin.setup(api)\n\n api.modifyBundlerChain(async (chain, { CHAIN_ID, target }) => {\n for (const ruleId of [\n CHAIN_ID.RULE.JS,\n CHAIN_ID.RULE.JS_DATA_URI,\n 'babel-js',\n ]) {\n if (!chain.module.rules.has(ruleId)) {\n continue\n }\n\n const rule = chain.module.rule(ruleId)\n if (!rule.uses.has(CHAIN_ID.USE.BABEL)) {\n continue\n }\n\n rule.use(CHAIN_ID.USE.BABEL).tap((babelOptions) => {\n babelOptions.presets = (babelOptions.presets ?? []).map(\n (preset: unknown) => {\n if (\n Array.isArray(preset) &&\n typeof preset[0] === 'string' &&\n preset[0].includes('babel-preset-solid')\n ) {\n return [\n preset[0],\n {\n ...(preset[1] ?? {}),\n hydratable: true,\n generate: target === 'node' ? 'ssr' : 'dom',\n },\n ]\n }\n\n return preset\n },\n )\n\n return babelOptions\n })\n }\n })\n },\n }\n}\n"],"mappings":";;;AASA,SAAgB,cACd,SACe;CAiBf,MAAM,aAAa,qBAhB2C;EAC5D,WAAW;EACX,mBAAmB;EACnB,yBAAyB,wBAAwB;EACjD,eAAe;EACf,SAAS,EACP,cAAc,EACZ,KAAK,EACH,SAAS,EACP,gBAAgB,CAAC,SAAS,MAAM,EACjC,EACF,EACF,EACF;EACF,EAEuD,QAAQ;AAEhE,QAAO;EACL,MAAM;EACN,MAAM,KAAK;AACT,cAAW,MAAM,IAAI;AAErB,OAAI,mBAAmB,OAAO,OAAO,EAAE,UAAU,aAAa;AAC5D,SAAK,MAAM,UAAU;KACnB,SAAS,KAAK;KACd,SAAS,KAAK;KACd;KACD,EAAE;AACD,SAAI,CAAC,MAAM,OAAO,MAAM,IAAI,OAAO,CACjC;KAGF,MAAM,OAAO,MAAM,OAAO,KAAK,OAAO;AACtC,SAAI,CAAC,KAAK,KAAK,IAAI,SAAS,IAAI,MAAM,CACpC;AAGF,UAAK,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,iBAAiB;AACjD,mBAAa,WAAW,aAAa,WAAW,EAAE,EAAE,KACjD,WAAoB;AACnB,WACE,MAAM,QAAQ,OAAO,IACrB,OAAO,OAAO,OAAO,YACrB,OAAO,GAAG,SAAS,qBAAqB,CAExC,QAAO,CACL,OAAO,IACP;QACE,GAAI,OAAO,MAAM,EAAE;QACnB,YAAY;QACZ,UAAU,WAAW,SAAS,QAAQ;QACvC,CACF;AAGH,cAAO;QAEV;AAED,aAAO;OACP;;KAEJ;;EAEL"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/solid-start",
|
|
3
|
-
"version": "1.167.
|
|
3
|
+
"version": "1.167.38",
|
|
4
4
|
"description": "Modern and scalable routing for Solid applications",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -68,6 +68,12 @@
|
|
|
68
68
|
"default": "./dist/esm/plugin/vite.js"
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
|
+
"./plugin/rsbuild": {
|
|
72
|
+
"import": {
|
|
73
|
+
"types": "./dist/esm/plugin/rsbuild.d.ts",
|
|
74
|
+
"default": "./dist/esm/plugin/rsbuild.js"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
71
77
|
"./server-entry": {
|
|
72
78
|
"import": {
|
|
73
79
|
"types": "./dist/default-entry/esm/server.d.ts",
|
|
@@ -101,23 +107,30 @@
|
|
|
101
107
|
},
|
|
102
108
|
"dependencies": {
|
|
103
109
|
"pathe": "^2.0.3",
|
|
104
|
-
"@tanstack/solid-
|
|
105
|
-
"@tanstack/solid-start-
|
|
106
|
-
"@tanstack/start-
|
|
110
|
+
"@tanstack/solid-router": "1.168.20",
|
|
111
|
+
"@tanstack/solid-start-client": "1.166.36",
|
|
112
|
+
"@tanstack/solid-start-server": "1.166.37",
|
|
107
113
|
"@tanstack/start-client-core": "1.167.17",
|
|
108
|
-
"@tanstack/
|
|
114
|
+
"@tanstack/start-plugin-core": "1.168.0",
|
|
109
115
|
"@tanstack/start-server-core": "1.167.19"
|
|
110
116
|
},
|
|
111
117
|
"devDependencies": {
|
|
118
|
+
"@rsbuild/core": "^2.0.0",
|
|
112
119
|
"@tanstack/intent": "^0.0.14",
|
|
113
|
-
"vite": "*",
|
|
114
120
|
"@types/node": ">=20",
|
|
115
|
-
"
|
|
121
|
+
"vite": "*",
|
|
122
|
+
"@tanstack/router-utils": "1.161.7"
|
|
116
123
|
},
|
|
117
124
|
"peerDependencies": {
|
|
125
|
+
"@rsbuild/core": "^2.0.0",
|
|
118
126
|
"solid-js": ">=1.0.0",
|
|
119
127
|
"vite": ">=7.0.0"
|
|
120
128
|
},
|
|
129
|
+
"peerDependenciesMeta": {
|
|
130
|
+
"@rsbuild/core": {
|
|
131
|
+
"optional": true
|
|
132
|
+
}
|
|
133
|
+
},
|
|
121
134
|
"bin": {
|
|
122
135
|
"intent": "./bin/intent.js"
|
|
123
136
|
},
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import {
|
|
2
|
+
START_ENVIRONMENT_NAMES,
|
|
3
|
+
tanStackStartRsbuild,
|
|
4
|
+
} from '@tanstack/start-plugin-core'
|
|
5
|
+
import { solidStartDefaultEntryPaths } from './shared'
|
|
6
|
+
import type { TanStackStartRsbuildPluginCoreOptions } from '@tanstack/start-plugin-core/rsbuild/types'
|
|
7
|
+
import type { TanStackStartRsbuildInputConfig } from '@tanstack/start-plugin-core'
|
|
8
|
+
import type { RsbuildPlugin } from '@rsbuild/core'
|
|
9
|
+
|
|
10
|
+
export function tanstackStart(
|
|
11
|
+
options?: TanStackStartRsbuildInputConfig,
|
|
12
|
+
): RsbuildPlugin {
|
|
13
|
+
const corePluginOpts: TanStackStartRsbuildPluginCoreOptions = {
|
|
14
|
+
framework: 'solid',
|
|
15
|
+
defaultEntryPaths: solidStartDefaultEntryPaths,
|
|
16
|
+
providerEnvironmentName: START_ENVIRONMENT_NAMES.server,
|
|
17
|
+
ssrIsProvider: true,
|
|
18
|
+
rsbuild: {
|
|
19
|
+
environments: {
|
|
20
|
+
all: {
|
|
21
|
+
resolve: {
|
|
22
|
+
conditionNames: ['solid', '...'],
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const basePlugin = tanStackStartRsbuild(corePluginOpts, options)
|
|
30
|
+
|
|
31
|
+
return {
|
|
32
|
+
name: 'tanstack-solid-start-rsbuild',
|
|
33
|
+
setup(api) {
|
|
34
|
+
basePlugin.setup(api)
|
|
35
|
+
|
|
36
|
+
api.modifyBundlerChain(async (chain, { CHAIN_ID, target }) => {
|
|
37
|
+
for (const ruleId of [
|
|
38
|
+
CHAIN_ID.RULE.JS,
|
|
39
|
+
CHAIN_ID.RULE.JS_DATA_URI,
|
|
40
|
+
'babel-js',
|
|
41
|
+
]) {
|
|
42
|
+
if (!chain.module.rules.has(ruleId)) {
|
|
43
|
+
continue
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const rule = chain.module.rule(ruleId)
|
|
47
|
+
if (!rule.uses.has(CHAIN_ID.USE.BABEL)) {
|
|
48
|
+
continue
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
rule.use(CHAIN_ID.USE.BABEL).tap((babelOptions) => {
|
|
52
|
+
babelOptions.presets = (babelOptions.presets ?? []).map(
|
|
53
|
+
(preset: unknown) => {
|
|
54
|
+
if (
|
|
55
|
+
Array.isArray(preset) &&
|
|
56
|
+
typeof preset[0] === 'string' &&
|
|
57
|
+
preset[0].includes('babel-preset-solid')
|
|
58
|
+
) {
|
|
59
|
+
return [
|
|
60
|
+
preset[0],
|
|
61
|
+
{
|
|
62
|
+
...(preset[1] ?? {}),
|
|
63
|
+
hydratable: true,
|
|
64
|
+
generate: target === 'node' ? 'ssr' : 'dom',
|
|
65
|
+
},
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return preset
|
|
70
|
+
},
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
return babelOptions
|
|
74
|
+
})
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
},
|
|
78
|
+
}
|
|
79
|
+
}
|