powerlines 0.33.1 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) 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-UW36RQUY.js → chunk-2RBVDP6N.js} +3 -3
  6. package/dist/{chunk-IHXWAXWZ.cjs → chunk-3P5VBWM5.cjs} +15 -11
  7. package/dist/{chunk-JTP42M5W.js → chunk-DGZDESAN.js} +15 -11
  8. package/dist/{chunk-AHSUJPDN.js → chunk-E7MP244L.js} +3 -3
  9. package/dist/chunk-HIR4JDIJ.cjs +12 -0
  10. package/dist/{chunk-AUA5JDF6.js → chunk-JTUC6OVE.js} +3 -3
  11. package/dist/{chunk-5RDS7XFQ.cjs → chunk-K3UM4PVS.cjs} +4 -4
  12. package/dist/chunk-LM7FO6XH.cjs +12 -0
  13. package/dist/{chunk-P5K3VBN4.cjs → chunk-NLACEZIN.cjs} +5 -5
  14. package/dist/{chunk-DAB3EO5I.js → chunk-Q3OBCFHR.js} +3 -3
  15. package/dist/{chunk-MOI4Q6CJ.js → chunk-QWGUMMAE.js} +3 -3
  16. package/dist/{chunk-22QF62OZ.cjs → chunk-Y5YN4OHC.cjs} +4 -4
  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-D2UP6IHS.js → chunk-4WBK426K.js} +4 -4
  24. package/dist/lib/{chunk-D2UP6IHS.js.map → chunk-4WBK426K.js.map} +1 -1
  25. package/dist/lib/{chunk-NZP7CHJL.cjs → chunk-6TBIDT6G.cjs} +12 -12
  26. package/dist/lib/{chunk-NZP7CHJL.cjs.map → chunk-6TBIDT6G.cjs.map} +1 -1
  27. package/dist/lib/{chunk-AQZIZWN3.js → chunk-BO6Z3YUB.js} +4 -4
  28. package/dist/lib/{chunk-AQZIZWN3.js.map → chunk-BO6Z3YUB.js.map} +1 -1
  29. package/dist/lib/{chunk-HLTVE6PK.cjs → chunk-CPS6V7KC.cjs} +6 -6
  30. package/dist/lib/{chunk-HLTVE6PK.cjs.map → chunk-CPS6V7KC.cjs.map} +1 -1
  31. package/dist/lib/{chunk-AZD5HDNF.js → chunk-LVKBYD3U.js} +15 -11
  32. package/dist/lib/chunk-LVKBYD3U.js.map +1 -0
  33. package/dist/lib/{chunk-QF5R2XMY.cjs → chunk-N4U33GKV.cjs} +13 -13
  34. package/dist/lib/{chunk-QF5R2XMY.cjs.map → chunk-N4U33GKV.cjs.map} +1 -1
  35. package/dist/lib/{chunk-35BWNBOB.js → chunk-VJQOQY6C.js} +3 -3
  36. package/dist/lib/{chunk-35BWNBOB.js.map → chunk-VJQOQY6C.js.map} +1 -1
  37. package/dist/lib/{chunk-HSCAG6CB.cjs → chunk-WJV6QIWJ.cjs} +15 -11
  38. package/dist/lib/chunk-WJV6QIWJ.cjs.map +1 -0
  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/context.cjs +2 -2
  42. package/dist/lib/contexts/context.d.cts +1 -0
  43. package/dist/lib/contexts/context.d.ts +1 -0
  44. package/dist/lib/contexts/context.js +1 -1
  45. package/dist/lib/contexts/environment-context.cjs +3 -3
  46. package/dist/lib/contexts/environment-context.js +2 -2
  47. package/dist/lib/contexts/index.cjs +6 -6
  48. package/dist/lib/contexts/index.js +3 -3
  49. package/dist/lib/index.cjs +8 -8
  50. package/dist/lib/index.js +4 -4
  51. package/dist/lib/unplugin/factory.cjs +5 -5
  52. package/dist/lib/unplugin/factory.js +4 -4
  53. package/dist/lib/unplugin/index.cjs +5 -5
  54. package/dist/lib/unplugin/index.js +4 -4
  55. package/dist/next.cjs +4 -4
  56. package/dist/next.js +3 -3
  57. package/dist/nuxt.cjs +7 -7
  58. package/dist/nuxt.js +5 -5
  59. package/dist/rolldown.cjs +6 -6
  60. package/dist/rolldown.js +3 -3
  61. package/dist/rollup.cjs +3 -3
  62. package/dist/rollup.js +2 -2
  63. package/dist/rspack.cjs +3 -3
  64. package/dist/rspack.js +2 -2
  65. package/dist/tsdown.cjs +4 -4
  66. package/dist/tsdown.js +3 -3
  67. package/dist/tsup.cjs +4 -4
  68. package/dist/tsup.js +3 -3
  69. package/dist/unloader.cjs +3 -3
  70. package/dist/unloader.js +2 -2
  71. package/dist/unplugin.cjs +5 -5
  72. package/dist/unplugin.js +3 -3
  73. package/dist/vite.cjs +6 -6
  74. package/dist/vite.js +3 -3
  75. package/dist/webpack.cjs +6 -6
  76. package/dist/webpack.js +3 -3
  77. package/package.json +14 -14
  78. package/dist/chunk-CRCIK2ZA.cjs +0 -12
  79. package/dist/chunk-WDMN3KXJ.cjs +0 -12
  80. package/dist/lib/chunk-AZD5HDNF.js.map +0 -1
  81. package/dist/lib/chunk-HSCAG6CB.cjs.map +0 -1
package/dist/api.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkIHXWAXWZ_cjs = require('./chunk-IHXWAXWZ.cjs');
3
+ var chunk3P5VBWM5_cjs = require('./chunk-3P5VBWM5.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 chunkIHXWAXWZ_cjs.PowerlinesAPI; }
12
+ get: function () { return chunk3P5VBWM5_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-JTP42M5W.js';
1
+ export { PowerlinesAPI } from './chunk-DGZDESAN.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 chunk22QF62OZ_cjs = require('./chunk-22QF62OZ.cjs');
5
+ var chunkY5YN4OHC_cjs = require('./chunk-Y5YN4OHC.cjs');
6
6
  require('./chunk-AATT73UY.cjs');
7
- require('./chunk-P5K3VBN4.cjs');
8
- require('./chunk-IHXWAXWZ.cjs');
7
+ require('./chunk-NLACEZIN.cjs');
8
+ require('./chunk-3P5VBWM5.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
- chunk22QF62OZ_cjs.vite_default(config)
17
+ chunkY5YN4OHC_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-DAB3EO5I.js';
1
+ import { vite_default } from './chunk-Q3OBCFHR.js';
2
2
  import './chunk-A7PVG2HH.js';
3
- import './chunk-AHSUJPDN.js';
4
- import './chunk-JTP42M5W.js';
3
+ import './chunk-E7MP244L.js';
4
+ import './chunk-DGZDESAN.js';
5
5
  import './chunk-JGSCIWFQ.js';
6
6
  import './chunk-2MYPFASJ.js';
7
7
  import { __name } from './chunk-7QVYU63E.js';
@@ -1,9 +1,9 @@
1
- import { createUnpluginFactory } from './chunk-AHSUJPDN.js';
1
+ import { createUnpluginFactory } from './chunk-E7MP244L.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-UW36RQUY.js.map
9
- //# sourceMappingURL=chunk-UW36RQUY.js.map
8
+ //# sourceMappingURL=chunk-2RBVDP6N.js.map
9
+ //# sourceMappingURL=chunk-2RBVDP6N.js.map
@@ -2591,13 +2591,14 @@ var PowerlinesContext = class _PowerlinesContext {
2591
2591
  #releaseId = uuid.uuid();
2592
2592
  #timestamp = Date.now();
2593
2593
  #envPaths;
2594
+ #entry = null;
2594
2595
  #fs;
2595
2596
  #tsconfig;
2596
2597
  #program;
2597
2598
  #parserCache;
2598
2599
  #requestCache;
2599
2600
  #getConfigProps(config = {}) {
2600
- return {
2601
+ return defu7__default.default({
2601
2602
  variant: config.build?.variant,
2602
2603
  projectType: config.type,
2603
2604
  projectRoot: config.root,
@@ -2621,7 +2622,13 @@ var PowerlinesContext = class _PowerlinesContext {
2621
2622
  build: config.build,
2622
2623
  framework: config.framework,
2623
2624
  ...config
2624
- };
2625
+ }, {
2626
+ output: config.framework ? {
2627
+ artifactsPath: join.joinPaths(config.root ?? this.config.projectRoot, `.${config.framework ?? "powerlines"}`),
2628
+ dts: join.joinPaths(config.root ?? this.config.projectRoot, `${config.framework ?? "powerlines"}.d.ts`),
2629
+ builtinPrefix: config.framework ?? "powerlines"
2630
+ } : {}
2631
+ });
2625
2632
  }
2626
2633
  /**
2627
2634
  * Create a new Storm context from the workspace root and user config.
@@ -2698,13 +2705,10 @@ var PowerlinesContext = class _PowerlinesContext {
2698
2705
  * The resolved entry type definitions for the project
2699
2706
  */
2700
2707
  get entry() {
2701
- const entry = Object.entries(this.fs.metadata).filter(([, meta]) => meta && meta.type === "entry").map(([file, meta]) => {
2702
- return {
2703
- file,
2704
- name: meta?.properties?.name || "default"
2705
- };
2706
- });
2707
- return resolveEntriesSync(this, entry.length === 0 && this.config.entry ? toArray.toArray(this.config.entry) : entry);
2708
+ return resolveEntriesSync(this, !this.#entry || this.#entry.length === 0 ? toArray.toArray(this.config.entry) : this.#entry);
2709
+ }
2710
+ set entry(value) {
2711
+ this.#entry = value;
2708
2712
  }
2709
2713
  /**
2710
2714
  * The TypeScript configuration parsed from the tsconfig file
@@ -4601,5 +4605,5 @@ exports.PowerlinesAPI = PowerlinesAPI;
4601
4605
  exports._capnpFileId = _capnpFileId;
4602
4606
  exports.createLog = createLog;
4603
4607
  exports.extendLog = extendLog;
4604
- //# sourceMappingURL=chunk-IHXWAXWZ.cjs.map
4605
- //# sourceMappingURL=chunk-IHXWAXWZ.cjs.map
4608
+ //# sourceMappingURL=chunk-3P5VBWM5.cjs.map
4609
+ //# sourceMappingURL=chunk-3P5VBWM5.cjs.map
@@ -2562,13 +2562,14 @@ var PowerlinesContext = class _PowerlinesContext {
2562
2562
  #releaseId = uuid();
2563
2563
  #timestamp = Date.now();
2564
2564
  #envPaths;
2565
+ #entry = null;
2565
2566
  #fs;
2566
2567
  #tsconfig;
2567
2568
  #program;
2568
2569
  #parserCache;
2569
2570
  #requestCache;
2570
2571
  #getConfigProps(config = {}) {
2571
- return {
2572
+ return defu7({
2572
2573
  variant: config.build?.variant,
2573
2574
  projectType: config.type,
2574
2575
  projectRoot: config.root,
@@ -2592,7 +2593,13 @@ var PowerlinesContext = class _PowerlinesContext {
2592
2593
  build: config.build,
2593
2594
  framework: config.framework,
2594
2595
  ...config
2595
- };
2596
+ }, {
2597
+ output: config.framework ? {
2598
+ artifactsPath: joinPaths(config.root ?? this.config.projectRoot, `.${config.framework ?? "powerlines"}`),
2599
+ dts: joinPaths(config.root ?? this.config.projectRoot, `${config.framework ?? "powerlines"}.d.ts`),
2600
+ builtinPrefix: config.framework ?? "powerlines"
2601
+ } : {}
2602
+ });
2596
2603
  }
2597
2604
  /**
2598
2605
  * Create a new Storm context from the workspace root and user config.
@@ -2669,13 +2676,10 @@ var PowerlinesContext = class _PowerlinesContext {
2669
2676
  * The resolved entry type definitions for the project
2670
2677
  */
2671
2678
  get entry() {
2672
- const entry = Object.entries(this.fs.metadata).filter(([, meta]) => meta && meta.type === "entry").map(([file, meta]) => {
2673
- return {
2674
- file,
2675
- name: meta?.properties?.name || "default"
2676
- };
2677
- });
2678
- return resolveEntriesSync(this, entry.length === 0 && this.config.entry ? toArray(this.config.entry) : entry);
2679
+ return resolveEntriesSync(this, !this.#entry || this.#entry.length === 0 ? toArray(this.config.entry) : this.#entry);
2680
+ }
2681
+ set entry(value) {
2682
+ this.#entry = value;
2679
2683
  }
2680
2684
  /**
2681
2685
  * The TypeScript configuration parsed from the tsconfig file
@@ -4564,5 +4568,5 @@ Note: Please ensure the plugin package's default export is a class that extends
4564
4568
  };
4565
4569
 
4566
4570
  export { FileId, FileMetadata, FileMetadata_KeyValuePair, FileStorage, FileSystem, PowerlinesAPI, _capnpFileId, createLog, extendLog };
4567
- //# sourceMappingURL=chunk-JTP42M5W.js.map
4568
- //# sourceMappingURL=chunk-JTP42M5W.js.map
4571
+ //# sourceMappingURL=chunk-DGZDESAN.js.map
4572
+ //# sourceMappingURL=chunk-DGZDESAN.js.map
@@ -1,4 +1,4 @@
1
- import { createLog, PowerlinesAPI } from './chunk-JTP42M5W.js';
1
+ import { createLog, PowerlinesAPI } from './chunk-DGZDESAN.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-AHSUJPDN.js.map
133
- //# sourceMappingURL=chunk-AHSUJPDN.js.map
132
+ //# sourceMappingURL=chunk-E7MP244L.js.map
133
+ //# sourceMappingURL=chunk-E7MP244L.js.map
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chunkNLACEZIN_cjs = require('./chunk-NLACEZIN.cjs');
4
+ var unplugin = require('unplugin');
5
+
6
+ var rolldown = unplugin.createRolldownPlugin(chunkNLACEZIN_cjs.createUnpluginFactory("rolldown"));
7
+ var rolldown_default = rolldown;
8
+
9
+ exports.rolldown = rolldown;
10
+ exports.rolldown_default = rolldown_default;
11
+ //# sourceMappingURL=chunk-HIR4JDIJ.cjs.map
12
+ //# sourceMappingURL=chunk-HIR4JDIJ.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { extractESBuildConfig } from './chunk-A7PVG2HH.js';
2
- import { createUnpluginFactory } from './chunk-AHSUJPDN.js';
2
+ import { createUnpluginFactory } from './chunk-E7MP244L.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-AUA5JDF6.js.map
33
- //# sourceMappingURL=chunk-AUA5JDF6.js.map
32
+ //# sourceMappingURL=chunk-JTUC6OVE.js.map
33
+ //# sourceMappingURL=chunk-JTUC6OVE.js.map
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkAATT73UY_cjs = require('./chunk-AATT73UY.cjs');
4
- var chunkP5K3VBN4_cjs = require('./chunk-P5K3VBN4.cjs');
4
+ var chunkNLACEZIN_cjs = require('./chunk-NLACEZIN.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(chunkP5K3VBN4_cjs.createUnpluginFactory("esbuild", (api, plugin) => {
9
+ var esbuild = unplugin.createEsbuildPlugin(chunkNLACEZIN_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-5RDS7XFQ.cjs.map
36
- //# sourceMappingURL=chunk-5RDS7XFQ.cjs.map
35
+ //# sourceMappingURL=chunk-K3UM4PVS.cjs.map
36
+ //# sourceMappingURL=chunk-K3UM4PVS.cjs.map
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chunkNLACEZIN_cjs = require('./chunk-NLACEZIN.cjs');
4
+ var unplugin = require('unplugin');
5
+
6
+ var webpack = unplugin.createWebpackPlugin(chunkNLACEZIN_cjs.createUnpluginFactory("webpack"));
7
+ var webpack_default = webpack;
8
+
9
+ exports.webpack = webpack;
10
+ exports.webpack_default = webpack_default;
11
+ //# sourceMappingURL=chunk-LM7FO6XH.cjs.map
12
+ //# sourceMappingURL=chunk-LM7FO6XH.cjs.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkIHXWAXWZ_cjs = require('./chunk-IHXWAXWZ.cjs');
3
+ var chunk3P5VBWM5_cjs = require('./chunk-3P5VBWM5.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 = chunkIHXWAXWZ_cjs.createLog("unplugin", config);
30
+ const log = chunk3P5VBWM5_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 chunkIHXWAXWZ_cjs.PowerlinesAPI.from(getWorkspaceRoot.getWorkspaceRoot(process.cwd()), userConfig);
41
+ api = await chunk3P5VBWM5_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-P5K3VBN4.cjs.map
136
- //# sourceMappingURL=chunk-P5K3VBN4.cjs.map
135
+ //# sourceMappingURL=chunk-NLACEZIN.cjs.map
136
+ //# sourceMappingURL=chunk-NLACEZIN.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { extractESBuildConfig } from './chunk-A7PVG2HH.js';
2
- import { createUnpluginFactory } from './chunk-AHSUJPDN.js';
2
+ import { createUnpluginFactory } from './chunk-E7MP244L.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-DAB3EO5I.js.map
155
- //# sourceMappingURL=chunk-DAB3EO5I.js.map
154
+ //# sourceMappingURL=chunk-Q3OBCFHR.js.map
155
+ //# sourceMappingURL=chunk-Q3OBCFHR.js.map
@@ -1,9 +1,9 @@
1
- import { createUnpluginFactory } from './chunk-AHSUJPDN.js';
1
+ import { createUnpluginFactory } from './chunk-E7MP244L.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-MOI4Q6CJ.js.map
9
- //# sourceMappingURL=chunk-MOI4Q6CJ.js.map
8
+ //# sourceMappingURL=chunk-QWGUMMAE.js.map
9
+ //# sourceMappingURL=chunk-QWGUMMAE.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkAATT73UY_cjs = require('./chunk-AATT73UY.cjs');
4
- var chunkP5K3VBN4_cjs = require('./chunk-P5K3VBN4.cjs');
4
+ var chunkNLACEZIN_cjs = require('./chunk-NLACEZIN.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(chunkP5K3VBN4_cjs.createUnpluginFactory("vite", (api, plugin) => {
100
+ var vite = unplugin.createVitePlugin(chunkNLACEZIN_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-22QF62OZ.cjs.map
162
- //# sourceMappingURL=chunk-22QF62OZ.cjs.map
161
+ //# sourceMappingURL=chunk-Y5YN4OHC.cjs.map
162
+ //# sourceMappingURL=chunk-Y5YN4OHC.cjs.map
package/dist/esbuild.cjs CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunk5RDS7XFQ_cjs = require('./chunk-5RDS7XFQ.cjs');
5
+ var chunkK3UM4PVS_cjs = require('./chunk-K3UM4PVS.cjs');
6
6
  require('./chunk-AATT73UY.cjs');
7
- require('./chunk-P5K3VBN4.cjs');
8
- require('./chunk-IHXWAXWZ.cjs');
7
+ require('./chunk-NLACEZIN.cjs');
8
+ require('./chunk-3P5VBWM5.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 chunk5RDS7XFQ_cjs.esbuild_default; }
17
+ get: function () { return chunkK3UM4PVS_cjs.esbuild_default; }
18
18
  });
19
19
  Object.defineProperty(exports, "esbuild", {
20
20
  enumerable: true,
21
- get: function () { return chunk5RDS7XFQ_cjs.esbuild; }
21
+ get: function () { return chunkK3UM4PVS_cjs.esbuild; }
22
22
  });
23
23
  Object.defineProperty(exports, "module.exports", {
24
24
  enumerable: true,
25
- get: function () { return chunk5RDS7XFQ_cjs.esbuild; }
25
+ get: function () { return chunkK3UM4PVS_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-AUA5JDF6.js';
1
+ export { esbuild_default as default, esbuild, esbuild as "module.exports" } from './chunk-JTUC6OVE.js';
2
2
  import './chunk-A7PVG2HH.js';
3
- import './chunk-AHSUJPDN.js';
4
- import './chunk-JTP42M5W.js';
3
+ import './chunk-E7MP244L.js';
4
+ import './chunk-DGZDESAN.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 chunkP5K3VBN4_cjs = require('./chunk-P5K3VBN4.cjs');
6
- require('./chunk-IHXWAXWZ.cjs');
5
+ var chunkNLACEZIN_cjs = require('./chunk-NLACEZIN.cjs');
6
+ require('./chunk-3P5VBWM5.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(chunkP5K3VBN4_cjs.createUnpluginFactory("farm"));
12
+ var farm = unplugin.createFarmPlugin(chunkNLACEZIN_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-AHSUJPDN.js';
2
- import './chunk-JTP42M5W.js';
1
+ import { createUnpluginFactory } from './chunk-E7MP244L.js';
2
+ import './chunk-DGZDESAN.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 chunkNJRZDDTZ_cjs = require('./chunk-NJRZDDTZ.cjs');
15
15
  var chunkBCF2FSIU_cjs = require('./chunk-BCF2FSIU.cjs');
16
16
  require('./chunk-XZO6ZJQP.cjs');
17
- var chunkIHXWAXWZ_cjs = require('./chunk-IHXWAXWZ.cjs');
17
+ var chunk3P5VBWM5_cjs = require('./chunk-3P5VBWM5.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 chunkIHXWAXWZ_cjs.PowerlinesAPI.from(workspaceRoot, options);
30
+ return chunk3P5VBWM5_cjs.PowerlinesAPI.from(workspaceRoot, options);
31
31
  }
32
32
  chunkPK6SKIKE_cjs.__name(createPowerlines, "createPowerlines");
33
- var index_default = chunkIHXWAXWZ_cjs.PowerlinesAPI;
33
+ var index_default = chunk3P5VBWM5_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 chunkIHXWAXWZ_cjs.FileId; }
49
+ get: function () { return chunk3P5VBWM5_cjs.FileId; }
50
50
  });
51
51
  Object.defineProperty(exports, "FileMetadata", {
52
52
  enumerable: true,
53
- get: function () { return chunkIHXWAXWZ_cjs.FileMetadata; }
53
+ get: function () { return chunk3P5VBWM5_cjs.FileMetadata; }
54
54
  });
55
55
  Object.defineProperty(exports, "FileMetadata_KeyValuePair", {
56
56
  enumerable: true,
57
- get: function () { return chunkIHXWAXWZ_cjs.FileMetadata_KeyValuePair; }
57
+ get: function () { return chunk3P5VBWM5_cjs.FileMetadata_KeyValuePair; }
58
58
  });
59
59
  Object.defineProperty(exports, "FileStorage", {
60
60
  enumerable: true,
61
- get: function () { return chunkIHXWAXWZ_cjs.FileStorage; }
61
+ get: function () { return chunk3P5VBWM5_cjs.FileStorage; }
62
62
  });
63
63
  Object.defineProperty(exports, "FileSystem", {
64
64
  enumerable: true,
65
- get: function () { return chunkIHXWAXWZ_cjs.FileSystem; }
65
+ get: function () { return chunk3P5VBWM5_cjs.FileSystem; }
66
66
  });
67
67
  Object.defineProperty(exports, "PowerlinesAPI", {
68
68
  enumerable: true,
69
- get: function () { return chunkIHXWAXWZ_cjs.PowerlinesAPI; }
69
+ get: function () { return chunk3P5VBWM5_cjs.PowerlinesAPI; }
70
70
  });
71
71
  Object.defineProperty(exports, "_capnpFileId", {
72
72
  enumerable: true,
73
- get: function () { return chunkIHXWAXWZ_cjs._capnpFileId; }
73
+ get: function () { return chunk3P5VBWM5_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-RFPNTMLX.js';
11
11
  export { __VFS_PATCH__, __VFS_REVERT__ } from './chunk-IWD7XNVY.js';
12
12
  import './chunk-HJW7OH6E.js';
13
- import { PowerlinesAPI } from './chunk-JTP42M5W.js';
14
- export { FileId, FileMetadata, FileMetadata_KeyValuePair, FileStorage, FileSystem, PowerlinesAPI, _capnpFileId } from './chunk-JTP42M5W.js';
13
+ import { PowerlinesAPI } from './chunk-DGZDESAN.js';
14
+ export { FileId, FileMetadata, FileMetadata_KeyValuePair, FileStorage, FileSystem, PowerlinesAPI, _capnpFileId } from './chunk-DGZDESAN.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';
@@ -1,5 +1,5 @@
1
- import { PowerlinesEnvironmentContext } from './chunk-35BWNBOB.js';
2
- import { PowerlinesContext } from './chunk-AZD5HDNF.js';
1
+ import { PowerlinesEnvironmentContext } from './chunk-VJQOQY6C.js';
2
+ import { PowerlinesContext } from './chunk-LVKBYD3U.js';
3
3
  import { loadWorkspaceConfig } from './chunk-Q25ZPXA7.js';
4
4
  import { __name } from './chunk-7QVYU63E.js';
5
5
  import { LogLevelLabel } from '@storm-software/config-tools/types';
@@ -254,5 +254,5 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends PowerlinesContext
254
254
  };
255
255
 
256
256
  export { PowerlinesAPIContext };
257
- //# sourceMappingURL=chunk-D2UP6IHS.js.map
258
- //# sourceMappingURL=chunk-D2UP6IHS.js.map
257
+ //# sourceMappingURL=chunk-4WBK426K.js.map
258
+ //# sourceMappingURL=chunk-4WBK426K.js.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-D2UP6IHS.js","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-4WBK426K.js","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"]}