powerlines 0.35.1 → 0.35.2

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 (79) hide show
  1. package/dist/api.cjs +2 -2
  2. package/dist/api.js +1 -1
  3. package/dist/astro.cjs +4 -4
  4. package/dist/astro.js +3 -3
  5. package/dist/{chunk-JEP7MDIY.js → chunk-26KUPKTD.js} +3 -3
  6. package/dist/chunk-77JWKKJ2.cjs +12 -0
  7. package/dist/{chunk-4JTXARCZ.js → chunk-GE42ERLH.js} +3 -3
  8. package/dist/{chunk-52UMGJQJ.js → chunk-KSBXWOPB.js} +3 -3
  9. package/dist/chunk-LATAHSLN.cjs +12 -0
  10. package/dist/{chunk-3TJ77HBR.cjs → chunk-N4WK6OX3.cjs} +5 -5
  11. package/dist/{chunk-AFSF26JE.cjs → chunk-PT545X3I.cjs} +4 -4
  12. package/dist/{chunk-4ZM66B4T.js → chunk-PUWQEGGQ.js} +3 -3
  13. package/dist/{chunk-QMYQNHIP.cjs → chunk-RQAC3ZZ7.cjs} +4 -4
  14. package/dist/{chunk-7GLQATKT.js → chunk-RVEHSFHL.js} +3 -3
  15. package/dist/{chunk-OOZPDTJM.cjs → chunk-SX5J2DYW.cjs} +3 -3
  16. package/dist/{chunk-LUTJ2RSQ.js → chunk-UQXYL2GO.js} +3 -3
  17. package/dist/esbuild.cjs +6 -6
  18. package/dist/esbuild.js +3 -3
  19. package/dist/farm.cjs +3 -3
  20. package/dist/farm.js +2 -2
  21. package/dist/index.cjs +10 -10
  22. package/dist/index.js +2 -2
  23. package/dist/lib/{chunk-63DAS6TJ.cjs → chunk-57WHQU5T.cjs} +3 -3
  24. package/dist/lib/chunk-57WHQU5T.cjs.map +1 -0
  25. package/dist/lib/{chunk-7XTQMSUB.cjs → chunk-ALBIVUKS.cjs} +4 -4
  26. package/dist/lib/{chunk-7XTQMSUB.cjs.map → chunk-ALBIVUKS.cjs.map} +1 -1
  27. package/dist/lib/{chunk-Q7KX7QCP.js → chunk-DRVSC7Z7.js} +3 -3
  28. package/dist/lib/{chunk-Q7KX7QCP.js.map → chunk-DRVSC7Z7.js.map} +1 -1
  29. package/dist/lib/{chunk-6OGQTUXF.js → chunk-HEMW2YZA.js} +3 -3
  30. package/dist/lib/chunk-HEMW2YZA.js.map +1 -0
  31. package/dist/lib/{chunk-NOABJWDK.cjs → chunk-S5CMCQCQ.cjs} +4 -4
  32. package/dist/lib/{chunk-NOABJWDK.cjs.map → chunk-S5CMCQCQ.cjs.map} +1 -1
  33. package/dist/lib/{chunk-FM7R4KTA.js → chunk-UEDHOALD.js} +3 -3
  34. package/dist/lib/{chunk-FM7R4KTA.js.map → chunk-UEDHOALD.js.map} +1 -1
  35. package/dist/lib/{chunk-25C6FCLA.js → chunk-VQVC3FJ4.js} +3 -3
  36. package/dist/lib/{chunk-25C6FCLA.js.map → chunk-VQVC3FJ4.js.map} +1 -1
  37. package/dist/lib/{chunk-VMWMBMXG.cjs → chunk-YRF3VEZ2.cjs} +4 -4
  38. package/dist/lib/{chunk-VMWMBMXG.cjs.map → chunk-YRF3VEZ2.cjs.map} +1 -1
  39. package/dist/lib/contexts/api-context.cjs +4 -4
  40. package/dist/lib/contexts/api-context.js +3 -3
  41. package/dist/lib/contexts/environment-context.cjs +3 -3
  42. package/dist/lib/contexts/environment-context.js +2 -2
  43. package/dist/lib/contexts/index.cjs +6 -6
  44. package/dist/lib/contexts/index.js +3 -3
  45. package/dist/lib/contexts/plugin-context.cjs +2 -2
  46. package/dist/lib/contexts/plugin-context.js +1 -1
  47. package/dist/lib/index.cjs +8 -8
  48. package/dist/lib/index.js +4 -4
  49. package/dist/lib/unplugin/factory.cjs +5 -5
  50. package/dist/lib/unplugin/factory.js +4 -4
  51. package/dist/lib/unplugin/index.cjs +5 -5
  52. package/dist/lib/unplugin/index.js +4 -4
  53. package/dist/next.cjs +4 -4
  54. package/dist/next.js +3 -3
  55. package/dist/nuxt.cjs +7 -7
  56. package/dist/nuxt.js +5 -5
  57. package/dist/rolldown.cjs +6 -6
  58. package/dist/rolldown.js +3 -3
  59. package/dist/rollup.cjs +3 -3
  60. package/dist/rollup.js +2 -2
  61. package/dist/rspack.cjs +3 -3
  62. package/dist/rspack.js +2 -2
  63. package/dist/tsdown.cjs +4 -4
  64. package/dist/tsdown.js +3 -3
  65. package/dist/tsup.cjs +4 -4
  66. package/dist/tsup.js +3 -3
  67. package/dist/unloader.cjs +3 -3
  68. package/dist/unloader.js +2 -2
  69. package/dist/unplugin.cjs +5 -5
  70. package/dist/unplugin.js +3 -3
  71. package/dist/vite.cjs +6 -6
  72. package/dist/vite.js +3 -3
  73. package/dist/webpack.cjs +6 -6
  74. package/dist/webpack.js +3 -3
  75. package/package.json +3 -3
  76. package/dist/chunk-24F67D36.cjs +0 -12
  77. package/dist/chunk-S6KFRQYJ.cjs +0 -12
  78. package/dist/lib/chunk-63DAS6TJ.cjs.map +0 -1
  79. package/dist/lib/chunk-6OGQTUXF.js.map +0 -1
package/dist/api.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkOOZPDTJM_cjs = require('./chunk-OOZPDTJM.cjs');
3
+ var chunkSX5J2DYW_cjs = require('./chunk-SX5J2DYW.cjs');
4
4
  require('./chunk-VFXZVCGG.cjs');
5
5
  require('./chunk-Z6ARQDHR.cjs');
6
6
  require('./chunk-PK6SKIKE.cjs');
@@ -9,7 +9,7 @@ require('./chunk-PK6SKIKE.cjs');
9
9
 
10
10
  Object.defineProperty(exports, "PowerlinesAPI", {
11
11
  enumerable: true,
12
- get: function () { return chunkOOZPDTJM_cjs.PowerlinesAPI; }
12
+ get: function () { return chunkSX5J2DYW_cjs.PowerlinesAPI; }
13
13
  });
14
14
  //# sourceMappingURL=api.cjs.map
15
15
  //# sourceMappingURL=api.cjs.map
package/dist/api.js CHANGED
@@ -1,4 +1,4 @@
1
- export { PowerlinesAPI } from './chunk-JEP7MDIY.js';
1
+ export { PowerlinesAPI } from './chunk-26KUPKTD.js';
2
2
  import './chunk-JGSCIWFQ.js';
3
3
  import './chunk-2MYPFASJ.js';
4
4
  import './chunk-7QVYU63E.js';
package/dist/astro.cjs CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkAFSF26JE_cjs = require('./chunk-AFSF26JE.cjs');
5
+ var chunkPT545X3I_cjs = require('./chunk-PT545X3I.cjs');
6
6
  require('./chunk-QHEKB7RW.cjs');
7
- require('./chunk-3TJ77HBR.cjs');
8
- require('./chunk-OOZPDTJM.cjs');
7
+ require('./chunk-N4WK6OX3.cjs');
8
+ require('./chunk-SX5J2DYW.cjs');
9
9
  require('./chunk-VFXZVCGG.cjs');
10
10
  require('./chunk-Z6ARQDHR.cjs');
11
11
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
@@ -14,7 +14,7 @@ var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
14
14
  var astro = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((config) => ({
15
15
  vite: {
16
16
  plugins: [
17
- chunkAFSF26JE_cjs.vite_default(config)
17
+ chunkPT545X3I_cjs.vite_default(config)
18
18
  ]
19
19
  }
20
20
  }), "astro");
package/dist/astro.js CHANGED
@@ -1,7 +1,7 @@
1
- import { vite_default } from './chunk-52UMGJQJ.js';
1
+ import { vite_default } from './chunk-KSBXWOPB.js';
2
2
  import './chunk-YJWTNJQF.js';
3
- import './chunk-4ZM66B4T.js';
4
- import './chunk-JEP7MDIY.js';
3
+ import './chunk-PUWQEGGQ.js';
4
+ import './chunk-26KUPKTD.js';
5
5
  import './chunk-JGSCIWFQ.js';
6
6
  import './chunk-2MYPFASJ.js';
7
7
  import { __name } from './chunk-7QVYU63E.js';
@@ -3479,7 +3479,7 @@ function createPluginContext(plugin, environment) {
3479
3479
  const normalizeMessage = /* @__PURE__ */ __name((message) => {
3480
3480
  return isString(message) ? message : message.message;
3481
3481
  }, "normalizeMessage");
3482
- const log = environment.extendLog(plugin.name);
3482
+ const log = environment.extendLog(plugin.name.replaceAll(":", " - "));
3483
3483
  const callHookFn = /* @__PURE__ */ __name(async (hook, options, ...args) => {
3484
3484
  return environment.$$internal.api.callHook(hook, {
3485
3485
  sequential: true,
@@ -4606,5 +4606,5 @@ Note: Please ensure the plugin package's default export is a class that extends
4606
4606
  };
4607
4607
 
4608
4608
  export { FileId, FileMetadata, FileMetadata_KeyValuePair, FileStorage, FileSystem, PowerlinesAPI, _capnpFileId, createLog, extendLog };
4609
- //# sourceMappingURL=chunk-JEP7MDIY.js.map
4610
- //# sourceMappingURL=chunk-JEP7MDIY.js.map
4609
+ //# sourceMappingURL=chunk-26KUPKTD.js.map
4610
+ //# sourceMappingURL=chunk-26KUPKTD.js.map
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chunkN4WK6OX3_cjs = require('./chunk-N4WK6OX3.cjs');
4
+ var unplugin = require('unplugin');
5
+
6
+ var webpack = unplugin.createWebpackPlugin(chunkN4WK6OX3_cjs.createUnpluginFactory("webpack"));
7
+ var webpack_default = webpack;
8
+
9
+ exports.webpack = webpack;
10
+ exports.webpack_default = webpack_default;
11
+ //# sourceMappingURL=chunk-77JWKKJ2.cjs.map
12
+ //# sourceMappingURL=chunk-77JWKKJ2.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { extractESBuildConfig } from './chunk-YJWTNJQF.js';
2
- import { createUnpluginFactory } from './chunk-4ZM66B4T.js';
2
+ import { createUnpluginFactory } from './chunk-PUWQEGGQ.js';
3
3
  import { __name } from './chunk-7QVYU63E.js';
4
4
  import { isUndefined } from '@stryke/type-checks/is-undefined';
5
5
  import { createEsbuildPlugin } from 'unplugin';
@@ -29,5 +29,5 @@ var esbuild = createEsbuildPlugin(createUnpluginFactory("esbuild", (api, plugin)
29
29
  var esbuild_default = esbuild;
30
30
 
31
31
  export { esbuild, esbuild_default };
32
- //# sourceMappingURL=chunk-4JTXARCZ.js.map
33
- //# sourceMappingURL=chunk-4JTXARCZ.js.map
32
+ //# sourceMappingURL=chunk-GE42ERLH.js.map
33
+ //# sourceMappingURL=chunk-GE42ERLH.js.map
@@ -1,5 +1,5 @@
1
1
  import { extractESBuildConfig } from './chunk-YJWTNJQF.js';
2
- import { createUnpluginFactory } from './chunk-4ZM66B4T.js';
2
+ import { createUnpluginFactory } from './chunk-PUWQEGGQ.js';
3
3
  import { __name } from './chunk-7QVYU63E.js';
4
4
  import { isDevelopmentMode, isTestMode } from '@stryke/env/environment-checks';
5
5
  import defu from 'defu';
@@ -151,5 +151,5 @@ var vite = createVitePlugin(createUnpluginFactory("vite", (api, plugin) => {
151
151
  var vite_default = vite;
152
152
 
153
153
  export { vite, vite_default };
154
- //# sourceMappingURL=chunk-52UMGJQJ.js.map
155
- //# sourceMappingURL=chunk-52UMGJQJ.js.map
154
+ //# sourceMappingURL=chunk-KSBXWOPB.js.map
155
+ //# sourceMappingURL=chunk-KSBXWOPB.js.map
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chunkN4WK6OX3_cjs = require('./chunk-N4WK6OX3.cjs');
4
+ var unplugin = require('unplugin');
5
+
6
+ var rolldown = unplugin.createRolldownPlugin(chunkN4WK6OX3_cjs.createUnpluginFactory("rolldown"));
7
+ var rolldown_default = rolldown;
8
+
9
+ exports.rolldown = rolldown;
10
+ exports.rolldown_default = rolldown_default;
11
+ //# sourceMappingURL=chunk-LATAHSLN.cjs.map
12
+ //# sourceMappingURL=chunk-LATAHSLN.cjs.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkOOZPDTJM_cjs = require('./chunk-OOZPDTJM.cjs');
3
+ var chunkSX5J2DYW_cjs = require('./chunk-SX5J2DYW.cjs');
4
4
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
5
5
  var types = require('@storm-software/config-tools/types');
6
6
  var getWorkspaceRoot = require('@stryke/fs/get-workspace-root');
@@ -27,7 +27,7 @@ chunkPK6SKIKE_cjs.__name(getString, "getString");
27
27
  // src/lib/unplugin/factory.ts
28
28
  function createUnpluginFactory(variant, decorate) {
29
29
  return (config, meta) => {
30
- const log = chunkOOZPDTJM_cjs.createLog("unplugin", config);
30
+ const log = chunkSX5J2DYW_cjs.createLog("unplugin", config);
31
31
  log(types.LogLevelLabel.DEBUG, "Initializing Unplugin");
32
32
  try {
33
33
  const userConfig = {
@@ -38,7 +38,7 @@ function createUnpluginFactory(variant, decorate) {
38
38
  let api;
39
39
  async function buildStart() {
40
40
  log(types.LogLevelLabel.DEBUG, "Powerlines build plugin starting...");
41
- api = await chunkOOZPDTJM_cjs.PowerlinesAPI.from(getWorkspaceRoot.getWorkspaceRoot(process.cwd()), userConfig);
41
+ api = await chunkSX5J2DYW_cjs.PowerlinesAPI.from(getWorkspaceRoot.getWorkspaceRoot(process.cwd()), userConfig);
42
42
  unplugin.setParseImpl(api.context.parse);
43
43
  log(types.LogLevelLabel.DEBUG, "Preparing build artifacts for the Powerlines project...");
44
44
  await api.prepare({
@@ -132,5 +132,5 @@ chunkPK6SKIKE_cjs.__name(createUnpluginFactory, "createUnpluginFactory");
132
132
 
133
133
  exports.createUnpluginFactory = createUnpluginFactory;
134
134
  exports.getString = getString;
135
- //# sourceMappingURL=chunk-3TJ77HBR.cjs.map
136
- //# sourceMappingURL=chunk-3TJ77HBR.cjs.map
135
+ //# sourceMappingURL=chunk-N4WK6OX3.cjs.map
136
+ //# sourceMappingURL=chunk-N4WK6OX3.cjs.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkQHEKB7RW_cjs = require('./chunk-QHEKB7RW.cjs');
4
- var chunk3TJ77HBR_cjs = require('./chunk-3TJ77HBR.cjs');
4
+ var chunkN4WK6OX3_cjs = require('./chunk-N4WK6OX3.cjs');
5
5
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
6
6
  var environmentChecks = require('@stryke/env/environment-checks');
7
7
  var defu = require('defu');
@@ -97,7 +97,7 @@ function extractViteConfig(context) {
97
97
  chunkPK6SKIKE_cjs.__name(extractViteConfig, "extractViteConfig");
98
98
 
99
99
  // src/vite.ts
100
- var vite = unplugin.createVitePlugin(chunk3TJ77HBR_cjs.createUnpluginFactory("vite", (api, plugin) => {
100
+ var vite = unplugin.createVitePlugin(chunkN4WK6OX3_cjs.createUnpluginFactory("vite", (api, plugin) => {
101
101
  return {
102
102
  ...plugin,
103
103
  vite: {
@@ -158,5 +158,5 @@ var vite_default = vite;
158
158
 
159
159
  exports.vite = vite;
160
160
  exports.vite_default = vite_default;
161
- //# sourceMappingURL=chunk-AFSF26JE.cjs.map
162
- //# sourceMappingURL=chunk-AFSF26JE.cjs.map
161
+ //# sourceMappingURL=chunk-PT545X3I.cjs.map
162
+ //# sourceMappingURL=chunk-PT545X3I.cjs.map
@@ -1,4 +1,4 @@
1
- import { createLog, PowerlinesAPI } from './chunk-JEP7MDIY.js';
1
+ import { createLog, PowerlinesAPI } from './chunk-26KUPKTD.js';
2
2
  import { __name } from './chunk-7QVYU63E.js';
3
3
  import { LogLevelLabel } from '@storm-software/config-tools/types';
4
4
  import { getWorkspaceRoot } from '@stryke/fs/get-workspace-root';
@@ -129,5 +129,5 @@ function createUnpluginFactory(variant, decorate) {
129
129
  __name(createUnpluginFactory, "createUnpluginFactory");
130
130
 
131
131
  export { createUnpluginFactory, getString };
132
- //# sourceMappingURL=chunk-4ZM66B4T.js.map
133
- //# sourceMappingURL=chunk-4ZM66B4T.js.map
132
+ //# sourceMappingURL=chunk-PUWQEGGQ.js.map
133
+ //# sourceMappingURL=chunk-PUWQEGGQ.js.map
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkQHEKB7RW_cjs = require('./chunk-QHEKB7RW.cjs');
4
- var chunk3TJ77HBR_cjs = require('./chunk-3TJ77HBR.cjs');
4
+ var chunkN4WK6OX3_cjs = require('./chunk-N4WK6OX3.cjs');
5
5
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
6
6
  var isUndefined = require('@stryke/type-checks/is-undefined');
7
7
  var unplugin = require('unplugin');
8
8
 
9
- var esbuild = unplugin.createEsbuildPlugin(chunk3TJ77HBR_cjs.createUnpluginFactory("esbuild", (api, plugin) => {
9
+ var esbuild = unplugin.createEsbuildPlugin(chunkN4WK6OX3_cjs.createUnpluginFactory("esbuild", (api, plugin) => {
10
10
  return {
11
11
  ...plugin,
12
12
  esbuild: {
@@ -32,5 +32,5 @@ var esbuild_default = esbuild;
32
32
 
33
33
  exports.esbuild = esbuild;
34
34
  exports.esbuild_default = esbuild_default;
35
- //# sourceMappingURL=chunk-QMYQNHIP.cjs.map
36
- //# sourceMappingURL=chunk-QMYQNHIP.cjs.map
35
+ //# sourceMappingURL=chunk-RQAC3ZZ7.cjs.map
36
+ //# sourceMappingURL=chunk-RQAC3ZZ7.cjs.map
@@ -1,9 +1,9 @@
1
- import { createUnpluginFactory } from './chunk-4ZM66B4T.js';
1
+ import { createUnpluginFactory } from './chunk-PUWQEGGQ.js';
2
2
  import { createRolldownPlugin } from 'unplugin';
3
3
 
4
4
  var rolldown = createRolldownPlugin(createUnpluginFactory("rolldown"));
5
5
  var rolldown_default = rolldown;
6
6
 
7
7
  export { rolldown, rolldown_default };
8
- //# sourceMappingURL=chunk-7GLQATKT.js.map
9
- //# sourceMappingURL=chunk-7GLQATKT.js.map
8
+ //# sourceMappingURL=chunk-RVEHSFHL.js.map
9
+ //# sourceMappingURL=chunk-RVEHSFHL.js.map
@@ -3508,7 +3508,7 @@ function createPluginContext(plugin, environment) {
3508
3508
  const normalizeMessage = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((message) => {
3509
3509
  return isString.isString(message) ? message : message.message;
3510
3510
  }, "normalizeMessage");
3511
- const log = environment.extendLog(plugin.name);
3511
+ const log = environment.extendLog(plugin.name.replaceAll(":", " - "));
3512
3512
  const callHookFn = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name(async (hook, options, ...args) => {
3513
3513
  return environment.$$internal.api.callHook(hook, {
3514
3514
  sequential: true,
@@ -4643,5 +4643,5 @@ exports.PowerlinesAPI = PowerlinesAPI;
4643
4643
  exports._capnpFileId = _capnpFileId;
4644
4644
  exports.createLog = createLog;
4645
4645
  exports.extendLog = extendLog;
4646
- //# sourceMappingURL=chunk-OOZPDTJM.cjs.map
4647
- //# sourceMappingURL=chunk-OOZPDTJM.cjs.map
4646
+ //# sourceMappingURL=chunk-SX5J2DYW.cjs.map
4647
+ //# sourceMappingURL=chunk-SX5J2DYW.cjs.map
@@ -1,9 +1,9 @@
1
- import { createUnpluginFactory } from './chunk-4ZM66B4T.js';
1
+ import { createUnpluginFactory } from './chunk-PUWQEGGQ.js';
2
2
  import { createWebpackPlugin } from 'unplugin';
3
3
 
4
4
  var webpack = createWebpackPlugin(createUnpluginFactory("webpack"));
5
5
  var webpack_default = webpack;
6
6
 
7
7
  export { webpack, webpack_default };
8
- //# sourceMappingURL=chunk-LUTJ2RSQ.js.map
9
- //# sourceMappingURL=chunk-LUTJ2RSQ.js.map
8
+ //# sourceMappingURL=chunk-UQXYL2GO.js.map
9
+ //# sourceMappingURL=chunk-UQXYL2GO.js.map
package/dist/esbuild.cjs CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkQMYQNHIP_cjs = require('./chunk-QMYQNHIP.cjs');
5
+ var chunkRQAC3ZZ7_cjs = require('./chunk-RQAC3ZZ7.cjs');
6
6
  require('./chunk-QHEKB7RW.cjs');
7
- require('./chunk-3TJ77HBR.cjs');
8
- require('./chunk-OOZPDTJM.cjs');
7
+ require('./chunk-N4WK6OX3.cjs');
8
+ require('./chunk-SX5J2DYW.cjs');
9
9
  require('./chunk-VFXZVCGG.cjs');
10
10
  require('./chunk-Z6ARQDHR.cjs');
11
11
  require('./chunk-PK6SKIKE.cjs');
@@ -14,15 +14,15 @@ require('./chunk-PK6SKIKE.cjs');
14
14
 
15
15
  Object.defineProperty(exports, "default", {
16
16
  enumerable: true,
17
- get: function () { return chunkQMYQNHIP_cjs.esbuild_default; }
17
+ get: function () { return chunkRQAC3ZZ7_cjs.esbuild_default; }
18
18
  });
19
19
  Object.defineProperty(exports, "esbuild", {
20
20
  enumerable: true,
21
- get: function () { return chunkQMYQNHIP_cjs.esbuild; }
21
+ get: function () { return chunkRQAC3ZZ7_cjs.esbuild; }
22
22
  });
23
23
  Object.defineProperty(exports, "module.exports", {
24
24
  enumerable: true,
25
- get: function () { return chunkQMYQNHIP_cjs.esbuild; }
25
+ get: function () { return chunkRQAC3ZZ7_cjs.esbuild; }
26
26
  });
27
27
  //# sourceMappingURL=esbuild.cjs.map
28
28
  //# sourceMappingURL=esbuild.cjs.map
package/dist/esbuild.js CHANGED
@@ -1,7 +1,7 @@
1
- export { esbuild_default as default, esbuild, esbuild as "module.exports" } from './chunk-4JTXARCZ.js';
1
+ export { esbuild_default as default, esbuild, esbuild as "module.exports" } from './chunk-GE42ERLH.js';
2
2
  import './chunk-YJWTNJQF.js';
3
- import './chunk-4ZM66B4T.js';
4
- import './chunk-JEP7MDIY.js';
3
+ import './chunk-PUWQEGGQ.js';
4
+ import './chunk-26KUPKTD.js';
5
5
  import './chunk-JGSCIWFQ.js';
6
6
  import './chunk-2MYPFASJ.js';
7
7
  import './chunk-7QVYU63E.js';
package/dist/farm.cjs CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunk3TJ77HBR_cjs = require('./chunk-3TJ77HBR.cjs');
6
- require('./chunk-OOZPDTJM.cjs');
5
+ var chunkN4WK6OX3_cjs = require('./chunk-N4WK6OX3.cjs');
6
+ require('./chunk-SX5J2DYW.cjs');
7
7
  require('./chunk-VFXZVCGG.cjs');
8
8
  require('./chunk-Z6ARQDHR.cjs');
9
9
  require('./chunk-PK6SKIKE.cjs');
10
10
  var unplugin = require('unplugin');
11
11
 
12
- var farm = unplugin.createFarmPlugin(chunk3TJ77HBR_cjs.createUnpluginFactory("farm"));
12
+ var farm = unplugin.createFarmPlugin(chunkN4WK6OX3_cjs.createUnpluginFactory("farm"));
13
13
  var farm_default = farm;
14
14
 
15
15
  exports.default = farm_default;
package/dist/farm.js CHANGED
@@ -1,5 +1,5 @@
1
- import { createUnpluginFactory } from './chunk-4ZM66B4T.js';
2
- import './chunk-JEP7MDIY.js';
1
+ import { createUnpluginFactory } from './chunk-PUWQEGGQ.js';
2
+ import './chunk-26KUPKTD.js';
3
3
  import './chunk-JGSCIWFQ.js';
4
4
  import './chunk-2MYPFASJ.js';
5
5
  import './chunk-7QVYU63E.js';
package/dist/index.cjs CHANGED
@@ -14,7 +14,7 @@ require('./chunk-4JCNAKOE.cjs');
14
14
  var chunkIJXEMXLH_cjs = require('./chunk-IJXEMXLH.cjs');
15
15
  var chunkUMU2MF3G_cjs = require('./chunk-UMU2MF3G.cjs');
16
16
  require('./chunk-XZO6ZJQP.cjs');
17
- var chunkOOZPDTJM_cjs = require('./chunk-OOZPDTJM.cjs');
17
+ var chunkSX5J2DYW_cjs = require('./chunk-SX5J2DYW.cjs');
18
18
  var chunkVFXZVCGG_cjs = require('./chunk-VFXZVCGG.cjs');
19
19
  var chunkZ6ARQDHR_cjs = require('./chunk-Z6ARQDHR.cjs');
20
20
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
@@ -27,10 +27,10 @@ chunkPK6SKIKE_cjs.__name(defineConfig, "defineConfig");
27
27
  async function createPowerlines(options = {}) {
28
28
  options.root ??= process.cwd();
29
29
  const workspaceRoot = getWorkspaceRoot.getWorkspaceRoot(options.root);
30
- return chunkOOZPDTJM_cjs.PowerlinesAPI.from(workspaceRoot, options);
30
+ return chunkSX5J2DYW_cjs.PowerlinesAPI.from(workspaceRoot, options);
31
31
  }
32
32
  chunkPK6SKIKE_cjs.__name(createPowerlines, "createPowerlines");
33
- var index_default = chunkOOZPDTJM_cjs.PowerlinesAPI;
33
+ var index_default = chunkSX5J2DYW_cjs.PowerlinesAPI;
34
34
 
35
35
  Object.defineProperty(exports, "LogLevel", {
36
36
  enumerable: true,
@@ -46,31 +46,31 @@ Object.defineProperty(exports, "__VFS_REVERT__", {
46
46
  });
47
47
  Object.defineProperty(exports, "FileId", {
48
48
  enumerable: true,
49
- get: function () { return chunkOOZPDTJM_cjs.FileId; }
49
+ get: function () { return chunkSX5J2DYW_cjs.FileId; }
50
50
  });
51
51
  Object.defineProperty(exports, "FileMetadata", {
52
52
  enumerable: true,
53
- get: function () { return chunkOOZPDTJM_cjs.FileMetadata; }
53
+ get: function () { return chunkSX5J2DYW_cjs.FileMetadata; }
54
54
  });
55
55
  Object.defineProperty(exports, "FileMetadata_KeyValuePair", {
56
56
  enumerable: true,
57
- get: function () { return chunkOOZPDTJM_cjs.FileMetadata_KeyValuePair; }
57
+ get: function () { return chunkSX5J2DYW_cjs.FileMetadata_KeyValuePair; }
58
58
  });
59
59
  Object.defineProperty(exports, "FileStorage", {
60
60
  enumerable: true,
61
- get: function () { return chunkOOZPDTJM_cjs.FileStorage; }
61
+ get: function () { return chunkSX5J2DYW_cjs.FileStorage; }
62
62
  });
63
63
  Object.defineProperty(exports, "FileSystem", {
64
64
  enumerable: true,
65
- get: function () { return chunkOOZPDTJM_cjs.FileSystem; }
65
+ get: function () { return chunkSX5J2DYW_cjs.FileSystem; }
66
66
  });
67
67
  Object.defineProperty(exports, "PowerlinesAPI", {
68
68
  enumerable: true,
69
- get: function () { return chunkOOZPDTJM_cjs.PowerlinesAPI; }
69
+ get: function () { return chunkSX5J2DYW_cjs.PowerlinesAPI; }
70
70
  });
71
71
  Object.defineProperty(exports, "_capnpFileId", {
72
72
  enumerable: true,
73
- get: function () { return chunkOOZPDTJM_cjs._capnpFileId; }
73
+ get: function () { return chunkSX5J2DYW_cjs._capnpFileId; }
74
74
  });
75
75
  Object.defineProperty(exports, "PLUGIN_NON_HOOK_FIELDS", {
76
76
  enumerable: true,
package/dist/index.js CHANGED
@@ -10,8 +10,8 @@ import './chunk-OYASPHNL.js';
10
10
  export { LogLevel } from './chunk-GIOACISS.js';
11
11
  export { __VFS_PATCH__, __VFS_REVERT__ } from './chunk-EJZVAP3T.js';
12
12
  import './chunk-HJW7OH6E.js';
13
- import { PowerlinesAPI } from './chunk-JEP7MDIY.js';
14
- export { FileId, FileMetadata, FileMetadata_KeyValuePair, FileStorage, FileSystem, PowerlinesAPI, _capnpFileId } from './chunk-JEP7MDIY.js';
13
+ import { PowerlinesAPI } from './chunk-26KUPKTD.js';
14
+ export { FileId, FileMetadata, FileMetadata_KeyValuePair, FileStorage, FileSystem, PowerlinesAPI, _capnpFileId } from './chunk-26KUPKTD.js';
15
15
  export { PLUGIN_NON_HOOK_FIELDS } from './chunk-JGSCIWFQ.js';
16
16
  export { SUPPORTED_COMMANDS } from './chunk-2MYPFASJ.js';
17
17
  import { __name } from './chunk-7QVYU63E.js';
@@ -8,7 +8,7 @@ function createPluginContext(plugin, environment) {
8
8
  const normalizeMessage = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((message) => {
9
9
  return isString.isString(message) ? message : message.message;
10
10
  }, "normalizeMessage");
11
- const log = environment.extendLog(plugin.name);
11
+ const log = environment.extendLog(plugin.name.replaceAll(":", " - "));
12
12
  const callHookFn = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name(async (hook, options, ...args) => {
13
13
  return environment.$$internal.api.callHook(hook, {
14
14
  sequential: true,
@@ -81,5 +81,5 @@ function createPluginContext(plugin, environment) {
81
81
  chunkPK6SKIKE_cjs.__name(createPluginContext, "createPluginContext");
82
82
 
83
83
  exports.createPluginContext = createPluginContext;
84
- //# sourceMappingURL=chunk-63DAS6TJ.cjs.map
85
- //# sourceMappingURL=chunk-63DAS6TJ.cjs.map
84
+ //# sourceMappingURL=chunk-57WHQU5T.cjs.map
85
+ //# sourceMappingURL=chunk-57WHQU5T.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/contexts/plugin-context.ts"],"names":["createPluginContext","plugin","environment","normalizeMessage","message","isString","log","extendLog","name","replaceAll","callHookFn","__name","hook","options","args","$$internal","api","callHook","sequential","result","Proxy","get","_","prop","LogLevelLabel","ERROR","WARN","INFO","DEBUG","TRACE","set","value","includes","String"],"mappings":"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","file":"chunk-57WHQU5T.cjs","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 { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport { UnpluginMessage } from \"unplugin\";\nimport { CallHookOptions } from \"../../internal/helpers/hooks\";\nimport { LogFn } from \"../../types/config\";\nimport { EnvironmentContext, PluginContext } from \"../../types/context\";\nimport {\n HookKeys,\n InferHookParameters,\n InferHookReturnType\n} from \"../../types/hooks\";\nimport {\n UNSAFE_EnvironmentContext,\n UNSAFE_PluginContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport { ResolvedConfig } from \"../../types/resolved\";\n\n/**\n * Create a Proxy-based PluginContext\n *\n * @param plugin - The plugin instance\n * @param environment - The environment context\n * @returns The proxied plugin context\n */\nexport function createPluginContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>(\n plugin: Plugin<PluginContext<TResolvedConfig>>,\n environment: UNSAFE_EnvironmentContext<TResolvedConfig>\n): UNSAFE_PluginContext<TResolvedConfig> {\n const normalizeMessage = (message: string | UnpluginMessage): string => {\n return isString(message) ? message : message.message;\n };\n\n const log: LogFn = environment.extendLog(plugin.name.replaceAll(\":\", \" - \"));\n\n const callHookFn = async <\n TKey extends HookKeys<PluginContext<TResolvedConfig>>\n >(\n hook: TKey,\n options: CallHookOptions,\n ...args: InferHookParameters<PluginContext<TResolvedConfig>, TKey>\n ): Promise<\n InferHookReturnType<PluginContext<TResolvedConfig>, TKey> | undefined\n > => {\n return environment.$$internal.api.callHook(\n hook,\n {\n sequential: true,\n result: \"merge\",\n ...options,\n environment\n } as Parameters<typeof environment.$$internal.api.callHook>[1],\n ...args\n );\n };\n\n return new Proxy({} as UNSAFE_PluginContext<TResolvedConfig>, {\n get(_, prop) {\n if (prop === \"$$internal\") {\n return {\n ...environment.$$internal,\n environment,\n callHook: callHookFn\n };\n }\n\n if (prop === \"log\" || prop === \"logger\") {\n return log;\n }\n\n if (prop === \"error\") {\n return (message: string | UnpluginMessage) => {\n log(LogLevelLabel.ERROR, normalizeMessage(message));\n };\n }\n\n if (prop === \"warn\") {\n return (message: string | UnpluginMessage) => {\n log(LogLevelLabel.WARN, normalizeMessage(message));\n };\n }\n\n if (prop === \"info\") {\n return (message: string | UnpluginMessage) => {\n log(LogLevelLabel.INFO, normalizeMessage(message));\n };\n }\n\n if (prop === \"debug\") {\n return (message: string | UnpluginMessage) => {\n log(LogLevelLabel.DEBUG, normalizeMessage(message));\n };\n }\n\n if (prop === \"trace\") {\n return (message: string | UnpluginMessage) => {\n log(LogLevelLabel.TRACE, normalizeMessage(message));\n };\n }\n\n return environment[prop as keyof EnvironmentContext<TResolvedConfig>];\n },\n set(_, prop, value) {\n if (\n [\n \"$$internal\",\n \"environment\",\n \"config\",\n \"log\",\n \"logger\",\n \"error\",\n \"warn\",\n \"plugins\",\n \"hooks\",\n \"addPlugin\",\n \"selectHooks\"\n ].includes(prop as string)\n ) {\n log(\n LogLevelLabel.WARN,\n `Cannot set read-only property \"${String(prop)}\"`\n );\n\n return false;\n }\n\n environment[prop as keyof EnvironmentContext<TResolvedConfig>] = value;\n return true;\n }\n });\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkVMWMBMXG_cjs = require('./chunk-VMWMBMXG.cjs');
3
+ var chunkYRF3VEZ2_cjs = require('./chunk-YRF3VEZ2.cjs');
4
4
  var chunkVAIDDF5X_cjs = require('./chunk-VAIDDF5X.cjs');
5
5
  var chunk2JR645O3_cjs = require('./chunk-2JR645O3.cjs');
6
6
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
@@ -154,7 +154,7 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunkVAIDDF5X_cjs
154
154
  if (this.environments[environment.name]) {
155
155
  context = this.environments[environment.name];
156
156
  } else {
157
- context = await chunkVMWMBMXG_cjs.PowerlinesEnvironmentContext.fromConfig(this.workspaceConfig, this.config);
157
+ context = await chunkYRF3VEZ2_cjs.PowerlinesEnvironmentContext.fromConfig(this.workspaceConfig, this.config);
158
158
  }
159
159
  if (isSetObject.isSetObject(this.config.inlineConfig)) {
160
160
  await context.withInlineConfig(this.config.inlineConfig);
@@ -261,5 +261,5 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunkVAIDDF5X_cjs
261
261
  };
262
262
 
263
263
  exports.PowerlinesAPIContext = PowerlinesAPIContext;
264
- //# sourceMappingURL=chunk-7XTQMSUB.cjs.map
265
- //# sourceMappingURL=chunk-7XTQMSUB.cjs.map
264
+ //# sourceMappingURL=chunk-ALBIVUKS.cjs.map
265
+ //# sourceMappingURL=chunk-ALBIVUKS.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["DEFAULT_ENVIRONMENT","GLOBAL_ENVIRONMENT","createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","PowerlinesAPIContext","PowerlinesContext","from","workspaceRoot","config","context","loadWorkspaceConfig","root","withUserConfig","powerlinesPath","resolvePackage","Error","$$internal","value","environment","Object","values","log","createLog","plugins","workspaceConfig","init","Promise","all","toArray","keys","length","map","env","in","PowerlinesEnvironmentContext","fromConfig","isSetObject","inlineConfig","withInlineConfig","plugin","addPlugin","options","isHighPriority","push","getEnvironment","LogLevelLabel","DEBUG","chalk","bold","cyanBright","WARN","getEnvironmentSafe","toEnvironment"],"mappings":"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","file":"chunk-7XTQMSUB.cjs","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 { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\n\nexport const DEFAULT_ENVIRONMENT = \"default\" as const;\nexport const GLOBAL_ENVIRONMENT = \"__GLOBAL__\" as const;\n\nexport function createEnvironment<TContext extends Context = Context>(\n name: string,\n userConfig: TContext[\"config\"][\"userConfig\"]\n): EnvironmentResolvedConfig {\n return defu(\n userConfig.environments?.[name] ?? {},\n {\n name,\n title: userConfig.title || titleCase(userConfig.name),\n ssr: false,\n mainFields:\n userConfig.build?.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"],\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"],\n consumer: userConfig.build?.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n userConfig.build?.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n },\n userConfig\n ) as EnvironmentResolvedConfig;\n}\n\nexport function createDefaultEnvironment<\n TContext extends APIContext = APIContext\n>(userConfig: TContext[\"config\"][\"userConfig\"]): EnvironmentResolvedConfig {\n return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);\n}\n","/* -------------------------------------------------------------------\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 { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport chalk from \"chalk\";\nimport {\n createDefaultEnvironment,\n createEnvironment,\n GLOBAL_ENVIRONMENT\n} from \"../../internal/helpers/environment\";\nimport {\n InitialUserConfig,\n InlineConfig,\n LogFn,\n UserConfig,\n WorkspaceConfig\n} from \"../../types/config\";\nimport {\n APIContext,\n EnvironmentContext,\n InitContextOptions,\n PluginContext\n} from \"../../types/context\";\nimport {\n UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { loadWorkspaceConfig } from \"../config-file\";\nimport { PowerlinesContext } from \"./context\";\nimport { PowerlinesEnvironmentContext } from \"./environment-context\";\n\nexport class PowerlinesAPIContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements APIContext<TResolvedConfig>\n{\n #environments: Record<string, UNSAFE_EnvironmentContext<TResolvedConfig>> =\n {};\n\n #plugins: Plugin<PluginContext<TResolvedConfig>>[] = [];\n\n #log!: LogFn;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static override async from<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceRoot: string,\n config: InitialUserConfig<TResolvedConfig[\"userConfig\"]>\n ): Promise<APIContext<TResolvedConfig>> {\n const context = new PowerlinesAPIContext<TResolvedConfig>(\n await loadWorkspaceConfig(workspaceRoot, config.root)\n );\n await context.withUserConfig(config);\n\n const powerlinesPath = await resolvePackage(\"powerlines\");\n if (!powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n context.powerlinesPath = powerlinesPath;\n\n return context;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override get $$internal(): UNSAFE_ContextInternal<TResolvedConfig> {\n return super.$$internal;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override set $$internal(\n value: UNSAFE_ContextInternal<TResolvedConfig>\n ) {\n super.$$internal = value;\n for (const environment of Object.values(this.environments)) {\n environment.$$internal = super.$$internal;\n }\n }\n\n /**\n * A record of all environments by name\n */\n public get environments(): Record<\n string,\n UNSAFE_EnvironmentContext<TResolvedConfig>\n > {\n return this.#environments;\n }\n\n public override get log(): LogFn {\n if (!this.#log) {\n this.#log = this.createLog(\"engine\");\n }\n\n return this.#log;\n }\n\n public get plugins(): Array<Plugin<PluginContext<TResolvedConfig>>> {\n return this.#plugins;\n }\n\n protected constructor(workspaceConfig: WorkspaceConfig) {\n super(workspaceConfig);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @param config - The partial user configuration to use for initialization.\n */\n protected override async init(\n config: Partial<TResolvedConfig[\"userConfig\"]> = {}\n ) {\n await super.init(config);\n\n await Promise.all(\n toArray(\n this.config.userConfig.environments &&\n Object.keys(this.config.userConfig.environments).length > 0\n ? Object.keys(this.config.userConfig.environments).map(name =>\n createEnvironment(name, this.config.userConfig)\n )\n : createDefaultEnvironment(this.config.userConfig)\n ).map(async env => {\n this.#environments[env.name] = await this.in(env);\n })\n );\n }\n\n /**\n * A function to copy the context and update the fields for a specific environment\n *\n * @param environment - The environment configuration to use.\n * @returns A new context instance with the updated environment.\n */\n public async in(\n environment: EnvironmentResolvedConfig\n ): Promise<UNSAFE_EnvironmentContext<TResolvedConfig>> {\n let context: UNSAFE_EnvironmentContext<TResolvedConfig>;\n if (this.environments[environment.name]) {\n context = this.environments[environment.name] as any;\n } else {\n context = (await PowerlinesEnvironmentContext.fromConfig(\n this.workspaceConfig,\n this.config\n )) as any;\n }\n\n if (isSetObject(this.config.inlineConfig)) {\n await context.withInlineConfig(this.config.inlineConfig);\n }\n\n context.environment = environment;\n context.plugins = [];\n\n for (const plugin of this.plugins) {\n await context.addPlugin(plugin);\n }\n\n return context;\n }\n\n /**\n * Update the context using a new user configuration options\n *\n * @param userConfig - The new user configuration options.\n */\n public override async withUserConfig(\n userConfig: InitialUserConfig<TResolvedConfig[\"userConfig\"]>,\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withUserConfig(userConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withUserConfig(\n userConfig as UserConfig,\n options\n );\n })\n );\n }\n\n /**\n * Update the context using a new inline configuration options\n *\n * @param inlineConfig - The new inline configuration options.\n */\n public override async withInlineConfig(\n inlineConfig: TResolvedConfig[\"inlineConfig\"],\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withInlineConfig(inlineConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withInlineConfig(\n inlineConfig as InlineConfig,\n options\n );\n })\n );\n }\n\n /**\n * Add a plugin to the API context and all environments\n *\n * @param plugin - The plugin to add.\n */\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n this.plugins.push(plugin);\n\n await Promise.all(\n Object.keys(this.environments).map(async name => {\n await this.environments[name]!.addPlugin(plugin);\n })\n );\n }\n\n /**\n * Get an environment by name, or the default environment if no name is provided\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context.\n */\n public async getEnvironment(name?: string) {\n let environment: EnvironmentContext<TResolvedConfig> | undefined;\n if (name) {\n environment = this.environments[name];\n }\n\n if (Object.keys(this.environments).length === 1) {\n environment = this.environments[Object.keys(this.environments)[0]!];\n\n this.log(\n LogLevelLabel.DEBUG,\n `Applying the only configured environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n if (!environment) {\n if (name) {\n throw new Error(`Environment \"${name}\" not found.`);\n }\n\n environment = await this.in(\n createDefaultEnvironment(this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.WARN,\n `No environment specified, and no default environment found. Using a temporary default environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n return environment;\n }\n\n /**\n * A safe version of `getEnvironment` that returns `undefined` if the environment is not found\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context or `undefined` if not found.\n */\n public async getEnvironmentSafe(\n name?: string\n ): Promise<EnvironmentContext<TResolvedConfig> | undefined> {\n try {\n return await this.getEnvironment(name);\n } catch {\n return undefined;\n }\n }\n\n /**\n * A function to merge all configured environments into a single context.\n *\n * @remarks\n * If only one environment is configured, that environment will be returned directly.\n *\n * @returns A promise that resolves to a merged/global environment context.\n */\n public async toEnvironment(): Promise<EnvironmentContext<TResolvedConfig>> {\n let environment: EnvironmentContext<TResolvedConfig>;\n if (Object.keys(this.environments).length > 1) {\n environment = await this.in(\n createEnvironment(GLOBAL_ENVIRONMENT, this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.DEBUG,\n `Combined all ${Object.keys(this.environments).length} environments into a single global context.`\n );\n } else {\n environment = await this.getEnvironment();\n }\n\n return environment;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["DEFAULT_ENVIRONMENT","GLOBAL_ENVIRONMENT","createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","PowerlinesAPIContext","PowerlinesContext","from","workspaceRoot","config","context","loadWorkspaceConfig","root","withUserConfig","powerlinesPath","resolvePackage","Error","$$internal","value","environment","Object","values","log","createLog","plugins","workspaceConfig","init","Promise","all","toArray","keys","length","map","env","in","PowerlinesEnvironmentContext","fromConfig","isSetObject","inlineConfig","withInlineConfig","plugin","addPlugin","options","isHighPriority","push","getEnvironment","LogLevelLabel","DEBUG","chalk","bold","cyanBright","WARN","getEnvironmentSafe","toEnvironment"],"mappings":"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","file":"chunk-ALBIVUKS.cjs","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 { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\n\nexport const DEFAULT_ENVIRONMENT = \"default\" as const;\nexport const GLOBAL_ENVIRONMENT = \"__GLOBAL__\" as const;\n\nexport function createEnvironment<TContext extends Context = Context>(\n name: string,\n userConfig: TContext[\"config\"][\"userConfig\"]\n): EnvironmentResolvedConfig {\n return defu(\n userConfig.environments?.[name] ?? {},\n {\n name,\n title: userConfig.title || titleCase(userConfig.name),\n ssr: false,\n mainFields:\n userConfig.build?.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"],\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"],\n consumer: userConfig.build?.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n userConfig.build?.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n },\n userConfig\n ) as EnvironmentResolvedConfig;\n}\n\nexport function createDefaultEnvironment<\n TContext extends APIContext = APIContext\n>(userConfig: TContext[\"config\"][\"userConfig\"]): EnvironmentResolvedConfig {\n return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);\n}\n","/* -------------------------------------------------------------------\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 { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport chalk from \"chalk\";\nimport {\n createDefaultEnvironment,\n createEnvironment,\n GLOBAL_ENVIRONMENT\n} from \"../../internal/helpers/environment\";\nimport {\n InitialUserConfig,\n InlineConfig,\n LogFn,\n UserConfig,\n WorkspaceConfig\n} from \"../../types/config\";\nimport {\n APIContext,\n EnvironmentContext,\n InitContextOptions,\n PluginContext\n} from \"../../types/context\";\nimport {\n UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { loadWorkspaceConfig } from \"../config-file\";\nimport { PowerlinesContext } from \"./context\";\nimport { PowerlinesEnvironmentContext } from \"./environment-context\";\n\nexport class PowerlinesAPIContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements APIContext<TResolvedConfig>\n{\n #environments: Record<string, UNSAFE_EnvironmentContext<TResolvedConfig>> =\n {};\n\n #plugins: Plugin<PluginContext<TResolvedConfig>>[] = [];\n\n #log!: LogFn;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static override async from<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceRoot: string,\n config: InitialUserConfig<TResolvedConfig[\"userConfig\"]>\n ): Promise<APIContext<TResolvedConfig>> {\n const context = new PowerlinesAPIContext<TResolvedConfig>(\n await loadWorkspaceConfig(workspaceRoot, config.root)\n );\n await context.withUserConfig(config);\n\n const powerlinesPath = await resolvePackage(\"powerlines\");\n if (!powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n context.powerlinesPath = powerlinesPath;\n\n return context;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override get $$internal(): UNSAFE_ContextInternal<TResolvedConfig> {\n return super.$$internal;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override set $$internal(\n value: UNSAFE_ContextInternal<TResolvedConfig>\n ) {\n super.$$internal = value;\n for (const environment of Object.values(this.environments)) {\n environment.$$internal = super.$$internal;\n }\n }\n\n /**\n * A record of all environments by name\n */\n public get environments(): Record<\n string,\n UNSAFE_EnvironmentContext<TResolvedConfig>\n > {\n return this.#environments;\n }\n\n public override get log(): LogFn {\n if (!this.#log) {\n this.#log = this.createLog(\"engine\");\n }\n\n return this.#log;\n }\n\n public get plugins(): Array<Plugin<PluginContext<TResolvedConfig>>> {\n return this.#plugins;\n }\n\n protected constructor(workspaceConfig: WorkspaceConfig) {\n super(workspaceConfig);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @param config - The partial user configuration to use for initialization.\n */\n protected override async init(\n config: Partial<TResolvedConfig[\"userConfig\"]> = {}\n ) {\n await super.init(config);\n\n await Promise.all(\n toArray(\n this.config.userConfig.environments &&\n Object.keys(this.config.userConfig.environments).length > 0\n ? Object.keys(this.config.userConfig.environments).map(name =>\n createEnvironment(name, this.config.userConfig)\n )\n : createDefaultEnvironment(this.config.userConfig)\n ).map(async env => {\n this.#environments[env.name] = await this.in(env);\n })\n );\n }\n\n /**\n * A function to copy the context and update the fields for a specific environment\n *\n * @param environment - The environment configuration to use.\n * @returns A new context instance with the updated environment.\n */\n public async in(\n environment: EnvironmentResolvedConfig\n ): Promise<UNSAFE_EnvironmentContext<TResolvedConfig>> {\n let context: UNSAFE_EnvironmentContext<TResolvedConfig>;\n if (this.environments[environment.name]) {\n context = this.environments[environment.name] as any;\n } else {\n context = (await PowerlinesEnvironmentContext.fromConfig(\n this.workspaceConfig,\n this.config\n )) as any;\n }\n\n if (isSetObject(this.config.inlineConfig)) {\n await context.withInlineConfig(this.config.inlineConfig);\n }\n\n context.environment = environment;\n context.plugins = [];\n\n for (const plugin of this.plugins) {\n await context.addPlugin(plugin);\n }\n\n return context;\n }\n\n /**\n * Update the context using a new user configuration options\n *\n * @param userConfig - The new user configuration options.\n */\n public override async withUserConfig(\n userConfig: InitialUserConfig<TResolvedConfig[\"userConfig\"]>,\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withUserConfig(userConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withUserConfig(\n userConfig as UserConfig,\n options\n );\n })\n );\n }\n\n /**\n * Update the context using a new inline configuration options\n *\n * @param inlineConfig - The new inline configuration options.\n */\n public override async withInlineConfig(\n inlineConfig: TResolvedConfig[\"inlineConfig\"],\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withInlineConfig(inlineConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withInlineConfig(\n inlineConfig as InlineConfig,\n options\n );\n })\n );\n }\n\n /**\n * Add a plugin to the API context and all environments\n *\n * @param plugin - The plugin to add.\n */\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n this.plugins.push(plugin);\n\n await Promise.all(\n Object.keys(this.environments).map(async name => {\n await this.environments[name]!.addPlugin(plugin);\n })\n );\n }\n\n /**\n * Get an environment by name, or the default environment if no name is provided\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context.\n */\n public async getEnvironment(name?: string) {\n let environment: EnvironmentContext<TResolvedConfig> | undefined;\n if (name) {\n environment = this.environments[name];\n }\n\n if (Object.keys(this.environments).length === 1) {\n environment = this.environments[Object.keys(this.environments)[0]!];\n\n this.log(\n LogLevelLabel.DEBUG,\n `Applying the only configured environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n if (!environment) {\n if (name) {\n throw new Error(`Environment \"${name}\" not found.`);\n }\n\n environment = await this.in(\n createDefaultEnvironment(this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.WARN,\n `No environment specified, and no default environment found. Using a temporary default environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n return environment;\n }\n\n /**\n * A safe version of `getEnvironment` that returns `undefined` if the environment is not found\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context or `undefined` if not found.\n */\n public async getEnvironmentSafe(\n name?: string\n ): Promise<EnvironmentContext<TResolvedConfig> | undefined> {\n try {\n return await this.getEnvironment(name);\n } catch {\n return undefined;\n }\n }\n\n /**\n * A function to merge all configured environments into a single context.\n *\n * @remarks\n * If only one environment is configured, that environment will be returned directly.\n *\n * @returns A promise that resolves to a merged/global environment context.\n */\n public async toEnvironment(): Promise<EnvironmentContext<TResolvedConfig>> {\n let environment: EnvironmentContext<TResolvedConfig>;\n if (Object.keys(this.environments).length > 1) {\n environment = await this.in(\n createEnvironment(GLOBAL_ENVIRONMENT, this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.DEBUG,\n `Combined all ${Object.keys(this.environments).length} environments into a single global context.`\n );\n } else {\n environment = await this.getEnvironment();\n }\n\n return environment;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { createPluginContext } from './chunk-6OGQTUXF.js';
1
+ import { createPluginContext } from './chunk-HEMW2YZA.js';
2
2
  import { PowerlinesContext, isPluginConfig, isPlugin, isPluginHook, isHookExternal, addPluginHook, getHookHandler } from './chunk-3BXSIJGU.js';
3
3
  import { __name } from './chunk-7QVYU63E.js';
4
4
  import { resolvePackage } from '@stryke/fs/resolve';
@@ -201,5 +201,5 @@ var PowerlinesEnvironmentContext = class _PowerlinesEnvironmentContext extends P
201
201
  };
202
202
 
203
203
  export { PowerlinesEnvironmentContext };
204
- //# sourceMappingURL=chunk-Q7KX7QCP.js.map
205
- //# sourceMappingURL=chunk-Q7KX7QCP.js.map
204
+ //# sourceMappingURL=chunk-DRVSC7Z7.js.map
205
+ //# sourceMappingURL=chunk-DRVSC7Z7.js.map