windmill-ts 1.7.2 → 1.8.1
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/README.md +66 -0
- package/dist/package.json +6 -5
- package/dist/src/config/schema.js +16 -7
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/generator/resources.js +166 -41
- package/dist/src/generator/resources.js.map +1 -1
- package/dist/src/windmill/flows.js +10 -4
- package/dist/src/windmill/flows.js.map +1 -1
- package/dist/src/windmill/scripts.js +10 -4
- package/dist/src/windmill/scripts.js.map +1 -1
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -89,6 +89,16 @@ resources:
|
|
|
89
89
|
# Optional extension to append to the import (e.g., ".ts" or ".js")
|
|
90
90
|
importExtension: ".js"
|
|
91
91
|
|
|
92
|
+
# Optional resolver hook consulted before the generated client falls back to
|
|
93
|
+
# embedded resource values or wmill.getResource(path).
|
|
94
|
+
resolver:
|
|
95
|
+
# Import path for the resolver, relative to the config
|
|
96
|
+
importPath: "./resource-resolver"
|
|
97
|
+
# Name of the exported resolver function
|
|
98
|
+
importName: "resolveResource"
|
|
99
|
+
# Optional extension to append to the import (e.g., ".ts" or ".js")
|
|
100
|
+
importExtension: ".js"
|
|
101
|
+
|
|
92
102
|
# Script generation configuration
|
|
93
103
|
scripts:
|
|
94
104
|
# Whether to generate script-related code (default: true)
|
|
@@ -149,6 +159,62 @@ const resource = await getResource("my/resource/path");
|
|
|
149
159
|
// TypeScript will infer the correct type based on the resource type
|
|
150
160
|
```
|
|
151
161
|
|
|
162
|
+
### Resource Resolver Hook
|
|
163
|
+
|
|
164
|
+
Generated clients export a `ResourceResolver` hook API. A resolver can return a
|
|
165
|
+
resource value before the normal generated behavior runs. Returning `undefined`
|
|
166
|
+
continues to the default behavior: embedded value first when configured, then
|
|
167
|
+
`wmill.getResource(path)`. Returned values still go through normal validation
|
|
168
|
+
and resource transformers unless the caller uses `skipValidation` or
|
|
169
|
+
`skipTransformer`.
|
|
170
|
+
|
|
171
|
+
Configured resolvers are imported from `resources.resolver`:
|
|
172
|
+
|
|
173
|
+
```typescript
|
|
174
|
+
import type { ResourceResolver } from "./generated-client";
|
|
175
|
+
|
|
176
|
+
export const resolveResource: ResourceResolver = ({ path }) => {
|
|
177
|
+
if (path === "f/app/redis" && !process.env["WM_JOB_ID"]) {
|
|
178
|
+
return {
|
|
179
|
+
value: {
|
|
180
|
+
host: process.env["REDIS_HOST"],
|
|
181
|
+
port: Number(process.env["REDIS_PORT"] ?? 6379),
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
return undefined;
|
|
187
|
+
};
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Configured resolver modules are imported by the generated client in every
|
|
191
|
+
environment that imports the client, so their top-level imports and side effects
|
|
192
|
+
run everywhere. Keep top-level imports safe for all target runtimes; if a
|
|
193
|
+
resolver needs a module that is only available in one environment, load it with a
|
|
194
|
+
dynamic `import()` inside that branch. Use `import type` for generated-client
|
|
195
|
+
types to avoid a value-import cycle back into the generated client.
|
|
196
|
+
|
|
197
|
+
You can also register or replace a resolver at runtime:
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
import { resolvedResource, setResourceResolver } from "./generated-client";
|
|
201
|
+
|
|
202
|
+
setResourceResolver(({ path }) => {
|
|
203
|
+
if (path === "f/app/redis") {
|
|
204
|
+
return resolvedResource({ host: "localhost", port: 6379 });
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return undefined;
|
|
208
|
+
});
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
The resolver context includes:
|
|
212
|
+
|
|
213
|
+
- `path` and `resourceType`
|
|
214
|
+
- `options`, the `getResource` options for the current call
|
|
215
|
+
- `hasEmbeddedResource`
|
|
216
|
+
- `resolveEmbedded()`, `fetchResource()`, and `resolveDefault()` helpers
|
|
217
|
+
|
|
152
218
|
## How It Works
|
|
153
219
|
|
|
154
220
|
The generator:
|
package/dist/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "windmill-ts",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"description": "Type-safe client for Windmill",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"bin": "dist/src/index.js",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"scripts": {
|
|
9
9
|
"build": "rimraf dist/ && tsc",
|
|
10
|
+
"test": "pnpm run build && node --test tests/*.test.mjs",
|
|
10
11
|
"prepublishOnly": "npm run build"
|
|
11
12
|
},
|
|
12
13
|
"keywords": [],
|
|
@@ -15,7 +16,7 @@
|
|
|
15
16
|
"devDependencies": {
|
|
16
17
|
"@types/node": "24.12.0",
|
|
17
18
|
"rimraf": "6.1.3",
|
|
18
|
-
"typescript": "
|
|
19
|
+
"typescript": "6.0.2"
|
|
19
20
|
},
|
|
20
21
|
"dependencies": {
|
|
21
22
|
"@stdlib/string-camelcase": "0.2.3",
|
|
@@ -24,20 +25,20 @@
|
|
|
24
25
|
"cli-spinners": "3.4.0",
|
|
25
26
|
"commander": "14.0.3",
|
|
26
27
|
"dedent": "1.7.2",
|
|
27
|
-
"json-schema-to-zod": "2.
|
|
28
|
+
"json-schema-to-zod": "2.8.1",
|
|
28
29
|
"log-update": "7.2.0",
|
|
29
30
|
"p-queue": "9.1.0",
|
|
30
31
|
"p-retry": "8.0.0",
|
|
31
32
|
"to-valid-identifier": "1.0.0",
|
|
32
33
|
"ts-morph": "27.0.2",
|
|
33
|
-
"windmill-client": "1.
|
|
34
|
+
"windmill-client": "1.668.5",
|
|
34
35
|
"yaml": "2.8.3",
|
|
35
36
|
"zod": "4.3.6",
|
|
36
37
|
"zod-to-json-schema": "3.25.2"
|
|
37
38
|
},
|
|
38
39
|
"pnpm": {
|
|
39
40
|
"overrides": {
|
|
40
|
-
"brace-expansion@<5.0.5": "5.0.
|
|
41
|
+
"brace-expansion@<5.0.5": "5.0.6",
|
|
41
42
|
"picomatch@<4.0.4": "4.0.4"
|
|
42
43
|
}
|
|
43
44
|
},
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
const
|
|
2
|
+
const ImportNameSchema = z
|
|
3
|
+
.string()
|
|
4
|
+
.regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/, "Must be a valid JavaScript identifier");
|
|
5
|
+
const ImportExtensionSchema = z
|
|
6
|
+
.string()
|
|
7
|
+
.regex(/^(?:|\.[A-Za-z0-9]+)$/, "Must be empty or a dot-prefixed extension")
|
|
8
|
+
.default("");
|
|
9
|
+
const ImportHookSchema = z
|
|
3
10
|
.object({
|
|
4
|
-
// Import path for the
|
|
5
|
-
importPath: z.string(),
|
|
6
|
-
// Name of the exported
|
|
7
|
-
importName:
|
|
11
|
+
// Import path for the hook, relative to the config
|
|
12
|
+
importPath: z.string().min(1),
|
|
13
|
+
// Name of the exported hook
|
|
14
|
+
importName: ImportNameSchema,
|
|
8
15
|
// Extension to append to the import, if necessary (e.g., '.js' or '.ts')
|
|
9
|
-
importExtension:
|
|
16
|
+
importExtension: ImportExtensionSchema,
|
|
10
17
|
})
|
|
11
18
|
.nullish();
|
|
12
19
|
const EmbedSchema = z
|
|
@@ -21,13 +28,15 @@ const ResourceOptionsSchema = z
|
|
|
21
28
|
.object({
|
|
22
29
|
// Map from resource type to default resource path
|
|
23
30
|
defaults: z.record(z.string(), z.string().nullable()).default({}),
|
|
24
|
-
transformer:
|
|
31
|
+
transformer: ImportHookSchema,
|
|
25
32
|
individualResourceTypeExports: z.boolean().default(false),
|
|
26
33
|
// When true, resource type schemas will use z.looseObject() instead of z.object()
|
|
27
34
|
// to allow passthrough of unknown fields
|
|
28
35
|
looseSchemas: z.boolean().default(false),
|
|
29
36
|
// Embed resource values directly in the generated client
|
|
30
37
|
embed: EmbedSchema,
|
|
38
|
+
// Optional resolver hook consulted before embedded/backend resource fetches
|
|
39
|
+
resolver: ImportHookSchema,
|
|
31
40
|
})
|
|
32
41
|
.prefault({});
|
|
33
42
|
const ScriptOptionsSchema = z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ const resourceToTypeMap = "resourceToType";
|
|
|
10
10
|
const resourceTypesTypeName = "ResourceTypes";
|
|
11
11
|
const resourceTransformerName = "_resourcesTransformer";
|
|
12
12
|
const defaultResourceTransformerName = "_DefaultResourceTransformer";
|
|
13
|
+
const configuredResourceResolverName = "_configuredResourceResolver";
|
|
13
14
|
const defaultPerResourceTypeMap = "defaultPerResourceType";
|
|
14
15
|
const embeddedResourcesMapName = "_embeddedResources";
|
|
15
16
|
const resolveVariablesFnName = "_resolveVariables";
|
|
@@ -38,13 +39,58 @@ const resolveVariablesFnCode = dedent `
|
|
|
38
39
|
return obj;
|
|
39
40
|
}
|
|
40
41
|
`;
|
|
41
|
-
const
|
|
42
|
-
if (!
|
|
43
|
-
return
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
const resolveConfiguredImport = (hook, outputDir, configPath) => {
|
|
43
|
+
if (!hook?.importPath || !hook.importName) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
const configDir = configPath ? path.dirname(configPath) : process.cwd();
|
|
47
|
+
let importPath = path.resolve(configDir, hook.importPath);
|
|
48
|
+
importPath = path.relative(outputDir, importPath);
|
|
49
|
+
importPath = importPath.replace(/\\/g, "/");
|
|
50
|
+
if (!importPath.startsWith("./") && !importPath.startsWith("../")) {
|
|
51
|
+
importPath = `./${importPath}`;
|
|
52
|
+
}
|
|
53
|
+
if (hook.importExtension) {
|
|
54
|
+
const extension = path.extname(importPath);
|
|
55
|
+
if (extension) {
|
|
56
|
+
importPath = importPath.slice(0, -extension.length);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
importPath: hook.importExtension
|
|
61
|
+
? `${importPath}${hook.importExtension}`
|
|
62
|
+
: importPath,
|
|
63
|
+
importName: hook.importName,
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
const getEmbeddedResolverCode = (embed) => {
|
|
67
|
+
if (!embed.enabled) {
|
|
68
|
+
return dedent `
|
|
69
|
+
const _hasEmbeddedResource = (_path: string) => false;
|
|
70
|
+
|
|
71
|
+
const _resolveEmbeddedResource = async (
|
|
72
|
+
_path: string,
|
|
73
|
+
): Promise<unknown | undefined> => undefined;
|
|
74
|
+
`;
|
|
75
|
+
}
|
|
76
|
+
const valueExpression = embed.resolveVariables && embed.hasResourcesWithVars
|
|
77
|
+
? `entry.hasVars ? await ${resolveVariablesFnName}(entry.value) : structuredClone(entry.value)`
|
|
78
|
+
: "structuredClone(entry.value)";
|
|
79
|
+
return dedent `
|
|
80
|
+
const _hasEmbeddedResource = (path: string) =>
|
|
81
|
+
path in ${embeddedResourcesMapName};
|
|
82
|
+
|
|
83
|
+
const _resolveEmbeddedResource = async (
|
|
84
|
+
path: string,
|
|
85
|
+
): Promise<unknown | undefined> => {
|
|
86
|
+
if (!_hasEmbeddedResource(path)) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const entry = ${embeddedResourcesMapName}[path as keyof typeof ${embeddedResourcesMapName}];
|
|
91
|
+
return ${valueExpression};
|
|
92
|
+
};
|
|
93
|
+
`;
|
|
48
94
|
};
|
|
49
95
|
const hasVarReferences = (obj) => {
|
|
50
96
|
if (typeof obj === "string")
|
|
@@ -55,7 +101,7 @@ const hasVarReferences = (obj) => {
|
|
|
55
101
|
return Object.values(obj).some(hasVarReferences);
|
|
56
102
|
return false;
|
|
57
103
|
};
|
|
58
|
-
const getPreamble = (embed) => dedent `
|
|
104
|
+
const getPreamble = ({ embed, hasConfiguredResourceResolver, }) => dedent `
|
|
59
105
|
export type Cast<T, U> = T extends U ? T : U;
|
|
60
106
|
|
|
61
107
|
export interface Transformer {
|
|
@@ -71,7 +117,89 @@ const getPreamble = (embed) => dedent `
|
|
|
71
117
|
ApplyTransformer<typeof ${resourceTransformerName}, Resource>
|
|
72
118
|
>;
|
|
73
119
|
|
|
74
|
-
type GetResourceOptions = {
|
|
120
|
+
export type GetResourceOptions = {
|
|
121
|
+
skipValidation?: boolean;
|
|
122
|
+
skipTransformer?: boolean;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export type ResourcePath = keyof typeof ${resourceToTypeMap};
|
|
126
|
+
export type ResourceTypeName = keyof ${resourceTypesTypeName} & string;
|
|
127
|
+
|
|
128
|
+
export type ResourceResolverContext = {
|
|
129
|
+
path: string;
|
|
130
|
+
resourceType: ResourceTypeName;
|
|
131
|
+
options: Readonly<GetResourceOptions>;
|
|
132
|
+
hasEmbeddedResource: boolean;
|
|
133
|
+
resolveEmbedded: () => Promise<unknown | undefined>;
|
|
134
|
+
fetchResource: () => Promise<unknown>;
|
|
135
|
+
resolveDefault: () => Promise<unknown>;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
export type ResourceResolverResult = { value: unknown } | undefined;
|
|
139
|
+
|
|
140
|
+
export const resolvedResource = (value: unknown): ResourceResolverResult => ({
|
|
141
|
+
value,
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
export type ResourceResolver = (
|
|
145
|
+
context: ResourceResolverContext,
|
|
146
|
+
) => ResourceResolverResult | Promise<ResourceResolverResult>;
|
|
147
|
+
|
|
148
|
+
let _runtimeResourceResolver: ResourceResolver | undefined;
|
|
149
|
+
|
|
150
|
+
export const setResourceResolver = (
|
|
151
|
+
resolver: ResourceResolver | undefined,
|
|
152
|
+
) => {
|
|
153
|
+
_runtimeResourceResolver = resolver;
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
export const getResourceResolver = (): ResourceResolver | undefined =>
|
|
157
|
+
_runtimeResourceResolver ?? ${hasConfiguredResourceResolver ? configuredResourceResolverName : "undefined"};
|
|
158
|
+
|
|
159
|
+
${getEmbeddedResolverCode(embed)}
|
|
160
|
+
|
|
161
|
+
const _fetchResource = (path: string): Promise<unknown> =>
|
|
162
|
+
wmill.getResource(path);
|
|
163
|
+
|
|
164
|
+
const _resolveDefaultResource = async (path: string): Promise<unknown> => {
|
|
165
|
+
const embeddedResource = await _resolveEmbeddedResource(path);
|
|
166
|
+
if (embeddedResource !== undefined) {
|
|
167
|
+
return embeddedResource;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
return _fetchResource(path);
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
const _resolveResourceData = async ({
|
|
174
|
+
path,
|
|
175
|
+
resourceType,
|
|
176
|
+
options,
|
|
177
|
+
}: {
|
|
178
|
+
path: string;
|
|
179
|
+
resourceType: ResourceTypeName;
|
|
180
|
+
options?: GetResourceOptions;
|
|
181
|
+
}): Promise<unknown> => {
|
|
182
|
+
const resolver = getResourceResolver();
|
|
183
|
+
const resolverOptions = Object.freeze({ ...(options ?? {}) });
|
|
184
|
+
|
|
185
|
+
const resolveDefault = () => _resolveDefaultResource(path);
|
|
186
|
+
|
|
187
|
+
if (resolver == null) {
|
|
188
|
+
return resolveDefault();
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
const resolved = await resolver({
|
|
192
|
+
path,
|
|
193
|
+
resourceType,
|
|
194
|
+
options: resolverOptions,
|
|
195
|
+
hasEmbeddedResource: _hasEmbeddedResource(path),
|
|
196
|
+
resolveEmbedded: () => _resolveEmbeddedResource(path),
|
|
197
|
+
fetchResource: () => _fetchResource(path),
|
|
198
|
+
resolveDefault,
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
return resolved === undefined ? resolveDefault() : resolved.value;
|
|
202
|
+
};
|
|
75
203
|
|
|
76
204
|
type GetResource = {
|
|
77
205
|
<Path extends keyof typeof ${resourceToTypeMap}>(
|
|
@@ -90,23 +218,28 @@ const getPreamble = (embed) => dedent `
|
|
|
90
218
|
path: string,
|
|
91
219
|
resourceTypeOrOptions?: string | GetResourceOptions,
|
|
92
220
|
maybeOptions?: GetResourceOptions,
|
|
93
|
-
) => {
|
|
221
|
+
): Promise<any> => {
|
|
94
222
|
const resourceType = typeof resourceTypeOrOptions === "string" ? resourceTypeOrOptions : undefined;
|
|
95
223
|
const options = typeof resourceTypeOrOptions === "object" ? resourceTypeOrOptions : maybeOptions;
|
|
96
224
|
|
|
97
|
-
|
|
225
|
+
const resource = ${resourceToTypeMap}[path as ResourcePath];
|
|
226
|
+
if (resource == null) {
|
|
98
227
|
throw new Error(\`Unknown resource: \${JSON.stringify(path)}\`);
|
|
99
228
|
}
|
|
100
229
|
|
|
101
|
-
const { name, schema } =
|
|
230
|
+
const { name, schema } = resource;
|
|
102
231
|
if (resourceType != null && name !== resourceType) {
|
|
103
232
|
throw new Error(
|
|
104
233
|
\`Unexpected resource type: expected \${JSON.stringify(resourceType)} but resource \${JSON.stringify(path)} has type \${JSON.stringify(name)}\`,
|
|
105
234
|
);
|
|
106
235
|
}
|
|
107
236
|
|
|
108
|
-
const data =
|
|
109
|
-
|
|
237
|
+
const data = await _resolveResourceData({
|
|
238
|
+
path,
|
|
239
|
+
resourceType: name as ResourceTypeName,
|
|
240
|
+
options,
|
|
241
|
+
});
|
|
242
|
+
const parsedData = (options?.skipValidation ? data : schema.parse(data)) as object;
|
|
110
243
|
|
|
111
244
|
if (options?.skipTransformer) {
|
|
112
245
|
return parsedData;
|
|
@@ -188,36 +321,20 @@ const getPreamble = (embed) => dedent `
|
|
|
188
321
|
`;
|
|
189
322
|
export const generateResources = async (observer) => {
|
|
190
323
|
const { write, allResourceTypes, config, outputDir } = getContext();
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
const transformerExtension = config.resources.transformer?.importExtension;
|
|
194
|
-
if (!transformerPath || !transformerName) {
|
|
195
|
-
transformerName = defaultResourceTransformerName;
|
|
196
|
-
transformerPath = "";
|
|
324
|
+
const transformerImport = resolveConfiguredImport(config.resources.transformer, outputDir, config.configPath);
|
|
325
|
+
if (!transformerImport) {
|
|
197
326
|
await write(defaultResourceTransformer);
|
|
198
327
|
}
|
|
199
|
-
if (
|
|
200
|
-
|
|
201
|
-
const configDir = config.configPath
|
|
202
|
-
? path.dirname(config.configPath)
|
|
203
|
-
: process.cwd();
|
|
204
|
-
transformerPath = path.resolve(configDir, transformerPath);
|
|
205
|
-
// Get relative path in relation to output dir
|
|
206
|
-
transformerPath = path.relative(outputDir, transformerPath);
|
|
207
|
-
if (!transformerPath.startsWith("./") &&
|
|
208
|
-
!transformerPath.startsWith("../")) {
|
|
209
|
-
transformerPath = `./${transformerPath}`;
|
|
210
|
-
}
|
|
211
|
-
// Strip extension
|
|
212
|
-
const extension = path.extname(transformerPath);
|
|
213
|
-
transformerPath = transformerPath.slice(0, -extension.length);
|
|
214
|
-
}
|
|
215
|
-
if (transformerPath && transformerName) {
|
|
216
|
-
await write(`import { ${transformerName} as ${resourceTransformerName} } from ${JSON.stringify(`${transformerPath}${transformerExtension}`)};`);
|
|
328
|
+
if (transformerImport) {
|
|
329
|
+
await write(`import { ${transformerImport.importName} as ${resourceTransformerName} } from ${JSON.stringify(transformerImport.importPath)};`);
|
|
217
330
|
}
|
|
218
331
|
else {
|
|
219
332
|
await write(`const ${resourceTransformerName} = ${defaultResourceTransformerName};`);
|
|
220
333
|
}
|
|
334
|
+
const resolverImport = resolveConfiguredImport(config.resources.resolver, outputDir, config.configPath);
|
|
335
|
+
if (resolverImport) {
|
|
336
|
+
await write(`import { ${resolverImport.importName} as ${configuredResourceResolverName} } from ${JSON.stringify(resolverImport.importPath)};`);
|
|
337
|
+
}
|
|
221
338
|
observer.next("Fetching all resources...");
|
|
222
339
|
const resourcesByType = new Map();
|
|
223
340
|
const allWorkspacePaths = new Map();
|
|
@@ -260,9 +377,12 @@ export const generateResources = async (observer) => {
|
|
|
260
377
|
}
|
|
261
378
|
const hasResourcesWithVars = embeddedPathsWithVars.size > 0;
|
|
262
379
|
await write(getPreamble({
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
380
|
+
embed: {
|
|
381
|
+
enabled: hasEmbeddedResources,
|
|
382
|
+
resolveVariables: config.resources.embed.resolveVariables,
|
|
383
|
+
hasResourcesWithVars,
|
|
384
|
+
},
|
|
385
|
+
hasConfiguredResourceResolver: resolverImport != null,
|
|
266
386
|
}));
|
|
267
387
|
observer.next("Generating schemas...");
|
|
268
388
|
const defaultPerResourceType = new Map();
|
|
@@ -358,4 +478,9 @@ const makeReferencesSchema = (resourceType, paths) => {
|
|
|
358
478
|
};
|
|
359
479
|
};
|
|
360
480
|
const resourceTypeToTSTypeName = (resourceTypeName) => toValidIdentifier(capitalize(camelCase(resourceTypeName)));
|
|
481
|
+
export const __testing = {
|
|
482
|
+
getEmbeddedResolverCode,
|
|
483
|
+
getPreamble,
|
|
484
|
+
resolveConfiguredImport,
|
|
485
|
+
};
|
|
361
486
|
//# sourceMappingURL=resources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/generator/resources.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/generator/resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,16 @@ export async function* listFlows(concurrency) {
|
|
|
13
13
|
if (pageData.length === 0) {
|
|
14
14
|
break;
|
|
15
15
|
}
|
|
16
|
-
const promises = pageData.map(({ path }) =>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
const promises = pageData.map(async ({ path }) => {
|
|
17
|
+
const flow = await queue.add(() => wmill.FlowService.getFlowByPath({
|
|
18
|
+
workspace,
|
|
19
|
+
path,
|
|
20
|
+
}));
|
|
21
|
+
if (flow == null) {
|
|
22
|
+
throw new Error(`Flow ${JSON.stringify(path)} returned no data`);
|
|
23
|
+
}
|
|
24
|
+
return flow;
|
|
25
|
+
});
|
|
20
26
|
yield* promises;
|
|
21
27
|
}
|
|
22
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows.js","sourceRoot":"","sources":["../../../src/windmill/flows.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAEzC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,CAAC,WAAoB;IACnD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;IAE/C,KAAK,IAAI,IAAI,GAAG,CAAC,GAAI,EAAE,IAAI,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;YACjD,SAAS;YACT,IAAI;YACJ,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"flows.js","sourceRoot":"","sources":["../../../src/windmill/flows.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAEzC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,CAAC,WAAoB;IACnD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;IAE/C,KAAK,IAAI,IAAI,GAAG,CAAC,GAAI,EAAE,IAAI,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;YACjD,SAAS;YACT,IAAI;YACJ,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC/C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAChC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC;gBAC9B,SAAS;gBACT,IAAI;aACL,CAAC,CACH,CAAC;YACF,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,CAAC,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -13,10 +13,16 @@ export async function* listScripts(concurrency) {
|
|
|
13
13
|
if (pageData.length === 0) {
|
|
14
14
|
break;
|
|
15
15
|
}
|
|
16
|
-
const promises = pageData.map(({ path }) =>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
const promises = pageData.map(async ({ path }) => {
|
|
17
|
+
const script = await queue.add(() => wmill.ScriptService.getScriptByPath({
|
|
18
|
+
workspace,
|
|
19
|
+
path,
|
|
20
|
+
}));
|
|
21
|
+
if (script == null) {
|
|
22
|
+
throw new Error(`Script ${JSON.stringify(path)} returned no data`);
|
|
23
|
+
}
|
|
24
|
+
return script;
|
|
25
|
+
});
|
|
20
26
|
yield* promises;
|
|
21
27
|
}
|
|
22
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../src/windmill/scripts.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAEzC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAAC,WAAoB;IACrD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;IAE/C,KAAK,IAAI,IAAI,GAAG,CAAC,GAAI,EAAE,IAAI,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC;YACrD,SAAS;YACT,IAAI;YACJ,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../src/windmill/scripts.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAEzC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAAC,WAAoB;IACrD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;IAE/C,KAAK,IAAI,IAAI,GAAG,CAAC,GAAI,EAAE,IAAI,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC;YACrD,SAAS;YACT,IAAI;YACJ,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC/C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAClC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC;gBAClC,SAAS;gBACT,IAAI;aACL,CAAC,CACH,CAAC;YACF,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,CAAC,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "windmill-ts",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"description": "Type-safe client for Windmill",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"bin": "dist/src/index.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"devDependencies": {
|
|
12
12
|
"@types/node": "24.12.0",
|
|
13
13
|
"rimraf": "6.1.3",
|
|
14
|
-
"typescript": "
|
|
14
|
+
"typescript": "6.0.2"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@stdlib/string-camelcase": "0.2.3",
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
"cli-spinners": "3.4.0",
|
|
21
21
|
"commander": "14.0.3",
|
|
22
22
|
"dedent": "1.7.2",
|
|
23
|
-
"json-schema-to-zod": "2.
|
|
23
|
+
"json-schema-to-zod": "2.8.1",
|
|
24
24
|
"log-update": "7.2.0",
|
|
25
25
|
"p-queue": "9.1.0",
|
|
26
26
|
"p-retry": "8.0.0",
|
|
27
27
|
"to-valid-identifier": "1.0.0",
|
|
28
28
|
"ts-morph": "27.0.2",
|
|
29
|
-
"windmill-client": "1.
|
|
29
|
+
"windmill-client": "1.668.5",
|
|
30
30
|
"yaml": "2.8.3",
|
|
31
31
|
"zod": "4.3.6",
|
|
32
32
|
"zod-to-json-schema": "3.25.2"
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"README.md"
|
|
45
45
|
],
|
|
46
46
|
"scripts": {
|
|
47
|
-
"build": "rimraf dist/ && tsc"
|
|
47
|
+
"build": "rimraf dist/ && tsc",
|
|
48
|
+
"test": "pnpm run build && node --test tests/*.test.mjs"
|
|
48
49
|
}
|
|
49
50
|
}
|