@workflow/astro 4.0.0-beta.3 → 4.0.0-beta.31

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/dist/builder.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { BaseBuilder, VercelBuildOutputAPIBuilder, type AstroConfig } from '@workflow/builders';
1
+ import { type AstroConfig, BaseBuilder, VercelBuildOutputAPIBuilder } from '@workflow/builders';
2
2
  export declare class LocalBuilder extends BaseBuilder {
3
3
  constructor();
4
4
  build(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,2BAA2B,EAE3B,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AA+B5B,qBAAa,YAAa,SAAQ,WAAW;;IAa5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA6BvB,eAAe;YAsCf,mBAAmB;YAsCnB,iBAAiB;CAmDhC;AAED,qBAAa,aAAc,SAAQ,2BAA2B;gBAChD,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAY1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAqCtC"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,WAAW,EAChB,WAAW,EAGX,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAiB5B,qBAAa,YAAa,SAAQ,WAAW;;IAa5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA6DvB,eAAe;YAqCf,mBAAmB;YAqCnB,iBAAiB;CAmDhC;AAED,qBAAa,aAAc,SAAQ,2BAA2B;gBAChD,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAa1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAqCtC"}
package/dist/builder.js CHANGED
@@ -1,19 +1,6 @@
1
1
  import { mkdir, readFile, writeFile } from 'node:fs/promises';
2
2
  import { join, resolve } from 'node:path';
3
- import { BaseBuilder, VercelBuildOutputAPIBuilder, createBaseBuilderConfig, } from '@workflow/builders';
4
- // NOTE: This is the same as SvelteKit request converter, should merge
5
- const NORMALIZE_REQUEST_CONVERTER = `
6
- async function normalizeRequestConverter(request) {
7
- const options = {
8
- method: request.method,
9
- headers: new Headers(request.headers)
10
- };
11
- if (!['GET', 'HEAD', 'OPTIONS', 'TRACE', 'CONNECT'].includes(request.method)) {
12
- options.body = await request.arrayBuffer();
13
- }
14
- return new Request(request.url, options);
15
- }
16
- `;
3
+ import { BaseBuilder, createBaseBuilderConfig, NORMALIZE_REQUEST_CODE, VercelBuildOutputAPIBuilder, } from '@workflow/builders';
17
4
  const WORKFLOW_ROUTES = [
18
5
  {
19
6
  src: '^/\\.well-known/workflow/v1/flow/?$',
@@ -51,61 +38,87 @@ export class LocalBuilder extends BaseBuilder {
51
38
  }
52
39
  // Get workflow and step files to bundle
53
40
  const inputFiles = await this.getInputFiles();
54
- const tsConfig = await this.getTsConfigOptions();
41
+ const tsconfigPath = await this.findTsConfigPath();
55
42
  const options = {
56
43
  inputFiles,
57
44
  workflowGeneratedDir,
58
- tsBaseUrl: tsConfig.baseUrl,
59
- tsPaths: tsConfig.paths,
45
+ tsconfigPath,
60
46
  };
61
47
  // Generate the three Astro route handlers
62
- await this.buildStepsRoute(options);
63
- await this.buildWorkflowsRoute(options);
48
+ const stepsManifest = await this.buildStepsRoute(options);
49
+ const workflowsManifest = await this.buildWorkflowsRoute(options);
64
50
  await this.buildWebhookRoute({ workflowGeneratedDir });
51
+ // Merge manifests from both bundles
52
+ const manifest = {
53
+ steps: { ...stepsManifest.steps, ...workflowsManifest.steps },
54
+ workflows: {
55
+ ...stepsManifest.workflows,
56
+ ...workflowsManifest.workflows,
57
+ },
58
+ classes: { ...stepsManifest.classes, ...workflowsManifest.classes },
59
+ };
60
+ // Generate unified manifest
61
+ const workflowBundlePath = join(workflowGeneratedDir, 'flow.js');
62
+ const manifestJson = await this.createManifest({
63
+ workflowBundlePath,
64
+ manifestDir: workflowGeneratedDir,
65
+ manifest,
66
+ });
67
+ // Expose manifest as a public HTTP route when WORKFLOW_PUBLIC_MANIFEST=1
68
+ // Astro maps `foo.json.js` to the URL `/foo.json`
69
+ if (this.shouldExposePublicManifest && manifestJson) {
70
+ await writeFile(join(workflowGeneratedDir, 'manifest.json.js'), `export function GET() {
71
+ return new Response(${JSON.stringify(manifestJson)}, {
72
+ headers: { "content-type": "application/json" },
73
+ });
74
+ }
75
+
76
+ export const prerender = false;\n`);
77
+ }
65
78
  }
66
- async buildStepsRoute({ inputFiles, workflowGeneratedDir, tsPaths, tsBaseUrl, }) {
79
+ async buildStepsRoute({ inputFiles, workflowGeneratedDir, tsconfigPath, }) {
67
80
  // Create steps route: .well-known/workflow/v1/step.js
68
81
  const stepsRouteFile = join(workflowGeneratedDir, 'step.js');
69
- await this.createStepsBundle({
82
+ const { manifest } = await this.createStepsBundle({
70
83
  format: 'esm',
71
84
  inputFiles,
72
85
  outfile: stepsRouteFile,
73
86
  externalizeNonSteps: true,
74
- tsBaseUrl,
75
- tsPaths,
87
+ tsconfigPath,
76
88
  });
77
89
  let stepsRouteContent = await readFile(stepsRouteFile, 'utf-8');
78
90
  // Normalize request, needed for preserving request through astro
79
- stepsRouteContent = stepsRouteContent.replace(/export\s*\{\s*stepEntrypoint\s+as\s+POST\s*\}\s*;?$/m, `${NORMALIZE_REQUEST_CONVERTER}
91
+ stepsRouteContent = stepsRouteContent.replace(/export\s*\{\s*stepEntrypoint\s+as\s+POST\s*\}\s*;?$/m, `${NORMALIZE_REQUEST_CODE}
80
92
  export const POST = async ({request}) => {
81
- const normalRequest = await normalizeRequestConverter(request);
93
+ const normalRequest = await normalizeRequest(request);
82
94
  return stepEntrypoint(normalRequest);
83
95
  }
84
96
 
85
97
  export const prerender = false;`);
86
98
  await writeFile(stepsRouteFile, stepsRouteContent);
99
+ return manifest;
87
100
  }
88
- async buildWorkflowsRoute({ inputFiles, workflowGeneratedDir, tsPaths, tsBaseUrl, }) {
101
+ async buildWorkflowsRoute({ inputFiles, workflowGeneratedDir, tsconfigPath, }) {
89
102
  // Create workflows route: .well-known/workflow/v1/flow.js
90
103
  const workflowsRouteFile = join(workflowGeneratedDir, 'flow.js');
91
- await this.createWorkflowsBundle({
104
+ const { manifest } = await this.createWorkflowsBundle({
92
105
  format: 'esm',
93
106
  outfile: workflowsRouteFile,
94
107
  bundleFinalOutput: false,
95
108
  inputFiles,
96
- tsBaseUrl,
97
- tsPaths,
109
+ tsconfigPath,
98
110
  });
99
111
  let workflowsRouteContent = await readFile(workflowsRouteFile, 'utf-8');
100
112
  // Normalize request, needed for preserving request through astro
101
- workflowsRouteContent = workflowsRouteContent.replace(/export const POST = workflowEntrypoint\(workflowCode\);?$/m, `${NORMALIZE_REQUEST_CONVERTER}
113
+ workflowsRouteContent = workflowsRouteContent.replace(/export const POST = workflowEntrypoint\(workflowCode\);?$/m, `${NORMALIZE_REQUEST_CODE}
102
114
  export const POST = async ({request}) => {
103
- const normalRequest = await normalizeRequestConverter(request);
115
+ const normalRequest = await normalizeRequest(request);
104
116
  return workflowEntrypoint(workflowCode)(normalRequest);
105
117
  }
106
118
 
107
119
  export const prerender = false;`);
108
120
  await writeFile(workflowsRouteFile, workflowsRouteContent);
121
+ return manifest;
109
122
  }
110
123
  async buildWebhookRoute({ workflowGeneratedDir, }) {
111
124
  // Create webhook route: .well-known/workflow/v1/webhook/[token].js
@@ -121,9 +134,9 @@ export const prerender = false;`);
121
134
  // Remove the URL parsing code since we get token from params
122
135
  webhookRouteContent = webhookRouteContent.replace(/const url = new URL\(request\.url\);[\s\S]*?const pathParts = url\.pathname\.split\('\/'\);[\s\S]*?\n/, '');
123
136
  // Normalize request, needed for preserving request through astro
124
- webhookRouteContent = webhookRouteContent.replace(/export const GET = handler;\nexport const POST = handler;\nexport const PUT = handler;\nexport const PATCH = handler;\nexport const DELETE = handler;\nexport const HEAD = handler;\nexport const OPTIONS = handler;/, `${NORMALIZE_REQUEST_CONVERTER}
137
+ webhookRouteContent = webhookRouteContent.replace(/export const GET = handler;\nexport const POST = handler;\nexport const PUT = handler;\nexport const PATCH = handler;\nexport const DELETE = handler;\nexport const HEAD = handler;\nexport const OPTIONS = handler;/, `${NORMALIZE_REQUEST_CODE}
125
138
  const createHandler = (method) => async ({ request, params, platform }) => {
126
- const normalRequest = await normalizeRequestConverter(request);
139
+ const normalRequest = await normalizeRequest(request);
127
140
  const response = await handler(normalRequest, params.token);
128
141
  return response;
129
142
  };
@@ -147,6 +160,7 @@ export class VercelBuilder extends VercelBuildOutputAPIBuilder {
147
160
  ...createBaseBuilderConfig({
148
161
  workingDir,
149
162
  dirs: ['src/pages', 'src/workflows'],
163
+ runtime: config?.runtime,
150
164
  }),
151
165
  buildTarget: 'vercel-build-output-api',
152
166
  debugFilePrefix: '_',
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,OAAO,CAAC;AAK9D,wBAAgB,cAAc,IAAI,gBAAgB,CA6EjD"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,OAAO,CAAC;AAG9D,wBAAgB,cAAc,IAAI,gBAAgB,CA0CjD"}
package/dist/plugin.js CHANGED
@@ -1,6 +1,7 @@
1
- import { LocalBuilder, VercelBuilder } from './builder.js';
2
- import { workflowTransformPlugin } from '@workflow/rollup';
3
1
  import { createBuildQueue } from '@workflow/builders';
2
+ import { workflowTransformPlugin } from '@workflow/rollup';
3
+ import { workflowHotUpdatePlugin } from '@workflow/vite';
4
+ import { LocalBuilder, VercelBuilder } from './builder.js';
4
5
  export function workflowPlugin() {
5
6
  const builder = new LocalBuilder();
6
7
  const enqueue = createBuildQueue();
@@ -24,39 +25,11 @@ export function workflowPlugin() {
24
25
  vite: {
25
26
  plugins: [
26
27
  workflowTransformPlugin(),
27
- {
28
- name: 'workflow:vite',
29
- // TODO: Move this to @workflow/vite or something since this is vite specific
30
- async hotUpdate(options) {
31
- const { file, read } = options;
32
- // Check if this is a TS/JS file that might contain workflow directives
33
- const jsTsRegex = /\.(ts|tsx|js|jsx|mjs|cjs)$/;
34
- if (!jsTsRegex.test(file)) {
35
- return;
36
- }
37
- // Read the file to check for workflow/step directives
38
- let content;
39
- try {
40
- content = await read();
41
- }
42
- catch {
43
- // File might have been deleted - trigger rebuild to update generated routes
44
- console.log('Workflow file changed, rebuilding...');
45
- await enqueue(() => builder.build());
46
- return;
47
- }
48
- const useWorkflowPattern = /^\s*(['"])use workflow\1;?\s*$/m;
49
- const useStepPattern = /^\s*(['"])use step\1;?\s*$/m;
50
- if (!useWorkflowPattern.test(content) &&
51
- !useStepPattern.test(content)) {
52
- return;
53
- }
54
- console.log('Workflow file changed, rebuilding...');
55
- await enqueue(() => builder.build());
56
- // Let Vite handle the normal HMR for the changed file
57
- return;
58
- },
59
- },
28
+ // Cast needed due to Astro using a different internal Vite version
29
+ workflowHotUpdatePlugin({
30
+ builder,
31
+ enqueue,
32
+ }),
60
33
  ],
61
34
  },
62
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IAEnC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE;YACL,oBAAoB,EAAE,KAAK,EAAE,EAC3B,YAAY,GACyB,EAAE,EAAE;gBACzC,oBAAoB;gBACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;oBACtC,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;oBACxB,CAAC;oBAAC,OAAO,UAAU,EAAE,CAAC;wBACpB,yEAAyE;wBACzE,2DAA2D;wBAC3D,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,UAAU,CAAC,CAAC;wBAC/D,MAAM,UAAU,CAAC;oBACnB,CAAC;gBACH,CAAC;gBACD,YAAY,CAAC;oBACX,IAAI,EAAE;wBACJ,OAAO,EAAE;4BACP,uBAAuB,EAAE;4BACzB;gCACE,IAAI,EAAE,eAAe;gCAErB,6EAA6E;gCAC7E,KAAK,CAAC,SAAS,CAAC,OAAO;oCACrB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;oCAE/B,uEAAuE;oCACvE,MAAM,SAAS,GAAG,4BAA4B,CAAC;oCAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wCAC1B,OAAO;oCACT,CAAC;oCAED,sDAAsD;oCACtD,IAAI,OAAe,CAAC;oCACpB,IAAI,CAAC;wCACH,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;oCACzB,CAAC;oCAAC,MAAM,CAAC;wCACP,4EAA4E;wCAC5E,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;wCACpD,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;wCACrC,OAAO;oCACT,CAAC;oCAED,MAAM,kBAAkB,GAAG,iCAAiC,CAAC;oCAC7D,MAAM,cAAc,GAAG,6BAA6B,CAAC;oCAErD,IACE,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;wCACjC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAC7B,CAAC;wCACD,OAAO;oCACT,CAAC;oCAED,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;oCACpD,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oCACrC,sDAAsD;oCACtD,OAAO;gCACT,CAAC;6BACF;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YACD,kBAAkB,EAAE,KAAK,IAAI,EAAE;gBAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;oBACrC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;oBAC1C,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IAEnC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE;YACL,oBAAoB,EAAE,KAAK,EAAE,EAC3B,YAAY,GACyB,EAAE,EAAE;gBACzC,oBAAoB;gBACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;oBACtC,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;oBACxB,CAAC;oBAAC,OAAO,UAAU,EAAE,CAAC;wBACpB,yEAAyE;wBACzE,2DAA2D;wBAC3D,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,UAAU,CAAC,CAAC;wBAC/D,MAAM,UAAU,CAAC;oBACnB,CAAC;gBACH,CAAC;gBACD,YAAY,CAAC;oBACX,IAAI,EAAE;wBACJ,OAAO,EAAE;4BACP,uBAAuB,EAAE;4BACzB,mEAAmE;4BACnE,uBAAuB,CAAC;gCACtB,OAAO;gCACP,OAAO;6BACR,CAAQ;yBACV;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YACD,kBAAkB,EAAE,KAAK,IAAI,EAAE;gBAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;oBACrC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;oBAC1C,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow/astro",
3
- "version": "4.0.0-beta.3",
3
+ "version": "4.0.0-beta.31",
4
4
  "description": "Astro integration for Workflow DevKit",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -20,12 +20,13 @@
20
20
  ".": "./dist/index.js"
21
21
  },
22
22
  "dependencies": {
23
- "@swc/core": "1.11.24",
23
+ "@swc/core": "1.15.3",
24
24
  "exsolve": "^1.0.7",
25
25
  "pathe": "^2.0.3",
26
- "@workflow/builders": "4.0.1-beta.20",
27
- "@workflow/swc-plugin": "4.0.1-beta.10",
28
- "@workflow/rollup": "4.0.0-beta.4"
26
+ "@workflow/builders": "4.0.1-beta.48",
27
+ "@workflow/rollup": "4.0.0-beta.14",
28
+ "@workflow/swc-plugin": "4.1.0-beta.18",
29
+ "@workflow/vite": "4.0.0-beta.7"
29
30
  },
30
31
  "devDependencies": {
31
32
  "@types/node": "22.19.0",