@dreamkit/dev 0.0.12 → 0.0.14-next.0
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.
- package/lib/DreamkitDevServer.d.ts.map +1 -1
- package/lib/DreamkitDevServer.js +10 -5
- package/lib/adapters/solid-start/dev-server.js +1 -1
- package/lib/transforms/to-solid-server-action.js +28 -20
- package/lib/utils/ast.d.ts +3 -1
- package/lib/utils/ast.d.ts.map +1 -1
- package/lib/utils/ast.js +8 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DreamkitDevServer.d.ts","sourceRoot":"","sources":["../src/DreamkitDevServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMpD,OAAO,EAAE,GAAG,EAAW,KAAK,EAAU,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAmC,aAAa,EAAE,MAAM,MAAM,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GACtD,0BAA0B,CAAC;AAC7B,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,GACvD,0BAA0B,CAAC;AAE7B,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,WAAW,SAAmB;IACrC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACnD,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;gBACzB,SAAS,EAAE,oBAAoB;IA6B3C,MAAM,CAAC,QAAQ,IAAI,iBAAiB;IAKpC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,iBAAiB;IAGzC,KAAK,CAAC,IAAI,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"DreamkitDevServer.d.ts","sourceRoot":"","sources":["../src/DreamkitDevServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMpD,OAAO,EAAE,GAAG,EAAW,KAAK,EAAU,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAmC,aAAa,EAAE,MAAM,MAAM,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GACtD,0BAA0B,CAAC;AAC7B,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,GACvD,0BAA0B,CAAC;AAE7B,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,WAAW,SAAmB;IACrC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACnD,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;gBACzB,SAAS,EAAE,oBAAoB;IA6B3C,MAAM,CAAC,QAAQ,IAAI,iBAAiB;IAKpC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,iBAAiB;IAGzC,KAAK,CAAC,IAAI,EAAE,MAAM;IAWlB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAIxC,gBAAgB;IAyBhB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAIjD,OAAO,CAAC,uBAAuB,UAAO;IAoCtC,KAAK;IAIL,IAAI;CAKX"}
|
package/lib/DreamkitDevServer.js
CHANGED
|
@@ -57,17 +57,22 @@ export class DreamkitDevServer {
|
|
|
57
57
|
async fetch(path) {
|
|
58
58
|
//const mod = $server.moduleGraph.getModuleById(shaking.entry);
|
|
59
59
|
//if (mod) $server.moduleGraph.invalidateModule(mod);
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
try {
|
|
61
|
+
const ext = getExt(path);
|
|
62
|
+
return await this.runtime.executeUrl(`${path}?${Date.now()}&ext=${ext}`);
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
console.error(error);
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
62
68
|
}
|
|
63
69
|
async fetchDefault(path) {
|
|
64
70
|
const result = await this.fetch(path);
|
|
65
|
-
return result
|
|
71
|
+
return result?.default;
|
|
66
72
|
}
|
|
67
73
|
async fetchRoute(path) {
|
|
68
74
|
const url = createTransformUrl(path, { toSolidRoute: true });
|
|
69
|
-
|
|
70
|
-
return result.default;
|
|
75
|
+
return await this.fetchDefault(url);
|
|
71
76
|
}
|
|
72
77
|
async findRouteObjects() {
|
|
73
78
|
const files = await findFileRoutes(this.options.routeDir);
|
|
@@ -179,7 +179,7 @@ export function createDreamkitDevServer(vinxiApp, inOptions = {}) {
|
|
|
179
179
|
if (router.name === "ssr" && server.app.objects.has(id))
|
|
180
180
|
await server.app.remove([id]);
|
|
181
181
|
if (action === "add" || action === "update") {
|
|
182
|
-
const routeObject = await server.
|
|
182
|
+
const routeObject = await server.fetchRoute(vinxiRoute.filePath);
|
|
183
183
|
if (isRoute(routeObject))
|
|
184
184
|
vinxiRoute.$$route = {
|
|
185
185
|
pick: ["route"],
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createCallChains, createConst, defineTransform, getFirstChain, parseCallsChain, } from "../utils/ast.js";
|
|
1
|
+
import { addImports, createCallChains, createConst, defineTransform, getFirstChain, parseCallsChain, } from "../utils/ast.js";
|
|
2
2
|
import { traverse } from "../utils/babel.js";
|
|
3
3
|
import { replaceImportSpec } from "./replace-import-spec.js";
|
|
4
4
|
import * as t from "@babel/types";
|
|
@@ -71,6 +71,27 @@ function createServerAction(program, name, call, exported = false) {
|
|
|
71
71
|
const serverApi = program.scope.generateUid(`server_${name}`);
|
|
72
72
|
const chain = parseCallsChain(call);
|
|
73
73
|
const serverMethods = ["self", "create"];
|
|
74
|
+
const cache = chain.calls.find((call) => call.name === "cache");
|
|
75
|
+
let cacheImport = cache
|
|
76
|
+
? addImports(program, ["query"], "@solidjs/router")
|
|
77
|
+
: undefined;
|
|
78
|
+
const serverCallback = t.arrowFunctionExpression([t.identifier("params")], t.blockStatement([
|
|
79
|
+
// const serverApi = $serverApi.clone(baseFetchData.options).self({}).create(() => {})
|
|
80
|
+
createConst(serverApi, createCallChains({
|
|
81
|
+
...chain,
|
|
82
|
+
calls: [
|
|
83
|
+
{
|
|
84
|
+
name: "clone",
|
|
85
|
+
arguments: [
|
|
86
|
+
t.memberExpression(t.identifier(commonApi), t.identifier("options")),
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
...chain.calls.filter(({ name }) => serverMethods.includes(name)),
|
|
90
|
+
],
|
|
91
|
+
})),
|
|
92
|
+
// return await serverApi(params);
|
|
93
|
+
t.returnStatement(t.awaitExpression(t.callExpression(t.identifier(serverApi), [t.identifier("params")]))),
|
|
94
|
+
], [t.directive(t.directiveLiteral("use server"))]), true);
|
|
74
95
|
return [
|
|
75
96
|
// const baseFetchData = $api.params({});
|
|
76
97
|
createConst(commonApi, createCallChains({
|
|
@@ -78,25 +99,12 @@ function createServerAction(program, name, call, exported = false) {
|
|
|
78
99
|
calls: chain.calls.filter(({ name }) => !serverMethods.includes(name)),
|
|
79
100
|
})),
|
|
80
101
|
t.variableDeclaration("let", [
|
|
81
|
-
t.variableDeclarator(t.identifier(name),
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
...
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
name: "clone",
|
|
88
|
-
arguments: [
|
|
89
|
-
t.memberExpression(t.identifier(commonApi), t.identifier("options")),
|
|
90
|
-
],
|
|
91
|
-
},
|
|
92
|
-
...chain.calls.filter(({ name }) => serverMethods.includes(name)),
|
|
93
|
-
],
|
|
94
|
-
})),
|
|
95
|
-
// return await serverApi(params);
|
|
96
|
-
t.returnStatement(t.awaitExpression(t.callExpression(t.identifier(serverApi), [
|
|
97
|
-
t.identifier("params"),
|
|
98
|
-
]))),
|
|
99
|
-
], [t.directive(t.directiveLiteral("use server"))]), true)),
|
|
102
|
+
t.variableDeclarator(t.identifier(name), cacheImport
|
|
103
|
+
? t.callExpression(t.identifier(cacheImport.query), [
|
|
104
|
+
serverCallback,
|
|
105
|
+
...(cache?.arguments.length ? [cache.arguments[0]] : []),
|
|
106
|
+
])
|
|
107
|
+
: serverCallback),
|
|
100
108
|
]),
|
|
101
109
|
// const originalFetchData = fetchData;
|
|
102
110
|
createConst(originalFunc, t.identifier(name)),
|
package/lib/utils/ast.d.ts
CHANGED
|
@@ -28,7 +28,9 @@ export declare function defineTransform<T>(transform: Transform<T>): Transform<T
|
|
|
28
28
|
export declare function createConst(name: string, value: t.Expression): t.VariableDeclaration;
|
|
29
29
|
export declare function appendChainCall(input: t.Expression | string, method: string, args: t.Expression[]): t.CallExpression;
|
|
30
30
|
export declare function prependChainCall(input: t.Expression | string, method: string, args?: t.Expression[]): t.CallExpression;
|
|
31
|
-
export declare function addImports<T extends string>(program: NodePath<t.Program
|
|
31
|
+
export declare function addImports<T extends string>(program: NodePath<t.Program> & {
|
|
32
|
+
__imports?: Record<string, Record<string, string>>;
|
|
33
|
+
}, specifiers: T[], source: string): {
|
|
32
34
|
[K in T]: string;
|
|
33
35
|
};
|
|
34
36
|
//# sourceMappingURL=ast.d.ts.map
|
package/lib/utils/ast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/utils/ast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAIzC,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,iBAIjD;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAElD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,uBAKrC;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,0DAavB;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,GAAG,EAAE,CAAA;KAAE,EAAE,CAAC;CAC7C,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,cAAc,GAAG,KAAK,CAwB9D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,mCAS5C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,oBAaxE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI;gBAGrB,MAAM;WACX,CAAC,CAAC,gBAAgB;cAgBhC;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,uJAQ/C;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,eAAe,YAoBrD;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,qBAG3D;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAExE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,yBAI5D;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,EAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,oBAiBrB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,EAC5B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,CAAC,CAAC,UAAU,EAAO,oBAqB1B;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/utils/ast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAIzC,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,iBAIjD;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAElD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,uBAKrC;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,0DAavB;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,GAAG,EAAE,CAAA;KAAE,EAAE,CAAC;CAC7C,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,cAAc,GAAG,KAAK,CAwB9D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,mCAS5C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,oBAaxE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI;gBAGrB,MAAM;WACX,CAAC,CAAC,gBAAgB;cAgBhC;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,uJAQ/C;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,eAAe,YAoBrD;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,qBAG3D;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAExE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,yBAI5D;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,EAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,oBAiBrB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,EAC5B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,CAAC,CAAC,UAAU,EAAO,oBAqB1B;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD,EACD,UAAU,EAAE,CAAC,EAAE,EACf,MAAM,EAAE,MAAM,GACb;KAAG,CAAC,IAAI,CAAC,GAAG,MAAM;CAAE,CAwBtB"}
|
package/lib/utils/ast.js
CHANGED
|
@@ -167,10 +167,17 @@ export function prependChainCall(input, method, args = []) {
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
export function addImports(program, specifiers, source) {
|
|
170
|
+
const cacheKey = [...[...specifiers].sort(), source].join("|");
|
|
171
|
+
if (!program.__imports)
|
|
172
|
+
program.__imports = {};
|
|
173
|
+
if (program.__imports?.[cacheKey])
|
|
174
|
+
return program.__imports?.[cacheKey];
|
|
170
175
|
const id = specifiers.map((name) => program.scope.generateUid(name));
|
|
171
176
|
program.node.body.unshift(t.importDeclaration(specifiers.map((spec, index) => t.importSpecifier(t.identifier(id[index]), t.identifier(spec))), t.stringLiteral(source)));
|
|
172
|
-
|
|
177
|
+
const result = specifiers.reduce((result, name, index) => {
|
|
173
178
|
result[name] = id[index];
|
|
174
179
|
return result;
|
|
175
180
|
}, {});
|
|
181
|
+
program.__imports[cacheKey] = result;
|
|
182
|
+
return result;
|
|
176
183
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dreamkit/dev",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14-next.0",
|
|
4
4
|
"description": "Development tools for DreamKit.",
|
|
5
5
|
"homepage": "https://dreamkit.dev",
|
|
6
6
|
"repository": {
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"rollup": "^4.26.0",
|
|
46
46
|
"vite-plugin-solid": "^2.10.2",
|
|
47
47
|
"vite-tsconfig-paths": "^5.1.2",
|
|
48
|
-
"@dreamkit/app": "0.0.
|
|
48
|
+
"@dreamkit/app": "0.0.7-next.0",
|
|
49
49
|
"@dreamkit/schema": "0.0.4"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|