powerlines 0.37.60 → 0.37.61

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 (73) 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-E5Z4F2V3.js → chunk-34RE5OJK.js} +3 -3
  6. package/dist/{chunk-LNLQ5K22.js → chunk-5M27AS3Q.js} +3 -3
  7. package/dist/chunk-5RZ3YT3J.cjs +12 -0
  8. package/dist/{chunk-EOY6JFXH.js → chunk-EMHX2GAV.js} +3 -3
  9. package/dist/chunk-EP3VXPE7.cjs +12 -0
  10. package/dist/{chunk-7JCNUQK7.js → chunk-FFGY4QSN.js} +3 -3
  11. package/dist/{chunk-B57FIRCQ.js → chunk-LPRLN5B5.js} +3 -3
  12. package/dist/{chunk-JRHSF5KW.js → chunk-MEMSYDRH.js} +16 -6
  13. package/dist/{chunk-3BJGUGLB.cjs → chunk-NFJ5YUAW.cjs} +5 -5
  14. package/dist/{chunk-7TQ5OLBI.cjs → chunk-NHZPWHEU.cjs} +4 -4
  15. package/dist/{chunk-RJYTLMJX.cjs → chunk-P772K3NL.cjs} +4 -4
  16. package/dist/{chunk-OSYVR55X.cjs → chunk-ZF2KDFEO.cjs} +16 -6
  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-T6VGBYMA.cjs → chunk-26DEN74R.cjs} +5 -5
  24. package/dist/lib/{chunk-T6VGBYMA.cjs.map → chunk-26DEN74R.cjs.map} +1 -1
  25. package/dist/lib/{chunk-JAWOTZME.cjs → chunk-DMSD5NS5.cjs} +3 -3
  26. package/dist/lib/{chunk-JAWOTZME.cjs.map → chunk-DMSD5NS5.cjs.map} +1 -1
  27. package/dist/lib/{chunk-MNEM5VYH.js → chunk-FI4BHRSY.js} +17 -7
  28. package/dist/lib/chunk-FI4BHRSY.js.map +1 -0
  29. package/dist/lib/{chunk-IJYLGPWN.cjs → chunk-T7SNYIVL.cjs} +18 -8
  30. package/dist/lib/chunk-T7SNYIVL.cjs.map +1 -0
  31. package/dist/lib/{chunk-EAA5TFSL.js → chunk-VWKNWAN3.js} +4 -4
  32. package/dist/lib/{chunk-EAA5TFSL.js.map → chunk-VWKNWAN3.js.map} +1 -1
  33. package/dist/lib/{chunk-3HJUEKPI.js → chunk-YVFFKAMF.js} +3 -3
  34. package/dist/lib/{chunk-3HJUEKPI.js.map → chunk-YVFFKAMF.js.map} +1 -1
  35. package/dist/lib/contexts/api-context.cjs +5 -5
  36. package/dist/lib/contexts/api-context.js +4 -4
  37. package/dist/lib/contexts/environment-context.cjs +3 -3
  38. package/dist/lib/contexts/environment-context.js +2 -2
  39. package/dist/lib/contexts/index.cjs +10 -10
  40. package/dist/lib/contexts/index.js +4 -4
  41. package/dist/lib/index.cjs +38 -38
  42. package/dist/lib/index.js +7 -7
  43. package/dist/lib/unplugin/factory.cjs +6 -6
  44. package/dist/lib/unplugin/factory.js +5 -5
  45. package/dist/lib/unplugin/index.cjs +6 -6
  46. package/dist/lib/unplugin/index.js +5 -5
  47. package/dist/next.cjs +4 -4
  48. package/dist/next.js +3 -3
  49. package/dist/nuxt.cjs +8 -8
  50. package/dist/nuxt.js +4 -4
  51. package/dist/rolldown.cjs +6 -6
  52. package/dist/rolldown.js +3 -3
  53. package/dist/rollup.cjs +3 -3
  54. package/dist/rollup.js +2 -2
  55. package/dist/rspack.cjs +3 -3
  56. package/dist/rspack.js +2 -2
  57. package/dist/tsdown.cjs +4 -4
  58. package/dist/tsdown.js +3 -3
  59. package/dist/tsup.cjs +4 -4
  60. package/dist/tsup.js +3 -3
  61. package/dist/unloader.cjs +3 -3
  62. package/dist/unloader.js +2 -2
  63. package/dist/unplugin.cjs +8 -8
  64. package/dist/unplugin.js +4 -4
  65. package/dist/vite.cjs +6 -6
  66. package/dist/vite.js +3 -3
  67. package/dist/webpack.cjs +6 -6
  68. package/dist/webpack.js +3 -3
  69. package/package.json +2 -2
  70. package/dist/chunk-X4ZFE6DI.cjs +0 -12
  71. package/dist/chunk-ZV452Q2Y.cjs +0 -12
  72. package/dist/lib/chunk-IJYLGPWN.cjs.map +0 -1
  73. package/dist/lib/chunk-MNEM5VYH.js.map +0 -1
package/dist/api.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkOSYVR55X_cjs = require('./chunk-OSYVR55X.cjs');
3
+ var chunkZF2KDFEO_cjs = require('./chunk-ZF2KDFEO.cjs');
4
4
  require('./chunk-B6DVCLP5.cjs');
5
5
  require('./chunk-V5WOGN7O.cjs');
6
6
  require('./chunk-Z6ARQDHR.cjs');
@@ -10,7 +10,7 @@ require('./chunk-PK6SKIKE.cjs');
10
10
 
11
11
  Object.defineProperty(exports, "PowerlinesAPI", {
12
12
  enumerable: true,
13
- get: function () { return chunkOSYVR55X_cjs.PowerlinesAPI; }
13
+ get: function () { return chunkZF2KDFEO_cjs.PowerlinesAPI; }
14
14
  });
15
15
  //# sourceMappingURL=api.cjs.map
16
16
  //# sourceMappingURL=api.cjs.map
package/dist/api.js CHANGED
@@ -1,4 +1,4 @@
1
- export { PowerlinesAPI } from './chunk-JRHSF5KW.js';
1
+ export { PowerlinesAPI } from './chunk-MEMSYDRH.js';
2
2
  import './chunk-PQXP7XQK.js';
3
3
  import './chunk-NITQ5IYP.js';
4
4
  import './chunk-2MYPFASJ.js';
package/dist/astro.cjs CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkRJYTLMJX_cjs = require('./chunk-RJYTLMJX.cjs');
5
+ var chunkP772K3NL_cjs = require('./chunk-P772K3NL.cjs');
6
6
  require('./chunk-NSSJOBJ7.cjs');
7
- require('./chunk-3BJGUGLB.cjs');
8
- require('./chunk-OSYVR55X.cjs');
7
+ require('./chunk-NFJ5YUAW.cjs');
8
+ require('./chunk-ZF2KDFEO.cjs');
9
9
  require('./chunk-B6DVCLP5.cjs');
10
10
  require('./chunk-V5WOGN7O.cjs');
11
11
  require('./chunk-Z6ARQDHR.cjs');
@@ -15,7 +15,7 @@ var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
15
15
  var astro = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((config) => ({
16
16
  vite: {
17
17
  plugins: [
18
- chunkRJYTLMJX_cjs.vite_default(config)
18
+ chunkP772K3NL_cjs.vite_default(config)
19
19
  ]
20
20
  }
21
21
  }), "astro");
package/dist/astro.js CHANGED
@@ -1,7 +1,7 @@
1
- import { vite_default } from './chunk-7JCNUQK7.js';
1
+ import { vite_default } from './chunk-FFGY4QSN.js';
2
2
  import './chunk-6JXP537N.js';
3
- import './chunk-E5Z4F2V3.js';
4
- import './chunk-JRHSF5KW.js';
3
+ import './chunk-34RE5OJK.js';
4
+ import './chunk-MEMSYDRH.js';
5
5
  import './chunk-PQXP7XQK.js';
6
6
  import './chunk-NITQ5IYP.js';
7
7
  import './chunk-2MYPFASJ.js';
@@ -1,4 +1,4 @@
1
- import { createLog, PowerlinesAPI } from './chunk-JRHSF5KW.js';
1
+ import { createLog, PowerlinesAPI } from './chunk-MEMSYDRH.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';
@@ -134,5 +134,5 @@ function createUnpluginFactory(variant, decorate) {
134
134
  __name(createUnpluginFactory, "createUnpluginFactory");
135
135
 
136
136
  export { createUnpluginFactory, getString };
137
- //# sourceMappingURL=chunk-E5Z4F2V3.js.map
138
- //# sourceMappingURL=chunk-E5Z4F2V3.js.map
137
+ //# sourceMappingURL=chunk-34RE5OJK.js.map
138
+ //# sourceMappingURL=chunk-34RE5OJK.js.map
@@ -1,9 +1,9 @@
1
- import { createUnpluginFactory } from './chunk-E5Z4F2V3.js';
1
+ import { createUnpluginFactory } from './chunk-34RE5OJK.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-LNLQ5K22.js.map
9
- //# sourceMappingURL=chunk-LNLQ5K22.js.map
8
+ //# sourceMappingURL=chunk-5M27AS3Q.js.map
9
+ //# sourceMappingURL=chunk-5M27AS3Q.js.map
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chunkNFJ5YUAW_cjs = require('./chunk-NFJ5YUAW.cjs');
4
+ var unplugin = require('unplugin');
5
+
6
+ var rolldown = unplugin.createRolldownPlugin(chunkNFJ5YUAW_cjs.createUnpluginFactory("rolldown"));
7
+ var rolldown_default = rolldown;
8
+
9
+ exports.rolldown = rolldown;
10
+ exports.rolldown_default = rolldown_default;
11
+ //# sourceMappingURL=chunk-5RZ3YT3J.cjs.map
12
+ //# sourceMappingURL=chunk-5RZ3YT3J.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { extractESBuildConfig } from './chunk-6JXP537N.js';
2
- import { createUnpluginFactory } from './chunk-E5Z4F2V3.js';
2
+ import { createUnpluginFactory } from './chunk-34RE5OJK.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-EOY6JFXH.js.map
33
- //# sourceMappingURL=chunk-EOY6JFXH.js.map
32
+ //# sourceMappingURL=chunk-EMHX2GAV.js.map
33
+ //# sourceMappingURL=chunk-EMHX2GAV.js.map
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chunkNFJ5YUAW_cjs = require('./chunk-NFJ5YUAW.cjs');
4
+ var unplugin = require('unplugin');
5
+
6
+ var webpack = unplugin.createWebpackPlugin(chunkNFJ5YUAW_cjs.createUnpluginFactory("webpack"));
7
+ var webpack_default = webpack;
8
+
9
+ exports.webpack = webpack;
10
+ exports.webpack_default = webpack_default;
11
+ //# sourceMappingURL=chunk-EP3VXPE7.cjs.map
12
+ //# sourceMappingURL=chunk-EP3VXPE7.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { extractESBuildConfig } from './chunk-6JXP537N.js';
2
- import { createUnpluginFactory } from './chunk-E5Z4F2V3.js';
2
+ import { createUnpluginFactory } from './chunk-34RE5OJK.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';
@@ -152,5 +152,5 @@ var vite = createVitePlugin(createUnpluginFactory("vite", (api, plugin) => {
152
152
  var vite_default = vite;
153
153
 
154
154
  export { vite, vite_default };
155
- //# sourceMappingURL=chunk-7JCNUQK7.js.map
156
- //# sourceMappingURL=chunk-7JCNUQK7.js.map
155
+ //# sourceMappingURL=chunk-FFGY4QSN.js.map
156
+ //# sourceMappingURL=chunk-FFGY4QSN.js.map
@@ -1,9 +1,9 @@
1
- import { createUnpluginFactory } from './chunk-E5Z4F2V3.js';
1
+ import { createUnpluginFactory } from './chunk-34RE5OJK.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-B57FIRCQ.js.map
9
- //# sourceMappingURL=chunk-B57FIRCQ.js.map
8
+ //# sourceMappingURL=chunk-LPRLN5B5.js.map
9
+ //# sourceMappingURL=chunk-LPRLN5B5.js.map
@@ -81,7 +81,7 @@ import '@stryke/fs/remove-file';
81
81
 
82
82
  // package.json
83
83
  var name = "powerlines";
84
- var version = "0.37.59";
84
+ var version = "0.37.60";
85
85
  var package_default = {
86
86
  version};
87
87
 
@@ -317,7 +317,17 @@ async function emitBuiltinTypes(context, files) {
317
317
  }
318
318
  context.debug(`Running the TypeScript compiler for ${files.length} generated built-in module files.`);
319
319
  const program = createProgram(context, {
320
- skipAddingFilesFromTsConfig: true
320
+ skipAddingFilesFromTsConfig: true,
321
+ compilerOptions: {
322
+ declaration: true,
323
+ declarationMap: false,
324
+ emitDeclarationOnly: true,
325
+ sourceMap: false,
326
+ outDir: ".",
327
+ composite: false,
328
+ incremental: false,
329
+ tsBuildInfoFile: void 0
330
+ }
321
331
  });
322
332
  program.addSourceFilesAtPaths(files);
323
333
  const result = program.emitToMemory({
@@ -341,9 +351,9 @@ async function emitBuiltinTypes(context, files) {
341
351
  let builtinModules = "";
342
352
  for (const emittedFile of emittedFiles) {
343
353
  context.trace(`Processing emitted type declaration file: ${emittedFile.filePath}`);
344
- if (!emittedFile.filePath.endsWith(".map") && isParentPath(emittedFile.filePath, context.builtinsPath)) {
354
+ if (!emittedFile.filePath.endsWith(".map") && findFileName(emittedFile.filePath) !== "tsconfig.tsbuildinfo" && isParentPath(emittedFile.filePath, context.builtinsPath)) {
345
355
  builtinModules += `
346
- declare module "${replaceExtension(replacePath(emittedFile.filePath, context.builtinsPath))}" {
356
+ declare module "${context.config.output?.builtinPrefix || context.config?.framework || "powerlines"}:${replaceExtension(replacePath(emittedFile.filePath, context.builtinsPath))}" {
347
357
  ${emittedFile.text.trim().replace(/^\s*export\s*declare\s*/gm, "export ").replace(/^\s*declare\s*/gm, "")}
348
358
  }
349
359
  `;
@@ -5051,5 +5061,5 @@ Note: Please ensure the plugin package's default export is a class that extends
5051
5061
  };
5052
5062
 
5053
5063
  export { FileId, FileMetadata, FileMetadata_KeyValuePair, FileStorage, FileSystem, PowerlinesAPI, _capnpFileId, combineContexts, createLog, extendLog, isUnpluginBuilderVariant, name, version };
5054
- //# sourceMappingURL=chunk-JRHSF5KW.js.map
5055
- //# sourceMappingURL=chunk-JRHSF5KW.js.map
5064
+ //# sourceMappingURL=chunk-MEMSYDRH.js.map
5065
+ //# sourceMappingURL=chunk-MEMSYDRH.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkOSYVR55X_cjs = require('./chunk-OSYVR55X.cjs');
3
+ var chunkZF2KDFEO_cjs = require('./chunk-ZF2KDFEO.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 = chunkOSYVR55X_cjs.createLog("unplugin", config);
30
+ const log = chunkZF2KDFEO_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 chunkOSYVR55X_cjs.PowerlinesAPI.from(getWorkspaceRoot.getWorkspaceRoot(process.cwd()), userConfig);
41
+ api = await chunkZF2KDFEO_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({
@@ -137,5 +137,5 @@ chunkPK6SKIKE_cjs.__name(createUnpluginFactory, "createUnpluginFactory");
137
137
 
138
138
  exports.createUnpluginFactory = createUnpluginFactory;
139
139
  exports.getString = getString;
140
- //# sourceMappingURL=chunk-3BJGUGLB.cjs.map
141
- //# sourceMappingURL=chunk-3BJGUGLB.cjs.map
140
+ //# sourceMappingURL=chunk-NFJ5YUAW.cjs.map
141
+ //# sourceMappingURL=chunk-NFJ5YUAW.cjs.map
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkNSSJOBJ7_cjs = require('./chunk-NSSJOBJ7.cjs');
4
- var chunk3BJGUGLB_cjs = require('./chunk-3BJGUGLB.cjs');
4
+ var chunkNFJ5YUAW_cjs = require('./chunk-NFJ5YUAW.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(chunk3BJGUGLB_cjs.createUnpluginFactory("esbuild", (api, plugin) => {
9
+ var esbuild = unplugin.createEsbuildPlugin(chunkNFJ5YUAW_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-7TQ5OLBI.cjs.map
36
- //# sourceMappingURL=chunk-7TQ5OLBI.cjs.map
35
+ //# sourceMappingURL=chunk-NHZPWHEU.cjs.map
36
+ //# sourceMappingURL=chunk-NHZPWHEU.cjs.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkNSSJOBJ7_cjs = require('./chunk-NSSJOBJ7.cjs');
4
- var chunk3BJGUGLB_cjs = require('./chunk-3BJGUGLB.cjs');
4
+ var chunkNFJ5YUAW_cjs = require('./chunk-NFJ5YUAW.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');
@@ -98,7 +98,7 @@ function extractViteConfig(context) {
98
98
  chunkPK6SKIKE_cjs.__name(extractViteConfig, "extractViteConfig");
99
99
 
100
100
  // src/vite.ts
101
- var vite = unplugin.createVitePlugin(chunk3BJGUGLB_cjs.createUnpluginFactory("vite", (api, plugin) => {
101
+ var vite = unplugin.createVitePlugin(chunkNFJ5YUAW_cjs.createUnpluginFactory("vite", (api, plugin) => {
102
102
  return {
103
103
  ...plugin,
104
104
  vite: {
@@ -159,5 +159,5 @@ var vite_default = vite;
159
159
 
160
160
  exports.vite = vite;
161
161
  exports.vite_default = vite_default;
162
- //# sourceMappingURL=chunk-RJYTLMJX.cjs.map
163
- //# sourceMappingURL=chunk-RJYTLMJX.cjs.map
162
+ //# sourceMappingURL=chunk-P772K3NL.cjs.map
163
+ //# sourceMappingURL=chunk-P772K3NL.cjs.map
@@ -110,7 +110,7 @@ var $__namespace = /*#__PURE__*/_interopNamespace($);
110
110
 
111
111
  // package.json
112
112
  var name = "powerlines";
113
- var version = "0.37.59";
113
+ var version = "0.37.60";
114
114
  var package_default = {
115
115
  version};
116
116
 
@@ -346,7 +346,17 @@ async function emitBuiltinTypes(context, files) {
346
346
  }
347
347
  context.debug(`Running the TypeScript compiler for ${files.length} generated built-in module files.`);
348
348
  const program = createProgram(context, {
349
- skipAddingFilesFromTsConfig: true
349
+ skipAddingFilesFromTsConfig: true,
350
+ compilerOptions: {
351
+ declaration: true,
352
+ declarationMap: false,
353
+ emitDeclarationOnly: true,
354
+ sourceMap: false,
355
+ outDir: ".",
356
+ composite: false,
357
+ incremental: false,
358
+ tsBuildInfoFile: void 0
359
+ }
350
360
  });
351
361
  program.addSourceFilesAtPaths(files);
352
362
  const result = program.emitToMemory({
@@ -370,9 +380,9 @@ async function emitBuiltinTypes(context, files) {
370
380
  let builtinModules = "";
371
381
  for (const emittedFile of emittedFiles) {
372
382
  context.trace(`Processing emitted type declaration file: ${emittedFile.filePath}`);
373
- if (!emittedFile.filePath.endsWith(".map") && isParentPath.isParentPath(emittedFile.filePath, context.builtinsPath)) {
383
+ if (!emittedFile.filePath.endsWith(".map") && filePathFns.findFileName(emittedFile.filePath) !== "tsconfig.tsbuildinfo" && isParentPath.isParentPath(emittedFile.filePath, context.builtinsPath)) {
374
384
  builtinModules += `
375
- declare module "${replace.replaceExtension(replace.replacePath(emittedFile.filePath, context.builtinsPath))}" {
385
+ declare module "${context.config.output?.builtinPrefix || context.config?.framework || "powerlines"}:${replace.replaceExtension(replace.replacePath(emittedFile.filePath, context.builtinsPath))}" {
376
386
  ${emittedFile.text.trim().replace(/^\s*export\s*declare\s*/gm, "export ").replace(/^\s*declare\s*/gm, "")}
377
387
  }
378
388
  `;
@@ -5092,5 +5102,5 @@ exports.extendLog = extendLog;
5092
5102
  exports.isUnpluginBuilderVariant = isUnpluginBuilderVariant;
5093
5103
  exports.name = name;
5094
5104
  exports.version = version;
5095
- //# sourceMappingURL=chunk-OSYVR55X.cjs.map
5096
- //# sourceMappingURL=chunk-OSYVR55X.cjs.map
5105
+ //# sourceMappingURL=chunk-ZF2KDFEO.cjs.map
5106
+ //# sourceMappingURL=chunk-ZF2KDFEO.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 chunk7TQ5OLBI_cjs = require('./chunk-7TQ5OLBI.cjs');
5
+ var chunkNHZPWHEU_cjs = require('./chunk-NHZPWHEU.cjs');
6
6
  require('./chunk-NSSJOBJ7.cjs');
7
- require('./chunk-3BJGUGLB.cjs');
8
- require('./chunk-OSYVR55X.cjs');
7
+ require('./chunk-NFJ5YUAW.cjs');
8
+ require('./chunk-ZF2KDFEO.cjs');
9
9
  require('./chunk-B6DVCLP5.cjs');
10
10
  require('./chunk-V5WOGN7O.cjs');
11
11
  require('./chunk-Z6ARQDHR.cjs');
@@ -15,15 +15,15 @@ require('./chunk-PK6SKIKE.cjs');
15
15
 
16
16
  Object.defineProperty(exports, "default", {
17
17
  enumerable: true,
18
- get: function () { return chunk7TQ5OLBI_cjs.esbuild_default; }
18
+ get: function () { return chunkNHZPWHEU_cjs.esbuild_default; }
19
19
  });
20
20
  Object.defineProperty(exports, "esbuild", {
21
21
  enumerable: true,
22
- get: function () { return chunk7TQ5OLBI_cjs.esbuild; }
22
+ get: function () { return chunkNHZPWHEU_cjs.esbuild; }
23
23
  });
24
24
  Object.defineProperty(exports, "module.exports", {
25
25
  enumerable: true,
26
- get: function () { return chunk7TQ5OLBI_cjs.esbuild; }
26
+ get: function () { return chunkNHZPWHEU_cjs.esbuild; }
27
27
  });
28
28
  //# sourceMappingURL=esbuild.cjs.map
29
29
  //# 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-EOY6JFXH.js';
1
+ export { esbuild_default as default, esbuild, esbuild as "module.exports" } from './chunk-EMHX2GAV.js';
2
2
  import './chunk-6JXP537N.js';
3
- import './chunk-E5Z4F2V3.js';
4
- import './chunk-JRHSF5KW.js';
3
+ import './chunk-34RE5OJK.js';
4
+ import './chunk-MEMSYDRH.js';
5
5
  import './chunk-PQXP7XQK.js';
6
6
  import './chunk-NITQ5IYP.js';
7
7
  import './chunk-2MYPFASJ.js';
package/dist/farm.cjs CHANGED
@@ -2,15 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunk3BJGUGLB_cjs = require('./chunk-3BJGUGLB.cjs');
6
- require('./chunk-OSYVR55X.cjs');
5
+ var chunkNFJ5YUAW_cjs = require('./chunk-NFJ5YUAW.cjs');
6
+ require('./chunk-ZF2KDFEO.cjs');
7
7
  require('./chunk-B6DVCLP5.cjs');
8
8
  require('./chunk-V5WOGN7O.cjs');
9
9
  require('./chunk-Z6ARQDHR.cjs');
10
10
  require('./chunk-PK6SKIKE.cjs');
11
11
  var unplugin = require('unplugin');
12
12
 
13
- var farm = unplugin.createFarmPlugin(chunk3BJGUGLB_cjs.createUnpluginFactory("farm"));
13
+ var farm = unplugin.createFarmPlugin(chunkNFJ5YUAW_cjs.createUnpluginFactory("farm"));
14
14
  var farm_default = farm;
15
15
 
16
16
  exports.default = farm_default;
package/dist/farm.js CHANGED
@@ -1,5 +1,5 @@
1
- import { createUnpluginFactory } from './chunk-E5Z4F2V3.js';
2
- import './chunk-JRHSF5KW.js';
1
+ import { createUnpluginFactory } from './chunk-34RE5OJK.js';
2
+ import './chunk-MEMSYDRH.js';
3
3
  import './chunk-PQXP7XQK.js';
4
4
  import './chunk-NITQ5IYP.js';
5
5
  import './chunk-2MYPFASJ.js';
package/dist/index.cjs CHANGED
@@ -13,7 +13,7 @@ require('./chunk-4JCNAKOE.cjs');
13
13
  require('./chunk-D6GGZQLC.cjs');
14
14
  var chunkA7AUGAHH_cjs = require('./chunk-A7AUGAHH.cjs');
15
15
  var chunk42ZHOCZJ_cjs = require('./chunk-42ZHOCZJ.cjs');
16
- var chunkOSYVR55X_cjs = require('./chunk-OSYVR55X.cjs');
16
+ var chunkZF2KDFEO_cjs = require('./chunk-ZF2KDFEO.cjs');
17
17
  var chunkB6DVCLP5_cjs = require('./chunk-B6DVCLP5.cjs');
18
18
  var chunkV5WOGN7O_cjs = require('./chunk-V5WOGN7O.cjs');
19
19
  var chunkZ6ARQDHR_cjs = require('./chunk-Z6ARQDHR.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 chunkOSYVR55X_cjs.PowerlinesAPI.from(workspaceRoot, options);
30
+ return chunkZF2KDFEO_cjs.PowerlinesAPI.from(workspaceRoot, options);
31
31
  }
32
32
  chunkPK6SKIKE_cjs.__name(createPowerlines, "createPowerlines");
33
- var index_default = chunkOSYVR55X_cjs.PowerlinesAPI;
33
+ var index_default = chunkZF2KDFEO_cjs.PowerlinesAPI;
34
34
 
35
35
  Object.defineProperty(exports, "STORAGE_PRESETS", {
36
36
  enumerable: true,
@@ -50,31 +50,31 @@ Object.defineProperty(exports, "HOOKS_LIST_ORDERS", {
50
50
  });
51
51
  Object.defineProperty(exports, "FileId", {
52
52
  enumerable: true,
53
- get: function () { return chunkOSYVR55X_cjs.FileId; }
53
+ get: function () { return chunkZF2KDFEO_cjs.FileId; }
54
54
  });
55
55
  Object.defineProperty(exports, "FileMetadata", {
56
56
  enumerable: true,
57
- get: function () { return chunkOSYVR55X_cjs.FileMetadata; }
57
+ get: function () { return chunkZF2KDFEO_cjs.FileMetadata; }
58
58
  });
59
59
  Object.defineProperty(exports, "FileMetadata_KeyValuePair", {
60
60
  enumerable: true,
61
- get: function () { return chunkOSYVR55X_cjs.FileMetadata_KeyValuePair; }
61
+ get: function () { return chunkZF2KDFEO_cjs.FileMetadata_KeyValuePair; }
62
62
  });
63
63
  Object.defineProperty(exports, "FileStorage", {
64
64
  enumerable: true,
65
- get: function () { return chunkOSYVR55X_cjs.FileStorage; }
65
+ get: function () { return chunkZF2KDFEO_cjs.FileStorage; }
66
66
  });
67
67
  Object.defineProperty(exports, "FileSystem", {
68
68
  enumerable: true,
69
- get: function () { return chunkOSYVR55X_cjs.FileSystem; }
69
+ get: function () { return chunkZF2KDFEO_cjs.FileSystem; }
70
70
  });
71
71
  Object.defineProperty(exports, "PowerlinesAPI", {
72
72
  enumerable: true,
73
- get: function () { return chunkOSYVR55X_cjs.PowerlinesAPI; }
73
+ get: function () { return chunkZF2KDFEO_cjs.PowerlinesAPI; }
74
74
  });
75
75
  Object.defineProperty(exports, "_capnpFileId", {
76
76
  enumerable: true,
77
- get: function () { return chunkOSYVR55X_cjs._capnpFileId; }
77
+ get: function () { return chunkZF2KDFEO_cjs._capnpFileId; }
78
78
  });
79
79
  Object.defineProperty(exports, "KNOWN_PLUGIN_FIELDS", {
80
80
  enumerable: true,
package/dist/index.js CHANGED
@@ -9,8 +9,8 @@ import './chunk-OYASPHNL.js';
9
9
  import './chunk-OD4BINRW.js';
10
10
  export { STORAGE_PRESETS, __VFS_PATCH__, __VFS_REVERT__ } from './chunk-KXRVVFNK.js';
11
11
  export { HOOKS_LIST_ORDERS } from './chunk-CCJQBJKQ.js';
12
- import { PowerlinesAPI } from './chunk-JRHSF5KW.js';
13
- export { FileId, FileMetadata, FileMetadata_KeyValuePair, FileStorage, FileSystem, PowerlinesAPI, _capnpFileId } from './chunk-JRHSF5KW.js';
12
+ import { PowerlinesAPI } from './chunk-MEMSYDRH.js';
13
+ export { FileId, FileMetadata, FileMetadata_KeyValuePair, FileStorage, FileSystem, PowerlinesAPI, _capnpFileId } from './chunk-MEMSYDRH.js';
14
14
  export { KNOWN_PLUGIN_FIELDS, PLUGIN_HOOKS_FIELDS, PLUGIN_NON_HOOK_FIELDS } from './chunk-PQXP7XQK.js';
15
15
  export { BUILDER_VARIANTS, UNPLUGIN_BUILDER_VARIANTS } from './chunk-NITQ5IYP.js';
16
16
  export { SUPPORTED_COMMANDS } from './chunk-2MYPFASJ.js';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkJAWOTZME_cjs = require('./chunk-JAWOTZME.cjs');
4
- var chunkH3C5BWBW_cjs = require('./chunk-H3C5BWBW.cjs');
3
+ var chunkDMSD5NS5_cjs = require('./chunk-DMSD5NS5.cjs');
5
4
  var chunkIEWCXR3Q_cjs = require('./chunk-IEWCXR3Q.cjs');
5
+ var chunkH3C5BWBW_cjs = require('./chunk-H3C5BWBW.cjs');
6
6
  var chunk2JR645O3_cjs = require('./chunk-2JR645O3.cjs');
7
7
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
8
8
  var types = require('@storm-software/config-tools/types');
@@ -153,7 +153,7 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunkIEWCXR3Q_cjs
153
153
  if (this.environments[environment.name]) {
154
154
  context = this.environments[environment.name];
155
155
  } else {
156
- context = await chunkJAWOTZME_cjs.PowerlinesEnvironmentContext.fromConfig(this.workspaceConfig, this.config);
156
+ context = await chunkDMSD5NS5_cjs.PowerlinesEnvironmentContext.fromConfig(this.workspaceConfig, this.config);
157
157
  }
158
158
  if (isSetObject.isSetObject(this.config.inlineConfig)) {
159
159
  await context.withInlineConfig(this.config.inlineConfig);
@@ -260,5 +260,5 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunkIEWCXR3Q_cjs
260
260
  };
261
261
 
262
262
  exports.PowerlinesAPIContext = PowerlinesAPIContext;
263
- //# sourceMappingURL=chunk-T6VGBYMA.cjs.map
264
- //# sourceMappingURL=chunk-T6VGBYMA.cjs.map
263
+ //# sourceMappingURL=chunk-26DEN74R.cjs.map
264
+ //# sourceMappingURL=chunk-26DEN74R.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","DEFAULT_ENVIRONMENT","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","GLOBAL_ENVIRONMENT"],"mappings":"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","file":"chunk-T6VGBYMA.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 { DEFAULT_ENVIRONMENT } from \"../../lib/constants/environments\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\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} 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 { GLOBAL_ENVIRONMENT } from \"../constants/environments\";\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();\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":["createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","DEFAULT_ENVIRONMENT","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","GLOBAL_ENVIRONMENT"],"mappings":"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","file":"chunk-26DEN74R.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 { DEFAULT_ENVIRONMENT } from \"../../lib/constants/environments\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\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} 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 { GLOBAL_ENVIRONMENT } from \"../constants/environments\";\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();\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"]}