powerlines 0.38.21 → 0.38.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.cjs +2 -2
- package/dist/api.js +1 -1
- package/dist/astro.cjs +4 -4
- package/dist/astro.js +3 -3
- package/dist/{chunk-3HMK7VZ3.js → chunk-3G26JDU5.js} +3 -3
- package/dist/{chunk-DR4GZ6IG.js → chunk-ACMAXM2I.js} +3 -3
- package/dist/chunk-GAVJGBPI.cjs +12 -0
- package/dist/{chunk-2USTFOK3.cjs → chunk-GF7FP4V7.cjs} +4 -4
- package/dist/{chunk-V7JA56SL.js → chunk-KFOMEENO.js} +3 -3
- package/dist/{chunk-7WVW52N4.js → chunk-OPVYFKFC.js} +14 -7
- package/dist/chunk-PJQZ67YW.cjs +12 -0
- package/dist/{chunk-RPOWKNTN.cjs → chunk-SBHY5EQZ.cjs} +14 -7
- package/dist/{chunk-G2G7CCIY.js → chunk-X3LJN32J.js} +3 -3
- package/dist/{chunk-FDHRVCNI.js → chunk-XI7RPPGI.js} +3 -3
- package/dist/{chunk-WMP4NPSZ.cjs → chunk-YNECCUJR.cjs} +5 -5
- package/dist/{chunk-Y2FPUWRY.cjs → chunk-ZSMYRTWW.cjs} +4 -4
- package/dist/esbuild.cjs +6 -6
- package/dist/esbuild.js +3 -3
- package/dist/farm.cjs +3 -3
- package/dist/farm.js +2 -2
- package/dist/index.cjs +10 -10
- package/dist/index.js +2 -2
- package/dist/lib/build/esbuild.cjs +5 -5
- package/dist/lib/build/esbuild.js +2 -2
- package/dist/lib/build/index.cjs +17 -17
- package/dist/lib/build/index.js +5 -5
- package/dist/lib/build/tsdown.cjs +5 -5
- package/dist/lib/build/tsdown.js +1 -1
- package/dist/lib/build/tsup.cjs +6 -6
- package/dist/lib/build/tsup.js +3 -3
- package/dist/lib/build/vite.cjs +5 -5
- package/dist/lib/build/vite.js +3 -3
- package/dist/lib/{chunk-JD2LTS53.cjs → chunk-36DX6SUL.cjs} +4 -4
- package/dist/lib/{chunk-JD2LTS53.cjs.map → chunk-36DX6SUL.cjs.map} +1 -1
- package/dist/lib/{chunk-6XA327NW.cjs → chunk-4D2EY6K4.cjs} +8 -2
- package/dist/lib/chunk-4D2EY6K4.cjs.map +1 -0
- package/dist/lib/{chunk-G2GLLLRU.js → chunk-4Q6SFRGB.js} +9 -8
- package/dist/lib/chunk-4Q6SFRGB.js.map +1 -0
- package/dist/lib/{chunk-PT7HBWL2.js → chunk-5RHFCGJH.js} +4 -4
- package/dist/lib/chunk-5RHFCGJH.js.map +1 -0
- package/dist/lib/{chunk-IJ7YQK2D.cjs → chunk-63AHB2NQ.cjs} +4 -4
- package/dist/lib/{chunk-IJ7YQK2D.cjs.map → chunk-63AHB2NQ.cjs.map} +1 -1
- package/dist/lib/{chunk-PVWONV7N.cjs → chunk-6I443PQJ.cjs} +4 -4
- package/dist/lib/{chunk-PVWONV7N.cjs.map → chunk-6I443PQJ.cjs.map} +1 -1
- package/dist/lib/{chunk-5DVF32IK.js → chunk-7GV25NQ5.js} +4 -4
- package/dist/lib/{chunk-5DVF32IK.js.map → chunk-7GV25NQ5.js.map} +1 -1
- package/dist/lib/{chunk-DP7VQ6IC.js → chunk-7HDFZZBX.js} +3 -3
- package/dist/lib/{chunk-DP7VQ6IC.js.map → chunk-7HDFZZBX.js.map} +1 -1
- package/dist/lib/{chunk-TITHVUO5.js → chunk-ALLMUXUL.js} +8 -2
- package/dist/lib/chunk-ALLMUXUL.js.map +1 -0
- package/dist/lib/{chunk-3C7QOICH.cjs → chunk-DED5TFZC.cjs} +8 -8
- package/dist/lib/{chunk-3C7QOICH.cjs.map → chunk-DED5TFZC.cjs.map} +1 -1
- package/dist/lib/{chunk-6THULCNF.js → chunk-DGWGKBQ4.js} +5 -5
- package/dist/lib/{chunk-6THULCNF.js.map → chunk-DGWGKBQ4.js.map} +1 -1
- package/dist/lib/{chunk-HCDETYRM.cjs → chunk-DYRH2BJS.cjs} +9 -8
- package/dist/lib/chunk-DYRH2BJS.cjs.map +1 -0
- package/dist/lib/{chunk-FA7RSY75.js → chunk-EFNYSTP3.js} +3 -3
- package/dist/lib/{chunk-FA7RSY75.js.map → chunk-EFNYSTP3.js.map} +1 -1
- package/dist/lib/{chunk-2IJXLF57.cjs → chunk-EKCJXSS7.cjs} +6 -6
- package/dist/lib/{chunk-2IJXLF57.cjs.map → chunk-EKCJXSS7.cjs.map} +1 -1
- package/dist/lib/{chunk-XXXXZDVY.cjs → chunk-EP4RY524.cjs} +17 -17
- package/dist/lib/{chunk-XXXXZDVY.cjs.map → chunk-EP4RY524.cjs.map} +1 -1
- package/dist/lib/{chunk-D3WTYUUX.js → chunk-EQK3HJNG.js} +3 -3
- package/dist/lib/{chunk-D3WTYUUX.js.map → chunk-EQK3HJNG.js.map} +1 -1
- package/dist/lib/{chunk-TLQERY6D.js → chunk-M2HYB4GK.js} +3 -3
- package/dist/lib/{chunk-TLQERY6D.js.map → chunk-M2HYB4GK.js.map} +1 -1
- package/dist/lib/{chunk-ZBJ5KEU3.cjs → chunk-M5CKYR2K.cjs} +19 -19
- package/dist/lib/{chunk-ZBJ5KEU3.cjs.map → chunk-M5CKYR2K.cjs.map} +1 -1
- package/dist/lib/{chunk-SEYYRL3M.cjs → chunk-MRYE72H6.cjs} +4 -4
- package/dist/lib/chunk-MRYE72H6.cjs.map +1 -0
- package/dist/lib/{chunk-3C3ARSM4.js → chunk-NLIBCNIN.js} +4 -4
- package/dist/lib/{chunk-3C3ARSM4.js.map → chunk-NLIBCNIN.js.map} +1 -1
- package/dist/lib/{chunk-L4TPIXBN.cjs → chunk-S4YOMJOS.cjs} +4 -4
- package/dist/lib/{chunk-L4TPIXBN.cjs.map → chunk-S4YOMJOS.cjs.map} +1 -1
- package/dist/lib/{chunk-FLTOE5GA.js → chunk-TVA5RQN2.js} +3 -3
- package/dist/lib/{chunk-FLTOE5GA.js.map → chunk-TVA5RQN2.js.map} +1 -1
- package/dist/lib/{chunk-KWY7QMC6.cjs → chunk-WDCWUS27.cjs} +4 -4
- package/dist/lib/{chunk-KWY7QMC6.cjs.map → chunk-WDCWUS27.cjs.map} +1 -1
- package/dist/lib/{chunk-FK6WAYTG.js → chunk-XI72ZBDI.js} +3 -3
- package/dist/lib/{chunk-FK6WAYTG.js.map → chunk-XI72ZBDI.js.map} +1 -1
- package/dist/lib/contexts/api-context.cjs +6 -6
- package/dist/lib/contexts/api-context.js +5 -5
- package/dist/lib/contexts/context.cjs +4 -4
- package/dist/lib/contexts/context.js +3 -3
- package/dist/lib/contexts/environment-context.cjs +5 -5
- package/dist/lib/contexts/environment-context.js +4 -4
- package/dist/lib/contexts/index.cjs +8 -8
- package/dist/lib/contexts/index.js +5 -5
- package/dist/lib/entry.cjs +8 -8
- package/dist/lib/entry.d.cts +1 -1
- package/dist/lib/entry.d.ts +1 -1
- package/dist/lib/entry.js +1 -1
- package/dist/lib/fs/index.cjs +2 -2
- package/dist/lib/fs/index.js +1 -1
- package/dist/lib/fs/vfs.cjs +2 -2
- package/dist/lib/fs/vfs.js +1 -1
- package/dist/lib/index.cjs +23 -23
- package/dist/lib/index.js +9 -9
- package/dist/lib/unplugin/factory.cjs +7 -7
- package/dist/lib/unplugin/factory.js +6 -6
- package/dist/lib/unplugin/index.cjs +7 -7
- package/dist/lib/unplugin/index.js +6 -6
- package/dist/lib/utilities/bundle.cjs +4 -4
- package/dist/lib/utilities/bundle.js +3 -3
- package/dist/lib/utilities/index.cjs +6 -6
- package/dist/lib/utilities/index.js +4 -4
- package/dist/lib/utilities/resolve.cjs +5 -5
- package/dist/lib/utilities/resolve.js +4 -4
- package/dist/next.cjs +4 -4
- package/dist/next.js +3 -3
- package/dist/nuxt.cjs +8 -8
- package/dist/nuxt.js +4 -4
- package/dist/rolldown.cjs +6 -6
- package/dist/rolldown.js +3 -3
- package/dist/rollup.cjs +3 -3
- package/dist/rollup.js +2 -2
- package/dist/rspack.cjs +3 -3
- package/dist/rspack.js +2 -2
- package/dist/tsdown.cjs +4 -4
- package/dist/tsdown.js +3 -3
- package/dist/tsup.cjs +4 -4
- package/dist/tsup.js +3 -3
- package/dist/unloader.cjs +3 -3
- package/dist/unloader.js +2 -2
- package/dist/unplugin.cjs +9 -9
- package/dist/unplugin.js +4 -4
- package/dist/vite.cjs +6 -6
- package/dist/vite.js +3 -3
- package/dist/webpack.cjs +6 -6
- package/dist/webpack.js +3 -3
- package/package.json +2 -2
- package/dist/chunk-3A3U4FGM.cjs +0 -12
- package/dist/chunk-6YXVKRO4.cjs +0 -12
- package/dist/lib/chunk-6XA327NW.cjs.map +0 -1
- package/dist/lib/chunk-G2GLLLRU.js.map +0 -1
- package/dist/lib/chunk-HCDETYRM.cjs.map +0 -1
- package/dist/lib/chunk-PT7HBWL2.js.map +0 -1
- package/dist/lib/chunk-SEYYRL3M.cjs.map +0 -1
- package/dist/lib/chunk-TITHVUO5.js.map +0 -1
|
@@ -17,11 +17,11 @@ function resolveEntryOutput(context, typeDefinition) {
|
|
|
17
17
|
return replace.replaceExtension(replace.replacePath(replace.replacePath(replace.replacePath(replace.replacePath(replace.replacePath(typeDefinition.file, joinPaths.joinPaths(context.workspaceConfig.workspaceRoot, context.config.sourceRoot)), joinPaths.joinPaths(context.workspaceConfig.workspaceRoot, context.config.projectRoot)), context.config.sourceRoot), context.config.projectRoot), replace.replacePath(context.config.sourceRoot, context.config.projectRoot)));
|
|
18
18
|
}
|
|
19
19
|
chunkPK6SKIKE_cjs.__name(resolveEntryOutput, "resolveEntryOutput");
|
|
20
|
-
function resolveEntry(context, typeDefinition) {
|
|
20
|
+
function resolveEntry(context, typeDefinition, input, output) {
|
|
21
21
|
return {
|
|
22
22
|
...typeDefinition,
|
|
23
|
-
input: typeDefinition,
|
|
24
|
-
output: resolveEntryOutput(context, typeDefinition)
|
|
23
|
+
input: input ?? typeDefinition,
|
|
24
|
+
output: output || resolveEntryOutput(context, typeDefinition)
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
chunkPK6SKIKE_cjs.__name(resolveEntry, "resolveEntry");
|
|
@@ -45,12 +45,12 @@ async function resolveEntries(context, typeDefinitions) {
|
|
|
45
45
|
return resolveEntry(context, {
|
|
46
46
|
file: replace.replacePath(filePath, context.config.projectRoot),
|
|
47
47
|
name: typeDefinition.name
|
|
48
|
-
});
|
|
48
|
+
}, entry.input, entry.output);
|
|
49
49
|
}
|
|
50
50
|
return (await context.fs.glob(append.appendPath(filePath, context.workspaceConfig.workspaceRoot))).map((file) => resolveEntry(context, {
|
|
51
51
|
file: replace.replacePath(file, context.config.projectRoot),
|
|
52
52
|
name: typeDefinition.name
|
|
53
|
-
}));
|
|
53
|
+
}, entry.input, entry.output));
|
|
54
54
|
}))).flat().filter(Boolean);
|
|
55
55
|
}
|
|
56
56
|
chunkPK6SKIKE_cjs.__name(resolveEntries, "resolveEntries");
|
|
@@ -59,7 +59,7 @@ function isTypeDefinition(entry) {
|
|
|
59
59
|
}
|
|
60
60
|
chunkPK6SKIKE_cjs.__name(isTypeDefinition, "isTypeDefinition");
|
|
61
61
|
function isResolvedEntryTypeDefinition(entry) {
|
|
62
|
-
return isTypeDefinition(entry) && entry.
|
|
62
|
+
return isTypeDefinition(entry) && entry.output !== void 0;
|
|
63
63
|
}
|
|
64
64
|
chunkPK6SKIKE_cjs.__name(isResolvedEntryTypeDefinition, "isResolvedEntryTypeDefinition");
|
|
65
65
|
function resolveEntriesSync(context, typeDefinitions) {
|
|
@@ -67,6 +67,7 @@ function resolveEntriesSync(context, typeDefinitions) {
|
|
|
67
67
|
if (isResolvedEntryTypeDefinition(entry)) {
|
|
68
68
|
return {
|
|
69
69
|
...entry,
|
|
70
|
+
output: entry.output ? chunkYF57WETC_cjs.replacePathTokens(context, entry.output) : void 0,
|
|
70
71
|
file: chunkYF57WETC_cjs.replacePathTokens(context, entry.file)
|
|
71
72
|
};
|
|
72
73
|
}
|
|
@@ -105,5 +106,5 @@ exports.resolveEntries = resolveEntries;
|
|
|
105
106
|
exports.resolveEntriesSync = resolveEntriesSync;
|
|
106
107
|
exports.resolveEntry = resolveEntry;
|
|
107
108
|
exports.resolveEntryOutput = resolveEntryOutput;
|
|
108
|
-
//# sourceMappingURL=chunk-
|
|
109
|
-
//# sourceMappingURL=chunk-
|
|
109
|
+
//# sourceMappingURL=chunk-DYRH2BJS.cjs.map
|
|
110
|
+
//# sourceMappingURL=chunk-DYRH2BJS.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/entry.ts"],"names":["resolveEntryOutput","context","typeDefinition","replaceExtension","replacePath","file","joinPaths","workspaceConfig","workspaceRoot","config","sourceRoot","projectRoot","resolveEntry","input","output","resolveEntries","typeDefinitions","Promise","all","map","entry","isResolvedEntryTypeDefinition","replacePathTokens","isString","parseTypeDefinition","filePath","isAbsolutePath","appendPath","fs","isFile","name","glob","flat","filter","Boolean","isTypeDefinition","undefined","resolveEntriesSync","isFileSync","globSync","getUniqueEntries","entries","getUniqueBy","toArray","item","isSetString","murmurhash","maxLength"],"mappings":"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","file":"chunk-DYRH2BJS.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 { parseTypeDefinition } from \"@stryke/convert/parse-type-definition\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { murmurhash } from \"@stryke/hash/murmurhash\";\nimport { getUniqueBy } from \"@stryke/helpers/get-unique\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { isAbsolutePath } from \"@stryke/path/is-type\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport type {\n TypeDefinition,\n TypeDefinitionParameter\n} from \"@stryke/types/configuration\";\nimport { replacePathTokens } from \"../plugin-utils/paths\";\nimport type { Context } from \"../types/context\";\nimport { ResolvedEntryTypeDefinition } from \"../types/resolved\";\n\nexport function resolveEntryOutput(\n context: Context,\n typeDefinition: TypeDefinition\n): string {\n return replaceExtension(\n replacePath(\n replacePath(\n replacePath(\n replacePath(\n replacePath(\n typeDefinition.file,\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.sourceRoot\n )\n ),\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot\n )\n ),\n context.config.sourceRoot\n ),\n context.config.projectRoot\n ),\n replacePath(context.config.sourceRoot, context.config.projectRoot)\n )\n );\n}\n\nexport function resolveEntry(\n context: Context,\n typeDefinition: TypeDefinition,\n input?: TypeDefinition,\n output?: string\n): ResolvedEntryTypeDefinition {\n return {\n ...typeDefinition,\n input: input ?? typeDefinition,\n output: output || resolveEntryOutput(context, typeDefinition)\n };\n}\n\n/**\n * Resolves multiple type definitions into their corresponding resolved entry type definitions.\n *\n * @param context - The current context\n * @param typeDefinitions - The type definitions to resolve.\n * @returns A promise that resolves to an array of resolved entry type definitions.\n */\nexport async function resolveEntries(\n context: Context,\n typeDefinitions: Array<TypeDefinitionParameter | ResolvedEntryTypeDefinition>\n): Promise<ResolvedEntryTypeDefinition[]> {\n return (\n await Promise.all(\n typeDefinitions.map(async entry => {\n if (isResolvedEntryTypeDefinition(entry)) {\n return { ...entry, file: replacePathTokens(context, entry.file) };\n }\n\n let typeDefinition: TypeDefinition;\n if (isString(entry)) {\n typeDefinition = parseTypeDefinition(\n replacePathTokens(context, entry)\n )!;\n } else {\n typeDefinition = entry;\n typeDefinition.file = replacePathTokens(context, typeDefinition.file);\n }\n\n const filePath = isAbsolutePath(typeDefinition.file)\n ? typeDefinition.file\n : appendPath(typeDefinition.file, context.config.projectRoot);\n if (await context.fs.isFile(filePath)) {\n return resolveEntry(\n context,\n {\n file: replacePath(filePath, context.config.projectRoot),\n name: typeDefinition.name\n },\n (entry as ResolvedEntryTypeDefinition).input,\n (entry as ResolvedEntryTypeDefinition).output\n );\n }\n\n return (\n await context.fs.glob(\n appendPath(filePath, context.workspaceConfig.workspaceRoot)\n )\n ).map(file =>\n resolveEntry(\n context,\n {\n file: replacePath(file, context.config.projectRoot),\n name: typeDefinition.name\n },\n (entry as ResolvedEntryTypeDefinition).input,\n (entry as ResolvedEntryTypeDefinition).output\n )\n );\n })\n )\n )\n .flat()\n .filter(Boolean);\n}\n\n/**\n * Checks if the provided entry is a type definition.\n *\n * @param entry - The entry to check.\n * @returns True if the entry is a type definition, false otherwise.\n */\nexport function isTypeDefinition(\n entry: TypeDefinitionParameter\n): entry is TypeDefinition {\n return !isString(entry) && entry.file !== undefined;\n}\n\n/**\n * Checks if the provided entry is a resolved entry type definition.\n *\n * @param entry - The entry to check.\n * @returns True if the entry is a resolved entry type definition, false otherwise.\n */\nexport function isResolvedEntryTypeDefinition(\n entry: TypeDefinitionParameter | ResolvedEntryTypeDefinition\n): entry is ResolvedEntryTypeDefinition {\n return (\n isTypeDefinition(entry) &&\n (entry as ResolvedEntryTypeDefinition).output !== undefined\n );\n}\n\n/**\n * Resolves multiple type definitions into their corresponding resolved entry type definitions.\n *\n * @param context - The current context\n * @param typeDefinitions - The type definitions to resolve.\n * @returns A promise that resolves to an array of resolved entry type definitions.\n */\nexport function resolveEntriesSync(\n context: Context,\n typeDefinitions: Array<TypeDefinitionParameter | ResolvedEntryTypeDefinition>\n): ResolvedEntryTypeDefinition[] {\n return typeDefinitions\n .map(entry => {\n if (isResolvedEntryTypeDefinition(entry)) {\n return {\n ...entry,\n output: entry.output\n ? replacePathTokens(context, entry.output)\n : undefined,\n file: replacePathTokens(context, entry.file)\n };\n }\n\n let typeDefinition: TypeDefinition;\n if (isString(entry)) {\n typeDefinition = parseTypeDefinition(\n replacePathTokens(context, entry)\n )!;\n } else {\n typeDefinition = entry;\n typeDefinition.file = replacePathTokens(context, typeDefinition.file);\n }\n\n const filePath = isAbsolutePath(typeDefinition.file)\n ? typeDefinition.file\n : appendPath(typeDefinition.file, context.config.projectRoot);\n if (context.fs.isFileSync(filePath)) {\n return resolveEntry(context, {\n file: appendPath(filePath, context.workspaceConfig.workspaceRoot),\n name: typeDefinition.name\n });\n }\n\n return context.fs\n .globSync(appendPath(filePath, context.workspaceConfig.workspaceRoot))\n .map(file =>\n resolveEntry(context, {\n file,\n name: typeDefinition.name\n })\n );\n })\n .flat()\n .filter(Boolean);\n}\n\n// /** Resolve a virtual entry point by generating a unique file path in the artifacts directory.\n// *\n// * @param context - The current context\n// * @param typeDefinition - The type definition to resolve.\n// * @returns The resolved entry type definition with a unique virtual file path.\n// */\n// export function resolveVirtualEntry(\n// context: Context,\n// typeDefinition: TypeDefinitionParameter\n// ): ResolvedEntryTypeDefinition {\n// const parsed = parseTypeDefinition(typeDefinition)!;\n// const resolved = resolveEntry(context, parsed);\n// const file = joinPaths(\n// context.artifactsPath,\n// `entry-${murmurhash(\n// { file: resolved.file, name: resolved.name },\n// { maxLength: 24 }\n// )\n// .replaceAll(\"-\", \"0\")\n// .replaceAll(\"_\", \"1\")}.ts`\n// );\n\n// return {\n// file,\n// name: resolved.name,\n// input: {\n// file,\n// name: resolved.name\n// },\n// output: file\n// };\n// }\n\n/**\n * Get unique entries from the provided list.\n *\n * @param entries - The entries to process.\n * @returns An array of unique entries (by file path or content hash).\n */\nexport function getUniqueEntries(\n entries: TypeDefinitionParameter | TypeDefinitionParameter[] = []\n): TypeDefinitionParameter[] {\n return getUniqueBy(toArray(entries), (item: TypeDefinitionParameter) =>\n isSetString(item) ? item : murmurhash(item ?? {}, { maxLength: 24 })\n );\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolveEntryOutput } from './chunk-
|
|
1
|
+
import { resolveEntryOutput } from './chunk-4Q6SFRGB.js';
|
|
2
2
|
import { __name } from './chunk-7QVYU63E.js';
|
|
3
3
|
import { omit } from '@stryke/helpers/omit';
|
|
4
4
|
import { joinPaths } from '@stryke/path/join-paths';
|
|
@@ -109,5 +109,5 @@ export { ${key} };`;
|
|
|
109
109
|
__name(extractESBuildConfig, "extractESBuildConfig");
|
|
110
110
|
|
|
111
111
|
export { DEFAULT_ESBUILD_CONFIG, extractESBuildConfig, resolveESBuildEntry };
|
|
112
|
-
//# sourceMappingURL=chunk-
|
|
113
|
-
//# sourceMappingURL=chunk-
|
|
112
|
+
//# sourceMappingURL=chunk-EFNYSTP3.js.map
|
|
113
|
+
//# sourceMappingURL=chunk-EFNYSTP3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/build/esbuild.ts"],"names":["DEFAULT_ESBUILD_CONFIG","target","platform","format","write","minify","sourcemap","bundle","treeShaking","keepNames","splitting","logLevel","resolveESBuildEntry","context","entryPoints","reduce","ret","entry","isString","replaceExtension","replacePath","config","sourceRoot","projectRoot","output","resolveEntryOutput","file","extractESBuildConfig","inject","build","override","Object","keys","length","fs","writeSync","joinPaths","workspaceConfig","workspaceRoot","artifactsPath","entries","map","key","value","Array","isArray","camelCase","join","defu","alias","undefined","variant","omit","mainFields","conditions","define","resolveExtensions","extensions","packages","skipNodeModulesBundle","Boolean","treeshake","outdir","buildPath","tsconfig","tsconfigFilePath","mode","metafile"],"mappings":"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","file":"chunk-FA7RSY75.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 { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { camelCase } from \"@stryke/string-format/camel-case\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport defu from \"defu\";\nimport { BuildOptions, Format, LogLevel, Platform } from \"esbuild\";\nimport {\n ESBuildBuildConfig,\n ESBuildResolvedBuildConfig,\n TsupBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport type { ResolvedEntryTypeDefinition } from \"../../types/resolved\";\nimport { resolveEntryOutput } from \"../entry\";\n\n// const resolverPlugin = (\n// context: Context,\n// options: Pick<\n// BuildResolvedConfig,\n// \"external\" | \"noExternal\" | \"skipNodeModulesBundle\"\n// > = {}\n// ): Plugin => {\n// return {\n// name: \"powerlines:resolver\",\n// setup(build) {\n// const skipNodeModulesBundle =\n// options.skipNodeModulesBundle ??\n// context.config.build.skipNodeModulesBundle;\n// const external = options.external ?? context.config.build.external ?? [];\n// const noExternal =\n// options.noExternal ?? context.config.build.noExternal ?? [];\n// const resolvePatterns = skipNodeModulesBundle\n// ? tsconfigPathsToRegExp(context.tsconfig.options.paths ?? [])\n// : [];\n\n// const handle = async (args: OnResolveArgs) => {\n// const result = await handleResolveId(\n// context,\n// {\n// id: args.path,\n// importer: args.importer,\n// options: {\n// isEntry: false\n// }\n// },\n// {\n// skipNodeModulesBundle,\n// external,\n// noExternal,\n// resolvePatterns\n// }\n// );\n// if (!result) {\n// return;\n// }\n\n// return {\n// path: result?.id,\n// external: result?.external\n// };\n// };\n\n// build.onResolve({ filter: /.*/ }, handle);\n// build.onResolve({ filter: /^storm:/ }, handle);\n// }\n// };\n// };\n\nexport const DEFAULT_ESBUILD_CONFIG: Partial<ESBuildResolvedBuildConfig> = {\n target: \"esnext\",\n platform: \"neutral\" as Platform,\n format: \"esm\" as Format,\n write: true,\n minify: true,\n sourcemap: false,\n bundle: true,\n treeShaking: true,\n keepNames: true,\n splitting: true,\n logLevel: \"silent\" as LogLevel\n};\n\n/**\n * Resolves the entry options for esbuild.\n *\n * @param context - The build context.\n * @param entryPoints - The entry points to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveESBuildEntry(\n context: Context,\n entryPoints: ResolvedEntryTypeDefinition[] | string[] = []\n): ESBuildResolvedBuildConfig[\"entryPoints\"] {\n return entryPoints.reduce(\n (ret, entry) => {\n if (isString(entry)) {\n ret[\n replaceExtension(\n replacePath(\n entry,\n context.config.sourceRoot || context.config.projectRoot\n )\n )\n ] = replacePath(\n entry,\n context.config.sourceRoot || context.config.projectRoot\n );\n } else {\n ret[entry.output || resolveEntryOutput(context, entry)] = entry.file;\n }\n\n return ret;\n },\n {} as Record<string, string>\n );\n}\n\n/**\n * Resolves the esbuild options.\n *\n * @param context - The build context.\n * @returns The resolved esbuild options.\n */\nexport function extractESBuildConfig(context: Context): BuildOptions {\n const inject =\n context.config.build.override.inject ?? context.config.build.inject;\n if (inject && Object.keys(inject).length > 0) {\n context.fs.writeSync(\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot,\n context.artifactsPath,\n \"inject-shim.js\"\n ),\n Object.entries(inject)\n .map(([key, value]) => {\n if (value) {\n if (Array.isArray(value)) {\n if (camelCase(key) !== key) {\n if (value.length === 1) {\n return `\nimport ${camelCase(key)} from \"${value[0]}\";\nexport { ${camelCase(key)} as \"${key}\" }`;\n } else if (value.length > 1) {\n return `\nimport ${value[1] === \"*\" ? `* as ${camelCase(key)}` : `{ ${value[1]} as ${camelCase(key)} }`} from \"${value[0]}\";\nexport { ${camelCase(key)} as \"${key}\" }`;\n }\n } else if (value.length === 1) {\n return `\nimport ${key} from \"${value[0]}\";\nexport { ${key} };`;\n } else if (value.length > 1) {\n return `\nimport ${value[1] === \"*\" ? `* as ${key}` : `{ ${value[1]} as ${key} }`} from \"${value[0]}\";\nexport { ${key} };`;\n }\n } else if (camelCase(key) !== key) {\n return `\nimport ${camelCase(key)} from \"${value[0]}\";\nexport { ${camelCase(key)} as \"${key}\" }`;\n } else {\n return `\nimport ${key} from \"${value}\";\nexport { ${key} };`;\n }\n }\n\n return \"\";\n })\n .join(\"\\n\")\n );\n }\n\n return defu(\n {\n alias: context.alias,\n inject:\n inject && Object.keys(inject).length > 0\n ? [\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot,\n context.artifactsPath,\n \"inject-shim.js\"\n )\n ]\n : undefined\n },\n context.config.build.variant === \"esbuild\"\n ? (omit(context.config.build.override, [\n \"alias\",\n \"inject\",\n \"external\",\n \"noExternal\",\n \"skipNodeModulesBundle\",\n \"extensions\"\n ]) as BuildOptions)\n : {},\n context.config.build.variant === \"esbuild\"\n ? (omit(context.config.build, [\n \"alias\",\n \"inject\",\n \"external\",\n \"noExternal\",\n \"skipNodeModulesBundle\",\n \"extensions\",\n \"variant\",\n \"override\"\n ]) as BuildOptions)\n : {},\n {\n mainFields: context.config.build.mainFields,\n conditions: context.config.build.conditions,\n define: context.config.build.define,\n resolveExtensions: context.config.build.extensions,\n packages: context.config.build.skipNodeModulesBundle\n ? \"external\"\n : context.config.build.variant === \"esbuild\"\n ? (context.config.build as ESBuildBuildConfig).packages\n : undefined,\n format: (Array.isArray(context.config.output.format)\n ? context.config.output.format[0]\n : context.config.output.format) as Format,\n platform: context.config.build.platform,\n treeShaking:\n Boolean((context.config.build as TsupBuildConfig)?.treeshake) ||\n (context.config.build as ESBuildBuildConfig)?.treeShaking,\n outdir: context.config.output.buildPath,\n tsconfig: context.tsconfig.tsconfigFilePath,\n minify: context.config.mode !== \"development\",\n metafile: context.config.mode === \"development\",\n sourcemap: context.config.mode === \"development\"\n },\n DEFAULT_ESBUILD_CONFIG\n ) as BuildOptions;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/lib/build/esbuild.ts"],"names":["DEFAULT_ESBUILD_CONFIG","target","platform","format","write","minify","sourcemap","bundle","treeShaking","keepNames","splitting","logLevel","resolveESBuildEntry","context","entryPoints","reduce","ret","entry","isString","replaceExtension","replacePath","config","sourceRoot","projectRoot","output","resolveEntryOutput","file","extractESBuildConfig","inject","build","override","Object","keys","length","fs","writeSync","joinPaths","workspaceConfig","workspaceRoot","artifactsPath","entries","map","key","value","Array","isArray","camelCase","join","defu","alias","undefined","variant","omit","mainFields","conditions","define","resolveExtensions","extensions","packages","skipNodeModulesBundle","Boolean","treeshake","outdir","buildPath","tsconfig","tsconfigFilePath","mode","metafile"],"mappings":"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","file":"chunk-EFNYSTP3.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 { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { camelCase } from \"@stryke/string-format/camel-case\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport defu from \"defu\";\nimport { BuildOptions, Format, LogLevel, Platform } from \"esbuild\";\nimport {\n ESBuildBuildConfig,\n ESBuildResolvedBuildConfig,\n TsupBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport type { ResolvedEntryTypeDefinition } from \"../../types/resolved\";\nimport { resolveEntryOutput } from \"../entry\";\n\n// const resolverPlugin = (\n// context: Context,\n// options: Pick<\n// BuildResolvedConfig,\n// \"external\" | \"noExternal\" | \"skipNodeModulesBundle\"\n// > = {}\n// ): Plugin => {\n// return {\n// name: \"powerlines:resolver\",\n// setup(build) {\n// const skipNodeModulesBundle =\n// options.skipNodeModulesBundle ??\n// context.config.build.skipNodeModulesBundle;\n// const external = options.external ?? context.config.build.external ?? [];\n// const noExternal =\n// options.noExternal ?? context.config.build.noExternal ?? [];\n// const resolvePatterns = skipNodeModulesBundle\n// ? tsconfigPathsToRegExp(context.tsconfig.options.paths ?? [])\n// : [];\n\n// const handle = async (args: OnResolveArgs) => {\n// const result = await handleResolveId(\n// context,\n// {\n// id: args.path,\n// importer: args.importer,\n// options: {\n// isEntry: false\n// }\n// },\n// {\n// skipNodeModulesBundle,\n// external,\n// noExternal,\n// resolvePatterns\n// }\n// );\n// if (!result) {\n// return;\n// }\n\n// return {\n// path: result?.id,\n// external: result?.external\n// };\n// };\n\n// build.onResolve({ filter: /.*/ }, handle);\n// build.onResolve({ filter: /^storm:/ }, handle);\n// }\n// };\n// };\n\nexport const DEFAULT_ESBUILD_CONFIG: Partial<ESBuildResolvedBuildConfig> = {\n target: \"esnext\",\n platform: \"neutral\" as Platform,\n format: \"esm\" as Format,\n write: true,\n minify: true,\n sourcemap: false,\n bundle: true,\n treeShaking: true,\n keepNames: true,\n splitting: true,\n logLevel: \"silent\" as LogLevel\n};\n\n/**\n * Resolves the entry options for esbuild.\n *\n * @param context - The build context.\n * @param entryPoints - The entry points to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveESBuildEntry(\n context: Context,\n entryPoints: ResolvedEntryTypeDefinition[] | string[] = []\n): ESBuildResolvedBuildConfig[\"entryPoints\"] {\n return entryPoints.reduce(\n (ret, entry) => {\n if (isString(entry)) {\n ret[\n replaceExtension(\n replacePath(\n entry,\n context.config.sourceRoot || context.config.projectRoot\n )\n )\n ] = replacePath(\n entry,\n context.config.sourceRoot || context.config.projectRoot\n );\n } else {\n ret[entry.output || resolveEntryOutput(context, entry)] = entry.file;\n }\n\n return ret;\n },\n {} as Record<string, string>\n );\n}\n\n/**\n * Resolves the esbuild options.\n *\n * @param context - The build context.\n * @returns The resolved esbuild options.\n */\nexport function extractESBuildConfig(context: Context): BuildOptions {\n const inject =\n context.config.build.override.inject ?? context.config.build.inject;\n if (inject && Object.keys(inject).length > 0) {\n context.fs.writeSync(\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot,\n context.artifactsPath,\n \"inject-shim.js\"\n ),\n Object.entries(inject)\n .map(([key, value]) => {\n if (value) {\n if (Array.isArray(value)) {\n if (camelCase(key) !== key) {\n if (value.length === 1) {\n return `\nimport ${camelCase(key)} from \"${value[0]}\";\nexport { ${camelCase(key)} as \"${key}\" }`;\n } else if (value.length > 1) {\n return `\nimport ${value[1] === \"*\" ? `* as ${camelCase(key)}` : `{ ${value[1]} as ${camelCase(key)} }`} from \"${value[0]}\";\nexport { ${camelCase(key)} as \"${key}\" }`;\n }\n } else if (value.length === 1) {\n return `\nimport ${key} from \"${value[0]}\";\nexport { ${key} };`;\n } else if (value.length > 1) {\n return `\nimport ${value[1] === \"*\" ? `* as ${key}` : `{ ${value[1]} as ${key} }`} from \"${value[0]}\";\nexport { ${key} };`;\n }\n } else if (camelCase(key) !== key) {\n return `\nimport ${camelCase(key)} from \"${value[0]}\";\nexport { ${camelCase(key)} as \"${key}\" }`;\n } else {\n return `\nimport ${key} from \"${value}\";\nexport { ${key} };`;\n }\n }\n\n return \"\";\n })\n .join(\"\\n\")\n );\n }\n\n return defu(\n {\n alias: context.alias,\n inject:\n inject && Object.keys(inject).length > 0\n ? [\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot,\n context.artifactsPath,\n \"inject-shim.js\"\n )\n ]\n : undefined\n },\n context.config.build.variant === \"esbuild\"\n ? (omit(context.config.build.override, [\n \"alias\",\n \"inject\",\n \"external\",\n \"noExternal\",\n \"skipNodeModulesBundle\",\n \"extensions\"\n ]) as BuildOptions)\n : {},\n context.config.build.variant === \"esbuild\"\n ? (omit(context.config.build, [\n \"alias\",\n \"inject\",\n \"external\",\n \"noExternal\",\n \"skipNodeModulesBundle\",\n \"extensions\",\n \"variant\",\n \"override\"\n ]) as BuildOptions)\n : {},\n {\n mainFields: context.config.build.mainFields,\n conditions: context.config.build.conditions,\n define: context.config.build.define,\n resolveExtensions: context.config.build.extensions,\n packages: context.config.build.skipNodeModulesBundle\n ? \"external\"\n : context.config.build.variant === \"esbuild\"\n ? (context.config.build as ESBuildBuildConfig).packages\n : undefined,\n format: (Array.isArray(context.config.output.format)\n ? context.config.output.format[0]\n : context.config.output.format) as Format,\n platform: context.config.build.platform,\n treeShaking:\n Boolean((context.config.build as TsupBuildConfig)?.treeshake) ||\n (context.config.build as ESBuildBuildConfig)?.treeShaking,\n outdir: context.config.output.buildPath,\n tsconfig: context.tsconfig.tsconfigFilePath,\n minify: context.config.mode !== \"development\",\n metafile: context.config.mode === \"development\",\n sourcemap: context.config.mode === \"development\"\n },\n DEFAULT_ESBUILD_CONFIG\n ) as BuildOptions;\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkM5CKYR2K_cjs = require('./chunk-M5CKYR2K.cjs');
|
|
4
|
+
var chunkDED5TFZC_cjs = require('./chunk-DED5TFZC.cjs');
|
|
5
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');
|
|
@@ -63,7 +63,7 @@ function createDefaultEnvironment(userConfig) {
|
|
|
63
63
|
chunkPK6SKIKE_cjs.__name(createDefaultEnvironment, "createDefaultEnvironment");
|
|
64
64
|
|
|
65
65
|
// src/lib/contexts/api-context.ts
|
|
66
|
-
var PowerlinesAPIContext = class _PowerlinesAPIContext extends
|
|
66
|
+
var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunkDED5TFZC_cjs.PowerlinesContext {
|
|
67
67
|
static {
|
|
68
68
|
chunkPK6SKIKE_cjs.__name(this, "PowerlinesAPIContext");
|
|
69
69
|
}
|
|
@@ -152,7 +152,7 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunk3C7QOICH_cjs
|
|
|
152
152
|
if (this.environments[environment.name]) {
|
|
153
153
|
context = this.environments[environment.name];
|
|
154
154
|
} else {
|
|
155
|
-
context = await
|
|
155
|
+
context = await chunkM5CKYR2K_cjs.PowerlinesEnvironmentContext.fromConfig(this.workspaceConfig, this.config);
|
|
156
156
|
}
|
|
157
157
|
if (isSetObject.isSetObject(this.config.inlineConfig)) {
|
|
158
158
|
await context.withInlineConfig(this.config.inlineConfig);
|
|
@@ -259,5 +259,5 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunk3C7QOICH_cjs
|
|
|
259
259
|
};
|
|
260
260
|
|
|
261
261
|
exports.PowerlinesAPIContext = PowerlinesAPIContext;
|
|
262
|
-
//# sourceMappingURL=chunk-
|
|
263
|
-
//# sourceMappingURL=chunk-
|
|
262
|
+
//# sourceMappingURL=chunk-EKCJXSS7.cjs.map
|
|
263
|
+
//# sourceMappingURL=chunk-EKCJXSS7.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","debug","chalk","bold","cyanBright","warn","getEnvironmentSafe","toEnvironment","GLOBAL_ENVIRONMENT"],"mappings":"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","file":"chunk-2IJXLF57.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 { 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 UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/_internal\";\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 { 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.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.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.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","debug","chalk","bold","cyanBright","warn","getEnvironmentSafe","toEnvironment","GLOBAL_ENVIRONMENT"],"mappings":"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","file":"chunk-EKCJXSS7.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 { 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 UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/_internal\";\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 { 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.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.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.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"]}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var chunkMFC7UJHT_cjs = require('./chunk-MFC7UJHT.cjs');
|
|
4
4
|
var chunkX7HOXJFK_cjs = require('./chunk-X7HOXJFK.cjs');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
5
|
+
var chunkEKCJXSS7_cjs = require('./chunk-EKCJXSS7.cjs');
|
|
6
|
+
var chunkDED5TFZC_cjs = require('./chunk-DED5TFZC.cjs');
|
|
7
7
|
var chunkK6OXYSBF_cjs = require('./chunk-K6OXYSBF.cjs');
|
|
8
8
|
var chunkQHTL2U3L_cjs = require('./chunk-QHTL2U3L.cjs');
|
|
9
9
|
var chunkL5I5KIOG_cjs = require('./chunk-L5I5KIOG.cjs');
|
|
@@ -53,7 +53,7 @@ var Handlebars__default = /*#__PURE__*/_interopDefault(Handlebars);
|
|
|
53
53
|
|
|
54
54
|
// package.json
|
|
55
55
|
var package_default = {
|
|
56
|
-
version: "0.38.
|
|
56
|
+
version: "0.38.22"};
|
|
57
57
|
var getModuleCommentBlockRegex = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((moduleId) => new RegExp(`\\/\\*\\*(?s:.)*?@module\\s+${moduleId}(?s:.)*?\\*\\/\\s+`), "getModuleCommentBlockRegex");
|
|
58
58
|
function formatTypes(code) {
|
|
59
59
|
return code.replace(
|
|
@@ -394,7 +394,7 @@ var PowerlinesAPI = class _PowerlinesAPI {
|
|
|
394
394
|
* @returns A new instance of the Powerlines API
|
|
395
395
|
*/
|
|
396
396
|
static async from(workspaceRoot, config) {
|
|
397
|
-
const api = new _PowerlinesAPI(await
|
|
397
|
+
const api = new _PowerlinesAPI(await chunkEKCJXSS7_cjs.PowerlinesAPIContext.from(workspaceRoot, config));
|
|
398
398
|
api.#context.$$internal = {
|
|
399
399
|
api,
|
|
400
400
|
addPlugin: api.#addPlugin.bind(api)
|
|
@@ -885,8 +885,8 @@ ${formatTypes(types)}
|
|
|
885
885
|
if (isPromise.isPromiseLike(config)) {
|
|
886
886
|
awaited = await Promise.resolve(config);
|
|
887
887
|
}
|
|
888
|
-
if (!
|
|
889
|
-
const invalid =
|
|
888
|
+
if (!chunkDED5TFZC_cjs.isPluginConfig(awaited)) {
|
|
889
|
+
const invalid = chunkDED5TFZC_cjs.findInvalidPluginConfig(awaited);
|
|
890
890
|
throw new Error(`Invalid ${invalid && invalid.length > 1 ? "plugins" : "plugin"} specified in the configuration - ${invalid && invalid.length > 0 ? JSON.stringify(awaited) : invalid?.join("\n\n")}
|
|
891
891
|
|
|
892
892
|
Please ensure the value is one of the following:
|
|
@@ -898,7 +898,7 @@ Please ensure the value is one of the following:
|
|
|
898
898
|
- an array of plugins or plugin configurations`);
|
|
899
899
|
}
|
|
900
900
|
let plugins;
|
|
901
|
-
if (
|
|
901
|
+
if (chunkDED5TFZC_cjs.isPlugin(awaited)) {
|
|
902
902
|
plugins = [
|
|
903
903
|
awaited
|
|
904
904
|
];
|
|
@@ -911,9 +911,9 @@ Please ensure the value is one of the following:
|
|
|
911
911
|
} else {
|
|
912
912
|
plugins = toArray.toArray(resolved);
|
|
913
913
|
}
|
|
914
|
-
} else if (Array.isArray(awaited) && awaited.every(
|
|
914
|
+
} else if (Array.isArray(awaited) && awaited.every(chunkDED5TFZC_cjs.isPlugin)) {
|
|
915
915
|
plugins = awaited;
|
|
916
|
-
} else if (Array.isArray(awaited) && awaited.every(
|
|
916
|
+
} else if (Array.isArray(awaited) && awaited.every(chunkDED5TFZC_cjs.isPluginConfig)) {
|
|
917
917
|
plugins = [];
|
|
918
918
|
for (const pluginConfig of awaited) {
|
|
919
919
|
const initialized = await this.#initPlugin(pluginConfig);
|
|
@@ -921,10 +921,10 @@ Please ensure the value is one of the following:
|
|
|
921
921
|
plugins.push(...initialized);
|
|
922
922
|
}
|
|
923
923
|
}
|
|
924
|
-
} else if (
|
|
924
|
+
} else if (chunkDED5TFZC_cjs.isPluginConfigTuple(awaited) || chunkDED5TFZC_cjs.isPluginConfigObject(awaited)) {
|
|
925
925
|
let pluginConfig;
|
|
926
926
|
let pluginOptions;
|
|
927
|
-
if (
|
|
927
|
+
if (chunkDED5TFZC_cjs.isPluginConfigTuple(awaited)) {
|
|
928
928
|
pluginConfig = awaited[0];
|
|
929
929
|
pluginOptions = awaited?.length === 2 ? awaited[1] : void 0;
|
|
930
930
|
} else {
|
|
@@ -940,21 +940,21 @@ Please ensure the value is one of the following:
|
|
|
940
940
|
}
|
|
941
941
|
} else if (isFunction.isFunction(pluginConfig)) {
|
|
942
942
|
plugins = toArray.toArray(await Promise.resolve(pluginConfig(pluginOptions)));
|
|
943
|
-
} else if (Array.isArray(pluginConfig) && pluginConfig.every(
|
|
943
|
+
} else if (Array.isArray(pluginConfig) && pluginConfig.every(chunkDED5TFZC_cjs.isPlugin)) {
|
|
944
944
|
plugins = pluginConfig;
|
|
945
|
-
} else if (
|
|
945
|
+
} else if (chunkDED5TFZC_cjs.isPlugin(pluginConfig)) {
|
|
946
946
|
plugins = toArray.toArray(pluginConfig);
|
|
947
947
|
}
|
|
948
948
|
}
|
|
949
949
|
if (!plugins) {
|
|
950
950
|
throw new Error(`The plugin configuration ${JSON.stringify(awaited)} is invalid. This configuration must point to a valid Powerlines plugin module.`);
|
|
951
951
|
}
|
|
952
|
-
if (plugins.length > 0 && !plugins.every(
|
|
952
|
+
if (plugins.length > 0 && !plugins.every(chunkDED5TFZC_cjs.isPlugin)) {
|
|
953
953
|
throw new Error(`The plugin option ${JSON.stringify(plugins)} does not export a valid module. This configuration must point to a valid Powerlines plugin module.`);
|
|
954
954
|
}
|
|
955
955
|
const result = [];
|
|
956
956
|
for (const plugin of plugins) {
|
|
957
|
-
if (
|
|
957
|
+
if (chunkDED5TFZC_cjs.checkDedupe(plugin, this.context.plugins)) {
|
|
958
958
|
this.context.trace(`Duplicate ${chalk3__default.default.bold.cyanBright(plugin.name)} plugin dependency detected - Skipping initialization.`);
|
|
959
959
|
} else {
|
|
960
960
|
result.push(plugin);
|
|
@@ -1125,5 +1125,5 @@ function createUnpluginFactory(variant, decorate) {
|
|
|
1125
1125
|
chunkPK6SKIKE_cjs.__name(createUnpluginFactory, "createUnpluginFactory");
|
|
1126
1126
|
|
|
1127
1127
|
exports.createUnpluginFactory = createUnpluginFactory;
|
|
1128
|
-
//# sourceMappingURL=chunk-
|
|
1129
|
-
//# sourceMappingURL=chunk-
|
|
1128
|
+
//# sourceMappingURL=chunk-EP4RY524.cjs.map
|
|
1129
|
+
//# sourceMappingURL=chunk-EP4RY524.cjs.map
|