@powerlines/unplugin 0.0.37 → 0.0.40

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/index.cjs CHANGED
@@ -1,13 +1,13 @@
1
1
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
2
2
  const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
3
3
  const require_unplugin = require('./unplugin.cjs');
4
- const require_rollup = require('./rollup.cjs');
5
4
  const require_rolldown = require('./rolldown.cjs');
6
5
  const require_vite = require('./vite.cjs');
7
6
  const require_astro = require('./astro.cjs');
8
7
  const require_farm = require('./farm.cjs');
9
8
  const require_next = require('./next.cjs');
10
9
  const require_nuxt = require('./nuxt.cjs');
10
+ const require_rollup = require('./rollup.cjs');
11
11
  const require_rspack = require('./rspack.cjs');
12
12
  const require_tsdown = require('./tsdown.cjs');
13
13
  const require_tsup = require('./tsup.cjs');
package/dist/index.mjs CHANGED
@@ -1,12 +1,12 @@
1
1
  import { __exportAll, __reExport } from "./_virtual/_rolldown/runtime.mjs";
2
2
  import { createUnpluginFactory } from "./unplugin.mjs";
3
- import plugin from "./rollup.mjs";
4
- import plugin$1 from "./rolldown.mjs";
5
- import plugin$2 from "./vite.mjs";
3
+ import plugin from "./rolldown.mjs";
4
+ import plugin$1 from "./vite.mjs";
6
5
  import withPlugin from "./astro.mjs";
7
6
  import farm from "./farm.mjs";
8
7
  import withPlugin$1 from "./next.mjs";
9
- import plugin$3 from "./nuxt.mjs";
8
+ import plugin$2 from "./nuxt.mjs";
9
+ import plugin$3 from "./rollup.mjs";
10
10
  import plugin$4 from "./rspack.mjs";
11
11
  import plugin$5 from "./tsdown.mjs";
12
12
  import withPlugin$2 from "./tsup.mjs";
@@ -24,14 +24,14 @@ const plugins = {
24
24
  astro: withPlugin,
25
25
  farm,
26
26
  next: withPlugin$1,
27
- nuxt: plugin$3,
28
- rolldown: plugin$1,
29
- rollup: plugin,
27
+ nuxt: plugin$2,
28
+ rolldown: plugin,
29
+ rollup: plugin$3,
30
30
  rspack: plugin$4,
31
31
  tsdown: plugin$5,
32
32
  tsup: withPlugin$2,
33
33
  unloader: plugin$6,
34
- vite: plugin$2
34
+ vite: plugin$1
35
35
  };
36
36
 
37
37
  //#endregion
package/dist/package.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  //#region package.json
3
3
  var name = "@powerlines/unplugin";
4
- var version = "0.0.36";
4
+ var version = "0.0.39";
5
5
 
6
6
  //#endregion
7
7
  Object.defineProperty(exports, 'name', {
package/dist/package.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  //#region package.json
2
2
  var name = "@powerlines/unplugin";
3
- var version = "0.0.36";
3
+ var version = "0.0.39";
4
4
 
5
5
  //#endregion
6
6
  export { name, version };
package/dist/rolldown.cjs CHANGED
@@ -1,7 +1,6 @@
1
1
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
2
2
  const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
3
3
  const require_unplugin = require('./unplugin.cjs');
4
- const require_rollup = require('./rollup.cjs');
5
4
  let _stryke_path_append = require("@stryke/path/append");
6
5
  let _stryke_path_join_paths = require("@stryke/path/join-paths");
7
6
  let defu = require("defu");
@@ -15,6 +14,8 @@ _rollup_plugin_node_resolve = require_runtime.__toESM(_rollup_plugin_node_resolv
15
14
  let _rollup_plugin_replace = require("@rollup/plugin-replace");
16
15
  _rollup_plugin_replace = require_runtime.__toESM(_rollup_plugin_replace, 1);
17
16
  let glob = require("glob");
17
+ let node_module = require("node:module");
18
+ let rolldown_plugin_dts = require("rolldown-plugin-dts");
18
19
  let rolldown_experimental = require("rolldown/experimental");
19
20
  let rollup_plugin_typescript2 = require("rollup-plugin-typescript2");
20
21
  rollup_plugin_typescript2 = require_runtime.__toESM(rollup_plugin_typescript2, 1);
@@ -67,8 +68,35 @@ function resolveOptions(context) {
67
68
  moduleDirectories: ["node_modules"],
68
69
  preferBuiltins: true
69
70
  }),
70
- require_rollup.dtsBundlePlugin
71
- ],
71
+ context.config.output.dts && (0, _stryke_convert_to_array.toArray)(context.config.output.format).includes("esm") ? (0, rolldown_plugin_dts.dts)({ tsconfig: (0, _stryke_path_append.appendPath)(context.tsconfig.tsconfigFilePath, context.config.cwd) }) : void 0,
72
+ context.config.output.dts && (0, _stryke_convert_to_array.toArray)(context.config.output.format).includes("cjs") ? (0, rolldown_plugin_dts.dts)({
73
+ tsconfig: (0, _stryke_path_append.appendPath)(context.tsconfig.tsconfigFilePath, context.config.cwd),
74
+ emitDtsOnly: true,
75
+ cjsDefault: true
76
+ }) : void 0,
77
+ {
78
+ name: `powerlines:node-protocol`,
79
+ resolveId: {
80
+ order: "pre",
81
+ filter: { id: context.config.output.nodeProtocol === "strip" ? new RegExp(`^node:(${node_module.builtinModules.filter((mod) => !mod.startsWith("node:")).join("|")})$`) : new RegExp(`^(${node_module.builtinModules.filter((mod) => !mod.startsWith("node:")).join("|")})$`) },
82
+ handler: context.config.output.nodeProtocol === "strip" ? async (id, ...args) => {
83
+ const resolved = await context.resolve(id.slice(5), ...args);
84
+ if (resolved && !resolved.external) return resolved;
85
+ return {
86
+ id: id.slice(5),
87
+ external: true,
88
+ moduleSideEffects: false
89
+ };
90
+ } : (id) => {
91
+ return {
92
+ id: `node:${id}`,
93
+ external: true,
94
+ moduleSideEffects: false
95
+ };
96
+ }
97
+ }
98
+ }
99
+ ].filter(Boolean),
72
100
  resolve: {
73
101
  alias: context.alias,
74
102
  mainFields: context.config.resolve.mainFields,
@@ -77,30 +105,48 @@ function resolveOptions(context) {
77
105
  extensions: context.config.resolve.extensions
78
106
  },
79
107
  transform: {
108
+ target: context.tsconfig.tsconfigJson?.compilerOptions?.target,
80
109
  define: context.config.define,
81
- inject: context.config.inject,
82
- typescript: { target: context.tsconfig.tsconfigJson?.compilerOptions?.target }
110
+ inject: context.config.inject
83
111
  },
84
112
  platform: context.config.platform,
85
113
  tsconfig: (0, _stryke_path_append.appendPath)(context.tsconfig.tsconfigFilePath, context.config.cwd),
86
114
  cache: !context.config.skipCache ? (0, _stryke_path_join_paths.joinPaths)(context.cachePath, "rolldown") : false,
87
115
  logLevel: context.config.logLevel.general === "trace" ? "debug" : context.config.logLevel.general === "debug" ? "warn" : "error",
88
116
  onLog(level, log) {
117
+ if (context.config.logLevel.general !== "trace" && level === "warn" && log.code === "PLUGIN_TIMINGS") return;
89
118
  if (log.message?.trim()) if (level === "info") context.logger.debug(log.message?.trim() ?? "");
90
119
  else context.logger.log(level, log.message?.trim() ?? "");
91
120
  },
92
- minify: context.config.output.minify,
93
- output: [{
121
+ output: [(0, _stryke_convert_to_array.toArray)(context.config.output.format).includes("esm") ? {
94
122
  dir: context.config.output.path,
95
123
  format: "es",
96
- preserveModules: true,
97
- sourcemap: context.config.output.sourceMap
98
- }, {
124
+ sourcemap: context.config.output.sourceMap,
125
+ codeSplitting: true,
126
+ exports: "named",
127
+ minify: context.config.output.minify ? {
128
+ compress: {
129
+ dropDebugger: context.config.mode === "production" ? true : void 0,
130
+ unused: context.config.mode === "production" ? true : void 0,
131
+ treeshake: true
132
+ },
133
+ mangle: true
134
+ } : context.config.mode === "production" ? "dce-only" : void 0
135
+ } : void 0, (0, _stryke_convert_to_array.toArray)(context.config.output.format).includes("cjs") ? {
99
136
  dir: context.config.output.path,
100
137
  format: "cjs",
101
- preserveModules: true,
102
- sourcemap: context.config.output.sourceMap
103
- }]
138
+ sourcemap: context.config.output.sourceMap,
139
+ codeSplitting: true,
140
+ exports: "auto",
141
+ minify: context.config.output.minify ? {
142
+ compress: {
143
+ dropDebugger: context.config.mode === "production" ? true : void 0,
144
+ unused: context.config.mode === "production" ? true : void 0,
145
+ treeshake: true
146
+ },
147
+ mangle: true
148
+ } : context.config.mode === "production" ? "dce-only" : void 0
149
+ } : void 0].filter(Boolean)
104
150
  }, DEFAULT_OPTIONS);
105
151
  }
106
152
  /**
@@ -1,7 +1,7 @@
1
1
  import { UnpluginExecutionOptions, UnpluginFactory } from "./types.cjs";
2
2
  import { UnpluginFactoryDecorator, UnpluginFactoryOptions } from "./unplugin.cjs";
3
3
  import { ExecutionContext, UnresolvedContext } from "@powerlines/core";
4
- import { RolldownOptions } from "rolldown";
4
+ import { Plugin, RolldownOptions } from "rolldown";
5
5
 
6
6
  //#region src/rolldown.d.ts
7
7
  declare const DEFAULT_OPTIONS: {
@@ -57,7 +57,7 @@ declare function createRolldownFactory<TContext extends ExecutionContext>(option
57
57
  * })
58
58
  * ```
59
59
  */
60
- declare const plugin: (options?: UnpluginExecutionOptions | undefined) => import("rolldown").Plugin<any> | import("rolldown").Plugin<any>[];
60
+ declare const plugin: (options?: UnpluginExecutionOptions | undefined) => Plugin<any> | Plugin<any>[];
61
61
  //#endregion
62
62
  export { DEFAULT_OPTIONS, createRolldownFactory, plugin as default, resolveOptions };
63
63
  //# sourceMappingURL=rolldown.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rolldown.d.cts","names":[],"sources":["../src/rolldown.ts"],"mappings":";;;;;;cA4Ca,eAAA;;;;;;;;;;;;;;iBAeG,cAAA,kBAAgC,iBAAA,CAAA,CAC9C,OAAA,EAAS,QAAA,GACR,eAAA;;;;;;;;;;;;;;AAAe;AAuJlB;;;;;;;;iBAAgB,qBAAA,kBAAuC,gBAAA,CAAA,CACrD,OAAA,GAAS,IAAA,CAAK,sBAAA,cACd,QAAA,GAAU,wBAAA,CAAyB,QAAA,IAA8B,eAAA,CAAA,gBAAA,4BAAA,cAAA;;;;;;;;;;;;;;;;cAuC7D,MAAA,GAAM,OAAA,GAAgD,wBAAhD,oCAAA,MAAA,2BAAA,MAAA"}
1
+ {"version":3,"file":"rolldown.d.cts","names":[],"sources":["../src/rolldown.ts"],"mappings":";;;;;;cA6Ca,eAAA;;;;;;;;;;;;;AAeb;iBAAgB,cAAA,kBAAgC,iBAAA,CAAA,CAC9C,OAAA,EAAS,QAAA,GACR,eAAA;;;;;;;;;;;;;AAAe;AA6PlB;;;;;;;;;iBAAgB,qBAAA,kBAAuC,gBAAA,CAAA,CACrD,OAAA,GAAS,IAAA,CAAK,sBAAA,cACd,QAAA,GAAU,wBAAA,CAAyB,QAAA,IAA8B,eAAA,CAAA,gBAAA,4BAAA,cAAA;;;;;;;;;;;;;;;AAAA;cAuC7D,MAAA,GAAM,OAAA,GAAgD,wBAAA,iBAAhD,MAAA,QAAA,MAAA"}
@@ -1,7 +1,7 @@
1
1
  import { UnpluginExecutionOptions, UnpluginFactory } from "./types.mjs";
2
2
  import { UnpluginFactoryDecorator, UnpluginFactoryOptions } from "./unplugin.mjs";
3
3
  import { ExecutionContext, UnresolvedContext } from "@powerlines/core";
4
- import { RolldownOptions } from "rolldown";
4
+ import { Plugin, RolldownOptions } from "rolldown";
5
5
 
6
6
  //#region src/rolldown.d.ts
7
7
  declare const DEFAULT_OPTIONS: {
@@ -57,7 +57,7 @@ declare function createRolldownFactory<TContext extends ExecutionContext>(option
57
57
  * })
58
58
  * ```
59
59
  */
60
- declare const plugin: (options?: UnpluginExecutionOptions | undefined) => import("rolldown").Plugin<any> | import("rolldown").Plugin<any>[];
60
+ declare const plugin: (options?: UnpluginExecutionOptions | undefined) => Plugin<any> | Plugin<any>[];
61
61
  //#endregion
62
62
  export { DEFAULT_OPTIONS, createRolldownFactory, plugin as default, resolveOptions };
63
63
  //# sourceMappingURL=rolldown.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rolldown.d.mts","names":[],"sources":["../src/rolldown.ts"],"mappings":";;;;;;cA4Ca,eAAA;;;;;;;;;;;;;;iBAeG,cAAA,kBAAgC,iBAAA,CAAA,CAC9C,OAAA,EAAS,QAAA,GACR,eAAA;;;;;;;;;;;;;;AAAe;AAuJlB;;;;;;;;iBAAgB,qBAAA,kBAAuC,gBAAA,CAAA,CACrD,OAAA,GAAS,IAAA,CAAK,sBAAA,cACd,QAAA,GAAU,wBAAA,CAAyB,QAAA,IAA8B,eAAA,CAAA,gBAAA,4BAAA,cAAA;;;;;;;;;;;;;;;;cAuC7D,MAAA,GAAM,OAAA,GAAgD,wBAAhD,oCAAA,MAAA,2BAAA,MAAA"}
1
+ {"version":3,"file":"rolldown.d.mts","names":[],"sources":["../src/rolldown.ts"],"mappings":";;;;;;cA6Ca,eAAA;;;;;;;;;;;;;AAeb;iBAAgB,cAAA,kBAAgC,iBAAA,CAAA,CAC9C,OAAA,EAAS,QAAA,GACR,eAAA;;;;;;;;;;;;;AAAe;AA6PlB;;;;;;;;;iBAAgB,qBAAA,kBAAuC,gBAAA,CAAA,CACrD,OAAA,GAAS,IAAA,CAAK,sBAAA,cACd,QAAA,GAAU,wBAAA,CAAyB,QAAA,IAA8B,eAAA,CAAA,gBAAA,4BAAA,cAAA;;;;;;;;;;;;;;;AAAA;cAuC7D,MAAA,GAAM,OAAA,GAAgD,wBAAA,iBAAhD,MAAA,QAAA,MAAA"}
package/dist/rolldown.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createUnpluginFactory } from "./unplugin.mjs";
2
- import { dtsBundlePlugin } from "./rollup.mjs";
2
+ import { builtinModules } from "node:module";
3
3
  import { appendPath } from "@stryke/path/append";
4
4
  import { joinPaths } from "@stryke/path/join-paths";
5
5
  import { defu as defu$1 } from "defu";
@@ -10,6 +10,7 @@ import inject from "@rollup/plugin-inject";
10
10
  import resolve from "@rollup/plugin-node-resolve";
11
11
  import replace from "@rollup/plugin-replace";
12
12
  import { globSync } from "glob";
13
+ import { dts } from "rolldown-plugin-dts";
13
14
  import { viteAliasPlugin } from "rolldown/experimental";
14
15
  import typescriptPlugin from "rollup-plugin-typescript2";
15
16
 
@@ -61,8 +62,35 @@ function resolveOptions(context) {
61
62
  moduleDirectories: ["node_modules"],
62
63
  preferBuiltins: true
63
64
  }),
64
- dtsBundlePlugin
65
- ],
65
+ context.config.output.dts && toArray(context.config.output.format).includes("esm") ? dts({ tsconfig: appendPath(context.tsconfig.tsconfigFilePath, context.config.cwd) }) : void 0,
66
+ context.config.output.dts && toArray(context.config.output.format).includes("cjs") ? dts({
67
+ tsconfig: appendPath(context.tsconfig.tsconfigFilePath, context.config.cwd),
68
+ emitDtsOnly: true,
69
+ cjsDefault: true
70
+ }) : void 0,
71
+ {
72
+ name: `powerlines:node-protocol`,
73
+ resolveId: {
74
+ order: "pre",
75
+ filter: { id: context.config.output.nodeProtocol === "strip" ? new RegExp(`^node:(${builtinModules.filter((mod) => !mod.startsWith("node:")).join("|")})$`) : new RegExp(`^(${builtinModules.filter((mod) => !mod.startsWith("node:")).join("|")})$`) },
76
+ handler: context.config.output.nodeProtocol === "strip" ? async (id, ...args) => {
77
+ const resolved = await context.resolve(id.slice(5), ...args);
78
+ if (resolved && !resolved.external) return resolved;
79
+ return {
80
+ id: id.slice(5),
81
+ external: true,
82
+ moduleSideEffects: false
83
+ };
84
+ } : (id) => {
85
+ return {
86
+ id: `node:${id}`,
87
+ external: true,
88
+ moduleSideEffects: false
89
+ };
90
+ }
91
+ }
92
+ }
93
+ ].filter(Boolean),
66
94
  resolve: {
67
95
  alias: context.alias,
68
96
  mainFields: context.config.resolve.mainFields,
@@ -71,30 +99,48 @@ function resolveOptions(context) {
71
99
  extensions: context.config.resolve.extensions
72
100
  },
73
101
  transform: {
102
+ target: context.tsconfig.tsconfigJson?.compilerOptions?.target,
74
103
  define: context.config.define,
75
- inject: context.config.inject,
76
- typescript: { target: context.tsconfig.tsconfigJson?.compilerOptions?.target }
104
+ inject: context.config.inject
77
105
  },
78
106
  platform: context.config.platform,
79
107
  tsconfig: appendPath(context.tsconfig.tsconfigFilePath, context.config.cwd),
80
108
  cache: !context.config.skipCache ? joinPaths(context.cachePath, "rolldown") : false,
81
109
  logLevel: context.config.logLevel.general === "trace" ? "debug" : context.config.logLevel.general === "debug" ? "warn" : "error",
82
110
  onLog(level, log) {
111
+ if (context.config.logLevel.general !== "trace" && level === "warn" && log.code === "PLUGIN_TIMINGS") return;
83
112
  if (log.message?.trim()) if (level === "info") context.logger.debug(log.message?.trim() ?? "");
84
113
  else context.logger.log(level, log.message?.trim() ?? "");
85
114
  },
86
- minify: context.config.output.minify,
87
- output: [{
115
+ output: [toArray(context.config.output.format).includes("esm") ? {
88
116
  dir: context.config.output.path,
89
117
  format: "es",
90
- preserveModules: true,
91
- sourcemap: context.config.output.sourceMap
92
- }, {
118
+ sourcemap: context.config.output.sourceMap,
119
+ codeSplitting: true,
120
+ exports: "named",
121
+ minify: context.config.output.minify ? {
122
+ compress: {
123
+ dropDebugger: context.config.mode === "production" ? true : void 0,
124
+ unused: context.config.mode === "production" ? true : void 0,
125
+ treeshake: true
126
+ },
127
+ mangle: true
128
+ } : context.config.mode === "production" ? "dce-only" : void 0
129
+ } : void 0, toArray(context.config.output.format).includes("cjs") ? {
93
130
  dir: context.config.output.path,
94
131
  format: "cjs",
95
- preserveModules: true,
96
- sourcemap: context.config.output.sourceMap
97
- }]
132
+ sourcemap: context.config.output.sourceMap,
133
+ codeSplitting: true,
134
+ exports: "auto",
135
+ minify: context.config.output.minify ? {
136
+ compress: {
137
+ dropDebugger: context.config.mode === "production" ? true : void 0,
138
+ unused: context.config.mode === "production" ? true : void 0,
139
+ treeshake: true
140
+ },
141
+ mangle: true
142
+ } : context.config.mode === "production" ? "dce-only" : void 0
143
+ } : void 0].filter(Boolean)
98
144
  }, DEFAULT_OPTIONS);
99
145
  }
100
146
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rolldown.mjs","names":["defu","alias"],"sources":["../src/rolldown.ts"],"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 {\n ExecutionContext,\n UnpluginOptions,\n UnresolvedContext\n} from \"@powerlines/core\";\nimport inject from \"@rollup/plugin-inject\";\nimport resolve from \"@rollup/plugin-node-resolve\";\nimport replace from \"@rollup/plugin-replace\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport { defu } from \"defu\";\nimport { globSync } from \"glob\";\nimport type { InputOptions } from \"rolldown\";\nimport { RolldownOptions, RollupLog } from \"rolldown\";\nimport { viteAliasPlugin as alias } from \"rolldown/experimental\";\nimport typescriptPlugin from \"rollup-plugin-typescript2\";\nimport { createRolldownPlugin } from \"unplugin\";\nimport { dtsBundlePlugin } from \"./rollup\";\nimport {\n createUnpluginFactory,\n UnpluginFactoryDecorator,\n UnpluginFactoryOptions\n} from \"./unplugin\";\n\nexport const DEFAULT_OPTIONS = {\n keepNames: true,\n treeshake: true,\n shimMissingExports: true,\n transform: {\n target: \"esnext\"\n }\n};\n\n/**\n * Resolves the options for [rolldown](https://rolldown.rs).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function resolveOptions<TContext extends UnresolvedContext>(\n context: TContext\n): RolldownOptions {\n return defu<RolldownOptions, any>(\n {\n input: globSync(\n toArray(context.entry).map(entry =>\n isString(entry) ? entry : entry.file\n )\n ).flat(),\n external: (source: string) => {\n if (\n context.config.resolve.external &&\n toArray(context.config.resolve.external).includes(source)\n ) {\n return true;\n }\n\n if (\n context.config.resolve.noExternal &&\n toArray(context.config.resolve.noExternal).includes(source)\n ) {\n return false;\n }\n\n if (context.builtins.includes(source)) {\n return context.config.projectType !== \"application\";\n }\n\n return !context.config.resolve.skipNodeModulesBundle;\n },\n plugins: [\n typescriptPlugin({\n check: false,\n tsconfig: context.tsconfig.tsconfigFilePath\n }),\n context.config.define &&\n Object.keys(context.config.define).length > 0 &&\n replace({\n sourceMap: context.config.mode === \"development\",\n preventAssignment: true,\n ...(context.config.define ?? {})\n }),\n context.config.inject &&\n Object.keys(context.config.inject).length > 0 &&\n inject({\n sourceMap: context.config.mode === \"development\",\n ...context.config.inject\n }),\n alias({\n entries: Object.entries(context.alias).reduce(\n (ret, [id, path]) => {\n if (!ret.find(e => e.find === id)) {\n ret.push({\n find: id,\n replacement: path\n });\n } else {\n context.warn(\n `Duplicate alias entry for '${id}' detected. The first entry will be used.`\n );\n }\n\n return ret;\n },\n [] as { find: string; replacement: string }[]\n )\n }),\n resolve({\n moduleDirectories: [\"node_modules\"],\n preferBuiltins: true\n }),\n dtsBundlePlugin\n ],\n resolve: {\n alias: context.alias,\n mainFields: context.config.resolve.mainFields,\n conditions: context.config.resolve.conditions,\n define: context.config.define,\n extensions: context.config.resolve.extensions\n },\n transform: {\n define: context.config.define,\n inject: context.config.inject,\n typescript: {\n target: context.tsconfig.tsconfigJson?.compilerOptions?.target\n }\n },\n platform: context.config.platform,\n tsconfig: appendPath(\n context.tsconfig.tsconfigFilePath,\n context.config.cwd\n ),\n cache: !context.config.skipCache\n ? joinPaths(context.cachePath, \"rolldown\")\n : false,\n logLevel:\n context.config.logLevel.general === \"trace\"\n ? \"debug\"\n : context.config.logLevel.general === \"debug\"\n ? \"warn\"\n : \"error\",\n onLog(level: \"info\" | \"debug\" | \"warn\", log: RollupLog) {\n if (log.message?.trim()) {\n if (level === \"info\") {\n context.logger.debug(log.message?.trim() ?? \"\");\n } else {\n context.logger.log(level, log.message?.trim() ?? \"\");\n }\n }\n },\n minify: context.config.output.minify,\n output: [\n {\n dir: context.config.output.path,\n format: \"es\",\n preserveModules: true,\n sourcemap: context.config.output.sourceMap\n },\n {\n dir: context.config.output.path,\n format: \"cjs\",\n preserveModules: true,\n sourcemap: context.config.output.sourceMap\n }\n ]\n },\n DEFAULT_OPTIONS\n );\n}\n\n/**\n * Creates a Rolldown plugin factory that generates a plugin instance.\n *\n * @see https://rolldown.rs/guide/en/#plugins-overview\n *\n * @example\n * ```ts\n * // rolldown.config.ts\n * import { createRolldownFactory } from \"@powerlines/unplugin/rolldown\";\n *\n * const powerlinesPlugin = createRolldownFactory({ name: \"example-app\", ... });\n *\n * export default defineConfig({\n * plugins: [powerlinesPlugin()],\n * });\n *\n * ```\n *\n * @param options - The options to create the plugin factory with.\n * @param decorate - A function to decorate the plugin options with additional properties or hooks. This can be used to add custom behavior to the plugin instance, such as additional hooks or configuration options. The function receives the generated plugin options and should return an object containing any additional properties or hooks to be merged into the final plugin options.\n * @returns A function that generates a Rolldown plugin instance when called. The generated plugin will invoke the Powerlines API hooks during the build process, allowing you to integrate Powerlines into your Rolldown build.\n */\nexport function createRolldownFactory<TContext extends ExecutionContext>(\n options: Omit<UnpluginFactoryOptions, \"variant\"> = {},\n decorate: UnpluginFactoryDecorator<TContext> = options => options\n) {\n return createUnpluginFactory({ ...options, variant: \"rolldown\" }, unplugin =>\n decorate({\n ...(unplugin as UnpluginOptions<TContext>),\n rolldown: {\n async options(options: InputOptions) {\n const environment = await unplugin.context.getEnvironment();\n\n return defu(\n resolveOptions(environment),\n options,\n (await unplugin.context.callHook(\n \"rolldown:options\",\n { environment },\n options\n )) ?? {}\n );\n }\n }\n })\n );\n}\n\n/**\n * A Rolldown plugin that will invoke the Powerlines API hooks during the build process.\n *\n * @see https://rolldown.rs/guide/en/#plugins-overview\n *\n * @example\n * ```ts\n * // rolldown.config.ts\n * import powerlines from \"@powerlines/unplugin/rolldown\";\n *\n * export default defineConfig({\n * plugins: [powerlines({ name: \"example-app\", ... })],\n * })\n * ```\n */\nconst plugin = createRolldownPlugin(createRolldownFactory());\n\nexport default plugin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"rolldown.mjs","names":["defu","alias","dtsBundlePlugin"],"sources":["../src/rolldown.ts"],"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 {\n ExecutionContext,\n UnpluginOptions,\n UnresolvedContext\n} from \"@powerlines/core\";\nimport inject from \"@rollup/plugin-inject\";\nimport resolve from \"@rollup/plugin-node-resolve\";\nimport replace from \"@rollup/plugin-replace\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport { defu } from \"defu\";\nimport { globSync } from \"glob\";\nimport { builtinModules } from \"node:module\";\nimport type { InputOptions, Plugin } from \"rolldown\";\nimport { RolldownOptions, RollupLog } from \"rolldown\";\nimport { dts as dtsBundlePlugin } from \"rolldown-plugin-dts\";\nimport { viteAliasPlugin as alias } from \"rolldown/experimental\";\nimport typescriptPlugin from \"rollup-plugin-typescript2\";\nimport { createRolldownPlugin } from \"unplugin\";\nimport {\n createUnpluginFactory,\n UnpluginFactoryDecorator,\n UnpluginFactoryOptions\n} from \"./unplugin\";\n\nexport const DEFAULT_OPTIONS = {\n keepNames: true,\n treeshake: true,\n shimMissingExports: true,\n transform: {\n target: \"esnext\"\n }\n};\n\n/**\n * Resolves the options for [rolldown](https://rolldown.rs).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function resolveOptions<TContext extends UnresolvedContext>(\n context: TContext\n): RolldownOptions {\n return defu<RolldownOptions, any>(\n {\n input: globSync(\n toArray(context.entry).map(entry =>\n isString(entry) ? entry : entry.file\n )\n ).flat(),\n external: (source: string) => {\n if (\n context.config.resolve.external &&\n toArray(context.config.resolve.external).includes(source)\n ) {\n return true;\n }\n\n if (\n context.config.resolve.noExternal &&\n toArray(context.config.resolve.noExternal).includes(source)\n ) {\n return false;\n }\n\n if (context.builtins.includes(source)) {\n return context.config.projectType !== \"application\";\n }\n\n return !context.config.resolve.skipNodeModulesBundle;\n },\n plugins: [\n typescriptPlugin({\n check: false,\n tsconfig: context.tsconfig.tsconfigFilePath\n }),\n context.config.define &&\n Object.keys(context.config.define).length > 0 &&\n replace({\n sourceMap: context.config.mode === \"development\",\n preventAssignment: true,\n ...(context.config.define ?? {})\n }),\n context.config.inject &&\n Object.keys(context.config.inject).length > 0 &&\n inject({\n sourceMap: context.config.mode === \"development\",\n ...context.config.inject\n }),\n alias({\n entries: Object.entries(context.alias).reduce(\n (ret, [id, path]) => {\n if (!ret.find(e => e.find === id)) {\n ret.push({\n find: id,\n replacement: path\n });\n } else {\n context.warn(\n `Duplicate alias entry for '${id}' detected. The first entry will be used.`\n );\n }\n\n return ret;\n },\n [] as { find: string; replacement: string }[]\n )\n }),\n resolve({\n moduleDirectories: [\"node_modules\"],\n preferBuiltins: true\n }),\n context.config.output.dts &&\n toArray(context.config.output.format).includes(\"esm\")\n ? dtsBundlePlugin({\n tsconfig: appendPath(\n context.tsconfig.tsconfigFilePath,\n context.config.cwd\n )\n })\n : undefined,\n context.config.output.dts &&\n toArray(context.config.output.format).includes(\"cjs\")\n ? dtsBundlePlugin({\n tsconfig: appendPath(\n context.tsconfig.tsconfigFilePath,\n context.config.cwd\n ),\n emitDtsOnly: true,\n cjsDefault: true\n })\n : undefined,\n {\n name: `powerlines:node-protocol`,\n resolveId: {\n order: \"pre\",\n filter: {\n id:\n context.config.output.nodeProtocol === \"strip\"\n ? new RegExp(\n `^node:(${builtinModules\n .filter(mod => !mod.startsWith(\"node:\"))\n .join(\"|\")})$`\n )\n : new RegExp(\n `^(${builtinModules\n .filter(mod => !mod.startsWith(\"node:\"))\n .join(\"|\")})$`\n )\n },\n handler:\n context.config.output.nodeProtocol === \"strip\"\n ? async (id: string, ...args: any[]) => {\n const resolved = await context.resolve(\n id.slice(5),\n ...args\n );\n if (resolved && !resolved.external) {\n return resolved;\n }\n\n return {\n id: id.slice(5), // \"node:\".length\n external: true,\n moduleSideEffects: false\n };\n }\n : id => {\n return {\n id: `node:${id}`,\n external: true,\n moduleSideEffects: false\n };\n }\n }\n } as Plugin\n ].filter(Boolean) as Plugin[],\n resolve: {\n alias: context.alias,\n mainFields: context.config.resolve.mainFields,\n conditions: context.config.resolve.conditions,\n define: context.config.define,\n extensions: context.config.resolve.extensions\n },\n transform: {\n target: context.tsconfig.tsconfigJson?.compilerOptions?.target,\n define: context.config.define,\n inject: context.config.inject\n },\n platform: context.config.platform,\n tsconfig: appendPath(\n context.tsconfig.tsconfigFilePath,\n context.config.cwd\n ),\n cache: !context.config.skipCache\n ? joinPaths(context.cachePath, \"rolldown\")\n : false,\n logLevel:\n context.config.logLevel.general === \"trace\"\n ? \"debug\"\n : context.config.logLevel.general === \"debug\"\n ? \"warn\"\n : \"error\",\n onLog(level: \"info\" | \"debug\" | \"warn\", log: RollupLog) {\n if (\n context.config.logLevel.general !== \"trace\" &&\n level === \"warn\" &&\n log.code === \"PLUGIN_TIMINGS\"\n ) {\n return;\n }\n\n if (log.message?.trim()) {\n if (level === \"info\") {\n context.logger.debug(log.message?.trim() ?? \"\");\n } else {\n context.logger.log(level, log.message?.trim() ?? \"\");\n }\n }\n },\n output: [\n toArray(context.config.output.format).includes(\"esm\")\n ? {\n dir: context.config.output.path,\n format: \"es\",\n sourcemap: context.config.output.sourceMap,\n codeSplitting: true,\n exports: \"named\",\n minify: context.config.output.minify\n ? {\n compress: {\n dropDebugger:\n context.config.mode === \"production\" ? true : undefined,\n unused:\n context.config.mode === \"production\" ? true : undefined,\n treeshake: true\n },\n mangle: true\n }\n : context.config.mode === \"production\"\n ? \"dce-only\"\n : undefined\n }\n : undefined,\n toArray(context.config.output.format).includes(\"cjs\")\n ? {\n dir: context.config.output.path,\n format: \"cjs\",\n sourcemap: context.config.output.sourceMap,\n codeSplitting: true,\n exports: \"auto\",\n minify: context.config.output.minify\n ? {\n compress: {\n dropDebugger:\n context.config.mode === \"production\" ? true : undefined,\n unused:\n context.config.mode === \"production\" ? true : undefined,\n treeshake: true\n },\n mangle: true\n }\n : context.config.mode === \"production\"\n ? \"dce-only\"\n : undefined\n }\n : undefined\n ].filter(Boolean) as RolldownOptions[\"output\"]\n },\n DEFAULT_OPTIONS\n );\n}\n\n/**\n * Creates a Rolldown plugin factory that generates a plugin instance.\n *\n * @see https://rolldown.rs/guide/en/#plugins-overview\n *\n * @example\n * ```ts\n * // rolldown.config.ts\n * import { createRolldownFactory } from \"@powerlines/unplugin/rolldown\";\n *\n * const powerlinesPlugin = createRolldownFactory({ name: \"example-app\", ... });\n *\n * export default defineConfig({\n * plugins: [powerlinesPlugin()],\n * });\n *\n * ```\n *\n * @param options - The options to create the plugin factory with.\n * @param decorate - A function to decorate the plugin options with additional properties or hooks. This can be used to add custom behavior to the plugin instance, such as additional hooks or configuration options. The function receives the generated plugin options and should return an object containing any additional properties or hooks to be merged into the final plugin options.\n * @returns A function that generates a Rolldown plugin instance when called. The generated plugin will invoke the Powerlines API hooks during the build process, allowing you to integrate Powerlines into your Rolldown build.\n */\nexport function createRolldownFactory<TContext extends ExecutionContext>(\n options: Omit<UnpluginFactoryOptions, \"variant\"> = {},\n decorate: UnpluginFactoryDecorator<TContext> = options => options\n) {\n return createUnpluginFactory({ ...options, variant: \"rolldown\" }, unplugin =>\n decorate({\n ...(unplugin as UnpluginOptions<TContext>),\n rolldown: {\n async options(options: InputOptions) {\n const environment = await unplugin.context.getEnvironment();\n\n return defu(\n resolveOptions(environment),\n options,\n (await unplugin.context.callHook(\n \"rolldown:options\",\n { environment },\n options\n )) ?? {}\n );\n }\n }\n })\n );\n}\n\n/**\n * A Rolldown plugin that will invoke the Powerlines API hooks during the build process.\n *\n * @see https://rolldown.rs/guide/en/#plugins-overview\n *\n * @example\n * ```ts\n * // rolldown.config.ts\n * import powerlines from \"@powerlines/unplugin/rolldown\";\n *\n * export default defineConfig({\n * plugins: [powerlines({ name: \"example-app\", ... })],\n * })\n * ```\n */\nconst plugin = createRolldownPlugin(createRolldownFactory());\n\nexport default plugin;\n"],"mappings":"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"}
package/dist/tsdown.cjs CHANGED
@@ -32,7 +32,6 @@ const DEFAULT_OPTIONS = {
32
32
  platform: "neutral",
33
33
  target: "esnext",
34
34
  fixedExtension: true,
35
- nodeProtocol: true,
36
35
  clean: false
37
36
  };
38
37
  /**
@@ -125,6 +124,7 @@ function resolveOptions(context) {
125
124
  minify: context.config.output.minify,
126
125
  metafile: context.config.mode === "development",
127
126
  sourcemap: context.config.output.sourceMap,
127
+ nodeProtocol: context.config.output.nodeProtocol,
128
128
  debug: context.config.mode === "development",
129
129
  silent: context.config.logLevel.general === "silent" || context.config.mode === "production",
130
130
  logLevel: context.config.logLevel.general === "trace" ? "debug" : "error",
@@ -187,14 +187,14 @@ function plugin(options = {}) {
187
187
  }
188
188
  },
189
189
  resolve: {
190
- external: options.external ? (0, _stryke_convert_to_array.toArray)(options.external).map((external) => {
190
+ external: options.deps?.neverBundle ? (0, _stryke_convert_to_array.toArray)(options.deps?.neverBundle).map((external) => {
191
191
  if ((0, _stryke_type_checks_is_function.isFunction)(external)) {
192
192
  console.warn("Function-based external options are not supported in Powerlines.");
193
193
  return;
194
194
  }
195
195
  return external;
196
196
  }).filter(Boolean) : void 0,
197
- noExternal: options.noExternal ? (0, _stryke_convert_to_array.toArray)(options.noExternal).map((noExternal) => {
197
+ noExternal: options.deps?.skipNodeModulesBundle && options.deps?.onlyBundle || !options.deps?.skipNodeModulesBundle && options.deps?.alwaysBundle ? (0, _stryke_convert_to_array.toArray)(options.deps?.skipNodeModulesBundle ? options.deps?.onlyBundle : options.deps?.alwaysBundle).map((noExternal) => {
198
198
  if ((0, _stryke_type_checks_is_function.isFunction)(noExternal)) {
199
199
  console.warn("Function-based noExternal options are not supported in Powerlines.");
200
200
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"tsdown.d.cts","names":[],"sources":["../src/tsdown.ts"],"mappings":";;;;;;;;;AA+CA;;;;iBAAgB,mBAAA,kBAAqC,iBAAA,CAAA,CACnD,OAAA,EAAS,QAAA,GACR,yBAAA;AAAA,cAqBU,eAAA,EAAiB,OAAO,CAAC,YAAA;;;;;;;iBActB,aAAA,CAAc,OAAA,GAAU,MAAA,GAAS,MAAA,KAAW,QAAA;;AAnChC;AAqB5B;;;;iBAkCgB,iBAAA,CACd,OAAA,GAAU,QAAA,GAAe,QAAA,KACxB,MAAA;AAtBH;;;;;;AAAA,iBA2DgB,cAAA,kBAAgC,iBAAA,CAAA,CAC9C,OAAA,EAAS,QAAA,GACR,YAAA;;;;;;;AA7DqE;AAoBxE;;;;;;;;;;;;;AAES;AAqCT;;iBAsLgB,MAAA,CAAO,OAAA,GAAS,YAAA,GAAkB,YAAU"}
1
+ {"version":3,"file":"tsdown.d.cts","names":[],"sources":["../src/tsdown.ts"],"mappings":";;;;;;;;;AAgDA;;;;iBAAgB,mBAAA,kBAAqC,iBAAA,CAAA,CACnD,OAAA,EAAS,QAAA,GACR,yBAAA;AAAA,cAqBU,eAAA,EAAiB,OAAO,CAAC,YAAA;;;;;;;iBAatB,aAAA,CAAc,OAAA,GAAU,MAAA,GAAS,MAAA,KAAW,QAAA;;AAlChC;AAqB5B;;;;iBAiCgB,iBAAA,CACd,OAAA,GAAU,QAAA,GAAe,QAAA,KACxB,MAAA;AAtBH;;;;;;AAAA,iBA2DgB,cAAA,kBAAgC,iBAAA,CAAA,CAC9C,OAAA,EAAS,QAAA,GACR,YAAA;;;;;;;AA7DqE;AAoBxE;;;;;;;;;;;;;AAES;AAqCT;;iBAuLgB,MAAA,CAAO,OAAA,GAAS,YAAA,GAAkB,YAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"tsdown.d.mts","names":[],"sources":["../src/tsdown.ts"],"mappings":";;;;;;;;;AA+CA;;;;iBAAgB,mBAAA,kBAAqC,iBAAA,CAAA,CACnD,OAAA,EAAS,QAAA,GACR,yBAAA;AAAA,cAqBU,eAAA,EAAiB,OAAO,CAAC,YAAA;;;;;;;iBActB,aAAA,CAAc,OAAA,GAAU,MAAA,GAAS,MAAA,KAAW,QAAA;;AAnChC;AAqB5B;;;;iBAkCgB,iBAAA,CACd,OAAA,GAAU,QAAA,GAAe,QAAA,KACxB,MAAA;AAtBH;;;;;;AAAA,iBA2DgB,cAAA,kBAAgC,iBAAA,CAAA,CAC9C,OAAA,EAAS,QAAA,GACR,YAAA;;;;;;;AA7DqE;AAoBxE;;;;;;;;;;;;;AAES;AAqCT;;iBAsLgB,MAAA,CAAO,OAAA,GAAS,YAAA,GAAkB,YAAU"}
1
+ {"version":3,"file":"tsdown.d.mts","names":[],"sources":["../src/tsdown.ts"],"mappings":";;;;;;;;;AAgDA;;;;iBAAgB,mBAAA,kBAAqC,iBAAA,CAAA,CACnD,OAAA,EAAS,QAAA,GACR,yBAAA;AAAA,cAqBU,eAAA,EAAiB,OAAO,CAAC,YAAA;;;;;;;iBAatB,aAAA,CAAc,OAAA,GAAU,MAAA,GAAS,MAAA,KAAW,QAAA;;AAlChC;AAqB5B;;;;iBAiCgB,iBAAA,CACd,OAAA,GAAU,QAAA,GAAe,QAAA,KACxB,MAAA;AAtBH;;;;;;AAAA,iBA2DgB,cAAA,kBAAgC,iBAAA,CAAA,CAC9C,OAAA,EAAS,QAAA,GACR,YAAA;;;;;;;AA7DqE;AAoBxE;;;;;;;;;;;;;AAES;AAqCT;;iBAuLgB,MAAA,CAAO,OAAA,GAAS,YAAA,GAAkB,YAAU"}
package/dist/tsdown.mjs CHANGED
@@ -29,7 +29,6 @@ const DEFAULT_OPTIONS = {
29
29
  platform: "neutral",
30
30
  target: "esnext",
31
31
  fixedExtension: true,
32
- nodeProtocol: true,
33
32
  clean: false
34
33
  };
35
34
  /**
@@ -122,6 +121,7 @@ function resolveOptions(context) {
122
121
  minify: context.config.output.minify,
123
122
  metafile: context.config.mode === "development",
124
123
  sourcemap: context.config.output.sourceMap,
124
+ nodeProtocol: context.config.output.nodeProtocol,
125
125
  debug: context.config.mode === "development",
126
126
  silent: context.config.logLevel.general === "silent" || context.config.mode === "production",
127
127
  logLevel: context.config.logLevel.general === "trace" ? "debug" : "error",
@@ -184,14 +184,14 @@ function plugin(options = {}) {
184
184
  }
185
185
  },
186
186
  resolve: {
187
- external: options.external ? toArray(options.external).map((external) => {
187
+ external: options.deps?.neverBundle ? toArray(options.deps?.neverBundle).map((external) => {
188
188
  if (isFunction(external)) {
189
189
  console.warn("Function-based external options are not supported in Powerlines.");
190
190
  return;
191
191
  }
192
192
  return external;
193
193
  }).filter(Boolean) : void 0,
194
- noExternal: options.noExternal ? toArray(options.noExternal).map((noExternal) => {
194
+ noExternal: options.deps?.skipNodeModulesBundle && options.deps?.onlyBundle || !options.deps?.skipNodeModulesBundle && options.deps?.alwaysBundle ? toArray(options.deps?.skipNodeModulesBundle ? options.deps?.onlyBundle : options.deps?.alwaysBundle).map((noExternal) => {
195
195
  if (isFunction(noExternal)) {
196
196
  console.warn("Function-based noExternal options are not supported in Powerlines.");
197
197
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"tsdown.mjs","names":["_getDependencyConfig","rolldown"],"sources":["../src/tsdown.ts"],"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 {\n CopyConfig,\n ResolveConfig,\n UnresolvedContext\n} from \"@powerlines/core\";\nimport type { GetDependencyConfigResult } from \"@powerlines/core/plugin-utils\";\nimport { getDependencyConfig as _getDependencyConfig } from \"@powerlines/core/plugin-utils\";\nimport type { Format } from \"@storm-software/build-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { relativePath } from \"@stryke/path/file-path-fns\";\nimport { globToRegex } from \"@stryke/path/glob-to-regex\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport defu from \"defu\";\nimport { ModuleFormat } from \"rolldown\";\nimport { UserConfig as BuildOptions, Format as TsdownFormat } from \"tsdown\";\nimport type { UserConfig } from \"tsdown/config\";\nimport rolldown from \"./rolldown\";\n\n/**\n * Get the {@link ResolveConfig.external | external} and {@link ResolveConfig.noExternal | noExternal} dependencies for the build configuration.\n *\n * @param context - The build context.\n * @returns The dependency configuration.\n */\nexport function getDependencyConfig<TContext extends UnresolvedContext>(\n context: TContext\n): GetDependencyConfigResult {\n const { external, noExternal } = _getDependencyConfig(context);\n\n return {\n external:\n !external || external.length === 0\n ? undefined\n : external.map(ext =>\n isSetString(ext) && ext.includes(\"*\") ? globToRegex(ext) : ext\n ),\n noExternal:\n !noExternal || noExternal.length === 0\n ? undefined\n : noExternal.map(noExt =>\n isSetString(noExt) && noExt.includes(\"*\")\n ? globToRegex(noExt)\n : noExt\n )\n };\n}\n\nexport const DEFAULT_OPTIONS: Partial<BuildOptions> = {\n platform: \"neutral\",\n target: \"esnext\",\n fixedExtension: true,\n nodeProtocol: true,\n clean: false\n} as const;\n\n/**\n * Resolves the entry options for [tsdown](https://github.com/rolldown/tsdown).\n *\n * @param formats - The formats to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveFormat(formats?: Format | Format[]): TsdownFormat[] {\n return toArray(formats).map(format => {\n switch (format) {\n case \"cjs\":\n return \"cjs\";\n case \"iife\":\n return \"iife\";\n case \"esm\":\n default:\n return \"esm\";\n }\n });\n}\n\n/**\n * Resolves the entry options for [tsdown](https://github.com/rolldown/tsdown).\n *\n * @param formats - The formats to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveFromFormat(\n formats?: TsdownFormat | TsdownFormat[]\n): Format[] {\n return toArray(formats).map(format => {\n switch (format) {\n case \"cjs\":\n case \"commonjs\":\n return \"cjs\";\n case \"iife\":\n return \"iife\";\n case \"esm\":\n case \"es\":\n case \"module\":\n case \"umd\":\n default:\n return \"esm\";\n }\n });\n}\n\nconst formatMessage = <TContext extends UnresolvedContext>(\n context: TContext,\n ...msgs: any[]\n) =>\n msgs\n .filter(Boolean)\n .join(\" \")\n .trim()\n .replace(new RegExp(`\\\\[${context.config.name}\\\\]`, \"g\"), \"\")\n .replaceAll(/^\\s+/g, \"\")\n .replaceAll(/\\s+$/g, \"\")\n .trim();\n\n/**\n * Resolves the options for [tsdown](https://github.com/rolldown/tsdown).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function resolveOptions<TContext extends UnresolvedContext>(\n context: TContext\n): BuildOptions {\n const { external, noExternal } = getDependencyConfig(context);\n\n return defu(\n {\n name: context.config.name,\n cwd: appendPath(context.config.root, context.config.cwd),\n entry:\n context.entry.filter(entry => entry?.file).length > 0\n ? Object.fromEntries(\n context.entry\n .filter(entry => entry?.file)\n .map(entry => [\n entry.output ||\n replaceExtension(\n replacePath(\n replacePath(\n entry.file,\n joinPaths(context.config.root, \"src\")\n ),\n context.entryPath\n )\n ),\n entry.file\n ])\n )\n : [\n joinPaths(\n context.config.cwd,\n context.config.root,\n \"src\",\n \"**/*.ts\"\n ),\n joinPaths(\n context.config.cwd,\n context.config.root,\n \"src\",\n \"**/*.tsx\"\n )\n ],\n exports: {\n customExports: (exports: Record<string, any>) => {\n const result = Object.fromEntries(\n Object.entries(exports).map(([key, value]) => {\n if (isSetString(value)) {\n return [key, value];\n }\n\n const currentExport = {} as Record<string, any>;\n if (isSetString(value.require)) {\n currentExport.require = {\n types: replaceExtension(value.require, \".d.cts\", {\n fullExtension: true\n }),\n default: value.require\n };\n }\n\n if (isSetString(value.import)) {\n currentExport.import = {\n types: replaceExtension(value.import, \".d.mts\", {\n fullExtension: true\n }),\n default: value.import\n };\n }\n\n if (!isSetObject(value.default)) {\n if (isSetObject(currentExport.import)) {\n currentExport.default = currentExport.import;\n } else if (isSetObject(currentExport.require)) {\n currentExport.default = currentExport.require;\n }\n }\n\n return [key, currentExport];\n })\n );\n\n return Object.keys(result)\n .sort()\n .reduce(\n (ret, key) => {\n ret[key] = result[key];\n return ret;\n },\n {} as Record<string, any>\n );\n }\n },\n define: context.config.define,\n inputOptions: {\n transform: {\n define: context.config.define,\n inject: context.config.inject,\n typescript: {\n target: context.tsconfig.tsconfigJson?.compilerOptions?.target\n }\n }\n },\n deps: {\n neverBundle: external,\n alwaysBundle: context.config.resolve.skipNodeModulesBundle\n ? undefined\n : noExternal,\n onlyBundle: context.config.resolve.skipNodeModulesBundle\n ? noExternal\n : undefined,\n skipNodeModulesBundle: context.config.resolve.skipNodeModulesBundle\n },\n alias: context.alias,\n resolve: {\n alias: context.alias\n },\n platform: context.config.platform,\n dts: context.config.output.dts,\n outDir: relativePath(\n appendPath(context.config.root, context.config.cwd),\n context.config.output.path\n ),\n tsconfig: appendPath(\n context.tsconfig.tsconfigFilePath,\n context.config.cwd\n ),\n format: resolveFormat(context.config.output.format).filter(Boolean),\n mode: context.config.mode,\n minify: context.config.output.minify,\n metafile: context.config.mode === \"development\",\n sourcemap: context.config.output.sourceMap,\n debug: context.config.mode === \"development\",\n silent:\n context.config.logLevel.general === \"silent\" ||\n context.config.mode === \"production\",\n logLevel: context.config.logLevel.general === \"trace\" ? \"debug\" : \"error\",\n customLogger: {\n level: context.config.logLevel.general === \"trace\" ? \"debug\" : \"error\",\n info: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.trace(formatMessage(context, ...msgs)),\n warn: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.warn(formatMessage(context, ...msgs)),\n warnOnce: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.warn(formatMessage(context, ...msgs)),\n error: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.error(formatMessage(context, ...msgs)),\n success: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.trace(formatMessage(context, ...msgs))\n }\n },\n DEFAULT_OPTIONS\n ) as BuildOptions;\n}\n\n/**\n * A Tsdown configuration function that integrates Powerlines into the build process.\n *\n * @see https://github.com/rolldown/tsdown\n *\n * @example\n * ```ts\n * // tsdown.config.ts\n * import withPowerlines from \"@powerlines/unplugin/tsdown\";\n *\n * export default withPowerlines({\n * entry: [\"src/index.ts\"],\n * format: [\"cjs\", \"esm\"],\n * dts: true,\n * sourcemap: true,\n * clean: true,\n * });\n *\n * ```\n *\n * @param options - The Tsdown options to merge with the Powerlines configuration.\n * @returns The merged Tsdown configuration options.\n */\nexport function plugin(options: UserConfig = {}): UserConfig {\n return {\n ...options,\n entry: options.entry,\n plugins: [\n rolldown({\n ...options,\n output: {\n path: options.outDir,\n format: resolveFromFormat(\n options.format as ModuleFormat | ModuleFormat[]\n ),\n copy: {\n path: options.outDir!,\n assets: toArray(options.copy)\n .map(copy => {\n if (!copy) {\n return undefined;\n }\n if (isSetString(copy)) {\n return copy;\n }\n if (isFunction(copy)) {\n // eslint-disable-next-line no-console\n console.warn(\n \"Function-based copy options are not supported in Powerlines.\"\n );\n return undefined;\n }\n return {\n input: copy.from,\n output: copy.to\n };\n })\n .filter(Boolean) as CopyConfig[\"assets\"]\n }\n },\n resolve: {\n external: options.external\n ? (toArray(options.external)\n .map(external => {\n if (isFunction(external)) {\n // eslint-disable-next-line no-console\n console.warn(\n \"Function-based external options are not supported in Powerlines.\"\n );\n return undefined;\n }\n return external;\n })\n .filter(Boolean) as ResolveConfig[\"external\"])\n : undefined,\n noExternal: options.noExternal\n ? (toArray(options.noExternal)\n .map(noExternal => {\n if (isFunction(noExternal)) {\n // eslint-disable-next-line no-console\n console.warn(\n \"Function-based noExternal options are not supported in Powerlines.\"\n );\n return undefined;\n }\n return noExternal;\n })\n .filter(Boolean) as ResolveConfig[\"noExternal\"])\n : undefined\n },\n tsconfig: isSetString(options.tsconfig) ? options.tsconfig : undefined\n })\n ]\n };\n}\n\nexport default plugin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"tsdown.mjs","names":["_getDependencyConfig","rolldown"],"sources":["../src/tsdown.ts"],"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 {\n CopyConfig,\n ResolveConfig,\n UnresolvedContext\n} from \"@powerlines/core\";\nimport type { GetDependencyConfigResult } from \"@powerlines/core/plugin-utils\";\nimport { getDependencyConfig as _getDependencyConfig } from \"@powerlines/core/plugin-utils\";\nimport type { Format } from \"@storm-software/build-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { relativePath } from \"@stryke/path/file-path-fns\";\nimport { globToRegex } from \"@stryke/path/glob-to-regex\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport defu from \"defu\";\nimport { ModuleFormat } from \"rolldown\";\nimport { UserConfig as BuildOptions, Format as TsdownFormat } from \"tsdown\";\nimport type { UserConfig } from \"tsdown/config\";\nimport rolldown from \"./rolldown\";\nimport { UnpluginExecutionOptions } from \"./types\";\n\n/**\n * Get the {@link ResolveConfig.external | external} and {@link ResolveConfig.noExternal | noExternal} dependencies for the build configuration.\n *\n * @param context - The build context.\n * @returns The dependency configuration.\n */\nexport function getDependencyConfig<TContext extends UnresolvedContext>(\n context: TContext\n): GetDependencyConfigResult {\n const { external, noExternal } = _getDependencyConfig(context);\n\n return {\n external:\n !external || external.length === 0\n ? undefined\n : external.map(ext =>\n isSetString(ext) && ext.includes(\"*\") ? globToRegex(ext) : ext\n ),\n noExternal:\n !noExternal || noExternal.length === 0\n ? undefined\n : noExternal.map(noExt =>\n isSetString(noExt) && noExt.includes(\"*\")\n ? globToRegex(noExt)\n : noExt\n )\n };\n}\n\nexport const DEFAULT_OPTIONS: Partial<BuildOptions> = {\n platform: \"neutral\",\n target: \"esnext\",\n fixedExtension: true,\n clean: false\n} as const;\n\n/**\n * Resolves the entry options for [tsdown](https://github.com/rolldown/tsdown).\n *\n * @param formats - The formats to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveFormat(formats?: Format | Format[]): TsdownFormat[] {\n return toArray(formats).map(format => {\n switch (format) {\n case \"cjs\":\n return \"cjs\";\n case \"iife\":\n return \"iife\";\n case \"esm\":\n default:\n return \"esm\";\n }\n });\n}\n\n/**\n * Resolves the entry options for [tsdown](https://github.com/rolldown/tsdown).\n *\n * @param formats - The formats to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveFromFormat(\n formats?: TsdownFormat | TsdownFormat[]\n): Format[] {\n return toArray(formats).map(format => {\n switch (format) {\n case \"cjs\":\n case \"commonjs\":\n return \"cjs\";\n case \"iife\":\n return \"iife\";\n case \"esm\":\n case \"es\":\n case \"module\":\n case \"umd\":\n default:\n return \"esm\";\n }\n });\n}\n\nconst formatMessage = <TContext extends UnresolvedContext>(\n context: TContext,\n ...msgs: any[]\n) =>\n msgs\n .filter(Boolean)\n .join(\" \")\n .trim()\n .replace(new RegExp(`\\\\[${context.config.name}\\\\]`, \"g\"), \"\")\n .replaceAll(/^\\s+/g, \"\")\n .replaceAll(/\\s+$/g, \"\")\n .trim();\n\n/**\n * Resolves the options for [tsdown](https://github.com/rolldown/tsdown).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function resolveOptions<TContext extends UnresolvedContext>(\n context: TContext\n): BuildOptions {\n const { external, noExternal } = getDependencyConfig(context);\n\n return defu(\n {\n name: context.config.name,\n cwd: appendPath(context.config.root, context.config.cwd),\n entry:\n context.entry.filter(entry => entry?.file).length > 0\n ? Object.fromEntries(\n context.entry\n .filter(entry => entry?.file)\n .map(entry => [\n entry.output ||\n replaceExtension(\n replacePath(\n replacePath(\n entry.file,\n joinPaths(context.config.root, \"src\")\n ),\n context.entryPath\n )\n ),\n entry.file\n ])\n )\n : [\n joinPaths(\n context.config.cwd,\n context.config.root,\n \"src\",\n \"**/*.ts\"\n ),\n joinPaths(\n context.config.cwd,\n context.config.root,\n \"src\",\n \"**/*.tsx\"\n )\n ],\n exports: {\n customExports: (exports: Record<string, any>) => {\n const result = Object.fromEntries(\n Object.entries(exports).map(([key, value]) => {\n if (isSetString(value)) {\n return [key, value];\n }\n\n const currentExport = {} as Record<string, any>;\n if (isSetString(value.require)) {\n currentExport.require = {\n types: replaceExtension(value.require, \".d.cts\", {\n fullExtension: true\n }),\n default: value.require\n };\n }\n\n if (isSetString(value.import)) {\n currentExport.import = {\n types: replaceExtension(value.import, \".d.mts\", {\n fullExtension: true\n }),\n default: value.import\n };\n }\n\n if (!isSetObject(value.default)) {\n if (isSetObject(currentExport.import)) {\n currentExport.default = currentExport.import;\n } else if (isSetObject(currentExport.require)) {\n currentExport.default = currentExport.require;\n }\n }\n\n return [key, currentExport];\n })\n );\n\n return Object.keys(result)\n .sort()\n .reduce(\n (ret, key) => {\n ret[key] = result[key];\n return ret;\n },\n {} as Record<string, any>\n );\n }\n },\n define: context.config.define,\n inputOptions: {\n transform: {\n define: context.config.define,\n inject: context.config.inject,\n typescript: {\n target: context.tsconfig.tsconfigJson?.compilerOptions?.target\n }\n }\n },\n deps: {\n neverBundle: external,\n alwaysBundle: context.config.resolve.skipNodeModulesBundle\n ? undefined\n : noExternal,\n onlyBundle: context.config.resolve.skipNodeModulesBundle\n ? noExternal\n : undefined,\n skipNodeModulesBundle: context.config.resolve.skipNodeModulesBundle\n },\n alias: context.alias,\n resolve: {\n alias: context.alias\n },\n platform: context.config.platform,\n dts: context.config.output.dts,\n outDir: relativePath(\n appendPath(context.config.root, context.config.cwd),\n context.config.output.path\n ),\n tsconfig: appendPath(\n context.tsconfig.tsconfigFilePath,\n context.config.cwd\n ),\n format: resolveFormat(context.config.output.format).filter(Boolean),\n mode: context.config.mode,\n minify: context.config.output.minify,\n metafile: context.config.mode === \"development\",\n sourcemap: context.config.output.sourceMap,\n nodeProtocol: context.config.output.nodeProtocol,\n debug: context.config.mode === \"development\",\n silent:\n context.config.logLevel.general === \"silent\" ||\n context.config.mode === \"production\",\n logLevel: context.config.logLevel.general === \"trace\" ? \"debug\" : \"error\",\n customLogger: {\n level: context.config.logLevel.general === \"trace\" ? \"debug\" : \"error\",\n info: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.trace(formatMessage(context, ...msgs)),\n warn: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.warn(formatMessage(context, ...msgs)),\n warnOnce: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.warn(formatMessage(context, ...msgs)),\n error: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.error(formatMessage(context, ...msgs)),\n success: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.trace(formatMessage(context, ...msgs))\n }\n },\n DEFAULT_OPTIONS\n ) as BuildOptions;\n}\n\n/**\n * A Tsdown configuration function that integrates Powerlines into the build process.\n *\n * @see https://github.com/rolldown/tsdown\n *\n * @example\n * ```ts\n * // tsdown.config.ts\n * import withPowerlines from \"@powerlines/unplugin/tsdown\";\n *\n * export default withPowerlines({\n * entry: [\"src/index.ts\"],\n * format: [\"cjs\", \"esm\"],\n * dts: true,\n * sourcemap: true,\n * clean: true,\n * });\n *\n * ```\n *\n * @param options - The Tsdown options to merge with the Powerlines configuration.\n * @returns The merged Tsdown configuration options.\n */\nexport function plugin(options: UserConfig = {}): UserConfig {\n return {\n ...options,\n entry: options.entry,\n plugins: [\n rolldown({\n ...options,\n output: {\n path: options.outDir,\n format: resolveFromFormat(\n options.format as ModuleFormat | ModuleFormat[]\n ),\n copy: {\n path: options.outDir!,\n assets: toArray(options.copy)\n .map(copy => {\n if (!copy) {\n return undefined;\n }\n if (isSetString(copy)) {\n return copy;\n }\n if (isFunction(copy)) {\n // eslint-disable-next-line no-console\n console.warn(\n \"Function-based copy options are not supported in Powerlines.\"\n );\n return undefined;\n }\n return {\n input: copy.from,\n output: copy.to\n };\n })\n .filter(Boolean) as CopyConfig[\"assets\"]\n }\n },\n resolve: {\n external: options.deps?.neverBundle\n ? (toArray(options.deps?.neverBundle)\n .map(external => {\n if (isFunction(external)) {\n // eslint-disable-next-line no-console\n console.warn(\n \"Function-based external options are not supported in Powerlines.\"\n );\n return undefined;\n }\n return external;\n })\n .filter(Boolean) as ResolveConfig[\"external\"])\n : undefined,\n noExternal:\n (options.deps?.skipNodeModulesBundle && options.deps?.onlyBundle) ||\n (!options.deps?.skipNodeModulesBundle && options.deps?.alwaysBundle)\n ? (toArray(\n options.deps?.skipNodeModulesBundle\n ? options.deps?.onlyBundle\n : options.deps?.alwaysBundle\n )\n .map(noExternal => {\n if (isFunction(noExternal)) {\n // eslint-disable-next-line no-console\n console.warn(\n \"Function-based noExternal options are not supported in Powerlines.\"\n );\n return undefined;\n }\n return noExternal;\n })\n .filter(Boolean) as ResolveConfig[\"noExternal\"])\n : undefined\n },\n tsconfig: isSetString(options.tsconfig) ? options.tsconfig : undefined\n } as UnpluginExecutionOptions)\n ]\n };\n}\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAgDA,SAAgB,oBACd,SAC2B;CAC3B,MAAM,EAAE,UAAU,eAAeA,sBAAqB,OAAO;CAE7D,OAAO;EACL,UACE,CAAC,YAAY,SAAS,WAAW,IAC7B,SACA,SAAS,KAAI,QACX,YAAY,GAAG,KAAK,IAAI,SAAS,GAAG,IAAI,YAAY,GAAG,IAAI,GAC7D;EACN,YACE,CAAC,cAAc,WAAW,WAAW,IACjC,SACA,WAAW,KAAI,UACb,YAAY,KAAK,KAAK,MAAM,SAAS,GAAG,IACpC,YAAY,KAAK,IACjB,KACN;CACR;AACF;AAEA,MAAa,kBAAyC;CACpD,UAAU;CACV,QAAQ;CACR,gBAAgB;CAChB,OAAO;AACT;;;;;;;AAQA,SAAgB,cAAc,SAA6C;CACzE,OAAO,QAAQ,OAAO,EAAE,KAAI,WAAU;EACpC,QAAQ,QAAR;GACE,KAAK,OACH,OAAO;GACT,KAAK,QACH,OAAO;GAET,SACE,OAAO;EACX;CACF,CAAC;AACH;;;;;;;AAQA,SAAgB,kBACd,SACU;CACV,OAAO,QAAQ,OAAO,EAAE,KAAI,WAAU;EACpC,QAAQ,QAAR;GACE,KAAK;GACL,KAAK,YACH,OAAO;GACT,KAAK,QACH,OAAO;GAKT,SACE,OAAO;EACX;CACF,CAAC;AACH;AAEA,MAAM,iBACJ,SACA,GAAG,SAEH,KACG,OAAO,OAAO,EACd,KAAK,GAAG,EACR,KAAK,EACL,QAAQ,IAAI,OAAO,MAAM,QAAQ,OAAO,KAAK,MAAM,GAAG,GAAG,EAAE,EAC3D,WAAW,SAAS,EAAE,EACtB,WAAW,SAAS,EAAE,EACtB,KAAK;;;;;;;AAQV,SAAgB,eACd,SACc;CACd,MAAM,EAAE,UAAU,eAAe,oBAAoB,OAAO;CAE5D,OAAO,KACL;EACE,MAAM,QAAQ,OAAO;EACrB,KAAK,WAAW,QAAQ,OAAO,MAAM,QAAQ,OAAO,GAAG;EACvD,OACE,QAAQ,MAAM,QAAO,UAAS,OAAO,IAAI,EAAE,SAAS,IAChD,OAAO,YACL,QAAQ,MACL,QAAO,UAAS,OAAO,IAAI,EAC3B,KAAI,UAAS,CACZ,MAAM,UACJ,iBACE,YACE,YACE,MAAM,MACN,UAAU,QAAQ,OAAO,MAAM,KAAK,CACtC,GACA,QAAQ,SACV,CACF,GACF,MAAM,IACR,CAAC,CACL,IACA,CACE,UACE,QAAQ,OAAO,KACf,QAAQ,OAAO,MACf,OACA,SACF,GACA,UACE,QAAQ,OAAO,KACf,QAAQ,OAAO,MACf,OACA,UACF,CACF;EACN,SAAS,EACP,gBAAgB,YAAiC;GAC/C,MAAM,SAAS,OAAO,YACpB,OAAO,QAAQ,OAAO,EAAE,KAAK,CAAC,KAAK,WAAW;IAC5C,IAAI,YAAY,KAAK,GACnB,OAAO,CAAC,KAAK,KAAK;IAGpB,MAAM,gBAAgB,CAAC;IACvB,IAAI,YAAY,MAAM,OAAO,GAC3B,cAAc,UAAU;KACtB,OAAO,iBAAiB,MAAM,SAAS,UAAU,EAC/C,eAAe,KACjB,CAAC;KACD,SAAS,MAAM;IACjB;IAGF,IAAI,YAAY,MAAM,MAAM,GAC1B,cAAc,SAAS;KACrB,OAAO,iBAAiB,MAAM,QAAQ,UAAU,EAC9C,eAAe,KACjB,CAAC;KACD,SAAS,MAAM;IACjB;IAGF,IAAI,CAAC,YAAY,MAAM,OAAO,GAC5B;SAAI,YAAY,cAAc,MAAM,GAClC,cAAc,UAAU,cAAc;UACjC,IAAI,YAAY,cAAc,OAAO,GAC1C,cAAc,UAAU,cAAc;IACxC;IAGF,OAAO,CAAC,KAAK,aAAa;GAC5B,CAAC,CACH;GAEA,OAAO,OAAO,KAAK,MAAM,EACtB,KAAK,EACL,QACE,KAAK,QAAQ;IACZ,IAAI,OAAO,OAAO;IAClB,OAAO;GACT,GACA,CAAC,CACH;EACJ,EACF;EACA,QAAQ,QAAQ,OAAO;EACvB,cAAc,EACZ,WAAW;GACT,QAAQ,QAAQ,OAAO;GACvB,QAAQ,QAAQ,OAAO;GACvB,YAAY,EACV,QAAQ,QAAQ,SAAS,cAAc,iBAAiB,OAC1D;EACF,EACF;EACA,MAAM;GACJ,aAAa;GACb,cAAc,QAAQ,OAAO,QAAQ,wBACjC,SACA;GACJ,YAAY,QAAQ,OAAO,QAAQ,wBAC/B,aACA;GACJ,uBAAuB,QAAQ,OAAO,QAAQ;EAChD;EACA,OAAO,QAAQ;EACf,SAAS,EACP,OAAO,QAAQ,MACjB;EACA,UAAU,QAAQ,OAAO;EACzB,KAAK,QAAQ,OAAO,OAAO;EAC3B,QAAQ,aACN,WAAW,QAAQ,OAAO,MAAM,QAAQ,OAAO,GAAG,GAClD,QAAQ,OAAO,OAAO,IACxB;EACA,UAAU,WACR,QAAQ,SAAS,kBACjB,QAAQ,OAAO,GACjB;EACA,QAAQ,cAAc,QAAQ,OAAO,OAAO,MAAM,EAAE,OAAO,OAAO;EAClE,MAAM,QAAQ,OAAO;EACrB,QAAQ,QAAQ,OAAO,OAAO;EAC9B,UAAU,QAAQ,OAAO,SAAS;EAClC,WAAW,QAAQ,OAAO,OAAO;EACjC,cAAc,QAAQ,OAAO,OAAO;EACpC,OAAO,QAAQ,OAAO,SAAS;EAC/B,QACE,QAAQ,OAAO,SAAS,YAAY,YACpC,QAAQ,OAAO,SAAS;EAC1B,UAAU,QAAQ,OAAO,SAAS,YAAY,UAAU,UAAU;EAClE,cAAc;GACZ,OAAO,QAAQ,OAAO,SAAS,YAAY,UAAU,UAAU;GAC/D,OAAO,GAAG,SACR,YAAY,cAAc,SAAS,GAAG,IAAI,EAAE,QAAQ,QAAQ,EAAE,CAAC,KAC/D,QAAQ,MAAM,cAAc,SAAS,GAAG,IAAI,CAAC;GAC/C,OAAO,GAAG,SACR,YAAY,cAAc,SAAS,GAAG,IAAI,EAAE,QAAQ,QAAQ,EAAE,CAAC,KAC/D,QAAQ,KAAK,cAAc,SAAS,GAAG,IAAI,CAAC;GAC9C,WAAW,GAAG,SACZ,YAAY,cAAc,SAAS,GAAG,IAAI,EAAE,QAAQ,QAAQ,EAAE,CAAC,KAC/D,QAAQ,KAAK,cAAc,SAAS,GAAG,IAAI,CAAC;GAC9C,QAAQ,GAAG,SACT,YAAY,cAAc,SAAS,GAAG,IAAI,EAAE,QAAQ,QAAQ,EAAE,CAAC,KAC/D,QAAQ,MAAM,cAAc,SAAS,GAAG,IAAI,CAAC;GAC/C,UAAU,GAAG,SACX,YAAY,cAAc,SAAS,GAAG,IAAI,EAAE,QAAQ,QAAQ,EAAE,CAAC,KAC/D,QAAQ,MAAM,cAAc,SAAS,GAAG,IAAI,CAAC;EACjD;CACF,GACA,eACF;AACF;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,SAAgB,OAAO,UAAsB,CAAC,GAAe;CAC3D,OAAO;EACL,GAAG;EACH,OAAO,QAAQ;EACf,SAAS,CACPC,SAAS;GACP,GAAG;GACH,QAAQ;IACN,MAAM,QAAQ;IACd,QAAQ,kBACN,QAAQ,MACV;IACA,MAAM;KACJ,MAAM,QAAQ;KACd,QAAQ,QAAQ,QAAQ,IAAI,EACzB,KAAI,SAAQ;MACX,IAAI,CAAC,MACH;MAEF,IAAI,YAAY,IAAI,GAClB,OAAO;MAET,IAAI,WAAW,IAAI,GAAG;OAEpB,QAAQ,KACN,8DACF;OACA;MACF;MACA,OAAO;OACL,OAAO,KAAK;OACZ,QAAQ,KAAK;MACf;KACF,CAAC,EACA,OAAO,OAAO;IACnB;GACF;GACA,SAAS;IACP,UAAU,QAAQ,MAAM,cACnB,QAAQ,QAAQ,MAAM,WAAW,EAC/B,KAAI,aAAY;KACf,IAAI,WAAW,QAAQ,GAAG;MAExB,QAAQ,KACN,kEACF;MACA;KACF;KACA,OAAO;IACT,CAAC,EACA,OAAO,OAAO,IACjB;IACJ,YACG,QAAQ,MAAM,yBAAyB,QAAQ,MAAM,cACrD,CAAC,QAAQ,MAAM,yBAAyB,QAAQ,MAAM,eAClD,QACC,QAAQ,MAAM,wBACV,QAAQ,MAAM,aACd,QAAQ,MAAM,YACpB,EACG,KAAI,eAAc;KACjB,IAAI,WAAW,UAAU,GAAG;MAE1B,QAAQ,KACN,oEACF;MACA;KACF;KACA,OAAO;IACT,CAAC,EACA,OAAO,OAAO,IACjB;GACR;GACA,UAAU,YAAY,QAAQ,QAAQ,IAAI,QAAQ,WAAW;EAC/D,CAA6B,CAC/B;CACF;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerlines/unplugin",
3
- "version": "0.0.37",
3
+ "version": "0.0.40",
4
4
  "private": false,
5
5
  "description": "A package containing a Powerlines plugin to assist in developing other Powerlines plugins.",
6
6
  "keywords": [
@@ -105,7 +105,7 @@
105
105
  "typings": "dist/index.d.mts",
106
106
  "files": ["dist"],
107
107
  "dependencies": {
108
- "@powerlines/core": "^0.15.22",
108
+ "@powerlines/core": "^0.15.25",
109
109
  "@rollup/plugin-alias": "^6.0.0",
110
110
  "@rollup/plugin-inject": "^5.0.5",
111
111
  "@rollup/plugin-node-resolve": "^16.0.3",
@@ -122,15 +122,16 @@
122
122
  "defu": "^6.1.7",
123
123
  "glob": "^13.0.6",
124
124
  "jiti": "^2.7.0",
125
+ "rolldown-plugin-dts": "^0.25.1",
125
126
  "rollup-plugin-typescript2": "^0.36.0"
126
127
  },
127
128
  "devDependencies": {
129
+ "@types/node": "^25.9.0",
128
130
  "rolldown": "^1.0.1",
129
- "tsup": "8.4.0",
130
131
  "tsdown": "^0.22.0",
132
+ "tsup": "8.4.0",
131
133
  "vite": "^8.0.13",
132
- "webpack": "^5.106.2",
133
- "@types/node": "^25.9.0"
134
+ "webpack": "^5.106.2"
134
135
  },
135
136
  "peerDependencies": {
136
137
  "@farmfe/cli": ">=1.0.5",
@@ -166,5 +167,5 @@
166
167
  "webpack": { "optional": true }
167
168
  },
168
169
  "publishConfig": { "access": "public" },
169
- "gitHead": "f95fab7200cc5687144ea1b1ee4ba77b44000935"
170
+ "gitHead": "9bf77f434050d8a5191459afa5254d93b8a2081c"
170
171
  }