@pipelab/plugin-core 1.0.0-beta.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE +110 -0
  3. package/README.md +3 -0
  4. package/dist/chunk-JTKJZQYV-CRyylFtW.mjs +1153 -0
  5. package/dist/chunk-JTKJZQYV-CRyylFtW.mjs.map +1 -0
  6. package/dist/chunk-JTKJZQYV-DwALyGe5.cjs +1186 -0
  7. package/dist/emscripten-module-BreoZ8PK.cjs +548 -0
  8. package/dist/emscripten-module-DVxR1x9z.mjs +549 -0
  9. package/dist/emscripten-module-DVxR1x9z.mjs.map +1 -0
  10. package/dist/emscripten-module-VHMWRAJ2-CZxK3CFi.cjs +373 -0
  11. package/dist/emscripten-module-VHMWRAJ2-Czcf6BHN.mjs +374 -0
  12. package/dist/emscripten-module-VHMWRAJ2-Czcf6BHN.mjs.map +1 -0
  13. package/dist/ffi-B2-9g6wM.cjs +143 -0
  14. package/dist/ffi-D46mojcp.cjs +143 -0
  15. package/dist/ffi-DjjqisTa.mjs +144 -0
  16. package/dist/ffi-DjjqisTa.mjs.map +1 -0
  17. package/dist/ffi-SCExi0U-.mjs +144 -0
  18. package/dist/ffi-SCExi0U-.mjs.map +1 -0
  19. package/dist/index.cjs +64621 -0
  20. package/dist/index.d.cts +121 -0
  21. package/dist/index.d.cts.map +1 -0
  22. package/dist/index.d.mts +121 -0
  23. package/dist/index.d.mts.map +1 -0
  24. package/dist/index.mjs +64445 -0
  25. package/dist/index.mjs.map +1 -0
  26. package/dist/module-6F3E5H7Y-BVGmvvK_.cjs +6 -0
  27. package/dist/module-6F3E5H7Y-DHjYta_R.mjs +2 -0
  28. package/package.json +56 -0
  29. package/src/archive-utils.ts +127 -0
  30. package/src/create-plugin.ts +8 -0
  31. package/src/custom-errors.ts +11 -0
  32. package/src/fs-utils.ts +31 -0
  33. package/src/index.ts +10 -0
  34. package/src/node-utils.ts +52 -0
  35. package/src/pipelab.ts +95 -0
  36. package/src/utils.ts +26 -0
  37. package/tsconfig.json +9 -0
  38. package/tsdown.config.ts +15 -0
@@ -0,0 +1,121 @@
1
+ import { ActionRunner, ActionRunnerData, ConditionRunner, DownloadHooks as Hooks, EventRunner, ExpressionRunner, LoopRunner, PipelabContext, Runner, RunnerCallbackFnArgument, downloadFile, fetchPackage, fetchPipelabAsset, fetchPipelabCli, fetchPipelabPlugin, runPnpm, runWithLiveLogs } from "@pipelab/core-node";
2
+ import { z as schema } from "zod";
3
+
4
+ //#region src/pipelab.d.ts
5
+ declare const createActionRunner: <ACTION extends Action>(runner: (data: ActionRunnerData<ACTION>) => Promise<void>) => (data: ActionRunnerData<ACTION>) => Promise<void>;
6
+ declare const createConditionRunner: <CONDITION extends Condition>(runner: (data: {
7
+ log: typeof console.log;
8
+ inputs: ExtractInputsFromCondition<CONDITION>;
9
+ setMeta: (callback: (data: CONDITION["meta"]) => CONDITION["meta"]) => void;
10
+ meta: CONDITION["meta"];
11
+ cwd: string;
12
+ context: PipelabContext;
13
+ }) => Promise<boolean>) => (data: {
14
+ log: typeof console.log;
15
+ inputs: ExtractInputsFromCondition<CONDITION>;
16
+ setMeta: (callback: (data: CONDITION["meta"]) => CONDITION["meta"]) => void;
17
+ meta: CONDITION["meta"];
18
+ cwd: string;
19
+ context: PipelabContext;
20
+ }) => Promise<boolean>;
21
+ declare const createLoopRunner: <LOOP extends Loop>(runner: (data: {
22
+ log: typeof console.log;
23
+ setOutput: SetOutputLoopFn<LOOP>;
24
+ inputs: ExtractInputsFromLoop<LOOP>;
25
+ setMeta: (callback: (data: LOOP["meta"]) => LOOP["meta"]) => void;
26
+ meta: LOOP["meta"];
27
+ cwd: string;
28
+ context: PipelabContext;
29
+ }) => Promise<"step" | "exit">) => (data: {
30
+ log: typeof console.log;
31
+ setOutput: SetOutputLoopFn<LOOP>;
32
+ inputs: ExtractInputsFromLoop<LOOP>;
33
+ setMeta: (callback: (data: LOOP["meta"]) => LOOP["meta"]) => void;
34
+ meta: LOOP["meta"];
35
+ cwd: string;
36
+ context: PipelabContext;
37
+ }) => Promise<"step" | "exit">;
38
+ declare const createExpressionRunner: <EXPRESSION extends Expression>(runner: (data: {
39
+ log: typeof console.log;
40
+ setOutput: SetOutputExpressionFn<EXPRESSION>;
41
+ inputs: ExtractInputsFromExpression<EXPRESSION>;
42
+ setMeta: (callback: (data: EXPRESSION["meta"]) => EXPRESSION["meta"]) => void;
43
+ meta: EXPRESSION["meta"];
44
+ cwd: string;
45
+ context: PipelabContext;
46
+ }) => Promise<string>) => (data: {
47
+ log: typeof console.log;
48
+ setOutput: SetOutputExpressionFn<EXPRESSION>;
49
+ inputs: ExtractInputsFromExpression<EXPRESSION>;
50
+ setMeta: (callback: (data: EXPRESSION["meta"]) => EXPRESSION["meta"]) => void;
51
+ meta: EXPRESSION["meta"];
52
+ cwd: string;
53
+ context: PipelabContext;
54
+ }) => Promise<string>;
55
+ declare const createEventRunner: <EVENT extends Event>(runner: (data: {
56
+ log: typeof console.log;
57
+ inputs: ExtractInputsFromEvent<EVENT>;
58
+ setMeta: (callback: (data: EVENT["meta"]) => EVENT["meta"]) => void;
59
+ meta: EVENT["meta"];
60
+ cwd: string;
61
+ context: PipelabContext;
62
+ }) => Promise<void>) => (data: {
63
+ log: typeof console.log;
64
+ inputs: ExtractInputsFromEvent<EVENT>;
65
+ setMeta: (callback: (data: EVENT["meta"]) => EVENT["meta"]) => void;
66
+ meta: EVENT["meta"];
67
+ cwd: string;
68
+ context: PipelabContext;
69
+ }) => Promise<void>;
70
+ declare const sleep: (duration: number) => Promise<unknown>;
71
+ //#endregion
72
+ //#region src/create-plugin.d.ts
73
+ type Plugin = {
74
+ nodes: Record<string, any>;
75
+ runtime: () => Promise<void>;
76
+ };
77
+ declare const createPlugin: (plugin: Plugin) => Plugin;
78
+ //#endregion
79
+ //#region src/utils.d.ts
80
+ declare const fileExists: (path: string) => Promise<boolean>;
81
+ //#endregion
82
+ //#region src/fs-utils.d.ts
83
+ declare const ensure: (filesPath: string, defaultContent?: string) => Promise<void>;
84
+ declare const generateTempFolder: (base?: string) => Promise<string>;
85
+ //#endregion
86
+ //#region src/archive-utils.d.ts
87
+ /**
88
+ * Extracts a .tar.gz archive.
89
+ * @param archivePath The full path to the .tar.gz file.
90
+ * @param destinationDir The directory to extract contents into.
91
+ * @returns A Promise that resolves when extraction is complete.
92
+ */
93
+ declare function extractTarGz(archivePath: string, destinationDir: string): Promise<void>;
94
+ /**
95
+ * Extracts a .zip archive.
96
+ * @param archivePath The full path to the .zip file.
97
+ * @param destinationDir The directory to extract contents into.
98
+ * @returns A Promise that resolves when extraction is complete.
99
+ */
100
+ declare function extractZip(archivePath: string, destinationDir: string): Promise<void>;
101
+ declare const zipFolder: (from: string, to: string, log: typeof console.log) => Promise<string>;
102
+ //#endregion
103
+ //#region src/custom-errors.d.ts
104
+ declare class ExternalCommandError extends Error {
105
+ code: number;
106
+ constructor(message: string, code: number);
107
+ }
108
+ //#endregion
109
+ //#region src/node-utils.d.ts
110
+ type OutputRuntimes = "construct" | "godot";
111
+ /**
112
+ * Detects the runtime of an app folder by checking for specific files.
113
+ * This function depends on Node.js APIs and should only be used in Node environments.
114
+ */
115
+ declare const detectRuntime: (appFolder: string | undefined) => Promise<OutputRuntimes | undefined>;
116
+ //#endregion
117
+ //#region src/index.d.ts
118
+ type NoData = { [index in string]?: unknown };
119
+ //#endregion
120
+ export { type ActionRunner, type ActionRunnerData, type ConditionRunner, type EventRunner, type ExpressionRunner, ExternalCommandError, type Hooks, type LoopRunner, NoData, OutputRuntimes, PipelabContext, Plugin, type Runner, type RunnerCallbackFnArgument, createActionRunner, createConditionRunner, createEventRunner, createExpressionRunner, createLoopRunner, createPlugin, detectRuntime, downloadFile, ensure, extractTarGz, extractZip, fetchPackage, fetchPipelabAsset, fetchPipelabCli, fetchPipelabPlugin, fileExists, generateTempFolder, runPnpm, runWithLiveLogs, schema, sleep, zipFolder };
121
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/pipelab.ts","../src/create-plugin.ts","../src/utils.ts","../src/fs-utils.ts","../src/archive-utils.ts","../src/custom-errors.ts","../src/node-utils.ts","../src/index.ts"],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import { ActionRunner, ActionRunnerData, ConditionRunner, DownloadHooks as Hooks, EventRunner, ExpressionRunner, LoopRunner, PipelabContext, Runner, RunnerCallbackFnArgument, downloadFile, fetchPackage, fetchPipelabAsset, fetchPipelabCli, fetchPipelabPlugin, runPnpm, runWithLiveLogs } from "@pipelab/core-node";
2
+ import { z as schema } from "zod";
3
+
4
+ //#region src/pipelab.d.ts
5
+ declare const createActionRunner: <ACTION extends Action>(runner: (data: ActionRunnerData<ACTION>) => Promise<void>) => (data: ActionRunnerData<ACTION>) => Promise<void>;
6
+ declare const createConditionRunner: <CONDITION extends Condition>(runner: (data: {
7
+ log: typeof console.log;
8
+ inputs: ExtractInputsFromCondition<CONDITION>;
9
+ setMeta: (callback: (data: CONDITION["meta"]) => CONDITION["meta"]) => void;
10
+ meta: CONDITION["meta"];
11
+ cwd: string;
12
+ context: PipelabContext;
13
+ }) => Promise<boolean>) => (data: {
14
+ log: typeof console.log;
15
+ inputs: ExtractInputsFromCondition<CONDITION>;
16
+ setMeta: (callback: (data: CONDITION["meta"]) => CONDITION["meta"]) => void;
17
+ meta: CONDITION["meta"];
18
+ cwd: string;
19
+ context: PipelabContext;
20
+ }) => Promise<boolean>;
21
+ declare const createLoopRunner: <LOOP extends Loop>(runner: (data: {
22
+ log: typeof console.log;
23
+ setOutput: SetOutputLoopFn<LOOP>;
24
+ inputs: ExtractInputsFromLoop<LOOP>;
25
+ setMeta: (callback: (data: LOOP["meta"]) => LOOP["meta"]) => void;
26
+ meta: LOOP["meta"];
27
+ cwd: string;
28
+ context: PipelabContext;
29
+ }) => Promise<"step" | "exit">) => (data: {
30
+ log: typeof console.log;
31
+ setOutput: SetOutputLoopFn<LOOP>;
32
+ inputs: ExtractInputsFromLoop<LOOP>;
33
+ setMeta: (callback: (data: LOOP["meta"]) => LOOP["meta"]) => void;
34
+ meta: LOOP["meta"];
35
+ cwd: string;
36
+ context: PipelabContext;
37
+ }) => Promise<"step" | "exit">;
38
+ declare const createExpressionRunner: <EXPRESSION extends Expression>(runner: (data: {
39
+ log: typeof console.log;
40
+ setOutput: SetOutputExpressionFn<EXPRESSION>;
41
+ inputs: ExtractInputsFromExpression<EXPRESSION>;
42
+ setMeta: (callback: (data: EXPRESSION["meta"]) => EXPRESSION["meta"]) => void;
43
+ meta: EXPRESSION["meta"];
44
+ cwd: string;
45
+ context: PipelabContext;
46
+ }) => Promise<string>) => (data: {
47
+ log: typeof console.log;
48
+ setOutput: SetOutputExpressionFn<EXPRESSION>;
49
+ inputs: ExtractInputsFromExpression<EXPRESSION>;
50
+ setMeta: (callback: (data: EXPRESSION["meta"]) => EXPRESSION["meta"]) => void;
51
+ meta: EXPRESSION["meta"];
52
+ cwd: string;
53
+ context: PipelabContext;
54
+ }) => Promise<string>;
55
+ declare const createEventRunner: <EVENT extends Event>(runner: (data: {
56
+ log: typeof console.log;
57
+ inputs: ExtractInputsFromEvent<EVENT>;
58
+ setMeta: (callback: (data: EVENT["meta"]) => EVENT["meta"]) => void;
59
+ meta: EVENT["meta"];
60
+ cwd: string;
61
+ context: PipelabContext;
62
+ }) => Promise<void>) => (data: {
63
+ log: typeof console.log;
64
+ inputs: ExtractInputsFromEvent<EVENT>;
65
+ setMeta: (callback: (data: EVENT["meta"]) => EVENT["meta"]) => void;
66
+ meta: EVENT["meta"];
67
+ cwd: string;
68
+ context: PipelabContext;
69
+ }) => Promise<void>;
70
+ declare const sleep: (duration: number) => Promise<unknown>;
71
+ //#endregion
72
+ //#region src/create-plugin.d.ts
73
+ type Plugin = {
74
+ nodes: Record<string, any>;
75
+ runtime: () => Promise<void>;
76
+ };
77
+ declare const createPlugin: (plugin: Plugin) => Plugin;
78
+ //#endregion
79
+ //#region src/utils.d.ts
80
+ declare const fileExists: (path: string) => Promise<boolean>;
81
+ //#endregion
82
+ //#region src/fs-utils.d.ts
83
+ declare const ensure: (filesPath: string, defaultContent?: string) => Promise<void>;
84
+ declare const generateTempFolder: (base?: string) => Promise<string>;
85
+ //#endregion
86
+ //#region src/archive-utils.d.ts
87
+ /**
88
+ * Extracts a .tar.gz archive.
89
+ * @param archivePath The full path to the .tar.gz file.
90
+ * @param destinationDir The directory to extract contents into.
91
+ * @returns A Promise that resolves when extraction is complete.
92
+ */
93
+ declare function extractTarGz(archivePath: string, destinationDir: string): Promise<void>;
94
+ /**
95
+ * Extracts a .zip archive.
96
+ * @param archivePath The full path to the .zip file.
97
+ * @param destinationDir The directory to extract contents into.
98
+ * @returns A Promise that resolves when extraction is complete.
99
+ */
100
+ declare function extractZip(archivePath: string, destinationDir: string): Promise<void>;
101
+ declare const zipFolder: (from: string, to: string, log: typeof console.log) => Promise<string>;
102
+ //#endregion
103
+ //#region src/custom-errors.d.ts
104
+ declare class ExternalCommandError extends Error {
105
+ code: number;
106
+ constructor(message: string, code: number);
107
+ }
108
+ //#endregion
109
+ //#region src/node-utils.d.ts
110
+ type OutputRuntimes = "construct" | "godot";
111
+ /**
112
+ * Detects the runtime of an app folder by checking for specific files.
113
+ * This function depends on Node.js APIs and should only be used in Node environments.
114
+ */
115
+ declare const detectRuntime: (appFolder: string | undefined) => Promise<OutputRuntimes | undefined>;
116
+ //#endregion
117
+ //#region src/index.d.ts
118
+ type NoData = { [index in string]?: unknown };
119
+ //#endregion
120
+ export { type ActionRunner, type ActionRunnerData, type ConditionRunner, type EventRunner, type ExpressionRunner, ExternalCommandError, type Hooks, type LoopRunner, NoData, OutputRuntimes, PipelabContext, Plugin, type Runner, type RunnerCallbackFnArgument, createActionRunner, createConditionRunner, createEventRunner, createExpressionRunner, createLoopRunner, createPlugin, detectRuntime, downloadFile, ensure, extractTarGz, extractZip, fetchPackage, fetchPipelabAsset, fetchPipelabCli, fetchPipelabPlugin, fileExists, generateTempFolder, runPnpm, runWithLiveLogs, schema, sleep, zipFolder };
121
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/pipelab.ts","../src/create-plugin.ts","../src/utils.ts","../src/fs-utils.ts","../src/archive-utils.ts","../src/custom-errors.ts","../src/node-utils.ts","../src/index.ts"],"mappings":";;;;cA0Ca,kBAAA,kBAAqC,MAAA,EAChD,MAAA,GAAS,IAAA,EAAM,gBAAA,CAAiB,MAAA,MAAY,OAAA,YAAa,IAAA,EAA1C,gBAAA,CAAiB,MAAA,MAAY,OAAA;AAAA,cAGjC,qBAAA,qBAA2C,SAAA,EACtD,MAAA,GAAS,IAAA;EACP,GAAA,SAAY,OAAA,CAAQ,GAAA;EACpB,MAAA,EAAQ,0BAAA,CAA2B,SAAA;EACnC,OAAA,GAAU,QAAA,GAAW,IAAA,EAAM,SAAA,aAAsB,SAAA;EACjD,IAAA,EAAM,SAAA;EACN,GAAA;EACA,OAAA,EAAS,cAAA;AAAA,MACL,OAAA,eAAgB,IAAA;EANpB,GAAA,SAAY,OAAA,CAAQ,GAAA;EACpB,MAAA,EAAQ,0BAAA,CAA2B,SAAA;EACnC,OAAA,GAAU,QAAA,GAAW,IAAA,EAAM,SAAA,aAAsB,SAAA;EACjD,IAAA,EAAM,SAAA;EACN,GAAA;EACA,OAAA,EAAS,cAAA;AAAA,MACL,OAAA;AAAA,cAGK,gBAAA,gBAAiC,IAAA,EAC5C,MAAA,GAAS,IAAA;EACP,GAAA,SAAY,OAAA,CAAQ,GAAA;EACpB,SAAA,EAAW,eAAA,CAAgB,IAAA;EAC3B,MAAA,EAAQ,qBAAA,CAAsB,IAAA;EAC9B,OAAA,GAAU,QAAA,GAAW,IAAA,EAAM,IAAA,aAAiB,IAAA;EAC5C,IAAA,EAAM,IAAA;EACN,GAAA;EACA,OAAA,EAAS,cAAA;AAAA,MACL,OAAA,uBAAwB,IAAA;EAP5B,GAAA,SAAY,OAAA,CAAQ,GAAA;EACpB,SAAA,EAAW,eAAA,CAAgB,IAAA;EAC3B,MAAA,EAAQ,qBAAA,CAAsB,IAAA;EAC9B,OAAA,GAAU,QAAA,GAAW,IAAA,EAAM,IAAA,aAAiB,IAAA;EAC5C,IAAA,EAAM,IAAA;EACN,GAAA;EACA,OAAA,EAAS,cAAA;AAAA,MACL,OAAA;AAAA,cAGK,sBAAA,sBAA6C,UAAA,EACxD,MAAA,GAAS,IAAA;EACP,GAAA,SAAY,OAAA,CAAQ,GAAA;EACpB,SAAA,EAAW,qBAAA,CAAsB,UAAA;EACjC,MAAA,EAAQ,2BAAA,CAA4B,UAAA;EACpC,OAAA,GAAU,QAAA,GAAW,IAAA,EAAM,UAAA,aAAuB,UAAA;EAClD,IAAA,EAAM,UAAA;EACN,GAAA;EACA,OAAA,EAAS,cAAA;AAAA,MACL,OAAA,cAAe,IAAA;EAPnB,GAAA,SAAY,OAAA,CAAQ,GAAA;EACpB,SAAA,EAAW,qBAAA,CAAsB,UAAA;EACjC,MAAA,EAAQ,2BAAA,CAA4B,UAAA;EACpC,OAAA,GAAU,QAAA,GAAW,IAAA,EAAM,UAAA,aAAuB,UAAA;EAClD,IAAA,EAAM,UAAA;EACN,GAAA;EACA,OAAA,EAAS,cAAA;AAAA,MACL,OAAA;AAAA,cAGK,iBAAA,iBAAmC,KAAA,EAC9C,MAAA,GAAS,IAAA;EACP,GAAA,SAAY,OAAA,CAAQ,GAAA;EACpB,MAAA,EAAQ,sBAAA,CAAuB,KAAA;EAC/B,OAAA,GAAU,QAAA,GAAW,IAAA,EAAM,KAAA,aAAkB,KAAA;EAC7C,IAAA,EAAM,KAAA;EACN,GAAA;EACA,OAAA,EAAS,cAAA;AAAA,MACL,OAAA,YAAa,IAAA;EANjB,GAAA,SAAY,OAAA,CAAQ,GAAA;EACpB,MAAA,EAAQ,sBAAA,CAAuB,KAAA;EAC/B,OAAA,GAAU,QAAA,GAAW,IAAA,EAAM,KAAA,aAAkB,KAAA;EAC7C,IAAA,EAAM,KAAA;EACN,GAAA;EACA,OAAA,EAAS,cAAA;AAAA,MACL,OAAA;AAAA,cAGK,KAAA,GAAS,QAAA,aAAgB,OAAA;;;KC5F1B,MAAA;EACV,KAAA,EAAO,MAAA;EACP,OAAA,QAAe,OAAA;AAAA;AAAA,cAGJ,YAAA,GAAgB,MAAA,EAAQ,MAAA,KAAM,MAAA;;;cCY9B,UAAA,GAAoB,IAAA,aAAe,OAAA;;;cCZnC,MAAA,GAAgB,SAAA,UAAmB,cAAA,cAAqB,OAAA;AAAA,cAexD,kBAAA,GAA4B,IAAA,cAAa,OAAA;;;;;;;AHsBtD;;iBI5BsB,YAAA,CAAa,WAAA,UAAqB,cAAA,WAAyB,OAAA;;;;;;;iBAoB3D,UAAA,CAAW,WAAA,UAAqB,cAAA,WAAyB,OAAA;AAAA,cAuDlE,SAAA,GAAmB,IAAA,UAAc,EAAA,UAAY,GAAA,SAAY,OAAA,CAAQ,GAAA,KAAG,OAAA;;;cCzFpE,oBAAA,SAA6B,KAAA;EACxC,IAAA;cAEY,OAAA,UAAiB,IAAA;AAAA;;;KCAnB,cAAA;;;;ANuCZ;cMxBa,aAAA,GACX,SAAA,yBACC,OAAA,CAAQ,cAAA;;;KCXC,MAAA"}