@powerlines/core 0.1.2 → 0.1.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"file-header.d.mts","names":[],"sources":["../../../src/lib/utilities/file-header.ts"],"sourcesContent":[],"mappings":";;;UAqBiB,iBAAA;;EAAA,cAAA,CAAA,EAAA,OAAiB;AAKlC;AAOgB,iBAPA,iBAAA,CASL,OAAA,EATgC,OASV,CAAA,EAAA,MAAA;iBAFjB,aAAA,UACL,mBACA"}
1
+ {"version":3,"file":"file-header.d.mts","names":[],"sources":["../../../src/lib/utilities/file-header.ts"],"sourcesContent":[],"mappings":";;;UAqBiB,iBAAA;;EAAA,cAAA,CAAA,EAAA,OAAiB;AAKlC;AAOgB,iBAPA,iBAAA,CASL,OAAA,EATgC,OAShC,CAAsB,EAAA,MAAA;iBAFjB,aAAA,UACL,mBACA"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-helpers.d.cts","names":[],"sources":["../../src/plugin-utils/build-helpers.ts"],"sourcesContent":[],"mappings":";;;;UAyBiB,yBAAA;YACL;EADK,UAAA,EAEH,aAFG,CAAA,YAAyB,CAAA;AAW1C;;;;;;;iBAAgB,mBAAA,UACL,UACR"}
1
+ {"version":3,"file":"build-helpers.d.cts","names":[],"sources":["../../src/plugin-utils/build-helpers.ts"],"sourcesContent":[],"mappings":";;;;UAyBiB,yBAAA;YACL;EADK,UAAA,EAEH,aAFG,CAAA,YAAyB,CAC9B;AAUZ;;;;;;;iBAAgB,mBAAA,UACL,UACR"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.cts","names":[],"sources":["../../src/plugin-utils/merge.ts"],"sourcesContent":[],"mappings":";;;;;KA0BY,6BACO,gCACA,OAAO,YAAY,cAAc,4BACjC,OAAO,YAAY,cAAc,aAElD,iBAAiB,OAAO,YACpB,OAAO,YACP,iBAAiB,OAAO,YACtB,OAAO,YACP,cAAc;;AATtB;;;;;;AAG0B,iBAqCV,KArCU,CAAA,iBAqCa,aArCb,GAqC6B,aArC7B,CAAA,CAAA,OAAA,EAsCf,MAtCe,CAsCR,QAtCQ,CAAA,GAsCI,aAtCJ,CAsCkB,QAtClB,CAAA,EAAA,OAAA,EAuCf,MAvCe,CAuCR,QAvCQ,CAAA,GAuCI,aAvCJ,CAuCkB,QAvClB,CAAA,CAAA,EAwCvB,WAxCuB,CAwCX,QAxCW,EAAA,OAwCM,OAxCN,EAAA,OAwCsB,OAxCtB,CAAA;;;;;;;;;;;;;;;;;AAqCV,cA2BH,WA3BQ,EAAA,CAAA,GAAA,OAAA,EAAA,OAAA,EAAA,EAAA,GAqCY,cArCZ;AAAkB,8BAAA,GAAA,EAAA"}
1
+ {"version":3,"file":"merge.d.cts","names":[],"sources":["../../src/plugin-utils/merge.ts"],"sourcesContent":[],"mappings":";;;;;KA6BY,6BACO,gCACA,OAAO,YAAY,cAAc,4BACjC,OAAO,YAAY,cAAc,aAElD,iBAAiB,OAAO,YACpB,OAAO,YACP,iBAAiB,OAAO,YACtB,OAAO,YACP,cAAc;;;;AATtB;;;;AAEoD,iBAsCpC,KAtCoC,CAAA,iBAsCb,aAtCa,GAsCG,aAtCH,CAAA,CAAA,OAAA,EAuCzC,MAvCyC,CAuClC,QAvCkC,CAAA,GAuCtB,aAvCsB,CAuCR,QAvCQ,CAAA,EAAA,OAAA,EAwCzC,MAxCyC,CAwClC,QAxCkC,CAAA,GAwCtB,aAxCsB,CAwCR,QAxCQ,CAAA,CAAA,EAyCjD,WAzCiD,CAyCrC,QAzCqC,EAAA,OAyCpB,OAzCoB,EAAA,OAyCJ,OAzCI,CAAA;;;;;;;;;;;;;;;;;AAO5C,cA0DK,WA1DL,EAAA,CAAA,GAAA,OAAA,EAAA,OAAA,EAAA,EAAA,GAoEyB,cApEzB;AAAa,8BAAA,GAAA,EAAA"}
@@ -1,6 +1,7 @@
1
1
  import { Plugin } from "../types/plugin.mjs";
2
2
  import { PluginContext } from "../types/context.mjs";
3
3
  import { PartialPlugin, ResolvedConfig } from "../types/config.mjs";
4
+ import "../types/index.mjs";
4
5
 
5
6
  //#region src/plugin-utils/merge.d.ts
6
7
  type MergeResult<TContext extends PluginContext, TPluginA extends Plugin<TContext> | PartialPlugin<TContext>, TPluginB extends Plugin<TContext> | PartialPlugin<TContext>> = TPluginA extends Plugin<TContext> ? Plugin<TContext> : TPluginB extends Plugin<TContext> ? Plugin<TContext> : PartialPlugin<TContext>;
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.mts","names":[],"sources":["../../src/plugin-utils/merge.ts"],"sourcesContent":[],"mappings":";;;;;KA0BY,6BACO,gCACA,OAAO,YAAY,cAAc,4BACjC,OAAO,YAAY,cAAc,aAElD,iBAAiB,OAAO,YACpB,OAAO,YACP,iBAAiB,OAAO,YACtB,OAAO,YACP,cAAc;;AATtB;;;;;;AAG0B,iBAqCV,KArCU,CAAA,iBAqCa,aArCb,GAqC6B,aArC7B,CAAA,CAAA,OAAA,EAsCf,MAtCe,CAsCR,QAtCQ,CAAA,GAsCI,aAtCJ,CAsCkB,QAtClB,CAAA,EAAA,OAAA,EAuCf,MAvCe,CAuCR,QAvCQ,CAAA,GAuCI,aAvCJ,CAuCkB,QAvClB,CAAA,CAAA,EAwCvB,WAxCuB,CAwCX,QAxCW,EAAA,OAwCM,OAxCN,EAAA,OAwCsB,OAxCtB,CAAA;;;;;;;;;;;;;;;;;AAqCV,cA2BH,WA3BQ,EAAA,CAAA,GAAA,OAAA,EAAA,OAAA,EAAA,EAAA,GAqCY,cArCZ;AAAkB,8BAAA,GAAA,EAAA"}
1
+ {"version":3,"file":"merge.d.mts","names":[],"sources":["../../src/plugin-utils/merge.ts"],"sourcesContent":[],"mappings":";;;;;;KA6BY,6BACO,gCACA,OAAO,YAAY,cAAc,4BACjC,OAAO,YAAY,cAAc,aAElD,iBAAiB,OAAO,YACpB,OAAO,YACP,iBAAiB,OAAO,YACtB,OAAO,YACP,cAAc;;;;;AATtB;;;AAEmB,iBAsCH,KAtCG,CAAA,iBAsCoB,aAtCpB,GAsCoC,aAtCpC,CAAA,CAAA,OAAA,EAuCR,MAvCQ,CAuCD,QAvCC,CAAA,GAuCW,aAvCX,CAuCyB,QAvCzB,CAAA,EAAA,OAAA,EAwCR,MAxCQ,CAwCD,QAxCC,CAAA,GAwCW,aAxCX,CAwCyB,QAxCzB,CAAA,CAAA,EAyChB,WAzCgB,CAyCJ,QAzCI,EAAA,OAyCa,OAzCb,EAAA,OAyC6B,OAzC7B,CAAA;;;;;;;;;;;;;;;;;AAOG,cA0DT,WA1DS,EAAA,CAAA,GAAA,OAAA,EAAA,OAAA,EAAA,EAAA,GAoEW,cApEX;AAAd,8BAAA,GAAA,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge.mjs","names":["defu"],"sources":["../../src/plugin-utils/merge.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 { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport defu, { createDefu } from \"defu\";\nimport { PartialPlugin, ResolvedConfig } from \"../types/config\";\nimport { PluginContext } from \"../types/context\";\nimport { Plugin } from \"../types/plugin\";\nimport { getHookHandler, isPluginHook } from \"./helpers\";\n\nexport type MergeResult<\n TContext extends PluginContext,\n TPluginA extends Plugin<TContext> | PartialPlugin<TContext>,\n TPluginB extends Plugin<TContext> | PartialPlugin<TContext>\n> =\n TPluginA extends Plugin<TContext>\n ? Plugin<TContext>\n : TPluginB extends Plugin<TContext>\n ? Plugin<TContext>\n : PartialPlugin<TContext>;\n\nconst mergePlugin = createDefu((obj, key, value) => {\n if (isPluginHook(obj[key]) && isPluginHook(value)) {\n obj[key] = {\n ...obj[key],\n ...value,\n handler: async (...params: any[]) => {\n const [resultA, resultB] = await Promise.all([\n // eslint-disable-next-line ts/no-unsafe-call\n (getHookHandler(obj[key]) as any)(...params),\n // eslint-disable-next-line ts/no-unsafe-call\n (getHookHandler(value) as any)(...params)\n ]);\n\n return resultB && resultA ? defu(resultA, resultB) : resultA || resultB;\n }\n };\n return true;\n }\n\n return false;\n});\n\n/**\n * Merges two {@link Plugin | plugins} or {@link PartialPlugin | partial plugins} together.\n *\n * @param pluginA - The first {@link Plugin | plugin} or {@link PartialPlugin | partial plugin} to merge.\n * @param pluginB - The second {@link Plugin | plugin} or {@link PartialPlugin | partial plugin} to merge.\n * @returns The merged {@link Plugin | plugin} or {@link PartialPlugin | partial plugin}.\n */\nexport function merge<TContext extends PluginContext = PluginContext>(\n pluginA: Plugin<TContext> | PartialPlugin<TContext>,\n pluginB: Plugin<TContext> | PartialPlugin<TContext>\n): MergeResult<TContext, typeof pluginA, typeof pluginB> {\n return mergePlugin(pluginA, pluginB) as MergeResult<\n TContext,\n typeof pluginA,\n typeof pluginB\n >;\n}\n\n/**\n * Merges two configuration objects together, with special handling for string values.\n * If the value from the second object is a non-empty string, it will overwrite the value from the first object.\n *\n * @example\n * ```ts\n * const configA = { name: \"Default\", version: \"1.0.0\" };\n * const configB = { name: \"Custom\", description: \"A custom config\" };\n * const mergedConfig = mergeConfig(configA, configB);\n * // Result: { name: \"Custom\", version: \"1.0.0\", description: \"A custom config\" }\n * ```\n *\n * @param objA - The first configuration object.\n * @param objB - The second configuration object.\n * @returns The merged configuration object.\n */\nexport const mergeConfig = createDefu((obj, key, value) => {\n if (isString(obj[key]) && isString(value)) {\n if (isSetString(value)) {\n obj[key] = value;\n }\n\n return true;\n }\n\n return false;\n}) as (...configs: unknown[]) => ResolvedConfig;\n"],"mappings":";;;;;;AAqCA,MAAM,cAAc,YAAY,KAAK,KAAK,UAAU;AAClD,KAAI,aAAa,IAAI,KAAK,IAAI,aAAa,MAAM,EAAE;AACjD,MAAI,OAAO;GACT,GAAG,IAAI;GACP,GAAG;GACH,SAAS,OAAO,GAAG,WAAkB;IACnC,MAAM,CAAC,SAAS,WAAW,MAAM,QAAQ,IAAI,CAE1C,eAAe,IAAI,KAAK,CAAS,GAAG,OAAO,EAE3C,eAAe,MAAM,CAAS,GAAG,OAAO,CAC1C,CAAC;AAEF,WAAO,WAAW,UAAUA,OAAK,SAAS,QAAQ,GAAG,WAAW;;GAEnE;AACD,SAAO;;AAGT,QAAO;EACP;;;;;;;;AASF,SAAgB,MACd,SACA,SACuD;AACvD,QAAO,YAAY,SAAS,QAAQ;;;;;;;;;;;;;;;;;;AAuBtC,MAAa,cAAc,YAAY,KAAK,KAAK,UAAU;AACzD,KAAI,SAAS,IAAI,KAAK,IAAI,SAAS,MAAM,EAAE;AACzC,MAAI,YAAY,MAAM,CACpB,KAAI,OAAO;AAGb,SAAO;;AAGT,QAAO;EACP"}
1
+ {"version":3,"file":"merge.mjs","names":["defu"],"sources":["../../src/plugin-utils/merge.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 { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport defu, { createDefu } from \"defu\";\nimport type {\n PartialPlugin,\n Plugin,\n PluginContext,\n ResolvedConfig\n} from \"../types\";\nimport { getHookHandler, isPluginHook } from \"./helpers\";\n\nexport type MergeResult<\n TContext extends PluginContext,\n TPluginA extends Plugin<TContext> | PartialPlugin<TContext>,\n TPluginB extends Plugin<TContext> | PartialPlugin<TContext>\n> =\n TPluginA extends Plugin<TContext>\n ? Plugin<TContext>\n : TPluginB extends Plugin<TContext>\n ? Plugin<TContext>\n : PartialPlugin<TContext>;\n\nconst mergePlugin = createDefu((obj, key, value) => {\n if (isPluginHook(obj[key]) && isPluginHook(value)) {\n obj[key] = {\n ...obj[key],\n ...value,\n handler: async (...params: any[]) => {\n const [resultA, resultB] = await Promise.all([\n // eslint-disable-next-line ts/no-unsafe-call\n (getHookHandler(obj[key]) as any)(...params),\n // eslint-disable-next-line ts/no-unsafe-call\n (getHookHandler(value) as any)(...params)\n ]);\n\n return resultB && resultA ? defu(resultA, resultB) : resultA || resultB;\n }\n };\n return true;\n }\n\n return false;\n});\n\n/**\n * Merges two {@link Plugin | plugins} or {@link PartialPlugin | partial plugins} together.\n *\n * @param pluginA - The first {@link Plugin | plugin} or {@link PartialPlugin | partial plugin} to merge.\n * @param pluginB - The second {@link Plugin | plugin} or {@link PartialPlugin | partial plugin} to merge.\n * @returns The merged {@link Plugin | plugin} or {@link PartialPlugin | partial plugin}.\n */\nexport function merge<TContext extends PluginContext = PluginContext>(\n pluginA: Plugin<TContext> | PartialPlugin<TContext>,\n pluginB: Plugin<TContext> | PartialPlugin<TContext>\n): MergeResult<TContext, typeof pluginA, typeof pluginB> {\n return mergePlugin(pluginA, pluginB) as MergeResult<\n TContext,\n typeof pluginA,\n typeof pluginB\n >;\n}\n\n/**\n * Merges two configuration objects together, with special handling for string values.\n * If the value from the second object is a non-empty string, it will overwrite the value from the first object.\n *\n * @example\n * ```ts\n * const configA = { name: \"Default\", version: \"1.0.0\" };\n * const configB = { name: \"Custom\", description: \"A custom config\" };\n * const mergedConfig = mergeConfig(configA, configB);\n * // Result: { name: \"Custom\", version: \"1.0.0\", description: \"A custom config\" }\n * ```\n *\n * @param objA - The first configuration object.\n * @param objB - The second configuration object.\n * @returns The merged configuration object.\n */\nexport const mergeConfig = createDefu((obj, key, value) => {\n if (isString(obj[key]) && isString(value)) {\n if (isSetString(value)) {\n obj[key] = value;\n }\n\n return true;\n }\n\n return false;\n}) as (...configs: unknown[]) => ResolvedConfig;\n"],"mappings":";;;;;;AAwCA,MAAM,cAAc,YAAY,KAAK,KAAK,UAAU;AAClD,KAAI,aAAa,IAAI,KAAK,IAAI,aAAa,MAAM,EAAE;AACjD,MAAI,OAAO;GACT,GAAG,IAAI;GACP,GAAG;GACH,SAAS,OAAO,GAAG,WAAkB;IACnC,MAAM,CAAC,SAAS,WAAW,MAAM,QAAQ,IAAI,CAE1C,eAAe,IAAI,KAAK,CAAS,GAAG,OAAO,EAE3C,eAAe,MAAM,CAAS,GAAG,OAAO,CAC1C,CAAC;AAEF,WAAO,WAAW,UAAUA,OAAK,SAAS,QAAQ,GAAG,WAAW;;GAEnE;AACD,SAAO;;AAGT,QAAO;EACP;;;;;;;;AASF,SAAgB,MACd,SACA,SACuD;AACvD,QAAO,YAAY,SAAS,QAAQ;;;;;;;;;;;;;;;;;;AAuBtC,MAAa,cAAc,YAAY,KAAK,KAAK,UAAU;AACzD,KAAI,SAAS,IAAI,KAAK,IAAI,SAAS,MAAM,EAAE;AACzC,MAAI,YAAY,MAAM,CACpB,KAAI,OAAO;AAGb,SAAO;;AAGT,QAAO;EACP"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerlines/core",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "private": false,
5
5
  "description": "An internal core package for Powerlines - please use the `powerlines` package for public usage.",
6
6
  "homepage": "https://stormsoftware.com",
@@ -512,7 +512,7 @@
512
512
  "jiti": "^2.6.1",
513
513
  "magic-string": "^0.30.21",
514
514
  "prettier": "^3.8.1",
515
- "unplugin": "3.0.0-beta.3"
515
+ "unplugin": "^3.0.0"
516
516
  },
517
517
  "devDependencies": {
518
518
  "@storm-software/testing-tools": "^1.119.85",
@@ -520,9 +520,9 @@
520
520
  "@types/diff-match-patch": "^1.0.36",
521
521
  "@types/node": "^25.3.3",
522
522
  "@types/semver": "^7.7.1",
523
- "tsdown": "0.17.0-beta.5",
523
+ "tsdown": "^0.17.2",
524
524
  "typescript": "^5.9.3"
525
525
  },
526
526
  "publishConfig": { "access": "public" },
527
- "gitHead": "b8306ac71f62b39384f058bb1e7058d0f43ecd38"
527
+ "gitHead": "715dc00d92fc88e48731e5a23c0aed6585031ebd"
528
528
  }