@workflow/sveltekit 4.0.0-beta.15 → 4.0.0-beta.17

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/plugin.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import type { Plugin } from 'vite';
2
- export declare function workflowPlugin(): Plugin;
2
+ export declare function workflowPlugin(): Plugin[];
3
3
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,MAAM,EAAE,MAAM,MAAM,CAAC;AAGrD,wBAAgB,cAAc,IAAI,MAAM,CA+IvC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,MAAM,EAAE,MAAM,MAAM,CAAC;AAKrD,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAkDzC"}
package/dist/plugin.js CHANGED
@@ -1,132 +1,47 @@
1
- import { relative } from 'node:path';
2
- import { transform } from '@swc/core';
3
- import { resolveModulePath } from 'exsolve';
4
1
  import { SvelteKitBuilder } from './builder.js';
2
+ import { workflowTransformPlugin } from '@workflow/rollup';
3
+ import { createBuildQueue } from '@workflow/builders';
5
4
  export function workflowPlugin() {
6
5
  let builder;
7
- return {
8
- name: 'workflow:sveltekit',
9
- // TODO: Move this to @workflow/vite or something since this is vite specific
10
- // Transform workflow files with SWC
11
- async transform(code, id) {
12
- // Only apply the transform if file needs it
13
- if (!code.match(/(use step|use workflow)/)) {
14
- return null;
15
- }
16
- const isTypeScript = id.endsWith('.ts') || id.endsWith('.tsx');
17
- const isTsx = id.endsWith('.tsx');
18
- const swcPlugin = resolveModulePath('@workflow/swc-plugin', {
19
- from: [import.meta.url],
20
- });
21
- // Calculate relative filename for SWC plugin
22
- // The SWC plugin uses filename to generate workflowId, so it must be relative
23
- const workingDir = process.cwd();
24
- const normalizedWorkingDir = workingDir
25
- .replace(/\\/g, '/')
26
- .replace(/\/$/, '');
27
- const normalizedFilepath = id.replace(/\\/g, '/');
28
- // Windows fix: Use case-insensitive comparison to work around drive letter casing issues
29
- const lowerWd = normalizedWorkingDir.toLowerCase();
30
- const lowerPath = normalizedFilepath.toLowerCase();
31
- let relativeFilename;
32
- if (lowerPath.startsWith(lowerWd + '/')) {
33
- // File is under working directory - manually calculate relative path
34
- relativeFilename = normalizedFilepath.substring(normalizedWorkingDir.length + 1);
35
- }
36
- else if (lowerPath === lowerWd) {
37
- // File IS the working directory (shouldn't happen)
38
- relativeFilename = '.';
39
- }
40
- else {
41
- // Use relative() for files outside working directory
42
- relativeFilename = relative(workingDir, id).replace(/\\/g, '/');
43
- if (relativeFilename.startsWith('../')) {
44
- relativeFilename = relativeFilename
45
- .split('/')
46
- .filter((part) => part !== '..')
47
- .join('/');
6
+ const enqueue = createBuildQueue();
7
+ return [
8
+ workflowTransformPlugin(),
9
+ {
10
+ name: 'workflow:sveltekit',
11
+ configResolved() {
12
+ builder = new SvelteKitBuilder();
13
+ },
14
+ // TODO: Move this to @workflow/vite or something since this is vite specific
15
+ async hotUpdate(options) {
16
+ const { file, read } = options;
17
+ // Check if this is a TS/JS file that might contain workflow directives
18
+ const jsTsRegex = /\.(ts|tsx|js|jsx|mjs|cjs)$/;
19
+ if (!jsTsRegex.test(file)) {
20
+ return;
48
21
  }
49
- }
50
- // Final safety check - ensure we never pass an absolute path to SWC
51
- if (relativeFilename.includes(':') || relativeFilename.startsWith('/')) {
52
- // This should rarely happen, but use filename split as last resort
53
- relativeFilename = normalizedFilepath.split('/').pop() || 'unknown.ts';
54
- }
55
- // Transform with SWC
56
- const result = await transform(code, {
57
- filename: relativeFilename,
58
- jsc: {
59
- parser: {
60
- syntax: isTypeScript ? 'typescript' : 'ecmascript',
61
- tsx: isTsx,
62
- },
63
- target: 'es2022',
64
- experimental: {
65
- plugins: [[swcPlugin, { mode: 'client' }]],
66
- },
67
- },
68
- minify: false,
69
- sourceMaps: true,
70
- inlineSourcesContent: true,
71
- });
72
- return {
73
- code: result.code,
74
- map: result.map ? JSON.parse(result.map) : null,
75
- };
76
- },
77
- configResolved() {
78
- builder = new SvelteKitBuilder();
79
- },
80
- // TODO: Move this to @workflow/vite or something since this is vite specific
81
- async hotUpdate(options) {
82
- const { file, server, read } = options;
83
- // Check if this is a TS/JS file that might contain workflow directives
84
- const jsTsRegex = /\.(ts|tsx|js|jsx|mjs|cjs)$/;
85
- if (!jsTsRegex.test(file)) {
86
- return;
87
- }
88
- // Read the file to check for workflow/step directives
89
- let content;
90
- try {
91
- content = await read();
92
- }
93
- catch {
94
- // File might have been deleted - trigger rebuild to update generated routes
95
- console.log('Workflow file deleted, regenerating routes...');
22
+ // Read the file to check for workflow/step directives
23
+ let content;
96
24
  try {
97
- await builder.build();
25
+ content = await read();
98
26
  }
99
- catch (buildError) {
100
- // Build might fail if files are being deleted during test cleanup
101
- // Log but don't crash - the next successful change will trigger a rebuild
102
- console.error('Build failed during file deletion:', buildError);
27
+ catch {
28
+ // File might have been deleted - trigger rebuild to update generated routes
29
+ console.log('Workflow file changed, rebuilding...');
30
+ await enqueue(() => builder.build());
31
+ return;
103
32
  }
33
+ const useWorkflowPattern = /^\s*(['"])use workflow\1;?\s*$/m;
34
+ const useStepPattern = /^\s*(['"])use step\1;?\s*$/m;
35
+ if (!useWorkflowPattern.test(content) &&
36
+ !useStepPattern.test(content)) {
37
+ return;
38
+ }
39
+ console.log('Workflow file changed, rebuilding...');
40
+ await enqueue(() => builder.build());
41
+ // Let Vite handle the normal HMR for the changed file
104
42
  return;
105
- }
106
- const useWorkflowPattern = /^\s*(['"])use workflow\1;?\s*$/m;
107
- const useStepPattern = /^\s*(['"])use step\1;?\s*$/m;
108
- if (!useWorkflowPattern.test(content) && !useStepPattern.test(content)) {
109
- return;
110
- }
111
- // Rebuild everything - simpler and more reliable than tracking individual files
112
- console.log('Workflow file changed, regenerating routes...');
113
- try {
114
- await builder.build();
115
- }
116
- catch (buildError) {
117
- // Build might fail if files are being modified/deleted during test cleanup
118
- // Log but don't crash - the next successful change will trigger a rebuild
119
- console.error('Build failed during HMR:', buildError);
120
- return;
121
- }
122
- // Trigger full reload of workflow routes
123
- server.ws.send({
124
- type: 'full-reload',
125
- path: '*',
126
- });
127
- // Let Vite handle the normal HMR for the changed file
128
- return;
43
+ },
129
44
  },
130
- };
45
+ ];
131
46
  }
132
47
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,cAAc;IAC5B,IAAI,OAAyB,CAAC;IAC9B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IAEnC,OAAO;QACL,uBAAuB,EAAE;QACzB;YACE,IAAI,EAAE,oBAAoB;YAC1B,cAAc;gBACZ,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,CAAC;YAED,6EAA6E;YAC7E,KAAK,CAAC,SAAS,CAAC,OAAyB;gBACvC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;gBAE/B,uEAAuE;gBACvE,MAAM,SAAS,GAAG,4BAA4B,CAAC;gBAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,OAAO;gBACT,CAAC;gBAED,sDAAsD;gBACtD,IAAI,OAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,4EAA4E;oBAC5E,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;oBACpD,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oBACrC,OAAO;gBACT,CAAC;gBAED,MAAM,kBAAkB,GAAG,iCAAiC,CAAC;gBAC7D,MAAM,cAAc,GAAG,6BAA6B,CAAC;gBAErD,IACE,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;oBACjC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAC7B,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBACpD,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBACrC,sDAAsD;gBACtD,OAAO;YACT,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow/sveltekit",
3
- "version": "4.0.0-beta.15",
3
+ "version": "4.0.0-beta.17",
4
4
  "description": "SvelteKit integration for Workflow DevKit",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -24,8 +24,9 @@
24
24
  "fs-extra": "^11.3.2",
25
25
  "exsolve": "^1.0.7",
26
26
  "pathe": "^2.0.3",
27
- "@workflow/builders": "4.0.1-beta.17",
28
- "@workflow/swc-plugin": "4.0.1-beta.7"
27
+ "@workflow/swc-plugin": "4.0.1-beta.9",
28
+ "@workflow/builders": "4.0.1-beta.19",
29
+ "@workflow/rollup": "4.0.0-beta.3"
29
30
  },
30
31
  "devDependencies": {
31
32
  "@types/fs-extra": "11.0.4",