@powerlines/engine 0.9.3 → 0.9.4
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/api/build.d.mts +2 -2
- package/dist/api/clean.d.mts +2 -2
- package/dist/api/create.d.mts +2 -2
- package/dist/api/deploy.d.mts +2 -2
- package/dist/api/docs.d.mts +2 -2
- package/dist/api/lint.d.mts +2 -2
- package/dist/api/prepare.d.mts +2 -2
- package/dist/api/test.d.mts +2 -2
- package/dist/api/types.d.mts +2 -2
- package/dist/{api-CcNgO71y.d.mts → api-Cdw4v0W4.d.mts} +3 -3
- package/dist/{api-CcNgO71y.d.mts.map → api-Cdw4v0W4.d.mts.map} +1 -1
- package/dist/{config-C9AD-erz.d.mts → config-BNe23XHx.d.mts} +1 -1
- package/dist/{config-C9AD-erz.d.mts.map → config-BNe23XHx.d.mts.map} +1 -1
- package/dist/{engine-context-SEzTm1aq.cjs → context/engine-context.cjs} +3 -7
- package/dist/context/engine-context.d.cts +2 -0
- package/dist/context/engine-context.d.mts +2 -0
- package/dist/{engine-context-f72fUF0N.mjs → context/engine-context.mjs} +2 -2
- package/dist/context/engine-context.mjs.map +1 -0
- package/dist/context/index.cjs +2 -2
- package/dist/context/index.d.mts +1 -1
- package/dist/context/index.mjs +1 -1
- package/dist/{context-S3XH2DWP.d.mts → context-DzgsMSWr.d.mts} +2 -2
- package/dist/{context-S3XH2DWP.d.mts.map → context-DzgsMSWr.d.mts.map} +1 -1
- package/dist/{engine-context-BiDxBwme.d.mts → engine-context-DEotmVzB.d.mts} +3 -3
- package/dist/{engine-context-BiDxBwme.d.mts.map → engine-context-DEotmVzB.d.mts.map} +1 -1
- package/dist/engine.cjs +2 -2
- package/dist/engine.d.mts +4 -4
- package/dist/engine.mjs +1 -1
- package/dist/execution-host.cjs +44 -0
- package/dist/execution-host.d.cts +14 -0
- package/dist/execution-host.d.cts.map +1 -0
- package/dist/execution-host.d.mts +14 -0
- package/dist/execution-host.d.mts.map +1 -0
- package/dist/execution-host.mjs +36 -0
- package/dist/execution-host.mjs.map +1 -0
- package/dist/helpers/create-execution-host.cjs +5 -3
- package/dist/helpers/create-execution-host.d.cts +4 -1
- package/dist/helpers/create-execution-host.d.cts.map +1 -1
- package/dist/helpers/create-execution-host.d.mts +7 -4
- package/dist/helpers/create-execution-host.d.mts.map +1 -1
- package/dist/helpers/create-execution-host.mjs +5 -3
- package/dist/helpers/create-execution-host.mjs.map +1 -1
- package/dist/helpers/execution-host-worker.d.mts +2 -2
- package/dist/helpers/rpc.d.mts +1 -1
- package/dist/index-CNgSR_kt.d.mts +1 -0
- package/dist/index-D_TYgLX3.d.cts +1 -0
- package/dist/index.cjs +10 -1
- package/dist/index.d.cts +5 -1
- package/dist/index.d.mts +8 -4
- package/dist/index.mjs +6 -1
- package/package.json +13 -5
- package/dist/engine-context-f72fUF0N.mjs.map +0 -1
- package/dist/worker/execution-host.cjs +0 -577
- package/dist/worker/execution-host.d.cts +0 -76
- package/dist/worker/execution-host.d.cts.map +0 -1
- package/dist/worker/execution-host.d.mts +0 -76
- package/dist/worker/execution-host.d.mts.map +0 -1
- package/dist/worker/execution-host.mjs +0 -540
- package/dist/worker/execution-host.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_context_engine_context = require('./context/engine-context.cjs');
|
|
2
3
|
const require_engine = require('./engine.cjs');
|
|
4
|
+
const require_helpers_rpc = require('./helpers/rpc.cjs');
|
|
5
|
+
const require_helpers_create_execution_host = require('./helpers/create-execution-host.cjs');
|
|
6
|
+
require('./context/index.cjs');
|
|
7
|
+
const require_helpers_finalize = require('./helpers/finalize.cjs');
|
|
3
8
|
|
|
4
9
|
exports.PowerlinesEngine = require_engine.PowerlinesEngine;
|
|
10
|
+
exports.PowerlinesEngineContext = require_context_engine_context.PowerlinesEngineContext;
|
|
5
11
|
exports.createContext = require_engine.createContext;
|
|
6
|
-
exports.createEngine = require_engine.createEngine;
|
|
12
|
+
exports.createEngine = require_engine.createEngine;
|
|
13
|
+
exports.createExecutionHost = require_helpers_create_execution_host.createExecutionHost;
|
|
14
|
+
exports.createRpcClient = require_helpers_rpc.createRpcClient;
|
|
15
|
+
exports.finalize = require_helpers_finalize.finalize;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { C as RpcServerFunctions, D as WrappedRpcFunctions, E as WrappedRpcFunction, S as RpcPayloadMetadata, T as WrapRpcFunctions, _ as RpcClientRemoteFunctions, a as ExtractRpcFunction, b as RpcFunctions, c as InputRpcFunctions, d as RpcClientCall, f as RpcClientCallEvent, g as RpcClientHost, h as RpcClientFunctions, i as RpcClientOptions, l as LogPayload, m as RpcClientEvents, n as EngineOptions, o as ExtractRpcFunctions, p as RpcClientCallOptional, r as EngineResolvedConfig, s as InputRpcFunction, t as EngineExecutionOptions, u as RpcClient, v as RpcContext, w as WrapRpcFunction, x as RpcPayloadEnvelop, y as RpcFunction } from "./config-D6xUniHh.cjs";
|
|
2
2
|
import { a as ExecutionHookScopeState, c as ExecutionScopeType, i as ExecutionCommandScopeState, l as ExecutionState, n as EngineExecutionItem, o as ExecutionPluginScopeState, r as EngineSystemContext, s as ExecutionScopeState, t as EngineContext } from "./context-epL7NPvL.cjs";
|
|
3
|
+
import { t as PowerlinesEngineContext } from "./engine-context-Dw8odBCo.cjs";
|
|
3
4
|
import { a as PowerlinesExecutionHost, i as ExecutionInterface, n as ExecutionHost, o as Worker, r as ExecutionHostParams, t as Engine } from "./api-6w4hZL6n.cjs";
|
|
4
5
|
import { PowerlinesEngine, createContext, createEngine } from "./engine.cjs";
|
|
5
|
-
|
|
6
|
+
import { createExecutionHost } from "./helpers/create-execution-host.cjs";
|
|
7
|
+
import { finalize } from "./helpers/finalize.cjs";
|
|
8
|
+
import { createRpcClient } from "./helpers/rpc.cjs";
|
|
9
|
+
export { Engine, EngineContext, EngineExecutionItem, EngineExecutionOptions, EngineOptions, EngineResolvedConfig, EngineSystemContext, ExecutionCommandScopeState, ExecutionHookScopeState, ExecutionHost, ExecutionHostParams, ExecutionInterface, ExecutionPluginScopeState, ExecutionScopeState, ExecutionScopeType, ExecutionState, ExtractRpcFunction, ExtractRpcFunctions, InputRpcFunction, InputRpcFunctions, LogPayload, PowerlinesEngine, PowerlinesEngineContext, PowerlinesExecutionHost, RpcClient, RpcClientCall, RpcClientCallEvent, RpcClientCallOptional, RpcClientEvents, RpcClientFunctions, RpcClientHost, RpcClientOptions, RpcClientRemoteFunctions, RpcContext, RpcFunction, RpcFunctions, RpcPayloadEnvelop, RpcPayloadMetadata, RpcServerFunctions, Worker, WrapRpcFunction, WrapRpcFunctions, WrappedRpcFunction, WrappedRpcFunctions, createContext, createEngine, createExecutionHost, createRpcClient, finalize };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { C as RpcServerFunctions, D as WrappedRpcFunctions, E as WrappedRpcFunction, S as RpcPayloadMetadata, T as WrapRpcFunctions, _ as RpcClientRemoteFunctions, a as ExtractRpcFunction, b as RpcFunctions, c as InputRpcFunctions, d as RpcClientCall, f as RpcClientCallEvent, g as RpcClientHost, h as RpcClientFunctions, i as RpcClientOptions, l as LogPayload, m as RpcClientEvents, n as EngineOptions, o as ExtractRpcFunctions, p as RpcClientCallOptional, r as EngineResolvedConfig, s as InputRpcFunction, t as EngineExecutionOptions, u as RpcClient, v as RpcContext, w as WrapRpcFunction, x as RpcPayloadEnvelop, y as RpcFunction } from "./config-
|
|
2
|
-
import { a as ExecutionHookScopeState, c as ExecutionScopeType, i as ExecutionCommandScopeState, l as ExecutionState, n as EngineExecutionItem, o as ExecutionPluginScopeState, r as EngineSystemContext, s as ExecutionScopeState, t as EngineContext } from "./context-
|
|
3
|
-
import {
|
|
1
|
+
import { C as RpcServerFunctions, D as WrappedRpcFunctions, E as WrappedRpcFunction, S as RpcPayloadMetadata, T as WrapRpcFunctions, _ as RpcClientRemoteFunctions, a as ExtractRpcFunction, b as RpcFunctions, c as InputRpcFunctions, d as RpcClientCall, f as RpcClientCallEvent, g as RpcClientHost, h as RpcClientFunctions, i as RpcClientOptions, l as LogPayload, m as RpcClientEvents, n as EngineOptions, o as ExtractRpcFunctions, p as RpcClientCallOptional, r as EngineResolvedConfig, s as InputRpcFunction, t as EngineExecutionOptions, u as RpcClient, v as RpcContext, w as WrapRpcFunction, x as RpcPayloadEnvelop, y as RpcFunction } from "./config-BNe23XHx.mjs";
|
|
2
|
+
import { a as ExecutionHookScopeState, c as ExecutionScopeType, i as ExecutionCommandScopeState, l as ExecutionState, n as EngineExecutionItem, o as ExecutionPluginScopeState, r as EngineSystemContext, s as ExecutionScopeState, t as EngineContext } from "./context-DzgsMSWr.mjs";
|
|
3
|
+
import { t as PowerlinesEngineContext } from "./engine-context-DEotmVzB.mjs";
|
|
4
|
+
import { a as PowerlinesExecutionHost, i as ExecutionInterface, n as ExecutionHost, o as Worker, r as ExecutionHostParams, t as Engine } from "./api-Cdw4v0W4.mjs";
|
|
4
5
|
import { PowerlinesEngine, createContext, createEngine } from "./engine.mjs";
|
|
5
|
-
|
|
6
|
+
import { createExecutionHost } from "./helpers/create-execution-host.mjs";
|
|
7
|
+
import { finalize } from "./helpers/finalize.mjs";
|
|
8
|
+
import { createRpcClient } from "./helpers/rpc.mjs";
|
|
9
|
+
export { Engine, EngineContext, EngineExecutionItem, EngineExecutionOptions, EngineOptions, EngineResolvedConfig, EngineSystemContext, ExecutionCommandScopeState, ExecutionHookScopeState, ExecutionHost, ExecutionHostParams, ExecutionInterface, ExecutionPluginScopeState, ExecutionScopeState, ExecutionScopeType, ExecutionState, ExtractRpcFunction, ExtractRpcFunctions, InputRpcFunction, InputRpcFunctions, LogPayload, PowerlinesEngine, PowerlinesEngineContext, PowerlinesExecutionHost, RpcClient, RpcClientCall, RpcClientCallEvent, RpcClientCallOptional, RpcClientEvents, RpcClientFunctions, RpcClientHost, RpcClientOptions, RpcClientRemoteFunctions, RpcContext, RpcFunction, RpcFunctions, RpcPayloadEnvelop, RpcPayloadMetadata, RpcServerFunctions, Worker, WrapRpcFunction, WrapRpcFunctions, WrappedRpcFunction, WrappedRpcFunctions, createContext, createEngine, createExecutionHost, createRpcClient, finalize };
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import { PowerlinesEngineContext } from "./context/engine-context.mjs";
|
|
1
2
|
import { PowerlinesEngine, createContext, createEngine } from "./engine.mjs";
|
|
3
|
+
import { createRpcClient } from "./helpers/rpc.mjs";
|
|
4
|
+
import { createExecutionHost } from "./helpers/create-execution-host.mjs";
|
|
5
|
+
import "./context/index.mjs";
|
|
6
|
+
import { finalize } from "./helpers/finalize.mjs";
|
|
2
7
|
|
|
3
|
-
export { PowerlinesEngine, createContext, createEngine };
|
|
8
|
+
export { PowerlinesEngine, PowerlinesEngineContext, createContext, createEngine, createExecutionHost, createRpcClient, finalize };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerlines/engine",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "An internal package containing the core engine modules for Powerlines.",
|
|
6
6
|
"homepage": "https://stormsoftware.com",
|
|
@@ -80,13 +80,17 @@
|
|
|
80
80
|
"import": "./dist/context/index.mjs",
|
|
81
81
|
"require": "./dist/context/index.cjs"
|
|
82
82
|
},
|
|
83
|
+
"./context/engine-context": {
|
|
84
|
+
"import": "./dist/context/engine-context.mjs",
|
|
85
|
+
"require": "./dist/context/engine-context.cjs"
|
|
86
|
+
},
|
|
83
87
|
"./engine": {
|
|
84
88
|
"import": "./dist/engine.mjs",
|
|
85
89
|
"require": "./dist/engine.cjs"
|
|
86
90
|
},
|
|
87
91
|
"./execution-host": {
|
|
88
|
-
"import": "./dist/
|
|
89
|
-
"require": "./dist/
|
|
92
|
+
"import": "./dist/execution-host.mjs",
|
|
93
|
+
"require": "./dist/execution-host.cjs"
|
|
90
94
|
},
|
|
91
95
|
"./helpers/create-execution-host": {
|
|
92
96
|
"import": "./dist/helpers/create-execution-host.mjs",
|
|
@@ -100,6 +104,10 @@
|
|
|
100
104
|
"import": "./dist/helpers/finalize.mjs",
|
|
101
105
|
"require": "./dist/helpers/finalize.cjs"
|
|
102
106
|
},
|
|
107
|
+
"./helpers/rpc": {
|
|
108
|
+
"import": "./dist/helpers/rpc.mjs",
|
|
109
|
+
"require": "./dist/helpers/rpc.cjs"
|
|
110
|
+
},
|
|
103
111
|
"./package.json": "./package.json"
|
|
104
112
|
},
|
|
105
113
|
"main": "./dist/index.cjs",
|
|
@@ -107,7 +115,7 @@
|
|
|
107
115
|
"types": "./dist/index.d.cts",
|
|
108
116
|
"files": ["dist"],
|
|
109
117
|
"dependencies": {
|
|
110
|
-
"@powerlines/core": "^0.9.
|
|
118
|
+
"@powerlines/core": "^0.9.4",
|
|
111
119
|
"@storm-software/config": "^1.137.35",
|
|
112
120
|
"@storm-software/config-tools": "^1.190.2",
|
|
113
121
|
"@stryke/async": "^0.1.4",
|
|
@@ -143,5 +151,5 @@
|
|
|
143
151
|
"@types/node": "^25.7.0",
|
|
144
152
|
"typescript": "^6.0.3"
|
|
145
153
|
},
|
|
146
|
-
"gitHead": "
|
|
154
|
+
"gitHead": "d4a8d246daab3521b23879104d876fabbdbfecc7"
|
|
147
155
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"engine-context-f72fUF0N.mjs","names":["#devtools","#logLevel","#executions"],"sources":["../src/context/engine-context.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type {\n FrameworkOptions,\n InlineConfig,\n LogFn,\n LoggerOptions,\n LogLevelResolvedConfig\n} from \"@powerlines/core\";\nimport { PowerlinesBaseContext } from \"@powerlines/core/context/base-context\";\nimport {\n getDefaultLogLevel,\n loadParsedConfig,\n resolveRoot\n} from \"@powerlines/core/lib/config\";\nimport {\n createLogger,\n formatConfig,\n resolveLogLevel,\n withCustomLogger\n} from \"@powerlines/core/plugin-utils\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { EnvPaths, getEnvPaths } from \"@stryke/env/get-env-paths\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport { uuid } from \"@stryke/unique-id/uuid\";\nimport { createHostContext } from \"devframe/node\";\nimport {\n ConnectionMeta,\n DevToolsHost,\n DevToolsNodeContext\n} from \"devframe/types\";\nimport * as v from \"valibot\";\nimport { EngineOptions } from \"../types/config\";\nimport { EngineContext, EngineExecutionItem } from \"../types/context\";\n\nexport class PowerlinesEngineContext<TSystemContext = unknown>\n extends PowerlinesBaseContext<TSystemContext>\n implements EngineContext<TSystemContext>\n{\n #executions: EngineExecutionItem[] = [];\n\n #devtools!: DevToolsNodeContext;\n\n #logLevel!: LogLevelResolvedConfig;\n\n /**\n * Creates a new instance of the PowerlinesEngineContext class.\n *\n * @param options - The options to initialize the context with.\n * @returns A promise that resolves to an instance of the PowerlinesEngineContext class.\n */\n public static async from<TSystemContext = unknown>(\n options: EngineOptions,\n host: DevToolsHost,\n connection: ConnectionMeta\n ): Promise<PowerlinesEngineContext<TSystemContext>> {\n const context = new PowerlinesEngineContext<TSystemContext>(\n options,\n connection\n );\n\n context.#devtools = await createHostContext({\n cwd: context.cwd,\n mode: \"dev\",\n host\n });\n await options.setup?.(context.#devtools);\n\n context.#devtools.rpc.register({\n name: \"powerlines:log\",\n type: \"event\",\n args: [\n v.object({\n meta: v.object({\n category: v.string(),\n name: v.string(),\n command: v.string(),\n hook: v.string(),\n plugin: v.string(),\n source: v.string()\n }),\n message: v.string()\n })\n ],\n setup: _ => ({\n handler: payload => {\n switch (payload.meta.type) {\n case \"error\":\n context.error(payload);\n break;\n case \"warn\":\n context.warn(payload);\n break;\n case \"info\":\n context.info(payload);\n break;\n case \"debug\":\n context.debug(payload);\n break;\n case \"trace\":\n context.trace(payload);\n break;\n default:\n context.info(payload);\n break;\n }\n }\n })\n });\n\n context.#logLevel = options.logLevel\n ? resolveLogLevel(options.logLevel)\n : await getDefaultLogLevel(context.cwd);\n\n return context;\n }\n\n public override createLogger(options: LoggerOptions = {}, logFn?: LogFn) {\n let logger = createLogger(\n \"engine\",\n {\n logLevel: this.#logLevel,\n ...options\n },\n logFn\n );\n if (this.options.customLogger) {\n logger = withCustomLogger(logger, this.options.customLogger);\n }\n return logger;\n }\n\n public get executions(): EngineExecutionItem[] {\n return this.#executions;\n }\n\n public get devtools(): DevToolsNodeContext {\n return this.#devtools;\n }\n\n public get envPaths(): EnvPaths {\n return getEnvPaths({\n orgId: kebabCase(this.orgId),\n appId: kebabCase(this.framework.name),\n workspaceRoot: this.cwd\n });\n }\n\n public get framework(): FrameworkOptions {\n return {\n name: \"powerlines\",\n orgId: \"storm-software\",\n ...this.options.framework\n };\n }\n\n public get orgId(): string {\n return this.framework.orgId;\n }\n\n /**\n * Creates a new Context instance.\n *\n * @param options - The options to use for creating the context, including the resolved configuration and workspace settings.\n * @param connection - The connection metadata for the dev server.\n */\n protected constructor(\n public override options: EngineOptions,\n public connection: ConnectionMeta\n ) {\n super(options);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @remarks\n * This method will set up the resolver and load the user configuration file based on the provided options. It is called during the construction of the context and can also be called when cloning the context to ensure that the new context has the same configuration and resolver setup.\n *\n * @param method - The path to the execution configuration to load and run, which can be used to specify different execution configurations for different commands or scenarios.\n * @param inlineConfig - Additional configuration options provided at runtime, which can override or supplement the options defined in the user configuration file.\n */\n public async loadExecutions(\n method: string,\n inlineConfig: InlineConfig\n ): Promise<EngineExecutionItem[]> {\n const root = resolveRoot(\n this.cwd,\n inlineConfig.root,\n inlineConfig.configFile\n );\n\n const config = await loadParsedConfig(\n this.cwd,\n root,\n this.framework?.name,\n this.orgId,\n inlineConfig\n );\n if (!config) {\n throw new Error(\"Failed to load configuration\");\n }\n\n const invocationId = uuid();\n const executions = await Promise.all(\n toArray(config.config).map(async (_, configIndex) => {\n const executionId = uuid();\n const options = {\n cwd: this.cwd,\n root,\n framework: this.framework,\n orgId: this.orgId,\n ...this.options,\n command: method,\n baseURL: this.#devtools.host.resolveOrigin(),\n connection: this.connection,\n configFile: config.configFile!,\n executionId,\n configIndex\n };\n\n this.logger.debug({\n meta: { category: \"config\" },\n message: `Invoking ${method} with the following execution parameters: \\n --- Options --- \\n${formatConfig(\n options\n )}\\n --- Inline Config --- \\n${formatConfig(inlineConfig)}`\n });\n\n return {\n invocationId,\n method,\n configFile: config,\n options,\n state: {\n command: null,\n hook: null,\n plugin: null\n }\n };\n })\n );\n\n this.#executions = this.#executions.concat(executions);\n\n return executions;\n }\n\n /**\n * Complete an execution by removing it from the list of active executions based on the provided invocation ID and execution ID. This method is typically called when an execution has finished or has been terminated, allowing the context to clean up any resources associated with that execution and update its internal state accordingly.\n *\n * @param invocationId - The unique identifier for the invocation of the execution to be completed.\n * @param executionId - The unique identifier for the specific execution to be completed.\n */\n public completeExecution(invocationId: string, executionId: string) {\n this.#executions = this.#executions.filter(\n execution =>\n execution.options.executionId !== executionId ||\n execution.invocationId !== invocationId\n );\n }\n}\n"],"mappings":"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"}
|