@workflow/vite 5.0.0-beta.7 → 5.0.0-beta.9
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/hot-update.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
- package/dist/hot-update.js.map +0 -1
- package/dist/index.js.map +0 -1
package/dist/hot-update.js
CHANGED
|
@@ -52,4 +52,4 @@ export function workflowHotUpdatePlugin(options) {
|
|
|
52
52
|
},
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LXVwZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ob3QtdXBkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxzQkFBc0IsRUFDdEIsdUJBQXVCLEdBQ3hCLE1BQU0sb0JBQW9CLENBQUM7QUFnQjVCOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FDckMsT0FBdUM7SUFFdkMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFckMsa0RBQWtEO0lBQ2xELE1BQU0sUUFBUSxHQUFHLE9BQU8sSUFBSSxDQUFDLENBQUMsRUFBdUIsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVoRSxPQUFPO1FBQ0wsSUFBSSxFQUFFLHFCQUFxQjtRQUMzQixLQUFLLENBQUMsU0FBUyxDQUFDLEdBQXFCO1lBQ25DLHNFQUFzRTtZQUN0RSxNQUFNLGVBQWUsR0FDbkIsT0FBTyxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBRXRELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDckIsZ0RBQWdEO2dCQUNoRCxPQUFPO1lBQ1QsQ0FBQztZQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBRTNCLHVFQUF1RTtZQUN2RSxNQUFNLFNBQVMsR0FBRyw0QkFBNEIsQ0FBQztZQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMxQixPQUFPO1lBQ1QsQ0FBQztZQUVELHNFQUFzRTtZQUN0RSxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLE9BQU87WUFDVCxDQUFDO1lBRUQsc0RBQXNEO1lBQ3RELElBQUksT0FBZSxDQUFDO1lBQ3BCLElBQUksQ0FBQztnQkFDSCxPQUFPLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUN6QixDQUFDO1lBQUMsTUFBTSxDQUFDO2dCQUNQLDRFQUE0RTtnQkFDNUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO2dCQUNwRCxNQUFNLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDOUMsT0FBTztZQUNULENBQUM7WUFFRCxrREFBa0Q7WUFDbEQsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2pELE9BQU87WUFDVCxDQUFDO1lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLHNEQUFzRDtZQUN0RCxPQUFPO1FBQ1QsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCYXNlQnVpbGRlcixcbiAgZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyxcbiAgaXNHZW5lcmF0ZWRXb3JrZmxvd0ZpbGUsXG59IGZyb20gJ0B3b3JrZmxvdy9idWlsZGVycyc7XG5pbXBvcnQgdHlwZSB7IEhvdFVwZGF0ZU9wdGlvbnMsIFBsdWdpbiB9IGZyb20gJ3ZpdGUnO1xuXG5pbnRlcmZhY2UgV29ya2Zsb3dIb3RVcGRhdGVQbHVnaW5PcHRpb25zIHtcbiAgLyoqXG4gICAqIEJ1aWxkZXIgaW5zdGFuY2Ugb3IgYSBnZXR0ZXIgZnVuY3Rpb24uXG4gICAqIFVzZSBhIGdldHRlciB3aGVuIHRoZSBidWlsZGVyIGlzIGNyZWF0ZWQgbGF6aWx5IChlLmcuLCBOaXRybyB3aGVyZSBpdCBkZXBlbmRzIG9uIHRoZSBuaXRybyBvYmplY3QpLlxuICAgKi9cbiAgYnVpbGRlcjogQmFzZUJ1aWxkZXIgfCAoKCkgPT4gQmFzZUJ1aWxkZXIgfCB1bmRlZmluZWQpIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogT3B0aW9uYWwgYnVpbGQgcXVldWUgZnVuY3Rpb24gdG8gcHJldmVudCBjb25jdXJyZW50IGJ1aWxkcy5cbiAgICogSWYgbm90IHByb3ZpZGVkLCBidWlsZHMgd2lsbCBydW4gZGlyZWN0bHkuXG4gICAqL1xuICBlbnF1ZXVlPzogKGZuOiAoKSA9PiBQcm9taXNlPHZvaWQ+KSA9PiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIFZpdGUgcGx1Z2luIHRoYXQgd2F0Y2hlcyBmb3Igd29ya2Zsb3cvc3RlcCBmaWxlIGNoYW5nZXMgYW5kIHRyaWdnZXJzIHJlYnVpbGRzLlxuICpcbiAqIFRoaXMgcGx1Z2luIGRldGVjdHMgY2hhbmdlcyB0byBmaWxlcyBjb250YWluaW5nIGBcInVzZSB3b3JrZmxvd1wiYCBvciBgXCJ1c2Ugc3RlcFwiYFxuICogZGlyZWN0aXZlcywgb3IgY3VzdG9tIHNlcmlhbGl6YXRpb24gcGF0dGVybnMgKGBAd29ya2Zsb3cvc2VyZGVgIGltcG9ydHMgb3JcbiAqIGBTeW1ib2wuZm9yKCd3b3JrZmxvdy1zZXJpYWxpemUnKWApLCBhbmQgY2FsbHMgdGhlIGJ1aWxkZXIgdG8gcmVnZW5lcmF0ZSByb3V0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3b3JrZmxvd0hvdFVwZGF0ZVBsdWdpbihcbiAgb3B0aW9uczogV29ya2Zsb3dIb3RVcGRhdGVQbHVnaW5PcHRpb25zXG4pOiBQbHVnaW4ge1xuICBjb25zdCB7IGJ1aWxkZXIsIGVucXVldWUgfSA9IG9wdGlvbnM7XG5cbiAgLy8gRGVmYXVsdCBlbnF1ZXVlIGp1c3QgcnVucyB0aGUgZnVuY3Rpb24gZGlyZWN0bHlcbiAgY29uc3QgcnVuQnVpbGQgPSBlbnF1ZXVlID8/ICgoZm46ICgpID0+IFByb21pc2U8dm9pZD4pID0+IGZuKCkpO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3dvcmtmbG93OmhvdC11cGRhdGUnLFxuICAgIGFzeW5jIGhvdFVwZGF0ZShjdHg6IEhvdFVwZGF0ZU9wdGlvbnMpIHtcbiAgICAgIC8vIFJlc29sdmUgYnVpbGRlciAoc3VwcG9ydHMgYm90aCBkaXJlY3QgaW5zdGFuY2UgYW5kIGdldHRlciBmdW5jdGlvbilcbiAgICAgIGNvbnN0IHJlc29sdmVkQnVpbGRlciA9XG4gICAgICAgIHR5cGVvZiBidWlsZGVyID09PSAnZnVuY3Rpb24nID8gYnVpbGRlcigpIDogYnVpbGRlcjtcblxuICAgICAgaWYgKCFyZXNvbHZlZEJ1aWxkZXIpIHtcbiAgICAgICAgLy8gQnVpbGRlciBub3QgYXZhaWxhYmxlIChlLmcuLCBwcm9kdWN0aW9uIG1vZGUpXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBmaWxlLCByZWFkIH0gPSBjdHg7XG5cbiAgICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSBUUy9KUyBmaWxlIHRoYXQgbWlnaHQgY29udGFpbiB3b3JrZmxvdyBkaXJlY3RpdmVzXG4gICAgICBjb25zdCBqc1RzUmVnZXggPSAvXFwuKHRzfHRzeHxqc3xqc3h8bWpzfGNqcykkLztcbiAgICAgIGlmICghanNUc1JlZ2V4LnRlc3QoZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBTa2lwIGdlbmVyYXRlZCB3b3JrZmxvdyByb3V0ZSBmaWxlcyB0byBhdm9pZCBpbmZpbml0ZSByZWJ1aWxkIGxvb3BzXG4gICAgICBpZiAoaXNHZW5lcmF0ZWRXb3JrZmxvd0ZpbGUoZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWFkIHRoZSBmaWxlIHRvIGNoZWNrIGZvciB3b3JrZmxvdy9zdGVwIGRpcmVjdGl2ZXNcbiAgICAgIGxldCBjb250ZW50OiBzdHJpbmc7XG4gICAgICB0cnkge1xuICAgICAgICBjb250ZW50ID0gYXdhaXQgcmVhZCgpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIEZpbGUgbWlnaHQgaGF2ZSBiZWVuIGRlbGV0ZWQgLSB0cmlnZ2VyIHJlYnVpbGQgdG8gdXBkYXRlIGdlbmVyYXRlZCByb3V0ZXNcbiAgICAgICAgY29uc29sZS5sb2coJ1dvcmtmbG93IGZpbGUgY2hhbmdlZCwgcmVidWlsZGluZy4uLicpO1xuICAgICAgICBhd2FpdCBydW5CdWlsZCgoKSA9PiByZXNvbHZlZEJ1aWxkZXIuYnVpbGQoKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gRGV0ZWN0IHdvcmtmbG93IHBhdHRlcm5zIHVzaW5nIHNoYXJlZCB1dGlsaXRpZXNcbiAgICAgIGNvbnN0IHBhdHRlcm5zID0gZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyhjb250ZW50KTtcblxuICAgICAgaWYgKCFwYXR0ZXJucy5oYXNEaXJlY3RpdmUgJiYgIXBhdHRlcm5zLmhhc1NlcmRlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc29sZS5sb2coJ1dvcmtmbG93IGZpbGUgY2hhbmdlZCwgcmVidWlsZGluZy4uLicpO1xuICAgICAgYXdhaXQgcnVuQnVpbGQoKCkgPT4gcmVzb2x2ZWRCdWlsZGVyLmJ1aWxkKCkpO1xuICAgICAgLy8gTGV0IFZpdGUgaGFuZGxlIHRoZSBub3JtYWwgSE1SIGZvciB0aGUgY2hhbmdlZCBmaWxlXG4gICAgICByZXR1cm47XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { workflowHotUpdatePlugin } from './hot-update.js';
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyB3b3JrZmxvd0hvdFVwZGF0ZVBsdWdpbiB9IGZyb20gJy4vaG90LXVwZGF0ZS5qcyc7XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow/vite",
|
|
3
3
|
"description": "Vite plugin for Workflow SDK",
|
|
4
|
-
"version": "5.0.0-beta.
|
|
4
|
+
"version": "5.0.0-beta.9",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"files": [
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@workflow/builders": "5.0.0-beta.
|
|
26
|
+
"@workflow/builders": "5.0.0-beta.9"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/node": "22.19.0",
|
package/dist/hot-update.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hot-update.js","sourceRoot":"","sources":["../src/hot-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAgB5B;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAuC;IAEvC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAErC,kDAAkD;IAClD,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,CAAC,EAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,KAAK,CAAC,SAAS,CAAC,GAAqB;YACnC,sEAAsE;YACtE,MAAM,eAAe,GACnB,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAEtD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,gDAAgD;gBAChD,OAAO;YACT,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;YAE3B,uEAAuE;YACvE,MAAM,SAAS,GAAG,4BAA4B,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,sEAAsE;YACtE,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,sDAAsD;YACtD,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,4EAA4E;gBAC5E,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBACpD,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YAED,kDAAkD;YAClD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAEjD,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACjD,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACpD,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,sDAAsD;YACtD,OAAO;QACT,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import {\n type BaseBuilder,\n detectWorkflowPatterns,\n isGeneratedWorkflowFile,\n} from '@workflow/builders';\nimport type { HotUpdateOptions, Plugin } from 'vite';\n\ninterface WorkflowHotUpdatePluginOptions {\n /**\n * Builder instance or a getter function.\n * Use a getter when the builder is created lazily (e.g., Nitro where it depends on the nitro object).\n */\n builder: BaseBuilder | (() => BaseBuilder | undefined) | undefined;\n /**\n * Optional build queue function to prevent concurrent builds.\n * If not provided, builds will run directly.\n */\n enqueue?: (fn: () => Promise<void>) => Promise<void>;\n}\n\n/**\n * Vite plugin that watches for workflow/step file changes and triggers rebuilds.\n *\n * This plugin detects changes to files containing `\"use workflow\"` or `\"use step\"`\n * directives, or custom serialization patterns (`@workflow/serde` imports or\n * `Symbol.for('workflow-serialize')`), and calls the builder to regenerate routes.\n */\nexport function workflowHotUpdatePlugin(\n options: WorkflowHotUpdatePluginOptions\n): Plugin {\n const { builder, enqueue } = options;\n\n // Default enqueue just runs the function directly\n const runBuild = enqueue ?? ((fn: () => Promise<void>) => fn());\n\n return {\n name: 'workflow:hot-update',\n async hotUpdate(ctx: HotUpdateOptions) {\n // Resolve builder (supports both direct instance and getter function)\n const resolvedBuilder =\n typeof builder === 'function' ? builder() : builder;\n\n if (!resolvedBuilder) {\n // Builder not available (e.g., production mode)\n return;\n }\n\n const { file, read } = ctx;\n\n // Check if this is a TS/JS file that might contain workflow directives\n const jsTsRegex = /\\.(ts|tsx|js|jsx|mjs|cjs)$/;\n if (!jsTsRegex.test(file)) {\n return;\n }\n\n // Skip generated workflow route files to avoid infinite rebuild loops\n if (isGeneratedWorkflowFile(file)) {\n return;\n }\n\n // Read the file to check for workflow/step directives\n let content: string;\n try {\n content = await read();\n } catch {\n // File might have been deleted - trigger rebuild to update generated routes\n console.log('Workflow file changed, rebuilding...');\n await runBuild(() => resolvedBuilder.build());\n return;\n }\n\n // Detect workflow patterns using shared utilities\n const patterns = detectWorkflowPatterns(content);\n\n if (!patterns.hasDirective && !patterns.hasSerde) {\n return;\n }\n\n console.log('Workflow file changed, rebuilding...');\n await runBuild(() => resolvedBuilder.build());\n // Let Vite handle the normal HMR for the changed file\n return;\n },\n };\n}\n"]}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["export { workflowHotUpdatePlugin } from './hot-update.js';\n"]}
|