powerlines 0.36.0 → 0.36.1
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-7W4UZIYN.cjs → chunk-2KSN7OFD.cjs} +4 -4
- package/dist/chunk-7MCVYDAJ.cjs +12 -0
- package/dist/{chunk-UTFVV2W6.js → chunk-AF7S443Q.js} +3 -3
- package/dist/{chunk-LBBJRJXK.js → chunk-CUWEXSOY.js} +3 -3
- package/dist/{chunk-TNHPE5V7.js → chunk-J4X5AP3Y.js} +3 -3
- package/dist/{chunk-36VJ2Z77.cjs → chunk-JOWWYLGG.cjs} +21 -19
- package/dist/{chunk-5YRODEFO.cjs → chunk-M73QOKAB.cjs} +5 -5
- package/dist/{chunk-SH2SB544.js → chunk-NGEYBLOE.js} +3 -3
- package/dist/{chunk-XAZURWQO.js → chunk-NKND4FDS.js} +21 -19
- package/dist/{chunk-BUBY5HIV.cjs → chunk-PO5JIBLR.cjs} +4 -4
- package/dist/chunk-TMHPFNNA.cjs +12 -0
- package/dist/{chunk-TIEFEPPN.js → chunk-YESNRED3.js} +3 -3
- 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/{api-DWOJLrE6.d.ts → api-B8aBolnU.d.ts} +1 -1
- package/dist/lib/{api-SdqI9x-m.d.cts → api-C6p2jxI9.d.cts} +1 -1
- package/dist/lib/build/esbuild.d.cts +1 -1
- package/dist/lib/build/esbuild.d.ts +1 -1
- package/dist/lib/build/index.cjs +41 -41
- package/dist/lib/build/index.d.cts +3 -3
- package/dist/lib/build/index.d.ts +3 -3
- package/dist/lib/build/index.js +5 -5
- package/dist/lib/build/rolldown.d.cts +1 -1
- package/dist/lib/build/rolldown.d.ts +1 -1
- package/dist/lib/build/rollup.d.cts +1 -1
- package/dist/lib/build/rollup.d.ts +1 -1
- package/dist/lib/build/rspack.d.cts +1 -1
- package/dist/lib/build/rspack.d.ts +1 -1
- package/dist/lib/build/tsdown.d.cts +1 -1
- package/dist/lib/build/tsdown.d.ts +1 -1
- package/dist/lib/build/tsup.d.cts +1 -1
- package/dist/lib/build/tsup.d.ts +1 -1
- package/dist/lib/build/unbuild.cjs +5 -5
- package/dist/lib/build/unbuild.d.cts +3 -3
- package/dist/lib/build/unbuild.d.ts +3 -3
- package/dist/lib/build/unbuild.js +2 -2
- package/dist/lib/build/vite.d.cts +1 -1
- package/dist/lib/build/vite.d.ts +1 -1
- package/dist/lib/build/webpack.d.cts +1 -1
- package/dist/lib/build/webpack.d.ts +1 -1
- package/dist/lib/{chunk-BBPOAO6N.cjs → chunk-3DKBH67A.cjs} +3 -3
- package/dist/lib/{chunk-BBPOAO6N.cjs.map → chunk-3DKBH67A.cjs.map} +1 -1
- package/dist/lib/{chunk-HSFLCOJD.cjs → chunk-53LK7IG5.cjs} +3 -3
- package/dist/lib/{chunk-HSFLCOJD.cjs.map → chunk-53LK7IG5.cjs.map} +1 -1
- package/dist/lib/{chunk-FURAF7Z3.js → chunk-6YGUB7EC.js} +3 -3
- package/dist/lib/{chunk-FURAF7Z3.js.map → chunk-6YGUB7EC.js.map} +1 -1
- package/dist/lib/{chunk-3FX6ERCW.cjs → chunk-BKFJFF7B.cjs} +13 -13
- package/dist/lib/{chunk-3FX6ERCW.cjs.map → chunk-BKFJFF7B.cjs.map} +1 -1
- package/dist/lib/{chunk-65QSO6NG.js → chunk-CEHUDHRY.js} +3 -3
- package/dist/lib/{chunk-65QSO6NG.js.map → chunk-CEHUDHRY.js.map} +1 -1
- package/dist/lib/{chunk-7QTVB6ZH.cjs → chunk-FR7QMZ4X.cjs} +3 -3
- package/dist/lib/{chunk-7QTVB6ZH.cjs.map → chunk-FR7QMZ4X.cjs.map} +1 -1
- package/dist/lib/{chunk-IZLNYBZ7.cjs → chunk-IYFHYIRD.cjs} +6 -6
- package/dist/lib/{chunk-IZLNYBZ7.cjs.map → chunk-IYFHYIRD.cjs.map} +1 -1
- package/dist/lib/{chunk-JWFW63IU.js → chunk-J2K7ISQ3.js} +4 -4
- package/dist/lib/{chunk-JWFW63IU.js.map → chunk-J2K7ISQ3.js.map} +1 -1
- package/dist/lib/{chunk-S7EAEMFK.cjs → chunk-KTCDTXRS.cjs} +7 -7
- package/dist/lib/{chunk-S7EAEMFK.cjs.map → chunk-KTCDTXRS.cjs.map} +1 -1
- package/dist/lib/{chunk-5WL2ZSJO.js → chunk-KYNBRBVJ.js} +5 -5
- package/dist/lib/{chunk-5WL2ZSJO.js.map → chunk-KYNBRBVJ.js.map} +1 -1
- package/dist/lib/{chunk-6LX4XM4N.cjs → chunk-RUMDFGF3.cjs} +34 -32
- package/dist/lib/chunk-RUMDFGF3.cjs.map +1 -0
- package/dist/lib/{chunk-GCRIWEV4.js → chunk-TB2ZWKZN.js} +3 -3
- package/dist/lib/{chunk-GCRIWEV4.js.map → chunk-TB2ZWKZN.js.map} +1 -1
- package/dist/lib/{chunk-4ZFZ4CBS.js → chunk-XAOD47WH.js} +25 -23
- package/dist/lib/chunk-XAOD47WH.js.map +1 -0
- package/dist/lib/{chunk-UNGOTRTI.js → chunk-ZVZFMMNL.js} +3 -3
- package/dist/lib/{chunk-UNGOTRTI.js.map → chunk-ZVZFMMNL.js.map} +1 -1
- package/dist/lib/{config-DIfgQr54.d.ts → config-CGGo9KcK.d.ts} +1 -1
- package/dist/lib/{config-1M6sPL82.d.cts → config-CYz6Kd4L.d.cts} +1 -1
- package/dist/lib/config-file.d.cts +1 -1
- package/dist/lib/config-file.d.ts +1 -1
- package/dist/lib/contexts/api-context.cjs +7 -7
- package/dist/lib/contexts/api-context.d.cts +3 -3
- package/dist/lib/contexts/api-context.d.ts +3 -3
- package/dist/lib/contexts/api-context.js +6 -6
- package/dist/lib/contexts/context.cjs +5 -5
- package/dist/lib/contexts/context.d.cts +3 -3
- package/dist/lib/contexts/context.d.ts +3 -3
- package/dist/lib/contexts/context.js +4 -4
- package/dist/lib/contexts/environment-context.cjs +6 -6
- package/dist/lib/contexts/environment-context.d.cts +3 -3
- package/dist/lib/contexts/environment-context.d.ts +3 -3
- package/dist/lib/contexts/environment-context.js +5 -5
- package/dist/lib/contexts/index.cjs +9 -9
- package/dist/lib/contexts/index.d.cts +3 -3
- package/dist/lib/contexts/index.d.ts +3 -3
- package/dist/lib/contexts/index.js +6 -6
- package/dist/lib/contexts/plugin-context.d.cts +3 -3
- package/dist/lib/contexts/plugin-context.d.ts +3 -3
- package/dist/lib/entry.d.cts +1 -1
- package/dist/lib/entry.d.ts +1 -1
- package/dist/lib/fs/index.cjs +3 -3
- package/dist/lib/fs/index.d.cts +1 -1
- package/dist/lib/fs/index.d.ts +1 -1
- package/dist/lib/fs/index.js +2 -2
- package/dist/lib/fs/vfs.cjs +3 -3
- package/dist/lib/fs/vfs.d.cts +1 -1
- package/dist/lib/fs/vfs.d.ts +1 -1
- package/dist/lib/fs/vfs.js +2 -2
- package/dist/lib/index.cjs +48 -48
- package/dist/lib/index.d.cts +4 -4
- package/dist/lib/index.d.ts +4 -4
- package/dist/lib/index.js +12 -12
- package/dist/lib/{internal-CyXnX19h.d.ts → internal-DoGteMoK.d.ts} +3 -3
- package/dist/lib/{internal-ovhC8JVB.d.cts → internal-YI5K6rmd.d.cts} +3 -3
- package/dist/lib/logger.d.cts +1 -1
- package/dist/lib/logger.d.ts +1 -1
- package/dist/lib/typescript/import-transformer.d.cts +1 -1
- package/dist/lib/typescript/import-transformer.d.ts +1 -1
- package/dist/lib/typescript/index.cjs +12 -12
- package/dist/lib/typescript/index.d.cts +1 -1
- package/dist/lib/typescript/index.d.ts +1 -1
- package/dist/lib/typescript/index.js +2 -2
- package/dist/lib/typescript/ts-morph.d.cts +1 -1
- package/dist/lib/typescript/ts-morph.d.ts +1 -1
- package/dist/lib/unplugin/factory.cjs +9 -9
- package/dist/lib/unplugin/factory.d.cts +3 -3
- package/dist/lib/unplugin/factory.d.ts +3 -3
- package/dist/lib/unplugin/factory.js +8 -8
- package/dist/lib/unplugin/helpers.d.cts +1 -1
- package/dist/lib/unplugin/helpers.d.ts +1 -1
- package/dist/lib/unplugin/index.cjs +11 -11
- package/dist/lib/unplugin/index.d.cts +3 -3
- package/dist/lib/unplugin/index.d.ts +3 -3
- package/dist/lib/unplugin/index.js +9 -9
- package/dist/lib/unplugin/plugin.cjs +3 -3
- package/dist/lib/unplugin/plugin.d.cts +3 -3
- package/dist/lib/unplugin/plugin.d.ts +3 -3
- package/dist/lib/unplugin/plugin.js +2 -2
- package/dist/lib/{unplugin-DAlph1bF.d.ts → unplugin-DYkHIqSU.d.ts} +2 -2
- package/dist/lib/{unplugin-DdVbceuh.d.cts → unplugin-Dx_uD4rQ.d.cts} +2 -2
- package/dist/lib/utilities/bundle.d.cts +1 -1
- package/dist/lib/utilities/bundle.d.ts +1 -1
- package/dist/lib/utilities/cache.d.cts +1 -1
- package/dist/lib/utilities/cache.d.ts +1 -1
- package/dist/lib/utilities/file-header.d.cts +1 -1
- package/dist/lib/utilities/file-header.d.ts +1 -1
- package/dist/lib/utilities/index.cjs +14 -14
- package/dist/lib/utilities/index.d.cts +1 -1
- package/dist/lib/utilities/index.d.ts +1 -1
- package/dist/lib/utilities/index.js +2 -2
- package/dist/lib/utilities/meta.d.cts +1 -1
- package/dist/lib/utilities/meta.d.ts +1 -1
- package/dist/lib/utilities/resolve.d.cts +1 -1
- package/dist/lib/utilities/resolve.d.ts +1 -1
- package/dist/lib/utilities/source-file.d.cts +1 -1
- package/dist/lib/utilities/source-file.d.ts +1 -1
- package/dist/lib/utilities/source-map.d.cts +1 -1
- package/dist/lib/utilities/source-map.d.ts +1 -1
- package/dist/lib/utilities/worker.d.cts +1 -1
- package/dist/lib/utilities/worker.d.ts +1 -1
- package/dist/lib/utilities/write-file.d.cts +1 -1
- package/dist/lib/utilities/write-file.d.ts +1 -1
- package/dist/next.cjs +4 -4
- package/dist/next.js +3 -3
- package/dist/nuxt.cjs +7 -7
- package/dist/nuxt.js +5 -5
- 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 +5 -5
- package/dist/unplugin.js +3 -3
- 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-U3WFKZJJ.cjs +0 -12
- package/dist/chunk-W6I5TYKR.cjs +0 -12
- package/dist/lib/chunk-4ZFZ4CBS.js.map +0 -1
- package/dist/lib/chunk-6LX4XM4N.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/build/unbuild.ts"],"names":["DEFAULT_UNBUILD_CONFIG","dts","clean","includeSrc","treeShaking","splitting","stub","watchOptions","outputPath","generatePackageJson","banner","rollup","emitCJS","replace","resolve","json","esbuild","target","commonjs","alias","unbuildLoader","context","input","options","test","path","output","contents","getContents","declaration","srcPath","match","cm","extension","push","transformed","result","$$internal","callHook","sequential","order","getString","includes","transform","Object","fromEntries","entries","filter","key","loader","then","r","code","isCjs","format","resolver","source","retainLines","ext","startsWith","extractUnbuildConfig","defu","builtins","reduce","ret","id","fs","ids","config","build","Array","isArray","find","toString","replacement","variant","override","omit","projectName","name","orgName","isObject","workspaceConfig","organization","sourceRoot","projectRoot","buildPath","platform","external","loaders","jiti","interopDefault","fsCache","joinPaths","envPaths","cache","moduleCache","extractRollupConfig","debug","mode","minify","sourcemap"],"mappings":"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","file":"chunk-7QTVB6ZH.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 type { Loader, LoaderResult } from \"@storm-software/unbuild/types\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport defu from \"defu\";\nimport { transform } from \"esbuild\";\nimport { TransformResult } from \"unplugin\";\nimport {\n UnbuildBuildConfig,\n UnbuildResolvedBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { UNSAFE_PluginContext } from \"../../types/internal\";\nimport { getString } from \"../utilities/source-file\";\nimport { extractRollupConfig } from \"./rollup\";\n\nexport const DEFAULT_UNBUILD_CONFIG = {\n dts: true,\n clean: false,\n includeSrc: false,\n treeShaking: true,\n splitting: true,\n stub: false,\n watchOptions: {},\n outputPath: \"dist\",\n generatePackageJson: true,\n banner: \" \",\n rollup: {\n dts: {},\n emitCJS: true,\n replace: {},\n resolve: {},\n json: {},\n esbuild: { target: \"es2020\" },\n commonjs: {},\n alias: {}\n }\n} as Partial<UnbuildBuildConfig>;\n\nexport const unbuildLoader = (context: UNSAFE_PluginContext): Loader => {\n return async (input, { options }) => {\n if (\n !/\\.(?:c|m)?[jt]sx?$/.test(input.path) ||\n /\\.d\\.[cm]?ts$/.test(input.path)\n ) {\n return;\n }\n\n const output: LoaderResult = [];\n\n let contents = await input.getContents();\n\n // declaration\n if (options.declaration && !input.srcPath?.match(/\\.d\\.[cm]?ts$/)) {\n const cm = input.srcPath?.match(/(?<=\\.)(?:c|m)(?=[jt]s$)/)?.[0] || \"\";\n const extension = `.d.${cm}ts`;\n output.push({\n contents,\n srcPath: input.srcPath,\n path: input.path,\n extension,\n declaration: true\n });\n }\n\n let transformed: TransformResult | string = contents;\n\n let result = await context.$$internal.callHook(\n \"transform\",\n {\n sequential: true,\n order: \"pre\"\n },\n transformed,\n input.path\n );\n if (result) {\n transformed = result;\n }\n\n result = await context.$$internal.callHook(\n \"transform\",\n {\n sequential: true,\n order: \"normal\"\n },\n getString(transformed),\n input.path\n );\n if (result) {\n transformed = result;\n }\n\n result = await context.$$internal.callHook(\n \"transform\",\n {\n sequential: true,\n order: \"post\"\n },\n getString(transformed),\n input.path\n );\n if (result) {\n transformed = result;\n }\n\n // typescript => js\n if ([\".ts\", \".mts\", \".cts\"].includes(input.extension)) {\n contents = await transform(getString(transformed), {\n ...Object.fromEntries(\n Object.entries(options.esbuild ?? {}).filter(\n ([key]) => key !== \"absPaths\"\n )\n ),\n loader: \"ts\"\n }).then(r => r.code);\n } else if ([\".tsx\", \".jsx\"].includes(input.extension)) {\n contents = await transform(getString(transformed), {\n loader: input.extension === \".tsx\" ? \"tsx\" : \"jsx\",\n ...Object.fromEntries(\n Object.entries(options.esbuild ?? {}).filter(\n ([key]) => key !== \"absPaths\"\n )\n )\n }).then(r => r.code);\n }\n\n // esm => cjs\n const isCjs = options.format === \"cjs\";\n if (isCjs) {\n contents = context.resolver\n .transform({\n source: contents,\n retainLines: false\n })\n .replace(/^exports.default = /gm, \"module.exports = \")\n .replace(/^var _default = exports.default = /gm, \"module.exports = \")\n .replace(\"module.exports = void 0;\", \"\");\n }\n\n let extension = isCjs ? \".js\" : \".mjs\"; // TODO: Default to .cjs in next major version\n if (options.ext) {\n extension = options.ext.startsWith(\".\") ? options.ext : `.${options.ext}`;\n }\n\n output.push({\n contents,\n path: input.path,\n extension\n });\n\n return output;\n };\n};\n\n/**\n * Extracts the unbuild configuration from the context.\n *\n * @param context - The build context.\n * @returns The resolved unbuild configuration.\n */\nexport function extractUnbuildConfig(\n context: Context\n): UnbuildResolvedBuildConfig {\n return defu(\n {\n alias: context.builtins.reduce(\n (ret, id) => {\n if (!ret[id]) {\n const path = context.fs.ids[id];\n if (path) {\n ret[id] = path;\n }\n }\n\n return ret;\n },\n context.config.build.alias\n ? Array.isArray(context.config.build.alias)\n ? context.config.build.alias.reduce(\n (ret, alias) => {\n if (!ret[alias.find.toString()]) {\n ret[alias.find.toString()] = alias.replacement;\n }\n\n return ret;\n },\n {} as Record<string, string>\n )\n : context.config.build.alias\n : {}\n )\n },\n context.config.build.variant === \"unbuild\"\n ? context.config.build.override\n : {},\n context.config.build.variant === \"unbuild\"\n ? omit(context.config.build, [\"override\", \"variant\"])\n : {},\n {\n projectName: context.config.name,\n name: context.config.name,\n orgName: isObject(context.workspaceConfig.organization)\n ? context.workspaceConfig.organization.name\n : context.workspaceConfig.organization,\n sourceRoot: context.config.sourceRoot,\n projectRoot: context.config.projectRoot,\n outputPath: context.config.output.buildPath || \"dist\",\n platform: context.config.build.platform,\n external: context.builtins.reduce((ret, id) => {\n if (!ret.includes(id)) {\n ret.push(id);\n }\n\n return ret;\n }, context.config.build.external ?? []) as string[],\n loaders: [unbuildLoader(context as UNSAFE_PluginContext)],\n jiti: {\n interopDefault: true,\n fsCache: joinPaths(context.envPaths.cache, \"jiti\"),\n moduleCache: true\n },\n rollup: extractRollupConfig(context) as any,\n debug: context.config.mode === \"development\",\n minify: context.config.mode !== \"development\",\n sourcemap: context.config.mode === \"development\"\n },\n DEFAULT_UNBUILD_CONFIG\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/lib/build/unbuild.ts"],"names":["DEFAULT_UNBUILD_CONFIG","dts","clean","includeSrc","treeShaking","splitting","stub","watchOptions","outputPath","generatePackageJson","banner","rollup","emitCJS","replace","resolve","json","esbuild","target","commonjs","alias","unbuildLoader","context","input","options","test","path","output","contents","getContents","declaration","srcPath","match","cm","extension","push","transformed","result","$$internal","callHook","sequential","order","getString","includes","transform","Object","fromEntries","entries","filter","key","loader","then","r","code","isCjs","format","resolver","source","retainLines","ext","startsWith","extractUnbuildConfig","defu","builtins","reduce","ret","id","fs","ids","config","build","Array","isArray","find","toString","replacement","variant","override","omit","projectName","name","orgName","isObject","workspaceConfig","organization","sourceRoot","projectRoot","buildPath","platform","external","loaders","jiti","interopDefault","fsCache","joinPaths","envPaths","cache","moduleCache","extractRollupConfig","debug","mode","minify","sourcemap"],"mappings":"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","file":"chunk-FR7QMZ4X.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 type { Loader, LoaderResult } from \"@storm-software/unbuild/types\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport defu from \"defu\";\nimport { transform } from \"esbuild\";\nimport { TransformResult } from \"unplugin\";\nimport {\n UnbuildBuildConfig,\n UnbuildResolvedBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { UNSAFE_PluginContext } from \"../../types/internal\";\nimport { getString } from \"../utilities/source-file\";\nimport { extractRollupConfig } from \"./rollup\";\n\nexport const DEFAULT_UNBUILD_CONFIG = {\n dts: true,\n clean: false,\n includeSrc: false,\n treeShaking: true,\n splitting: true,\n stub: false,\n watchOptions: {},\n outputPath: \"dist\",\n generatePackageJson: true,\n banner: \" \",\n rollup: {\n dts: {},\n emitCJS: true,\n replace: {},\n resolve: {},\n json: {},\n esbuild: { target: \"es2020\" },\n commonjs: {},\n alias: {}\n }\n} as Partial<UnbuildBuildConfig>;\n\nexport const unbuildLoader = (context: UNSAFE_PluginContext): Loader => {\n return async (input, { options }) => {\n if (\n !/\\.(?:c|m)?[jt]sx?$/.test(input.path) ||\n /\\.d\\.[cm]?ts$/.test(input.path)\n ) {\n return;\n }\n\n const output: LoaderResult = [];\n\n let contents = await input.getContents();\n\n // declaration\n if (options.declaration && !input.srcPath?.match(/\\.d\\.[cm]?ts$/)) {\n const cm = input.srcPath?.match(/(?<=\\.)(?:c|m)(?=[jt]s$)/)?.[0] || \"\";\n const extension = `.d.${cm}ts`;\n output.push({\n contents,\n srcPath: input.srcPath,\n path: input.path,\n extension,\n declaration: true\n });\n }\n\n let transformed: TransformResult | string = contents;\n\n let result = await context.$$internal.callHook(\n \"transform\",\n {\n sequential: true,\n order: \"pre\"\n },\n transformed,\n input.path\n );\n if (result) {\n transformed = result;\n }\n\n result = await context.$$internal.callHook(\n \"transform\",\n {\n sequential: true,\n order: \"normal\"\n },\n getString(transformed),\n input.path\n );\n if (result) {\n transformed = result;\n }\n\n result = await context.$$internal.callHook(\n \"transform\",\n {\n sequential: true,\n order: \"post\"\n },\n getString(transformed),\n input.path\n );\n if (result) {\n transformed = result;\n }\n\n // typescript => js\n if ([\".ts\", \".mts\", \".cts\"].includes(input.extension)) {\n contents = await transform(getString(transformed), {\n ...Object.fromEntries(\n Object.entries(options.esbuild ?? {}).filter(\n ([key]) => key !== \"absPaths\"\n )\n ),\n loader: \"ts\"\n }).then(r => r.code);\n } else if ([\".tsx\", \".jsx\"].includes(input.extension)) {\n contents = await transform(getString(transformed), {\n loader: input.extension === \".tsx\" ? \"tsx\" : \"jsx\",\n ...Object.fromEntries(\n Object.entries(options.esbuild ?? {}).filter(\n ([key]) => key !== \"absPaths\"\n )\n )\n }).then(r => r.code);\n }\n\n // esm => cjs\n const isCjs = options.format === \"cjs\";\n if (isCjs) {\n contents = context.resolver\n .transform({\n source: contents,\n retainLines: false\n })\n .replace(/^exports.default = /gm, \"module.exports = \")\n .replace(/^var _default = exports.default = /gm, \"module.exports = \")\n .replace(\"module.exports = void 0;\", \"\");\n }\n\n let extension = isCjs ? \".js\" : \".mjs\"; // TODO: Default to .cjs in next major version\n if (options.ext) {\n extension = options.ext.startsWith(\".\") ? options.ext : `.${options.ext}`;\n }\n\n output.push({\n contents,\n path: input.path,\n extension\n });\n\n return output;\n };\n};\n\n/**\n * Extracts the unbuild configuration from the context.\n *\n * @param context - The build context.\n * @returns The resolved unbuild configuration.\n */\nexport function extractUnbuildConfig(\n context: Context\n): UnbuildResolvedBuildConfig {\n return defu(\n {\n alias: context.builtins.reduce(\n (ret, id) => {\n if (!ret[id]) {\n const path = context.fs.ids[id];\n if (path) {\n ret[id] = path;\n }\n }\n\n return ret;\n },\n context.config.build.alias\n ? Array.isArray(context.config.build.alias)\n ? context.config.build.alias.reduce(\n (ret, alias) => {\n if (!ret[alias.find.toString()]) {\n ret[alias.find.toString()] = alias.replacement;\n }\n\n return ret;\n },\n {} as Record<string, string>\n )\n : context.config.build.alias\n : {}\n )\n },\n context.config.build.variant === \"unbuild\"\n ? context.config.build.override\n : {},\n context.config.build.variant === \"unbuild\"\n ? omit(context.config.build, [\"override\", \"variant\"])\n : {},\n {\n projectName: context.config.name,\n name: context.config.name,\n orgName: isObject(context.workspaceConfig.organization)\n ? context.workspaceConfig.organization.name\n : context.workspaceConfig.organization,\n sourceRoot: context.config.sourceRoot,\n projectRoot: context.config.projectRoot,\n outputPath: context.config.output.buildPath || \"dist\",\n platform: context.config.build.platform,\n external: context.builtins.reduce((ret, id) => {\n if (!ret.includes(id)) {\n ret.push(id);\n }\n\n return ret;\n }, context.config.build.external ?? []) as string[],\n loaders: [unbuildLoader(context as UNSAFE_PluginContext)],\n jiti: {\n interopDefault: true,\n fsCache: joinPaths(context.envPaths.cache, \"jiti\"),\n moduleCache: true\n },\n rollup: extractRollupConfig(context) as any,\n debug: context.config.mode === \"development\",\n minify: context.config.mode !== \"development\",\n sourcemap: context.config.mode === \"development\"\n },\n DEFAULT_UNBUILD_CONFIG\n );\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkBKFJFF7B_cjs = require('./chunk-BKFJFF7B.cjs');
|
|
4
|
+
var chunkKTCDTXRS_cjs = require('./chunk-KTCDTXRS.cjs');
|
|
5
5
|
var chunk2JR645O3_cjs = require('./chunk-2JR645O3.cjs');
|
|
6
6
|
var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
|
|
7
7
|
var types = require('@storm-software/config-tools/types');
|
|
@@ -65,7 +65,7 @@ function createDefaultEnvironment(userConfig) {
|
|
|
65
65
|
chunkPK6SKIKE_cjs.__name(createDefaultEnvironment, "createDefaultEnvironment");
|
|
66
66
|
|
|
67
67
|
// src/lib/contexts/api-context.ts
|
|
68
|
-
var PowerlinesAPIContext = class _PowerlinesAPIContext extends
|
|
68
|
+
var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunkKTCDTXRS_cjs.PowerlinesContext {
|
|
69
69
|
static {
|
|
70
70
|
chunkPK6SKIKE_cjs.__name(this, "PowerlinesAPIContext");
|
|
71
71
|
}
|
|
@@ -154,7 +154,7 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunkS7EAEMFK_cjs
|
|
|
154
154
|
if (this.environments[environment.name]) {
|
|
155
155
|
context = this.environments[environment.name];
|
|
156
156
|
} else {
|
|
157
|
-
context = await
|
|
157
|
+
context = await chunkBKFJFF7B_cjs.PowerlinesEnvironmentContext.fromConfig(this.workspaceConfig, this.config);
|
|
158
158
|
}
|
|
159
159
|
if (isSetObject.isSetObject(this.config.inlineConfig)) {
|
|
160
160
|
await context.withInlineConfig(this.config.inlineConfig);
|
|
@@ -261,5 +261,5 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunkS7EAEMFK_cjs
|
|
|
261
261
|
};
|
|
262
262
|
|
|
263
263
|
exports.PowerlinesAPIContext = PowerlinesAPIContext;
|
|
264
|
-
//# sourceMappingURL=chunk-
|
|
265
|
-
//# sourceMappingURL=chunk-
|
|
264
|
+
//# sourceMappingURL=chunk-IYFHYIRD.cjs.map
|
|
265
|
+
//# sourceMappingURL=chunk-IYFHYIRD.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["DEFAULT_ENVIRONMENT","GLOBAL_ENVIRONMENT","createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","PowerlinesAPIContext","PowerlinesContext","from","workspaceRoot","config","context","loadWorkspaceConfig","root","withUserConfig","powerlinesPath","resolvePackage","Error","$$internal","value","environment","Object","values","log","createLog","plugins","workspaceConfig","init","Promise","all","toArray","keys","length","map","env","in","PowerlinesEnvironmentContext","fromConfig","isSetObject","inlineConfig","withInlineConfig","plugin","addPlugin","options","isHighPriority","push","getEnvironment","LogLevelLabel","DEBUG","chalk","bold","cyanBright","WARN","getEnvironmentSafe","toEnvironment"],"mappings":"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","file":"chunk-IZLNYBZ7.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\n\nexport const DEFAULT_ENVIRONMENT = \"default\" as const;\nexport const GLOBAL_ENVIRONMENT = \"__GLOBAL__\" as const;\n\nexport function createEnvironment<TContext extends Context = Context>(\n name: string,\n userConfig: TContext[\"config\"][\"userConfig\"]\n): EnvironmentResolvedConfig {\n return defu(\n userConfig.environments?.[name] ?? {},\n {\n name,\n title: userConfig.title || titleCase(userConfig.name),\n ssr: false,\n mainFields:\n userConfig.build?.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"],\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"],\n consumer: userConfig.build?.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n userConfig.build?.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n },\n userConfig\n ) as EnvironmentResolvedConfig;\n}\n\nexport function createDefaultEnvironment<\n TContext extends APIContext = APIContext\n>(userConfig: TContext[\"config\"][\"userConfig\"]): EnvironmentResolvedConfig {\n return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport chalk from \"chalk\";\nimport {\n createDefaultEnvironment,\n createEnvironment,\n GLOBAL_ENVIRONMENT\n} from \"../../internal/helpers/environment\";\nimport {\n InitialUserConfig,\n InlineConfig,\n LogFn,\n UserConfig,\n WorkspaceConfig\n} from \"../../types/config\";\nimport {\n APIContext,\n EnvironmentContext,\n InitContextOptions,\n PluginContext\n} from \"../../types/context\";\nimport {\n UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { loadWorkspaceConfig } from \"../config-file\";\nimport { PowerlinesContext } from \"./context\";\nimport { PowerlinesEnvironmentContext } from \"./environment-context\";\n\nexport class PowerlinesAPIContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements APIContext<TResolvedConfig>\n{\n #environments: Record<string, UNSAFE_EnvironmentContext<TResolvedConfig>> =\n {};\n\n #plugins: Plugin<PluginContext<TResolvedConfig>>[] = [];\n\n #log!: LogFn;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static override async from<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceRoot: string,\n config: InitialUserConfig<TResolvedConfig[\"userConfig\"]>\n ): Promise<APIContext<TResolvedConfig>> {\n const context = new PowerlinesAPIContext<TResolvedConfig>(\n await loadWorkspaceConfig(workspaceRoot, config.root)\n );\n await context.withUserConfig(config);\n\n const powerlinesPath = await resolvePackage(\"powerlines\");\n if (!powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n context.powerlinesPath = powerlinesPath;\n\n return context;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override get $$internal(): UNSAFE_ContextInternal<TResolvedConfig> {\n return super.$$internal;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override set $$internal(\n value: UNSAFE_ContextInternal<TResolvedConfig>\n ) {\n super.$$internal = value;\n for (const environment of Object.values(this.environments)) {\n environment.$$internal = super.$$internal;\n }\n }\n\n /**\n * A record of all environments by name\n */\n public get environments(): Record<\n string,\n UNSAFE_EnvironmentContext<TResolvedConfig>\n > {\n return this.#environments;\n }\n\n public override get log(): LogFn {\n if (!this.#log) {\n this.#log = this.createLog(\"engine\");\n }\n\n return this.#log;\n }\n\n public get plugins(): Array<Plugin<PluginContext<TResolvedConfig>>> {\n return this.#plugins;\n }\n\n protected constructor(workspaceConfig: WorkspaceConfig) {\n super(workspaceConfig);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @param config - The partial user configuration to use for initialization.\n */\n protected override async init(\n config: Partial<TResolvedConfig[\"userConfig\"]> = {}\n ) {\n await super.init(config);\n\n await Promise.all(\n toArray(\n this.config.userConfig.environments &&\n Object.keys(this.config.userConfig.environments).length > 0\n ? Object.keys(this.config.userConfig.environments).map(name =>\n createEnvironment(name, this.config.userConfig)\n )\n : createDefaultEnvironment(this.config.userConfig)\n ).map(async env => {\n this.#environments[env.name] = await this.in(env);\n })\n );\n }\n\n /**\n * A function to copy the context and update the fields for a specific environment\n *\n * @param environment - The environment configuration to use.\n * @returns A new context instance with the updated environment.\n */\n public async in(\n environment: EnvironmentResolvedConfig\n ): Promise<UNSAFE_EnvironmentContext<TResolvedConfig>> {\n let context: UNSAFE_EnvironmentContext<TResolvedConfig>;\n if (this.environments[environment.name]) {\n context = this.environments[environment.name] as any;\n } else {\n context = (await PowerlinesEnvironmentContext.fromConfig(\n this.workspaceConfig,\n this.config\n )) as any;\n }\n\n if (isSetObject(this.config.inlineConfig)) {\n await context.withInlineConfig(this.config.inlineConfig);\n }\n\n context.environment = environment;\n context.plugins = [];\n\n for (const plugin of this.plugins) {\n await context.addPlugin(plugin);\n }\n\n return context;\n }\n\n /**\n * Update the context using a new user configuration options\n *\n * @param userConfig - The new user configuration options.\n */\n public override async withUserConfig(\n userConfig: InitialUserConfig<TResolvedConfig[\"userConfig\"]>,\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withUserConfig(userConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withUserConfig(\n userConfig as UserConfig,\n options\n );\n })\n );\n }\n\n /**\n * Update the context using a new inline configuration options\n *\n * @param inlineConfig - The new inline configuration options.\n */\n public override async withInlineConfig(\n inlineConfig: TResolvedConfig[\"inlineConfig\"],\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withInlineConfig(inlineConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withInlineConfig(\n inlineConfig as InlineConfig,\n options\n );\n })\n );\n }\n\n /**\n * Add a plugin to the API context and all environments\n *\n * @param plugin - The plugin to add.\n */\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n this.plugins.push(plugin);\n\n await Promise.all(\n Object.keys(this.environments).map(async name => {\n await this.environments[name]!.addPlugin(plugin);\n })\n );\n }\n\n /**\n * Get an environment by name, or the default environment if no name is provided\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context.\n */\n public async getEnvironment(name?: string) {\n let environment: EnvironmentContext<TResolvedConfig> | undefined;\n if (name) {\n environment = this.environments[name];\n }\n\n if (Object.keys(this.environments).length === 1) {\n environment = this.environments[Object.keys(this.environments)[0]!];\n\n this.log(\n LogLevelLabel.DEBUG,\n `Applying the only configured environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n if (!environment) {\n if (name) {\n throw new Error(`Environment \"${name}\" not found.`);\n }\n\n environment = await this.in(\n createDefaultEnvironment(this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.WARN,\n `No environment specified, and no default environment found. Using a temporary default environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n return environment;\n }\n\n /**\n * A safe version of `getEnvironment` that returns `undefined` if the environment is not found\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context or `undefined` if not found.\n */\n public async getEnvironmentSafe(\n name?: string\n ): Promise<EnvironmentContext<TResolvedConfig> | undefined> {\n try {\n return await this.getEnvironment(name);\n } catch {\n return undefined;\n }\n }\n\n /**\n * A function to merge all configured environments into a single context.\n *\n * @remarks\n * If only one environment is configured, that environment will be returned directly.\n *\n * @returns A promise that resolves to a merged/global environment context.\n */\n public async toEnvironment(): Promise<EnvironmentContext<TResolvedConfig>> {\n let environment: EnvironmentContext<TResolvedConfig>;\n if (Object.keys(this.environments).length > 1) {\n environment = await this.in(\n createEnvironment(GLOBAL_ENVIRONMENT, this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.DEBUG,\n `Combined all ${Object.keys(this.environments).length} environments into a single global context.`\n );\n } else {\n environment = await this.getEnvironment();\n }\n\n return environment;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["DEFAULT_ENVIRONMENT","GLOBAL_ENVIRONMENT","createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","PowerlinesAPIContext","PowerlinesContext","from","workspaceRoot","config","context","loadWorkspaceConfig","root","withUserConfig","powerlinesPath","resolvePackage","Error","$$internal","value","environment","Object","values","log","createLog","plugins","workspaceConfig","init","Promise","all","toArray","keys","length","map","env","in","PowerlinesEnvironmentContext","fromConfig","isSetObject","inlineConfig","withInlineConfig","plugin","addPlugin","options","isHighPriority","push","getEnvironment","LogLevelLabel","DEBUG","chalk","bold","cyanBright","WARN","getEnvironmentSafe","toEnvironment"],"mappings":"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","file":"chunk-IYFHYIRD.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\n\nexport const DEFAULT_ENVIRONMENT = \"default\" as const;\nexport const GLOBAL_ENVIRONMENT = \"__GLOBAL__\" as const;\n\nexport function createEnvironment<TContext extends Context = Context>(\n name: string,\n userConfig: TContext[\"config\"][\"userConfig\"]\n): EnvironmentResolvedConfig {\n return defu(\n userConfig.environments?.[name] ?? {},\n {\n name,\n title: userConfig.title || titleCase(userConfig.name),\n ssr: false,\n mainFields:\n userConfig.build?.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"],\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"],\n consumer: userConfig.build?.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n userConfig.build?.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n },\n userConfig\n ) as EnvironmentResolvedConfig;\n}\n\nexport function createDefaultEnvironment<\n TContext extends APIContext = APIContext\n>(userConfig: TContext[\"config\"][\"userConfig\"]): EnvironmentResolvedConfig {\n return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport chalk from \"chalk\";\nimport {\n createDefaultEnvironment,\n createEnvironment,\n GLOBAL_ENVIRONMENT\n} from \"../../internal/helpers/environment\";\nimport {\n InitialUserConfig,\n InlineConfig,\n LogFn,\n UserConfig,\n WorkspaceConfig\n} from \"../../types/config\";\nimport {\n APIContext,\n EnvironmentContext,\n InitContextOptions,\n PluginContext\n} from \"../../types/context\";\nimport {\n UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { loadWorkspaceConfig } from \"../config-file\";\nimport { PowerlinesContext } from \"./context\";\nimport { PowerlinesEnvironmentContext } from \"./environment-context\";\n\nexport class PowerlinesAPIContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements APIContext<TResolvedConfig>\n{\n #environments: Record<string, UNSAFE_EnvironmentContext<TResolvedConfig>> =\n {};\n\n #plugins: Plugin<PluginContext<TResolvedConfig>>[] = [];\n\n #log!: LogFn;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static override async from<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceRoot: string,\n config: InitialUserConfig<TResolvedConfig[\"userConfig\"]>\n ): Promise<APIContext<TResolvedConfig>> {\n const context = new PowerlinesAPIContext<TResolvedConfig>(\n await loadWorkspaceConfig(workspaceRoot, config.root)\n );\n await context.withUserConfig(config);\n\n const powerlinesPath = await resolvePackage(\"powerlines\");\n if (!powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n context.powerlinesPath = powerlinesPath;\n\n return context;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override get $$internal(): UNSAFE_ContextInternal<TResolvedConfig> {\n return super.$$internal;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override set $$internal(\n value: UNSAFE_ContextInternal<TResolvedConfig>\n ) {\n super.$$internal = value;\n for (const environment of Object.values(this.environments)) {\n environment.$$internal = super.$$internal;\n }\n }\n\n /**\n * A record of all environments by name\n */\n public get environments(): Record<\n string,\n UNSAFE_EnvironmentContext<TResolvedConfig>\n > {\n return this.#environments;\n }\n\n public override get log(): LogFn {\n if (!this.#log) {\n this.#log = this.createLog(\"engine\");\n }\n\n return this.#log;\n }\n\n public get plugins(): Array<Plugin<PluginContext<TResolvedConfig>>> {\n return this.#plugins;\n }\n\n protected constructor(workspaceConfig: WorkspaceConfig) {\n super(workspaceConfig);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @param config - The partial user configuration to use for initialization.\n */\n protected override async init(\n config: Partial<TResolvedConfig[\"userConfig\"]> = {}\n ) {\n await super.init(config);\n\n await Promise.all(\n toArray(\n this.config.userConfig.environments &&\n Object.keys(this.config.userConfig.environments).length > 0\n ? Object.keys(this.config.userConfig.environments).map(name =>\n createEnvironment(name, this.config.userConfig)\n )\n : createDefaultEnvironment(this.config.userConfig)\n ).map(async env => {\n this.#environments[env.name] = await this.in(env);\n })\n );\n }\n\n /**\n * A function to copy the context and update the fields for a specific environment\n *\n * @param environment - The environment configuration to use.\n * @returns A new context instance with the updated environment.\n */\n public async in(\n environment: EnvironmentResolvedConfig\n ): Promise<UNSAFE_EnvironmentContext<TResolvedConfig>> {\n let context: UNSAFE_EnvironmentContext<TResolvedConfig>;\n if (this.environments[environment.name]) {\n context = this.environments[environment.name] as any;\n } else {\n context = (await PowerlinesEnvironmentContext.fromConfig(\n this.workspaceConfig,\n this.config\n )) as any;\n }\n\n if (isSetObject(this.config.inlineConfig)) {\n await context.withInlineConfig(this.config.inlineConfig);\n }\n\n context.environment = environment;\n context.plugins = [];\n\n for (const plugin of this.plugins) {\n await context.addPlugin(plugin);\n }\n\n return context;\n }\n\n /**\n * Update the context using a new user configuration options\n *\n * @param userConfig - The new user configuration options.\n */\n public override async withUserConfig(\n userConfig: InitialUserConfig<TResolvedConfig[\"userConfig\"]>,\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withUserConfig(userConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withUserConfig(\n userConfig as UserConfig,\n options\n );\n })\n );\n }\n\n /**\n * Update the context using a new inline configuration options\n *\n * @param inlineConfig - The new inline configuration options.\n */\n public override async withInlineConfig(\n inlineConfig: TResolvedConfig[\"inlineConfig\"],\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withInlineConfig(inlineConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withInlineConfig(\n inlineConfig as InlineConfig,\n options\n );\n })\n );\n }\n\n /**\n * Add a plugin to the API context and all environments\n *\n * @param plugin - The plugin to add.\n */\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n this.plugins.push(plugin);\n\n await Promise.all(\n Object.keys(this.environments).map(async name => {\n await this.environments[name]!.addPlugin(plugin);\n })\n );\n }\n\n /**\n * Get an environment by name, or the default environment if no name is provided\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context.\n */\n public async getEnvironment(name?: string) {\n let environment: EnvironmentContext<TResolvedConfig> | undefined;\n if (name) {\n environment = this.environments[name];\n }\n\n if (Object.keys(this.environments).length === 1) {\n environment = this.environments[Object.keys(this.environments)[0]!];\n\n this.log(\n LogLevelLabel.DEBUG,\n `Applying the only configured environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n if (!environment) {\n if (name) {\n throw new Error(`Environment \"${name}\" not found.`);\n }\n\n environment = await this.in(\n createDefaultEnvironment(this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.WARN,\n `No environment specified, and no default environment found. Using a temporary default environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n return environment;\n }\n\n /**\n * A safe version of `getEnvironment` that returns `undefined` if the environment is not found\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context or `undefined` if not found.\n */\n public async getEnvironmentSafe(\n name?: string\n ): Promise<EnvironmentContext<TResolvedConfig> | undefined> {\n try {\n return await this.getEnvironment(name);\n } catch {\n return undefined;\n }\n }\n\n /**\n * A function to merge all configured environments into a single context.\n *\n * @remarks\n * If only one environment is configured, that environment will be returned directly.\n *\n * @returns A promise that resolves to a merged/global environment context.\n */\n public async toEnvironment(): Promise<EnvironmentContext<TResolvedConfig>> {\n let environment: EnvironmentContext<TResolvedConfig>;\n if (Object.keys(this.environments).length > 1) {\n environment = await this.in(\n createEnvironment(GLOBAL_ENVIRONMENT, this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.DEBUG,\n `Combined all ${Object.keys(this.environments).length} environments into a single global context.`\n );\n } else {\n environment = await this.getEnvironment();\n }\n\n return environment;\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { PowerlinesEnvironmentContext } from './chunk-
|
|
2
|
-
import { PowerlinesContext } from './chunk-
|
|
1
|
+
import { PowerlinesEnvironmentContext } from './chunk-6YGUB7EC.js';
|
|
2
|
+
import { PowerlinesContext } from './chunk-KYNBRBVJ.js';
|
|
3
3
|
import { loadWorkspaceConfig } from './chunk-Q25ZPXA7.js';
|
|
4
4
|
import { __name } from './chunk-7QVYU63E.js';
|
|
5
5
|
import { LogLevelLabel } from '@storm-software/config-tools/types';
|
|
@@ -254,5 +254,5 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends PowerlinesContext
|
|
|
254
254
|
};
|
|
255
255
|
|
|
256
256
|
export { PowerlinesAPIContext };
|
|
257
|
-
//# sourceMappingURL=chunk-
|
|
258
|
-
//# sourceMappingURL=chunk-
|
|
257
|
+
//# sourceMappingURL=chunk-J2K7ISQ3.js.map
|
|
258
|
+
//# sourceMappingURL=chunk-J2K7ISQ3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["DEFAULT_ENVIRONMENT","GLOBAL_ENVIRONMENT","createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","PowerlinesAPIContext","PowerlinesContext","from","workspaceRoot","config","context","loadWorkspaceConfig","root","withUserConfig","powerlinesPath","resolvePackage","Error","$$internal","value","environment","Object","values","log","createLog","plugins","workspaceConfig","init","Promise","all","toArray","keys","length","map","env","in","PowerlinesEnvironmentContext","fromConfig","isSetObject","inlineConfig","withInlineConfig","plugin","addPlugin","options","isHighPriority","push","getEnvironment","LogLevelLabel","DEBUG","chalk","bold","cyanBright","WARN","getEnvironmentSafe","toEnvironment"],"mappings":"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","file":"chunk-JWFW63IU.js","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\n\nexport const DEFAULT_ENVIRONMENT = \"default\" as const;\nexport const GLOBAL_ENVIRONMENT = \"__GLOBAL__\" as const;\n\nexport function createEnvironment<TContext extends Context = Context>(\n name: string,\n userConfig: TContext[\"config\"][\"userConfig\"]\n): EnvironmentResolvedConfig {\n return defu(\n userConfig.environments?.[name] ?? {},\n {\n name,\n title: userConfig.title || titleCase(userConfig.name),\n ssr: false,\n mainFields:\n userConfig.build?.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"],\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"],\n consumer: userConfig.build?.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n userConfig.build?.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n },\n userConfig\n ) as EnvironmentResolvedConfig;\n}\n\nexport function createDefaultEnvironment<\n TContext extends APIContext = APIContext\n>(userConfig: TContext[\"config\"][\"userConfig\"]): EnvironmentResolvedConfig {\n return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport chalk from \"chalk\";\nimport {\n createDefaultEnvironment,\n createEnvironment,\n GLOBAL_ENVIRONMENT\n} from \"../../internal/helpers/environment\";\nimport {\n InitialUserConfig,\n InlineConfig,\n LogFn,\n UserConfig,\n WorkspaceConfig\n} from \"../../types/config\";\nimport {\n APIContext,\n EnvironmentContext,\n InitContextOptions,\n PluginContext\n} from \"../../types/context\";\nimport {\n UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { loadWorkspaceConfig } from \"../config-file\";\nimport { PowerlinesContext } from \"./context\";\nimport { PowerlinesEnvironmentContext } from \"./environment-context\";\n\nexport class PowerlinesAPIContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements APIContext<TResolvedConfig>\n{\n #environments: Record<string, UNSAFE_EnvironmentContext<TResolvedConfig>> =\n {};\n\n #plugins: Plugin<PluginContext<TResolvedConfig>>[] = [];\n\n #log!: LogFn;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static override async from<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceRoot: string,\n config: InitialUserConfig<TResolvedConfig[\"userConfig\"]>\n ): Promise<APIContext<TResolvedConfig>> {\n const context = new PowerlinesAPIContext<TResolvedConfig>(\n await loadWorkspaceConfig(workspaceRoot, config.root)\n );\n await context.withUserConfig(config);\n\n const powerlinesPath = await resolvePackage(\"powerlines\");\n if (!powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n context.powerlinesPath = powerlinesPath;\n\n return context;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override get $$internal(): UNSAFE_ContextInternal<TResolvedConfig> {\n return super.$$internal;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override set $$internal(\n value: UNSAFE_ContextInternal<TResolvedConfig>\n ) {\n super.$$internal = value;\n for (const environment of Object.values(this.environments)) {\n environment.$$internal = super.$$internal;\n }\n }\n\n /**\n * A record of all environments by name\n */\n public get environments(): Record<\n string,\n UNSAFE_EnvironmentContext<TResolvedConfig>\n > {\n return this.#environments;\n }\n\n public override get log(): LogFn {\n if (!this.#log) {\n this.#log = this.createLog(\"engine\");\n }\n\n return this.#log;\n }\n\n public get plugins(): Array<Plugin<PluginContext<TResolvedConfig>>> {\n return this.#plugins;\n }\n\n protected constructor(workspaceConfig: WorkspaceConfig) {\n super(workspaceConfig);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @param config - The partial user configuration to use for initialization.\n */\n protected override async init(\n config: Partial<TResolvedConfig[\"userConfig\"]> = {}\n ) {\n await super.init(config);\n\n await Promise.all(\n toArray(\n this.config.userConfig.environments &&\n Object.keys(this.config.userConfig.environments).length > 0\n ? Object.keys(this.config.userConfig.environments).map(name =>\n createEnvironment(name, this.config.userConfig)\n )\n : createDefaultEnvironment(this.config.userConfig)\n ).map(async env => {\n this.#environments[env.name] = await this.in(env);\n })\n );\n }\n\n /**\n * A function to copy the context and update the fields for a specific environment\n *\n * @param environment - The environment configuration to use.\n * @returns A new context instance with the updated environment.\n */\n public async in(\n environment: EnvironmentResolvedConfig\n ): Promise<UNSAFE_EnvironmentContext<TResolvedConfig>> {\n let context: UNSAFE_EnvironmentContext<TResolvedConfig>;\n if (this.environments[environment.name]) {\n context = this.environments[environment.name] as any;\n } else {\n context = (await PowerlinesEnvironmentContext.fromConfig(\n this.workspaceConfig,\n this.config\n )) as any;\n }\n\n if (isSetObject(this.config.inlineConfig)) {\n await context.withInlineConfig(this.config.inlineConfig);\n }\n\n context.environment = environment;\n context.plugins = [];\n\n for (const plugin of this.plugins) {\n await context.addPlugin(plugin);\n }\n\n return context;\n }\n\n /**\n * Update the context using a new user configuration options\n *\n * @param userConfig - The new user configuration options.\n */\n public override async withUserConfig(\n userConfig: InitialUserConfig<TResolvedConfig[\"userConfig\"]>,\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withUserConfig(userConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withUserConfig(\n userConfig as UserConfig,\n options\n );\n })\n );\n }\n\n /**\n * Update the context using a new inline configuration options\n *\n * @param inlineConfig - The new inline configuration options.\n */\n public override async withInlineConfig(\n inlineConfig: TResolvedConfig[\"inlineConfig\"],\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withInlineConfig(inlineConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withInlineConfig(\n inlineConfig as InlineConfig,\n options\n );\n })\n );\n }\n\n /**\n * Add a plugin to the API context and all environments\n *\n * @param plugin - The plugin to add.\n */\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n this.plugins.push(plugin);\n\n await Promise.all(\n Object.keys(this.environments).map(async name => {\n await this.environments[name]!.addPlugin(plugin);\n })\n );\n }\n\n /**\n * Get an environment by name, or the default environment if no name is provided\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context.\n */\n public async getEnvironment(name?: string) {\n let environment: EnvironmentContext<TResolvedConfig> | undefined;\n if (name) {\n environment = this.environments[name];\n }\n\n if (Object.keys(this.environments).length === 1) {\n environment = this.environments[Object.keys(this.environments)[0]!];\n\n this.log(\n LogLevelLabel.DEBUG,\n `Applying the only configured environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n if (!environment) {\n if (name) {\n throw new Error(`Environment \"${name}\" not found.`);\n }\n\n environment = await this.in(\n createDefaultEnvironment(this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.WARN,\n `No environment specified, and no default environment found. Using a temporary default environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n return environment;\n }\n\n /**\n * A safe version of `getEnvironment` that returns `undefined` if the environment is not found\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context or `undefined` if not found.\n */\n public async getEnvironmentSafe(\n name?: string\n ): Promise<EnvironmentContext<TResolvedConfig> | undefined> {\n try {\n return await this.getEnvironment(name);\n } catch {\n return undefined;\n }\n }\n\n /**\n * A function to merge all configured environments into a single context.\n *\n * @remarks\n * If only one environment is configured, that environment will be returned directly.\n *\n * @returns A promise that resolves to a merged/global environment context.\n */\n public async toEnvironment(): Promise<EnvironmentContext<TResolvedConfig>> {\n let environment: EnvironmentContext<TResolvedConfig>;\n if (Object.keys(this.environments).length > 1) {\n environment = await this.in(\n createEnvironment(GLOBAL_ENVIRONMENT, this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.DEBUG,\n `Combined all ${Object.keys(this.environments).length} environments into a single global context.`\n );\n } else {\n environment = await this.getEnvironment();\n }\n\n return environment;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["DEFAULT_ENVIRONMENT","GLOBAL_ENVIRONMENT","createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","PowerlinesAPIContext","PowerlinesContext","from","workspaceRoot","config","context","loadWorkspaceConfig","root","withUserConfig","powerlinesPath","resolvePackage","Error","$$internal","value","environment","Object","values","log","createLog","plugins","workspaceConfig","init","Promise","all","toArray","keys","length","map","env","in","PowerlinesEnvironmentContext","fromConfig","isSetObject","inlineConfig","withInlineConfig","plugin","addPlugin","options","isHighPriority","push","getEnvironment","LogLevelLabel","DEBUG","chalk","bold","cyanBright","WARN","getEnvironmentSafe","toEnvironment"],"mappings":"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","file":"chunk-J2K7ISQ3.js","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\n\nexport const DEFAULT_ENVIRONMENT = \"default\" as const;\nexport const GLOBAL_ENVIRONMENT = \"__GLOBAL__\" as const;\n\nexport function createEnvironment<TContext extends Context = Context>(\n name: string,\n userConfig: TContext[\"config\"][\"userConfig\"]\n): EnvironmentResolvedConfig {\n return defu(\n userConfig.environments?.[name] ?? {},\n {\n name,\n title: userConfig.title || titleCase(userConfig.name),\n ssr: false,\n mainFields:\n userConfig.build?.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"],\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"],\n consumer: userConfig.build?.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n userConfig.build?.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n },\n userConfig\n ) as EnvironmentResolvedConfig;\n}\n\nexport function createDefaultEnvironment<\n TContext extends APIContext = APIContext\n>(userConfig: TContext[\"config\"][\"userConfig\"]): EnvironmentResolvedConfig {\n return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport chalk from \"chalk\";\nimport {\n createDefaultEnvironment,\n createEnvironment,\n GLOBAL_ENVIRONMENT\n} from \"../../internal/helpers/environment\";\nimport {\n InitialUserConfig,\n InlineConfig,\n LogFn,\n UserConfig,\n WorkspaceConfig\n} from \"../../types/config\";\nimport {\n APIContext,\n EnvironmentContext,\n InitContextOptions,\n PluginContext\n} from \"../../types/context\";\nimport {\n UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { loadWorkspaceConfig } from \"../config-file\";\nimport { PowerlinesContext } from \"./context\";\nimport { PowerlinesEnvironmentContext } from \"./environment-context\";\n\nexport class PowerlinesAPIContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements APIContext<TResolvedConfig>\n{\n #environments: Record<string, UNSAFE_EnvironmentContext<TResolvedConfig>> =\n {};\n\n #plugins: Plugin<PluginContext<TResolvedConfig>>[] = [];\n\n #log!: LogFn;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static override async from<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceRoot: string,\n config: InitialUserConfig<TResolvedConfig[\"userConfig\"]>\n ): Promise<APIContext<TResolvedConfig>> {\n const context = new PowerlinesAPIContext<TResolvedConfig>(\n await loadWorkspaceConfig(workspaceRoot, config.root)\n );\n await context.withUserConfig(config);\n\n const powerlinesPath = await resolvePackage(\"powerlines\");\n if (!powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n context.powerlinesPath = powerlinesPath;\n\n return context;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override get $$internal(): UNSAFE_ContextInternal<TResolvedConfig> {\n return super.$$internal;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override set $$internal(\n value: UNSAFE_ContextInternal<TResolvedConfig>\n ) {\n super.$$internal = value;\n for (const environment of Object.values(this.environments)) {\n environment.$$internal = super.$$internal;\n }\n }\n\n /**\n * A record of all environments by name\n */\n public get environments(): Record<\n string,\n UNSAFE_EnvironmentContext<TResolvedConfig>\n > {\n return this.#environments;\n }\n\n public override get log(): LogFn {\n if (!this.#log) {\n this.#log = this.createLog(\"engine\");\n }\n\n return this.#log;\n }\n\n public get plugins(): Array<Plugin<PluginContext<TResolvedConfig>>> {\n return this.#plugins;\n }\n\n protected constructor(workspaceConfig: WorkspaceConfig) {\n super(workspaceConfig);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @param config - The partial user configuration to use for initialization.\n */\n protected override async init(\n config: Partial<TResolvedConfig[\"userConfig\"]> = {}\n ) {\n await super.init(config);\n\n await Promise.all(\n toArray(\n this.config.userConfig.environments &&\n Object.keys(this.config.userConfig.environments).length > 0\n ? Object.keys(this.config.userConfig.environments).map(name =>\n createEnvironment(name, this.config.userConfig)\n )\n : createDefaultEnvironment(this.config.userConfig)\n ).map(async env => {\n this.#environments[env.name] = await this.in(env);\n })\n );\n }\n\n /**\n * A function to copy the context and update the fields for a specific environment\n *\n * @param environment - The environment configuration to use.\n * @returns A new context instance with the updated environment.\n */\n public async in(\n environment: EnvironmentResolvedConfig\n ): Promise<UNSAFE_EnvironmentContext<TResolvedConfig>> {\n let context: UNSAFE_EnvironmentContext<TResolvedConfig>;\n if (this.environments[environment.name]) {\n context = this.environments[environment.name] as any;\n } else {\n context = (await PowerlinesEnvironmentContext.fromConfig(\n this.workspaceConfig,\n this.config\n )) as any;\n }\n\n if (isSetObject(this.config.inlineConfig)) {\n await context.withInlineConfig(this.config.inlineConfig);\n }\n\n context.environment = environment;\n context.plugins = [];\n\n for (const plugin of this.plugins) {\n await context.addPlugin(plugin);\n }\n\n return context;\n }\n\n /**\n * Update the context using a new user configuration options\n *\n * @param userConfig - The new user configuration options.\n */\n public override async withUserConfig(\n userConfig: InitialUserConfig<TResolvedConfig[\"userConfig\"]>,\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withUserConfig(userConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withUserConfig(\n userConfig as UserConfig,\n options\n );\n })\n );\n }\n\n /**\n * Update the context using a new inline configuration options\n *\n * @param inlineConfig - The new inline configuration options.\n */\n public override async withInlineConfig(\n inlineConfig: TResolvedConfig[\"inlineConfig\"],\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withInlineConfig(inlineConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withInlineConfig(\n inlineConfig as InlineConfig,\n options\n );\n })\n );\n }\n\n /**\n * Add a plugin to the API context and all environments\n *\n * @param plugin - The plugin to add.\n */\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n this.plugins.push(plugin);\n\n await Promise.all(\n Object.keys(this.environments).map(async name => {\n await this.environments[name]!.addPlugin(plugin);\n })\n );\n }\n\n /**\n * Get an environment by name, or the default environment if no name is provided\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context.\n */\n public async getEnvironment(name?: string) {\n let environment: EnvironmentContext<TResolvedConfig> | undefined;\n if (name) {\n environment = this.environments[name];\n }\n\n if (Object.keys(this.environments).length === 1) {\n environment = this.environments[Object.keys(this.environments)[0]!];\n\n this.log(\n LogLevelLabel.DEBUG,\n `Applying the only configured environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n if (!environment) {\n if (name) {\n throw new Error(`Environment \"${name}\" not found.`);\n }\n\n environment = await this.in(\n createDefaultEnvironment(this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.WARN,\n `No environment specified, and no default environment found. Using a temporary default environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n return environment;\n }\n\n /**\n * A safe version of `getEnvironment` that returns `undefined` if the environment is not found\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context or `undefined` if not found.\n */\n public async getEnvironmentSafe(\n name?: string\n ): Promise<EnvironmentContext<TResolvedConfig> | undefined> {\n try {\n return await this.getEnvironment(name);\n } catch {\n return undefined;\n }\n }\n\n /**\n * A function to merge all configured environments into a single context.\n *\n * @remarks\n * If only one environment is configured, that environment will be returned directly.\n *\n * @returns A promise that resolves to a merged/global environment context.\n */\n public async toEnvironment(): Promise<EnvironmentContext<TResolvedConfig>> {\n let environment: EnvironmentContext<TResolvedConfig>;\n if (Object.keys(this.environments).length > 1) {\n environment = await this.in(\n createEnvironment(GLOBAL_ENVIRONMENT, this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.DEBUG,\n `Combined all ${Object.keys(this.environments).length} environments into a single global context.`\n );\n } else {\n environment = await this.getEnvironment();\n }\n\n return environment;\n }\n}\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkBJGMF356_cjs = require('./chunk-BJGMF356.cjs');
|
|
4
|
-
var
|
|
5
|
-
var chunkQHTL2U3L_cjs = require('./chunk-QHTL2U3L.cjs');
|
|
4
|
+
var chunk53LK7IG5_cjs = require('./chunk-53LK7IG5.cjs');
|
|
6
5
|
var chunkZWLSNYIN_cjs = require('./chunk-ZWLSNYIN.cjs');
|
|
6
|
+
var chunkQHTL2U3L_cjs = require('./chunk-QHTL2U3L.cjs');
|
|
7
7
|
var chunk2JR645O3_cjs = require('./chunk-2JR645O3.cjs');
|
|
8
|
+
var chunk632PWWU7_cjs = require('./chunk-632PWWU7.cjs');
|
|
8
9
|
var chunkFQZQA4EJ_cjs = require('./chunk-FQZQA4EJ.cjs');
|
|
9
10
|
var chunkYF57WETC_cjs = require('./chunk-YF57WETC.cjs');
|
|
10
|
-
var chunk632PWWU7_cjs = require('./chunk-632PWWU7.cjs');
|
|
11
11
|
var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
|
|
12
12
|
var types = require('@storm-software/config-tools/types');
|
|
13
13
|
var toArray = require('@stryke/convert/to-array');
|
|
@@ -312,7 +312,7 @@ var PowerlinesContext = class _PowerlinesContext {
|
|
|
312
312
|
*/
|
|
313
313
|
get fs() {
|
|
314
314
|
if (!this.#fs) {
|
|
315
|
-
this.#fs =
|
|
315
|
+
this.#fs = chunk53LK7IG5_cjs.VirtualFileSystem.createSync(this);
|
|
316
316
|
}
|
|
317
317
|
return this.#fs;
|
|
318
318
|
}
|
|
@@ -1058,7 +1058,7 @@ var PowerlinesContext = class _PowerlinesContext {
|
|
|
1058
1058
|
output: chunkYF57WETC_cjs.replacePathTokens(this, asset.output)
|
|
1059
1059
|
}));
|
|
1060
1060
|
}
|
|
1061
|
-
this.#fs ??= await
|
|
1061
|
+
this.#fs ??= await chunk53LK7IG5_cjs.VirtualFileSystem.create(this);
|
|
1062
1062
|
}
|
|
1063
1063
|
mergeUserConfig(from = {}, into = this.config.userConfig ?? {}) {
|
|
1064
1064
|
this.config.userConfig = defu2__default.default({
|
|
@@ -1091,5 +1091,5 @@ exports.isPluginConfig = isPluginConfig;
|
|
|
1091
1091
|
exports.isPluginConfigObject = isPluginConfigObject;
|
|
1092
1092
|
exports.isPluginConfigTuple = isPluginConfigTuple;
|
|
1093
1093
|
exports.isPluginHook = isPluginHook;
|
|
1094
|
-
//# sourceMappingURL=chunk-
|
|
1095
|
-
//# sourceMappingURL=chunk-
|
|
1094
|
+
//# sourceMappingURL=chunk-KTCDTXRS.cjs.map
|
|
1095
|
+
//# sourceMappingURL=chunk-KTCDTXRS.cjs.map
|